1. 生成
前提: JDK环境
使用 JDK 生成 HTTPS 证书涉及生成一个新的密钥对(包括公钥和私钥),然后使用这些密钥生成一个自签名证书或者提交证书请求给证书颁发机构(CA)。以下是生成和配置 HTTPS 证书的步骤:
1.1 生成密钥对和证书
进入JDK的bin文件夹中,进入cmd命令输入
#生成密钥对和自签名证书
keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 365
- -alias:密钥对的别名。
- -keyalg:密钥算法,通常使用 RSA。
- -keysize:密钥大小,2048 位是常见的选择。
- -storetype:指定 keystore 类型为 PKCS12。
- -keystore:指定 keystore 文件名。
- -validity:证书的有效期(天数)。
执行此命令后,系统会要求你输入密钥库的密码和其他证书信息(如:组织名称、国家、城市等),按照提示输入即可。
然后在bin中会生成一个keystore.p12文件(这个文件将包含生成的密钥对以及相关的证书信息)
1.2 查看证书信息
可以使用以下命令并输入密钥库的密码查看证书的详细信息:
keytool -list -v -keystore keystore.p12 -storetype PKCS12
1.3 常用命令
#修改密钥库的密码:修改PKCS12格式的keystore.p12密钥库的密码
keytool -storepasswd -keystore keystore.p12 -storetype PKCS12
#导入证书:将ca.crt证书文件导入到PKCS12格式的keystore.p12密钥库中,别名为trustedca
keytool -import -alias trustedca -keystore keystore.p12 -file ca.crt -storetype PKCS12
#删除密钥库中的条目:从PKCS12格式的keystore.p12密钥库中删除别名为trustedca的条目,包括密钥对和相关证书等信息
keytool -delete -alias trustedca -keystore keystore.p12 -storetype PKCS12
2. 使用
2.1 配置Tomcat使用新的证书
在Tomcat的配置文件中(server.xml),需要配置Connector以使用新的keystore文件(替换密码)
<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:/Java/Environment/jdk1.8.1/bin/keystore.p12"
keystorePass="your_keystore_password"
keystoreType="PKCS12" />
当以上配置加上后,启动Tomcat后https:端口为8081
访问:https://ip:8081即可
2.2 安卓客户端使用
将证书导出提供给安卓端
#导出证书:从PKCS12格式的keystore.p12密钥库中,将别名为myalias的证书导出为myalias.crt文件。这个导出的证书可以用于与其他系统共享,比如将服务器证书提供给客户端
keytool -export -alias myalias -keystore keystore.p12 -file myalias.crt -storetype PKCS12
标签:花钱,keystore,证书,PKCS12,p12,密钥,HTTPS,storetype
From: https://blog.csdn.net/weixin_46951137/article/details/143903842