Google / Tink:使用AWS KMS Key加密密钥材料,但获取NullPointerException

时间:2018-11-07 12:15:08

标签: java tink

当我使用Follow Demo加密密钥材料时,在AwsKmsClient()。getAead()方法中得到了NullPointerException。

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));

我调试后发现AwsKmsClient中的AWSKMS客户端(this.client)是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? 预先感谢。

1 个答案:

答案 0 :(得分:0)

抱歉,响应速度慢。看来您忘记添加凭据了?

请尝试此操作,让我知道它是否有效:

Generation

尽管可以改进API。我会看看如何做到的。