Windows system >> Windowsの知識 >  >> Windowsチュートリアル合成 >> システムFAQ >> OpenSSLツールを使用したX.509証明書の作成方法とその注意事項要約

OpenSSLツールを使用したX.509証明書の作成方法とその注意事項要約

  
I.ステップの要約//最上位CAの公開鍵証明書と秘密鍵ファイルを生成します。10年間有効(RSA 1024ビット、デフォルト)openssl req -new -x509 -days 3650 -keyout CARoot1024.key -out CARoot1024.crt //最上位CAの秘密鍵ファイルの保護パスワードを削除するopenssl rsa -in CARoot1024.key -out CARoot1024.key //最上位CAの公開鍵証明書と秘密鍵ファイルを生成する15年間有効(RSA 2048ビット、指定)openssl req -newkey rsa:2048 -x509 -days 5480 -keyout CARoot2048.key -out CARoot2048.crt //最上位のCA秘密鍵ファイルの保護パスワードを削除します。openssl rsa -in CARoot2048 Key -out CARoot2048.key //アプリケーション証明書/中間証明書opensslの秘密鍵ファイルを生成するopenssl genrsa -out app.key 2048 //秘密鍵ファイルopenssl reqに従ってアプリケーション証明書/中間証明書のcsrファイル(証明書要求ファイル)を生成する - New -key app.key -out app.csr //CAの公開鍵と秘密鍵のファイルでcsrファイルに署名し、アプリケーション証明書を生成します。有効期限は5です。年openssl ca -in app.csr -out app.crt -cert CARoot1024.crt -keyfile CARoot1024.key -days 1826 -policy policy_anything //5年間有効な中間証明書を生成するために、CAの公開鍵および秘密鍵ファイルでCSRファイルに署名します。 Ca -extensions v3_ca -in app.csr -out app.crt -cert CARoot1024.crt -keyfile CARoot1024.key -days 1826 -policy policy_anything上記は、ビルドターゲットに従って、ルート証明書を生成して証明書を適用する際に使用するすべてのコマンドです。違う、3つのグループに分けられる。最初の2つのグループは自己署名の最上位CAを生成するために使用されます(違いはキーの長さのみです)実際のアプリケーションでは、要件に従って1つのグループのみを選択できます。最後のセットは、中間証明書およびアプリケーション証明書を含む自己署名されていない証明書を生成するために使用されます。この記事に記載されているアプリケーション証明書は、特に下位証明書の発行には使用できず、個人の身元を証明するためにのみ使用できる証明書を指します。最上位のCAが両方を発行する場合、それは-extensions v3_caオプションの違いのみです。これは、発行された証明書に従属証明書を発行し続ける権利を与えることです。次に、詳細な手順2.1自己署名ルート証明書(最上位CA)を生成する典型的な例:openssl req -new-x509 -days5480 -keyoutCA.key -outCA.crt [1]コマンドオプションとパラメータの解釈この例では、各オプション(およびパラメータの意味は次のとおりです。req openssl -newのreqサブコマンドを使用して、新しい証明書要求を生成します。-x509自己署名証明書を生成します。-days 5480自己署名証明書は、5480日間有効です。 】-keyout CA.key秘密鍵ファイルの名前はCA.keyとして指定され、実行前に存在する秘密鍵ファイルで、元の名前がCA.keyでない場合は、CA.keyに変更され、それ以外の場合は、新しく生成された秘密鍵ファイルの名前が付けられます。 CA.key] -out CA.crt自己署名証明書によって生成された情報をファイルに出力することを指定します。ファイル名はCA.crtです[省略しないことをお勧めします]中でも、-days、-keyoutは省略できます。値、デフォルト期間は30日です[設定ファイルに関係なく、プログラム内の変数の内部初期化で指定]、プライベートキーファイル名のデフォルト値は設定ファイルopenssl.cnfの関連エントリで指定され、変更されませんprivkey.pemとして。オプション-outを省略すると、opensslは生成された証明書/証明書要求をファイルとして出力せず、デフォルトでファイル情報を画面に直接出力しますが、ほとんどの場合、これは要件を満たしていません。したがって、このオプションを省略しないのが最善です。 reqサブコマンドは、-keyオプションを使用して証明書要求用の既存の秘密鍵ファイルを指定できます。ただし、この例の場合、-newおよび-x509オプションは使用されていますが、-keyオプションは使用されていませんが、reqサブコマンドは自己署名証明書用のRSA秘密鍵(キー長のデフォルト)を自動的に生成します。値は設定ファイルopenssl.cnfの関連エントリで指定されます。変更されていない場合は1024ビットです。 [2]秘密鍵ファイルの暗号化パスワードの指定についてこの操作では、次のように暗号化パスワードを入力するように求められます。PEMパスフレーズの入力:確認 - PEMパスフレーズの入力:このパスワードは秘密鍵の暗号化に使用されます。ファイルCA.key内の秘密鍵情報。実行中に暗号化パスワードを入力したくない場合は、-passoutオプションを使用してコマンド内で直接指定できます。 -passoutの形式は次のとおりです:-passoutargここで、argはオプション-passoutの引数で、さまざまな形式があります" PASS_PHRASE_ARGUMENTS"の概要については、「OpenSSL公式ドキュメント」を参照してください。このセクションの典型的な例のコマンドは、次のようにオプション-passoutを使用して変更できます。openssl req -new-x509 -days5480 -keyoutCA.key -out CA.crt-passoutpass:1314 Linuxシステムではhistoryコマンドを使用してhistoryコマンドレコードを表示できますしたがって、セキュリティ上の理由から、通常はコマンドで直接パスワードを指定する必要はありません。これは、mysqlログインが-pオプションで直接ログインパスワードを指定しないという理由と一致しています。 [3]証明書要求ファイルのDNフィールドについて操作中に、次のように証明書の識別名情報フィールドであるDNフィールドと呼ばれる識別名フィールドを入力するように求められます。統合される情報の入力を求められようとしていますそこにあなたはいくつかのフィールドを持つことができますが、あなたはいくつかの空白を残すことができますいくつかのフィールドのためにデフォルト値があるでしょう、あなたが '。'を入力するなら、 -----国名(2文字のコード)[GB]:アメリカの州名または県名(フルネーム)[バークシャー]:カリフォルニアの市区町村名(例:都市)[ニューベリー]:組織名(例:company)[My Company Ltd]:GeoAuth Inc.組織単位名(例、section)[]:。一般名(例:あなたの名前またはサーバーのホスト名)[]:認証グローバルルートEメールアドレス[]:。これらのDNフィールドのほとんどにはデフォルト値があり、デフォルト値は設定ファイルopenssl.cnf内の関連エントリによって指定されます。 DNフィールドにデフォルト値を使用するには、情報を入力する必要はありません。特定のDNフィールドの値をnullに設定する場合は「Enter」キーをクリックし、「。」を入力して「Enter」をクリックします。;キーこれらのDNフィールドは、主に証明書所有者の身元を識別するために使用されます次の表は、省略形、説明、およびそれらを完成させるための手順の一部です。 [このセクションは、インタラクティブ百科事典のSSLエントリを参照してください。] DNフィールド名省略形説明要件を記入してください国名C証明書保有者の国国コードの要件。州または州の州または都道府県を示す2文字市区町村名L証明書所有者の所在地の市区町村省略可能組織名O証明書所有者が属する組織または会社組織単位名OUを記入するのが最もよい証明書所有者の所有者を省略することができます。共通名CN証明書所有者の共通名必須。非アプリケーション証明書の場合はある程度一意である必要があり、アプリケーション証明書の場合は通常、サーバードメイン名またはワイルドカードスタイルのドメイン名が入力されます。電子メールアドレス証明書保有者の通信用メールボックスは省略可能表2-1の説明DNフィールド
Copyright © Windowsの知識 All Rights Reserved