我正在尝试配置名为Hermes的产品进行数字签名。Keystore别名空错误
我有我自身配置如下文件MyCert.pfx:
<component id="keystore-manager-for-signature" name="Key Store Manager for Digital Signature">
<class>hk.hku.cecid.piazza.commons.security.KeyStoreManager</class>
<parameter name="keystore-location" value="/opt/mycompany/certs/MyCert.pfx"/>
<parameter name="keystore-password" value="12345678"/>
<!-- parameter name="key-alias" value="joeblank"/-->
<!-- parameter name="key-password" value="12345678"/-->
<parameter name="keystore-type" value="PKCS12"/>
<parameter name="keystore-provider" value="org.bouncycastle.jce.provider.BouncyCastleProvider"/>
</component>
爱马仕抛出这样一个异常:
hk.hku.cecid.ebms.spa.task.MessageValidationException: Cannot sign the ebxml message
by hk.hku.cecid.ebms.pkg.SignatureException: [10204] Cannot sign message Exception: java.lang.NullPointerException Message: null
Try to retreive key alias[null] from keystore[/opt/mycompany/certs/MyCert.pfx]
by java.lang.NullPointerException
我没有为别名pfx文件。当我在Tomcat的server.xml中使用它时,我不需要指定它。
也有人建议我应该用这样的命令将证书导入到JSK店:
keytool -importkeystore -deststorepass [password] -destkeystore [JKS keystore file] -deststoretype JKS -destalias [alias] -srckeystore [p12 keystore file] -srcstoretype PKCS12 -srcstorepass [password] -srcalias [alias]
我不得不删除-srcalias部分,因为我没有这个,这需要我也删除了-stalias。所以在这种情况下,我没有在mycompany.jks中引用的已知别名。
无论哪种方式,我没有别名。我尝试使用keytool -import导入pfx文件,但引发“输入不是X.509证书”。
你们建议我应该尝试下一步?
是的!这解决了这个问题。别名是一些非常长的字母数字字符串。 – udeleng 2012-01-13 06:40:04