以下信息有助于迁移到适用于 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
返回类型
- KeyList 和 SecretList 现在返回 IPage<T> 而不是 ListKeysResponseMessage
- 生成的 BackupKeyAsync 将返回 BackupKeyResult,其中包含“值”(备份 blob)。 以前,这个方法经过封装后仅返回其值。
例外
- KeyVaultClientException 更改为 KeyVaultErrorException
- 服务错误已从exception.Error更改为exception.Body.Error.Message。
- 从 [JsonExtensionData] 的错误消息中删除了其他信息。
构造函数
- 构造函数不接受 HttpClient 作为构造函数参数,而只接受 HttpClientHandler 或 DelegatingHandler[]。
下载的包
当客户端处理 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。
- PermissionsToKeys 和 PermissionsToSecrets 现在是 Permissions.Keys 和 Permissions.Secrets
- 某些返回类型更改也适用于控制平面。
Microsoft.Azure.KeyVault.Extensions NuGet
- 包分为 Microsoft.Azure.KeyVault.Extensions 和 Microsoft.Azure.KeyVault.Cryptography ,用于加密作。