我有一个网站、wcf 服务和一个安全令牌服务 (STS) 在一台服务器上运行。一切都很好。我现在正试图在服务器之间分离这些碎片。当网站尝试登录以获取令牌时,我收到 ssl 证书错误。
在我调试时,这将在 Server 2008 和 IIS 7.5 以及我的 windows 7 IIS 7.5 上。
An error occurred while making the HTTP request to https://x.x.x.x/STS/issue/wstrust/mixed/username. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by...
我在 STS 服务器上生成了一个自签名证书并将其导出到网站服务器。我还导出了密钥并让 IIS 访问网站服务器上的密钥。这克服了一堆 WIF 错误,它不会运行,但我不确定这是正确的做法。
我也尝试过 [netsh http add sslcert ipport:0.0.0.0:44400 等...] 但我不确定要使用哪个端口,我尝试了六种不同的端口,但似乎都没有,而 443 将无法工作。
该网站正在使用 WSTrustChannelFactory 创建连接。它轰炸了底部的 channel.issue 命令。
var factory = new WSTrustChannelFactory(
new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential),
new EndpointAddress(signInEndpoint));
factory.TrustVersion = TrustVersion.WSTrust13;
factory.Credentials.UserName.UserName = userName;
factory.Credentials.UserName.Password = password;
var channel = factory.CreateChannel();
var rst = new RequestSecurityToken
{
RequestType = RequestTypes.Issue,
AppliesTo = new EndpointAddress(realm),
KeyType = KeyTypes.Bearer
};
try
{
var genericToken = channel.Issue(rst) as GenericXmlSecurityToken;
** 编辑 **
我还设置了网站服务器 iis 默认网站 https 绑定端口 443 以使用我从 STS 服务器导入的证书并得到相同的错误。
** 结束编辑 **
我一直在使用谷歌和 stackoverflow,虽然许多问题似乎很接近,但没有一个获得批准的答案有效。
想法?我是服务器/硬件菜鸟,所以“傻瓜版”会很好。
谢谢!