自签名证书生成器

完全在浏览器中生成 RSA 2048 密钥对与 X.509 证书,并自动带上符合现代浏览器要求的 SAN 扩展。不会上传到任何服务器——私钥始终留在你的设备上。

自签名服务端证书 RSA 2048 · SAN · PEM

生成一张自签名的叶子证书。由于没有 CA 参与,浏览器仍会提示风险,需要手动添加例外。

多个条目用逗号或空格分隔,通用名称会自动加入。支持域名、通配符(*.example.com)与 IP 地址——IP 会被写成 IP 条目而不是 DNS 条目。

server.key 私钥(PEM)——切勿外泄
server.crt 证书(PEM)

如何在 Nginx 中配置这张证书

1. 把文件放到服务器

私钥请仅对 root 可读。

sudo mkdir -p /etc/nginx/ssl
sudo cp server.crt /etc/nginx/ssl/server.crt
sudo cp server.key /etc/nginx/ssl/server.key
sudo chmod 644 /etc/nginx/ssl/server.crt
sudo chmod 600 /etc/nginx/ssl/server.key

2. 在 server 块中引用

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate     /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;

    add_header Strict-Transport-Security "max-age=31536000" always;

    root /var/www/html;
    index index.html;
}

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

3. 检查配置并重载

sudo nginx -t
sudo systemctl reload nginx

4. 从另一台机器验证

curl -vk https://example.com/
openssl s_client -connect example.com:443 -servername example.com </dev/null

由于这张证书没有 CA 背书,浏览器仍会告警。改用私有 CA 生成器双向 TLS 生成器,并把 CA 证书安装到电脑上,你签发的每个站点都能获得无告警的绿色锁标。

更多工具:私有 CA 证书生成器 · 双向 TLS 证书生成器 · CSR 生成器 · 证书解码器