什么是OpenSSL

OpenSSL 是一个开源的软件库,用于实现安全套接层(SSL)和传输层安全(TLS)协议。

以及一些小工具:openssl rand -base64 10 | passwd root --stdin 俄 罗 斯 轮 盘

安装

yum -y install openssl
*当然一般来说默认都会安装(?

配置自签证书

自签证书是自己生成并签名的数字证书,而不是由受信任的证书颁发机构签发。

  1. 生成CA根密钥

    openssl genrsa -out cakey.pem 2048
    • genrsa 生成rsa钥对
    • -out 指定输出路径&名称
    • 2048 指定生成密钥长度
  2. 生成CA根证书

    openssl req -new -x509 -key cakey.pem -out cacert.pem -days 3560
    • openssl req -new:生成一个新的证书签名请求(CSR)
    • -x509:生成自签名的证书而不是普通的 CSR
    • -key cakey.pem:指定用于签名的私钥文件
    • -out cacert.pem:指定输出的自签名证书文件名
    • -days 3560:指定证书的有效期为 3560 天

申请证书

当我们需要为一个服务配置证书时,就需要在CA申请一个证书。比如申请网页的SSL证书。

  1. 生成证书私钥

    openssl genrsa -out web.key 2048
  2. 签名请求

    openssl req -new -key web.key -out web.csr
  3. CA签发证书

    openssl x509 -req -in web.csr -CA cacert.pem -CAkey cakey.pem -CAcreateserial -out server.crt -days 365
    • -CA cacert.pem:指定根证书文件
    • -CAkey cakey.pem:指定根证书的私钥文件
    • -CAcreateserial:自动创建并使用序列号文件,OpenSSL 会自动创建一个名为 serialca.srl 的文件,并将其初始值设置为 01。每次签发证书时,序列号会递增,并写回这个文件中。
    • -out server.crt:指定输出的服务器证书文件名
    • -days 365:指定服务器证书的有效期为 365 天