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

[improve] [pip] PIP-290 Provide a way to implement WSS E2E encryption and not need to expose the private key to the WebSocket Proxy #20923

Merged
merged 51 commits into from
Aug 23, 2023

Conversation

poorbarcode
Copy link
Contributor

@poorbarcode poorbarcode commented Aug 2, 2023

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository: x

@poorbarcode poorbarcode self-assigned this Aug 2, 2023
@github-actions github-actions bot added type/PIP doc-required Your PR changes impact docs and you will update later. labels Aug 2, 2023
@poorbarcode poorbarcode added this to the 3.2.0 milestone Aug 2, 2023
@poorbarcode poorbarcode changed the title [improve] [pip] PIP-290 Provide a way to implement WSS E2E encryption and not need to expose the private key to the WebSocket Proxy. [improve] [pip] PIP-290 Provide a way to implement WSS E2E encryption and not need to expose the private key to the WebSocket Proxy Aug 2, 2023
codelipenghui
codelipenghui previously approved these changes Aug 21, 2023
pip/pip-290.md Outdated
Comment on lines 98 to 99
| `encryptionKeyValues` | Base64 encoded and URL encoded secret key |
| `encryptionKeyMetadata` | Base64 encoded and URL encoded and JSON formatted key-value metadata list of encryption key |
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not add the key metadata to the encryptionKeyValues JSON structure? So that it will align with the returned data structure to consumers.

And could you please also provide an example of what is the original data looks like? without base64 and URL encoding.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Why not add the key metadata to the encryptionKeyValues JSON structure? So that it will align with the returned data structure to consumers.

I added a new mode for the parameter encryptionKeys: If a producer registered with a JSON parameter encryptionKeys, and the encryptionKeys[{key_name}].keyValue is not empty, Web Socket Proxy Server will mark this Producer as Client-Side Encryption Producer, then discard server-side batch messages, server-side compression, and server-side encryption.

And could you please also provide an example of what is the original data looks like? without base64 and URL encoding.

Done.

@codelipenghui codelipenghui dismissed their stale review August 21, 2023 14:31

Accidently clicked the approve button

@poorbarcode poorbarcode merged commit faa2d3d into apache:master Aug 23, 2023
19 checks passed
poorbarcode added a commit to streamnative/pulsar-archived that referenced this pull request Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/websocket doc-required Your PR changes impact docs and you will update later. type/PIP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants