本文将详细介绍如何在Windows环境下使用keytool工具生成JKS文件,并成功导入所需的证书。keytool是Java开发工具包(JDK)中的一部分,它用于创建和管理密钥库(keystore),密钥库中包含了用于加密和解密的信息。
1. 准备工作
- 确保你的计算机上已经安装了JDK,并且已经将JDK的bin目录添加到了系统的环境变量PATH中。
- 打开命令提示符窗口(Windows + R -\u003e 输入cmd -\u003e 回车)。
- 确定你的域名以及您想要在证书中使用的信息。
2. 生成密钥库(keystore)
shell
keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore C:\keystore.jks -storepass password -keypass password
- -genkey生成一个新的密钥对。
- -alias server指定密钥库中密钥的别名。
- -keyalg RSA使用RSA算法。
- -keysize 2048指定密钥的长度为2048位。
- -keystore C:\keystore.jks指定生成的密钥库文件路径和名称。
- -storepass password设置密钥库的存储密码。
- -keypass password设置密钥的密码。
3. 生成CSR(Certificate Signing Request)
shell
keytool -certreq -alias server -sigalg SHA1withRSA -file C:\req.csr -keystore C:\keystore.jks -keypass password -storepass password
- -certreq生成证书签名请求(CSR)。
- -alias server指定密钥库中对应的密钥别名。
- -sigalg SHA1withRSA设置签名算法。
- -file C:\req.csr指定生成的CSR文件路径。
- -keystore C:\keystore.jks指定密钥库文件路径。
- -keypass password提供密钥的密码。
- -storepass password提供密钥库的存储密码。
4. 提交CSR文件
将生成的CSR文件提交给证书颁发机构(CA)以获取服务器证书。
5. 导入中级证书
从订单页面下载ca.crt文件,并将其拆分为三个文件(1.crt, 2.crt, 3.crt),每个文件包含一段PEM格式的证书。
shell
keytool -import -alias intermediate1 -keystore C:\keystore.jks -trustcacerts -storepass password -file C:\1.crt
keytool -import -alias intermediate2 -keystore C:\keystore.jks -trustcacerts -storepass password -file C:\2.crt
keytool -import -alias intermediate3 -keystore C:\keystore.jks -trustcacerts -storepass password -file C:\3.crt
- -import将证书导入密钥库。
- -alias intermediate1为导入的证书设置别名。
- -keystore C:\keystore.jks指定密钥库文件路径。
- -trustcacerts将导入的证书作为受信任的证书。
- -storepass password提供密钥库的存储密码。
- -file C:\1.crt指定要导入的证书文件路径。
6. 导入服务器证书
将CA颁发的服务器证书(域名.crt文件)导入密钥库。
shell
keytool -import -alias server -keystore C:\keystore.jks -trustcacerts -storepass password -file C:\4.crt
- -import将证书导入密钥库。
- -alias server为导入的证书设置别名。
- -keystore C:\keystore.jks指定密钥库文件路径。
- -trustcacerts将导入的证书作为受信任的证书。
- -storepass password提供密钥库的存储密码。