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


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

Возврат кода или значения Description
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 [только классические приложения]
целевая платформа Виндоус
Header certenroll.h
DLL CertEnroll.dll

См. также

ICspInformation