gpt4 book ai didi

c# - 带有 wcf 的 BinarySecurityToken

转载 作者:行者123 更新时间:2023-12-04 18:03:31 30 4
gpt4 key购买 nike

我已成功测试使用 SoapUI (5.1.2) 连接到 SOAP 服务,现在我需要从 C# 应用程序生成 soap 请求。

我向 SoapUI 添加了一个 keystore ,其中存储了证书,并且 SoapUI 的安全配置相当简单...

SoapUI Screencap showing simple security settings

这是一个工作示例请求(删除了详细信息)

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:typ="url.removed">
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1"
wsu:Id="X509-08AC5A2756F38141D814355761534501"> <!-- data removed --></wsse:BinarySecurityToken>
<ds:Signature Id="SIG-08AC5A2756F38141D814355761534824"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces PrefixList="soap typ" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
</ds:SignedInfo>
<ds:SignatureValue><!-- data removed --></ds:SignatureValue>
<ds:KeyInfo Id="KI-08AC5A2756F38141D814355761534752">
<wsse:SecurityTokenReference
wsse11:TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1"
wsu:Id="STR-08AC5A2756F38141D814355761534763"
xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd">
<wsse:Reference URI="#X509-08AC5A2756F38141D814355761534501"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>

</soap:Header>
<soap:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<typ:SoapDataRequest>
<header>
<dataremoved />
</header>
<bodyremoved />
</typ:SoapDataRequest>
</soap:Body>
</soap:Envelope>

我正在尝试以编程方式创建所需的绑定(bind)/配置,我已经将 Web 引用导入到我的项目中,只需要从 wcf 的无数选项中选择正确的组合即可使其正常工作。如果我不提供所需的 SSL 证书,这是一个明显的错误,所以我知道我正在从证书存储区正确获取证书(而不是来自 soupUI 的 *.pfx 文件),但是其他所有操作都失败并显示“Policy Falsified ",据我所知,这是一种安全不匹配。

最佳答案

我按照这里的说明让它为我工作:

http://www.codeproject.com/Tips/672063/Calling-a-service-with-oasis-header-in-Csharp

使用 Soap 1.2 而不是 Soap 1.1

关于c# - 带有 wcf 的 BinarySecurityToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31115673/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com