структура CERT_PHYSICAL_STORE_INFO (wincrypt.h)

Структура CERT_PHYSICAL_STORE_INFO содержит сведения о физических хранилищах сертификатов. Некоторые элементы этих структур передаются непосредственно в системные вызовы CertOpenStore для открытия физического хранилища.

Синтаксис

typedef struct _CERT_PHYSICAL_STORE_INFO {
  DWORD           cbSize;
  LPSTR           pszOpenStoreProvider;
  DWORD           dwOpenEncodingType;
  DWORD           dwOpenFlags;
  CRYPT_DATA_BLOB OpenParameters;
  DWORD           dwFlags;
  DWORD           dwPriority;
} CERT_PHYSICAL_STORE_INFO, *PCERT_PHYSICAL_STORE_INFO;

Члены

cbSize

Размер данной структуры (в байтах).

pszOpenStoreProvider

Указатель на строку, которая называет тип поставщика хранилища сертификатов . Эта строка передается в системном вызове CertOpenStore и определяет тип поставщика открываемого хранилища сертификатов. Имена стандартных типов хранилищ сертификатов см. в разделе CertOpenStore.

Помимо предопределенных типов поставщиков хранилища сертификатов, новые типы поставщиков хранилища можно установить и зарегистрировать с помощью CryptInstallOIDFunctionAddress или CryptRegisterOIDFunction. Дополнительные сведения см. в разделе CertOpenStore.

dwOpenEncodingType

Этот член применяется только в том случае, если CERT_STORE_PROV_MSG, CERT_STORE_PROV_PKCS7 или CERT_STORE_PROV_FILENAME передается в lpszStoreProvider. В противном случае этот элемент не используется.

Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING в настоящее время определены следующие типы кодирования:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

dwOpenFlags

Если системное хранилище открывается с расположением хранилища SERVICES или USERS, для хранилища dwOpenFlags устанавливается значение CERT_SYSTEM_STORE_USERS или CERT_SYSTEM_STORE_SERVICES.

OpenParameters

CRYPT_DATA_BLOB, содержащий данные, передаваемые в параметр pvPara функции CertOpenStore. Тип данных зависит от указанного поставщика. Подробные сведения о типе и содержимом для отправки см. в описании доступных поставщиков в CertOpenStore.

dwFlags

Для CERT_PHYSICAL_STORE_INFO определены следующие значения dwFlags .

Значение Значение
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG
Включает добавление к контексту в хранилище.
CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG
Устанавливается функцией CertRegisterPhysicalStore . По умолчанию все системные хранилища, расположенные в реестре, имеют неявное открытое физическое хранилище SystemRegistry. Чтобы отключить открытие этого хранилища, необходимо зарегистрировать физическое хранилище SystemRegistry, соответствующее системное хранилище, задав CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG или зарегистрировав физическое хранилище с именем . Default" с CertRegisterPhysicalStore.
CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG
Отключает удаленное открытие физического хранилища.
CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG
Places строку \\ComputerName перед другими типами поставщиков.
CERT_SYSTEM_STORE_RELOCATE_FLAG
Позволяет CertOpenStore открывать хранилище относительно указанного пользователем ключа HKEY вместо одной из предопределенных констант HKEY. Например, HKEY_CURRENT_USER можно заменить указанным пользователем ключом HKEY. Если задано CERT_SYSTEM_STORE_RELOCATE_FLAG, параметр pvPara , передаваемый в CertOpenStore , указывает на структуру CERT_SYSTEM_STORE_RELOCATE_PARA , а не указывает на имя хранилища в виде строки Юникода или ASCII , завершаемой null.

dwPriority

При открытии системного хранилища его физические хранилища упорядочены в соответствии с параметрами dwPriority . Более высокое значение dwPriority указывает на более высокий приоритет. Элемент dwPriority передается в CertAddStoreToCollection.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть wincrypt.h

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

CertAddStoreToCollection

CertOpenStore

CertRegisterPhysicalStore

CryptInstallOIDFunctionAddress

CryptRegisterOIDFunction