2

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証明書ではなく入力」がスローされます。

次に何を試してみるべきだと思いますか?

4

1 に答える 1

2

alias何も指定されていない場合、アプリケーションはデフォルトを使用しないようです。アプリケーション/ライブラリ(Apache Tomcatを含む)が、何も指定されていない場合に最初に見つけたエイリアスを選択することは非常に一般的です。ただし、必要なようです。

を使用して見つけることができますkeytool -list -storetype PKCS12 -keystore(必要に応じ-vて、エイリアスをより明確に表示するためにも使用してください)。エイリアス名は、フィンガープリントの直前にある2, Jan 12, 2012, PrivateKeyEntry(ここでは " ")のような行の最初の部分である必要があります。2

keystore -import確かに証明書のためだけです。

keytool -importkeystorePKCS12PKCS#12ストアをJKSストアに変換するために使用できますが、タイプを指定できるため、必要ありません。

于 2012-01-12T13:45:27.647 に答える