Метод ICspInformation::GetDefaultSecurityDescriptor (certenroll.h)
Метод GetDefaultSecurityDescriptor извлекает дескриптор безопасности закрытого ключа по умолчанию.
Синтаксис
HRESULT GetDefaultSecurityDescriptor(
[in] VARIANT_BOOL MachineContext,
[out] BSTR *pValue
);
Параметры
[in] MachineContext
Переменная VARIANT_BOOL , указывающая, следует ли получить дескриптор безопасности для компьютера или пользователя. Укажите VARIANT_TRUE для компьютера и VARIANT_FALSE для пользователя.
[out] pValue
Указатель на переменную BSTR , содержащую дескриптор безопасности.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Возвращаемый код или значение | Описание |
---|---|
|
Не удалось найти значение свойства. |
|
Поставщик шифрования не поддерживает дескрипторы безопасности. |
|
Поставщик шифрования не поддерживает дескрипторы безопасности. |
|
Поставщик шифрования не поддерживает дескрипторы безопасности. |
Комментарии
Чтобы использовать дескриптор безопасности, необходимо вызвать функцию ConvertStringSecurityDescriptorToSecurityDescriptor , включенную в API авторизации Майкрософт, и указать строку, возвращаемую методом GetDefaultSecurityDescriptor . Функция возвращает указатель на структуру SECURITY_DESCRIPTOR .
Дескриптор безопасности по умолчанию используется для определения доступа к закрытым ключам для компьютера и пользователя следующим образом:
- По умолчанию доступ к закрытым ключам, связанным с учетной записью компьютера, могут получить только локальные администраторы и службы, работающие под учетной записью LocalSystem.
- Когда поставщик сохраняет закрытый ключ пользователя в зашифрованном файле в профиле пользователя, он использует дескриптор безопасности для задания разрешений на доступ к файлу.
Этот метод извлекает дескриптор безопасности по умолчанию, который будет связан с указанным параметром MachineContext и текущим поставщиком при создании нового закрытого ключа. Для создания пользовательского дескриптора можно использовать дескриптор по умолчанию. Пользовательские дескрипторы обычно создаются, когда закрытый ключ, связанный с сертификатом контекста компьютера, должен использоваться службой, работающей под учетной записью, отличной от учетной записи LocalSystem.
Некоторые поставщики шифрования не поддерживают дескрипторы безопасности. Примерами могут быть поставщики интеллектуальных карта и аппаратных модулей безопасности (HSM).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |