售前咨询
技术支持
渠道合作

Keystore的介绍

Keytool 是一个有效的安全钥匙和证书的管理工具。

Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库中的。证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。

Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中。 在keystore里,包含两种数据:

1.密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)

2.可信任的证书实体(trusted certificate entries)——只包含公钥

详细分析如下

Keystore的别名:所有的keystore入口(钥匙和信任证书入口)是通过唯一的别名访问,别名是不区分大小写, 如别名Hugo和hugo指向同一个keystore入口 。

可以在加一个入口到keystore的时候使用-genkey参数来产生一个钥匙对(公共钥匙和私有钥匙)时指定别名,也可以用-import参数加一个证书或证书链到信任证书。如:

1.keytool -genkey -alias duke –keypass dukekeypasswd

其中duke为别名,dukekeypasswd为duke别名的密码,这行命令的作用是产生一个新的公共/私有钥匙对。

假如你想修改密码,可以用:

keytool -keypasswd -alias duke -keypass dukekeypasswd -new newpass

将旧密码dukekeypasswd改为newpass

可以用-keystore指定其名时,将产生指定的keystore

2.检查一个keystore:

keytool -list -v -keystore keystore

Enter keystore password:your password(输入密码)

3.输出keystore到一个文件:testkey:

keytool -export -alias duke -keystore keystore -rfc -file testkey

系统输出:

Enter keystore password:your password(输入密码)

Certificate stored in file

例如:keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer

将把证书库 monitor.keystore 中的别名为 monitor 的证书导出到 monitor.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。

4.输入证书到一个新的truststore:

keytool -import -alias dukecert -file testkey -keystore truststore

Enter keystore password:your new password.(输入truststore新密码)

将keystore导入证书中这里向Java默认的证书 cacerts导入Rapa.cert

keytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts

5.证书条目的删除

keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias RapaServer -keystore d2aApplet.keystore ,这条命令将 d2aApplet.keystore 中的 RapaServer 这一条证书删除了。

6.将证书导出到证书文件

keytool -export -alias myCA -file myCA.cer -keystore myCALib -storepass 123456 -rfc

使用该命令从名为myCALib的keystore中,把别名为myCA的证书导出到证书文件myCA.cer中。(其中-storepass指定keystore的密码,-rfc指定以可查看编码的方式输出,可省略)。

7.通过证书文件查看证书信息

keytool -printcert -file myCA.cer

8.密钥库中证书条目口令的修改

Keytool -keypasswd -alias myCA -keypass 654321 -new newpass -storepass 123456 -keystore myCALib

9.删除密钥库中的证书条目

keytool -delete -alias myCA -keystore myCALib

10.把一个证书文件导入到指定的密钥库

keytool -import -alias myCA -file myCA.cer -keystore truststore

(如果没有名为truststore的keystore,将自动创建,将会提示输入keystore的密码)

11.更改密钥库的密码

keytool -storepasswd -new 123456  -storepass 789012 -keystore truststore

其中-storepass指定原密码,-new指定新密码

上一篇:

下一篇:

相关文章