【问题标题】:Create certificate keystore file AES 128创建证书密钥库文件 AES 128
【发布时间】:2014-09-20 00:16:04
【问题描述】:

我正在尝试使用命令行创建证书密钥库文件,但它给了我一个例外:

c:\Program Files\Java\jre7\bin>keytool.exe -genkey -alias srccodes -keyalg AES -
keystore C:\srccodes.jks -keysize 128
Enter keystore password:
Re-enter new password:
keytool error: java.lang.Exception: Cannot derive signature algorithm

【问题讨论】:

标签: certificate aes keystore keytool


【解决方案1】:

-genkey 选项用于生成公钥和关联的私钥,因此它仅适用于非对称算法(AES 是对称的,因此您不能将-genkey 与它一起使用)。

请改用-genseckey。还要注意JKS不能存储非公钥对,所以你必须使用JCEKS格式,指定这个添加-storeType JCEKS,最后你的命令必须是:

keytool.exe -genseckey-alias srccodes -keyalg AES -keystore C:\srccodes.jceks -keysize 128 -storeType JCEKS

欲了解更多信息,请查看:Keytool documentation

希望这会有所帮助,

【讨论】:

  • 谢谢你,我已经成功创建了商店文件,但是我还有另一个问题。它的描述太长了,我插入了新的答案,请阅读并帮助我。:)
  • @LêĐứcNguyên 关于您的新问题,您不能将其作为答案发布,除了我认为您必须首先提出这个问题,因为答案有点不同,所以您必须提出一个新问题,但我给出如果你想在你需要的 tomcat 中配置 SSL 和 RSA 密钥而不是 AES,那么你就是答案,要使用 keytool 生成它,请使用以下命令:keytool.exe -genkey -alias srccodes -keyalg RSA -keystore C:\srccodes.jks -keysize 2048。如果答案对您有帮助,请接受:)
  • 我已经通过RSA创建了存储文件,但是当在端口8433运行tomcat时,它有通知证书而不是验证。所以我必须创建一个 128 位或以上的密钥库文件。
  • 我不明白你的评论。 “创建 128 位或以上的密钥库文件”是什么意思?如果您查看我的评论,我会为 RSA 密钥指定 -keysize 2048
  • @LêĐứcNguyên 这个答案对我来说很真实。如果这回答了您的原始问题,请接受。请注意,在回答的基础上还要求咨询会议并不是很有趣。
最近更新 更多