web-dev-qa-db-ja.com

PFXからJKSキーツールへの変換:エイリアス<*>は存在しません

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に変換する他の方法はありますか?

8
mrm

私はまったく同じ問題を抱えていました。 2の代わりに「1」を使用して解決しました。理由はわかりませんが、機能しました。

7
Richard Heller

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
4
zoirs

コマンドはもう少しこのようになります

keytool -importkeystore -srckeystore x.pfx -srcstoretype pkcs12 -***alias*** 2 -destkeystore x.jks -deststoretype jks -destalias xyz
3
daniel

空白が含まれているため、「2」が見つからない可能性があります(例:「2」)

エイリアスを変更したくない場合は、オプション-srcaliasおよび-destaliasを削除するだけで、元のエイリアスでインポートされます。

1
Andy