Azure 密钥保管库 .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 。
类型更改
- Secret 更改为 SecretBundle
- Dictionary 更改为 IDictionary
- List<T>, string [] 更改为 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 属性的类 。 返回类型现在为 Vault。
- PermissionsToKeys 和 PermissionsToSecrets 现在是 Permissions.Keys 和 Permissions.Secrets
- 某些返回类型的更改也适用于控制面板。
Microsoft.Azure.KeyVault.Extensions NuGet
- 该包已分解为 Microsoft.Azure.KeyVault.Extensions 和用于加密操作的 Microsoft.Azure.KeyVault.Cryptography。