用keytool创建Keystore和Trustsotre文件

JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输。keytool是一个工具可以用来创建包含公钥和密钥的的keystore文件,并且利用keystore文件来创建只包含公钥的truststore文件。在本文中,我们学习如何通过下面的5步简单的创建truststore和keystore文件:

生成一个含有一个私钥的keystore文件

    验证新生成的keystor而文件

    导出凭证文件

    把认凭证件导入到truststore文件

    验证新创建的truststore文件

第一步 - 生成一个含有一个私钥的keystore文件

Java的Keytool工具可以把密钥和认证保存到keystore文件。
如果在windows上,keytool命令被放到Java的bin目录下(例如C:\Program
Files\Java\jdk1.6.0_12)。如果是mac上是放在/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands目录下。

执行下列命令来生成keystore

keytool -genkeypair -alias certificatekey -keyalg RSA -validity  -keystore keystore.jks

一旦执行了命令,你会被要求输入密码,这里我们输入“123456”。输入密码以后,需要输入一些key的详细信息,如下图:

第二步 – 验证新生成的keystor而文件

keytool -list -v -keystore keystore.jks

执行上面的命令后,你会看到key的详细信息:

第三步 - 导出凭证文件

在这一步,你可以导出自我签署凭证或是Verisign或其他的认证机构的商业凭证的。这里只说导出自我签署的凭证:

通过执行下面的命令把自我签署的凭证保存到 “selfsignedcert.cer”文件

keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfsignedcert.cer

执行上面的命令,会要求你输入密码,就是上面生成keystore的输入的密码“123456”,

生成的cer文件内容如下:

第四步 – 把认凭证件导入到truststore文件
执行下面的命令:

keytool -import -alias certificatekey -file selfsignedcert.cer  -keystore truststore.jks

执行命令后,会要求输入密码,同样是keystore的密码“123456”。

第五步 – 验证新创建的truststore文件
执行下面的命令

keytool -list -v -keystore truststore.jks

原文链接http://zjumty.iteye.com/blog/1885356

用keytool创建Keystore和Trustsotre文件只需五步的更多相关文章

  1. keytool创建Keystore和Trustsotre文件

    一.生成一个含有一个私钥的keystore文件 user@ae01:~$ keytool -genkey -keystore keystore -alias jetty-azkaban -keyalg ...

  2. 产品开发也要看阵容,APP开发只需五步变得靠谱

    最早认识的一个朋友是程序员,曾经到一家外包公司接单子,小外包公司经常遇到的问题就是和需求方谈产品功能.客户要做外包,对方让他一次性报价,但是客户连功能点自己都不清楚,这时朋友说还是按照具体功能点来做吧 ...

  3. PDF怎么旋转页面,只需几步轻松搞定!

    有时候我们下载一个PDF文件里面有页面是旋转的情况,用手机看的时候可以把手机旋转过来看,那么用电脑的时候总不可能也转过来看吧,笔记本是可以的台式的是不行的,这个时候我们就需要把PDF文件中旋转的页面转 ...

  4. vuex其实超简单,只需3步

    前言 之前几个项目中,都多多少少碰到一些组件之间需要通信的地方,而因为种种原因,event bus 的成本反而比vuex还高, 所以技术选型上选用了 vuex, 但是不知道为什么,团队里的一些新人一听 ...

  5. 如何把C++的源代码改写成C代码?而C改C++只需一步!

    ★ 如何把C++的源代码改写成C代码? C++解释器比C语言解释器占用的存储空间要大,想要在某些特定场合兼容C++代码,同时为了节省有限的存储空间,降低成本,也为了提高效率,将用C++语言写的源程序用 ...

  6. 一、JavaScript实现AJAX(只需四步)

    -----------------------------------------------一.JavaScript实现AJAX(只需四步)----------------------------- ...

  7. 只需3步,快来用AI预测你爱的球队下一场能赢吗?

    摘要:作为球迷,我们有时候希望自己拥有预测未来的能力. 本文分享自华为云社区<用 AI 预测球赛结果只需三步,看看你爱的球队下一场能赢吗?>,作者:HWCloudAI. 还记得今年夏天的欧 ...

  8. 安装go语言,配置环境及IDE,只需3步

    安装go语言,配置环境及IDE,只需3步 ( 欢迎加入go语言群: 218160862 , 群内有实践) 第1.下载 go压缩包,解压   ,如果你是window系统,请选择go1.5.windows ...

  9. 为什么学Python语言,只需四步全面了解Python语言

    为什么学Python语言,只需四步全面了解Python语言每个时代都会悄悄犒赏会选择的人,Python现在风口的语言Python--第三大主流编程语言Python , 是一种面向对象的解释型计算机程序 ...

随机推荐

  1. jcraft--SFTP demo

    import java.awt.Container; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import ...

  2. Android下设置ListView数据加载完成后执行layoutanimation

    今天使用android的volley框架写了一个简单的网络天气获取的demo. 承载数据的空间是ListView 因为是网络加载,必然先要设置ListView的默认数据,我设置的就是那个Loading ...

  3. OpenSSL使用1(用OpenSSL生成自签名证书在IIS上搭建Https站点)(用于iOS的https访问)

    前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...

  4. SQL Server Debugging with WinDbg – an Introduction

    Klaus Aschenbrenner Klaus Aschenbrenner provides independent SQL Server Consulting Services across E ...

  5. flask的安全注意事项,如何防范XSS、CSRF、JSON安全

    参考官方文档:http://docs.jinkan.org/docs/flask/security.html 1.xss Flask 配置 Jinja2 自动转义所有值,除非显式地指明不转义.这就排除 ...

  6. Linux学习之十二-Linux文件属性

    Linux文件属性 在Linux中,对于每个文件都有相应属性,以Linux中root用户家目录下新建文件a.txt为例,在a.txt中输入几个字符 使用命令ls -ild a.txt查看文件的权限等 ...

  7. Linux中运行c程序,与系统打交道

    例一:system系统调用是为了方便调用外部程序,执行完毕后返回调用进程. #include <stdio.h> #include <stdlib.h> main() { pr ...

  8. Shiro学习(7)与Web整合

    Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截须要安全控制的URL.然后进行对应的控制,ShiroFilter相似于如Strut2/SpringMVC这样的web框架的 ...

  9. Nexus 5刷阿里云OS

    刷机有风险,刷机需慎重! 1. 下载 recovery 的img和 阿里云os. recovery 的img下载: https://kanbox.com/f/V00KA 阿里云OS3.0.3 : 2月 ...

  10. UDP通信接收端,接收二维数组,内容为0与1

    1: using System; 2: using System.Net; 3: using System.Net.Sockets; 4: using System.Text; 5:   6:   7 ...