CngKey.Open Metodo

Definizione

Crea un'istanza di un oggetto CngKey che rappresenta una chiave esistente.Creates an instance of an CngKey object that represents an existing key.

Overload

Open(String)

Crea un'istanza di un oggetto CngKey che rappresenta una chiave denominata esistente.Creates an instance of an CngKey object that represents an existing named key.

Open(SafeNCryptKeyHandle, CngKeyHandleOpenOptions)

Crea un'istanza di un oggetto CngKey utilizzando un handle per una chiave esistente.Creates an instance of an CngKey object by using a handle to an existing key.

Open(String, CngProvider)

Crea un'istanza di un oggetto CngKey che rappresenta una chiave denominata esistente, utilizzando il provider di archiviazione chiavi (KSP) specificato.Creates an instance of an CngKey object that represents an existing named key, using the specified key storage provider (KSP).

Open(String, CngProvider, CngKeyOpenOptions)

Crea un'istanza di un oggetto CngKey che rappresenta una chiave denominata esistente, utilizzando il provider di archiviazione chiavi (KSP) e le opzioni di apertura della chiave specificati.Creates an instance of an CngKey object that represents an existing named key, using the specified key storage provider (KSP) and key open options.

Open(String)

Crea un'istanza di un oggetto CngKey che rappresenta una chiave denominata esistente.Creates an instance of an CngKey object that represents an existing named key.

public:
 static System::Security::Cryptography::CngKey ^ Open(System::String ^ keyName);
public static System.Security.Cryptography.CngKey Open (string keyName);
static member Open : string -> System.Security.Cryptography.CngKey
Public Shared Function Open (keyName As String) As CngKey

Parametri

keyName
String

Nome della chiave.The name of the key.

Restituisce

Chiave esistente.An existing key.

Eccezioni

keyName è null.keyName is null.

Cryptography Next Generation non è supportato in questo sistema.Cryptography Next Generation (CNG) is not supported on this system.

Tutti gli altri errori.All other errors.

Commenti

Questo overload usa i valori predefiniti seguenti:This overload uses the following defaults:

Sicurezza

KeyContainerPermissionAccessEntryCollection
per l'autorizzazione ad aprire un contenitore di chiavi.for permission to open a key container. Valore della richiesta Demand:.Demand value: Demand. Enumerazione associata:OpenAssociated enumeration: Open

Open(SafeNCryptKeyHandle, CngKeyHandleOpenOptions)

Crea un'istanza di un oggetto CngKey utilizzando un handle per una chiave esistente.Creates an instance of an CngKey object by using a handle to an existing key.

public:
 static System::Security::Cryptography::CngKey ^ Open(Microsoft::Win32::SafeHandles::SafeNCryptKeyHandle ^ keyHandle, System::Security::Cryptography::CngKeyHandleOpenOptions keyHandleOpenOptions);
[System.Security.SecurityCritical]
public static System.Security.Cryptography.CngKey Open (Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle keyHandle, System.Security.Cryptography.CngKeyHandleOpenOptions keyHandleOpenOptions);
static member Open : Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle * System.Security.Cryptography.CngKeyHandleOpenOptions -> System.Security.Cryptography.CngKey
Public Shared Function Open (keyHandle As SafeNCryptKeyHandle, keyHandleOpenOptions As CngKeyHandleOpenOptions) As CngKey

Parametri

keyHandle
SafeNCryptKeyHandle

Handle per una chiave esistente.A handle to an existing key.

keyHandleOpenOptions
CngKeyHandleOpenOptions

Uno dei valori di enumerazione che indica se l'oggetto keyHandle rappresenta una chiave effimera o una chiave denominata.One of the enumeration values that indicates whether keyHandle represents an ephemeral key or a named key.

Restituisce

Chiave esistente.An existing key.

Attributi

Eccezioni

keyHandle è null.keyHandle is null.

keyHandle è non valido o in formato non corretto, oppure è già chiuso.keyHandle is invalid or malformed, or it is already closed. Questa eccezione viene inoltre generata se la chiave è una chiave effimera creata da Common Language Runtime (CLR), ma il valore EphemeralKey non viene specificato.This exception is also thrown if the key is an ephemeral key that is created by the common language runtime (CLR), but the EphemeralKey value is not specified.

Cryptography Next Generation non è supportato in questo sistema.Cryptography Next Generation (CNG) is not supported on this system.

Tutti gli altri errori.All other errors.

Commenti

Questo overload consente agli utenti avanzati di utilizzare le classi CNG anche se si basano su platform invoke o sulla funzionalità di C++interoperabilità gestita di.This overload enables advanced users to use the CNG classes even if they rely on platform invoke or the managed interop capability of C++. Se, ad esempio, si dispone di una libreria nativa che restituisce la chiave come NCRYPT_KEY_HANDLE, questo overload consente di creare un wrapper gestito intorno alla chiave e di utilizzare le classi CNG per modificarlo.For example, if you have a native library that returns the key as an NCRYPT_KEY_HANDLE, this overload lets you create a managed wrapper around the key and use the CNG classes to manipulate it.

Quando si apre una chiave usando il relativo handle, non è possibile determinare lo stato temporaneo della chiave ed è necessario specificarlo manualmente.When you open a key by using its handle, you cannot determine the key's ephemeral state and must specify it yourself. Diverse proprietà della CngKey classe si basano su questo valore per essere corrette.Several properties of the CngKey class rely on this value to be correct. Assicurarsi pertanto di passare il valore del flag corretto ai Open metodi.Therefore, make sure that you pass the correct flag value to the Open methods.

Sicurezza

SecurityPermission
per l'autorizzazione a chiamare codice non gestito.for permission to call unmanaged code. Valore della richiesta Demand:.Demand value: Demand. Enumerazione associata:UnmanagedCodeAssociated enumeration: UnmanagedCode

Open(String, CngProvider)

Crea un'istanza di un oggetto CngKey che rappresenta una chiave denominata esistente, utilizzando il provider di archiviazione chiavi (KSP) specificato.Creates an instance of an CngKey object that represents an existing named key, using the specified key storage provider (KSP).

public:
 static System::Security::Cryptography::CngKey ^ Open(System::String ^ keyName, System::Security::Cryptography::CngProvider ^ provider);
public static System.Security.Cryptography.CngKey Open (string keyName, System.Security.Cryptography.CngProvider provider);
static member Open : string * System.Security.Cryptography.CngProvider -> System.Security.Cryptography.CngKey
Public Shared Function Open (keyName As String, provider As CngProvider) As CngKey

Parametri

keyName
String

Nome della chiave.The name of the key.

provider
CngProvider

Provider archiviazione chiavi che contiene la chiave.The KSP that contains the key.

Restituisce

Chiave esistente.An existing key.

Eccezioni

keyName o provider è null.keyName or provider is null.

Cryptography Next Generation non è supportato in questo sistema.Cryptography Next Generation (CNG) is not supported on this system.

Tutti gli altri errori.All other errors.

Commenti

A differenza dell' Open(String) overload del metodo, questo overload consente di specificare il provider.Unlike the Open(String) method overload, this overload lets you specify the provider. Viene inoltre creato un valore CngKeyOpenOptions predefinito di None che viene associato alla chiave.In addition, a default CngKeyOpenOptions value of None is created and bound to the key.

Sicurezza

KeyContainerPermissionAccessEntryCollection
per l'autorizzazione ad aprire un contenitore di chiavi.for permission to open a key container. Valore della richiesta Demand:.Demand value: Demand. Enumerazione associata:OpenAssociated enumeration: Open

Open(String, CngProvider, CngKeyOpenOptions)

Crea un'istanza di un oggetto CngKey che rappresenta una chiave denominata esistente, utilizzando il provider di archiviazione chiavi (KSP) e le opzioni di apertura della chiave specificati.Creates an instance of an CngKey object that represents an existing named key, using the specified key storage provider (KSP) and key open options.

public:
 static System::Security::Cryptography::CngKey ^ Open(System::String ^ keyName, System::Security::Cryptography::CngProvider ^ provider, System::Security::Cryptography::CngKeyOpenOptions openOptions);
[System.Security.SecurityCritical]
public static System.Security.Cryptography.CngKey Open (string keyName, System.Security.Cryptography.CngProvider provider, System.Security.Cryptography.CngKeyOpenOptions openOptions);
static member Open : string * System.Security.Cryptography.CngProvider * System.Security.Cryptography.CngKeyOpenOptions -> System.Security.Cryptography.CngKey
Public Shared Function Open (keyName As String, provider As CngProvider, openOptions As CngKeyOpenOptions) As CngKey

Parametri

keyName
String

Nome della chiave.The name of the key.

provider
CngProvider

Provider archiviazione chiavi che contiene la chiave.The KSP that contains the key.

openOptions
CngKeyOpenOptions

Combinazione bit per bit dei valori di enumerazione che specificano le opzioni di apertura della chiave, ad esempio se la chiave viene aperta dal computer o dall'archivio utente e se eliminare il prompt dell'interfaccia utente.A bitwise combination of the enumeration values that specify options for opening the key, such as where the key is opened from (machine or user storage) and whether to suppress UI prompting.

Restituisce

Chiave esistente.An existing key.

Attributi

Eccezioni

keyName o provider è null.keyName or provider is null.

Cryptography Next Generation non è supportato in questo sistema.Cryptography Next Generation (CNG) is not supported on this system.

Tutti gli altri errori.All other errors.

Commenti

A differenza dell' Open(String) overload del metodo, questo overload consente di specificare sia il provider che le opzioni di apertura della chiave.Unlike the Open(String) method overload, this overload lets you specify both the provider and the key open options.

Sicurezza

KeyContainerPermissionAccessEntryCollection
per l'autorizzazione ad aprire un contenitore di chiavi.for permission to open a key container. Valore della richiesta Demand:.Demand value: Demand. Enumerazione associata:OpenAssociated enumeration: Open

Si applica a