Java使用keytool工具导出RSA密钥证书及导出公钥文件

来源:互联网 发布:淘宝发货是谁发货 编辑:程序博客网 时间:2024/05/29 10:54

最近项目中用到了RSA加密,需要自己生成证书,下面把生成证书的整个过程,以及从证书导出公钥,从证书库导出私钥的过程记录下来。

Java代码导出公钥、私钥的代码见另一篇博文:http://blog.csdn.net/yx0628/article/details/78433499

1.生成keystore文件

keytool -genkey -alias 证书别名 -keyalg 密钥算法 -keystore 证书库的位置和名称 -keysize 密钥长度 -validity 证书有效期(天数)
 -alias 的别名每个证书都要起自己独有的名字
-keyalg 如果是RSA算法,那么就是RSA

-keystore 填写完整的keystore文件保存路径已经文件名

-keysize 密钥长度,一般1024

-validity 有效天数

之后会让输入 证书库  的密码,连续输入两遍,这里自行设置即可,然后会要求填写一些项目,姓名,组织机构,城市等等,最后会要求输入 证书 的密码,也是连续输入两遍,与证书库密码一样的话可以直接回车确定:

[root@admin home]# keytool -genkey -alias myKey -keyalg RSA -keystore /home/mykey/mykeystore.keystore -keysize 1024 -validity 36500Enter keystore password:  Re-enter new password: What is your first and last name?  [Unknown]:  zaimeibianWhat is the name of your organizational unit?  [Unknown]:  zaimeibianWhat is the name of your organization?  [Unknown]:  zaimeibianWhat is the name of your City or Locality?  [Unknown]:  beijingWhat is the name of your State or Province?  [Unknown]:  beijingWhat is the two-letter country code for this unit?  [Unknown]:  cnIs CN=zaimeibian, OU=zaimeibian, O=zaimeibian, L=beijing, ST=beijing, C=cn correct?  [no]:  yEnter key password for <myKey>(RETURN if same as keystore password):  Re-enter new password: [root@admin home]# 

在对应路径下我们可以看到生成的keystore文件:

[root@admin mykey]# lltotal 4-rw-r--r-- 1 root root 1410 Nov  3 10:09 mykeystore.keystore

2.从keystore文件中导出公钥文件.cer

keytool -export -alias mykey -keystore /home/mykey/mykeystore.keystore -file publickey.cer
这里和生成证书库文件的指令类似,在最后定义导出的 cer 文件的名称即可,过程中同样也要输入证书库的密码来验证。
[root@admin mykey]# keytool -export -alias mykey -keystore /home/mykey/mykeystore.keystore -file mypublickey.cerEnter keystore password:  Certificate stored in file <mypublickey.cer>
文件如下:

[root@admin mykey]# lltotal 8-rw-r--r-- 1 root root 1410 Nov  3 10:09 mykeystore.keystore-rw-r--r-- 1 root root  640 Nov  3 10:20 mypublickey.cer

可以看到公钥文件也生成出来了。


这里注意私钥是不能通过文件导出的

私钥文件只能通过代码来导出,公钥和私钥的Java代码导出的详细例子见本文首页的博文链接。


3.直接查看公钥文件
将公钥文件在windows电脑上直接双击即可打开,信息如下,大家可以自行查看:



4. 私钥是不能通过文件导出的

私钥文件只能通过代码来导出,公钥和私钥的Java代码导出的详细例子见本文首页的博文链接。

原创粉丝点击