Let's Encryptを内部サイト/アプリケーションに使用することについての混乱を解消したいと思っています。この情報を他の場所で見つけることができませんでした。
アプリケーションでSSLの使用を許可するために、Certbotと組み合わせたLet's Encryptを使用したいと思います。
質問:
私の質問のいずれかが無知であることをお詫び申し上げます。この種のものに関する私の知識は非常に限られています。そうは言っても、私が必要とすることを達成するためのより良いオプションがあるかもしれないので、私は提案を受け入れます。このソリューションでは、アクセスが必要な各クライアントマシンにCAを追加する必要がないため、自己署名証明書でLet's Encryptを選択しました。
Let's Encryptにはインターネット接続が必要ですが、それは eFF それを実行するISRG。 Certbot(コンピューター上で実行)は、Let's Encryptと通信して証明書を発行および更新しますが、コンピューターからの接続が必要です。
有効なドメイン名(Let's Encryptの場合)は、設定したドメインであり、グローバルDNSインフラストラクチャによって解決できます-実際には、購入したドメイン名、または購入したドメイン名に関連するサブドメイン(ただし、 www.tkなどのあいまいなレジストリから無料のドメインを取得することが可能です)
Let's Encryptキーを使用するようにアプリケーションを設定する必要があります。 Certbotが行うことは、(a)ほとんどすべてのブラウザが受け入れるキーのセットを持ち、(b)の所有者を確認した後にキーに署名することです。キーは、署名されたキーのDNSも制御します。 CertbotはApache/NGINXで使用でき、簡単に実行できますが、どちらのソフトウェアも実行する必要はありません。同様にCertbotの出力(さらに必要に応じてオプションの構成ファイルに追加しますが、必須ではありません)は署名付き公開鍵です。この秘密キーは、秘密キー(および中間キー)とともに一般的に生成されます。これは、SSLを使用できるソフトウェアを使用し、Let's EncryptをCAとして認識し、ファイル形式を認識するために使用できます。これはソフトウェアで設定する必要があります。
あなたが求めていることは無意味です-ルート証明書を持っているならCertbotを使用しません。 OpenSSLライブラリを使用して独自のCAインフラストラクチャを作成できます。これを簡単にしたい場合は、easy-rsaなどのpkiツールがあります。 Certbotはレジストリではなく、SSLライブラリでもありません。標準に準拠した方法でドメイン名の所有権を確認し、Let's Encryptが提供する証明書を管理するスクリプトです。独自のCA(認証局-ルート証明書とは何か)を設定している場合は、役に立ちません。