Authentication 如何使用C#对AWS SNS消息进行身份验证?

Authentication 如何使用C#对AWS SNS消息进行身份验证?,authentication,message,amazon-sns,Authentication,Message,Amazon Sns,我正在向HTTP端点发送SNS消息。我可以从JSON数据中提取消息信息,但如何验证消息和验证消息签名 这是其中一条消息: { "Type": "Notification", "MessageId": "a1825ceb-aa86-531a-9712-09b49bb60b32", "TopicArn": "arn:aws:sns:us-west-2:xxxx:Test_Topic", "Message": "This is the message body", "Timesta

我正在向HTTP端点发送SNS消息。我可以从JSON数据中提取消息信息,但如何验证消息和验证消息签名

这是其中一条消息:

{
  "Type": "Notification",
  "MessageId": "a1825ceb-aa86-531a-9712-09b49bb60b32",
  "TopicArn": "arn:aws:sns:us-west-2:xxxx:Test_Topic",
  "Message": "This is the message body",
  "Timestamp": "2019-05-22T11:13:52.513Z",
  "SignatureVersion": "1",
  "Signature": "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc",
  "SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-abcabcabc.pem",
  "UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:yyy",
  "MessageAttributes": {
    "String2": {
      "Type": "String",
      "Value": "This is the second string"
    },
    "String1": {
      "Type": "String",
      "Value": "This is the first string"
    }
  }
}

如何检查消息签名是否有效?

我正在使用来自AWSSDK UTIL的消息类,下面是代码

var msg = await ReadBody();

var message = Message.ParseMessage(msg);

if (!message.IsMessageSignatureValid())
这是Amazon.SimpleNotificationService.Util.Message包


希望这能有所帮助。

有人有想法吗?有人有想法吗?有人有想法吗?有人知道怎么做吗?嗨,尼古拉斯,我几乎完全按照你在大约两个月前所描述的那样解决了这个问题,应该在这里更新这个问题。无论如何,谢谢你的帮助!