读书人

keytool 加密证件制作

发布时间: 2013-01-28 11:49:56 作者: rapoo

keytool 加密证书制作

keytool的简介 http://baike.baidu.com/view/1855087.htm

SUN公司提供了制作证书的工具keytool。

在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe。

?

?

keytool的几个常用的命令。

1.创建证书

2.查看证书库

3.导出证书文件

4.导入证书的信息

5.查看证书信息

6.删除密钥库中的条目

7.修改证书条目的口令

?

1 创建证书

keytool -genkey -v -alias server -keyalg RSA -keystore %CER_ROOT_PATH%/server.keystore -dname %SERVER_DN% -validity 3650 -storepass %PASS_SET% -keypass %PASS_SET%

-v ?显示密钥库中的证书信息

-alias ?产生别名

-keyalg 指定密钥的算法

-keystore 指定证书的名称及路径

-validity 证书的有效时间

-storepass 存储库的密码?

-keypass ? ?指定别名条目的密码(这里是server的密码)

-dname ? ? ?指定证书拥有者信息 如"CN=firstName,OU=org组织单位名称,O=bj组织名称,L=bj城市,ST=gd省份,C=cn"?

? ?如果 根据提示输入这项最后会设置keypass?

?

2 导出证书创建cer文件?

keytool -export -alias server -keystore %CER_ROOT_PATH%/server.keystore -storepass %PASS_SET% -rfc -file %CER_ROOT_PATH%/server.cer

将server.keystore 中别名为 server的证书导出到server.cer中

?

3 导入证书

keytool -import -file %CER_ROOT_PATH%/server.cer -storepass %PASS_SET% -keystore %CER_ROOT_PATH%/server.keystore -alias server_replay -noprompt

? ? ? ? 命令来将证书或证书链加到可信任证书的清单中,以增加一个实体到密钥仓库中,必须指定了一个别名。后续 keytool 命令必须使用这一相同的别名来引用该实体。

?

别名以及密码的理解

对所有的密钥仓库项(密钥项和可信任的证书项)的访问都要通过唯一的别名来进行。别名不区分大小写,即别名 Hugo 和 hugo 指的是同一密钥仓库项。

当用 -genkey 命令来生成密钥对(公钥和私钥)或用 -import 命令来将证书或证书链加到可信任证书的清单中,以增加一个实体到密钥仓库中,必须指定了一个别名。后续 keytool 命令必须使用这一相同的别名来引用该实体。

例如,假设您用别名 duke 生成了新的公钥/私钥密钥对并将公钥用以下命令打包到自签名证书中(参见证书链):

keytool -genkey -alias duke -keypass dukekeypasswd

这指定了一个初始口令“dukekeypasswd”,接下来的命令都要使用该口令才能访问与别名 duke 相关联的私钥。以后如果您想更改 duke 的 私钥口令,可用类似下述的命令:

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

这将把口令从“dukekeypasswd”改为“newpass”。

请注意:实际上,除非是作为测试目的或是在安全的系统上,否则不应在命令行或脚本中指定口令。如果没有在命令行上指定所要求的口令选项,您将会得到要求输入口令的提示。当在口令提示符下键入口令时,口令将被即时显示出来(键入什么就显示什么),因此,要小心,不要当着任何人的面键入口令。

?

?

4 查看名为server.keystore的证书库中的证书条目

?

5 查看 证书 keytool -printcert -file "server.cer"?

?

6 删除server.keystore 中别名为server_replay的条目

?

7 更改密钥库某一条目的密码

? keytool -keypasswd -alias server -keystore server.keystore ?

? 之后根据提示输入新密码:123456

??

? keytool -keypasswd -alias server -keypass hpadmin -new 123 -storepass hpadmin -keystore server.keystore ?

?

读书人网 >编程

热点推荐