OpenSSL 生成CA证书和自签名证书
openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。
自签CA证书及网站证书脚本:
#!/bin/bash
CERT_DIR=/etc/ssl/certs
SITE_NAME=www.wwtou.com
CA_SUBJECT="/C=CN/ST=Beijing/L=Beijing/O=wwtou/OU=Technical/CN=ca.wwtou.com"
SUBJECT="/C=CN/ST=Beijing/L=Beijing/O=wwtou/OU=Technical/CN=${SITE_NAME}/emailAddress=admin@wwtou.com"
# SERTAL 每执行一次做加 1 修改
SERTAL=02
EXPIRE=36500
FILE=${SITE_NAM}
[ -d ${CERT_DIR} ] || mkdir -p ${CERT_DIR}
# 生成自签名CA(CA私钥和CA证书)
openssl req -x509 -sha256 -newkey rsa:4096 -keyout ca.key -out ca.crt -days ${EXPIRE} -nodes -subj ${CA_SUBJECT}
# 以上这条命令是两条命令组合
# (umask 077; openssl genrsa -out cakey.pem 2048) 或 # (umask 077; openssl genrsa 2048 >cakey.pem)
# 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'
# 生成网站 www.wwtou.com 的私钥和证书请求
openssl req -new -newkey rsa:4096 -keyout ${FILE}.key -out ${FILE}.csr -nodes -subj ${SUBJECT}
# 生成网站 www.wwtou.com 的证书
openssl x509 -req -sha256 -days ${EXPIRE} -in ${FILE}.csr -CA ca.crt -CAkey ca.key -set_serial ${SERTAL} -out ${FILE}.crt
# 修改证书权限
chmod 600 -R ${CERT_DIR}
从私钥中提取出公钥 [选项]:
# openssl rsa -in cakey.pem -pubout -out cakey.pub
有时只是简单测试,需要快速生成网站自签名证书,而不使用CA:
# 生成网站web01的证书请求
# 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'
# 签发web01网站证书
# openssl x509 -req -in web01.csr -signkey web01.key -days 3650 -out web01.crt
转载请注明作者和出处,并添加本页链接。
原文链接:
//www.wwtou.com/vwlWkKyk.html