2017-06-29 401 views
0

Tomcat用の証明書を作成し、新しいキーストアにインストールしようとしましたが、エラーが発生しました(編集:-vオプションで実行しました。keytoolエラー:java.io.IOException:キーストアのパスワードが正しくありません

keytool error: java.io.IOException: keystore password was incorrect 
java.io.IOException: keystore password was incorrect 
    at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2015) 
    at java.security.KeyStore.load(KeyStore.java:1445) 
    at sun.security.tools.keytool.Main.loadSourceKeyStore(Main.java:1894) 
    at sun.security.tools.keytool.Main.doImportKeyStore(Main.java:1926) 
    at sun.security.tools.keytool.Main.doCommands(Main.java:1021) 
    at sun.security.tools.keytool.Main.run(Main.java:340) 
    at sun.security.tools.keytool.Main.main(Main.java:333) 
Caused by: java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: java.io.IOException: getSecretKey failed: Password is not ASCII 

悲しいことに、パスフレーズには2つの「®」があります。ですから、どのように痛みのあまり、それがこの状態から回復することになります(秘密鍵は、非ASCIIパスワードを持っている)、私が何をやったか与えられた?:

1: Create a passphrase file: vi .kp 
2: Make CSR: 
A: Generate a 2048 bit private key: 
openssl genpkey -algorithm RSA -outform PEM -out mike.privateKey.pass.pem -pkeyopt rsa_keygen_bits:2048 -pass file:.kp 
B: Make the CSR: 
openssl req -new -sha256 -key mike.privateKey.pass.pem -out mike.ike.com.cert.csr 
Note: CSR has different "challenge password" than in the passphrase file, if that matters 
3: Submit CSR to Comodo 
4: Get certificate file mike_ike_com.cer & Comodo trust chain files: COMODORSAOrganizationValidationSecureServerCA.crt, COMODORSAAddTrustCA.crt, AddTrustExternalCARoot.crt 
5: Convert the Certificates: 
A: Convert to PEM: 
openssl x509 -inform DER -in COMODORSAOrganizationValidationSecureServerCA.crt -out COMODORSAOrganizationValidationSecureServerCA.pem -outform PEM 
openssl x509 -inform DER -in COMODORSAAddTrustCA.crt -out COMODORSAAddTrustCA.pem -outform PEM 
openssl x509 -inform DER -in AddTrustExternalCARoot.crt -out AddTrustExternalCARoot.pem -outform PEM 
B: Concat into a single file: 
cat COMODORSAOrganizationValidationSecureServerCA.pem COMODORSAAddTrustCA.pem AddTrustExternalCARoot.pem > Comodo.root.crt 
C: Use openssl to create a pkcs12 file: 
openssl pkcs12 -export -in mike_ike_com.cer -inkey mike.privateKey.pass.pem -passin file:.kp -out mike_ike.p12 -name tomcat -caname root -chain -CAfile Comodo.root.crt 
Note: when it asks "Enter Export Password" I give it the pw from .kp 
6: Use keytool to create the keystore file: 
$JAVA_HOME/bin/keytool -importkeystore -deststorepass:file .kp -destkeypass:file .kp -destkeystore .keystore -srckeystore mike_ike.p12 -srcstoretype PKCS12 -srcstorepass:file .kp -alias tomcat 

ファイル「の.keystore」は存在しません。 。私はkeytoolがそれを作成すると仮定しています

+0

の作品.kpkeyそのパスワードも入力してください:-):今すぐ '-srcstorepass:file .kp'を実行しています – vegaasen

+0

あなたのコメントが分かりません:-( –

答えて

0

私はこれを整理しました。私はパスワードを使用していました。これはJDKのcacertsキーストアを更新するためのパスワードですが、cacertsキーストアのデフォルトパスワードは 'changeit'です。

+0

私はopensslを使ってcacertsキーストアを作成しました。それは尋ねたエクスポートパスワードを入力: その部分が働いた –

0

1:パスワードにASCII以外の文字が含まれていました。 opensslはそれを処理でき、keypassはできません。

2:非ASCIIパスワードと秘密鍵を作成したので、私はそれにこだわっているので、私はそのファイル.kpkeyの名前を変更し、そして純粋なASCIIパスワード

3で新しい.kpファイルを作成:C:

openssl pkcs12 -export -in mike_ike_com.cer -inkey mike.privateKey.pass.pem -passin file:.kpkey -out mike_ike.p12 -name tomcat -caname root -chain -CAfile Comodo.root.crt 

注:それは "輸出パスワードを入力し、" 要求したとき、私はそれPW .kpから、NOT .kpkeyから与えるこれは5に変更する必要がありました。唯一の変化は-passinファイルです:.kp`パスワードとして、あなたがしようとする場合があります:あなたは `-passinファイルを使用している場合は、他の

すべてが同じままで、

関連する問題