Linuxサーバ上でApache用のPFX証明書ファイルを変換するにはどうすればよいですか?LinuxサーバでApache用のPFX証明書ファイルを変換するにはどうすればよいですか?
Windows証明書サービスからPFXを作成しました。 PFXには、証明書チェーン全体が含まれています。 (これは単なるルートであり、主な証明書であり、中間ではありません)
私をリードしてください。
Linuxサーバ上でApache用のPFX証明書ファイルを変換するにはどうすればよいですか?LinuxサーバでApache用のPFX証明書ファイルを変換するにはどうすればよいですか?
Windows証明書サービスからPFXを作成しました。 PFXには、証明書チェーン全体が含まれています。 (これは単なるルートであり、主な証明書であり、中間ではありません)
私をリードしてください。
OpenSSLを使用すると、PFXを変換することができ、次のコマンドでApacheの互換性のある形式へ:
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
最初のコマンドはdomain.cer
に公開鍵を抽出します。
2番目のコマンドは秘密鍵をdomain.key
に抽出します。
とApacheの設定ファイルを更新します。
<VirtualHost 192.168.0.1:443>
...
SSLEngine on
SSLCertificateFile /path/to/domain.cer
SSLCertificateKeyFile /path/to/domain.key
...
</VirtualHost>
は周りのいくつかのツールを取ったが、これは私がしてしまったものです。
IIS7で証明書を生成してインストールしました。 は
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
NOTEをPKCS12に変換
IIS
からPFXとしてエクスポート:PEMフォーマットにPFXを変換しながら、OpenSSLは単一のファイルにすべての証明書と秘密鍵を配置します。テキストエディタでファイルを開き、各証明書&秘密鍵(BEGIN/END文を含む)を独自のテキストファイルにコピーし、それぞれcertificate.cer、CAcert.cer、privateKey.keyとして保存する必要があります。-----BEGIN PRIVATE KEY-----
Saved as certificate.key
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
Saved as certificate.crt
-----END CERTIFICATE-----
Webminでapache vhostに追加されました。
秘密鍵と証明書を同じファイルに入れないようにするには、 '-nokeys'(秘密鍵を抽出しない)と' -clcerts'(証明書のみを抽出する)を使います。これはまったくマテイが言ったことです。 – Bruno
ブルーノ、ありがとう。私は彼に正しい答えの賞を与えるでしょう。知っておいてよかった。 – AaronJAnderson
Apacheで動作させるには、追加ステップが1つ必要でした。
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain_encrypted.key
openssl rsa -in domain_encrypted.key -out domain.key
最後のコマンドは、Apacheで使用するためにキーを復号化します。 domain.keyファイルは次のようになります。
-----BEGIN RSA PRIVATE KEY-----
MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
-----END RSA PRIVATE KEY-----
いいね! BitnamiやCAのcrtを必要とする人には、Andronからの回答を見て、CAのcrtを含めてください。 Andranの回答のdomain-ca.crtの代わりにserver-ca.crtを使用し、domain.cerの代わりにserver.crtを使用し、マイケルフェランテのserver.key(domain.keyの代わりに)命名法を使用します。ここで答えてください。 – OldGreg
SSLSHopperには、さまざまなサーバー間を移動するためのかなり徹底した記事があります。
http://www.sslshopper.com/how-to-move-or-copy-an-ssl-certificate-from-one-server-to-another.html
ただ、このページの下部にある関連リンクを選択します。
注:秘密鍵にアクセスできるオンラインコンバータがあります。彼らはおそらく信頼されるかもしれませんが、OPENSSLコマンド(このサイトにも示されています)を使用して秘密鍵を自分のマシンにプライベートに保つ方が良いでしょう。
さらに
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
に私も生成認証局(CA)証明書:
openssl pkcs12 -in domain.pfx -out domain-ca.crt -nodes -nokeys -cacerts
とApacheの設定ファイルでそれを含める:
<VirtualHost 192.168.0.1:443>
...
SSLEngine on
SSLCertificateFile /path/to/domain.cer
SSLCertificateKeyFile /path/to/domain.key
SSLCACertificateFile /path/to/domain-ca.crt
...
</VirtualHost>
これはにコマンドが含まれていません認証局ファイルを生成します。以下の答えはより完全です。 – Hawkee
これはWindowsでも動作します。 +1は私のお尻を保存。 – craigmoliver