DK的bin目录下的keytool生成自签名证书
1. 生成服务端证书
keytool -genkey -alias server -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore [你的目录]/server.keystore -storepass 123456 -ext SAN=dns:localhost,ip:127.0.0.1
-alias(别名)
-keypass(别名密码)
-keyalg(算法)
-keysize(算法长度)
-validity(有效期,天)
-keystore(地址)
-storepass(keystore文件的密码)
SAN:这里填写的是域名
IP:填写是IP
SAN和IP是解决谷歌浏览器证书无效的关键。
例如:
keytool -genkey -alias server -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore https/server.keystore -storepass 123456 -ext SAN=dns:localhost,ip:127.0.0.1
2. 生成客户端证书
keytool -genkey -alias client -keypass 123456 -keyalg RSA -storetype PKCS12 -keypass 123456 -storepass 123456 -keystore https/client.p12
3. 分别导出客户端cer证书和服务端cer证书
客户端cer证书:
keytool -export -alias client -keystore https/client.p12 -storetype PKCS12 -keypass 123456 -file https/client.cer
服务端cer证书:
keytool -keystore https/server.keystore -export -alias server -file https/server.cer
4. 服务端证书导入客户端的公钥让其信任客户端
keytool -import -v -file https/client.cer -keystore https/server.keystore -storepass 123456
查看所有信息
openssl pkcs12 -info -in https/client.p12 -nodes
导出证书
openssl pkcs12 -in https/client.p12 -out https/cert.pem -nokeys
导出秘钥
openssl pkcs12 -in https/client.p12 -out https/cert_key.pem -nodes -nocerts
查看证书序列号
openssl x509 -in cert.pem -noout -serial
|