【发布时间】:2012-04-14 14:09:50
【问题描述】:
我很抱歉混淆了概念,但我对非对称 Web 服务安全性的了解很浅。
好的,我有一个包含我的私钥和客户公钥的 java 密钥库。
当我调用客户网络服务时,我收到一条错误消息,说:
“签名或解密无效”。
我们发现我在密钥库中的公钥是根据请求发送的,与客户在其服务器上的公钥不同。不知何故,我给了客户一个不同于我在密钥库中的公钥。
我想做的是根据我在密钥库中的私钥重新生成公钥,然后再次将其发送给 Mr Customer。有可能吗?
说实话,这正是我通过 keytool 语句所做的。结果,一个带有 .cer 扩展名的文件。带有 .cer 的文件是公钥还是什么?
感谢任何建议。
解决了:
上面我说过我尝试从密钥库中重新生成公钥,但我不确定这是不是正确的方法。
无论如何,我向客户先生提供了这个新生成的公钥,并要求他们将其安装在他们的服务器上。它起作用了,我们已经匹配了公钥。我使用以下 keytool 命令重新生成公钥:
keytool -export -alias [密钥库中私钥的名称] -file [路径 输出] -keystore [.jks 密钥库的路径]
【问题讨论】:
-
请发布 keytool 声明,以便我们检查它是否正确。
-
@owlstead 遗憾的是,我不记得 keytool 语句。当我星期一回到办公室时,我会提供它。
标签: encryption keystore keytool signatures