keytool生成公钥、私钥

  • Post author:
  • Post category:其他


在命令行中输入“keytool   –genkey”将自动使用默认的算法生成公钥和私钥,并以交互方式获得公钥持有者的信息。其交互过程如下,其中带下划线的字符为用户键盘输入的内容,其他为系统提示的内容

C:/>keytool -genkey

输入keystore密码:  123456

您的名字与姓氏是什么?

[Unknown]: Liao Weimin1

您的组织单位名称是什么?

[Unknown]: Network Center

您的组织名称是什么?

[Unknown]:   Guangzhou University

您所在的城市或区域名称是什么?

[Unknown]:   ZB

您所在的州或省份名称是什么?

[Unknown]: Guangzhou

该单位的两字母国家代码是什么

[Unknown]:   CN

CN=Liao Weimin1, OU=Network Center, O=Guangzhou University, L=ZB, ST=Guangzhou, C=CN 正确吗?

[否]:   是

输入的主密码

(如果和 keystore 密码相同,按回车):   abcdefg

C:/>

以上操作将生成一个公钥和一个私钥,这里并未指定使用何算法,将使用默认的DSA算法。

同时上述操作将创建一个数字证书,证书中包含了新生成的公钥和一个名字为“CN=Liao Weimin1, OU=Network Center, O=Guangzhou University, L=ZB, ST=Guangzhou, C=CN”的主体(人或机构)的对应关系。其中“CN=Liao Weimin1, OU=Network Center, O=Guangzhou University, L=ZB, ST=Guangzhou, C=CN”是X.500格式的全名,包含了主体的国家、州、城市、机构、单位和名字。这样,这个证书将证明相应的公钥是这个人或机构所拥有的。

以上生成的公钥、私钥和证书都保存在用户的主目录中创建一个默认的文件“.keystore”中。如果是Windows 2000系统,用户主目录是c:/ Documents and Setting/用户名。

由于“.keystore”中包含了私钥,所以是一个需要保密的文件,因此上述操作提示为该文件设置一个密码:“输入keystore密码”,这里因为是第一次使用该密钥库,因此输入的密码“123456”将成为该默认的密钥库的密码(实际使用时应该设置复杂的口令)。以后再使用这个密钥库时必须提供这个口令才可以使用

使用Keytool将数字证书导出到文件


★ 实例说明


本实例使用J2SDK提供的keytool工具将指定的证书从密钥库导出为编码过和没编码过两种格式的文件。


★运行程序


使用keytool的export参数可以将别名指定的证书导出到文件,文件名通过file参数指定。如输入如下命令:

C:/java/ch5>keytool export alias liaoweimin2 -file liaoweimin2.cer

输入keystore密码:  123456

保存在文件中的认证

则将默认密钥库中的liaoweimin2条目对应的证书导出到文件liaoweimin2.cer中。由于命令行中没有用storepass给出密码,因此屏幕提示输入keystore密码。由于证书中不包含私钥,因此不需要条目的主密码



版权声明:本文为a1510841693原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。