どのように変換す.pfxファイルをキーストアと非公開鍵?
-
26-09-2019 - |
質問
ただAndroidアプリケーション(.apk
).
していま .pfx
ファイルです。に変換して .cer
ファイルをInternet Explorerに変換され .cer
へ .keystore
keytoolを使.しかしサイン .apk
とjarsignerでもそうなの。キーストアなコンテンツをするものとする。
うになっているが悪いのでしょうか。
解決
の後JDK 1.6または使用する
それはそれだけでkeytoolの下のコメントでジャスティンによって指摘されている次のコマンドを使用してこれを行うことが可能である(JDK 1.6以降でのみが):
keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12
-destkeystore clientcert.jks -deststoretype JKS
の JDK 1.5以下の
の使用OpenSSLはそれをすべて行うことができます。 JGuruのの上のこの答えは、私がこれまでに発見したことを最善の方法であり、ます。
まず、あなたが OpenSSLのにインストールされていることを確認してください。多くのオペレーティングシステムは、すでに私は、Mac OS Xで見られるように、それがインストールされています。
次の2つのコマンドは、Java PKCS12キーストアとして開くことができるフォーマットにPFXファイルを変換します
openssl pkcs12 -in mypfxfile.pfx -out mypemfile.pem
openssl pkcs12 -export -in mypemfile.pem -out mykeystore.p12 -name "MyCert"
2番目のコマンドで指定された名前は、新しいキーストア内の鍵の別名であること。 このNOTE
次のコマンドを使用してJavaのkeytoolユーティリティを使用してキーストアの内容を確認することができます:
keytool -v -list -keystore mykeystore.p12 -storetype pkcs12
最後にあなたがする必要がある場合は、新しいキーストアに上記で作成したキーストアをインポートすることにより、JKSキーストアにこれを変換することができます:
keytool -importkeystore -srckeystore mykeystore.p12 -destkeystore clientcert.jks -srcstoretype pkcs12 -deststoretype JKS
他のヒント
jarsignerには、あなたのjarファイルに署名するためのキーストアとしてあなたPFXファイルを使用することができます。あなたのPFXファイルには秘密鍵とあなたがそれをエクスポートする証明書チェーンを持っていることを確認してください。他のフォーマットに変換する必要はありません。
:トリックは、あなたのPFXファイルののエイリアスを得ることです keytool -list -storetype pkcs12 -keystore your_pfx_file -v | grep Alias
あなたの別名を持っていたら、署名が簡単です。
jarsigner.exe -storetype pkcs12 -keystore pfx_file jar_file "your alias"
二つのコマンド上記のあなたがPFXの輸出で指定したパスワードを入力するように求められます。あなたが持っているしたい場合は、パスワードはクリアテキスト使用中の -keystore のスイッチ
前の -storepass のスイッチを干します、あなたの仕事を賞賛したら署名します:
jarsigner.exe -verify -verbose -certs yourjarfile
私はインポートする方法を説明します。こののページを発見しましたJKS(Javaのキーストア)にPFXます:
keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype jks -deststorepass PASSWORD -destalias ALIAS_NAME
おPFXファイルが含まれる必要がある鍵を囲んで同じ時間を共有する。輸出の鍵と証明書から直接PFXファイル(例えば、OpenSSLを使用)および輸入しておJava keystore.
編集
さらに情報:
- OpenSSLをダウンロードWindows こちらの.
- 輸出鍵:
openssl pkcs12 -in filename.pfx -nocerts -out key.pem
- 輸出証明書
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
- 輸入の鍵と証明書のJavaのキーストアを使用
keytool
.
ジャスティン(上記)が正確です。しかし、あなたがから証明書を取得する人に応じて、(中間CA、ルートCAが関与かない)ことを心に留めておくか、どのようにPFXがエクスポート/作成され、時には彼らは、証明書チェーンが欠落することができます。インポートした後、あなたはてPrivateKeyEntryタイプの証明書を持っていますが、1
の長さのチェーンを持つでしょうこの問題を解決するには、いくつかのオプションがあります。私の心の中で簡単にオプションが(チェーン内のすべての証明書を含めるのオプションを選択)IEにPFXファイルをインポートおよびエクスポートすることです。 IE内の証明書のインポートおよびエクスポートプロセスは非常に簡単で、よく他の場所で文書化する必要があります。
ジャスティンは、上記の指摘のようには、エクスポートしたら、キーストアをインポートします。 さて、あなたがタイプてPrivateKeyEntryの証明書を持つ以上1の証明書チェーンの長さを持つキーストアを持つことになります。
あなたが上記をしない場合は、特定の.NetベースのWebサービスクライアントは、(信頼関係を確立することができません)アウトエラーます。
すJDK1.5以下には、keytoolユーティリティがない -importkeystore
オプション JDK1.5keytool書 の溶液によるMikeDのみでご利用可能となりますの .pfx
装置付きの機械は、新しいJDK(1.6以上)
別のオプションは、JDK1.5以下の場合Oracle WebLogic製品は以下の指示に従って本文: 使用PFXおよび証明書のPEM形式とキーストア.に合わせて、ここでしか変換 .pem
形式を抽出しよう証明書情報をテキスト形式で取り込むことにより .jks
形式 java utils.ImportPrivateKey
ユーティリティ(本体付属WebLogicます。