自签名证书生成器

本页创建一个密钥对并用它签署 X.509 v3 证书,因此证书的颁发者就是它自己。你会得到 -----BEGIN CERTIFICATE----- 形式的证书和原始 DER 格式,外加 PKCS#8 私钥。它是开发服务器、内部设备、实验室或两端都由你掌控的邮件网关的正确工具 — 而对任何必须让陌生人的浏览器毫无警告地信任的东西,它是错误的工具。
自签名证书不被任何东西信任。在你把它作为受信任根安装到每台与该服务通信的机器之前,任何公共浏览器、操作系统或邮件客户端都不会接受它。如果你需要一份无需安装任何东西就能用的证书,请从证书颁发机构获取 — 如果你只需要给 CA 的请求,请改用CSR 生成器。
1. 密钥
RSA 2048 bit, signed with SHA-256.
2. 主体与颁发者
颁发者会写成这些字段的副本,这正是证书成为自签名的原因。通用名称是证书对话框中显示的名称;客户端实际匹配的是下方的主体备用名称。
3. 主体备用名称
至少需要一条
每行一条,可带可选的 dns:、ip:、email: 或 uri: 前缀;裸行视为 DNS 名称,除非它是像 127.0.0.1 这样的地址字面量,那会被当作 IP 地址。自浏览器不再查看通用名称以来,没有至少一条主体备用名称的证书会被直接拒绝,所以本页坚持要求一条。
4. 有效期与扩展
从现在开始,365 天后结束
1 到 825 天之间。公共信任的证书自 2026 年 3 月 15 日起被限制在 200 天(2027 年起 100 天,2029 年起 47 天),但自签名证书不受该规则约束 — 不过保持较短仍是好习惯,因为没有任何机构替你吊销它。
服务器或客户端证书请关闭 CA 开关。打开它会让该证书能够签署其他证书,这是构建内部层级的方式 — 但也意味着交出一把可以冒充你的根所信任的一切的密钥,所以请把它留给刻意离线保存的根。
密钥用法 — 这把密钥可以做什么:
扩展密钥用法 — 证书的签发用途:
5. 生成
尚未生成
尚未生成任何内容。填写一个通用名称和至少一条主体备用名称,按生成证书和密钥,证书和密钥就会出现在这里,并附带保存按钮。
如何加入信任存储 — 每台连接该服务的机器都需要先做这一步,警告才会消失。浏览器在设计上会对新颁发机构的首次使用发出警告,所以在点击通过之前,请先看清你正在信任什么。
Windows(全机器范围)打开 .crt 文件,选择安装证书,选择本地计算机,然后选择将所有的证书都放入下列存储 → 受信任的根证书颁发机构。在提升权限的命令行中,同样的操作是 certutil -addstore -f Root mycert.crt,certutil -delstore Root mycert.crt 可将其移除。
macOS双击文件将其加入登录钥匙串,然后打开「钥匙串访问」,把它拖入系统,双击它,打开信任并把使用此证书时设为始终信任。命令行方式:sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain mycert.crt。
Debian、Ubuntu把它复制到 /usr/local/share/ca-certificates/mycert.crt(PEM 格式,且文件名必须以 .crt 结尾),然后运行 sudo update-ca-certificates。删除该文件并再次运行同一命令即可移除。
RHEL、Fedora、CentOS把它复制到 /etc/pki/ca-trust/source/anchors/mycert.crt 并运行 sudo update-ca-trust。
FirefoxFirefox 有自己的存储:设置 → 隐私与安全 → 证书 → 查看证书 → 颁发机构 → 导入,然后勾选信任此 CA 用以识别网站。
Java 应用导入到 JDK 信任存储:keytool -importcert -alias mycert -file mycert.crt -cacerts -storepass changeit。
这些扩展的含义。基本约束说明证书是否可以签署其他证书;密钥用法限制密钥可以执行的操作;扩展密钥用途指出证书的签发用途,TLS 服务器证书需要 TLS 服务器 用途,否则检查它的客户端会拒绝。主体密钥标识符是公钥的哈希,颁发机构密钥标识符通常指向颁发者那一份 — 在自签名证书上两者相同。

本页不做的事:它不为你创建证书层级、不运行 CA、也不在任何地方安装任何东西。这份证书背后没有吊销列表:如果密钥泄露,唯一的补救办法是在所有地方替换文件并从每个信任存储中移除。

隐私:密钥对由浏览器自己的加密功能生成,证书也在此签署。不上传、无服务器、无 Cookie、无统计,从本地文件打开本页同样可用。要独立读回结果,请使用证书解码器。