![](/img/trans.png)
[英]“AccessDenied” When Call CreateDeviceInputNodeAsync
[英]AccessDenied when sending Encrypt request to Amazon KMS
我想使用Amazon KMS服务加密字符串。 我的凭据有效,我可以使用客户端来获取密钥列表,但是当我尝试加密字符串时却得到了400。 这是我的代码(我敢打赌我缺少一些简单的东西):
public static string Encrypt(string str, string awsRegion, string theKey)
{
var keyId = "arn:aws:kms:" + awsRegion + ":0987654321:key/" + thekey;
using (var client = new AmazonKeyManagementServiceClient(AWSId, AWSSK, RegionEndpoint.USEast1))
{
var req = new EncryptRequest
{
KeyId = keyId,
Plaintext = new MemoryStream(Encoding.UTF8.GetBytes(str))
};
var blob = client.Encrypt(req).CiphertextBlob;
return new StreamReader(blob).ReadToEnd();
}
}
这可能是什么原因?
我还在Visual Studio中设置了我的个人资料。
编辑1:错误消息是:
使用错误代码AccessDeniedException和Http状态代码BadRequest发出请求时出错。 该服务未返回其他错误信息。
事实证明,在region和keyId字符串中的key之间的整数不是任意的。
通过获取可供使用的键列表,找到相应的键并将该整数复制到我的098Id54321的keyId字符串中,使它起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.