public abstract class AbstractExternalStoreDataKeyProvider extends BaseDataKeyProvider
| Modifier and Type | Field and Description |
|---|---|
protected String |
dataKeyName |
algorithm, handler, keyId, kms| Constructor and Description |
|---|
AbstractExternalStoreDataKeyProvider(String keyId,
CryptoAlgorithm algorithm,
String dataKeyName) |
AbstractExternalStoreDataKeyProvider(String keyId,
String dataKeyName) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
calculateHeaderAuthTag(EncryptionMaterial newMaterial,
CipherHeader cipherHeader) |
DecryptionMaterial |
decryptDataKey(DecryptionMaterial material,
List<EncryptedDataKey> encryptedDataKeys)
解密数据密钥
|
protected abstract CipherHeader |
getCipherHeader(String dataKeyName) |
CipherMaterial |
getCipherMaterial(byte[] cipherText)
通过密文或数据密钥关键字获取数据密钥并生成密码材料
|
CipherMaterial |
getCipherMaterial(InputStream inputStream) |
byte[] |
processCipherMaterial(CipherMaterial cipherMaterial)
处理密码材料生成字节数组,字节数组内容可能包含:
1.
CipherMaterial 的所有内容
2.CipherMaterial 中的 CipherBody 部分(CipherHeader 部分由
AbstractExternalStoreDataKeyProvider 的实现自行处理) |
void |
writeCipherHeader(CipherHeader cipherHeader,
OutputStream outputStream) |
encryptDataKey, getAlgorithm, setAlgorithm, setAliyunKms, setFormatHandler, setMultiCmkIdprotected String dataKeyName
public AbstractExternalStoreDataKeyProvider(String keyId, String dataKeyName)
public AbstractExternalStoreDataKeyProvider(String keyId, CryptoAlgorithm algorithm, String dataKeyName)
public DecryptionMaterial decryptDataKey(DecryptionMaterial material, List<EncryptedDataKey> encryptedDataKeys)
BaseDataKeyProviderdecryptDataKey in class BaseDataKeyProvidermaterial - 解密密钥材料(不包含数据密钥明文)encryptedDataKeys - 数据密钥明文列表public CipherMaterial getCipherMaterial(byte[] cipherText)
BaseDataKeyProvidergetCipherMaterial in class BaseDataKeyProvidercipherText - 密文public CipherMaterial getCipherMaterial(InputStream inputStream)
getCipherMaterial in class BaseDataKeyProviderpublic byte[] processCipherMaterial(CipherMaterial cipherMaterial)
BaseDataKeyProviderCipherMaterial 的所有内容
2.CipherMaterial 中的 CipherBody 部分(CipherHeader 部分由
AbstractExternalStoreDataKeyProvider 的实现自行处理)processCipherMaterial in class BaseDataKeyProvidercipherMaterial - 密码材料public void writeCipherHeader(CipherHeader cipherHeader, OutputStream outputStream)
writeCipherHeader in class BaseDataKeyProviderprotected abstract CipherHeader getCipherHeader(String dataKeyName)
protected void calculateHeaderAuthTag(EncryptionMaterial newMaterial, CipherHeader cipherHeader)
Copyright © 2020. All rights reserved.