web-dev-qa-db-ja.com

+ certbotを暗号化しましょう:秘密鍵はどこですか

私はopensslを使用して自分のWebサイトのキーと証明書を作成しています。これは正常に動作しますが、ブラウザからの苦情につながります。

それでは、適切な証明書を取得するためにLet's Encryptに移動したいと思います。

設定は非常に簡単でした、私はcertbotをインストールして、彼らのウェブサイトのチュートリアルに従いました。

certbotはフラグcertonlyとともに使用されることになっていることを読んで驚いた。直感的には、これは証明書のみが作成されることを意味します。セットアップ中に既存のキーを要求するはずです。そうではなく、新しい証明書と新しいキーの両方を作成します。

Sudo certbot certonly --standalone -d xxxx

...

Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

....

しかし、このキーは存在しないようです。サーバーにパスを入力すると、キーが見つからないというメッセージが表示されます。

証明書の読み取り権限に問題があり、この質問で解決しました: https://serverfault.com/questions/773440/lets-encrypt-ssl-certificate-file-not-found-error-but-still -働く

解決策は、アクセス権を変更することでした。

しかし、私は自分の秘密鍵でそれを行うのをためらっています。インターネットのセキュリティは非常に複雑なので、秘密鍵と同じくらい重要なものに関する権限を変更した場合の結果については、本当にわかりません。

新しく生成された証明書を使用するにはどうすればよいですか。対応する秘密鍵はどこにありますか?追加の構成を適用する必要がありますか?

13
lhk

無視csrおよびkeys dirs;それらは、基本的に、発行中の一時ファイルを含みます。

Certbotは常にすべての証明書の最新バージョンを/etc/letsencrypt/live

/etc/letsencrypt/live 
├──mail.example.org 
│├──cert.pem-> ../../archive/mail.example。 org/cert8.pem 
│├──chain.pem->../../archive/mail.example.org/chain8.pem
│├──fullchain.pem-> ../../archive/mail.example.org/fullchain8.pem
│└──privkey.pem-> ../../ archive/mail.example.org/privkey8.pem 
└──www.example.org 
├──cert.pem-> ../../archive/www.example.org/cert7.pem
├──チェーン.pem-> ../../archive/www.example.org/chain7.pem
├──fullchain.pem-> ../../archive/www.example.org/fullchain7。 pem 
└──privkey.pem-> ../../archive/www.example.org/privkey7.pem

したがって、次のようにサービスを構成します。

SSLCertificateFile     /etc/letsencrypt/live/www.example.org/fullchain.pem
SSLCertificateKeyFile  /etc/letsencrypt/live/www.example.org/privkey.pem

この方法では、サービスを更新するたびに、サービスをリロードするだけで、再構成する必要はありません。 certbotの「デプロイフック」機能を使用して、権限の変更、サービスのリロード、および自動化が必要なその他すべてを自動化します。

22
user1686