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
- Исходный код:
- Cng.NotSupported.cs
- Исходный код:
- Cng.NotSupported.cs
Создает экземпляр CngKey объекта, представляющего существующий именованный ключ.
public:
static System::Security::Cryptography::CngKey ^ Open(System::String ^ keyName);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Security.Cryptography.CngKey Open(string keyName);
public static System.Security.Cryptography.CngKey Open(string keyName);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : string -> System.Security.Cryptography.CngKey
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) если вы хотите указать другую KSP.
Параметры открытия ключа: CngKeyOpenOptions.None
Применяется к
Open(SafeNCryptKeyHandle, CngKeyHandleOpenOptions)
- Исходный код:
- Cng.NotSupported.cs
- Исходный код:
- Cng.NotSupported.cs
- Исходный код:
- 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);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
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.Security.SecurityCritical]
public static System.Security.Cryptography.CngKey Open(Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle keyHandle, System.Security.Cryptography.CngKeyHandleOpenOptions keyHandleOpenOptions);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle * System.Security.Cryptography.CngKeyHandleOpenOptions -> System.Security.Cryptography.CngKey
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
- Исходный код:
- Cng.NotSupported.cs
- Исходный код:
- Cng.NotSupported.cs
Создает экземпляр CngKey объекта, представляющего существующий именованный ключ, используя указанный поставщик хранилища ключей (KSP).
public:
static System::Security::Cryptography::CngKey ^ Open(System::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);
public static System.Security.Cryptography.CngKey Open(string keyName, System.Security.Cryptography.CngProvider provider);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : string * System.Security.Cryptography.CngProvider -> System.Security.Cryptography.CngKey
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) метода, эта перегрузка позволяет указать поставщика. Кроме того, создается CngKeyOpenOptions значение по умолчанию None и привязано к ключу.
Применяется к
Open(String, CngProvider, CngKeyOpenOptions)
- Исходный код:
- Cng.NotSupported.cs
- Исходный код:
- Cng.NotSupported.cs
- Исходный код:
- 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);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Security.Cryptography.CngKey Open(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.Security.SecurityCritical]
public static System.Security.Cryptography.CngKey Open(string keyName, System.Security.Cryptography.CngProvider provider, System.Security.Cryptography.CngKeyOpenOptions openOptions);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Open : string * System.Security.Cryptography.CngProvider * System.Security.Cryptography.CngKeyOpenOptions -> System.Security.Cryptography.CngKey
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) метода, эта перегрузка позволяет указать как поставщик, так и параметры открытия ключа.