OpenSSL 生成CA证书和自签名证书

/

openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。

自签CA证书及网站证书脚本:

  1. #!/bin/bash
  2. CERT_DIR=/etc/ssl/certs
  3. SITE_NAME=www.wwtou.com
  4. CA_SUBJECT="/C=CN/ST=Beijing/L=Beijing/O=wwtou/OU=Technical/CN=ca.wwtou.com"
  5. SUBJECT="/C=CN/ST=Beijing/L=Beijing/O=wwtou/OU=Technical/CN=${SITE_NAME}/emailAddress=admin@wwtou.com"
  6. # SERTAL 每执行一次做加 1 修改
  7. SERTAL=02
  8. EXPIRE=36500
  9. FILE=${SITE_NAM}
  10. [ -d ${CERT_DIR} ] || mkdir -p ${CERT_DIR}
  11. # 生成自签名CA(CA私钥和CA证书)
  12. openssl req -x509 -sha256 -newkey rsa:4096 -keyout ca.key -out ca.crt -days ${EXPIRE} -nodes -subj ${CA_SUBJECT}
  13. # 以上这条命令是两条命令组合
  14. # (umask 077; openssl genrsa -out cakey.pem 2048) 或 # (umask 077; openssl genrsa 2048 >cakey.pem)
  15. # openssl req -new -x509 -key akey.pem -days 7300 -out ca.cert -subj '/C=CN/ST=Beijing/L=Beijing/O=wwtou/OU=Technical/CN=ca.wwtou.com'
  16. # 生成网站 www.wwtou.com 的私钥和证书请求
  17. openssl req -new -newkey rsa:4096 -keyout ${FILE}.key -out ${FILE}.csr -nodes -subj ${SUBJECT}
  18. # 生成网站 www.wwtou.com 的证书
  19. openssl x509 -req -sha256 -days ${EXPIRE} -in ${FILE}.csr -CA ca.crt -CAkey ca.key -set_serial ${SERTAL} -out ${FILE}.crt
  20. # 修改证书权限
  21. chmod 600 -R ${CERT_DIR}

从私钥中提取出公钥 [选项]:

  1. # openssl rsa -in cakey.pem -pubout -out cakey.pub

有时只是简单测试,需要快速生成网站自签名证书,而不使用CA:

  1. # 生成网站web01的证书请求
  2. # openssl req -new -newkey rsa:4096 -keyout web01.key -out web01.csr -nodes -subj '/C=CN/ST=Beijing/L=Beijing/O=wwtou/OU=Technical/CN=web01.it.tech'
  3. # 签发web01网站证书
  4. # openssl x509 -req -in web01.csr -signkey web01.key -days 3650 -out web01.crt

转载请注明作者和出处,并添加本页链接。
原文链接: //www.wwtou.com/vwlWkKyk.html