我是SSL身份验证的新手,我需要使用SSL在信任边界上验证两个架构组件(我可以控制这两个组件).我想我需要双向SSL身份验证,服务器和客户端都有证书.
证书可以自签名吗? (即,由供应商签名,这不会首先使用SSL取消?或者我是否需要第三方验证服务以确保证书的身份?)
握手如何在服务器和客户端的公钥和私钥方面工作?
我将不得不在IIS中配置服务器以使用cetificate,并使用请求发送客户端证书(最有可能通过使用WCF进行配置?),但是还有其他任务我必须做才能使其工作吗?
解决方法
使用客户端和服务器证书的双向认证将起作用.您也可以使用自签名证书.但是,如果两个证书都是自签名的,则您需要绕过客户端和服务器上的证书验证,因为它们未由受信任的机构签名.
在安装证书方面,应按如下方式进行:
服务器端
> ServerCert.pfx安装到LocalMachine – >个人商店
> ClientCert.cer安装到本地机器 – >受信任的人存储
客户端
> ClientCert.pfx安装到当前用户 – >个人商店
> ServerCert.cer安装到本地机器 – >值得信赖的商店
您需要将ServerCert.cer文件发送到客户端,客户端需要将ClientCert.cer发送给您.
现在,如果您使用自签名证书并且您的客户端正在访问您的服务,那么他将需要绕过证书验证. C#中的示例代码如下:
System.Net.ServicePointManager.ServerCertificateValidationCallback = (sender,cert,chain,error) => { return true; };
希望有所帮助.
注意:从安全角度来看,不建议在生产环境中使用自签名证书.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。