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 / 问题 / 1148399
Accepted
JohnLBevan
JohnLBevan
Asked: 2023-11-23 02:37:54 +0800 CST2023-11-23 02:37:54 +0800 CST 2023-11-23 02:37:54 +0800 CST

错误:无法找到 AD 颁发的代码签名证书的此证书的颁发者

  • 772

问题

"The issuer of this certificate could not be found."我已经通过 AD 证书服务创建了一个证书,但尽管 PFX 中存在完整的链,但它还是出现错误。

语境

我使用标准模板从我们组织的 AD 证书服务服务器创建了一个代码签名证书code signing,并导出创建的证书(带有可导出的私钥)。

尽管我们的根证书在所有公司设备上都受到信任,但我们在使用此证书签署代码时遇到了问题。

经过调查,如果我将 PFX 转换为 PEM(文件扩展名为.CER)并在文本编辑器中打开它,我可以看到 PEM 文件中列出的客户端、中间和根证书。但是,如果我双击此 CER 文件(即在 中打开它crypto shell extensions),证书路径选项卡仅显示客户端证书并将证书状态显示为"The issuer of this certificate could not be found."。

查看客户端的颁发者,它正确命名了中间证书。

如果我将中间证书和根证书从 PEM 文件复制到自己的证书中,将其另存为 .CER 并打开它,则中间证书和根证书会正确列出。客户端的与中间体的issuer完全匹配;issued to并且客户端的与中间体的issuer完全匹配。subject name

要将 PFX 转换为 PEM,我正在使用openssl.exe pkcs12 -in "mycert.pfx" -out "mycert.cer" -nokeys -passin "pass:mypassword"

certificate
  • 1 1 个回答
  • 41 Views

1 个回答

  • Voted
  1. Best Answer
    garethTheRed
    2023-11-23T03:22:58+08:002023-11-23T03:22:58+08:00

    Crypto Shell 扩展仅显示文件中的第一个证书。链中的其他中间 CA 证书需要可供验证者(您检查此证书的计算机)从存储库或安装在运行 Crypto Shell 扩展的计算机上的中间证书颁发机构存储中访问。

    在 Microsoft CA 颁发的最终实体证书中,您应该会看到颁发机构信息访问扩展,其中应包含颁发者可下载的 URL。如果可用,Crypto Shell 扩展可以从此 URL 下载中间 CA 证书,从而避免您的困惑。

    或者,出于测试目的,您可以将中间 CA 证书安装在运行 Crypto Shell 扩展的计算机的中间证书颁发机构存储中。

    请注意,您不需要在所有计算机的所有中间证书颁发机构存储中安装中间 CA 证书(就像您为根 CA 证书所做的那样),因为在实际使用中,中间 CA 证书应由最终提供 -作为协议的一部分向依赖方提供实体。例如,当 Web 服务器(例如 IIS)将 TLS 证书用于 HTTPS 时,服务器应将其证书与所有中间 CA 证书(根可选)一起发送。同样,由代码签名证书签名的包应包含除根 CA 证书之外的所有证书(后者又是可选的)。

    因此,您的证书没有任何问题 - Crypto Shell 扩展根本找不到中间 CA 证书。

    • 2

相关问题

  • 为 IIS 7.0 问题创建证书

  • CodeCollaborator svn 访问

  • 为 IIS6 自行生成 SSL 证书?

  • 如何模拟连接到 HTTPS 并记录握手?

  • SQL Server 2000 加密证书

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