web-dev-qa-db-ja.com

証明書.cerファイルの作成方法は?

証明書を使用したいのですが、第三者機関から値が送られてきます。

-----BEGIN CERTIFICATE-----
[...]Many letters and digits[...]
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
[...]Many letters and digits[...]
-----END RSA PRIVATE KEY-----

しかし、IISに配置する.cerファイルが必要です。この.cerファイルを作成するにはどうすればよいですか?

回答ありがとうございます。

11
Tim

与えられたものは、証明書(信頼できる当事者によって署名された公開部分)と関連する鍵(秘密部分)です。簡単に言えば、リモートパーティがパブリック部分である証明書を使用して検証できるようにアプリが署名するための秘密鍵です。 SSL\TLSのようなプロトコルが正しく機能するように、サーバーは両方をリンクする必要があります。

あなたの場合、証明書だけでなく完全なペアが与えられています。指定された形式はPEMと呼ばれ、残念ながらWindows証明書マネージャーはそれをネイティブにインポートできません(私の知る限り)。

それを変換するために私が見つけた最も速い方法は、どこかに OpenSSL をインストールし、次のコマンドを使用して、ファイルをPKCS#12形式に変換することです。 CAから取得したファイルを2つの部分に分割する必要があります。1つは「certificate.txt」と呼ばれる証明書ブロックを含み、もう1つは「key.txt」と呼ばれる秘密鍵ブロックを含みます。

openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt

PKCS#12形式のファイルを取得したら、それをWindowsにインポートできます。

  • MMC([スタート]-> [実行]-> [MMC.exe])を開き、add\removeスナップインを選択して、証明書スナップインに追加します。
  • コンテキストとして「コンピューターアカウント」を選択します。
  • 「個人」フォルダを右クリックして、「タスク」>「インポート」を選択します
  • 作成したmycertkey.p12ファイルを見つけて、証明書と秘密鍵をコンピューターの証明書ストアにインポートします。

証明書がインストールされたら、IIS(これはIISバージョンによって異なります)

  • IIS管理コンソールを開き、証明書を割り当てるドメインを右クリックします。
  • プロパティを選択
  • [ディレクトリセキュリティ]タブを選択し、次に[サーバー証明書]を選択します。
  • 証明書Wizardプロンプトに従って、[次へ]を選択し、[証明書の割り当て]を選択してから、もう一度[次へ]を選択します。
  • インポートした証明書を見つけて選択し、「OK」をクリックします。

それでうまくいくはずです。

14
Helvick

この記事 は、証明書要求を作成し、署名機関(GoDaddy、Thawteなど)が証明書を発行した後に証明書をインストールするプロセスをカバーしています。

1
ThatGraemeGuy

貼り付けた文字列は、Base64 DERエンコードのX.509証明書です。

IISが期待する証明書ファイルの形式は何ですか?最も簡単な方法は、これを.cerファイルに保存してIISに渡すことです。

詳細は http://en.wikipedia.org/wiki/X.509#Certificate_filename_extensions を参照してください

0
AndreaG