博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[svc]cfssl模拟https站点-探究浏览器如何校验证书
阅读量:6439 次
发布时间:2019-06-23

本文共 2027 字,大约阅读时间需要 6 分钟。

准备cfssl环境

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O     /usr/local/bin/cfsslwget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O      /usr/local/bin/cfssljsonwget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/local/bin/cfssl-certinfochmod +x /usr/local/bin/cfssl*

生成ca证书

cd;mkdir keys;cd keyscat > ca-config.json <
ca-csr.json <

生成server证书

cd /root/keyscat > app-csr.json <

构建https webserver模拟测试

cd /root/cat > http-server.js <

访问服务端https://192.168.1.x:8000端口(域已添加本地hosts)

发现

9e792b8fgy1fmqyh466faj20sg0f3mz8.jpg
opera浏览器
9e792b8fgy1fmqy7gpum1j21990p1gt2.jpg

处理浏览器安全问题

1.导出ca.pem到win7,改名为ca.crt.

2.运行 certmgr.msc 打开证书管理器

9e792b8fgy1fmqxrj8qsnj20ni0dx7e8.jpg

3.浏览器访问8000端口(ctrl+shift+del清缓存)

opera浏览器

9e792b8fgy1fmqy6fwg8ej20gx074my2.jpg

4.使用apps.ma.com访问,也报错

9e792b8fgy1fmqybnt65qj20q907ujs8.jpg

无SAN(Subject Alternative Name)-CN: app.ma.com-即使地址栏的域名和CN一样也报错

cd /root/keysrm -rf app*cat > app-csr.json <

无SAN(Subject Alternative Name)-CN: *.ma.com-即使地址栏的域名和CN一样也报错

cd /root/keysrm -rf app*cat > app-csr.json <

9e792b8fgy1fmqyy5mvxmj21460objzz.jpg

SAN含app.ma.com(Subject Alternative Name)-CN: *.ma.com-仅app.ma.com域名可访问

cd /root/keysrm -rf app*cat > app-csr.json <

9e792b8fgy1fmqz1qpe25j20gh04zmxl.jpg

9e792b8fgy1fmqz4079x3j20rh087gmk.jpg

SAN含.ma.com(Subject Alternative Name)-CN: .ma.com-可用任意*.ma.com来访问

cd /root/keysrm -rf app*cat > app-csr.json <

9e792b8fgy1fmqz6g3le1j20mm08e0ut.jpg

查看互联网上一些证书

  • 汽车之家的通用型(*)证书(而且一个证书对应了多个域名)

    9e792b8fgy1fmqzcc58r9j211l0kgk0s.jpg

  • 谷歌的 www证书

    9e792b8fgy1fmqzg24ezkj211i0kg45o.jpg
    9e792b8fgy1fmqzfz2si8j211i0kg104.jpg

wildcard和san两种证书的区别

wildcard: 可变部分sub-domain:*.maotai.comwww.maotai.combbs.maotai.comsan: 可变部分: subdomain和domainsubdomain*.ma.com*.ma.net*.xx.net

注:一般通用型证书比www证书价格贵一半左右.

参考:

当浏览器使用HTTPS连接到您的服务器时,他们会检查以确保您的SSL证书与地址栏中的主机名称匹配。

==浏览器有三种找到匹配的方法:==

  • 1.主机名(在地址栏中)与证书主题(Subject)中的通用名称(Common Name)完全匹配。
  • 2.主机名称与通配符通用名称相匹配。例如,www.example.com匹配通用名称* .example.com。
  • 3.主机名主题备用名称(SAN: Subject Alternative Name)字段中列出

  • 1.The host name (in the address bar) exactly matches the Common Name in the certificate's Subject.
  • 2.The host name matches a Wildcard Common Name. For example, www.example.com matches the common name *.example.com.
  • 3.The host name is listed in the Subject Alternative Name field.

客户端使用服务端返回的信息验证服务器的合法性,包括:    证书是否过期    发型服务器证书的CA是否可靠    返回的公钥是否能正确解开返回证书中的数字签名    服务器证书上的域名是否和服务器的实际域名相匹配  -- 要核对CN或SAN,见上    验证通过后,将继续进行通信,否则,终止通信

在哪里可以查看到san

参考: 

806469-20171223210258334-1888116141.png

小结: 正因为访问的域名在san列表,所以访问才能被通过校验.

转载地址:http://ywkwo.baihongyu.com/

你可能感兴趣的文章
关于TaskStatus状态WaitingForChildrenToComplete 的疑问
查看>>
A quick introduction to Google test
查看>>
virtualbox+vagrant学习-2(command cli)-27-vagrant connect命令
查看>>
【学时总结&模板时间】◆学时·10 & 模板·3◆ AC自动机
查看>>
linux命令2
查看>>
iOS-UICollectionView
查看>>
lombok(@Getter&@Setter)
查看>>
shiro+redis多次调用doReadSession方法的解决方案
查看>>
浅谈EntityFramework框架的使用
查看>>
asp.net identity的学习记录
查看>>
vue中mixins的使用方法和注意点(详)
查看>>
linux中redis的主从
查看>>
【20181102T2】飞越行星带【智商题+最小瓶颈路】
查看>>
iphone-common-codes-ccteam源代码 CCRadix.h
查看>>
ipad4没有声音提示消息
查看>>
扩展的母函数(可以做减法的母函数)(当然只要你愿意也可以做乘除!)
查看>>
UVa 1368 - DNA Consensus String
查看>>
第一个只出现一次的字符位置
查看>>
解决报错:import sun.misc.BASE64Decoder无法找到
查看>>
Swift-binary search tree
查看>>