| 1234567891011121314151617181920212223242526272829 |
- package s3crypto
- import "io"
- // ContentCipherBuilder is a builder interface that builds
- // ciphers for each request.
- type ContentCipherBuilder interface {
- ContentCipher() (ContentCipher, error)
- }
- // ContentCipher deals with encrypting and decrypting content
- type ContentCipher interface {
- EncryptContents(io.Reader) (io.Reader, error)
- DecryptContents(io.ReadCloser) (io.ReadCloser, error)
- GetCipherData() CipherData
- }
- // CipherData is used for content encryption. It used for storing the
- // metadata of the encrypted content.
- type CipherData struct {
- Key []byte
- IV []byte
- WrapAlgorithm string
- CEKAlgorithm string
- TagLength string
- MaterialDescription MaterialDescription
- // EncryptedKey should be populated when calling GenerateCipherData
- EncryptedKey []byte
- }
|