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

External secrets - Fortanix SDKMS support #22

Merged
merged 13 commits into from
May 28, 2021
Merged

External secrets - Fortanix SDKMS support #22

merged 13 commits into from
May 28, 2021

Conversation

zugzwang
Copy link
Collaborator

@zugzwang zugzwang commented May 17, 2021

Add the openpgp::crypto::secrets module that allows selection between
in-memory keys and keys stored externally. The Secret enum can be either
a KeyPair or an external agent, both implementing the Signer and
Decryptor traits.

The openpgp_sdkms crate implements a Secret variant for keys
stored inside Fortanix SDKMS, and reachable through the API.

Also, allow sq to select SDKMS keys for operations (commands key
generate, key extract-cert, sign, decrypt, encrypt --signer-cert).

This was referenced May 17, 2021
@zugzwang zugzwang requested a review from raoulstrackx May 25, 2021 22:02
zugzwang added 12 commits May 28, 2021 12:12
Add the openpgp::crypto::secrets module that allows selection between
in-memory keys and keys stored externally. The Secret enum can be either
a KeyPair or an external agent, both implementing the Signer and
Decryptor traits.

The openpgp::crypto::sdkms module implements a Secret for keys stored in
the Fortanix SDKMS, and reachable through the API.

Also, allow `sq` to select SDKMS keys for operations (commands key
generate, key extract-cert, sign, decrypt, encrypt --signer-cert).
Use the http_proxy and no_proxy conventions, i.e., the proxy is
determined by the http_proxy env variable, and is used only if the API
endpoint is not excluded by the no_proxy variable.
@zugzwang zugzwang self-assigned this May 28, 2021
@zugzwang zugzwang added the enhancement New feature or request label May 28, 2021
@zugzwang zugzwang merged commit 981e979 into main May 28, 2021
@zugzwang zugzwang deleted the sdkms-support branch May 28, 2021 11:06
zugzwang added a commit that referenced this pull request Dec 22, 2021
* External secrets - Fortanix SDKMS support

Add the openpgp::crypto::secrets module that allows selection between
in-memory keys and keys stored externally. The Secret enum can be either
a KeyPair or an external agent, both implementing the Signer and
Decryptor traits.

The openpgp::crypto::sdkms module implements a Secret for keys stored in
the Fortanix SDKMS, and reachable through the API.

Also, allow `sq` to select SDKMS keys for operations (commands key
generate, key extract-cert, sign, decrypt, encrypt --signer-cert).

* Update README

* Proxy support (http_proxy and no_proxy env vars)

Use the http_proxy and no_proxy conventions, i.e., the proxy is
determined by the http_proxy env variable, and is used only if the API
endpoint is not excluded by the no_proxy variable.

* Address reviewer comments (part I)

* Shadow unnecessary variables

* openpgp-sdkms crate, and Secret enum in sq/

* Fix shell warnings (sq/tests/sdkms.sh)

* Don't require no_proxy when using http_proxy

* Abstract over in-memory and SDKMS secrets

* openpgp-sdkms: RustFmt (and .rustfmt.toml)

* Store custom metadata in JSON format

* Split parameters in function signatures

* Remove version from JSON
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants