Java 延长密钥库中trustedCertEntry的过期日期

Java 延长密钥库中trustedCertEntry的过期日期,java,certificate,keystore,private-key,truststore,Java,Certificate,Keystore,Private Key,Truststore,使用keytool,我试图在我拥有的密钥库中延长trustedCertEntry的过期日期。密钥库包含以下内容 $ keytool -list -keystore certs/authTruststore.jks Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 3 entries sts, Nov 11, 2013, trustedCertEntry, Cer

使用keytool,我试图在我拥有的密钥库中延长trustedCertEntry的过期日期。密钥库包含以下内容

$ keytool -list -keystore certs/authTruststore.jks
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 3 entries

sts, Nov 11, 2013, trustedCertEntry,
Certificate fingerprint (SHA1): 8D:33:B7:69:DE:75:8F:22:E2:95:2C:EB:93:65:41:31:42:A6:E3:A7
__
localhost, Nov 11, 2013, PrivateKeyEntry,
Certificate fingerprint (SHA1): F4:A9:84:1E:7F:BF:5D:71:58:74:E4:C6:00:49:37:49:38:3E:31:BE
__    
security_localhost, Nov 11, 2013, trustedCertEntry,
Certificate fingerprint (SHA1): 6B:F8:E1:36:EB:36:D4:A5:6E:A0:5C:7A:E4:B9:A4:5B:63:BF:97:5D
我可以成功修改第二个条目的过期日期,即PrivateKeyEntry类型的localhost,但当尝试使用相同的命令修改其他两个条目的过期日期时,我会出现以下错误:

$ keytool -selfcert -v -alias security_localhost -validity 3650 -keystore certs/authTruststore.jks -storepass ****

keytool error: java.lang.Exception: Alias <localhost> has no key
java.lang.Exception: Alias <localhost> has no key
    at sun.security.tools.KeyTool.recoverKey(KeyTool.java:3095)
    at sun.security.tools.KeyTool.doSelfCert(KeyTool.java:2442)
    at sun.security.tools.KeyTool.doCommands(KeyTool.java:1071)
    at sun.security.tools.KeyTool.run(KeyTool.java:340)
    at sun.security.tools.KeyTool.main(KeyTool.java:333)
$keytool-selfcert-v-alias security\u localhost-validity 3650-keystore certs/authruststore.jks-storepass****
keytool错误:java.lang.Exception:别名没有键
java.lang.Exception:别名没有键
位于sun.security.tools.KeyTool.recoverKey(KeyTool.java:3095)
位于sun.security.tools.KeyTool.doSelfCert(KeyTool.java:2442)
位于sun.security.tools.KeyTool.doCommands(KeyTool.java:1071)
运行(KeyTool.java:340)
位于sun.security.tools.KeyTool.main(KeyTool.java:333)
我怎样才能延长这些有效期呢?

看看这个。上面说,

Generates an X.509 v1 self-signed certificate, using keystore information including
the private key and public key associated with alias
因此,您可以使用与密钥关联的-selfcert更新证书。您的
第一个
第三个
是受信任的证书条目,其中
第二个
条目是PrivateKeyEntry。此条目的证书与其
私钥
相关联。其他两个都不是

如果这两个证书已过期,您只能使用最新的证书更新它们,方法与您首先将它们添加到密钥库的方法相同。通过执行-importcert


注意:
-selfcert
现已过时。您可以阅读更多信息。

能否发布用于扩展“trustedCertEntry”类型证书有效性的命令?或者您可以发布执行此操作所需的步骤吗?keytool-importcert-keystore您的密钥库-storepass密码-alias别名-file新建证书文件