本文へ移動
QKQuickKitEN
DNSLOCALブラウザ内で処理

CAA レコード作成

issue・issuewild・iodef・未知のプロパティタグ用に DNS CAA レコードを検証・作成します。証明書発行の認可確認は行いません。

入力と主要な処理をブラウザ内で行い、その入力内容をQuickKitサーバーへ送信しない設計です。

CAA レコード

仕組みと使い方

入力されたフィールドから CAA レコードのプレゼンテーション形式を作成します。プロパティタグは大文字小文字を区別しない、空でない ASCII 英数字です。`issue`、`issuewild`、`iodef` は認識し、構文上有効な未知のタグはそのまま保持します。予約フラグビットはゼロでなければならないため、フラグは 0 または 128 です。プロパティ値はプレゼンテーション構文ではなくテキストとして入力します。引用符は付けず、`\DDD` エスケープもこの欄では解釈しません。出力時にテキストを UTF-8 にエンコードし、ツール側で引用符を付けて `"`・`\`・表示可能 ASCII 以外の各バイトを `\DDD` でエスケープします(`ÿ` は `\195\191` になります)。UTF-8 でない任意のバイト列を直接入力することはできません。テキストは入力どおりに保持します。未知タグの値では先頭末尾のスペース・タブもそのまま残ります(RFC 8659 §4.1 では値はバイナリです)。`issue` と `issuewild` だけは文法上意味を持たない `*WSP` として除去し、`iodef` は値が URL なので先頭末尾の空白を拒否します。`issue` と `issuewild` は RFC 8659 §4.2 の issue-value 文法に従い、発行なしを表す空の値または `;`、あるいは発行者ドメイン(各 63 文字以下の LDH ラベル、全体 253 文字以下)と任意の `;tag=value` パラメータを受け付けます。パラメータ tag にはハイフンを使え、value は空でもよく、`;` と `=` の前後にスペースまたはタブを置けます。`iodef` は mailto・http・https の値を受け付けます。所有者名は RFC 1035 §5.1 のプレゼンテーション構文で入力します。ラベルには任意のオクテットが使えるため(RFC 2181 §11)、英数字・`-`・`_` に加えて `\.`・`\032`・`\255` のようにドット・スペース・任意のオクテットを10進値で書けます。マスターファイルの特殊文字 `" $ ( ) . ; @ \` とスペース・制御文字・非 ASCII オクテットはこの形式でエスケープする必要があり、ツールは名前を正規形に再エンコードします。ラベルは 1〜63 オクテット、名前全体はワイヤ形式で 255 オクテット以下です。`*` は通常のラベル文字で、左端のラベルがちょうど `*` のときだけ DNS ワイルドカード所有者になります(RFC 4592 §2.1.1)。`xn--` ラベルは IDNA 検証なしに通します。`*.example.com` という所有者名は DNS ワイルドカード構文(RFC 4592)にすぎず、`*.example.com` 証明書とは別の概念です。`*.X` の証明書でも CAA の検索は X から開始します。Relevant CAA RRset に `issuewild` が1つ以上存在する場合は wildcard 発行に `issuewild` が適用され `issue` は無視されます。`issuewild` が存在しない場合は `issue` が適用されます(RFC 8659 §3、§4.3)。TTL は 0〜2147483647 です(RFC 2181)。このローカルツールでは値を16,000文字に制限します。これは構文補助のみで、DNS 問い合わせや CA が発行を認可するかの判断は行いません。