CngKey.Open Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает экземпляр класса CngKey, который представляет существующий ключ.
Перегрузки
Open(String) |
Создает экземпляр класса CngKey, который представляет существующий именованный ключ. |
Open(SafeNCryptKeyHandle, CngKeyHandleOpenOptions) |
Создает экземпляр класса CngKey, используя дескриптор существующего ключа. |
Open(String, CngProvider) |
Создает экземпляр класса CngKey, который представляет существующий именованный ключ, используя заданного поставщика хранилища ключей (KSP). |
Open(String, CngProvider, CngKeyOpenOptions) |
Создает экземпляр класса CngKey, который представляет существующий именованный ключ, используя заданного поставщика хранилища ключей (KSP) и параметры открытия ключа. |
Open(String)
Создает экземпляр класса 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) не поддерживается в этой системе.
Все остальные ошибки.
Комментарии
Эта перегрузка использует следующие значения по умолчанию:
Поставщик хранилища ключей (KSP): MicrosoftSoftwareKeyStorageProvider. Используйте перегрузку, Open(String, CngProvider) если вы хотите указать другой поставщик ключевых показателей эффективности.
Параметры открытия ключа: CngKeyOpenOptions.None.
Применяется к
Open(SafeNCryptKeyHandle, CngKeyHandleOpenOptions)
Создает экземпляр класса 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)
Создает экземпляр класса 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)
Создает экземпляр класса 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) метода, эта перегрузка позволяет указать поставщик и параметры открытия ключа.