在CentOS7.x上生成自签名SSL证书

在 CentOS 7.x 上生成自签名 SSL 证书的步骤如下:

步骤 1:安装 OpenSSL

首先,确保你的系统上安装了 OpenSSL。你可以使用以下命令进行安装:

sudo yum install openssl

步骤 2:生成私钥

使用以下命令生成一个私钥文件(server.key):

openssl genrsa -out server.key 2048

步骤 3:生成证书请求

接下来,使用以下命令生成一个证书签名请求(CSR),同时生成自签名证书(server.crt):

openssl req -new -key server.key -out server.csr

在执行此命令时,会提示你输入一些信息,如国家、组织名称等。对于自签名证书,这些信息是可以自定义的。通常,"Common Name"(CN)需要填写你的域名或IP地址。

步骤 4:生成自签名证书

使用以下命令生成自签名证书(有效期为365天):

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

步骤 5:验证证书

你可以使用以下命令验证生成的证书:

openssl x509 -in server.crt -text -noout

步骤 6:配置 Web 服务器

在生成证书后,你需要将其配置到你的 Web 服务器上(如 Apache 或 Nginx)。以下是一个简单的示例,假设你使用的是 Apache:

  1. 编辑 Apache 配置文件,通常在 /etc/httpd/conf.d/ssl.conf 中:

<VirtualHost *:443>
    ServerName your_domain_or_ip

    SSLEngine on
    SSLCertificateFile /path/to/server.crt
    SSLCertificateKeyFile /path/to/server.key

    DocumentRoot "/var/www/html"
</VirtualHost>
  1. 启用 SSL 模块并启动 Apache:

sudo yum install mod_ssl
sudo systemctl start httpd
sudo systemctl enable httpd

步骤 7:测试

在浏览器中访问 https://your_domain_or_ip,你应该能够看到你的自签名证书。由于是自签名,浏览器可能会警告你连接不安全,你可以选择继续访问。

注意事项

  • 自签名证书不被浏览器信任,适用于测试或内部使用。如果要在生产环境中使用,建议购买由可信 CA 签发的证书。

  • 确保在生成私钥和证书时,文件权限设置得当,避免被其他用户访问。

这些步骤应该能帮助你在 CentOS 7.x 上生成自签名 SSL 证书。