【发布时间】:2014-04-09 01:17:43
【问题描述】:
我有一个带有 SAML 令牌持有者密钥的序列化 SOAP 请求消息,该消息适用于供应商服务。我想用 C# 创建一个演示程序来产生类似的请求。为此,我想编写一个创建自己的 SAML 令牌的客户端。
我已经从自签名证书成功创建了一个 SAML2 令牌,并且我能够使用 ChannelFactoryOperations.CreateChannelWithIssuedToken 方法(.Net 4.0)将它与请求相关联。一切都很好,但我无法弄清楚在断言之后放置签名并使用 SAML 令牌作为签名 KeyIdentifier 来签署时间戳所需的 C#。我什至不确定我在问什么,但似乎令牌本身之后的签名应该是简单的部分。但是,我在请求中获取 SAML 的唯一方法是将其声明为 BearerKey 类型。但是 BearerKey 似乎在断言之后省略了签名。看来我想要 SymmetricKey,但令牌“没有密钥”。如何让这样的签名元素出现在断言之后?
这里的 URI="#_1" 指的是上面的 WS-Security 时间戳(未显示)。
【问题讨论】:
标签: c# wcf interop saml self-signed