免费在线创建测试证书

自签名SSL测试证书生成工具,浏览器本地生成,支持RSA 2048/4096位、SAN多域名、自定义有效期

所有生成在浏览器本地完成,私钥不会上传到服务器

1 填写测试证书信息

测试证书的主域名,本地开发建议用 localhost

测试证书支持包含多个域名和IP,会自动包含 CN

生成 2048 位约需 1-3 秒,4096 位约需 5-15 秒

什么是测试证书?

测试证书(Self-Signed Certificate)是由开发者自己签发的SSL证书,不经过CA机构审核,主要用于开发和测试环境。它与正式SSL证书在加密原理上完全相同,区别仅在于没有受信任第三方的背书。

测试证书的用途:

  • 本地开发环境启用HTTPS(如 localhost)
  • 测试环境的接口联调,避免HTTP明文传输
  • Nginx、Apache等服务器配置测试
  • 内网系统的临时HTTPS加密
  • 学习SSL/TLS协议的实验环境

测试证书 vs 正式证书:

测试证书免费、即生成即用、有效期可自定义,但浏览器会警告不受信任。正式证书需要CA机构签发,浏览器会显示绿色锁标,适合生产环境使用。如果你的项目要上线对外服务,请申请 免费SSL证书

如何使用测试证书?

Nginx 配置示例:

server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate     /path/to/test-cert.crt;
    ssl_certificate_key /path/to/test-cert.key;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

Apache 配置示例:

<VirtualHost *:443>
    ServerName localhost

    SSLEngine on
    SSLCertificateFile      /path/to/test-cert.crt
    SSLCertificateKeyFile   /path/to/test-cert.key
</VirtualHost>

Node.js 使用示例:

const https = require('https');
const fs = require('fs');

const options = {
    key: fs.readFileSync('test-cert.key'),
    cert: fs.readFileSync('test-cert.crt')
};

https.createServer(options, (req, res) => {
    res.writeHead(200);
    res.end('Hello HTTPS');
}).listen(443);

让浏览器信任测试证书:

  • Windows:双击 .crt 文件 → 安装证书 → 本地计算机 → 受信任的根证书颁发机构
  • macOS:双击 .crt 文件 → 添加到"钥匙串访问" → 系统根证书
  • Linux:将 .crt 复制到 /usr/local/share/ca-certificates/ 后执行 sudo update-ca-certificates

生成测试证书后,建议用站内的 SSL证书配置检测工具 验证部署是否正确。