package
3.0.2+incompatible
Repository: https://github.com/aliyun/aliyun-oss-go-sdk.git
Documentation: pkg.go.dev

# Functions

CreateAesCtrCipher creates ContentCipherBuilder.
CreateMasterAliKms Create master key interface implemented by ali kms matDesc will be converted to json string.
CreateMasterRsa Create master key interface implemented by rsa matDesc will be converted to json string.
GetCryptoBucket create a client encyrption bucket.
SetAliKmsClient set field AliKmsClient of CryptoBucket If the objects you need to decrypt are encrypted with ali kms master key,but not with ContentCipherBuilder you provided, you must provide this interface.
SetExtraCipherBuilder set field ExtraCipherBuilder of CryptoBucket.
SetMasterCipherManager set field MasterCipherManager of CryptoBucket.

# Constants

encryption Algorithm.
user agent tag for client encryption.
encryption Algorithm.
for client sider encryption oss meta.
for client sider encryption oss meta.
for client sider encryption oss meta.
for client sider encryption oss meta.
for client sider encryption oss meta.
for client sider encryption oss meta.
for client sider encryption oss meta.
for client sider encryption oss meta.
for client sider encryption oss meta.
encryption Algorithm.

# Structs

CipherData is secret key information.
CryptoBucket implements the operations for encrypting and decrypting objects ContentCipherBuilder is used to encrypt and decrypt objects by default when the object's MatDesc which you want to decrypt is emtpy or same to the master key's MatDesc you provided in ContentCipherBuilder, sdk try to use ContentCipherBuilder to decrypt.
CryptoDecrypter provides close method for Decrypter.
CryptoEncrypter provides close method for Encrypter.
DefaultExtraCipherBuilder is Default implementation of the ExtraCipherBuilder for rsa and kms master keys.
Envelope is stored in oss object's meta.
MasterAliKmsCipher ali kms master key interface.
MasterRsaCipher rsa master key interface.
PartCryptoContext save encryption or decryption information.

# Interfaces

Cipher is interface for encryption or decryption of an object.
ContentCipher is used to encrypt or decrypt object's data.
ContentCipherBuilder is used to create ContentCipher for encryting object's data.
Decrypter is interface with only decrypt method.
Encrypter is interface with only encrypt method.
ExtraCipherBuilder is interface for creating a decrypt ContentCipher with Envelope If the objects you need to decrypt are neither encrypted with ContentCipherBuilder you provided, nor encrypted with rsa and ali kms master keys, you must provide this interface ContentCipher the interface used to decrypt objects.
MasterCipher encrypt or decrpt CipherData support master key: rsa && ali kms.
MasterCipherManager is interface for getting master key with MatDesc(material desc) If you may use different master keys for encrypting and decrypting objects,each master key must have a unique, non-emtpy, unalterable MatDesc(json string format) and you must provide this interface If you always use the same master key for encrypting and decrypting objects, MatDesc can be empty and you don't need to provide this interface matDesc map[string]string:is converted by matDesc json string return: []string the secret key information,such as {"rsa-public-key","rsa-private-key"} or {"non-rsa-key"}.

# Type aliases

CryptoBucketOption CryptoBucket option such as SetAliKmsClient, SetMasterCipherManager, SetDecryptCipherManager.