ACME クライアント実装

最終更新日: | すべてのドキュメントを読む

Let’s Encrypt は、与えられたドメインを制御する権限があなたにあることを検証し、証明書を発行するために、ACME プロトコルを使用しています。Let’s Encrypt の証明書を取得するためには、使用する ACME クライアントを1つ選ぶ必要があります。

以下に示す ACME クライアントはサードパーティにより提供されているものです。サードパーティ製クライアントは Let’s Encrypt の制御下にはなく、レビューを行っているわけではないので、安全性や信頼性に対する保証をすることはできません。

ブラウザ内で動作する ACME クライアントがいくつか存在しますが、以下のリストには掲載していません。その理由は、手動で更新するワークフローを推奨しているためです。手動での更新はユーザーエクスペリエンスを悪化させる原因であり、更新を忘れるリスクが高まります。

おすすめのクライアント: Certbot

Let’s Encrypt では、ほとんどの人に Certbot クライアントをおすすめしています。Certbot を使えば、証明書が簡単に取得でき、ユーザーの希望に応じてインストール作業も行ってくれるからです。使用するのが簡単で、多数のオペレーティングシステムで動作し、ドキュメントも充実しています。

Certbot があなたが求める要件を満たさない場合や、単に他のクライアントを試してみたい場合でも、選択できるクライアントは以下に挙げるようにたくさんあります。リストは、実装言語や実行環境によってクループ分けをしています。

Bash

C

C++

Clojure

Configuration management tools

D

Domino

Docker

Go

HAProxy

Java

Lua

Microsoft Azure

nginx

Node.js

OpenShift

Perl

PHP

Python

Ruby

Rust

Windows / IIS

ライブラリ

4D

C++

D

Delphi

Go

Java

.NET

Node.js

Perl

PHP

Python

Ruby

Rust

Let's Encrypt と連携できるプロジェクト

クライアントやプロジェクトを追加する

もし上のリストに掲載されていない Let’s Encrypt と連携できる ACME クライアントやプロジェクトを知っていたら、Let’s Encrypt のウェブサイトリポジトリにある data/clients.json ファイルを更新して、プルリクエストを送ってください。

プルリクエストを送る前に、以下の点を確認してください。

  1. クライアントは Let’s Encrypt trademark policy を遵守しているか。
  2. クライアントは、ブラウザベースのものではなく、自動更新に対応しているか。
  3. あなたのコミットは、関連するセクションの一番最後に追加するものであるか (もし対応する場合は、「acme_v2」セクションの記入を忘れないでください!)。
  4. あなたのコミットは、clients.json のヘッダの lastmod の日付を更新しているか。