Versions in this module Expand all Collapse all v3 v3.0.1 Apr 8, 2024 v3.0.0 Nov 16, 2023 Changes in this version + const AESCBCPKCS5Padding + const AESGCMNoPadding + const CekAlgorithmHeader + const DefaultInstructionKeySuffix + const GcmTagSizeBits + const KeyringAlgorithmHeader + var AESCBCPadder = Padder(AesCbcPadding) + var AesCbcPadding = aescbcPadder + var NoPadder = Padder(noPadder{}) + func AddS3CryptoUserAgent(options *s3.Options) + func GetWriterStore(path string, useTempFile bool) (*writerStore, error) + func NewContentLengthReader(f io.Reader) *contentLengthReader + type CEKEntry func(materials.CryptographicMaterials) (ContentCipher, error) + type Cipher interface + type ContentCipher interface + DecryptContents func(io.ReadCloser) (io.ReadCloser, error) + EncryptContents func(io.Reader) (io.Reader, error) + GetCipherData func() materials.CryptographicMaterials + func NewAESCBCContentCipher(materials materials.CryptographicMaterials) (ContentCipher, error) + func NewAESGCMContentCipher(materials materials.CryptographicMaterials) (ContentCipher, error) + type ContentCipherBuilder interface + ContentCipher func() (ContentCipher, error) + type ContentCipherBuilderWithContext interface + ContentCipherWithContext func(context.Context) (ContentCipher, error) + type CryptoReadCloser struct + Body io.ReadCloser + Decrypter io.Reader + func (rc *CryptoReadCloser) Close() error + func (rc *CryptoReadCloser) Read(b []byte) (int, error) + type Decrypter interface + Decrypt func(io.Reader) io.Reader + type DefaultLoadStrategy struct + func (load DefaultLoadStrategy) Load(ctx context.Context, req *LoadStrategyRequest) (ObjectMetadata, error) + type Encrypter interface + Encrypt func(io.Reader) io.Reader + type GetObjectAPIClient interface + GetObject func(context.Context, *s3.GetObjectInput, ...func(*s3.Options)) (*s3.GetObjectOutput, error) + type LoadStrategy interface + Load func(context.Context, *LoadStrategyRequest) (ObjectMetadata, error) + type LoadStrategyRequest struct + HTTPResponse *http.Response + Input interface{} + type ObjectMetadata struct + CEKAlg string + CipherKey string + IV string + KeyringAlg string + MatDesc string + TagLen string + UnencryptedContentLen string + func EncodeMeta(reader lengthReader, cryptographicMaterials materials.CryptographicMaterials) (ObjectMetadata, error) + func (e *ObjectMetadata) GetDecodedIV() ([]byte, error) + func (e *ObjectMetadata) GetDecodedKey() ([]byte, error) + func (e *ObjectMetadata) GetMatDesc() (string, error) + func (e *ObjectMetadata) UnmarshalJSON(value []byte) error + type ObjectMetadataSaveStrategy struct + func (strat ObjectMetadataSaveStrategy) Save(ctx context.Context, saveReq *SaveStrategyRequest) error + type Padder interface + Name func() string + Pad func([]byte, int) ([]byte, error) + Unpad func([]byte) ([]byte, error) + func NewPKCS7Padder(blockSize int) Padder + type SaveStrategyRequest struct + Envelope *ObjectMetadata + HTTPRequest *http.Request + Input interface{}