新闻  |   论坛  |   博客  |   在线研讨会
linux上使用openssl生成ssl证书
电子禅石 | 2020-06-18 19:58:28    阅读:3146   发布文章

最近在用openssl生成证书,记录一下,如果有错,请指点:

步骤如下:

安装好openssl之后(此处略过)

1、先设置好openssl.cnf,文件路径在openssl/ssl/openssl.cnf

其中需要设置的有:

①、[CA_default]中的dir变量名称,后续生成的数据库文件,都会关联改文件夹。

②、将stateOrProvinceName和organizationName改为“optional”,不然后面在签证的时候可能因为省份、组织名称不同签证不通过。

③、设置签证信息的默认信息,不然有些信息不填的情况下,会出现默认的名称。

2、生成CA文件

进入openssl/bin文件夹下,执行如下语句:

openssl req -new -x509 -days 36524 -keyout CA/ca.key -out ca.crt -utf8 -config ../ssl/openssl.cnf

然后输入该ca.key的密码

 之后会要求你输入证书的基本信息。

3、生成服务器端的私钥(key文件)

openssl genrsa -des3 -out CA/xxx.key 2048

并去除密码(如果设置了密码,服务器连接也必须相应设置key的密码)

openssl  genrsa -out CA/xxx.key 2048

4、生成Certificate Signing Request(CSR)

openssl req -new -key CA/xxx.key -out CA/xxx.csr -utf8 -config ../ssl/openssl.cnf

其中xxx.key为刚刚生成的key

要求你添加证书的基本信息。其中commom Name很重要,部署在哪个服务器上,就添哪个服务器的域名或ip。

A challenge password 和An optional company name可不填

5、用生成的CA证书为刚才生成的xxx.csr文件签名

在此之前,必须先手动在CA(之前openssl.cnf设置的)文件夹里手动添加newcerts文件夹、index.txt和serial文件,其中serial要写入00

  cd CA
  mkdir newcerts
  touch index.txt
  echo "00">serial
  cd ..

签名

openssl x509 -req -in CA/xxx.csr -CA CA/ca.crt -CAkey CA/ca.key -CAcreateserial -out CA/xxx.crt -days 36524

这里会要求输入之前设置ca.key的密码。

6、查看文件

查看CA目录下,会自动生成如下文件

其中,连接需要用到的就ca.crt,xxx.crt和xxx.key三个文件

 

 3.png

 

比较简单的简述。方便之后拿来用

https://my.oschina.net/u/2286362/blog/726401

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客