Linux下制作HTTPS证书

##更改一些默认配置

rm -rf /etc/pki/CA/*.old

touch /etc/pki/CA/index.txt

echo 01 > /etc/pki/CA/serial

echo 02 > /etc/pki/CA/serial

##准备证书生成目录

cd /home/cert/

rm -rf keys

mkdir keys

#1.生成【根证书】RSA私钥

openssl genrsa -out keys/RootCA.key 2048

#2.使用步骤1生成的 RSA 私钥生成自签名证书,证书有效期设置为3650(10年)

opensslreq -new -x509 -days 3650 -key keys/RootCA.key -out keys/RootCA.crt -subj "/C=CN/ST=SD/L=JN/O=DW/OU=DW/CN=RootCA"

#3.生成【二级证书】RSA私钥

openssl genrsa -out keys/secondCA.key 2048

openssl rsa -in keys/secondCA.key -out keys/secondCA.key

#4.生成【二级证书请求文件】secondCA.csr,-subj的值最好与根证书保持一致

openssl req -new -days 3650 -key keys/secondCA.key -out keys/secondCA.csr -subj "/C=CN/ST=SD/L=JN/O=DW/OU=DW/CN=SecCA"

#5.根证书【认证】二级证书

openssl ca -extensions v3_ca -in keys/secondCA.csr -config /etc/pki/tls/openssl.cnf -days 3650 -out keys/secondCA.crt -cert keys/RootCA.crt -keyfile keys/RootCA.key -batch

#6.生成【服务器】RSA私钥

openssl genrsa -out keys/server.key 2048

openssl rsa -in keys/server.key -out keys/server.key

#7.生成【服务器证书请求文件】server.csr 此处CN的值应填写服务器的IP

openssl req -new -days 3650 -key keys/server.key -out keys/server.csr -subj "/C=CN/ST=SD/L=JN/O=DW/OU=DW/CN=10.1.91.241"

#8.二级证书【认证】服务器证书

openssl ca -in keys/server.csr -config /etc/pki/tls/openssl.cnf -days 3650 -out keys/server.crt -cert keys/secondCA.crt -keyfile keys/secondCA.key -batch

#9.证书公钥转格式 crt转换为PEM

cd keys/

openssl x509 -in secondCA.crt -out second-cert.pem -outform PEM

openssl x509 -in RootCA.crt -out RootCA-cert.pem -outform PEM

#10.公钥合并,这一步的主要作用是构建证书链:根证书 => 二级证书 => 服务器证书

cat second-cert.pem >> server.crt

cat RootCA-cert.pem>> server.crt

#11.将服务器证书转换为电脑能够安装的P12格式 ,密码自定义,此处为666666

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12 - password pass:666666 -passin pass:666666 -passout pass:666666

##最后这两步使用keytool命令,执行前,确认服务器正确安装配置了JDK,建议1.8

#12.生成服务器配置用的 server.jks

keytool -importkeystore -srckeystore server.p12 -destkeystore server.jks -srcstoretype pkcs12 -deststoretype jks -srcstorepass 666666 -deststorepass 666666 -storepass 666666 -destalias server -srcalias 1

#13.根证书导入信任正式库,生成 servertrust.jks 服务器配置用

keytool -import -alias root -trustcacerts -file RootCA-cert.pem -keystore servertrust.jks -keypass 666666 -storepass 666666 -noprompt

原文发布于微信公众号 - GetKnowledge+(GetKnowledgePlus)

原文发表时间:2018-07-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券