keytool 生成 keystore、truststore、证书
打开 cmd 命令行,进入文件夹(如:D:\test_icessl_key)。keytool 会把接下来生成的所有文件都保存到此处。
keystore 以及服务器密钥对儿的生成,输入:
-keystore 后面是要生成的文件的名称 icekeystore.jks
-keypass mypassword 此处”mypassword “为本条目的密码(私钥的密码)。最好与 storepass 一致。
-storepass mypassword 此处”mypassword “为证书库密码(私钥的密码)。最好与 keypass 一致。
这里是生成 ftp 服务器所需要的 keystore 文件的命令
这条命令会在生成 keystore 后接着生成一个密钥对儿。RSA 是非对称密钥算法,也可以改为 keytool 支持的其他密钥算法,365 代表的是证书的有效期,可以自己指定,icekeystore.jks 是 keystroe 的名称,也可以自己指定。
补充:输入<icesslkey>的主密码,是指生成服务端证书的私钥。服务端私钥如果和 keystore 的相同的话,直接按回车。建议直接按回车,即服务端私钥和 keystore 的密码相同。
3.导出公钥证书
下面的命令可以导出自签公钥证书:
其中 icecert.cer 是导出证书的名称,可以随便起个名字,icekeystore.jks 是 2 中生成的 keystore 文件。
执行上面的命令会要求输入 icekeystore 的密码,会显示以下信息,如下图。
truststore 的生成以及公钥证书的导入
把 4 生成的公钥证书 icecert.cer 导入到 truststore 中
icecert.cer 是 4 导出的公钥证书,icetruststore.jks 可以随便起,是生成的 truststore 的文件名。这条命令首先会生成一个 truststore,然后导入 4 生成的公钥证书 icecert.cer。
执行 keytool -import -alias icesslkey -file icecert.cer -keystore icetruststore.jks 后,首先会提示输入 truststore 的密码,如下图:
验证 5 生成的 truststore 文件
icetruststore.jks 是 5 生成的 truststore 文件名。
JDK 中 ketyTool 常用命令:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个 mykey 的别名,mykey 中包含用户的公钥、私钥和证书,(默认情况下,keystore 会存在用户系统默认目录,如:win 系统,会生成在 C:\Documents and Settings\用户名\文件名为“.keystore”)
-alias 产生别名(default:mykey,每个 keystore 都关联这一个独一无二的 alias,不区分大小写)
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore 文件中)
-keyalg 指定密钥的算法 (如 RSA、DSA,default:DSA)
-validity 指定创建的证书有效期多少天(default:90)
-keysize 指定密钥长度(default:1024,范围:512 ~ 1024)
-storepass 指定密钥库的密码(获取 keystore 信息所需的密码)
-keypass 指定别名条目的密码(私钥的密码)
-dname 指定证书拥有者信息
例如: "CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"
-list 显示密钥库中的证书信息
keytool -list -v -keystore 指定 keystore -storepass 密码 -v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件
keytool -export -alias 需要导出的别名 -keystore 指定 keystore -file 指定导出的证书位置及证书名称 -storepass 密码
-delete 删除密钥库中某条目
keytool -delete -alias 指定需删除的 keystore 别名 -keystore 指定 keystore -storepass 密码
-printcert 查看导出的证书信息
keytool -printcert -file yushan.crt
-keypasswd 修改密钥库中指定条目口令
keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new 新密码 -storepass keystore 密码 -keystore sage
-storepasswd 修改 keystore 口令
keytool -storepasswd -keystore e:\yushan.keystore(需修改口令的 keystore) -storepass 123456(原始密码) -new yushan(新密码)
-import 将已签名数字证书导入密钥库
keytool -import -alias 别名 -keystore 指定 keystore -file 需导入的证书
参考博客:
https://blog.csdn.net/luoyongsir/article/details/54929288
https://blog.csdn.net/xiaohai0504/article/details/7598178
评论