身份联合方案中的自签名证书

时间:2012-01-04 19:32:55

标签: x509certificate wif ca

我正在使用带有WIF的WCF网络服务。更多规范,我正在使用WS2007FederationHttpBinding。一切都适用于用于开发的localhost机器。

但是,当尝试使用部署在IIS上的服务器进行远程安装并且从其他PC启动客户端时,我的通道Open方法失败,但出现以下异常:

  

X.509证书CN = MyOwnCertificate链构建失败。使用的证书具有无法验证的信任链。替换证书或更改certificateValidationMode。

(MyOwnCertificate是使用makecert的自签名证书;证书已插入受信任的根证书颁发机构中。)

所以我首先尝试通过以下代码删除此约束,以进行测试:

this.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.PeerOrChainTrust; 
        this.ClientCredentials.ServiceCertificate.Authentication.RevocationMode = X509RevocationMode.NoCheck;

哪个indeeds删除了初始异常错误。但是,InnerSecurityTokenProvider现在返回它自己的异常:

  

“Le message n'a paspuêtretraitécarl'action   'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT'n'est pas   valide ou non reconnn。“}

(抱歉法语信息)。

有没有办法让自签名证书在这样的远程场景中工作? (我更喜欢,因为我只需要内部使用的证书)

是否可以使用openssl生成的证书(http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with-openssl.php)?

非常欢迎您的帮助。感谢。

编辑06/01/2012:还使用已建议的签名证书(+撤销列表)进行测试,在本地工作但在远程失败。证据被定义为解释here。我在受信任的根下部署了CA证书。 IP和服务器证书部署在MY(使用pfx)和Trusted People(使用cer)中。此外,还设置了IIS,以便NETWORK帐户可以访问在LOCALMACHINE MY下部署的私钥。

编辑07/01/2012:当证书由官方CA颁发(即verisign,thawte ......)时,它可以正常工作。

1 个答案:

答案 0 :(得分:1)

尝试创建名为“SelfCA”的证书;然后将其插入您的受信任的根存储区。然后创建一个供您使用的新证书,但这次用“SelfCA”签名。

参考此页:

http://msdn.microsoft.com/en-us/library/ms733813.aspx