keytool证书管理
1、构建自签名证书
keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36000 -alias www.zzq.com -keystore zzq.keystore
导出数字证书
keytool -exportcert -alias www.zzq.com -keystore zzq.keystore -file zzq.cer -rfc
打印数字证书信息
keytool -printcert -file zzq.cer
构建随机数
openssl rand -out private/.rand 1000
echo 构建根证书私钥 private/ca.key.pem
openssl genrsa -aes25 -out private/ca.key.pem 2048
pause
生成根证书签发申请
openssl req -new -key private/ca.key.pem -out private/ca.csr
签发根证书
openssl x509 -req -days 1000 -sha1 -extensions v3_ca -signkey private/ca.key.pem -in private/ca.csr -out certs/ca.cer
根证书转换:openssl产生的证书不能再java语言环境中使用,需将其转化成PKCS#12编码格式
openssl pkcs12 -export -cacerts -inkey private/ca.key.pem -in certs/ca.cer -out certs/ca.p12
我们可以用根证书签发签发服务器证书和客户端证书
构建服务器证书
构建服务器死私钥
openssl genrsa -aes256 -out private/server.key.pem 2048
生成服务器证书签发申请
openssl req -new -key private/server.key.pem -out private/server.csr -subj "/C=CN/ST=SH/L=SH/O=zzq/OU=zzq/CN=www.zzq.com"
签发服务器证书
openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA certs/ca.cer -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in private/server.csr -out certs/server.cer
转换PKCS#12编码格式
openssl pkcs12 -export -cacerts -inkey private/server.key.pem -in certs/server.cer -out certs/server.p12
构建客户证书
构建客户私钥
openssl genrsa -aes256 -out private/client.key.pem 2048
生成客户签发申请
openssl req -new -key private/client.key.pem -out private/client.csr -subj "/C=CN/ST=SH/L=SH/O=zzq/OU=zzq/CN=zzq"
签发客户证书
openssl ca -days 3650 -in private/client.csr -out certs/client.cer -cert certs/ca.cer -keyfile private/ca.key.pem
转换PKCS#12编码格式
openssl pkcs12 -export -inkey private/client.key.pem -in certs/client.cer -out certs/client.p12
|