您的位置:首页 > 编程语言 > Java开发

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

2017-11-03 10:32 573 查看
最近项目中用到了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 36500
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]:  zaimeibian
What is the name of your organizational unit?
[Unknown]:  zaimeibian
What is the name of your organization?
[Unknown]:  zaimeibian
What is the name of your City or Locality?
[Unknown]:  beijing
What is the name of your State or Province?
[Unknown]:  beijing
What is the two-letter country code for this unit?
[Unknown]:  cn
Is CN=zaimeibian, OU=zaimeibian, O=zaimeibian, L=beijing, ST=beijing, C=cn correct?
[no]:  y

Enter key password for <myKey>
(RETURN if same as keystore password):
Re-enter new password:
[root@admin home]#


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

[root@admin mykey]# ll
total 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.cer
Enter keystore password:
Certificate stored in file <mypublickey.cer>
文件如下:

[root@admin mykey]# ll
total 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代码导出的详细例子见本文首页的博文链接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: