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