keytool的使用
1. 创建数字证书
keytool -genkey -v -alias scent -dname "CN=John,OU=MNG,O=Corp,L=Hangzhou,ST=Zhejiang,C=CN" -keyalg RSA -keysize 2048 -keypass 123456 -keystore prospectlib -storepass 123456 -storetype JCEKS -validity 900
注:-genkey可以写成-genkeypair
dname的值详解:
CN(Common Name名字与姓氏)
OU(Organization Unit组织单位名称)
O(Organization组织名称)
L(Locality城市或区域名称)
ST(State州或省份名称)
C(Country国家名称)
2. 查看证书库中的所有数字证书
keytool -list -rfc -keystore prospectlib -storepass 123456 -storetype JCEKS
注:如果证书库是非默认storetype,需要明确指定。
3. 查看证书详细
keytool -list -v -alias scent -keystore prospectlib -storepass 123456 -storetype JCEKS
注:如果证书是非默认storetype,需要明确指定。
4. 导入证书
keytool -import -v -trustcacerts -alias scent -file scent.cer -keypass 123456 -keystore prospectlib -storepass 123456
注:
-import可以写成-importcert
-trustcacerts和-v 可以不写,效果一样
5. 导出证书
keytool -export -alias scent -file scent.cer -keystore prospectlib -storepass 123456
注:-export可以写成-exportcert
6. 删除证书
keytool -delete -alias scent -keystore prospectlib -storepass 123456 -storetype JCEKS
注:如果证书是非默认storetype,需要明确指定。
7. 生成证书签名申请
keytool -certreq -alias scent -sigalg "MD5withRSA" -file scent.csr -keypass 123456 -keystore cacerts.jks -storepass 123456
注:将生成的scent.scr文件发给CA机构来申请签名。
8. 显示证书
keytool -printcert -v -file scent.cer
9. 更改证书别名
keytool -changealias -v -alias scent -destalias perfume -keystore prospectlib -storepass 123456
10. 导入证书库
keytool -importkeystore -v -srckeystore prospectlib -srcstoretype JKS -srcstorepass 123456 -destkeystore intrinsic -deststoretype JKS -deststorepass 123456 -srcalias terrific prospect -destalias terrific prospect
注:如果不提供-srcalias, -destalias,则会将源库的所有证书导入到目标库中。
11. 修改证书密码
keytool -keypasswd -alias brilliant -keystore range -storepass 123456 -keypass 123456 -new 654321
注:如果不提供-keypass,系统会提示你输入新密码。
12. 修改证书库密码
keytool -storepasswd -v -new 654321 -keystore range -storepass 123456 -storetype JKS
参数详解:
-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。每个密钥库只可以是其中一种类型。
keytool的使用的更多相关文章
- JDK 中的证书生成和管理工具 keytool
参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找 ...
- JAVA keytool 使用详解
Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据: 密钥实体 ...
- JAVA调用 keytool 生成keystore 和 cer 证书
keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据: 密钥实体( ...
- 用keytool工具生成签名文件与获取摘要信息
在Command命命令行模式下: 转到工作目录 执行下面命令: keytool -genkey -v -keystore debug.keystore 最后是生成的文件名,执行该命令后有很多内容要填写 ...
- 使用keytool生产jks证书
使用JDK中的keytool生成服务器证书 1.创建服务器KeyStorekeytool -genkey -alias server_jks_cennavi -keyalg RSA -keystor ...
- 使用keytool 生成证书
keytool 工具介绍 keytool 是java 用于管理密钥和证书的工具,其功能包括: 1 创建并管理密钥 2 创建并管理证书 3 作为CA 为证书授权 4 导入导出证书 keytool 采用k ...
- openssl和Java的keytool证书相关的命令总结
Java的keytool keytool -genkey -alias myserver -keyalg RSA -keysize -keystore oauth-server.keystore -v ...
- java keytool证书工具使用小结
java keytool证书工具使用小结 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt PEM-encod ...
- Java Security:keytool工具使用说明
Keytool用法说明 Keytool是一个key与cert的管理工具.使用keytool可以管理public key.private key,以及与key之相关的certificate. 1.com ...
- keytool命令记录
1.生成服务器端私钥kserver.keystore文件 2.根据私钥,导出服务器端安全证书 3.将服务器端证书,导入到客户端的Trust KeyStore中 4.生成客户端私钥kclient.key ...
随机推荐
- asp.net自定义404页面
网上有很多方法,不过大体相同,这只是其中一个方法,亲测有效,记录后面可能会有用 1. 先写好一个404页面 404.aspx在项目根目录下 然后在配置文件中添加 <!-- 注意这个模式,redi ...
- 使用JSch实现SFTP文件传输
1.JSch开发包下载 http://www.jcraft.com/jsch/ 目前最新版本为: jsch - 0.1.51 2.简单例子,列出指定目录下的文件列表 import java.util ...
- VC++6.0编译器标记的那些内存值
栈内存初始值 0xcccccccc 和-858993460. 二者是一样的, 一个是16进制, 另一个是10进制
- 使用 JavaScript 实现链表
代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 程序中的@Override是什么意思
@Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记 @Override是伪代码,表示重写( ...
- Day3~Day7(2016/1/23~2016/1/27)
活动的生命周期:onCreate();onStart();onResume();onPause();onStop();onDestroy();onRestart(); 活动的启动模式:standard ...
- linux下C++ 插件(plugin)实现技术
应用程序中使用插件技术,有利于日后的版本更新.维护(比如打补丁)和功能扩展,是一种很实用的技术.其最大的特点是更新插件时无需重新编译主程序,对于一个设计良好的应用系统而言,甚至可以做到业务功能的在线升 ...
- IEnumerable、GetEnumerator、IEnumerator的理解
概念文字性的东西,我们就不说了,这里我们来点具体的实例第呀: 实例一: using System; using System.Collections; using System.Collections ...
- Unit06 - 抽象类、接口和内部类(下) 、 面向对象汇总
Unit06 - 抽象类.接口和内部类(下) . 面向对象汇总 1.多态: 1)意义: 1.1)同一类型的引用指向不同的对象时,有不同的实现 行为的多态:cut().run(). ...
- Windows Server 2008 R2 辅域控制器如何升级成主域控制器
一.实验模拟故障问题: zhuyu公司架设了一台主域控制器和一台辅域控制器,某一天,zhuyu公司的主域控制器系统崩溃,主域控制器系统也进不去. 虽然辅域控制器可以暂时代替主域控制器的普通工作,但是特 ...