当前位置:网站首页>官方颁发的SSL证书与自签名证书结合实现网站双向认证
官方颁发的SSL证书与自签名证书结合实现网站双向认证
2022-07-26 09:27:00 【Jack-ZOU】
这是一个非常有趣的实验。
大家已经知道,一些SSL证书颁发机构颁发的证书,只是装在服务器端,让访问者通过SSL链接访问网站,并且可以向访问者证实网站的真实地址。但是,如果要限制网站的访问者,也就需要验证客户端所拥有的证书,这样才能建立安全链接。而机构在颁发SSL证书的时候,并没有配套的客户端证书,因此无法在客户端安装,也就无法开启对客户端的认证了。
AD CS的证书服务可以颁发服务器端SSL证书,也可以颁发客户端证书(见前文),但是AD CS颁发的服务器端SSL证书只能绑定一个域名,即 WWW.abc.com 或者abc.com。绑定其中一个域名,用另外一个域名访问时,就提示证书有问题,不是授权给这个域名的,有点不爽。
今天突发奇想,能不能将第三方认证机构颁发的SSL证书与AD CS颁发的证书结合在一起使用,实现双向认证呢?开始试验。
在服务器端先布置第三方机构颁发的SSL证书。将证书导入服务器证书个人下面。然后将证书导入客户端计算机证书管理“受信任的证书”。通过IIS设置,网站需要SSL链接,并且选择不需要客户端证书。这种设置下,客户端用http访问会提示403错误,用https访问时,会建立安全链接,点击“锁”的图形后,会显示证书的详细信息。说明SSl证书配置成功。
接下来在服务器端将IIS重新设置,需要SSL链接,同时需要客户端证书。现在用https访问时,因为没有证书,就不能访问了。提示需要用安全证书访问。
现在,在服务器端访问证书申请的页面,一般为 localhost/certsrv,申请客户端证书,申请成功后,到入服务器浏览器,再从服务器浏览器导出,复制到客户端电脑桌面上。
下一步是:在客户端,将客户端证书导入到证书的个人下。有时需要手工导入到浏览器中;在服务器端,将客户端证书导入到“受信的证书”中去。
OK!现在在客户端访问,用https访问,页面出现让用户选择证书,选择证书后,确认,双向链接就建立了,可以正常访问网站。
另外,如果没有弹出证书选择的页面,可能是之前访问过,或者曾经拒绝过选用证书,下次访问可能就没有证书访问的弹出框,可以清除浏览器缓存后重新输入地址访问。
一个技巧:如果客户端用http访问,而IIS设置一定要用SSL访问,通常就出现一个403页面,现在,可以通过修改403页面,让网址自动跳转到https访问,显得更为友好。相关设置方法百度一下就有。
一个小时的实验成功!心满意足,喝杯茶去。然后写老师布置的作业。
边栏推荐
- Sliding window, double pointer, monotone queue, monotone stack
- JS output diamond on the console
- antUI中a-modal 拖拽功能制作
- 选择器的使用
- Basic use of Arc GIS 2
- Windows通过命令备份数据库到本地
- Your login IP is not within the login mask configured by the administrator
- [online problem] timeout waiting for connection from pool problem troubleshooting
- What is asynchronous operation
- WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
猜你喜欢
V-permission add permission
【Mysql】redo log,undo log 和binlog详解(四)
js中树与数组的相互转化(树的子节点若为空隐藏children字段)
【Mysql数据库】mysql基本操作集锦-看得会的基础(增删改查)
附加到进程之后,断点显示“当前不会命中断点 还没有为该文档加载任何符号”
Windows通过命令备份数据库到本地
2022 Shanghai safety officer C certificate examination questions and mock examination
微信小程序学习笔记1
docker配置mysql集群
Does volatile rely on the MESI protocol to solve the visibility problem? (next)
随机推荐
神经网络与深度学习-6- 支持向量机1 -PyTorch
Neural network and deep learning-6-support vector machine 1-pytorch
Jmeter配置元件之CSV数据文件设置
PHP一次请求生命周期
点击input时,不显示边框!
大二上第二周学习笔记
Cat installation and use
nodejs服务后台执行(forever)
ie7设置overflow属性失效解决方法
Selection and practice of distributed tracking system
【线上死锁分析】由index_merge引发的死锁事件
注册模块用例编写
[shutter -- layout] detailed explanation of the use of align, center and padding
nodejs中mysql的使用
【Mysql数据库】mysql基本操作集锦-看得会的基础(增删改查)
小程序纪录
Windows通过命令备份数据库到本地
[MySQL] detailed explanation of redo log, undo log and binlog (4)
微信小程序开发
Basic use of ArcGIS 4