Javaのkeytoolは、デジタル証明書の/.cer/.p12ファイルを生成します

いかなる組織または個人がデジタル証明書を申請することができ、およびCAによって発行されたデジタル証明書を使用するには、独自のアプリケーションのために代理店を護衛しました。二つの一般的な証明書管理ツールます。keytool、OpenSSLは---> CSR(証明書署名要求、電子証明書発行申請)を構築、最終的にデジタル証明書を発行したCAに言及しました。P12は最近、P12ファイルを作成するには、keytoolが付属してJDKを使用する方法についての記録上のファイルを使用しました

秘密鍵と証明書を作成します。

1. cmdが、binディレクトリのJDKに切り替えます

2.コマンドを入力します。

keytool -genkeypair -alias serverkey -keyalg RSA -keysize 2048 -validity 3650 -keystore C:\Users\i343740\Desktop\p12test.keystore
复制代码

パラメータ説明:ストアパスキーストアファイルストアのパスワード、このパラメータを指定せず、後で(証明書の秘密鍵を含む)パスワードキーパス秘密鍵暗号化と復号化パスワードエイリアスエイリアスエンティティは、公開鍵アルゴリズムを使用して個人情報keyalg証明書をDNAME入力するように要求されます、デフォルトでは、ここで、DSAですRSAキーサイズキーの長さを使用して、有効期間指定されたキーストアキーストアファイルの格納場所(アルゴリズムに対応するデフォルトのアルゴリズムは、この時点でRSAのために必要とされるDSAてSHA1withDSA、支持体2048ではない長さです)

3.コマンドラインは、それの一部を失うこと自由に、ここだけの試験があり、いくつかの情報を入力するように要求します

What is your first and last name?
  [Unknown]:  xu
What is the name of your organizational unit?
  [Unknown]:  SAP
What is the name of your organization?
  [Unknown]:  SAP
What is the name of your City or Locality?
  [Unknown]:  ShangHai
What is the name of your State or Province?
  [Unknown]:  ShangHai
What is the two-letter country code for this unit?
  [Unknown]:  CN
Is CN=xu, OU=SAP, O=SAP, L=ShangHai, ST=ShangHai, C=CN correct?
  [no]:  Y
复制代码

4.最後の行:ここで私たちはここに、その上に鍵データベースのパスワードを設定しているため、キーのパスワードを入力しますが、上記のように、パスワードとパスワードの設定があれば2つのパスワードがない場合は、あなたが直接、のように入力することができますです同様に、我々は、新しいパスワードを入力して入力することができます

5.上記の操作後、秘密鍵データベースは、(CA証明書なし)デジタル証明書を作成されましたが、私たちの使用には影響しません。私たちは、相互作用パートナー暗号化されて送信するために、デジタル証明書をエクスポートすることができます。

ビューのキーストアの詳細

1.コマンドを入力します。

keytool -v -list -keystore C:\Users\i343740\Desktop\p12test.keystore
复制代码

キーストアには、詳細を見ることができます:

Keystore type: jks
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: serverkey
Creation date: Sep 18, 2018
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=xu, OU=SAP, O=SAP, L=ShangHai, ST=ShangHai, C=CN
Issuer: CN=xu, OU=SAP, O=SAP, L=ShangHai, ST=ShangHai, C=CN
Serial number: 68a01736
Valid from: Tue Sep 18 15:29:16 CST 2018 until: Fri Sep 15 15:29:16 CST 2028
Certificate fingerprints:
         MD5:  6D:02:83:77:1D:8F:80:4A:7E:71:10:E5:D1:F7:DA:A1
         SHA1: 50:A7:46:DE:BC:9E:0E:22:AC:AD:85:63:3D:29:FB:FF:75:66:55:3E
         SHA256: 78:C4:65:71:A2:54:2B:56:2E:7B:8F:16:7D:EB:53:46:4E:9C:0C:AF:55:F8:3E:0C:37:FC:CD:A6:8C:04:9E:84
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
......(还有一些)
复制代码

ローカル証明書(.cer)をエクスポートします

1.コマンドを入力します。

keytool -exportcert -keystore  C:\Users\i343740\Desktop\p12test.keystore -file C:\Users\i343740\Desktop\p12test.cer -alias serverkey
复制代码

Base64でエンコードされた出力-rfc -file -storepass指定したパスワードを指定されたライブラリエクスポートファイルのパスを指定-keystore証明書キーの-exportエクスポート操作:パラメータの

デジタル証明書を印刷

1.コマンドを入力します。

Keytool -printcert -file C:\Users\i343740\Desktop\p12test.cer
复制代码

P12証明書の証明書.cerのフォーマットを変換します

1.コマンドを入力します。

keytool -importkeystore -srckeystore C:\Users\i343740\Desktop\p12test.keystore -destkeystore C:\Users\i343740\Desktop\p12test.p12 -srcalias serverkey -destalias serverkey -srcstoretype jks -deststoretype pkcs12 -noprompt
复制代码

2.(ターゲット鍵データベースのパスワードをターゲットキーソース・データベース・パスワードとキーストアのパスワードを入力し、我々は.P12証明書のパスワードを設定することを意味し、ソースキーストアのパスワード、それは我々が最初に.cerの意味セットの証明書キーストアのパスワード)

P12の二つのコマンド:

証明書を生成します。

keytool -genkey -v -alias client -keyalg RSA-storetype PKCS12 -keystore  C:\Users\i343740\Desktop\p12test.p12
复制代码

輸出証明書:

keytool -export -alias client -keystore  C:\Users\i343740\Desktop\p12test.p12-storetype PKCS12 -storepass 123456 -rfc -file C:\Users\i343740\Desktop\p12test.cer
复制代码

おすすめ

転載: juejin.im/post/5cecf74d6fb9a07eaa225cbd