Поделиться через


Метод 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.

Возвращаемый код или значение Описание
CERTSRV_E_PROPERTY_EMPTY
Не удалось найти значение свойства.
NTE_BAD_TYPE
Поставщик шифрования не поддерживает дескрипторы безопасности.
NTE_NOT_FOUND
Поставщик шифрования не поддерживает дескрипторы безопасности.
NTE_BAD_KEY_STATE
Поставщик шифрования не поддерживает дескрипторы безопасности.

Комментарии

Чтобы использовать дескриптор безопасности, необходимо вызвать функцию ConvertStringSecurityDescriptorToSecurityDescriptor , включенную в API авторизации Майкрософт, и указать строку, возвращаемую методом GetDefaultSecurityDescriptor . Функция возвращает указатель на структуру SECURITY_DESCRIPTOR .

Дескриптор безопасности по умолчанию используется для определения доступа к закрытым ключам для компьютера и пользователя следующим образом:

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

Этот метод извлекает дескриптор безопасности по умолчанию, который будет связан с указанным параметром MachineContext и текущим поставщиком при создании нового закрытого ключа. Для создания пользовательского дескриптора можно использовать дескриптор по умолчанию. Пользовательские дескрипторы обычно создаются, когда закрытый ключ, связанный с сертификатом контекста компьютера, должен использоваться службой, работающей под учетной записью, отличной от учетной записи LocalSystem.

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

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

См. также раздел

ICspInformation