C# WCF-KeyInfo SecurityTokenReference

C# WCF-KeyInfo SecurityTokenReference,c#,wcf,soap,interop,x509,C#,Wcf,Soap,Interop,X509,我必须使用一个Web服务,其中Soap请求必须具有签名的BinarySecurityToken,并且KeyInfo必须采用以下格式 <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference ValueType="http://docs.oasis-open.org/wss/2004

我必须使用一个Web服务,其中Soap请求必须具有签名的BinarySecurityToken,并且KeyInfo必须采用以下格式

<ds:KeyInfo>
                <wsse:SecurityTokenReference>
                    <wsse:Reference
                            ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
                            URI="#pfxb65d8fe8-185a-4edc-6589-3a08270deca3"/>
                </wsse:SecurityTokenReference>
            </ds:KeyInfo>
这个绑定使我几乎获得了soap消息的请求格式。 只有KeyInfo与请求的格式不同。 它给了我

< KeyInfo>
 <o:SecurityTokenReference>
   <o:KeyIdentifier 
     ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
     wss-x509-token-profile#X509SubjectKeyIdentifier"
     EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
     wss-soap-message-security-
     1.0#Base64Binary">STRIPPED
   </o:KeyIdentifier>
  </o:SecurityTokenReference>
</KeyInfo>

剥去
不幸的是,服务器不接受这一点

问题是。我如何签署BST并获得所需的密钥信息


也许WCF大师中有人能帮我解决这个问题?

我也有同样的问题。使用SecurityTokenInclusionMode.Once创建正确的KeyInfo引用,但创建BinarySecurityToken的副本,服务器也不接受该副本。。。。你有没有找到解决这个问题的办法?我也有同样的问题。使用SecurityTokenInclusionMode.Once创建正确的KeyInfo引用,但创建BinarySecurityToken的副本,服务器也不接受该副本。。。。你有没有找到解决这个问题的办法?
< KeyInfo>
 <o:SecurityTokenReference>
   <o:KeyIdentifier 
     ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
     wss-x509-token-profile#X509SubjectKeyIdentifier"
     EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
     wss-soap-message-security-
     1.0#Base64Binary">STRIPPED
   </o:KeyIdentifier>
  </o:SecurityTokenReference>
</KeyInfo>