📜  ubuntu 生成 ssl 证书 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:48:08.203000             🧑  作者: Mango

Ubuntu 生成 SSL 证书 - Shell/Bash

SSL(Secure Sockets Layer)证书是一种加密技术,可用于保护互联网应用程序和网站上的敏感信息传输。在本教程中,我们将使用Ubuntu操作系统上的Shell/Bash脚本来生成SSL证书。

步骤一:安装OpenSSL

在开始生成SSL证书之前,请确保您在Ubuntu操作系统上安装了OpenSSL。您可以使用以下命令在Ubuntu上安装OpenSSL:

sudo apt-get install openssl
步骤二:生成SSL证书
  1. 创建SSL证书目录:

    sudo mkdir /etc/nginx/ssl
    
  2. 切换到SSL证书目录:

    cd /etc/nginx/ssl
    
  3. 创建一个名为ssl.cnf的文件,这将是SSL配置文件:

    sudo nano ssl.cnf
    
  4. 将以下内容添加到SSL配置文件中:

    [req]
    default_bits = 2048
    prompt = no
    default_md = sha256
    distinguished_name = dn
    
    [dn]
    C = CN
    ST = Shanghai
    L = Pudong
    O = Example Inc.
    OU = IT Department
    emailAddress = admin@example.com
    CN = example.com
    

    确保替换CSTLOOUemailAddressCN为您的信息。

  5. 生成证书:执行以下命令:

    sudo openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -config ssl.cnf
    
  6. 生成自签名证书:

    sudo openssl x509 -req -days 365 -in example.csr -signkey example.key -out example.crt
    
步骤三:配置Web服务器

SSL证书生成成功后,现在可以将其配置在您的Web服务器上。如需在nginx上配置,则需要将生成的example.keyexample.crt文件上传到服务器上的/etc/nginx/ssl目录中。您还需要在nginx配置文件的虚拟主机部分中添加以下代码:

listen 443 ssl;
ssl_certificate /etc/nginx/ssl/example.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
结论

以上就是使用Ubuntu操作系统上的Shell/Bash脚本生成SSL证书的方法。您可以使用此方法在Ubuntu上创建自签名证书来保护您的Web应用程序或网站。