【keytool】用keytool创建keystore和trustsotre文件

前言

JSSE使用truststore和keystore文件来提供客户端和服务器之间的安全数据传输。

keytool是一个工具可以用来创建包含公钥和密钥的的keystore文件,并且利用keystore文件来创建只包含公钥的truststore文件。


【keytool】用keytool创建keystore和trustsotre文件_第1张图片

在本文中,我们学习如何通过下面的5步简单的创建truststore和keystore文件。

1.生成一个含有一个私钥的keystore文件 

2. 验证新生成的keystor而文件 

3. 导出凭证文件 

4.将凭证件导入到truststore文件

5. 验证新创建的truststore文件 

第一步  生成一个含有一个私钥的keystore文件 

Java的keytool工具可以把密钥和认证保存到keystore文件。 

如果在windows上,keytool命令被放到Java的bin目录下(例如C:\Program Files\Java\jdk1.6.0_12)。

如果是mac上是放在/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands目录下。

生成keystore文件

#  keytool -genkeypair  -alias certificatekey  -keyalg RSA  -validity 365  -keystore keystore.jks 

一旦执行了命令,你会被要求输入密码,这里我们输入“123456”。

输入密码以后,需要输入一些key的详细信息,如下图:

【keytool】用keytool创建keystore和trustsotre文件_第2张图片

用非交互的方式生成:

# keytool \

-genkeypair \

-keystore keystore.jks \

-alias certificatekey \

-keypass 123456 \

-storepass 123456 \

-keyalg RSA \

-keysize 2048 \

-validity 3650 \

-dname "CN=*.example.com,OU=Test,O=Test,L=ShenZhen,ST=GuangDong,C=CN"

第二步  验证新生成的keystor而文件

# keytool -list  -v  -keystore keystore.jks 

非交互的验证方式

# keytool -list  -v   -storepass "123456"  -keystore keystore.jks 

执行上面的命令后,你会看到key的详细信息:

【keytool】用keytool创建keystore和trustsotre文件_第3张图片

第三步  导出凭证文件

你可以导出自我签署凭证或是Verisign或其他的认证机构的商业凭证的。

这里只说导出自我签署的凭证,

通过执行下面的命令把自我签署的凭证保存到 “selfsignedcert.cer”文件 。

# keytool -export -alias certificatekey -keystore keystore.jks  -rfc -file selfsignedcert.cer

# keytool -export -alias certificatekey -keystore keystore.jks -rfc  >  selfsignedcert.cer 

执行上面的命令,会要求你输入密码,就是上面生成keystore的输入的密码“123456”

非交互的生成方式

# keytool -export -alias certificatekey -keystore keystore.jks   -storepass "123456" -rfc -file selfsignedcert.cer

【keytool】用keytool创建keystore和trustsotre文件_第4张图片

查看生成的cer文件内容

# cat  selfsignedcert.cer

【keytool】用keytool创建keystore和trustsotre文件_第5张图片

第四步 将凭证件导入到truststore文件 

# keytool -import  -alias certificatekey  -file selfsignedcert.cer   -keystore truststore.jks  

执行命令后,会要求输入密码,同样是keystore的密码“123456”

非交互的导入方式

【keytool】用keytool创建keystore和trustsotre文件_第6张图片

# keytool -import  -alias certificatekey  -file selfsignedcert.cer   -storepass "123456"  -noprompt -keystore truststore.jks

第五步  验证新创建的truststore文件

# keytool -list -v -keystore truststore.jks  

非交互的验证方式

# keytool -list -v     -storepass "123456"   -keystore truststore.jks  

执行上面的命令会看到如下的内容 

【keytool】用keytool创建keystore和trustsotre文件_第7张图片

你可能感兴趣的:(【keytool】用keytool创建keystore和trustsotre文件)