Java Keytool生成数字证书(*.cer/*.p12)文件

常用的证书管理工具有两个:KeyTool,OpenSSL;记录一下如何使用jdk自带的keytool来创建p12文件

  1. 命令行创建:
## storepass keystore 文件存储密码,不加这个参数会在后面要求你输入密码
## keypass 私钥加解密密码
## alias 实体别名(包括证书私钥)
## dname 证书个人信息
## keyalg 采用公钥算法,默认是DSA,这里采用RSA
## keysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不支持2048长度,此时需指定RSA)
## validity 有效期
## keystore 指定keystore文件储存位置
keytool -genkeypair -alias serverkey -keypass 111111 -storepass 111111 -dname "CN=Xu,OU=S,O=P,L=ShangHai, ST=ShangHai,C=CN" -keyalg RSA -keysize 2048 -validity 3650 -keystore D:\tmp\server.keystore
  1. 查看存储库详情:
keytool -v -list -keystore D:\tmp\server.keystore
  1. 导出本地证书(.cer):
## export 表示证书导出操作
## keystore 指定秘钥库文件
## file 指定导出文件路径
## storepass 输入密码
## rfc 指定以Base64编码格式输出
keytool -exportcert -keystore  p12test.keystore -file p12test.cer -alias serverkey  
  1. 打印数字证书:
Keytool -printcert -file p12test.cer
  1. 将.cer格式的证书转换为p12证书:
## 无密码
keytool -importkeystore -srckeystore p12test.keystore -destkeystore p12test.p12 -srcalias serverkey -destalias serverkey -srcstoretype jks -deststoretype pkcs12 -noprompt

## 有密码
keytool -importkeystore -srckeystore D:\keystore\server.keystore -destkeystore D:\keystore\server.p12 -srcalias serverkey -destalias serverkey -srcstoretype jks -deststoretype pkcs12 -srcstorepass 111111 -deststorepass 111111 -noprompt
  1. P12生成证书:
keytool -genkey -v -alias client -keyalg RSA-storetype PKCS12 -keystore p12test.p12
  1. P12导出证书:
keytool -export -alias client -keystore  D:\tmp\server.p12 -storetype PKCS12 -storepass 111111 -rfc -file D:\tmp\server.cer
posted @ 2022-06-15 19:40  盐有点多  阅读(1398)  评论(0编辑  收藏  举报