绍兴生活网:Ubuntu 18.04使用OpenSSL自签证书(证书支持多IP及多域名,谷歌浏览器无忠告)

admin 6个月前 (05-17) 科技 48 0

前言

在HTTPS数据传输的过程中,需要用SSL/TLS对数据举行加密和解密,以保证网络传输过程中数据的机密性。HTTPS协议可以大致分为两个部门:其一是协商密钥,首先当Client向Web&NBsp;Server提议请求时,Web Server向Client返回一个包罗Server端钥的证书,然后Client验证该证书的合法性并天生一个随机密钥,接着使用该证书对天生的随机密钥举行非对称加密后发送回Web Server,最后Web Server使用私钥举行解密后获取Client天生的随机密钥;其二是加密通讯,Web Server与Client端接纳随机密钥举行对称加解密举行通讯。HTTPS通讯流程图如下,引用于Leon_hy的博客。证书一样平常由第三方CA举行签发,自签证书将不被浏览器信托,会弹出毗邻不安全的小窗。本文先容了Ubuntu 18.04使用OpenSSL自建CA且签发证书的流程,并乐成获取谷歌等浏览器的信托。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

环境准备

1. OpenSSL依赖安装

$ sudo apt-get install -y openssl libssl-dev

2. 建立证书保留目录及相关文件

需要注重的是,以下除了certificate文件夹外,命名必须与/usr/local/ssl/openssl.cnf中的对应名称保持一致,以下均接纳默认值

$ cd ~
$ mkdir certificate && cd certificate
$ mkdir demoCA && cd demoCA
$ mkdir private newcerts
$ touch index.TXT
$ echo '01' > serial

自建CA

1. 天生根密钥

需要注重的是,此处的密钥名必须与/usr/local/ssl/openssl.cnf中的名称保持一致,默以为cakey.pem

$ cd private
$ openssl genrsa -out cakey.pem 2048

2. 天生根CA证书

$ openssl req -new -x509 -days 3650 -key cakey.pem -out cacert.pem

随后根据指引填写根CA证书的相关信息,其中填写内容不做要求(稀奇指出Common Name此处为根证书发表机构,命名建议为XX Root CA)

3. 将根证书移动到demoCA文件夹下

$ cd .. && MV ./private/cacert.pem ./

添加信托

下面先容两种证书验证场景下,添加信托的方式

1. Google浏览器(火狐浏览器类似)

设置->隐私设置和安全性->治理证书->导入->下一步->浏览

注重此处谷歌浏览器默认导入证书后缀为crt,可以选择所有文件后导入cacert.pem文件到受信托的根证书发表机构并确认

2. OpenSSL默认证书验证文件(挪用OpenSSL库验证证书合法性的应用将使用该文件如curl等,注重在Ubuntu其他版本中ca-certificates.crt文件可能又叫做ca-bundle.crt)

$ sudo sh -c "cat cacert.pem >> /etc/ssl/certs/ca-certificates.crt"

发表证书

1. 切换出demoCA文件夹,到certificate文件夹

$ cd ~/certificate

2. 建立custom.ext文件,添加多IP设置,文件内容如下(若是需要设置多DNS域名解析,可以在[ SubjectAlternativeName ]下添加DNS.1 = www.XXX.com或者正则匹配式*.XXX.com)

 

 3. 建立私钥

$ openssl genrsa -out custom.key 2048

4. 建立证书请求文件

$ openssl req -new -key custom.key -out custom.csr

随后根据指引填写证书的相关信息,填写内容除了Common Name,其余部门只管与根证书保持一致(Common Name内容不做要求)

5. 签发证书

$ openssl ca -in custom.csr -extfile custom.ext -days 365 -out custom.crt

签发后的证书连同私钥可以供Web Server使用

测试

1. google浏览器测试效果

绍兴生活网:Ubuntu 18.04使用OpenSSL自签证书(证书支持多IP及多域名,谷歌浏览器无忠告) 第1张

 

2. 火狐浏览器测试效果

绍兴生活网:Ubuntu 18.04使用OpenSSL自签证书(证书支持多IP及多域名,谷歌浏览器无忠告) 第2张

 

 

 

 

 

,

诚信在线

诚信在线(www.cx11yj.cn)现已开放诚信在线手机版下载。游戏公平、公开、公正,用实力赢取信誉。

文章归档

站点信息

  • 文章总数:396
  • 页面总数:0
  • 分类总数:8
  • 标签总数:729
  • 评论总数:0
  • 浏览总数:3215