ssl 当使用keytool导入证书时,为什么要使用trustcacerts选项

xurqigkl  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(357)

keytool -import -trustcacerts
我对keytool的这个trustcacerts选项感到困惑。
当我在谷歌上搜索这一点时,我发现了以下几点:

  • 根据具体情况,您可能不需要-trustcacerts选项。如果愿意,请尝试不使用该选项的操作。
  • -trustcacerts参数告诉keytool,您希望将此证书作为受信任证书导入。
  • 使用cacerts文件可从已签署要导入的证书的证书颁发机构获取可信证书。

最后我发现这个trustcacerts是可选的。
一般来说,网站的任何开发人员/CEO都希望他们的网站受到客户的信任,那么我们为什么需要使用keytool命令明确指定这一点呢?
谢谢

fykwrbwg

fykwrbwg1#

当您导入自签名根证书以外的证书(如中间证书)时,keytool会首先尝试构建并验证正确的证书路径。
如果使用trustcacerts参数,则在构建路径时,keytool不仅会考虑信任存储区中已包含的证书,还会考虑cacerts密钥存储区中包含的证书cacerts中的证书是一种默认的信任列表,正式信任的根证书(类似于浏览器默认信任的列表)。
这个选项并不是必须的,因为你总是可以强制导入一个证书。当导入一个自签名的根证书时,它也没有意义,因为在这种情况下不能建立证书路径-你要么信任一个根,要么不信任。
但是,如果您知道导入的证书应该由cacerts中包含的证书之一颁发,则这可能是一个不错的功能-如果keytool仍然无法构建和验证整个证书路径,它将向您发出警告-这很可能是一个警告,指出您试图导入的证书存在问题。

相关问题