转/keystore和truststore的区别
keytool是java自带的工具用于产生密钥
keystore可以看成一个放key的库,key就是公钥,私钥,数字签名等组成的一个信息。
truststore是放信任的证书的一个store.
那他们之间有啥关系和联系呢?在一个安全链接的模型中又各自起到什么作用呢?
其实我也没搞太清楚-_-b
我先把目前的理解记下来,以后再慢慢修正
这篇主要针对的是web应用,web应用一般是通过https,ssl来做客户端和server端的链接
就以单向验证为例,服务器端的app server是tomcat
目前比较常用(我感觉是简单)的安全方案是单向验证,也就是说,客户端IE会验证服务器端的身份。这需要在服务器端做一些配置。
1. 在命令行中通过使用keytool在keystore中生成一个key.
这里就有两个概念了,keystore和key
key,存放了数字证书(包括公钥和发布者的数字签名),以及私钥
keystore,可以认为是放key的一个仓库,以文件的形式存在系统中,默认是放在C:\Documents and Settings\user...\下,也可以在命令行中指定路径和文件名
2.将key以数字证书的形式从keystore中导出,数字证书(包括公钥和发布者的数字签名)
3.将数字证书导入到truststore,一般是tomcat所用的JAVA_HOME下的jre\lib\security\cacerts文件
其实,truststore和keystore的性质是一样的,都是存放key的一个仓库,区别在于,truststore里存放的是只包含公钥的数字证书,代表了可以信任的证书,而keystore是包含私钥的。但是具体应用还有待深入研究,这里我还不是非常清楚
4.配置tomcat下的server.xml里相应的ssl端口,这样客户端就可以通过https来访问server了
转/keystore和truststore的区别的更多相关文章
- KeyStore和TrustStore
笔者的这篇文章参考了http://docs.oracle.com/cd/E19509-01/820-3503/ggfgo/index.html KeyStore和TrustStore在很多HTTPS双 ...
- 使用keytool生成ssl密钥文件keystore和truststore
最近在研究Mina的开发,通信的时候需要数据加密,而且mina本身支持SSLFilter过滤器,所以可以采用SSL加密的方式对数据进行加密. 在进行加密之前,我们需要使用keytool(这个存在于C: ...
- Https:证书生成 .p12 .keyStore 和 .truststore文件理解
当我们需要SSL证书时,可以自动生成SSL证书,但是每个系统都申请一次证书会比较麻烦,所以用到了如下几个文件格式: .p12(PKCS #12) 我们的每一个证书都可以生成一个.p12文件,这个文 ...
- Difference between trustStore and keyStore in Java - SSL
Difference between trustStore and keyStore in Java - SSL trustStore vs keyStore in Java trustStore ...
- 杂谈X509证书, Java Keystore与Jetty
很多人对JSSE组成部分的Key Tool 工具不太明白,希望本文能有帮助 科班出身的同学应该学过课程“密码学”, 这门课详细解释了现代对称加密的算法原理, 当时学的我云里雾里. 直到现在使用过SSL ...
- keyStore vs trustStore--转载
原文:http://lukejin.iteye.com/blog/605634 今天有同事向我问起这两个概念,所以我就记录下.首先我们得澄清一些概念.一个web应用如果需要提供以https的方式访问的 ...
- cloudera-scm-server启动时出现Caused by: java.io.FileNotFoundException: /var/lib/cloudera-scm-server/.keystore (No such file or directory)问题解决方法(图文详解)
不多说,直接上干货! 问题详情 查看/var/log/cloudera-scm-server.log的启动日志 问题来源 我在用cloudermanager安装好之后,然后,在对如下. 配置kerbe ...
- android常见问题(一)
一:文本的颜色选择器: 在res目录下面创建color文件夹,在color文件夹下面创建font_style_colors.xml文件<?xml version="1.0" ...
- i.BIO方式的SSL通道流程
前面已经讲解了BIO通道的整体流程,对于SSL的流程是插在通道中的,在BIO通道的初始化的时候,根据Connector配置的SSLEnabled属性进行SSL的逻辑. 主要集中的位置在JIOEndpo ...
随机推荐
- MySQL学习之一数据库简介
1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,长期储存在计算机内.有组织的.可共享的数据集合. 数据库中的数据指的是以一定的数据模型组织.描述和储存在一起. ...
- bzoj 5403 Marshland
$n \leq 50$ sol: 放一个在 $x$ 处拐弯的 $L$ 形石头相当于在水平和垂直方向上各选一个与 $x$ 相邻的点,全局不能重复选 最小化危险度,相当于满足这些限制的情况下石头盖住的点危 ...
- Mybatis_generator自动化生成代码
1.Run as 2.ok
- 如何开启MySQL远程访问权限 允许远程连接
1.改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...
- C# Message 消息处理
一.消息概述 Windows下应用程序的执行是通过消息驱动的.消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理.C#自定义消息通信往往采用事件驱动的方式实现,但有时 ...
- 使用Jsonp实现跨域请求
来自百度百科的一段话: JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 server1.exampl ...
- git之切换分支出现的问题
当在其他分支,如test分支开发的时候,新增了文件夹等目录结构.开发完成后,切换会master分支. 如果出现“Deletion of directory '***' failed. Should I ...
- Sentry入门
指令类型: 创建.删除角色: CREATE ROLE sentry_all; droop role admin_role; 角色授权/撤销权限: 数据库级别角色授权 GRANT ALL ON DA ...
- BZOJ2120:数颜色(分块版)
浅谈分块:https://www.cnblogs.com/AKMer/p/10369816.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...
- 根据VM的TAG开停机
公有云一个非常大的优势,就是可以根据需求进行开停机.由于计费是按时进行的,从而实现节省成本. Azure上用脚本按时开停机已经有很多部署的案例.本文将介绍采用VM Tag中规定的时间进行开停机的脚本. ...