公開金鑰檢查
SSH 公開金鑰:Wire 結構、SHA256 指紋與信任
公開金鑰行包含演算法、Base64 wire blob 及選用註解。註解方便人類閱讀,但不參與指紋,也不是擁有權證據。
內容更新: · 維護者與修正回報
只使用公開的 .pub 行
本工具只接受單行一般 OpenSSH RSA、Ed25519 或 NIST ECDSA nistp256/384/521 公鑰,最多 32768 UTF-8 bytes。拒絕私鑰容器、憑證、DSA、FIDO sk-*、known_hosts 前綴及 authorized_keys 選項。請自行移除選項,不讓解析器默默跳過不了解的限制。
標準 Base64 可有正確填補或省略填補;拒絕 URL-safe 符號、非零未使用位元、錯誤長度及額外二進位資料。內嵌演算法必須與外部標籤一致。註解可能含使用者名稱或內部主機資訊;輸入只留本頁記憶體,不需要連線遠端主機或 SSH agent。
理解結構檢查能證明什麼
SSH 字串使用四位元組大端序長度。RSA 顯示標準正整數 mpint 指數與模數,位數由不含符號填補位元組的模數計算。Ed25519 必須有 32 個公開位元組;NIST ECDSA 必須有一致曲線名稱,以及 65、97 或 133 bytes 未壓縮點。
這是資料框架檢查,不是數學驗證。不測試 RSA 因數分解、指數安全性、Ed25519 子群或 ECDSA 曲線點有效性。不同演算法相同編碼位數不代表相同安全強度;內建 Ed25519 範例是合成公開結構,不應用來登入。
透過可信管道比對指紋
SHA256 指紋雜湊原始解碼 SSH wire blob,包含內嵌演算法及欄位,顯示 SHA256: 加不含填補的標準 Base64。只修改註解不會改變摘要;OpenSSH 的 ssh-keygen -lf public-key.pub -E sha256 使用相同形式。
預期值必須是 SHA256: 加 43 個標準 Base64 字元,不含 =。相符表示所提供公開位元組的摘要一致,不證明誰控制私鑰、簽章是否有效或是否有登入權限。請獨立取得預期指紋;與同一不可信管道送來的摘要比較,不會新增獨立信任。Web Crypto 需要安全瀏覽器情境;修改輸入會讓尚未完成的非同步結果失效,停用陳舊匯出。
資料可信度