CngKey.Open Метод

Определение

Создает экземпляр класса CngKey, который представляет существующий ключ.

Перегрузки

Open(String)

Создает экземпляр класса CngKey, который представляет существующий именованный ключ.

Open(SafeNCryptKeyHandle, CngKeyHandleOpenOptions)

Создает экземпляр класса CngKey, используя дескриптор существующего ключа.

Open(String, CngProvider)

Создает экземпляр класса CngKey, который представляет существующий именованный ключ, используя заданного поставщика хранилища ключей (KSP).

Open(String, CngProvider, CngKeyOpenOptions)

Создает экземпляр класса CngKey, который представляет существующий именованный ключ, используя заданного поставщика хранилища ключей (KSP) и параметры открытия ключа.

Open(String)

Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs

Создает экземпляр класса CngKey, который представляет существующий именованный ключ.

public:
 static System::Security::Cryptography::CngKey ^ Open(System::String ^ keyName);
public static System.Security.Cryptography.CngKey Open (string keyName);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Security.Cryptography.CngKey Open (string keyName);
static member Open : string -> System.Security.Cryptography.CngKey
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : string -> System.Security.Cryptography.CngKey
Public Shared Function Open (keyName As String) As CngKey

Параметры

keyName
String

Имя ключа.

Возвращаемое значение

Существующий ключ.

Атрибуты

Исключения

keyName имеет значение null.

Криптография следующего поколения (CNG) не поддерживается в этой системе.

Все остальные ошибки.

Комментарии

Эта перегрузка использует следующие значения по умолчанию:

Применяется к

Open(SafeNCryptKeyHandle, CngKeyHandleOpenOptions)

Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs

Создает экземпляр класса CngKey, используя дескриптор существующего ключа.

public:
 static System::Security::Cryptography::CngKey ^ Open(Microsoft::Win32::SafeHandles::SafeNCryptKeyHandle ^ keyHandle, System::Security::Cryptography::CngKeyHandleOpenOptions keyHandleOpenOptions);
public static System.Security.Cryptography.CngKey Open (Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle keyHandle, System.Security.Cryptography.CngKeyHandleOpenOptions keyHandleOpenOptions);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
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
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle * System.Security.Cryptography.CngKeyHandleOpenOptions -> System.Security.Cryptography.CngKey
[<System.Security.SecurityCritical>]
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

Параметры

keyHandle
SafeNCryptKeyHandle

Дескриптор существующего ключа.

keyHandleOpenOptions
CngKeyHandleOpenOptions

Одно из значений перечисления, определяющее, представляет ли keyHandle эфемерный или именованный ключ.

Возвращаемое значение

Существующий ключ.

Атрибуты

Исключения

keyHandle имеет значение null.

keyHandle является недопустимым или имеет неверный формат либо уже закрыт. Это исключение также возникает в том случае, если ключ является эфемерным ключом, созданным средой CLR, но не задано значение EphemeralKey.

Криптография следующего поколения (CNG) не поддерживается в этой системе.

Все остальные ошибки.

Комментарии

Эта перегрузка позволяет опытным пользователям использовать классы CNG, даже если они используют вызов платформы или возможность управляемого взаимодействия C++. Например, если у вас есть собственная библиотека, которая возвращает ключ в виде NCRYPT_KEY_HANDLE, эта перегрузка позволяет создать управляемую оболочку вокруг ключа и использовать классы CNG для управления им.

При открытии ключа с помощью его дескриптора невозможно определить эфемерное состояние ключа и его необходимо указать самостоятельно. Некоторые CngKey свойства класса зависят от этого значения, чтобы быть правильным. Поэтому убедитесь, что вы передаете правильное значение флага в Open методы.

Применяется к

Open(String, CngProvider)

Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs

Создает экземпляр класса CngKey, который представляет существующий именованный ключ, используя заданного поставщика хранилища ключей (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);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
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
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : string * System.Security.Cryptography.CngProvider -> System.Security.Cryptography.CngKey
Public Shared Function Open (keyName As String, provider As CngProvider) As CngKey

Параметры

keyName
String

Имя ключа.

provider
CngProvider

Поставщик KSP, который содержит ключ.

Возвращаемое значение

Существующий ключ.

Атрибуты

Исключения

Параметр keyName или provider имеет значение null.

Криптография следующего поколения (CNG) не поддерживается в этой системе.

Все остальные ошибки.

Комментарии

В отличие от перегрузки Open(String) метода, эта перегрузка позволяет указать поставщика. Кроме того, создается значение None по умолчанию CngKeyOpenOptions и привязывается к ключу.

Применяется к

Open(String, CngProvider, CngKeyOpenOptions)

Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs

Создает экземпляр класса CngKey, который представляет существующий именованный ключ, используя заданного поставщика хранилища ключей (KSP) и параметры открытия ключа.

public:
 static System::Security::Cryptography::CngKey ^ Open(System::String ^ keyName, System::Security::Cryptography::CngProvider ^ provider, System::Security::Cryptography::CngKeyOpenOptions openOptions);
public static System.Security.Cryptography.CngKey Open (string keyName, System.Security.Cryptography.CngProvider provider, System.Security.Cryptography.CngKeyOpenOptions openOptions);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Security.Cryptography.CngKey Open (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
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : string * System.Security.Cryptography.CngProvider * System.Security.Cryptography.CngKeyOpenOptions -> System.Security.Cryptography.CngKey
[<System.Security.SecurityCritical>]
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

Параметры

keyName
String

Имя ключа.

provider
CngProvider

Поставщик KSP, который содержит ключ.

openOptions
CngKeyOpenOptions

Побитовое сочетание значений перечисления, которые определяют параметры открытия ключа, например, расположение, из которого открывается ключ (компьютер или пользовательское хранилище), или отключение запросов пользовательского интерфейса.

Возвращаемое значение

Существующий ключ.

Атрибуты

Исключения

Параметр keyName или provider имеет значение null.

Криптография следующего поколения (CNG) не поддерживается в этой системе.

Все остальные ошибки.

Комментарии

В отличие от перегрузки Open(String) метода, эта перегрузка позволяет указать как поставщик, так и параметры открытия ключа.

Применяется к