openssl 生成免费证书

时间:2024-04-09 13:26:44

流程

一般证书是证书机构(ca)签发的,如申请域名后一般会有一个证书,一般是收费的。
如果使用openssl生成免费的服务器端与客户端证书的话,步骤流程如下:

  • 1、生成ca证书
  • 2、生成服务器端证书签发申请文件(csr文件),并用ca证书签发,生成服务器端证书crt文件
  • 3、生成客户端证书签发申请文件(csr文件),并用ca证书签发,生成客户端端证书crt文件

准备工作

下载安装openssl,并配置环境变量
【下载】

操作过程

生成ca证书

  • 生成根证书私钥(key文件)
    genrsa -des3 -out ca.key 2048# 长度为2048
  • 生成证书签到请求文件ca.csr
    openssl req -new -key ca.key -out ca.csr
    如果出现下面的异常,重启cmd即可
    openssl 生成免费证书
  • 自签署证书生成ca.crt
    openssl x509 -req -sha256 -days 3650 -in ca.csr -signkey ca.key -out ca.crt

生成server.crt 证书

  • 1、证书私钥(key文件)
    genrsa -out server.key 2048# 长度为2048
  • 2、生成证书签到请求文件server.csr
    openssl req -new -key server.key -out server.csr
  • 3、用ca证书签发server.crt
    openssl x509 -req -sha256 -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt

生成client.crt 证书

  • 1、证书私钥(key文件)
    genrsa -out client.key 2048# 长度为2048
  • 2、生成证书签到请求文件server.csr
    openssl req -new -key client.key -out client.csr
  • 3、用ca证书签发client.crt
    openssl x509 -req -sha256 -days 3650 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt
    结果如下示:
    openssl 生成免费证书

对于 IIS 的设置

在 IIS 中,需要的是一个 PFX 文件,这个文件需要包含 key 和 crt。生成方法如下:
输入 key 和 crt 文件,输出 pfx 文件。
openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx
执行上述命令时,会要求输入一个 export 密码。 该密码在导入 pfx 文件时需要。
在 IIS 中选择“导入证书”,文件选择该 pfx 文件,密码填写导出时的密码,导入位置选择“个人”。
如要修改证书的 friendly name ,则在证书管理中修改(需要从 mmc 中打开计算机级别的证书管理器)
openssl 生成免费证书