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