数字证书KeyTool使用(第二篇)
2015-07-03 16:14
483 查看
http://my.oschina.net/frankies/blog/344914
J2SDK提供了keytool命令行工具,可以根据指定的参数来创建数字证书。生成的证书或证书库默认保存在命令行当前目录下。
1. 创建数字证书
?
注:-genkey可以写成-genkeypair
dname的值详解:
CN(Common Name名字与姓氏)
OU(Organization Unit组织单位名称)
O(Organization组织名称)
L(Locality城市或区域名称)
ST(State州或省份名称)
C(Country国家名称)
2. 查看证书库中的所有数字证书
?
注:如果证书库是非默认storetype,需要明确指定。(JKS--默认,JCEKS, PKCS12 and PKCS11)
JDK 已有的加密算法
JDK中不同的Keystore类型
3. 查看证书详细
?
注:如果证书是非默认storetype,需要明确指定。
4. 导入证书
?
注:
-import可以写成-importcert
-trustcacerts和-v 可以不写,效果一样
5. 导出证书
?
注:-export可以写成-exportcert
6. 删除证书
?
注:如果证书是非默认storetype,需要明确指定。
7. 生成证书签名申请
?
注:将生成的scent.scr文件发给CA机构来申请签名。
8. 显示证书
?
9. 更改证书别名
?
10. 导入证书库
?
注:如果不提供-srcalias, -destalias,则会将源库的所有证书导入到目标库中。
11. 修改证书密码
?
注:如果不提供-keypass,系统会提示你输入新密码。
12. 修改证书库密码
?
参数详解:
-dname "CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx" dn名为"CN=..."
-alias scent 别名为scent的一个证书
-keyalg
DSA RSA DSA或RSA算法(当使用-genkeypair参数)
DES DESede AES DES或DESede或AES算法(当使用-genseckey参数)
-keysize
512 ~ 1024 密钥的长度为512至1024之间(64的倍数)(当使用-genkeypair和-keyalg DSA参数)
> 512 密钥的长度大于512 (当使用-genkeypair和-keyalg RSA参数)
56 密钥的长度为56 (当使用-genseckey和-keyalg DES 参数)
112 168 密钥长度为112或168(当使用-genseckey和-keyalg DESede 参数)
128 192 256 密钥长度为128或192或256 (当使用-genseckey和-keyalg AES 参数)
-keypass 123456 这个证书的私钥密码为123456
-keystore prospectlib 证书库的名称为prospectlib
-storepass 123456 证书库的访问密码为123456
-validity 900 证书有效期为900天
-file scent.cer 从scent.cer文件导入证书,或者导出证书到scent.cer文件
-v 显示详细信息
-rfc 以Base64的编码格式打印证书
-storetype JCEKS 密钥库的类型为JCEKS。常用的有JKS(默认),JCEKS(推荐),PKCS12,BKS,UBER。每个密钥库只可以是其中一种类型。
13、导出私钥的方法(通过Java实现)
?
说明:
(1) 命令运行:
?
(2) 参数说明:
第一个参数:Key store 文件的存放目录
第二个参数:Key store 的访问密码
第三个参数: 导出的私钥别名。
第四个参数(可选): 导出的私钥别名。
J2SDK提供了keytool命令行工具,可以根据指定的参数来创建数字证书。生成的证书或证书库默认保存在命令行当前目录下。
1. 创建数字证书
?
dname的值详解:
CN(Common Name名字与姓氏)
OU(Organization Unit组织单位名称)
O(Organization组织名称)
L(Locality城市或区域名称)
ST(State州或省份名称)
C(Country国家名称)
2. 查看证书库中的所有数字证书
?
JDK 已有的加密算法
JDK中不同的Keystore类型
3. 查看证书详细
?
4. 导入证书
?
-import可以写成-importcert
-trustcacerts和-v 可以不写,效果一样
5. 导出证书
?
6. 删除证书
?
7. 生成证书签名申请
?
8. 显示证书
?
?
?
11. 修改证书密码
?
12. 修改证书库密码
?
-dname "CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx" dn名为"CN=..."
-alias scent 别名为scent的一个证书
-keyalg
DSA RSA DSA或RSA算法(当使用-genkeypair参数)
DES DESede AES DES或DESede或AES算法(当使用-genseckey参数)
-keysize
512 ~ 1024 密钥的长度为512至1024之间(64的倍数)(当使用-genkeypair和-keyalg DSA参数)
> 512 密钥的长度大于512 (当使用-genkeypair和-keyalg RSA参数)
56 密钥的长度为56 (当使用-genseckey和-keyalg DES 参数)
112 168 密钥长度为112或168(当使用-genseckey和-keyalg DESede 参数)
128 192 256 密钥长度为128或192或256 (当使用-genseckey和-keyalg AES 参数)
-keypass 123456 这个证书的私钥密码为123456
-keystore prospectlib 证书库的名称为prospectlib
-storepass 123456 证书库的访问密码为123456
-validity 900 证书有效期为900天
-file scent.cer 从scent.cer文件导入证书,或者导出证书到scent.cer文件
-v 显示详细信息
-rfc 以Base64的编码格式打印证书
-storetype JCEKS 密钥库的类型为JCEKS。常用的有JKS(默认),JCEKS(推荐),PKCS12,BKS,UBER。每个密钥库只可以是其中一种类型。
13、导出私钥的方法(通过Java实现)
?
(1) 命令运行:
?
第一个参数:Key store 文件的存放目录
第二个参数:Key store 的访问密码
第三个参数: 导出的私钥别名。
第四个参数(可选): 导出的私钥别名。
相关文章推荐
- Android 开发之webview页面返回到最顶关闭
- JS 前端框架8 require.js使用
- 一步一步教你做ios推送
- 基于processing的播放MP3
- JS 选项卡效果案例
- eclipse下的jsp:The user operation is waiting for "Building workspace" to complete
- Android5.0L下因sensorservice crash导致systemserver重启的另外一种场景分析
- debug.keystore文件不存在解决办法
- Android 抓包使用
- 时滞微分方程的Matlab解法之一dde23
- linux命令详解之find
- iOS开发属性与成员变量的区别
- Consuming JSON Strings in SQL Server
- Velocity魔法堂系列一:入门示例(转)
- Matlab如何读入指定文件夹里的所有图片
- IOS 序列化与反序列化
- PHP函数补完:session_id()
- 《OCA认证考试指南(1Z0-061):Oracle Database 12c SQL基础》
- 循环队列-顺序存储-c语言实现
- List集合类案例