我想为我的WCF服务启用https,并使用客户端证书将使用限制为仅限1个客户端。
我可以生成自签名客户端证书并将其提供给受密码保护的唯一客户端吗?并使wcf只接受该证书?
我不希望我的客户端使用某些CA提供的证书,而是我想给它自己生成的系统。
修改:
据我所知,客户端证书可用于身份验证,因为公钥/私钥架构,客户端有私钥并用它加密数据,服务器有公钥并尝试用它解密数据,(在RSA中,使用私钥加密的数据只能用相应的公钥解密,所以如果解密成功,服务器就知道它是由特定客户端发送的。
答案 0 :(得分:2)
您可以通过两个单独的端点(一个是安全的(带证书)和一个没有证书的端点配置服务来实现这一点。 查看此帖子,了解自签名证书与CA证书之间的一般理解(不是特定于WCF) - Self-signed SSL Cert or CA?
答案 1 :(得分:0)
本教程的复杂性是驱使我远离WCF的众多示例之一: http://msdn.microsoft.com/en-us/library/windowsazure/hh289316.aspx
或者,您可以使用更少的代码在其他框架中设置类似的东西:)