加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – SSL / TLS中的相互认证

发布时间:2020-12-15 17:28:06 所属栏目:百科 来源:网络整理
导读:我是SSL身份验证的新手,我需要使用SSL在信任边界上验证两个架构组件(我可以控制这两个组件).我想我需要双向SSL身份验证,服务器和客户端都有证书. 证书可以自签名吗? (即,由供应商签名,这不会首先使用SSL取消?或者我是否需要第三方验证服务以确保证书的身份
我是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;
                                                                                 };

希望有所帮助.

注意:从安全角度来看,不建议在生产环境中使用自签名证书.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读