SamlSecurityToken序列化

时间:2015-12-09 23:34:39

标签: serialization

我知道SecurityToken序列化应该是一件简单的事情。过去使用Active STS的令牌完成了它。但是,现在当我尝试使用Passive STS流中的令牌时,从WriteToken方法获取错误

" X.509Certificate"中没有私钥。

我正在使用的非常直接的代码是:

        StringBuilder sb = new StringBuilder();
        var writer = XmlWriter.Create(new StringWriter(sb), new XmlWriterSettings { OmitXmlDeclaration = true });

        SecurityTokenHandlerCollection handlers = SecurityTokenHandlerCollection.CreateDefaultSecurityTokenHandlerCollection();
        SecurityTokenHandler handler = handlers[securityToken];

        handler.WriteToken(writer, securityToken);

此代码需要位于STS的客户端,证书私钥显然不在那里。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

呀!得到了答案!

我在.Net 4.5中混合.Net 3.5基于Microsoft.IdentityModel.dll的代码。一旦我移动上面的代码将令牌序列化为.Net 4.5,它就按预期工作了。

(最近2天我一直在讨论这个问题:()