Шифрование данных с помощью AWS Encryption SDK
Статья создана
Обновлена 28 декабря 2023 г.
AWS Encryption SDK
Провайдер Yandex Cloud для AWS Encryption SDK
Добавление зависимостей
Перед началом работы необходимо добавить зависимости.
Java
Добавьте зависимости с помощью Apache Maven
<dependency>
<groupId>com.yandex.cloud</groupId>
<artifactId>kms-provider-awscrypto</artifactId>
<version>2.1</version>
</dependency>
Шифрование и расшифрование
Создайте провайдер Yandex Cloud для AWS Encryption SDK и используйте методы класса AwsCrypto
Java
YcKmsMasterKeyProvider provider = new YcKmsMasterKeyProvider()
.withEndpoint(endpoint)
.withCredentials(credentialProvider)
.withKeyId(keyId);
AwsCrypto awsCrypto = AwsCrypto.standard();
...
byte[] ciphertext = awsCrypto.encryptData(provider, plaintext, aad).getResult();
...
byte[] plaintext = awsCrypto.decryptData(provider, ciphertext).getResult();
Где:
endpoint
–api.cloud.yandex.net:443
.credentials
– определяет способ аутентификации, подробнее читайте в разделе Аутентификация в SDK Yandex Cloud.keyId
– идентификатор ключа KMS.plaintext
– открытый текст.ciphertext
– шифртекст.aad
– AAD-контекст.