Hermesという製品をデジタル署名用に構成しようとしています。
次のように構成で指定したファイル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の部分がなかったので、削除する必要がありました。そのため、-destaliasも削除する必要がありました。したがって、この場合、mycompany.jksで参照する既知のエイリアスがありません。
いずれにせよ、私はエイリアスを持っていません。keytool -importを使用してpfxファイルをインポートしようとしましたが、「X.509証明書ではなく入力」がスローされます。
次に何を試してみるべきだと思いますか?