Keytoolを使用してx.PFXファイルをx.JKSファイルに変換しようとしていますが、次のエラーが発生します。
keytool error: Java.lang.Exception: Alias <2> does not exist
このエラーの前のアクションは次のとおりです。
x.PFXファイルの内容を一覧表示する(エイリアス名を読み取るためだけに):
keytool -v -list -storetype pkcs12 -keystore x.pfx
Enter keystore password: x
Keystore type: PKCS12
Keystore provider: SunJSSE
Your keystore contains 1 entry
Alias name: 2
Creation date: 11-nov-2012
Entry type: PrivateKeyEntry
Certificate chain length: 3
Certificate[1]:
Owner: CN=x, OU=x, C=x
Issuer: CN=x, O=x, C=x
Serial number: x
Valid from: Wed Oct 24 11:46:10 CEST 2012 until: Fri Dec 13 09:28:40 CET 2013
Certificate fingerprints:
etc.
ソースエイリアス名として「2」を使用してx.PFXファイルをx.JKSファイルに変換する
keytool -importkeystore -srckeystore x.pfx -srcstoretype pkcs12 -srcalias 2 -destkeystore x.jks -deststoretype jks -destalias xyz
Enter destination keystore password: y
Re-enter new password: y
Enter source keystore password: x
keytool error: Java.lang.Exception: Alias <2> does not exist
何が間違っているのかわかりませんか? PFXファイルには、エイリアスが1つだけのエントリが1つだけ含まれています(2)。また、これらのsrcalias値を使用してみました:2、 "2"、 "2"。ソースエイリアス名を知らずにkeytoolを使用してPFXをJKSに変換する他の方法はありますか?
私はまったく同じ問題を抱えていました。 2の代わりに「1」を使用して解決しました。理由はわかりませんが、機能しました。
pkcs12でエイリアスを設定した場合:
openssl pkcs12 -export -in certificate.pem -inkey private_key.pem -out keystore.p12 -name "myalias"
aftetエイリアスが正常に設定されました:
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype JKS -alias myalias
コマンドはもう少しこのようになります
keytool -importkeystore -srckeystore x.pfx -srcstoretype pkcs12 -***alias*** 2 -destkeystore x.jks -deststoretype jks -destalias xyz
空白が含まれているため、「2」が見つからない可能性があります(例:「2」)
エイリアスを変更したくない場合は、オプション-srcaliasおよび-destaliasを削除するだけで、元のエイリアスでインポートされます。