OpenSSL制作自签名V3证书

本文以制作指定ip(200.4.170.132)证书为例,其他ip或域名请自行更换。

1、创建根证书私钥

openssl genrsa -out RootCA.key 1024

2、创建根证书请求文件(CSR - Certificate Signing Request )

openssl req -subj "/C=CN/ST=Beijing/L=Beijing/O=lazyOrg/OU=lazyOrg/CN=root/emailAddress=afei@lazy.com"  -new -out RootCA.csr -key RootCA.key -keyform PEM

CN:姓名;
OU:组织单位名称;
O:组织名称;
L:市/自治区名称;
ST: 省份
C:国家/地区代码


一定要注意
1、根证书的CN字段和客户端证书、服务器端证书不能一样。
2、其他所有字段的填写,根证书、服务器端证书、客户端证书需保持一致。
3、根证书的Common Name填写root就可以,所有客户端和服务器端的证书这个字段需要填写域名。

3、自签根证书(可以是 pem、cer)

#CER
openssl x509 -req   -extfile /etc/pki/tls/openssl.cnf -extensions v3_req  -in RootCA.csr -out RootCA.cer -signkey RootCA.key -CAcreateserial -days 3650

#PEM  
openssl x509 -req   -extfile /etc/pki/tls/openssl.cnf -extensions v3_req  -in RootCA.csr -out RootCA.pem -signkey RootCA.key -CAcreateserial -days 3650 

4、创建v3.ext、server.csr.cfg文件

v3.ext 

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = 200.4.170.132

server.csr.cfg 

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn

[dn]
C=CN
ST=Beijing
L=Beijing
O=lazyOrg
OU=lazyOrg
emailAddress=afei@lazy.com
CN=200.4.170.132

6、自签名客户端证书

openssl req -new -sha256 -nodes -out client.csr -newkey rsa:2048 -keyout client.key -config <(cat server.csr.cfg)

#pem
openssl x509 -req -in client.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -out client.pem -days 500 -sha256 -extfile v3.ext

#p12
openssl pkcs12 -export -clcerts -in client.pem -inkey client.key -out client.p12

8、自签名服务端证书(创建证书密钥server.key;以存储有 localhost 的配置 server.csr.cnf 进行设置)

openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <(cat server.csr.cfg)

#crt
openssl x509 -req -in server.csr -CA RootCA.cer -CAkey RootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext

#pem
openssl x509 -req -in server.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -out server.pem -days 500 -sha256 -extfile v3.ext

#p12
openssl pkcs12 -export -in server.pem -inkey server.key -out server.p12 -passout pass:123456

9、生成JKS密钥库文件(用于TongWeb、Tomcat等)

keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -destkeystore server.keystore.jks \
	-srcstorepass 123456 -deststorepass 123456


#导入证书 (CA要加到秘钥库中!)
keytool -keystore server.keystore.jks -alias root_pem -import -file RootCA.pem
keytool -keystore server.keystore.jks -alias server_pem -import -file server.pem

总览:

OVER. 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值