仕様と根拠

読み方

文章を行に分け、RFC 7468 3 節の境界行「-----BEGIN ラベル-----」を探します。ハイフンはちょうど 5 つ、BEGIN の後に空白が 1 つ、ラベルは大文字です(2 節)。対応する「-----END ラベル-----」までを 1 つのブロックとし、間にある base64 の本体は長さと書式だけを調べて、中身は結果に出しません。

秘密鍵とみなすラベル

RFC 7468 が定義する PRIVATE KEY(10 節)と ENCRYPTED PRIVATE KEY(11 節)に加え、末尾が PRIVATE KEY のラベル(RSA PRIVATE KEY など)を、広く使われる慣用ラベルとして秘密鍵らしいものに含めます。前者の暗号化なしと慣用ラベルはエラー、暗号化された鍵は警告にします。

警告にする条件

ハイフンの数や空白、小文字の BEGIN など RFC の形から外れた境界行(読み取る側が許容して鍵として使えることがあります)、END 行がない・END のラベルが BEGIN と違う、本体が空か base64 以外の文字を含む場合は警告です。64 文字で折り返されていない本体は情報にします。

判定の範囲

探すのは PEM 形式の秘密鍵の境界行だけです。API キー・パスワード・トークン・OpenSSH 形式の鍵などは探しません。検出がなくても秘密情報が含まれていないとは限らず、あっても本物の鍵かどうかまでは判定しません。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
RFC 7468 Textual Encodings of PKIX, PKCS, and CMS Structures2026年10月28日2 節(境界行・ハイフン 5 つ・大文字ラベル・64 文字)・3 節(ABNF)・10 節(PRIVATE KEY)・11 節(ENCRYPTED PRIVATE KEY)

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 検出なしは「この点検では見つからなかった」だけで、秘密情報が含まれていない保証ではありません。API キーやパスワードは探していません。
  • 本物の秘密鍵はこのツールにも貼らず、疑わしい部分だけを貼って確かめてください。入力は保存・送信しませんが、画面共有などでは見えます。