SSL 证书生成器
身份
证书
私钥(请妥善保密!)
浏览器默认不信任自签名证书:仅用于本地开发、测试或私有网络。
直接在浏览器中为本地开发或内部测试生成自签名证书。你可以选择 RSA 密钥长度(2048、3072 或 4096 位)、Common Name、Subject Alternative Names、有效期以及组织基本信息。证书及其私钥在你的浏览器中生成,绝不会发送到我们的服务器;你可将两者下载为可直接用于 Nginx 或 Apache 的 PEM 文件。
证书生成的工作原理
-
1
选择 RSA 密钥长度
大多数测试用 2048 位即可;3072 或 4096 会以速度为代价换取更大的密钥。
-
2
输入主题和 SAN
Common Name 以及证书应覆盖的每个主机名或 IP(现代浏览器忽略 CN,改用 SAN)。
-
3
在浏览器中生成
生成一张自签名证书,并用对应的私钥签名,全部在你的浏览器中本地完成。
-
4
下载结果
PEM 编码的证书(`cert.pem`)和 PEM 格式的私钥(`key.pem`),随时可以安装。
一切都在你的浏览器中进行
此生成器完全在你的浏览器中运行。RSA 密钥对由浏览器内置的 Web Crypto API 在本地生成,证书在你的设备上签名,私钥和证书都不会上传到我们的服务器。即便如此,也请把私钥当作机密:任何持有它的人都能冒充该证书。
自签名意味着什么
你既是颁发者也是主题:证书由其自身的私钥签名,因此没有任何公共证书颁发机构(CA)为它背书。这正是浏览器显示警告的原因。它适合测试、本地开发(localhost、dev.local),以及你能把证书分发给需要信任它的客户端的内部服务器。
如果你需要一张公共互联网所信任的证书,此工具并非合适的步骤:你需要一张由 CA 签名的证书(例如 Let’s Encrypt 或付费 CA),这需要一份证书签名请求(CSR)和域名验证,而这款浏览器工具并不执行它们。
证书中包含的内容
| 字段 | 说明 |
|---|---|
| 主题(CN、O、C) | Common Name、组织、国家/地区 |
| Subject Alternative Names | 覆盖的每个域名或 IP(至关重要!) |
| 公钥 | RSA,由生成的私钥派生 |
| 颁发者 | 与主题相同,因为是自签名 |
| 有效期 | Not Before / Not After(你设定的有效天数) |
| Key Usage | digitalSignature、keyEncipherment |
| Extended Key Usage | serverAuth、clientAuth |
| Basic Constraints | CA:FALSE(叶子证书,而非 CA) |
输出文件
key.pem,私钥(请保护它,权限 0600)cert.pem,自签名证书(公开,可分发)
用于 Nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
用于 Apache 2.4+
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
在你自己的机器上信任该证书
要在你所掌控的机器上消除浏览器警告,请把 cert.pem 导入该系统或浏览器的信任存储。只对你自己生成的证书、在你拥有的设备上这样做。像 mkcert 这样的工具会为多个服务自动搭建本地 CA;而此生成器每次只生成一张自签名证书。
自签名证书不适合的用途
- 公开网站。 用户会看到警告,许多人会离开。
- 第三方 API 集成。 大多数客户端会拒绝未知的颁发者。
- 生产环境。 绝对不行。对开放互联网上的任何东西,请使用 Let’s Encrypt(免费)或付费 CA。
常见问题
不会。密钥对和证书都在你的浏览器中生成并留在你的设备上;不会上传任何内容。即便如此,也请对下载的 key.pem 文件保密,因为任何持有它的人都能冒充该证书。
如果会有第三方连接,则不可以。浏览器会显示醒目的警告。请使用由免费(Let’s Encrypt、ZeroSSL)或付费 CA 签名的证书。自签名适用于你掌控两端的内部网络中的机器对机器通信。
过去 CN 存放主域名。现代浏览器在主机验证时忽略 CN,只使用 SAN。请始终把每个主机名都写入 SAN;CN 只设为主域名,仅作可读的标识。
可以,在 SAN 中填入 *.example.com。它覆盖一级子域名。若需多级,请添加多个通配符(*.example.com 和 *.dev.example.com)。
相关工具
数字转字母密码
使用 A=1、B=2 密码(A1Z26)在数字和字母之间互相转换,适用于谜题、谜语和密室逃脱线索。
JWT 生成器
生成带有自定义头部、有效载荷声明、HMAC 或 RSA 签名方式、有效期及受众限制的已签名 JWT,用于测试。
HMAC 生成器
根据消息和密钥生成 HMAC 签名(SHA-256、SHA-384、SHA-512、SHA-1或MD5),用于API认证和Webhook验证。
MD5生成器
从任意文本或文件生成 MD5 哈希值。输出结果为 128 位十六进制值,完全在您的浏览器中计算完成。
Base64 文件编码器
将任意文件(PDF、ZIP、图片、可执行文件)编码为 Base64 文本,用于嵌入 JSON、邮件、YAML 或 data URI。在浏览器本地运行,无需上传。
密码类型识别器
粘贴密文,识别器会给出可能的编码/密码方案:Base64、hex、二进制、摩斯、凯撒或替换、JWT 及常见哈希。
此工具还提供其他语言版本
- Generator certyfikatów SSL [PL]
- Générateur de certificat SSL [FR]
- SSL証明書ジェネレーター [JA]
- SSL-certifikatgenerator [SV]
- SSL-Zertifikat-Generator [DE]
- Generator Sertifikat SSL [ID]
- Trình tạo chứng chỉ SSL [VI]
- مولّد شهادات SSL [AR]
- Generador de certificados SSL [ES]
- SSL 인증서 생성기 [KO]
- เครื่องมือสร้างใบรับรอง SSL [TH]
- SSL-certificaatgenerator [NL]
- Gerador de certificado SSL [PT]
- SSL Certificate Generator [EN]
- Generatore di certificati SSL [IT]
- Генератор SSL-сертификатов [RU]
- SSL Sertifikası Oluşturucu [TR]