`
mengxianhua
  • 浏览: 31578 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Keytool使用实例

阅读更多

实现内容:

在store目录下的server和client目录下分别保存各自的.keystore和导出证书.cer,并把对放的.cer增加到自己的.truststore中。

在server和client目录下分别包三个文件:
E:.

├─client
│ client.cer
│ client.keystore
│ client.truststore

└─server
server.cer
server.keystore
server.truststore

六个文件需要保存4个密码:

server.keystore、severt.truststore、client.keystore、client.truststore

操作步骤:

1) 生成server.keystore

E:\EBG\store>mkdir server
E:\EBG\store>cd server
//生成server.keystore
E:\EBG\store\server>keytool -genkey -alias server -keystore server.keystore -keyalg RSA
输入keystore密码: <server.keystore密码>
再次输入新密码: <server.keystore密码>
您的名字与姓氏是什么?
[Unknown]: Benben
您的组织单位名称是什么?
[Unknown]: Jandsee
您的组织名称是什么?
[Unknown]: Jandsee
您所在的城市或区域名称是什么?
[Unknown]: Shenzhen
您所在的州或省份名称是什么?
[Unknown]: Guangdong
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Benben, OU=Jandsee, O=Jandsee, L=Shenzhen, ST=Guangdong, C=CN 正确吗?
[否]: Y

输入<server>的主密码
(如果和 keystore 密码相同,按回车):

2) 查看server.keystore

E:\EBG\store>keytool -list -keystore server.keystore
输入keystore密码:
<server.keystore密码>

Keystore 类型: JKS
Keystore 提供者: SUN

您的 keystore 包含 1 输入

server, 2009-10-11, PrivateKeyEntry,
认证指纹 (MD5): 3C:43:97:DE:3C:76:0D:FD:47:06:54:45:3D:A9:CB:F5

3) 导出server端信任证书为 server.cer

E:\EBG\store\server>keytool -export -alias server -file server.cer -keystore server.keystore
输入keystore密码:<server.keystore密码>
保存在文件中的认证 <server.cer>

4) 转到client目录下
E:\EBG\store\server>cd ..

E:\EBG\store>mkdir client

E:\EBG\store>cd client

5) 生成client.keystore

E:\EBG\store\client>keytool -genkey -alias client -keystore client.keystore -keyalg RSA
输入keystore密码: <client.keystore密码>
再次输入新密码: <client.keystore密码>
您的名字与姓氏是什么?
[Unknown]: Niuniu
您的组织单位名称是什么?
[Unknown]: Jandsee
您的组织名称是什么?
[Unknown]: Jandsee
您所在的城市或区域名称是什么?
[Unknown]: Shenzhen
您所在的州或省份名称是什么?
[Unknown]: Guangdong
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Niuniu, OU=Jandsee, O=Jandsee, L=Shenzhen, ST=Guangdong, C=CN 正确吗?
[否]: Y

输入<client>的主密码
(如果和 keystore 密码相同,按回车):

E:\EBG\store\client>keytool -list -keystore client.keystore
输入keystore密码:
<client.keystore密码>

Keystore 类型: JKS
Keystore 提供者: SUN

您的 keystore 包含 1 输入

client, 2009-10-11, PrivateKeyEntry,
认证指纹 (MD5): 4F:BF:76:EE:63:14:C0:27:A4:DB:BB:98:95:05:7A:AF

6) 导出client端信任证书为 client.cer

E:\EBG\store\client>keytool -export -alias client -file client.cer -keystore client.keystore
输入keystore密码:
<client.keystore密码>
保存在文件中的认证 <client.cer>

7) client端导入server端的server.cer到client端truststore文件client.truststore中,并加以别名server

E:\EBG\store\client>keytool -import -file ../server/server.cer -keystore client.truststore -alias server
输入keystore密码: <client.truststore密码>
再次输入新密码: <client.truststore密码>
所有者:CN=Benben, OU=Jandsee, O=Jandsee, L=Shenzhen, ST=Guangdong, C=CN
签发人:CN=Benben, OU=Jandsee, O=Jandsee, L=Shenzhen, ST=Guangdong, C=CN
序列号:4ad158fc
有效期: Sun Oct 11 12:03:08 CST 2009 至Sat Jan 09 12:03:08 CST 2010
证书指纹:
MD5:3C:43:97:DE:3C:76:0D:FD:47:06:54:45:3D:A9:CB:F5
SHA1:46:7F:13:D3:23:07:74:40:54:96:79:E9:19:90:C5:E2:C7:55:14:26
签名算法名称:SHA1withRSA
版本: 3
信任这个认证? [否]: Y
认证已添加至keystore中

8) server端导入client端的client.cer到server端truststore文件server.truststore中,并加以别名client

E:\EBG\store\client>cd ../server

E:\EBG\store\server>keytool -import -file ../client/client.cer -keystore server.truststore -alias client
输入keystore密码: <server.truststore密码>
再次输入新密码: <server.truststore密码>
所有者:CN=Niuniu, OU=Jandsee, O=Jandsee, L=Shenzhen, ST=Guangdong, C=CN
签发人:CN=Niuniu, OU=Jandsee, O=Jandsee, L=Shenzhen, ST=Guangdong, C=CN
序列号:4ad15a08
有效期: Sun Oct 11 12:07:36 CST 2009 至Sat Jan 09 12:07:36 CST 2010
证书指纹:
MD5:4F:BF:76:EE:63:14:C0:27:A4:DB:BB:98:95:05:7A:AF
SHA1:29:4A:73:B5:F2:8E:E2:AC:B2:AA:F5:6C:5F:B7:FD:1B:52:37:F5:59
签名算法名称:SHA1withRSA
版本: 3
信任这个认证? [否]: Y
认证已添加至keystore中

E:\EBG\store\server>

分享到:
评论

相关推荐

    java keytool使用例子

    java keytool使用例子 keytool

    keytool+tomcat配置HTTPS双向证书认证结合web实例

    一个项目中 客户需求是这样的:指定的电脑可以打开。 在浏览器没安装证书的情况下 客户是无法打开我们的bs系统的。安装证书后可以打开。

    基于Java的实例源码-密钥管理工具 Keytool-IUI.zip

    基于Java的实例源码-密钥管理工具 Keytool-IUI.zip

    将密钥/证书导入现有Java密钥存储库的shell脚本

    使用: Keytool-importkeypair [-k keystore] [-p storepass] -pk8 pk8 -cert cert -alias key_alias 导入密钥/证书对。命令格式 进入Java密钥库。 如果未指定密钥存储库,则将密钥对导入其中 ~/.用户主目录中的密钥...

    java安全性编程实例

    详细介绍使用keytool生成证书,使用java进行证书检测,消息提取...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    落雨博客基于CAS框架的单点登录技术讲解(ppt+code实例+doc)配套资料

    内含本人实例精华,一个自做PPT,动画解析cas协议,四个客户端client程序实例,一个server端程序,N个文档以及所有xml文件。配套讲解博客地址: [置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+...

    Android Studio获取SHA1值实例详解

    Android Studio获取SHA1值实例详解 前言 使用百度地图的小伙伴们都会知道获取百度地图的密钥需要SHA1和包名,在Eclipse中,我们可以很方便的得知SHA1值,如下图: 但是在Android Studio中,该怎么获取SHA1的值呢?...

    Java数字证书的一些实例

    Java数字证书的一些实例 一:需要包含的包 import java.security.*; import java.io.*; import java.util.*; import java.security.*; import java.security.cert.*; import sun.security.x509.* import java....

    js 动态调用 applet 内的方法示例程序

    步骤二:使用 java 命令生成 key:keytool -genkey -keyalg rsa -alias yourkey 使用命令行:keytool -export -alias yourkey -file yourcert.crt 得到 certification 文件; 步骤三:打包,使用命令:jar -cvf ...

    原创CAS_SSO单点登录实例详细

    使用keytool 工具为演示生成一个自签名证书................................................................... 4 三. 安装tomcat .............................................................................

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    例子

    例子 开始吧 ./gradlew clean build java -jar ./build/libs/math-0.0.1-SNAPSHOT.jar 跑步 ./gradlew clean bootRun Docker构建 sudo docker login --username unclesania sudo docker build -t unclesania/...

    学习Android客户端和服务器端SSLSocket交互的总结

    这个是我通过学习总结的资料,介绍了如何SSLSocket的一些简单的知识,以及介绍了如何利用JDK自带的keytool工具生成密钥库、证书等,还有Demo作为例子,很好的学习资料。

    MIDlet程序自签名方法

    使用J2ME开发的MIDlet应用套件,往往会在运行过程中弹出烦人的“请求用户授权”窗口。这是由于该MIDlet程序未被CA授权,属于非受信MIDlet(Untrusted MIDlet)。而当非受信MIDlet访问系统敏感API时,出于对手机安全...

    Java 2平台安全技术-结构,API设计和实现

    3.10.1 使用安全管理器的实例 51 3.10.2 JDK1.2中没有改变的API 52 3.10.3 JDK1.2中禁用的方法 53 3.11 java.security.AccessController 56 3.11.1 AceessController的界面设计 57 3.11.2 基础访问控制算法 57 ...

    JAVA 2平台安全技术-结构,API设计和实现

    3.10.1 使用安全管理器的实例 51 3.10.2 JDK1.2中没有改变的API 52 3.10.3 JDK1.2中禁用的方法 53 3.11 java.security.AccessController 56 3.11.1 AceessController的界面设计 57 3.11.2 基础访问控制算法 57 ...

    sslJAVA.zip

    SSL加密传输JAVA实例 ,简单的SSL加密传输实例。里面包括源代码及证书制作说明。

Global site tag (gtag.js) - Google Analytics