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 / 问题 / 984340
Accepted
Harry Johnston
Harry Johnston
Asked: 2019-09-16 18:37:24 +0800 CST2019-09-16 18:37:24 +0800 CST 2019-09-16 18:37:24 +0800 CST

如何在远程桌面服务器上生成和使用第三方证书?

  • 772

我有一个新安装的 Windows Server 2016 远程桌面服务器,我正在尝试为其生成证书。具体来说,我认为我需要为“RD Connection Broker - Publishing”角色服务配置证书。

我可以找到的所有 Microsoft 文档和大多数第三方内容似乎都假定证书将是自签名的或使用 Microsoft 证书颁发机构服务在内部生成的。我想要的是一个由合适的第三方公共证书颁发机构签名的证书,以便在所有 Windows 机器上默认信任它。

部署属性向导无法生成证书请求,因此您需要使用证书 MMC 管理单元(或 IIS,但我没有安装它)。不幸的是,Certificates 管理单元对用户不是很友好,如何进行也不明显。

如何使用证书管理单元生成适合“RD 连接代理 - 发布”角色服务的证书请求?

remote-desktop
  • 1 1 个回答
  • 1557 Views

1 个回答

  • Voted
  1. Best Answer
    Harry Johnston
    2019-09-16T18:37:24+08:002019-09-16T18:37:24+08:00

    这对我有用。但是,我将不胜感激任何可以扩展其中一些选择的实际含义的评论或答案!

    在要为其生成证书的远程桌面服务器上打开 MMC 控制台,然后添加证书管理单元,选择“计算机帐户”和“本地计算机”选项。转到个人/证书,右键单击并选择所有任务 -> 高级操作 -> 创建自定义请求。

    点击下一步。选择“在没有注册策略的情况下继续”,然后再次单击“下一步”。

    对于模板,我选择了“(无模板)CNG 密钥”。我发现一些帖子说您需要选择 Legacy 选项,但我看不出有任何必要这样做的理由,而且 CNG 选项确实按预期工作。

    对于请求格式,我选择了 PKCS #10。

    在证书信息对话框中,单击详细信息,然后单击属性。

    在“常规”选项卡中,添加友好名称和描述。

    在主题选项卡中,将服务器(或服务器场)的完全限定 DNS 名称添加为“通用名称”。请注意,具有不合格名称(无论是作为主题还是作为替代名称)的证书请求可能会被证书签名机构拒绝。

    我还添加了组织、地区、州和国家。如果服务器有多个 DNS 名称,您可能还希望此时添加备用名称。

    在扩展选项卡的扩展密钥使用下,添加服务器身份验证。我没有在此选项卡中进行任何其他更改。(有些帖子说您还应该包括代码签名,大概是为了您可以签署 RDP 文件;这似乎没有必要,因为我能够使用rdpsign我的 RDP 文件签名并且证书已被 Microsoft 客户端接受。)

    在“私钥”选项卡的“密钥选项”下,我将密钥大小更改为 2048,并设置了“使私钥可导出”的标志。这是必要的,因为部署属性对话框只允许您将证书作为文件导入,然后证书和私钥将被传输到会话主机服务器。我没有在此选项卡下进行任何其他更改。

    关闭“属性”对话框后,单击“下一步”。将请求保存为 Base64 格式的文件。单击完成。向您的证书颁发机构提交请求,生成新证书后,将其下载到 .crt 文件中。

    在 MMC 控制台中,右键单击 Personal/Certificates 并选择 All Tasks -> Import。选择响应文件并单击下一步。检查是否选择了个人商店,然后单击下一步。单击完成。当您收到提示导入成功的消息时,单击“确定”。

    双击新证书将其打开。检查证书是否显示为有效;如果没有,您可能需要导入您的证书颁发机构提供的中间 CA 证书。还要检查证书是否在“常规”选项卡上显示消息“您有与此证书对应的私钥”。

    右键单击新证书并选择导出。点击下一步。选择导出私钥的选项,然后单击下一步。

    在“导出文件格式”对话框中,PKCS#12 是唯一可用的选择;我使用了默认设置,即,我选中了“如果可能的话,在证书路径中包含所有证书”选项,并且未选中所有其他选项。点击下一步。(编辑:在 Server 2019 中,默认情况下也启用了“启用证书隐私”选项,这在此处进行了描述,据我所知,您最好将其保持启用状态。)

    选择使用您的用户帐户保护私钥的选项,然后单击下一步。输入文件名,然后单击下一步。当您收到说明导出成功的消息时,单击“确定”。(请注意,默认情况下,该文件将保存到您从中导入证书文件的同一位置。)

    返回服务器管理器和部署属性向导,选择“RD 连接代理 - 启用单点登录”选项并单击“选择现有证书”。选择导出的 .pfx 文件并选择强制性的“允许将证书添加到目标计算机上的受信任的根证书颁发机构证书存储区”选项。单击确定。单击应用。

    注意:为了在客户端连接时使用证书,您必须为“启用单点登录”选项安装它,而不是我最初假设的“发布”选项。(您不必实际使用SSO,您可以在客户端通过组策略配置是否尝试 SSO。)

    如此处所述,您可以通过服务器的 IP 地址而不是名称进行连接,从而最轻松地检查向客户端提供的证书。


    附加参考:

    配置证书和单点登录,特别是标题为“创建证书的常见错误”的部分。

    使用证书保护 RDS。

    • 2

相关问题

  • 最小化后远程桌面会话黑屏

  • 如何通过互联网连接到处于睡眠模式的计算机

  • 使用远程桌面时 Windows 资源管理器(文件名)字符串损坏?

  • Windows Server 2003 机器在重新启动时挂起

  • 从 Mac OS X 客户端到 SBS 2003 的远程桌面连接

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