使用JAVA keytool工具生成服务器配置SSL使用的密钥存储文件-csr文件

使用JAVA keytool工具生成服务器配置SSL使用的密钥存储文件-csr文件

1. 生成密钥存储文件和密钥对

密钥存储文件: keystore文件是密钥存储文件,即后缀为jks的文件,密钥存储文件是存储密钥的容器,用于存储密钥,密钥存储文件在产生的时候可以选择是否产生密钥对,并将密钥对存入密钥存储文件中

keytool -genkey -alias server -keyalg RSA -keysize 1024 -keystore keystore.jks

-genkey[产生密钥对]

-alias[密钥对别名]

-keyalg[密钥算法参数]

-keysize[密钥位数]

-keystore[密钥存储文件路径]

2. 通过密钥存储文件(使用密钥对)产生SSL证书请求文件(csr文件)

keytool -certreq -alias server -sigalg MD5withRSA -file server.csr -keypass password -keystore keystore.jks -storepass password

-certreq[产生待签名证书]

-alias[证书别名]

-sigalg[证书算法参数]

-file[产生文件输出路径]

-keypass[密钥保护密码]

-keystore[存储文件路径]

-storepass[存储密码]

3. 将SSL证书请求文件发给CA进行签名,生成服务器证书(cer证书)

CA:证书管理机构,所谓CA(Certificate Authority)认证,是指采用PKI(Public Key Infrastructure)公开密钥基础架构技术,专门提供网络身份认证服务,负责签发和管理数字证书,且具有权威性和公正性的第三方信任机构,它的作用就像我们现实生活中颁发证件的公司,如护照办理机构。目前国内的CA认证中心主要分为区域性CA认证中心和行业性CA认证中心

4. 获取生成服务器证书的CA的根证书并导入密钥存储文件

联系CA,获取CA的根证书,将根证书导入密钥存储文件

keytool –import –v –trustcacerts -storepass password -alias my-ca-root -file intermediate.cer -keystore keystore.jks

-import[导入命令]

-v -trustcacerts[导入信任证书]

-storepass[存储密码]

-alias[证书别名]

-file[证书文件路径]

-keystore[导入文件路径]

5. 将服务器证书导入密钥存储文件

Keytool –import –v –trustcacerts -storepass password -alias server –file server.cer -keystore keystore.jks

6. 将导入了CA根证书和服务器证书的密钥存储文件配置到启用ssl的服务器上

7. 查看密钥存储文件

keytool -list -keystore keystore.jks

推荐阅读