zoukankan      html  css  js  c++  java
  • Linux生成TLS证书

    安装acme.sh

    证书的生成有许多方法,这里使用的是比较简单的方法:使用 acme.sh 脚本生成。

    注意:针对debian9系统,在执行安装acme.sh脚本之前,需要提前安装必备软件包。不然会有提示"It is recommended to install socat first"等错误信息提示。

    必备软件包安装执行命令:

    apt-get update && apt-get install curl -y && apt-get install cron -y && apt-get install socat -y

    安装 acme.sh

    执行以下命令:

    curl  https://get.acme.sh | sh

    安装成功后执行 以下命令,以确保脚本所设置的命令别名生效:

    source ~/.bashrc

    如果安装报错,那么可能是因为系统缺少 acme.sh 所需要的依赖项,acme.sh 的依赖项主要是 netcat(nc),我们通过以下命令来安装这些依赖项,然后重新安装一遍 acme.sh:(注:debian9在安装过程中没有报错,所以这步不需要执行)

    apt-get -y install netcat

    以下的命令会临时监听 80 端口,而80端口被Ngnix服务占用,所以要暂停Ngnix服务:

    systemctl stop nginx 

    生成证书

    注意:脚本中的域名mydomain.me改成自己的

    ~/.acme.sh/acme.sh --issue -d mydomain.me --standalone -k ec-256

    安装成功后提示生成的秘钥证书的路径,证书路径是自动生成的。

    证书更新(脚本自动)

    由于 Let's Encrypt 的证书有效期只有 3 个月,因此需要 90 天至少要更新一次证书,acme.sh 脚本会每 60 天自动更新证书。所以这步不需要做。(但如果你不放心,也把手动更新的指令提供一下,供参考。)

    手动更新 ECC 证书,执行:

    ~/.acme.sh/acme.sh --renew -d mydomain.com --force --ecc

    如果是 RSA 证书则执行:

    sudo ~/.acme.sh/acme.sh --renew -d mydomain.com --force

    安装证书和密钥(ECC和RSA二选一)

    ECC优点:同等长度 ECC 比 RSA 更安全 ECC缺点:兼容性会差一些

    只要设备不是非常老的老古董,建议使用 ECC 证书。

    ECC 证书将证书和密钥安装到 /etc/crt 中执行:(注意:脚本中的域名改成自己的,/etc/crt路径可以自己制定)

    $ sudo ~/.acme.sh/acme.sh --installcert -d mydomain.me --fullchainpath /etc/crt/autumn.crt --keypath /etc/crt/autumn.key --ecc

    RSA 证书执行:(/etc/crt路径可以自己制定

    $ sudo ~/.acme.sh/acme.sh --installcert -d mydomain.me --fullchainpath /etc/crt/autumn.crt --keypath /etc/crt/autumn.key

    注意:无论什么情况,密钥(即上面的.key)都不能泄漏,如果你不幸泄漏了密钥,可以使用 acme.sh 将原证书吊销,再生成新的证书,吊销方法请自行参考 acme.sh 的手册。

    安装成功如下图:



  • 相关阅读:
    继续Delphi调用Wcf
    我用 Windows Live Writer 写随笔
    "WCF 服务编程"刚到,第一印象,内纸张很差
    我的asp.net网站小项目,体现了我学习的几个阶段,现在学习到WCF阶段
    菜单设计
    求圆的面积
    dataGridView 批量更新
    Android简单实现对话框
    dephi 程序输入法中英文自动切换实现
    Delphi捕捉DLL执行所抛出的异常。(转)
  • 原文地址:https://www.cnblogs.com/aeolian/p/12375120.html
Copyright © 2011-2022 走看看