ByteScope

Certificate Generator

自簽憑證、CSR 與瀏覽器內的本機 CA — 私鑰絕不離開你的電腦。

檔案不會離開你的瀏覽器 — 全部在本機處理。

Keys are generated by your browser's WebCrypto and never leave this page — no key, certificate, common name or SAN value is ever transmitted. Works offline; disconnect the network and try it.

Subject Alternative Names
Key algorithm

關於這個工具

填入 common name、加上 SAN(網域與 IP)、選擇金鑰類型(RSA 2048/4096 或 ECDSA P-256)與有效期限,就能下載一張可直接使用的 PEM 憑證和私鑰。金鑰是由你瀏覽器的 WebCrypto 產生的 — 在密碼學上與 openssl 產出的等價 — 而且絕不離開你的裝置,這正是用架構解決了「把資料貼進其他線上產生器」的根本問題。

本機 CA 模式是把 mkcert 工作流程搬進瀏覽器的版本,也是這個工具存在的理由:產生一把個人 CA 一次,把它匯入你的系統信任儲存區(附引導步驟),之後就用它為 localhost 與內部開發網域簽發憑證 — 於是它簽發的每一張憑證,瀏覽器的憑證警告都會消失。把 CA 金鑰下載保存起來,下次再放回來,就能繼續用同一個 CA 簽發 — 不需要任何伺服器也能延續。

CSR 產生器也涵蓋真實 CA 的工作流程:金鑰對 + 憑證簽署請求,可直接送交給你的憑證授權機構。每次下載都附上對應的 nginx、Apache 與 Node.js 設定片段,讓憑證從產生到上線只要貼上一次就完成。

常見問題

這和 mkcert 有什麼不同?
工作流程相同 — 建立一個本機 CA、信任它一次、為開發網域簽發憑證 — 但完全不用安裝任何東西:金鑰產生與 X.509 簽章都在你瀏覽器的 WebCrypto 上執行。mkcert 會自動完成信任儲存區的匯入;在這裡則改為依你的作業系統跟著一段簡短的引導步驟操作。
私鑰在哪裡產生?它會離開我的電腦嗎?
金鑰是由你瀏覽器的 WebCrypto API 在這個分頁的記憶體中產生的,只有在你按下下載時才會寫入磁碟。沒有任何東西被傳送出去 — 即使斷開網路,這個頁面也能運作,歡迎你自行驗證。
為什麼我的瀏覽器還是對我的自簽憑證發出警告?
一張單純的自簽憑證並非由你系統信任的任何機構簽發,所以出現警告是預期中的。這正是本機 CA 模式解決的問題:信任你的個人 CA 一次,之後它簽發的每一張憑證 — localhost、*.test 網域、區域網路 IP — 都會被接受,不再有警告。
我該用 RSA 還是 ECDSA?
開發用 ECDSA P-256:更小、更快,現代技術堆疊普遍支援。若你的環境中有某個舊元件要求 RSA 2048 才用它;RSA 4096 只在政策強制要求時才用(它明顯較慢)。
這些憑證可以用在正式環境嗎?
不行 — 正式環境需要來自公開受信任 CA 的憑證(Let's Encrypt 是免費的)。自簽與本機 CA 憑證是給開發、測試與內部工具用的,在那些場景它們正是最合適的工具。