zoukankan      html  css  js  c++  java
  • java keystore

    JAVA有一个keystore用来存放私钥和证书,该文件是伴随JDK默认存在的,路径默认是/lib/security/cacerts,默认密码是changeit,实际上空密码也可以直接访问

    其中cacerts就是上面说的keystore

    我们使用命令keytool -list -rfc -keystore cacerts来列出其中的内容

    -list -rfc 这些参数的意思可以参考下图

    在乐山的时候,我们的代码曾经在测试环境报过一个错误

    我们代码报这个错,是在KeyProvider这个bean实例化的时候,要给密钥容器密码赋值,我们配的是明文12345678,导致解密失败。实际上配置密文就可以了。

    但是为什么配了明文之后,解密失败,最后keystorePassword为空,竟然也能正常工作呢。

    经过查资料和不断实验,我发现无论keystore设置什么密码,都能以空密码进入。也就是说,keystore就是可以在不输入密码的时候访问的。那这个密码的用途是什么呢。

    在不输入密码的时候访问keystore,有一段提示

    *****************  WARNING WARNING WARNING  *****************
    * 存储在您的密钥库中的信息的完整性  *
    * 尚未经过验证!  为了验证其完整性, *
    * 必须提供密钥库口令。                  *
    *****************  WARNING WARNING WARNING  *****************

    可以看出,该密码的作用是为了维护信息的完整性

    具体的工作机制,在stackoverflow中有人做了解答:https://stackoverflow.com/questions/2343691/do-you-not-need-a-password-to-access-a-truststore-made-with-the-java-keytool

  • 相关阅读:
    Zabbix学习记录
    json_encode 函数使用中报错提示缺少两个参数
    MAC 上搭建一个本地LNMP环境学习laravel(一)
    mysql root 密码重置
    phpstorm格式化代码导致模板报错
    Get 和 Post
    axios设置请求超时时间 timeout
    charles安装配置 for Mac
    让 div 的高度等于宽度,的小技巧
    Git命令行删除本地和远程分支
  • 原文地址:https://www.cnblogs.com/heben/p/7651479.html
Copyright © 2011-2022 走看看