AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[ssl-certificate-renewal](server)

Martin Hope
aufmschlauch
Asked: 2022-03-16 05:52:10 +0800 CST

使用 openssl 升级/更新 Postgres SSL 服务器证书

  • 0

我继承了带有 SSL 客户端的公司 Postgres 服务器。到目前为止,它的大约 100 个用户。

两个问题:我的Ca Cert(root.crt)明年到期,好像还是TlsV1.0。因此迫切需要升级(更新)。

我应该避免的是为所有用户制作新的客户端证书。这对我来说将成为一场噩梦:-)

因此,我寻找了一种新旧证书都可以使用的解决方案,直到所有旧证书都过期。我喜欢很多提示(也在 Serverfault 上),但到目前为止没有任何效果。

到目前为止我所做的:我使用旧的 ca 密钥 (rootCa.key) 并创建了一个新的 root.crt),我使用旧的服务器密钥 (server.key) 创建了一个新的 server.crt。我在我的 Postgres 备份服务器上安装了吊销列表 (root.crl)、root.crt、server.crt 和 server.key。

我可以连接 newUser.crt 证书,但不能连接旧证书....正如我所料。

我确实像地狱一样搜索了网络,并找到了在服务器上合并新旧证书的提示。因此,我将证书与 cat: cat oldRoot.crt >> root.crt 也用于其他文件。撤销列表不起作用,所以我在 Postgres.conf 中评论了 Line: #ssl_crl_file =。似乎 Postgres 也可以在没有撤销列表的情况下工作。

结果:根据 server.crt 中首先出现的证书,我可以连接旧证书或新证书,但不能同时连接两者。为了测试它,我使用了合并的 root.crt 与 oldServer.cert 以及 newServer.cert。两者都与新的或旧的一起工作。

这意味着,合并的 root.crt 工作正常,但不是合并的 server.crt。

我用 openssl 检查它并合并 root.crt 和合并 server.crt: openssl verify -verbose -x509_strict -CAfile root.crt -CApath 。old_cert.crt server.crt old_cert.crt:好的 server.crt:好的

openssl 验证 -verbose -x509_strict -CAfile root.crt -CApath 。new_cert.crt server.crt new_cert.crt: OK server.crt: OK

似乎 openssl 可以管理合并的证书,但不能管理 Postgres。

知道如何解决这个问题吗?

任何提示表示赞赏。

问候施劳奇

服务器:Ubuntu 2104、Postgres13 备份服务器:Ubuntu 1604、Postgres13

postgresql openssl ssl-certificate-renewal
  • 1 个回答
  • 342 Views
Martin Hope
Walf
Asked: 2021-05-07 20:31:09 +0800 CST

使用 Let's Encrypt certbot 时,如何仅在证书实际更新时才重新启动/重新加载网络服务?

  • 1

该certbot命令提供了两个在自动续订后运行的挂钩,来自文档:

 --post-hook POST_HOOK
                       Command to be run in a shell after attempting to
                       obtain/renew certificates. Can be used to deploy
                       renewed certificates, or to restart any servers that
                       were stopped by --pre-hook. This is only run if an
                       attempt was made to obtain/renew a certificate. If
                       multiple renewed certificates have identical post-
                       hooks, only one will be run. (default: None)
 --deploy-hook DEPLOY_HOOK
                       Command to be run in a shell once for each
                       successfully issued certificate. For this command, the
                       shell variable $RENEWED_LINEAGE will point to the
                       config live subdirectory (for example,
                       "/etc/letsencrypt/live/example.com") containing the
                       new certificates and keys; the shell variable
                       $RENEWED_DOMAINS will contain a space-delimited list
                       of renewed certificate domains (for example,
                       "example.com www.example.com" (default: None)

这个问题在这个(现已关闭的)LE 线程中进行了概述,基本上是关于最大限度地减少对服务的中断。POST_HOOK每次尝试更新时都会执行,即使没有颁发证书,但只有一次。这使得不必要地重新启动服务成为可能。DEPLOY_HOOK为每个成功的证书续订运行。如果一个人使用DEPLOY_HOOK, 并且有多个证书,则每个服务可能会在一次足够的情况下重新启动多次。有关更新挂钩的更多信息,请点击此处。

我使用一种完全不会中断我的服务的发行方法,例如:

certbot certonly --webroot ...

或者

certbot certonly --dns-PROVIDER ...

我只想重新启动/重新加载每个依赖服务一次,并且只有在其证书实际更改的情况下。

certbot lets-encrypt ssl-certificate-renewal
  • 1 个回答
  • 3314 Views
Martin Hope
markson edwardson
Asked: 2021-04-24 21:30:52 +0800 CST

在初始域指纹之后是否需要 .well-known/acme-challenge?

  • 1

我了解使用 Let's Encrypt 时最初的质询-响应模式,但我注意到在测试续订时,没有 GET 请求命中.well-known/acme-challenge。

设置域/帐户密钥后,续订是否必须触及 .well-known?我的帐户/域密钥是否会过期并且必须刷新?

我的应用程序需要特定的挂载来为该目录提供服务,如果可能的话,如果它永远不会被使用,我想避免配置开销。我可以使用更精简的设置进行初始域验证。

ssl-certificate lets-encrypt ssl-certificate-renewal
  • 1 个回答
  • 308 Views
Martin Hope
DevOpsSauce
Asked: 2021-02-20 16:49:10 +0800 CST

新的 SSL 证书现在显示在浏览器中的 Postfix(Ubuntu、Namecheap)

  • 0

我是一个新手,在我们的系统管理员离开后试图将其打开。我需要更新我们的通配符证书并将其复制到我们的邮件服务器上。

我在 Namecheap 更新了证书,下载了它,并将它安装在我们的网络服务器上。网站浏览器中的一切都显示良好。但是,当导航到我们邮件服务器的浏览器门户时,它仍然显示旧证书。我重新启动了 Postfix,但没有任何改变。

在我的 /etc/postfix/main.cf 中:

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/wc2_mydomain.com.combined.crt
smtpd_tls_key_file = /etc/ssl/private/wc2_mydomain.com.key
smtpd_use_tls=yes

但是,在浏览器中,即使过了postfix reload(应该是 2022 年),它仍然显示旧的过期日期:

Issued On   Wednesday, February 20, 2019 at 6:00:00 PM
Expires On  Saturday, February 20, 2021 at 5:59:59 PM

我错过了什么?如果星期六下午 6:00 不能正确显示,那将是非常糟糕的。

ubuntu postfix email-server ssl-certificate ssl-certificate-renewal
  • 1 个回答
  • 128 Views
Martin Hope
FishBasketGordo
Asked: 2020-05-20 12:36:51 +0800 CST

从 Azure 门户(或 PowerShell)请求 Digicert Secure Site EV SSL 证书以用于 Azure 应用程序网关/应用程序服务

  • 0

我正在尝试从 Azure 中的 Digicert 生成/请求新证书。我被指示从 Digicert 的商业层购买 EV SSL 证书。他们称其为 Secure Site EV SSL,但我看不到可以在门户中或通过 Powershell 指定证书类型的位置。门户网站在高级证书策略下有一个文本字段,我可以在其中指定这一点,但 Digicert 支持人员通知我这只能处理基本层证书请求。Powershell 文档似乎有同样的限制。

我们在应用程序网关后面使用 Azure 应用服务,所以我认为我将无法生成证书签名请求来直接从 Digicert 请求证书。

是否可以在 Azure 中生成或导入业务层 EV SSL 证书?

ssl ssl-certificate azure azure-web-apps ssl-certificate-renewal
  • 1 个回答
  • 112 Views
Martin Hope
Saras Arya
Asked: 2017-03-07 01:31:21 +0800 CST

Nginx 中的行顺序重要吗?

  • 8

我有一个这样的服务器文件

server {
listen 80;
server_name subdomain.example.com;

return 301 https://$server_name$request_uri;

location /.well-known/acme-challenge {
        root /var/www/letsencrypt;
    }
}

现在当我尝试sudo letsencrypt renew. 它抛出并错误说找不到.well-known/acme-challenge。但是,一旦我发表评论,该return 301行就重新启动了服务器并且它起作用了。

现在我想重新测试它,将位置放在首位,而不是评论 return 301 语句,但它说certificate not due for renewal。所以问题是读取文件的顺序,这有关系吗?并且不会因为这个原因自动更新,对于我来说,更新的人如何处理这种情况?

nginx lets-encrypt ssl-certificate-renewal
  • 3 个回答
  • 11361 Views
Martin Hope
Andy
Asked: 2017-01-06 03:41:59 +0800 CST

ssl-cert-check 未获得 Lets Encrypt 证书的正确到期日期

  • 2

我正在使用 ssl-cert-check 来跟踪我的域证书列表。

在我的 crontab 中,我将其设置为安静运行并向我发送过期域的电子邮件,但我用来调试的命令是:

ssl-cert-check -f ssldomains.txt -x 21 -i

它正在正确读取文件并检索整个列表的证书,但它似乎没有获得 LetsEncrypt.org 颁发的证书的正确到期日期

其他证书提供者似乎不受此问题的影响。

例如,当我在浏览器中检查时,证书将于 2017 年 3 月 24 日到期,据报告该证书将于 2017 年 1 月 15 日到期。

我正在使用 nginx 服务。

为什么 CLI 工具会检索错误的到期日期,我该如何更正?

nginx ssl-certificate lets-encrypt ssl-certificate-renewal
  • 1 个回答
  • 1018 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve