Linux系统下生成证书ssl证书

超文本传输安全协议(Hypertext Transfer Protocol Secure,HTTPS)是一种透过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性
linux下openssl生成 x509证书,整个签名的步骤如下:

x509证书一般会用到三类文,key,csr,crt

Key 是私用密钥,通常是rsa算法。

Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。

crt是CA认证后的证书文件,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证

生成证书主要使用到openssl,openssl可以用来实现秘钥证书管理、对称加密和非对称加密

生成秘钥key,运行:

openssl genrsa -des3 -out server.key 2048

会有两次要求输入密码,输入同一个即可
然后你就获得了一个server.key文件.
以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令:

openssl rsa -in server.key -out server.key

创建服务器证书的申请文件server.csr,运行:

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

这一步操作提示需要填写一些信息如下

Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音 
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不输入 
Common Name (eg, YOUR name) []: ← 这里是你要申请的网站的域名
Email Address []:admin@mycompany.com ← 电子邮箱,可随意填
Please enter the following ‘extra’ attributes 
to be sent with your certificate request 
A challenge password []: ← 可以不输入 
An optional company name []: ← 可以不输入

创建CA证书:

openssl req -new -x509 -key server.key -out ca.crt -days 3650

此时,你可以得到一个ca.crt的证书,这个证书用来给自己的证书签名.
创建自当前日期起有效期为期十年的服务器证书server.crt:

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

现在你的目录下可以看到一共生成了5个文件:

ca.crt
a.srl
server.crt
server.csr
server.key

server.crt(证书凭证,也可以较证书链)和server.key(私钥)就是nginx部署https协议需要的证书文件



内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/785.html