Guida alla migrazione e note sulla versione .NET 2.0 per l'insieme di credenziali delle chiavi di Azure

Le note e le linee guida seguenti sono destinate agli sviluppatori che usano la libreria .NET / C# di Azure Key Vault. Nel passaggio dalla versione 1.0 alla versione 2.0 sono state apportate alcune modifiche. Per poter però usufruire dei miglioramenti funzionali e delle nuove funzionalità, ad esempio la funzionalità Certificati Key Vault, è necessaria un'operazione di migrazione nel codice.

Certificati Key Vault

La funzionalità Certificati dell'insieme di credenziali delle chiavi supporta la gestione di certificati X509 e consente di eseguire le operazioni seguenti:

  • Il proprietario di un certificato può creare un certificato tramite un processo di creazione dell'insieme di credenziali delle chiavi o tramite l'importazione di un certificato esistente. Sono inclusi i certificati autofirmati e i certificati generati dall'autorità di certificazione.
  • Il proprietario di un certificato dell'insieme di credenziali delle chiavi può implementare l'archiviazione sicura e la gestione di certificati X509 senza interagire con materiale della chiave privata.
  • Il proprietario di un certificato può creare criteri che guidano l'insieme di credenziali delle chiavi nella gestione del ciclo di vita di un certificato.
  • I proprietari di un certificato possono specificare informazioni sul contatto per notificare eventi sul ciclo di vita di un certificato, come la scadenza e il rinnovo.
  • Viene supportato il rinnovo automatico con autorità di certificazione selezionate, ad esempio provider di certificati X509 / Autorità di certificazione partner dell'insieme di credenziali delle chiavi.

    • NOTA: sono ammessi anche i provider e le autorità di certificazione senza partnership, ma non supportano la funzionalità di rinnovo automatico.

Supporto .NET

  • .NET 4.0 non è supportata dalla versione 2.0 della libreria .NET/C# dell'insieme di credenziali delle chiavi di Azure
  • .NET Core è supportata dalla versione 2.0 della libreria .NET/C# dell'insieme di credenziali delle chiavi di Azure

Spazi dei nomi

  • Lo spazio dei nomi per i modelli viene cambiato da Microsoft.Azure.KeyVault a Microsoft.Azure.KeyVault.Models.
  • Lo spazio dei nomi Microsoft.Azure.KeyVault.Internal viene rimosso.
  • Lo spazio dei nomi delle dipendenze di Azure SDK viene modificato da Hyak.Common e Hyak.Common.Internals in Microsoft.Rest e Microsoft.Rest.Serialization

Modifiche del tipo

  • Secret modificato in SecretBundle
  • Dictionary modificato in IDictionary
  • List, string [] modificato in IList
  • NextList modificato in NextPageLink

Tipi restituiti

  • KeyList e SecretList restituiranno IPage anziché ListKeysResponseMessage
  • L'oggetto BackupKeyAsync generato restituirà BackupKeyResult che contiene Value (BLOB di backup). Prima veniva eseguito il wrapping del metodo e veniva restituito solo il valore.

Eccezioni

  • KeyVaultClientException viene modificato in KeyVaultErrorException
  • L'errore del servizio viene modificato da exception.Error in exception.Body.Error.Message.
  • Le informazioni aggiuntive sono rimosse dal messaggio di errore per [JsonExtensionData].

Costruttori

  • Invece di accettare HttpClient come argomento del costruttore, il costruttore accetta solo HttpClientHandler o DelegatingHandler[].

Pacchetti scaricati

Durante l'elaborazione di una dipendenza dall'insieme di credenziali delle chiavi da parte del client, venivano scaricati i pacchetti seguenti

Elenco dei pacchetti precedenti

  • 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"

Elenco dei pacchetti correnti

  • 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"

Modifiche alle classi

  • La UnixEpoch è stata rimossa
  • La classe Base64UrlConverter viene rinominata in Base64UrlJsonConverter

Altre modifiche

  • A questa versione dell'API è stato aggiunto il supporto per la configurazione dei criteri per i tentativi dell'operazione insieme di credenziali delle chiavi su errori temporanei.

Microsoft.Azure.Management.KeyVault NuGet

  • Per le operazioni che restituivano un insieme di credenziali, il tipo restituito era una classe che conteneva una proprietà Vault. Il tipo restituito è ora Vault.
  • PermissionsToKeys e PermissionsToSecrets ora sono Permissions.Keys e Permissions.Secrets
  • Alcune delle modifiche che riguardano i tipi restituiti si applicano anche al piano di controllo.

Microsoft.Azure.KeyVault.Extensions NuGet

  • Il pacchetto viene interrotto a Microsoft.Azure.KeyVault.Extensions e Microsoft.Azure.KeyVault.Cryptography per le operazioni di crittografia.