Ubuntu18.04 Openssl生成自签SSL证书

Openssl生成自签SSL证书

安装openssl

方法一

sudo apt-get install openssl
sudo apt-get install libssl-dev

方法二
在openssl官网下载压缩包
http://www.openssl.org/source/

终端输入sudo su获取root权限

  1. 下载安装包并解压 tar zxvf openssl安装包
  2. 解压后终端进入文件
  3. ./configure
  4. make
  5. make install

生成证书

  1. 找到openssl.cnf配置文件,在Ubuntu18.04中是在 /usr/lib/ssl/openssl.cnf 处,然后将配置文件拷贝到工作文件下,这里我放在 /home/用户/桌面/crt 下。
  2. 利用openssl.cnf文件,为CA创建一个自签名证书,这意味着此CA完全可信,其证书将作为根证书, 生成ca.keyca.crt, ca.key文件包含CA的私钥,而ca.crt包含公钥证书
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
  1. 请求CA为服务器签发公钥证书,创建一对公钥和私钥,在服务器端执行以下命令获得RSA密钥对 ,还需要我们自己提供一个密码来保护密钥,密钥将会存储在server,key文件里面。
 openssl genrsa -des3 -out server.key 1024
  1. 生成证书签名请求(CSR)。CSR将发送给CA,CA将为密钥生成证书
openssl req -new -key server.key -out server.csr -config openssl.cnf
  1. 客户端。客户端可以按照以下相似的命令来生成RSA密钥对和CSR。client与server的organizationName要一直,common name不一样。
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cnf
  1. 生成证书。CSR文件需要有CA的签名才能形成证书。在实际应用中,CSR文件通常会发送给受信任的CA进行签名。
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 openssl.cnf

如果以下错误:
ca: ./demoCA/newcerts is not a directory
./demoCA/newcerts: No such file or directory

在这里插入图片描述
在工作目录下手动创建一个CA目录结构:

mkdir ./demoCA
mkdir ./demoCA/newcerts

创建个空文件:

 vi demoCA/index.txt

创建文件:

 vi demoCA/serial
 向文件中写入01
  1. 如果OpenSSL拒绝生成证书,可能是因为请求中的名称与CA的名称不匹配。匹配规则在配置文件中指定(查看[策略匹配]部分)。可以更改请求的名称以符合策略,也可以更改策略。配置文件还包含另一个策略(称为任意策略),该策略的限制较少。可以通过更改以下行来选择该策略:
    “policy = policy_match” change to “policy = policy_anything”.

  2. 修改名字

openssl rsa -in server.key -out server-private-key.pem
openssl x509 -in ca.crt -out certificate-authorities.pem
openssl x509 -in server.crt -out server-certificate-chain.pem
  1. 合成.pfx证书

将私钥文件(server.key)和服务器crt证书文件(server.crt )放在工作目录下

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

工作目录下面多了一个server.pfx 文件,即为生成的pfx证书文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值