web-dev-qa-db-ja.com

p12ファイルのパスワードの変更

プッシュ証明書を使用してクライアントからp12ファイルを転送されました。

影響なしにこのp12ファイルのパスワードを変更できますか。変更する場合は、次のようなものを使用できます。

openssl pkcs12 -in Certificates.p12 -out temp.pem -passin pass: -passout        
pass:temppassword
openssl pkcs12 -export -in temp.pem -out Certificates-final.p12 -passin     
pass:temppassword -passout pass:newpa­ssword
rm -rf temp.pem

私はこのウェブサイトでこれを見つけました here

19
heLL0

問題ありません。

PFXは暗号化されたコンテナーです。コンテナーのパスワードを変更しても、コンテナー内の証明書には影響しません。

3
SysHex

影響なしではそうすることはできません。
opensslでPKCS#12の内容をエクスポートする再作成時に復元されない情報は失われます PKCS#12の。
そのメタデータがあなたにとって重要であるかどうかは、PKCS#12のコンテンツとユースケースによって異なります。

Opensslで単純に「コンテナーのパスワードを変更する」方法はないようです。 (ただし、後で説明するように、Javaのkeytoolを使用してこれを行うことができます。)

TL; DR: opensslコマンドの代わりにこれを使用します:keytool -importkeystore -srckeystore source.p12 -srcstoretype PKCS12 -srcstorepass:file ssp -destkeystore dest.p12 -deststoretype PKCS12 -deststorepass:file dsp -destkeypass:file dsp

OpenSSL

以下は、再作成したPKCS#12と、元の、テストのために持っていた古い(無効な)ドイツの税ログインキーストアからの比較です。

私の場合、PKCS#12がこの方法で再作成された目的のアプリケーションでは有効でなくなった/機能しなくなった(証明書ベースのログイン)ため、別の解決策を見つける必要がありました。

短い概要(元のファイル、次に再作成されたファイル):

$ openssl pkcs12 -info -in Certificates.p12 -noout
Enter Import Password:
MAC:sha1 Iteration 1024
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1024
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1024
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 1024
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag

$ openssl pkcs12 -info -in Certificates-final.p12 -noout
Enter Import Password:
MAC:sha1 Iteration 2048
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048

そして今、元のエクスポートされたPEMファイルの内容と、再作成されたPKCS#12の再エクスポートされたPEMとの差分です。 (私はいくつかのbase64行を編集し、出力のPEMデータを並べ替えて、diffを短くし、変更をより明確にしました。)
オリジナルには2つの秘密キー(署名キーと暗号化キー)がありましたが、新しいキーには1つしかなく、証明書バッグのメタデータが失われていることがわかります。 localKeyIDの変更方法にも注意してください。

$ openssl pkcs12 -in Certificates.p12 -out temp.pem
$ openssl pkcs12 -in Certificates-final.p12 -out temp2.pem

$ diff -up temp.pem temp2.pem
--- temp.pem
+++ temp2.pem
@@ -1,74 +1,38 @@
 Bag Attributes
-    friendlyName: encryptionkey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 47 44
+    localKeyID: DD 42 1D 23 0E 11 BB D7 0D 54 B7 10 D0 C6 F5 40 B6 B5 2C A4
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIpJIbNX5suS8CAggA
-MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECEUOqFMc2ya4BIIEyKcSq/QtaSQe
-KaGI+xHwWXmJ8kPova4Ypjy9ELFYH/qpOlfyvE2NUE8sTPfMmTGZfVgmzajZiAkv
-2bGbJJqotmBnX7Kq4R+p8rAsMNQeyc6Hz6HOFHB2u51m/+v6U89BnxZjzYPfBLrL
-mtEJJoEKLrwjh4lCZuEQjQ==
+MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIStmsb0FWO6ECAggA
+MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECFnnIOcMl607BIIEyJeDvQMny+9a
+g38QaURLMHGW1ZcSl1SQL3aISeF9OOVNDT6SdpH9ta+ZiBL47KYYRmzb/mrkAk8w
+xEdaY/v8/l4zo86XS3ZXX9/59rieb3YAm6GfyTAYyAwU+xMz0FHPtWjN0sWKFamx
+49Gel9yYCtfc9oRKdvaBuQ==
 -----END ENCRYPTED PRIVATE KEY-----
 Bag Attributes
-    friendlyName: signaturekey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 41 41
-Key Attributes: <No Attributes>
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIw8wbVkc1YxICAggA
-MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECCUFgpxoljgKBIIEyCIseTm0Y7uL
-6IaAqRqwPxb64iBLLN9E/XOkA5ZAzO4MgSsZieZQfpXLJPdTdnKx9WauzpDGVfs5
-p+i5Dmrl9olI2wEOCGdoG7YzzVh4SoTAf/4v9yJRylCXREoYDdK/EM09Am1XWRVa
-fqNaWVRO/1vfv7Rgc2Mwbw==
------END ENCRYPTED PRIVATE KEY-----
-Bag Attributes
-    friendlyName: encryptionkey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 47 44
+    localKeyID: DD 42 1D 23 0E 11 BB D7 0D 54 B7 10 D0 C6 F5 40 B6 B5 2C A4
 subject=/serialNumber=991954729C/CN=991954729
 issuer=/C=DE/O=Elster/OU=CA/CN=ElsterIdNrSoftCA
 -----BEGIN CERTIFICATE-----
@@ -96,8 +60,7 @@ QmpEFSHJxYXOtyar3x9Viad9r9KtcVViJxe/cpVE
 u4rfbLegLqZsXPVlY+6+k/vokTD9Oc0IdXHNk1u1dSTUc4rvxohZAxKW+5/EoLar
 +AajwQNu5CmFz76Y6tDOS7XqUFkdu6JNMvBfuFNAng2GXwo/l8LsstAz/w==
 -----END CERTIFICATE-----
-Bag Attributes
-    friendlyName: CN=ElsterIdNrSoftCA,OU=CA,O=Elster,C=DE
+Bag Attributes: <No Attributes>
 subject=/C=DE/O=Elster/OU=CA/CN=ElsterIdNrSoftCA
 issuer=/C=DE/O=Elster/OU=RootCA/CN=ElsterRootCA
 -----BEGIN CERTIFICATE-----
@@ -126,8 +89,7 @@ SxtMZZVZ6RuHLwfz+QYJ+uKghjImnZ7Gy93+S1yD
 FwWQnJ1RBEUTIwMI9rrIGH5R4sUzfeS6YvJOCTcO372IC1CKRpx3odvLFR+FYM7/
 nO/mlyfpTHkJrRm1IavqyBq0rUKbTUP7
 -----END CERTIFICATE-----
-Bag Attributes
-    friendlyName: CN=ElsterRootCA,OU=RootCA,O=Elster,C=DE
+Bag Attributes: <No Attributes>
 subject=/C=DE/O=Elster/OU=RootCA/CN=ElsterRootCA
 issuer=/C=DE/O=Elster/OU=RootCA/CN=ElsterRootCA
 -----BEGIN CERTIFICATE-----
@@ -156,9 +118,7 @@ EgzvybfTPjUTXr4G1FZyAJkUAw4EdHZ8K2fIijy6
 VThgfYVrIfjKr00WsIW1QC3aWWCfgs19UjeLOPtydDgsU+UBAZg/fFTKYwQpx1Jg
 n8L8DNLudrfbsj6m7Ir39fVi634a+v9k
 -----END CERTIFICATE-----
-Bag Attributes
-    friendlyName: signaturekey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 41 41
+Bag Attributes: <No Attributes>
 subject=/serialNumber=991954729A/CN=991954729
 issuer=/C=DE/O=Elster/OU=CA/CN=ElsterIdNrSoftCA
 -----BEGIN CERTIFICATE-----
@@ -186,8 +146,7 @@ vByFoXLDf57jp0k2wGws31IBsPDmzlhlwziMstzk
 u4rfbLegLqZsXPVlY+6+k/vokTD9Oc0IdXHNk1u1dSTUc4rvxohZAxKW+5/EoLar
 zH7xfL59iS81Ok7F3kyWroq7Y6L5iG3+aXEVJyA9FfuGY2dKSVliqNQzEA==
 -----END CERTIFICATE-----
-Bag Attributes
-    friendlyName: CN=ElsterIdNrSoftCA,OU=CA,O=Elster,C=DE
+Bag Attributes: <No Attributes>
 subject=/C=DE/O=Elster/OU=CA/CN=ElsterIdNrSoftCA
 issuer=/C=DE/O=Elster/OU=RootCA/CN=ElsterRootCA
 -----BEGIN CERTIFICATE-----
@@ -216,8 +175,7 @@ SxtMZZVZ6RuHLwfz+QYJ+uKghjImnZ7Gy93+S1yD
 jftsxZFkkWV/2zx5Lw/pTruKSlWx4bSC9oWB9Tk1w10ST80JsVCFoeezonHq8zLF
 nO/mlyfpTHkJrRm1IavqyBq0rUKbTUP7
 -----END CERTIFICATE-----
-Bag Attributes
-    friendlyName: CN=ElsterRootCA,OU=RootCA,O=Elster,C=DE
+Bag Attributes: <No Attributes>
 subject=/C=DE/O=Elster/OU=RootCA/CN=ElsterRootCA
 issuer=/C=DE/O=Elster/OU=RootCA/CN=ElsterRootCA
 -----BEGIN CERTIFICATE-----

失われたメタデータに加えて、インポート時に秘密鍵を失うここでは、実際にはかなり問題があるようです。したがって、新しいPKCS#12をテストして、古いものを安全な場所にバックアップしてください。
でテスト

$ openssl version
OpenSSL 1.1.0f  25 May 2017

キーツール

keytoolは、キーと証明書の管理ユーティリティであり、Java JREの一部であり、Javaのキーストアを管理するためのものです。この場合、OpenJDKのバージョンを使用します。
これは(Linuxでは)/usr/bin/keytoolとして、またはJavaインストール済み環境、たとえば/usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/keytoolで)見つかります。

keytoolを使用すると、コンテナーのパスワード(キーストアのパスワード)のみを変更できます。内部のキーには触れないでください(ただし、おそらく望んでいるものではありません)。

$ keytool -list -storetype pkcs12 -keystore Certificates.p12
Enter keystore password:
Keystore type: PKCS12
Keystore provider: SunJSSE

Your keystore contains 2 entries

encryptionkey, Jan 1, 2012, PrivateKeyEntry,
Certificate fingerprint (SHA1): DD:42:1D:23:0E:11:BB:D7:0D:54:B7:10:D0:C6:F5:40:B6:B5:2C:A4
signaturekey, Jan 1, 2012, PrivateKeyEntry,
Certificate fingerprint (SHA1): 18:F6:3F:FA:29:79:08:18:34:9A:99:CA:B7:47:AD:B0:36:49:A2:EB

次に、コンテナのパスワードを変更します。これにより古いファイルが上書きされます

$ keytool -storetype pkcs12 -keystore Certificates.p12 -storepasswd
Enter keystore password:
New keystore password:
Re-enter new keystore password:

そして結果を比較します:

$ keytool -list -storetype pkcs12 -keystore Certificates.p12
Enter keystore password:
Keystore type: PKCS12
Keystore provider: SunJSSE

Your keystore contains 2 entries

encryptionkey, Jan 1, 2012, PrivateKeyEntry,
Certificate fingerprint (SHA1): DD:42:1D:23:0E:11:BB:D7:0D:54:B7:10:D0:C6:F5:40:B6:B5:2C:A4
signaturekey, Jan 1, 2012, PrivateKeyEntry,
Certificate fingerprint (SHA1): 18:F6:3F:FA:29:79:08:18:34:9A:99:CA:B7:47:AD:B0:36:49:A2:EB

$ openssl pkcs12 -info -in Certificates.p12 -noout
Enter Import Password:
MAC:sha1 Iteration 100000
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1024
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1024
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 50000
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag

そのため、keytoolは反復回数をアップグレードしましたが、コンテナ内のキーエイリアス情報(暗号化キー/署名キー)とファイルの順序は保持されています。

ただし、これはPKCS#12キーストアのパスワードのみを変更するであることに注意してくださいしない暗号化された秘密鍵のパスワードを変更します。これは、PKCS#12を使用して、異なる暗号化パスフレーズで異なる鍵を保存する場合に役立ちます。ただし、opensslはPKCS#12コンテナーと同じパスワードを共有するキーしか処理できないため、それらすべてを覚えておく必要があることも意味しますopensslを使用してこれらのキーをエクスポートすることはできなくなります

$ openssl pkcs12 -in Certificates.p12 -out temp0.pem
Enter Import Password:
Error outputting keys and certificates
140661347983616:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:535:
140661347983616:error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:../crypto/pkcs12/p12_decr.c:63:
140661347983616:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:../crypto/pkcs12/p12_decr.c:94:

その後、-nokeysを使用して、このファイルからのみ証明書をエクスポートできます。

$ openssl pkcs12 -in Certificates.p12 -out temp0.pem -nokeys

最後に、キーストア/コンテナのパスワードおよび暗号化されたキーを実際に変更します内部のパスワード(WHICH IS WHAT YOU WANT YOU WANT YOUWANT WANT YOUWANT WHAT YOUWANT WHAT))、この魔法の呼び出しを使用できます:

$ keytool -importkeystore \
    -srckeystore "${SRCFILE}" -srcstoretype PKCS12 -srcstorepass:file ssp \
    -destkeystore "${DSTFILE}" -deststoretype PKCS12 -deststorepass:file dsp -destkeypass:file dsp

Importing keystore Certificates.p12 to Certificates-final.p12...
Entry for alias encryptionkey successfully imported.
Entry for alias signaturekey successfully imported.
Import command completed:  2 entries successfully imported, 0 entries failed or cancelled

$ rm ssp dsp

ここで、SRCFILEDSTFILEはそれぞれPKCS#12ファイルであり、sspdspはソースパスフレーズと宛先パスフレーズを安全に書き込んだファイルです、以前(keytoolは:envの代わりに:fileを使用して環境変数から読み取ることもできます。また、コマンドラインでパスフレーズを渡すことができますが、これは安全ではなく、シェルの履歴に記録されることに注意してください。)

PKCS#12を再作成したら、コンテンツのメタデータと順序が保持されていることを確認できます。

$ keytool -list -storetype pkcs12 -keystore Certificates-final.p12
Enter keystore password:
Keystore type: PKCS12
Keystore provider: SunJSSE

Your keystore contains 2 entries

encryptionkey, Jun 17, 2018, PrivateKeyEntry,
Certificate fingerprint (SHA1): DD:42:1D:23:0E:11:BB:D7:0D:54:B7:10:D0:C6:F5:40:B6:B5:2C:A4
signaturekey, Jun 17, 2018, PrivateKeyEntry,
Certificate fingerprint (SHA1): 18:F6:3F:FA:29:79:08:18:34:9A:99:CA:B7:47:AD:B0:36:49:A2:EB

$ openssl pkcs12 -info -in Certificates-final.p12 -noout
Enter Import Password:
MAC:sha1 Iteration 100000
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 50000
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 50000
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 50000
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag
Certificate bag

$ openssl pkcs12 -in Certificates-final.p12 -out temp3.pem
Enter Import Password:
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

(ここでも、簡潔にするために、PEMのいくつかのbase64行を編集しました)

$ diff -up temp.pem temp3.pem
--- temp.pem
+++ temp3.pem
@@ -1,74 +1,74 @@
 Bag Attributes
     friendlyName: encryptionkey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 47 44
+    localKeyID: 54 4B 6A 30 42 67 45 62 39 32 65 75 33 40 45 47 47 42
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI/f7cW8Pvi6MCAggA
-MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECErznPIoMLg5BIIEyImqsql6iZH7
-I+ig1yWIlimEVNmSlgT1klEFnR83b8rIohq4cvX8lcrCs/5POc22023zlHx8dSnB
-+3OxV/uoGIwU3IhXlNb41dt3fF349dbnwJrDcv4Fw3lfc0v2Wl3P1b17P9/LJeUa
-EmmUy4UHQU2THwLQctyD1A==
+MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI9UYIDREjVVYCAggA
+MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECLWYUFhHE9lJBIIEyOIA+7TqLJ+V
+lpHBcm4GIwfiEuCRHBBxHg1QGeEN7MHW5imXe4ktFPlYJFU5jCZeHVyP+mkEEiNL
+PbozodEkdGweAGnpE2+wbOQOl67q+XdICgqRZAosjBUSnBOFYH0Lk8Gr/n0NNrdR
+yohBYL8PfeKyAzL4wKm5hQ==
 -----END ENCRYPTED PRIVATE KEY-----
 Bag Attributes
     friendlyName: signaturekey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 41 41
+    localKeyID: 54 4B 6A 30 42 67 45 62 39 32 65 75 33 40 45 46 43 40
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI8VzhkYDa8/oCAggA
-MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECIP5tmyQb2b/BIIEyNGpbxkv286e
-5gjectU9q6yecwP6/w2jGLN3jNwsUN3+3Zn92BRoPKsn5j5WryP4G/mu0QJnLmFM
-Cy92Cu41oUeR+q9ePmj+Z1Tjj//8uq4D5F0wZhcPjnhNqdnENfLxkt+CGywoX25A
-4Ia+Pt5EmZmx9vpca4j13Q==
+MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIN7z1PFx1ONACAggA
+MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECFI18ERY6QXpBIIEyIDmBKgCkqbK
+HF9qm8etjBpoyuBtElaNNyeQA9QwYCD2I0vYsPVcOGRE8VO6LmmFXIvx/KcK8rxi
+QSb4K6eM2VcrZqBqw6hHONi5/CkxYQpBcHCLOH+V/CR4i2BHu7pl/JdAIx/7emMX
+ul0+m+zoGCHlpWuOkCSe+A==
 -----END ENCRYPTED PRIVATE KEY-----
 Bag Attributes
     friendlyName: encryptionkey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 47 44
+    localKeyID: 54 4B 6A 30 42 67 45 62 39 32 65 75 33 40 45 47 47 42
 subject=/serialNumber=991954729C/CN=991954729
 issuer=/C=DE/O=Elster/OU=CA/CN=ElsterIdNrSoftCA
 -----BEGIN CERTIFICATE-----
@@ -158,7 +158,7 @@ n8L8DNLudrfbsj6m7Ir39fVi634a+v9k
 -----END CERTIFICATE-----
 Bag Attributes
     friendlyName: signaturekey
-    localKeyID: 54 4B 6A 30 42 67 43 63 35 33 6D 7A 30 45 44 47 41 41
+    localKeyID: 54 4B 6A 30 42 67 45 62 39 32 65 75 33 40 45 46 43 40
 subject=/serialNumber=991954729A/CN=991954729
 issuer=/C=DE/O=Elster/OU=CA/CN=ElsterIdNrSoftCA
 -----BEGIN CERTIFICATE-----

そして、秘密鍵が再暗号化されている(keytoolによって更新されたタイムスタンプが表示されている)ことがわかりますが、opensslの出力と比較すると、今回は、反復回数の変更を除いて、localKeyIDのみが変更されています。
すべてがまだそこにあり、元の順序です。ずっといい!

これが元のファイルに十分近いかどうかは、やはりユースケースによって異なります。アップグレードされたイテレーションカウントは、キーに対するブルートフォース攻撃からの保護を強化しますが、そのような高いイテレーションカウントを処理できない古いブラウザーまたはOSでそれらを使用する必要がある場合、致命的になる可能性があります。 (ただし、これらはIE 4.0およびWinNT時代のものなので、ほとんどの場合これで問題になることはありません。)

この手順をkeytoolで使用すると、アプリケーションで引き続き使用可能で有効な方法でPKCS#12キーのパスワードを変更できます。

11
nyov

this のページを見つけました。うまくいきますか?

リンク切れを回避するために、ここにブログ投稿の内容を示します。

次の手順で、opensslを使用して.pfx証明書のパスワードを変更できます。

現在の証明書をパスワードなしのpemタイプにエクスポートします。[user @ hostname]> openssl pkcs12 -in mycert.pfx -out tmpmycert.pem -nodesインポートパスワードを入力してください:MAC検証済みOK

パスワードなしのPEMをパスワード付きの新しいPFXファイルに変換します。

一時ファイルを削除します:[user @ hostname] rm tmpmycert.pem

これで完了です。新しいパスワードで新しいmycert2.pfxファイルを使用できます。

4
Ztyx

keytoolを使用すると、何もエクスポートする必要がなく、情報が失われることはありません。 keytoolは、両方のパスワード(キーストアと秘密鍵)を変更するために使用できます。ここでの鍵(しゃれはしません)は、最初に秘密鍵のパスワードに変更することです。そうでない場合、キーストアのパスワードが秘密鍵と異なる場合、keytoolは秘密鍵のパスワードを変更できません。

まず、秘密鍵のパスワードを変更します:keytool -keystore <your.p12> -keypasswd -alias <alias_of_private_key>

次に、キーストアのパスワードを変更します:keytool -keystore <your.p12> -storepasswd

これですべてです。

(注:このメソッドは、@ nyovのメソッドと同じ方法で繰り返し回数を変更します。)

2
user1585916