【问题标题】:How to digitally sign soap request using visual studio 2008如何使用 Visual Studio 2008 对肥皂请求进行数字签名
【发布时间】:2011-01-29 06:39:45
【问题描述】:

我正在使用从 .wsdl 文件生成的网络参考。 我还检查了 Amazon Web 服务示例,但无法使其正常工作。 随附的是一个肥皂请求的示例。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<wsse:Security
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext">
<wsse:BinarySecurityToken valueType="wsse:X509v3"
encodingType="wsse:Base64Binary" id="X509Token">
MIIEZzCcA9cgwaABQfd86afd2g...
</wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod>
Algorithm="http://www.w3.org/2001/10/xml-enc-c14n#"/>
</ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="
http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#MsgBody">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>DJbchm5gk...</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>LyLsF0pi4wPu...</ds:SignatureValue>
<ds:KeyInfo>
<wsse:SecurityTokenReference>
<wsse:Reference URI="#X509Token"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
</soap:Header>

【问题讨论】:

  • 我假设您使用的是 C# 和 WCF - 在这种情况下,请从 SO 的其他地方查看这个问题:stackoverflow.com/questions/1342566
  • 您在使用 WSE 吗?在某一时刻,Amazon.com 示例不支持 WCF,仅支持 WSE。

标签: visual-studio web-services soap amazon-web-services digital-signature


【解决方案1】:

您使用什么语言?如果是.NET,可以使用亚马逊提供的AWS SDK for .NET,省去了自己实现WSDL的所有痛苦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    相关资源
    最近更新 更多