本人运行环境:openssl-1.0.2o, vscode,ubuntu
1.首先要生成服务端的私钥(key文件)
openssl genrsa -des3 -out server.key 1024
2.生成CSR签名请求证书,生成的csr文件交给CA签名后形成服务端自己的证书。
openssl req -new -key server.key out server.csr -config openssl.cnf
这个地方会出现错误:
02001002:system library:fopen:No such file or directory:.\crypto\bio\
bss_file.c:168:fopen('openssl.cnf','rb')
解决办法:
找不到openssl.cnf,我们加入绝对路径找到openssl.cnf就可以运行。
3.同样的办法对客户端使用
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cnf
4.CSR文件需要CA的签名才能形成证书。
生成CA:
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
这里同样openssl.cnf用自己的绝对路径。
5.接下来我们要用生成的CA证书为刚才生成的server.csr,client.csr文件签名。
服务器端:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
客户端:
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openss.cnf
这里会出现错误:
I am unable to access the ./demoCA/newcerts directory
./demoCA/newcerts: No such file or directory
解决办法:
由于我将客户端和服务端分成两个文件写的,所以为将CA的key和crt都分别铐到了client和server文件里面,然后去openssl的文件夹里找到demoCA这个文件,里面有一个index.txt和serial是我们需要的。
在客户端和服务端将文件demoCA粘贴过来就ok了,然后在demoCA里面创建一个新的文件夹newcerts。将serial放在里面,index.txt放在demoCA下面。
newcerts文件夹是在demoCA下的。
然后再运行代码,openssl.cnf添上绝对路径就可以了。
在openssl-1.0.2o环境下,通过vscode在Ubuntu中创建自签发SSL证书。过程包括生成服务端私钥、CSR文件,解决签名请求错误,创建CA并签署服务器和客户端CSR文件,最后解决证书错误,完成证书签发。

4482

被折叠的 条评论
为什么被折叠?



