Skip to content

Add a "WithoutEnvelope" option to wrappers for raw Encrypt/Decrypt support#301

Open
sgmiller wants to merge 17 commits intomainfrom
sgm/without-envelope
Open

Add a "WithoutEnvelope" option to wrappers for raw Encrypt/Decrypt support#301
sgmiller wants to merge 17 commits intomainfrom
sgm/without-envelope

Conversation

@sgmiller
Copy link
Copy Markdown
Collaborator

@sgmiller sgmiller commented Mar 6, 2026

By default many of the wrappers use Envelope encryption during
encrypt/decrypt. This is helpful for the common case like seal wrapping
where we want to support arbitrary sized plaintexts without worrying about
the underlying cipher's limits. However, these days, wrappers are used as a
general interface for external cryptography. Some features, like PKI
signing, require more low level operations. An example is SCEP, which uses
the CA private key for encryption and decryption as well. Another
is Transit managed keys, which support cryptographic primitive operations
that may need to interact with other systems. In these cases we need the
simple encrypt/decrypt without an envelope.

This PR adds a new global wrapper option, WithoutEnvelope(), which if
present requests that the wrapper use direct encryption/decryption.

PCI review checklist

  • I have documented a clear reason for, and description of, the change I am making.

  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.

  • If applicable, I've documented the impact of any changes to security controls.

    Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.

@sgmiller sgmiller requested a review from a team March 6, 2026 20:27
stevendpclark
stevendpclark previously approved these changes Mar 9, 2026
@sgmiller sgmiller changed the title Add a WithoutEnvelope option to request raw encryption/decryption from wrappers Add a "WithoutEnvelope" option to wrappers for raw Encrypt/Decrypt support Apr 20, 2026
@sgmiller sgmiller requested a review from a team April 20, 2026 21:15
Comment thread wrappers/azurekeyvault/azurekeyvault.go Outdated
Comment thread wrappers/azurekeyvault/azurekeyvault.go Outdated
Comment thread wrappers/gcpckms/gcpckms.go
Comment thread wrappers/huaweicloudkms/huaweicloudkms.go Outdated
Comment thread wrappers/ibmkp/ibmkp.go Outdated
Comment thread wrappers/ocikms/ocikms.go Outdated
Comment thread wrappers/tencentcloudkms/tencentcloudkms.go Outdated
@sgmiller sgmiller requested a review from stevendpclark April 21, 2026 18:57
Comment thread wrappers/awskms/go.mod Outdated
Comment thread wrappers/gcpckms/gcpckms.go
@sgmiller sgmiller requested a review from stevendpclark April 21, 2026 21:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants