代码示例:密钥管理

本示例演示如何以编程方式更新即将到期的证书和密钥。 它由单个 Visual Studio 2010 解决方案和两个项目组成。 一个项目 (Common) 包含一个帮助器类型,用于简化管理服务的使用。 另一个项目 (KeyManagement) 用于演示以下内容:

  • 如何使用 ACS 管理服务将标识提供者和信赖方应用程序元数据导入Microsoft Azure Active Directory 访问控制 (也称为访问控制服务或 ACS) 。

  • 如何使用管理服务和Windows Identity Foundation 更新 ACS,以便通过模拟标识提供者或信赖方应用程序的元数据更改来分析和提取要更新的密钥。

此示例的代码位于 (C#\Management\KeyManagement) Microsoft Azure Active Directory 访问控制 (ACS) 代码示例包的 KeyManagement 子目录中。

还可以使用 ACS 管理门户更新证书和密钥。 有关详细信息,请参阅 证书和密钥管理准则

先决条件

若要运行此示例,需要:

  1. Azure 主页上的帐户和访问控制命名空间。

  2. Visual Studio 2010 (任何版本) 。

有关详细信息,请参阅 ACS 先决条件 (https://go.microsoft.com/fwlink/?LinkId=221065) 。

运行示例

运行示例

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

  2. 若要创建访问控制命名空间,请依次单击“新建”、“应用程序服务”和“访问控制”,然后单击“快速创建”。 (或者,先单击“访问控制命名空间”,然后单击“新建”。)

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

  4. 单击“管理服务”,然后单击默认的 ManagementClient 帐户。 你会看到一组可用于访问管理服务的凭据。 在此示例中,我们将使用密码凭据。

  5. 若要查看密码,请单击凭据列表中的“密码”

  6. 将密码复制到剪贴板。

  7. 如果尚未这样做,请在Visual Studio中打开该示例。

  8. Common 项目中,打开 SamplesConfiguration.cs 文件,并找到以下代码行:

    public const string ServiceNamespace = "...Copy Access Control Namespace..."; 
    public const string ManagementServiceIdentityKey = "...Copy Management Service Password...";
    
  9. 使用访问控制命名空间的名称更新 ServiceNamespace 字段的值。

  10. 使用剪贴板中的密码值更新 ManagementServiceIdentityKey 字段的值。

  11. 生成解决方案。

  12. 配置 ManagementServiceHelper 后,便可以启动 KeyManagement 项目了。