如何:使用 X.509 证书在 ACS 和 ASP.NET Web 应用程序之间配置信任

更新时间:2015 年 6 月 19 日

适用于:Azure

应用于

  • Microsoft Azure Active Directory 访问控制(也称为访问控制服务或 ACS)

  • ASP.NET

总结

本主题介绍如何在应用程序和 ACS 之间配置信任。 信任是通过对 ASP.NET Web 应用程序和 ACS 之间交换的令牌进行签名建立的。

目录

  • 目标

  • 概述

  • 步骤摘要

  • 步骤 1 – 导航到令牌签名证书部分

  • 步骤 2 - 使用 X.509 证书配置信任

  • 步骤 3 - 检查 web.config 和 ACS 管理门户中与信任相关的属性

目标

  • 熟悉 ACS 管理门户中的信任管理部分。

  • 使用 X.509 证书管理信任。

  • 在 web.config 中和管理门户上验证所需的配置。

概述

在应用程序和 ACS 之间正确交换令牌需要建立信任。 信任可以确保令牌在传输过程中不会被篡改,并且令牌由受信任方颁发。 对于 ASP.NET Web 应用程序信任使用 X.509 证书进行管理,并且基于 ACS 管理门户的配置和web.config配置。

步骤摘要

若要在 ASP.NET Web 应用程序和 ACS 之间建立和管理信任,请执行以下步骤:

  • 步骤 1 – 导航到令牌签名证书部分

  • 步骤 2 - 使用 X.509 证书配置信任

  • 步骤 3 - 检查 web.config 和 ACS 管理门户中与信任相关的属性

步骤 1 – 导航到令牌签名证书部分

此步骤演示如何导航到 ACS 管理门户的信任管理部分。

  1. 转到Microsoft Azure管理门户 (https://manage.WindowsAzure.com) 登录,然后单击“Active Directory”。 (故障排除提示: “Active Directory”项缺失或不可用)

  2. 若要管理访问控制命名空间,请选择该命名空间,然后单击“管理”。 (或者,单击“访问控制命名空间”,选择命名空间,然后单击“管理”。)

  3. 在 ACS 门户中,单击“ 信赖方应用程序”。

  4. 单击一个信赖方应用程序。

  5. 在“编辑信赖方应用程序”页上,向下滚动到“令牌签名证书”部分

  6. 选择一个证书。

步骤 2 - 使用 X.509 证书配置信任

此步骤演示如何使用 X.509 证书配置和管理 ACS 与 ASP.NET Web 应用程序之间的信任。 如果在信赖方应用程序中使用的是 Windows® Identity Foundation (WIF),请使用 X.509 证书签名凭据。

使用 X.509 证书配置和管理信任

  1. 转到Microsoft Azure管理门户 (https://manage.WindowsAzure.com) 登录,然后单击“Active Directory”。 (故障排除提示: “Active Directory”项缺失或不可用)

  2. 若要管理访问控制命名空间,请选择该命名空间,然后单击“管理”。 (或者,单击“访问控制命名空间”,选择命名空间,然后单击“管理”。)

  3. 单击“证书和密钥”,然后选择一个 X.509 证书。

  4. 在“编辑令牌签名证书或密钥”页上,提供以下值

    • 名称:所选的任意名称。

    • 类型X.509 证书

    • 证书:若要使用 ACS 默认创建的证书,无需执行任何操作。 你也可以上载自己的 X.509 证书。

      该证书应受密码保护。 它通常具有 .pfx 扩展名。 上传自己的 X.509 证书时。在 “密码 ”文本框中提供 pfx 文件密码

    • 密码:如果使用默认证书,则无需执行任何操作。 如果上载证书,该证书应受密码保护。 在“密码”文本框中提供 pfx 文件密码

  5. 单击“ 保存”。

获取 X.509 证书

有多种方法可以获取 X.509 证书进行令牌签名或加密。 所使用的方法取决于你的需求和向组织提供的工具。

本地证书颁发机构

如果组织已部署 Active Directory 证书服务 (AD CS) 之类的证书颁发机构 (CA),则你可以请求 X.509 证书。 你可能需要与证书颁发机构管理员联系以获取相关说明或权限。 有关 Active Directory 证书服务的详细信息,请参阅 Active Directory 证书服务 (https://go.microsoft.com/fwlink/?linkid=208371) 。

商业证书颁发机构

你可以从商业证书颁发机构(如 Verisign)购买 X.509 证书。 由于这是试验室版本,因此建议你使用本地证书颁发机构(如果有)或生成自签名证书(参阅以下内容)。

生成Self-Signed证书

可以使用软件生成自己的自签名证书,以用于 ACS。 虽然通常仅建议将这种方法用于测试目的,但如果任何人无权访问本地 CA,或者不希望向商业 CA 支付费用,则这种方法也可以完成。 如果运行的是Windows,则可以下载MakeCert.exe作为Windows SDK (https://go.microsoft.com/fwlink/?linkid=84091) 的一部分,并使用它生成证书。

导出自签名证书

有关如何导出自签名证书的说明,请参阅 证书和密钥

此步骤说明如何在 ASP.NET Web 应用程序的 web.config 中验证与信任相关的配置属性。

  1. 打开 ASP.NET Web 应用程序的 web.config 文件。

  2. 导航到 audiencesUris 节点并验证其子添加节点的值是否与在 ACS 管理门户的“编辑信赖方”页的“领域”属性字段中输入的值相同。

    1. 转到Microsoft Azure管理门户 (https://manage.WindowsAzure.com) 登录,然后单击“Active Directory”。 (故障排除提示: “Active Directory”项缺失或不可用)

    2. 若要管理访问控制命名空间,请选择该命名空间,然后单击“管理”。 (或者,单击“访问控制命名空间”,选择命名空间,然后单击“管理”。)

    3. 单击“信赖方应用程序”

    4. 在“信赖方应用程序”页上,单击所需的应用程序

    5. 在“编辑信赖方应用程序”页上,查看“领域”属性

另请参阅

概念

ACS 操作指南