証明書の透明性のWebhooks

証明書の透明性のWebhooksにより、証明書アラートまたはフィッシングアラートをサブスクリプション登録しているすべてのドメインの、新規発行された証明書のリアルタイム通知を受け取れます。

通知を受け取った際、ペイロードをすぐに解析してコンテンツを使用し、証明書の透明性APIの/certificatesエンドポイントをクエリして、新規発行された証明書の詳細な情報を取得できます。

証明書アラートWebhook

証明書アラートのWebhookを設定するには、まず当社のスタートガイドを使用して、エンドポイントの作成Webhooks製品の設定を行います。設定中、証明書の透明性オブジェクトを選択し、証明書フィールドをサブスクリプション登録します。

1つ以上のドメインに証明書アラートをサブスクリプション登録するまでは、証明書アラートWebhookを受け取らない点に注意してください。

通知ペイロードのサンプル

証明書アラートをサブスクリプション登録しているドメインの新規証明書が発行されると、次のようなJSONペイロードのWebhook通知が送信されます。

{
  "entry": [
    {
      "id": "1381739901945384",
      "changed_fields": [
        "certificate"
      ],
      "time": 1510160948
    }
  ],
  "object": "certificate_transparency"
}

証明書アラートペイロードの解析

すべてのWebhook通知ペイロードはすべてJSONでフォーマットされているので、一般的なJSON解析方法やパッケージを使って解析できます。

スクリプトではcertificateフィールドを確認する必要があります。ペイロードにこのフィールドが存在する場合は、ドメインまたはIDを使ってすぐに証明書透明性APIをクエリしてなんらかの新規証明書がないか検索します。

フィッシングアラートWebhook

証明書アラートのWebhookを設定するには、まず当社のスタートガイドを使用して、エンドポイントの作成Webhooks製品の設定を行います。設定中、証明書の透明性オブジェクトを選択し、フィッシングフィールドをサブスクリプション登録します。

1つ以上のドメインにフィッシングアラートをサブスクリプション登録するまでは、証明書アラートWebhookを受け取らない点に注意してください。

通知ペイロードのサンプル

フィッシングアラートをサブスクリプション登録している正当なドメインに対してフィッシングを行っている疑いがあるドメインの新規証明書が発行されると、次のようなJSONペイロードのWebhook通知が送信されます。

{
  "entry": [
    {
      "changes": [
        {
          "field": "phishing",
          "value":
            {
              "ct_cert":
                {
                  "id": "123",
                  "certificate_pem": "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----\n",
                  "cert_hash_sha256": "f2297..."
                },
                "phishing_domains": [
                  "facebook.com.evil.com",
                  "xn—facbook-9gg.ml"
                ],
                "phished_domain": "facebook.com"
            }
        }
      ],
      "id": "123",
      "time": 1524762838
    }
  ],
  "object": "certificate_transparency"
}

フィッシングアラートペイロードの解析

WebhooksペイロードはJSONでフォーマットされているので、一般的なJSON解析方法やパッケージを使ってペイロードを解析できます。

スクリプトでphishing_domainsフィールド値を解析する必要があります。この値には、フィッシングを行った可能性があるドメインの名前が含まれています。それから、ドメインまたはIDを使ってすぐに証明書透明性APIをクエリして、新規証明書がないか検索します。