(バックグラウンドで発行された秘密鍵と結合させるので、CSR を発行した PC で実行する必要あり), cert.cer を取り込む場合は以下のようにします。, AD FS 等で使用する PKCS#12 証明書(.pfx) にする場合は、certlm.msc ※注意 サーバ証明書のインストールが完了するまでは、「保留中の要求」を削除しないでください。 証明書と秘密鍵はペアですので、一方が失われると動作しません。この場合、再度CSR作成をしていただくことになります。, 「ツール」→「インターネットインフォメーションサービス(IIS)マネージャ」を選択します。, サーバ証明書の機能ビューの右側「操作」メニューから、「証明書の要求の作成…」を選択します。, 2-1識別名プロパティを入力する画面が表示されます。 「証明書要求ファイル名」の入力画面が開きますので、CSRの保存先を指定し、【次へ】をクリックします。, 2-5.内容の確認とCSRの生成 証明書発行ができませんので、ご注意ください。, 2-4暗号化サービスプロバイダのプロパティ画面が表示されます。 「要求ファイルの概要」画面が開きますので、CSRに入力した内容を確認します。間違いが無ければ【次へ】をクリックします 。, 2-6.CSRの完成 https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/certreq_1?WT.mc_id=WD-MVP-36880, まずは CSR に必要な情報をテキストファイルで作ります。, 設定する箇所は「属性情報」です。, 例えば、東京都港区にある Cotoso という組織が sts.cotoso.com の CSR を作るか... 色々調べていると、Windows には CSR を作成する certreq.exe が入っているって事を初めて知りました(恥, 英語 CERT_NAME_STR_SEMICOLON_FLAG を追加します。, これを読み込ませて CSR.req を出力する場合は、以下のようにします。(要管理権限), 認証局から発行されたX.509 証明書(.cer)あるいは、PKCS#7 証明書(.p7b)を以下コマンドで取り込みます。 たとえば、Linux/UNIXの場合、/dev/urandomデバイスがあれば、以下のコマンドを実行しても作成できます。, ■ -rand ファイル名 ZbWIywRDaVNQ5Z/9cAvkDcJL0Y/kCy9GtZzquL5oO5W3qG01PwwJBAJ たとえば MIICXQIBAAKBgQDDIB53t0n7XngLyNheZd7plmMBvjGNrySFvkL/zF6 https://shop.example.jp/order/ 公開鍵の基となる値です。 publicExponent ではなく Exponent になっているのは、いわずもがな秘密鍵を CSR に含めることは無いからです。 OpenSSLは、公開キー基盤(PKI)およびHTTPS(HTTP over TLS)に関連するさまざまなタスクに使用できる汎用性の高いコマンドラインツールです。 このチートシートスタイルガイドは、一般的な日常のシナリオで役立つOpenSSLコマンドのクイックリファレンスです。 これには、秘密鍵、証明書署名要求、および証明書形式変換の生成のOpenSSLの例が含まれます。 OpenSSLのすべての使用をカバーしているわけではありません。, 最初のセクションは別として、このガイドはシンプルなチートシート形式で、自己完結型のコマンドラインスニペットです。, 完了しようとしているタスクに関連するセクションにジャンプします(ヒント:左下の_Contents_メニューまたはブラウザの_Find_機能を使用します), ほとんどのコマンドは、明確にするために( `+ \ +`記号を使用して)複数行に展開されたワンライナーです。, 認証局(CA)からSSL証明書を取得する場合は、証明書署名要求(CSR)を生成する必要があります。 CSRは、主にキーペアの公開キーといくつかの追加情報で構成されます。 これらのコンポーネントは両方とも、署名時に証明書に挿入されます。, CSRを生成するたびに、証明書に関する情報を提供するように求められます。 この情報は、識別名(DN)として知られています。 DNの重要なフィールドは*共通名*(CN)です。これは、証明書を使用する予定のホストの正確な完全修飾ドメイン名(FQDN)である必要があります。 CSRを作成するときに、コマンドラインまたはファイルから情報を渡すことにより、対話型プロンプトをスキップすることもできます。, DNの他の項目は、ビジネスまたは組織に関する追加情報を提供します。 認証局からSSL証明書を購入する場合、「組織」などのこれらの追加フィールドに組織の詳細を正確に反映する必要があることがよくあります。, CSR情報プロンプトに非対話的に答えたい場合は、CSR情報を要求するOpenSSLコマンドに `+ -subj +`オプションを追加することでそうできます。 上記のコードブロックに表示されるのと同じ情報を使用したオプションの例を次に示します。, CSRを理解したので、このガイドのOpenSSLのニーズをカバーしているセクションに自由にジャンプしてください。, このセクションでは、CSR(および秘密鍵がまだ存在しない場合)の生成に関連するOpenSSLコマンドについて説明します。 CSRは、認証局にSSL証明書を要求するために使用できます。, 前のセクションで説明した `+ -subj +`オプションを使用して、非対話的にCSR情報を追加できることに注意してください。, HTTPS(HTTP over TLS)を使用してApache HTTPまたはNginx Webサーバーを保護し、認証局(CA)を使用してSSL証明書を発行する場合は、この方法を使用します。 生成されたCSRをCAに送信して、CA署名付きSSL証明書の発行を要求できます。 CAがSHA-2をサポートしている場合、 `+ -sha256 +`オプションを追加して、SHA-2でCSRに署名します。, このコマンドは、2048ビットの秘密鍵( + domain.key +)とCSR( + domain.csr +)をゼロから作成します。, `+ -newkey rsa:2048 `オプションは、RSAアルゴリズムを使用して生成されたキーが2048ビットであることを指定します。 ` -nodes `オプションは、秘密鍵がパスフレーズで暗号化されるべきではないことを指定します。 ここに含まれていないが暗示されている ` -new +`オプションは、CSRが生成されていることを示します。, CAから証明書を要求するために使用する秘密キーが既にある場合は、この方法を使用します。, このコマンドは、既存の秘密鍵( + domain.key +)に基づいて新しいCSR( + domain.csr +)を作成します。, + -key +`オプションは、新しいCSRの生成に使用される既存の秘密キー( `+ domain.key +)を指定します。 `+ -new +`オプションは、CSRが生成されていることを示します。, 既存の証明書を更新したいが、あなたまたはあなたのCAが何らかの理由で元のCSRを持っていない場合、この方法を使用します。 基本的に、既存の証明書から情報を抽出するため、CSR情報を再入力する手間が省けます。, このコマンドは、既存の証明書( + domain.crt +)と秘密鍵( + domain.key +)に基づいて新しいCSR( + domain.csr +)を作成します。, `+ -x509toreq +`オプションは、X509証明書を使用してCSRを作成することを指定します。, SSL証明書を使用してサービスを保護したいが、CA署名付き証明書を必要としない場合、有効な(無料の)ソリューションは、独自の証明書に署名することです。, 自分で発行できる一般的な種類の証明書は、自己署名証明書です。 自己署名証明書は、独自の秘密鍵で署名された証明書です。 自己署名証明書は、CA署名証明書と同様にデータの暗号化にも使用できますが、ユーザーには、証明書がコンピューターまたはブラウザーによって信頼されていないという警告が表示されます。 したがって、自己署名証明書は、ユーザーにサービスのIDを証明する必要がない場合にのみ使用してください(例: 非実動サーバーまたは非公開サーバー)。, このセクションでは、自己署名証明書の生成に関連するOpenSSLコマンドについて説明します。, HTTPS(HTTP over TLS)を使用してApache HTTPまたはNginx Webサーバーを保護し、証明書がCAによって署名される必要がない場合は、この方法を使用します。, このコマンドは、2048ビットの秘密鍵( + domain.key +)と自己署名証明書( + domain.crt +)をゼロから作成します。, `+ -x509 `オプションは、自己署名証明書を作成するように ` req `に指示します。 ` -days 365 +`オプションは、証明書が365日間有効であることを指定します。 証明書に関連付ける情報を収集するために一時的なCSRが生成されます。, このコマンドは、既存の秘密鍵( + domain.key +)から自己署名証明書( + domain.crt +)を作成します:, `+ -x509 `オプションは、自己署名証明書を作成するように ` req `に指示します。 ` -days 365 `オプションは、証明書が365日間有効であることを指定します。 ` -new +`オプションはCSR情報プロンプトを有効にします。, すでに秘密鍵とCSRがあり、それらを使用して自己署名証明書を生成する場合は、この方法を使用します。, このコマンドは、既存の秘密キー( + domain.key +)および( + domain.csr +)から自己署名証明書( + domain.crt +)を作成します。, `+ -days 365 +`オプションは、証明書が365日間有効であることを指定します。, 証明書とCSRファイルはPEM形式でエンコードされますが、人間がすぐに読むことはできません。, このセクションでは、PEMエンコードファイルの実際のエントリを出力するOpenSSLコマンドについて説明します。, このコマンドを使用すると、プレーンテキストでCSR( + domain.csr +)の内容を表示および確認できます。, このコマンドを使用すると、証明書の内容( + domain.crt +)をプレーンテキストで表示できます。, このコマンドを使用して、証明書( + domain.crt +)が特定のCA証明書( + ca.crt +)によって署名されたことを確認します。, このセクションでは、秘密鍵の作成と検証に固有のOpenSSLコマンドについて説明します。, このコマンドを使用して、パスワードで保護された2048ビットの秘密キー( + domain.key +)を作成します。, このコマンドを使用して、秘密キー( + domain.key +)が有効なキーであることを確認します。, 秘密鍵が暗号化されている場合、パスフレーズの入力を求められます。 成功すると、暗号化されていないキーが端末に出力されます。, これらのコマンドを使用して、秘密鍵( + domain.key +)が証明書( + domain.crt +)およびCSR( + domain.csr +)と一致するかどうかを確認します。, 各コマンドの出力が同一の場合、秘密鍵、証明書、およびCSRが関連している可能性が非常に高くなります。, これは、暗号化されていない秘密キー( + unencrypted.key +)を受け取り、その暗号化バージョン( + encrypted.key +)を出力します。, これは、暗号化された秘密鍵( + encrypted.key +)を受け取り、その解読されたバージョン( + decrypted.key +)を出力します。, 私たちが取り組んできたすべての証明書は、ASCII PEMエンコードされたX.509証明書です。 他にもさまざまな証明書のエンコーディングとコンテナの種類があります。一部のアプリケーションは、他のアプリケーションよりも特定のフォーマットを優先します。 また、これらの形式の多くは、秘密鍵、証明書、CA証明書などの複数のアイテムを単一のファイルに含めることができます。, OpenSSLを使用して、これらのさまざまな形式との間で証明書を変換できます。 このセクションでは、可能な変換のいくつかについて説明します。, PEMエンコードされた証明書( + domain.crt +)をバイナリ形式のDERエンコードされた証明書( + domain.der +)に変換する場合は、このコマンドを使用します。, DERエンコードされた証明書( + domain.der +)をPEMエンコードされた証明書( + domain.crt +)に変換する場合、このコマンドを使用します。, PKCS7ファイル( + domain.p7b +)にPEM証明書( + domain.crt +`および `+ ca-chain.crt +)を追加する場合は、このコマンドを使用します。, 1つ以上の `+ -certfile +`オプションを使用して、PKCS7ファイルに追加する証明書を指定できることに注意してください。, P7Bとも呼ばれるPKCS7ファイルは、通常、JavaキーストアおよびMicrosoft IIS(Windows)で使用されます。 それらは、証明書とCA証明書を含むことができるASCIIファイルです。, PKCS7ファイル( + domain.p7b +)をPEMファイルに変換する場合は、このコマンドを使用します。, PKCS7ファイルに複数のアイテムが含まれている場合(例: 証明書とCA中間証明書)、作成されるPEMファイルにはすべてのアイテムが含まれます。, 秘密鍵( + domain.key +)と証明書( + domain.crt +)を取得し、それらをPKCS12ファイル( + domain.pfx +)に結合する場合、このコマンドを使用します。, エクスポートパスワードの入力を求められますが、空白のままにすることができます。 この場合、証明書を単一のPEMファイル( + domain.crt +)に連結することにより、証明書のチェーンをPKCS12ファイルに追加できることに注意してください。, PFXファイルとも呼ばれるPKCS12ファイルは、通常、Micrsoft IIS(Windows)で証明書チェーンをインポートおよびエクスポートするために使用されます。, PKCS12ファイル( + domain.pfx +)を変換してPEM形式( + domain.combined.crt +)に変換する場合は、このコマンドを使用します。, PKCS12ファイルに複数のアイテムが含まれている場合(例: 証明書と秘密キー)、作成されるPEMファイルにはすべてのアイテムが含まれます。, `+ openssl version +`コマンドを使用して、実行しているバージョンを確認できます。 実行しているOpenSSLのバージョン、およびコンパイルされたオプションは、使用可能な機能(およびコマンドラインオプション)に影響します。, 次のコマンドは、実行しているOpenSSLバージョンと、それがコンパイルされたすべてのオプションを表示します。, このガイドは、次の詳細(前のコマンドの出力)でOpenSSLバイナリを使用して書かれています。, それは、ほとんどの人がOpenSSLを使用してSSL証明書を処理する方法をカバーするはずです! ここには記載されていない他の多くの用途があるので、コメントで他の用途を尋ねたり提案したりしてください。, コマンドのいずれかで問題が発生している場合は、コメントしてください(そしてOpenSSLバージョンの出力を含めてください)。, FreeBSDのシングルユーザーモードを使用してファイルシステムの破損から回復する方法, Ubuntu 18.04でMySQLまたはMariaDBルートパスワードをリセットする方法, Certbotスタンドアロンモードを使用して、CentOS 7でSSL証明書を暗号化して取得する方法, Ubuntu 16.04で複数のApache仮想ホストの証明書を暗号化するための設定方法, Ubuntu 14.04でLet’s Encryptを使用してApacheを保護する方法, DigitalOcean KubernetesでCert-Managerを使用してNginx Ingressをセットアップする方法. https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1?WT.mc_id=WD-MVP-36880, 日本語(機械翻訳がイケてないですけど) CSRとは、サーバ証明書を発行するための署名要求(Certificate Signing Request)です。グローバルサインでは、提出されたCSRに認証機関としての署名をして、サーバ証明書を発行します。 69:91:c2:a4:ed:9b:b3:05:b8:30:28:e6:d7:d0:69:7c:75:58: 5b:82:84:a6:1a:25:e4:e2:63:f3:d8:3e:8f:4b:8d:6e:ae:46: 2c:31:4c:08:ff:08:5f:9e:4b:86:86:67:25:b1:f6:50:ee:c7: cb:0c:4d:0d:84:68:6f:4c:e7:98:58:45:72:86:b3:91:75:4e: 78:f5:b1:78:96:4f:1c:b5:9a:26:3f:34:31:36:0a:9a:5e:76: 91:3c:c4:95:85:71:ba:0b:c5:d7:7c:14:f8:21:8a:96:6c:a8: 73:95:52:e2:d5:a0:67:99:39:99:db:dd:8f:23:e3:70:30:de: 4e:a8:c3:45:87:28:c6:6c:36:71:c5:f5:86:0c:de:d7:6f:b3: af:03:32:3f:99:d9:be:2f:49:c7:bd:24:64:aa:43:9d:56:24: a3:ea:92:fc:a9:f6:e0:03:78:6d:30:98:2a:4f:3e:1d:6a:95: e6:41:c9:d3:0e:c6:b1:e3:71:dc:4f:60:c1:6e:8d:30:82:ca: 6b:ec:75:d3:ec:db:88:0a:22:a4:4a:97:30:05:37:2d:77:a6: 51:f4:22:34:c1:95:1f:23:45:24:0a:a2:fb:c7:5e:80:a9:ac: 3c:5c:88:be:15:f3:a0:a8:a1:cc:65:ec:05:23:98:93:d1:43: MIIC6TCCAdECAQAwgYoxCzAJBgNVBAYTAkpQMRAwDgYDVQQIDAdPa2luYXdhMQ8w, DQYDVQQHDAZLYWRlbmExHDAaBgNVBAoME0xPVkUgTElWRSEgQ28uLEx0ZC4xEzAR, BgNVBAMMCnR1cm5pbnAuanAxJTAjBgkqhkiG9w0BCQEWFmluZm9ybWF0aW9uQHR1, cm5pbnAuanAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTrk7o6YoW, HFlT4ida3CTXt7OEOqXBrPAY9kVmv41eObrn1xqtcAFsAkfiaF4v3vxNpqSrmb6T, d+f6L3ezPkQPTdstHai0c5A/AaGZoF0fdaC5Coy8VrU6un1bo52zOTmfnOMeigu8, o8eSeVFkagwKJu1KlNyjChYRgMcoC60aK5xKNW2PGtP/6US/mKOcetV7HTsQ8CpN, 66uhL4sPXA/VtU7DOVGRYsh3tkxqpXZhkZkQ4CTAFP73dAGQiS+pQO7vKmzd+M1U, /8PElinVMCICIiH2ghNyN4uHZuLuHemL2r45I+PFExgN7OIht6FtDlIMdujX7tJY, UnkL0sobzjBZAgMBAAGgGTAXBgkqhkiG9w0BCQcxCgwIUEBzc3cwcmQwDQYJKoZI, hvcNAQELBQADggEBAGmRwqTtm7MFuDAo5tfQaXx1WFuChKYaJeTiY/PYPo9LjW6u, RiwxTAj/CF+eS4aGZyWx9lDux8sMTQ2EaG9M55hYRXKGs5F1Tnj1sXiWTxy1miY/, NDE2CppedpE8xJWFcboLxdd8FPghipZsqHOVUuLVoGeZOZnb3Y8j43Aw3k6ow0WH, KMZsNnHF9YYM3tdvs68DMj+Z2b4vSce9JGSqQ51WJKPqkvyp9uADeG0wmCpPPh1q, leZBydMOxrHjcdxPYMFujTCCymvsddPs24gKIqRKlzAFNy13plH0IjTBlR8jRSQK, [root@localhost conf]# openssl x509 -text < server.crt, Signature Algorithm: sha256WithRSAEncryption.