Azure Key Vault .NET 2.0 - 发行说明和迁移指南

以下信息有助于迁移到适用于 C# 和 .NET 的 Azure Key Vault 库的 2.0 版本。 为早期版本编写的应用需要更新以支持最新版本。 需要进行这些更改才能完全支持新的和改进的功能,例如 Key Vault 证书

Key Vault 证书

Key Vault 证书管理 x509 证书,并支持以下行为:

  • 通过 Key Vault 创建过程创建证书或导入现有证书,包括自签名证书和证书颁发机构(CA)生成的证书。
  • 安全地存储和管理 x509 证书存储,无需使用私钥材料进行交互。
  • 定义指示 Key Vault 管理证书生命周期的策略。
  • 提供生命周期事件的联系信息,例如过期警告和续订通知。
  • 使用选定的证书颁发者(Key Vault 合作伙伴 X509 证书提供者和证书颁发机构)自动续订证书。* 支持来自备用(非合作伙伴)提供者和证书颁发机构的支持证书(不支持自动续订)。

.NET 支持

  • Azure Key Vault .NET 库的 2.0 版本不支持 .NET 4.0
  • Azure Key Vault .NET 库的 2.0 版本支持 .NET Framework 4.5.2
  • Azure Key Vault .NET 库的 2.0 版本支持 .NET Standard 1.4

命名空间

  • 模型的命名空间从 Microsoft.Azure.KeyVault 更改为 Microsoft.Azure.KeyVault.Models

  • Microsoft.Azure.KeyVault.Internal 命名空间已删除。

  • 以下 Azure SDK 依赖项命名空间如下所示

    • Hyak.Common 现已 Microsoft.Rest
    • Hyak.Common.Internals 现已命名为 Microsoft.Rest.Serialization

类型更改

  • 机密 更改为 SecretBundle
  • 字典 更改为 IDictionary
  • 列表<T>,字符串 [] 更改为 IList<T>
  • NextList 已更改为 NextPageLink

返回类型

  • KeyListSecretList 现在返回 IPage<T> 而不是 ListKeysResponseMessage
  • 生成的 BackupKeyAsync 将返回 BackupKeyResult,其中包含“值”(备份 blob)。 以前,这个方法经过封装后仅返回其值。

例外

  • KeyVaultClientException 更改为 KeyVaultErrorException
  • 服务错误已从exception.Error更改为exception.Body.Error.Message
  • [JsonExtensionData] 的错误消息中删除了其他信息。

构造函数

  • 构造函数不接受 HttpClient 作为构造函数参数,而只接受 HttpClientHandlerDelegatingHandler[]

下载的包

当客户端处理 Key Vault 依赖项时,将下载以下包:

以前的包列表

  • package id="Hyak.Common" version="1.0.2" targetFramework="net45"
  • package id="Microsoft.Azure.Common" version="2.0.4" targetFramework="net45"
  • package id="Microsoft.Azure.Common.Dependencies" version="1.0.0" targetFramework="net45"
  • package id="Microsoft.Azure.KeyVault" version="1.0.0" targetFramework="net45"
  • package id="Microsoft.Bcl" version="1.1.9" targetFramework="net45"
  • package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45"
  • package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45"
  • package id="Microsoft.Net.Http" version="2.2.22" targetFramework="net45"

当前包列表

  • package id="Microsoft.Azure.KeyVault" version="2.0.0-preview" targetFramework="net45"
  • package id="Microsoft.Rest.ClientRuntime" version="2.2.0" targetFramework="net45"
  • package id="Microsoft.Rest.ClientRuntime.Azure" version="3.2.0" targetFramework="net45"

类的更改

  • 已删除 UnixEpoch 类。
  • Base64UrlConverter 类重命名为 Base64UrlJsonConverter

其他更改

  • 此版本的 API 中添加了对暂时性故障的 KV 操作重试策略配置的支持。

Microsoft.Azure.Management.KeyVault NuGet

  • 对于返回保管库的操作,返回类型是一个包含Vault属性的类。 返回类型现在是 Vault
  • PermissionsToKeysPermissionsToSecrets 现在是 Permissions.KeysPermissions.Secrets
  • 某些返回类型更改也适用于控制平面。

Microsoft.Azure.KeyVault.Extensions NuGet

  • 包分为 Microsoft.Azure.KeyVault.ExtensionsMicrosoft.Azure.KeyVault.Cryptography ,用于加密作。