Java keytool显示什么日期?

maa*_*nus 1 java certificate keystore keytool

昨天,我用于keytool列出我们的密钥库,如下所示:

keytool -list -keystore src/keystore.p12 
Enter keystore password:  
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 5 entries

octopus, Jan 15, 2018, PrivateKeyEntry, 
Certificate fingerprint (SHA1): FE:B2:B7:C0:A7:CF:...
Run Code Online (Sandbox Code Playgroud)

由于存在问题,我得出的结论是第一份证书刚刚过期。今天我要

octopus, Jan 16, 2018, PrivateKeyEntry, 
Certificate fingerprint (SHA1): FE:B2:B7:C0:A7:CF:...
Run Code Online (Sandbox Code Playgroud)

难道keytool真的意味着用于显示当前日期或只是开玩笑???

但我认为日期是“不晚于”日期,因为这很有意义。不能是条目添加或最近修改的日期。我可能做错了,但是

  • 我确定日期已经更改,就像我昨天发送的电子邮件中看到的一样
  • 我确定git跟踪的密钥库没有发生变化。我什至删除了它并再次签出,没有变化
  • 我确定密钥库自六个月前以来就没有改变过(git同意)
  • 其他条目显示不同的日期

keytool不提供任何版本信息。

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
Run Code Online (Sandbox Code Playgroud)

dav*_*085 5

对于JKS,这是密钥库条目创建或修改的日期,但是PKCS12不会存储该信息,因此keytool(实际上是JCE IINM)仅使用“ now”。

请注意,在Java 8的最新更新中,KeyStore.getInstance("JKS")实际上同时读取了JKS和PKCS12。参见/sf/answers/3334803671/。在Java 9中,PKCS12成为默认值。

要查看有效期(notBefore和notAfter)的证书(S),有很多其他的信息,你可能不希望,使用沿着-v