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 / 问题 / 1017897
Accepted
noobservergirl
noobservergirl
Asked: 2020-05-21 00:30:49 +0800 CST2020-05-21 00:30:49 +0800 CST 2020-05-21 00:30:49 +0800 CST

从 OpenSSL 和 IIS 生成 CSR 文件有什么区别?

  • 772

我已经了解了如何使用 OpenSSL 生成 .csr 文件,并且已经成功地创建、转换并安装了签名证书(.pfx 文件)到我们使用 IIS 10 的一些 Web 服务器上。

现在,其他人向我展示了如何直接从我们的其他 Web 服务器之一生成 .csr 文件 - 使用 IIS 10 中可用的“创建证书请求”功能。但是 - 使用这种方法,我没有创建一个 .pfx 文件,我能够将下载的签名证书安装到 IIS 上,而无需进行任何转换。所以这样做要快得多 - 但是,我不明白为什么在这种情况下使用这种方法而不是 OpenSSL。最终结果不同吗?有人可以启发我吗?

certificate openssl csr
  • 2 2 个回答
  • 1400 Views

2 个回答

  • Voted
  1. Crypt32
    2020-05-21T01:12:50+08:002020-05-21T01:12:50+08:00
    1. OpenSSL 是外部依赖。它不随 Windows 一起提供,您必须下载并安装该工具。
    2. OpenSSL 是 CLI(命令行界面)工具,它没有默认的 GUI。
    3. OpenSSL 没有与 Windows 加密子系统 (CryptoAPI) 集成。
    4. IIS 管理器提供更好的用户体验(使用 UI 表单而不是 CLI),但功能有限。例如,您不能在请求中指定 SAN 扩展或配置扩展。假设 CA 服务器负责找出所需的替代名称、扩展名并将它们包含在签名证书中。一些商业 CA 提供了一个表单,您可以在其中指定替代名称以及上传的请求文件。
    5. IIS 管理器包括与 Microsoft Active Directory 证书服务的集成,以执行来自内部 CA 的直接证书注册。

    尽管 OpenSSL 在请求中包含的内容方面提供了更大的灵活性,但它需要额外的工作来转换和正确安装所有内容。Windows 提供certreq.exeCLI 工具,该工具在请求生成方面提供与 OpenSSL 相同的功能。Certreq 随每个 Windows 安装一起提供,您无需安装任何东西即可使其正常工作。

    仅当目标应用程序不支持 Microsoft CryptoAPI 并且需要 PKCS#1 或 PKCS#8 格式的私钥时,才需要 OpenSSL(在 Windows 上)。由于不同的加密堆栈设计,CryptoAPI 对这些格式的支持很糟糕。在所有其他情况下,使用内置的 Windows 工具(MMC、certreq、certutil 等)来执行与证书相关的操作就足够了。

    • 0
  2. Best Answer
    garethTheRed
    2020-05-21T02:43:19+08:002020-05-21T02:43:19+08:00

    如果您使用 IIS 控制台的Create Domain Certificate...选项,您只能使用 Microsoft ADCS 的内置 Web 服务器模板请求证书。此模板的功能非常有限,不包括Subject Alternate Name所有现代浏览器要求的S/MIME Capabilities扩展,还包括 Web 服务器证书不需要的扩展。由于这是版本 1 模板,您无法更改其中任何一个。

    如果您选择使用 IIS 控制台的Create Certificate Request...选项,您将创建一个可以保存到磁盘的请求。您现在可以将请求提交给任何 CA。如果您选择 Windows ADCS,您可以使用certreq.exe带有选项的实用程序-attrib "CertificateTemplate:<template short name>来指定不同的模板。您甚至可以使用一些极客来Subject Alternate Name为请求添加扩展(或任何其他扩展),但这需要一些努力并了解 X.509 证书的内部工作原理!

    如果您使用 OpenSSL 创建证书请求,您可以请求 OpenSSL 能够创建的任何字段或扩展名 - 这几乎涵盖了所有内容。您可以将此请求提交给 ADCS CA,certreq.exe也可以将请求提交给非 Windows CA。收到证书后,您需要将其与其私钥配对以创建导入服务器的 PKCS#12(或 PFX)文件。这相当复杂,但如果需要,您的证书请求可以非常灵活。

    但是,一个更简单的选项(似乎您没有显示)是使用服务器(不是 IIS)证书管理控制台(certlm.msc来自“运行”对话框)请求证书,您可以在其中使用任何启用的模板(不仅仅是网络服务器)。如果 ADCS 管理员正确配置了此模板,您将获得具有适当Subject Alternate Name扩展名、无S/MIME Capability扩展名和 Web 服务器正确密钥用法的证书,然后您可以使用 IIS 控制台简单地绑定到网站。这既灵活又方便。

    • 0

相关问题

  • 为 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