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中。smilingleo原创

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

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

理解:签署
服务器上产生一个证书之后,用这个证书签署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、付费专栏及课程。

余额充值