使用keytool 生成数字keystore
生成本地证书
在密钥库
中生成本地数字证书
:需要提供身份、加密算法、有效期等信息;
keytool指令如下,产生的本地证书后缀名为:*.keystore
keytool -genkeypair -keyalg RSA -keysize 1024 -sigalg SHA256withRSA -validity 365 -alias hillstone -storepass hillstone -keystore /tmp/hillstone.keystore
参数说明:
-
-genkeypair
: 产生密钥对; -
-keyalg
: 加密算法,这里的RSA为非对称加密算法; -
-keysize
: 密钥大小; -
-sigalg
: 签名算法(私钥加密摘要),如:SHA256withRSA 、MD5withRSA等; -
-validity
: 证书有效期,这里指定365天; -
-alias
:别名 -
keystore
: 指定密钥库的位置; -
-storepass
: 密码,如果设置了该参数,需要在tomcat的setting设置相应的密码;
证书导出
导出的证书后缀为:*.cer
keytool -exportcert -alias hillstone -keystore /tmp/hillstone.keystore -file /tmp/hillstone.keystore -rfc
参数说明:
-
-exportcert
: 表示执行的是证书导出操作; -
-file
:指定证书生成的路径;. -
-keystore
: 指定密钥库文件,此处为上一条命令所生成的密钥库: /tmp/hillstone.keystore -
-rfc
: 表示采用可打印Base64格式输出
查看证书内容
keytool -printcert -file /tmp/hillstone.keystore
参数说明:
-
-printcert
: 表示打印证书操作; -
-file
:指定证书文件路径
导出CSR
如果想得到证书认证机构的认证,需要导出数字证书并签发申请(CSR),经认证机构认证并颁发后,再将认证后的证书导入本地密钥库和信任库;
keytool -certreq -alias hillstone -keystore /tmp/hillstone.keystore -file /tmp/hillstone.csr -v
参数说明:
-
-certreq
:表示执行证书签发申请导出操作; -
-keystore
: 指定需要导出的密钥库文件; -
-file
:指定导出CSR的文件路径;. -
-v
:显示操作的详细情况;
导出CSR
后,就可以到VeriSign、GeoTrust、Cacert(免费)等权威机构进行证书认证;
导入数字证书
获得认证机构颁发的数字证书后,需要将其导入信任库;
keytool -importcert -trustcacerts -alias hillstone -file /tmp/hillstone.cer -keystore /tmp/hillstone.keystore
参数说明:
-
-importcert
: 执行证书导入操作; -
-trustcacerts
: 将证书导入信任库 -
-file
:指定导入证书的文件路径;. -
-keystore
: 指定证书的密钥库文件;
导入证书后,列出keystore中的证书
keytool -list -alias hillstone -keystore /tmp/hillstone.keystore