【SSL】关于自签名类型

一、背景

要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择。

HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上。

当由于某种原因(如:不想通过CA购买证书,或者仅是用于测试等情况),无法正常获取CA签发的证书。

这时可以生成一个自签名证书。使用这个自签名证书的时候,会在客户端浏览器报一个错误,签名证书授权未知或不可信(signing certificate authority is unknown and not trusted.)。


二、自签名分类

三、自签名和私有CA签名测试


自签名证书

# vim  self-signed.sh

#####################################################################

#!/bin/bash

openssl req -x509 -nodes \

  -sha512  \

  -newkey rsa:2048 \

  -days 3650 \

  -subj "/C=CN/ST=Gunagdong/L=Shenzhen/O=Test/OU=Test/CN=www.example.com" \

  -keyout self-signed.key \

  -out    self-signed.crt

##########################################################################

# sh  self-signed.sh 

# openssl x509 -noout -text -in self-signed.crt

自签名证书的Issuer和Subject是相同的。



私有CA签名证书


# vim ca-self-signed.sh

###################################################

#!/bin/bash

openssl req -x509 \

  -nodes \

  -newkey rsa:4096 \

  -days 3650 \

  -sha256 \

  -subj "/C=CN/ST=Gunagdong/L=Shenzhen/O=CA/OU=CA/CN=www.ca.com" \

  -keyout ca.key \

  -out    ca.crt

openssl req \

  -nodes \

  -newkey rsa:4096 \

  -sha256 \

  -keyout harbor.key \

  -subj "/C=CN/ST=Gunagdong/L=Shenzhen/O=Test/OU=Test/CN=www.harbor.com" \

  -out harbor.csr

echo "

authorityKeyIdentifier=keyid,issuer

basicConstraints=CA:FALSE

keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment

subjectAltName=IP:192.168.1.105,DNS:www.harbor.com

" > extfile.cnf

openssl x509 -req \

  -days 3650 \

  -in harbor.csr \

  -CA ca.crt \

  -CAkey ca.key \

  -CAcreateserial \

  -extfile extfile.cnf \

  -out harbor.crt

###################################################

# sh ca-self-signed.sh

# openssl x509 -noout -text -in harbor.crt

私有CA签名证书的Issuer和Subject是不同的。



四、数字证书(Certificate)


在HTTPS的传输过程中,有一个非常关键的角色–数字证书,那什么是数字证书?又有什么作用呢?

所谓数字证书,是一种用于电脑的身份识别机制。由数字证书颁发机构(CA)对使用私钥创建的签名请求文件做的签名(盖章),表示CA结构对证书持有者的认可。

数字证书拥有以下几个优点:

使用数字证书能够提高用户的可信度;

数字证书中的公钥,能够与服务端的私钥配对使用,实现数据传输过程中的加密和解密;

在证认使用者身份期间,使用者的敏感个人数据并不会被传输至证书持有者的网络系统上;


五、证书信息查看


查看私钥信息

# openssl  rsa   -noout   -text   -in server.key


查看签名请求信息

# openssl  req   -noout  -text  -in  server.csr


查看ca的私钥信息

# openssl  rsa   -noout  -text  -in  ca.key


查看证书信息

openssl   x509   -noout   -text  -in  ca.crt


查看一个证书吊销列表信息

# openssl   crl   -text   -in   xx.crl


查看一个证书的额外信息

# openssl   x509   -purpose   -in   cacert.pem


从一个私钥里面提取出公钥

# openssl  rsa -in  key.pem   -pubout   -out  pubkey.pem


从生成的证书文件中提取出公钥文件

# openssl  x509   -outform  PEM   -in   self-signed.crt   -pubkey   -noout > self-signed.pub


查看一个公钥的信息

openssl  rsa  -noout -text  -pubin  -in apache.pub 


验证一个证书是否是某一个CA签发

# openssl verify  -CAfile  /path/to/ca.crt   apache.crt  


模拟一个ssl客户端访问ssl服务器

# openssl s_client   -connect 192.168.1.105:8443 < /dev/null


如果服务端要求客户端提供证书  则在加上 -cert 和-key参数 比如 :

# openssl  s_client -connect 192.168.1.105:8443  -cert  /path/to/client.crt  -key /path/to/client.key 


六、参考


Rancher 自签名ssl证书

https://www.rancher.cn/docs/rancher/v2.x/cn/install-prepare/self-signed-ssl

自签名证书和私有CA签名的证书的区别

https://blog.csdn.net/sdcxyz/article/details/47220129

使用OpenSSL生成自签名证书

https://www.lotlab.org/2018/03/28/%E4%BD%BF%E7%94%A8openssl%E7%94%9F%E6%88%90%E8%87%AA%E7%AD%BE%E5%90%8D%E8%AF%81%E4%B9%A6

关于base64编码

https://blog.csdn.net/weixin_39460408/article/details/81835337

https://blog.csdn.net/qq_20553613/article/details/95756154

https://blog.csdn.net/wo541075754/article/details/81734770

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、实验背景 要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择。 HTTPS其实就是HTTP ove...
    Bogon阅读 4,268评论 0 0
  • 按规则不同,分为两类: 按编码分 DER, PEM 这表示证书内容的编码方式为DER 或是 PEM 按功能分 这个...
    癞痢头阅读 2,750评论 0 0
  • 介绍 前面说了怎么搭建harbor仓库,这里讲一讲harbor实现https访问,因为只需要内网访问,没必要去申请...
    kevinfaith阅读 10,988评论 2 2
  • 1 概述 本文之所以称之为半自动化,是因为证书的申请并非日常工作,只是一段时间才需要申请,同时,在创建证书和办法证...
    ghbsunny阅读 6,662评论 0 1
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,703评论 0 4

友情链接更多精彩内容