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

本文介绍了如何使用Java的Keytool工具创建私钥和证书,查看keystore详细信息,导出.cer证书,打印数字证书,并将.cer转换为p12格式。详细步骤包括设置不同命令行参数,如alias、dname、keyalg等,以及在操作过程中输入的密码和证书信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任何机构或者个人都可以申请数字证书,并使用由CA机构颁发的数字证书为自己的应用保驾护航。常用的两个证书管理工具:KeyTool,OpenSSL—>构建CSR(Certificate Signing Request,数字证书签发申请),交由CA机构签发,形成最终的数字证书。
最近用到p12文件,就记录一下如何使用jdk自带的keytool来创建p12文件

创建私钥和证书

1.打开cmd,切换到jdk的bin目录下

2.输入命令

keytool -genkeypair -alias serverkey -keyalg RSA -keysize 2048 -validity 3650 -keystore C:\Users\i343740\Desktop\p12test.keystore

参数解释:
storepass keystore 文件存储密码,不加这个参数会在后面要求你输入密码
keypass 私钥加解密密码
alias 实体别名(包括证书私钥)
dname 证书个人信息
keyalg 采用公钥算法,默认是DSA,这里采用RSA
keysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不支持2048长度,此时需指定RSA)
validity 有效期
keystore 指定keystore文件储存位置

3.命令行会要求你输入一些信息,这里只是试用,随意输一些就可以了

What is your first and last name?
  [Unknown]:  xu
What is the name of your organizational unit?
  [Unknown]:  SAP
What is the name of your organization?
  [Unknown]:  SAP
What is the name of your City or Locality?
  [Unknown]:  ShangHai
What is the name of
数字证书生成doc命令 1.1生成服务端证书 开始-运行-CMD-在dos窗口执行下执行命令: keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:/self-file/server/tomcat.keystore -dname "CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" -validity 3650 -storepass zljzlj -keypass zljzlj 说明: keytool 是JDK提供的证书生成工具,所有参数的用法参见keytool –help -genkey 创建新证书 -v 详细信息 -alias tomcat 以”tomcat”作为该证书的别名。这里可以根据需要修改 -keyalg RSA 指定算法 -keystore D:/self-file/server/tomcat.keystore 保存路径及文件名 -dname "CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" 证书发行者身份,这里的CN要与发布后的访问域名一致。但由于我们是自己发行的证书,如果在浏览器访问,仍然会有警告提示。 -validity 3650证书有效期,单位为天 -storepass zljzlj 证书的存取密码 -keypass zljzlj 证书的私钥 1.2 生成客户端证书 执行命令: keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore C:/self-file/client/client.p12 -dname "CN=client,OU=zlj,O=zlj,L=bj,ST=bj,C=CN" -validity 3650 -storepass client -keypass client 说明: 参数说明同上。这里的-dname 证书发行者身份可以和前面不同,到目前为止,这2个证书可以没有任何关系。下面要做的工作才是建立2者之间的信任关系。 1.3 导出客户端证书 执行命令: keytool ‐export ‐alias client ‐keystore D:/self-file/client/client.p12 ‐storetype PKCS12 ‐storepass client ‐rfc ‐file D:/self-file/client/client.cer 说明: -export 执行导出 -file 导出文件文件路径 1.4 把客户端证书加入服务端证书信任列表 执行命令: keytool ‐import ‐alias client ‐v ‐file D:/self-file/client/client.cer ‐keystore D:/self-file/server/tomcat.keystore ‐storepass zljzl 说明: 参数说明同前。这里提供的密码是服务端证书的存取密码。 1.5 导出服务端证书 执行命令: keytool -export -alias tomcat -keystore D:/self-file/server/tomcat.keystore -storepass zljzlj -rfc -file D:/self-file/server/tomcat.cer 说明: 把服务端证书导出。这里提供的密码也是服务端证书的密码。 1.6 生成客户端信任列表 执行命令: keytool -import -file D:/self-file/server/tomcat.cer -storepass zljzlj -keystore D:/self-file/client/client.truststore -alias tomcat –noprompt 说明: 让客户端信任服务端证书 2. 配置服务端为只允许HTTPS连接 2.1 配置Tomcat 目录下的/conf/server.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值