证书签名失败 - 自签名证书

问题描述 投票:0回答:1

我已按照此处的说明(对名称进行了稍微编辑):https://learn.microsoft.com/en-us/azure/application-gateway/self-signed-certificates使用以下代码:

  1. openssl ecparam -out inboundkey.key -name prime256v1 -genkey
  2. openssl req -new -sha256 -key inboundkey.key -out rootcsr.csr
  3. openssl x509 -req -sha256 -days 365 -in rootcsr.csr -signkey inboundkey.key -out rootCA.crt
  4. openssl ecparam -out key.key -name prime256v1 -genkey
  5. openssl req -new -sha256 -key key.key -out csr.csr
  6. openssl x509 -req -in csr.csr -CA rootCA.crt -CAkey inboundkey.key -CAcreateserial -out 证书.crt -days 365 -sha256

但是当我跑步时

openssl s_client -connect localhost:443 -servername [DOMAIN] -showcerts -CAfile ./rootCA.crt
我得到:

depth=1 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
verify return:1

depth=0 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = mydomain.com
verify error:num=7:certificate signature failure
verify return:1

depth=0 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = mydomain.com
verify return:1

我做错了什么??仅供参考,我仅提供一些所需信息的 FQDN 和电子邮件地址,仅提供其他信息。

此外,我运行了

openssl verify -no-CAfile -no-CApath -trusted rootCA.crt certificate.crt
,上面写着
certificate.crt: OK

ssl openssl self-signed self-signed-certificate
1个回答
0
投票

虽然这个答案不是由 AI 生成的 - 我确实使用 OpenAI 来寻找解决方案。

我对这个错误的解决方案是:

  1. cat certificate.crt rootCA.crt > fullchain.crt
  2. 更新虚拟主机以指向此 fullchain.crt 文件
  3. 运行
    openssl s_client -connect localhost:443 -servername my.domain -showcerts -CAfile ./rootCA.crt
    并且没有报告验证错误

但是(我知道这不在原始问题中)我曾希望对 Azure 前门使用自签名证书。但遗憾的是,“Azure 前门不支持使用椭圆曲线加密算法的证书。此外,您的证书必须具有包含叶证书和中间证书的完整证书链。根 CA 还必须是 Microsoft 受信任 CA 列表的一部分。” [https://learn.microsoft.com/en-us/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain?tabs=powershell]。

此外,我还能够通过本地 VNET 访问 SSL 证书(尽管 Chrome 报告为不受信任),这表明该证书至少已由 Apache 设置和使用。

© www.soinside.com 2019 - 2024. All rights reserved.