Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for PKCS12 password protected TLS config #4165

Merged
merged 4 commits into from
Sep 20, 2024

Conversation

EuroLew
Copy link
Contributor

@EuroLew EuroLew commented Aug 16, 2024

Description

Add documentation about how to use the new TLS configuration with a PKCS12 file. This adds details about the configuration file fields and the expected contents of the PKCS12 file.

When should this change go live?

  • This is a bug fix, security concern, or something that needs urgent release support.
  • This is already available but undocumented and should be released within a week.
  • This on a specific schedule and the assignee will coordinate a release with the DevEx team. (apply hold label or convert to draft PR)
  • This is part of a scheduled alpha or minor. (apply alpha or minor label)
  • There is no urgency with this change and can be released at any time.

PR Checklist

  • My changes are for an already released minor and are in /versioned_docs directory.
  • My changes are for the next minor and are in /docs directory (aka /next/).

@EuroLew EuroLew requested review from npepinpe and a team August 16, 2024 12:47
Copy link
Contributor

👋 🤖 🤔 Hello! Did you make your changes in all the right places?

These files were changed only in docs/. You might want to duplicate these changes in versioned_docs/version-8.5/.

  • docs/self-managed/zeebe-deployment/security/secure-cluster-communication.md

You may have done this intentionally, but we wanted to point it out in case you didn't. You can read more about the versioning within our docs in our documentation guidelines.

@akeller akeller added component:zeebe Issues related with Zeebe project component:self-managed Docs and issues related to Camunda Platform 8 Self-Managed labels Aug 16, 2024
Copy link
Contributor

@christinaausley christinaausley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@EuroLew Is this only applicable to the next version of docs, or also the previous versions and current version of docs?

@EuroLew
Copy link
Contributor Author

EuroLew commented Aug 20, 2024

@EuroLew Is this only applicable to the next version of docs, or also the previous versions and current version of docs?

This should apply only to the next version of docs. These changes will not apply currently and are not back ported.

github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Aug 22, 2024
## Description

This PR adds support for a PKCS12 format file to configure the TLS
private key and certificate chain. The PKCS12 file can be password
protected.

- The original certificateChainPath and privateKeyPath and the new
`pkcs12` configuration are mutually exclusive and checks are carried out
to ensure such behaviour.
- The approach taken to parse the pkcs12 is that the private key and
certificate chain are extracted from the pkcs12 file in order to build
the netty `SslContext`
- The PKCS12 file must have the same password as the singular key
certificate pair in the file. (That is a password is required to access
the file, and then another password is required to extract the private
key, this is per the
[RFC](https://datatracker.ietf.org/doc/html/rfc7292))
- In addition pkcs12 supports multiple key certificate chain pairs
however the current approach will extract the first pair from the file
an use that for TLS configuration. (This will be documented in the
camunda docs that the file must NOT contain more than 1 key certificate
chain pairs). This is also per the RFC as only one key value pair is
intended (However this is not verified or tested so a file with multiple
entries could be provided and the first one would be used)

Camunda docs PR is here
camunda/camunda-docs#4165

## Related issues

closes camunda/issues#833
github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Aug 22, 2024
## Description

This PR adds support for a PKCS12 format file to configure the TLS
private key and certificate chain. The PKCS12 file can be password
protected.

- The original certificateChainPath and privateKeyPath and the new
`pkcs12` configuration are mutually exclusive and checks are carried out
to ensure such behaviour.
- The approach taken to parse the pkcs12 is that the private key and
certificate chain are extracted from the pkcs12 file in order to build
the netty `SslContext`
- The PKCS12 file must have the same password as the singular key
certificate pair in the file. (That is a password is required to access
the file, and then another password is required to extract the private
key, this is per the
[RFC](https://datatracker.ietf.org/doc/html/rfc7292))
- In addition pkcs12 supports multiple key certificate chain pairs
however the current approach will extract the first pair from the file
an use that for TLS configuration. (This will be documented in the
camunda docs that the file must NOT contain more than 1 key certificate
chain pairs). This is also per the RFC as only one key value pair is
intended (However this is not verified or tested so a file with multiple
entries could be provided and the first one would be used)

Camunda docs PR is here
camunda/camunda-docs#4165

## Related issues

closes camunda/issues#833
@christinaausley
Copy link
Contributor

CC @npepinpe for review 👍

Copy link
Member

@npepinpe npepinpe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@christinaausley
Copy link
Contributor

@EuroLew Can I go ahead and merge this, or does it need to wait until release next month?

@npepinpe
Copy link
Member

It can be merged now 👍

@christinaausley christinaausley merged commit 25318d8 into main Sep 20, 2024
7 checks passed
@christinaausley christinaausley deleted the el-833-tls-config-with-password branch September 20, 2024 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:self-managed Docs and issues related to Camunda Platform 8 Self-Managed component:zeebe Issues related with Zeebe project
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

4 participants