openssl实现自签名证书

前言

证书的作用

加密通信数据,验证对象身份,保证数据完整性

什么是自签名证书

 

公认的证书往往都需要收费,如果客户端与服务端都是由我们自己来操控,那便可以使用自签名证书(说白了就是只是自己认可的证书)

ca签名证书

ca签名证书,也就是我们自己当是认证的机构去认证一个证书,那么客户端新人该ca证书也代表着信任该ca证书签名的所有的自签名证书。

 

openssl是什么

OpenSSL是一套开源的密码学工具包

在SSL协议中,我们使用了很多密码学手段来保护数据,其中包括对称密码、公钥密码、数字签名、证书、完整性校验、伪随机数生成等。由于这些算法和操作都非常复杂,于是开源社区就开发了一套库,这个库里面提供了很多现成的标准方法,其他开发者只要用正确调用这些方法,就可以实现SSL协议中的各种加密/解密操作了。

linux环境下使用openssl生成ca证书与自签名证书

 

生成ca证书

1.生成ca证书的密钥key

openssl genrsa -des3 -out ca.key 1024

2.生成ca的自签名证书,是的,此处的ca证书也是一个自签名证书

openssl req -new -x509  -days 365 -key ca.key -out ca.crt

输入ca.key的使用密码后根据情况输入相应信息,在Commom Name选项中需要填写你要使用的域名

 

如果不想在调用密钥文件的时候输入密码,可以使用以下操作去除

openssl rsa -in ca.key -out ca.key

 

使用ca证书签名自签名证书

1.生成自签名证书密钥

openssl genrsa -des3 -out server.key 1024

2.生成自签名证书请求文件

openssl req -new -key server.key -out server.csr

 

输入相应信息后得到server.csr请求文件

3.使用ca证书对自签名证书请求文件进行签名

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

 

posted @ 2019-04-23 14:52  苹果大大个  阅读(3883)  评论(0编辑  收藏  举报