Keystore概念,Keytool工具使用

近来由于项目需要做Single Sign On, 研究了一下CAS (具体配置等下篇再介绍), 而这个CAS 的配置最关键的不是CAS 本身,而是数字证书,如何配置多台服务器之间的信任链接。因此,有必要把keystore, keytool 的东西翻出来晒晒。

几个概念

keystore
是 一个密码保护的文件,用来存储密钥和证书(也就是说,keystore 中存储的有两类型entries );这个文件(默认的)位于你的home 目录,也就 是你登录到操作系统的用户名的那个目录。或者通过-keystore 参数设为你指定的位置。需要说明的是:如果不通过-keystore 来指定位置,将使 用home 目录中的默认keystore 文件。smilingleo 原创

通过-alias 来检索keystore 中的具体内容(keystore 中可能存有多个entry

如果想查看keystore 中每个entry 的详细信息,比如谁签发的,用-v 参数(verbose ),里面你还可以看到默认的有效期。

系统签署的证书其有效期默认为一年,通过-validity 来设定其具体的天数。

重要 JDK\jre \lib\security 目录下面有一个cacerts 的文件,就是一个keystore ,其默认密码是changeit 。如果一个App Server 想建立一个安全的链接到另外一个Server, 需要通过一个受信的数字证书,而这个证书就需要存储在cacerts 中。

keytool
用来import, export, list keystore 中内容的工具,还可以用来以测试为目的,生成自己签署的证书。

了解了上面的概念之后,你操作起来就比较容易,比如我们想从一个keystore (文件存在home 目录的.keystore 文件)中删除某个entry , 其aliastomcat5 ,那么keytool 命令就是:
keytool -keystore .keystore -delete -alias tomcat5
是不是很自然?

理解:签署
服务器上产生一个证书之后,用这个证书签署Applet 等,以表明这个applet 确实是来源于这个服务器,而不是其他,以实现其真实性,如果你信任服务器,那么你就可以信任这个applet

比如你可以通过jarsigner 工具,用keystore 中的某个key entry 来签署一个jar 文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值