Когда я использовал следующую демонстрацию для шифрования материала ключа, я получил исключение NullPointerException в методе AwsKmsClient (). GetAead ().
String masterKeyUri = "aws-kms://arn:aws:kms:us-east-1:007084425826:key/84a65985-f868-4bfc-83c2-366618acf147";
KeysetHandle keysetHandle = KeysetHandle.read(
JsonKeysetReader.withFile(new File(keysetFilename)),
new AwsKmsClient().getAead(masterKeyUri));
Я отладил и обнаружил, что клиент AWSKMS (this.client
) в AwsKmsClient имеет значение null
.
public Aead getAead(String uri) throws GeneralSecurityException {
if (this.keyUri != null && !this.keyUri.equals(uri)) {
throw new GeneralSecurityException(String.format("this client is bound to %s, cannot load keys bound to %s", this.keyUri, uri));
} else {
return new AwsKmsAead(this.client, Validators.validateKmsKeyUriAndRemovePrefix("aws-kms://", uri));
}
}
Вы знаете, как бороться с этой проблемой? или как правильно использовать AWS KMS?
Заранее спасибо.