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

feat: Configurable SecureRandom #40

Merged
merged 11 commits into from
Nov 10, 2022
Merged

feat: Configurable SecureRandom #40

merged 11 commits into from
Nov 10, 2022

Conversation

lucasmcdonald3
Copy link
Contributor

Issue #, if available:

Description of changes:

  • S3EncryptionClient builder takes in a SecureRandom
    • Provided SecureRandom will be used in content encryption strategies
    • Provided SecureRandom will be used in keyring if customer does not provide their own keyring or CMM
      • If customer does provide their own keyring, S3EncryptionClient will not necessarily use the SecureRandom it was provided in that keyring. The keyring will use the SecureRandom the customer provided in the keyring's construction. This may or may not be the same SecureRandom that was provided to S3EncryptionClient.
  • If no SecureRandom is provided at instantiation time, S3EncryptionClient will create a client-scoped SecureRandom and pass it through to keyring and content encryption strategies. (Again, if the customer provides their own keyring, that keyring will use its own SecureRandom.)
  • Tests: Validate a SecureRandom passed into S3EncryptionClient is actually called in content encryption and in data key encryption.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@justplaz justplaz self-requested a review November 9, 2022 22:23
@lucasmcdonald3 lucasmcdonald3 merged commit 90cab2d into main Nov 10, 2022
@lucasmcdonald3 lucasmcdonald3 deleted the secure_random branch November 17, 2022 22:11
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Dec 2, 2022
## 1.0.0 (2022-12-02)

### Features

* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))

### Fixes

* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))

### Maintenance

* Add staging release and validation ([1e0c4cd](1e0c4cd))
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Dec 2, 2022
## 1.0.0 (2022-12-02)

### Features

* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))

### Fixes

* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))

### Maintenance

* Add staging release and validation ([1e0c4cd](1e0c4cd))
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Dec 2, 2022
## 1.0.0 (2022-12-02)

### Features

* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))

### Fixes

* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))

### Maintenance

* Add staging release and validation ([1e0c4cd](1e0c4cd))
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Dec 2, 2022
## 1.0.0 (2022-12-02)

### Features

* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))

### Fixes

* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))

### Maintenance

* Add staging release and validation ([1e0c4cd](1e0c4cd))
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Dec 2, 2022
## 1.0.0 (2022-12-02)

### Features

* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))

### Fixes

* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))

### Maintenance

* Add staging release and validation ([1e0c4cd](1e0c4cd))
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Dec 2, 2022
## 1.0.0 (2022-12-02)

### Features

* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))

### Fixes

* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))

### Maintenance

* Add staging release and validation ([1e0c4cd](1e0c4cd))
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Feb 18, 2023
## 1.0.0 (2023-02-18)

### Features

* Adds Async client, starting with DeleteObject(s) ([#54](#54)) ([c7120e1](c7120e1))
* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* implement AES-GCM streaming ([#45](#45)) ([d0bcd38](d0bcd38))
* implement CBC decryption in async getObject ([#59](#59)) ([4fd2fa8](4fd2fa8))
* implement getObject async ([#56](#56)) ([b9834ce](b9834ce))
* implement putObject in Async client  ([#57](#57)) ([f233d72](f233d72))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))
* multi-part putObject ([#53](#53)) ([281f383](281f383))
* Multipart Upload ([#43](#43)) ([7e42811](7e42811))

### Maintenance

* Create workflow to release S3EC to Github ([#52](#52)) ([ef8effb](ef8effb))

### Fixes

* add instruction file support in getObject async ([#69](#69)) ([ee61abd](ee61abd))
* address some edge cases to fix async CBC ranged gets ([#70](#70)) ([1da1cae](1da1cae))
* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))
aws-crypto-tools-ci-bot pushed a commit that referenced this pull request Feb 20, 2023
## 1.0.0 (2023-02-20)

### Features

* Adds Async client, starting with DeleteObject(s) ([#54](#54)) ([c7120e1](c7120e1))
* Adds CBC stream decryption ([#25](#25)) ([9970104](9970104))
* Configurable SecureRandom ([#40](#40)) ([90cab2d](90cab2d))
* implement AES-GCM streaming ([#45](#45)) ([d0bcd38](d0bcd38))
* implement CBC decryption in async getObject ([#59](#59)) ([4fd2fa8](4fd2fa8))
* implement getObject async ([#56](#56)) ([b9834ce](b9834ce))
* implement putObject in Async client  ([#57](#57)) ([f233d72](f233d72))
* Implement Ranged-Get ([#31](#31)) ([65331fb](65331fb))
* Introduce delayed authentication ([#23](#23)) ([b8eedac](b8eedac))
* multi-part putObject ([#53](#53)) ([281f383](281f383))
* Multipart Upload ([#43](#43)) ([7e42811](7e42811))

### Maintenance

* Create workflow to release S3EC to Github ([#52](#52)) ([ef8effb](ef8effb))

### Fixes

* add instruction file support in getObject async ([#69](#69)) ([ee61abd](ee61abd))
* address some edge cases to fix async CBC ranged gets ([#70](#70)) ([1da1cae](1da1cae))
* Guard against using another S3EC as wrappedClient ([#36](#36)) ([30cf9b1](30cf9b1))
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.

None yet

2 participants