繁体   English   中英

如何使用 LetsEncrypt 证书设置 https?

[英]How do I setup https with a LetsEncrypt certificate?

我正在尝试使用letsencrypt证书在curity服务器上设置https。 我想将其自动化,以便在证书过期时,curity 可以读取和使用该新证书(可能无需重新加载。)

目前我无法将证书导入curity。 我创建了/etc/init/crypto/signer-truststores/etc/init/crypto/ssl-server-truststore目录,并将我的cert.pem复制到 signer signer-truststoresfullchain.pemssl-server-truststore名称作为mydomain.com.pem 正如https://curity.io/docs/idsvr/latest/system-admin-guide/crypto/index.html?highlight=https中的状态,将证书添加到这些位置,curity 将自动导入它们。

此外在上面的链接上说

“重要提示:服务器需要以适当的启动 arguments 启动,以考虑重新加载配置文件,有关更多信息,请参阅服务器配置概述。”

我单击“服务器配置”的链接,但在任何地方都看不到要添加什么来获得导入这些证书的安全性。

有人可以告诉我我需要在哪里放置我的证书(以便我可以在密钥到期时自动创建一个 bash 脚本来为我执行此操作),以便 curity 导入它们?

编辑:我尝试使用 privkey.pem 和 cert.pem 创建证书。 该站点现在是安全的,但我仍然不知道如何通过 localfiles 导入 https 证书。

您不应重新启动服务器以重新加载新证书。

如果刷新证书的脚本在同一台机器上运行,您可以使用配置 CLI ( idsh ),否则使用 RESTConf API 动态配置证书。 可以执行此操作的示例脚本如下所示:

#!/bin/bash

set -e

DOMAIN=login.example.com
SERVICE_ROLE=default
PATH=$PATH:$IDSVR_HOME/bin

certbot certonly \
    --agree-tos \
    -d $DOMAIN \
    -n \
    --standalone

XMLFILE=$(mktemp -u /tmp/conf-XXXXXX)
trap "rm -f $XMLFILE" EXIT

KEY=$(cat /etc/letsencrypt/live/$DOMAIN/privkey.pem)
CERT=$(cat /etc/letsencrypt/live/$DOMAIN/cert.pem)

cat <<EOF > $XMLFILE
<config xmlns="http://tail-f.com/ns/config/1.0">
  <facilities xmlns="https://curity.se/ns/conf/base">
    <crypto>
      <ssl>
        <server-keystore>
          <id>letsencrypt-ssl-key</id>
          <keystore>
$KEY
$CERT          
          </keystore>
        </server-keystore>
      </ssl>
    </crypto>
  </facilities>
</config>
EOF

idsh <<< "configure
load merge $XMLFILE
set environments environment services service-role $SERVICE_ROLE ssl-server-keystore letsencrypt-ssl-key
commit"

关于导入的位置,我建议使用 UI 并从 a.p12 或 a.pem 导入新的 SSL 服务器密钥库。

通常有两种类型的证书 - 一种在信任库中,另一种是您拥有存储在密钥库中的密钥。 在第一次启动期间,您可以使用其他受信任的(根)证书(信任库)初始化系统。 但是,不支持以这种方式加载密钥库(“私有证书”)。 要导入证书和相关密钥,您需要使用 UI、CLI 或 RESTConf API。

证书和密钥的配置中有一个额外的部分,例如 SSL 服务器证书(和密钥)放置在facilities crypto ssl server-keystore下。 本节中的每个条目都有一个 id。 在配置 HTTPS 时,您只需参考密钥库条目的 id,其中包含应使用的服务器证书。 因此,请替换facilities crypto ssl server-keystore部分中的现有证书。 只要 id 保持不变,就不需要进一步更新。 特别是,您不需要更改admin-service http ssl-server-keystore中的任何内容。 Curity Identity Server 将自动从加密部分获取新证书。

要使用 CLI 导入新证书,您可以创建一个(临时)config-xml,其中包含更新的密钥库并通过 CLI 合并它,或者使用请求命令: idsh <<< "request facilities crypto add-ssl-server-keystore id $certificateName keystore $base64EncodedKeystore password $passwordForKeystore"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM