.crtおよび.keyファイルとは何ですか?また、それらを生成する方法は?


60

私は次の構成を持っています:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

しかし、私は生成方法.crt.keyファイルを知りません。

回答:


65

crtファイルとキーファイルは証明書の両方の部分を表します。キーは証明書の秘密キーであり、crtは署名付き証明書です。

これは、証明書を生成する方法の1つにすぎません。別の方法は、両方をpemファイル内またはp12コンテナ内に置くことです。

これらのファイルを生成するにはいくつかの方法があります。証明書に自己署名する場合は、このコマンドを発行するだけです。

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

自己署名証明書では、ブラウザーの信頼リストにある証明機関によって署名されていないため、ブラウザーは証明書が「信頼されていない」ことを警告することに注意してください。

それ以降は、CAを作成して独自の信頼チェーンを生成するか、VerisignやThawteなどの会社から証明書を購入できます。


「openssl genrsa 1024> host.key」を実行した後、端末で次のようになりました。「e is 65537(0x10001)」はエラーですか?
モハンマドアリアクバリ

1
はい、これはopensslがopenssl.cnfで定義されているデフォルトファイルにランダムシードを書き込めないことを意味します。デフォルトではCentOS / RHELではこのファイルは/etc/pki/tls/openssl.cnfにあります。この場合、rootと同じコマンドを実行して、どのように実行されるかを確認してください。
リンクスマン

ルートとして試してみましたが、「e is 65537(0x10001)」を再度取得しました
Mohammad Ali Akbari

1
マシンでSELinuxをアクティブにしましたか?/ var / log / messagesをチェックして、opensslがファイルを書き込めない理由を確認してください
-lynxman

4
letsencrypt.orgは無料のSSLプロバイダーです。それらの会社に多くのお金を払う代わりに、それを見てください。
カーン

6

これらは、SSL証明書のパブリック(.crt)およびプライベート(.key)部分です。大量の関連情報については、この質問を参照してください。たとえば、自分で証明書を生成するか、購入する場合です。


基本的な質問ですが~/.ssh、CSRファイルをSSLプロバイダーにアップロードするときに、.keyファイルをフォルダーにコピーする必要があると仮定していますか?
カシム

1
@Qasim SSLファイルは、SSHとは何の関係もありません(これは.ssh-folderが属します)。
mad_vs
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.