Как мне получить имена всех пользователей, чьи сертификаты лежат в папке Личные (MY)? Я понимаю, что сертификат надо получить функцией CertEnumCertificatesInStore. А вот дальше добраться до имени пользователя я не знаю как. Заранее благодарен.
-----
С уважением, Алексей.
Re: CryptoAPI - список сертификатов
От:
Аноним
Дата:
10.08.05 07:19
Оценка:
Здравствуйте, AlexeyStaf, Вы писали:
AS>Как мне получить имена всех пользователей, чьи сертификаты лежат в папке Личные (MY)? Я понимаю, что сертификат надо получить функцией CertEnumCertificatesInStore. А вот дальше добраться до имени пользователя я не знаю как. Заранее благодарен.
CertGetNameString. Описание есть в MSDN, при помощи неё вы можете имея контекст сертификата получить компоненты DN из полей Subject и/или Issuer путём указания OID'а компонента DN'а Например, указав szOID_COMMON_NAME можно получить (если это значение есть в сертификате) значение компонента "CN" из сертификата. Оно?
можно вопрос вдогонку: зарегистрировал физическое хранилище (CryptRegisterOIDFunction) но системный (стандартный) "Certificate Import Wizard" не видит его. в чем может быть дело ?!
CertRegisterPhysicalStore т.е.
DSK>можно вопрос вдогонку: зарегистрировал физическое хранилище (CryptRegisterOIDFunction) но системный (стандартный) "Certificate Import Wizard" не видит его. в чем может быть дело ?!
DSK>CertEnumPhysicalStore видит.
DSK>спасибо
... << RSDN@Home 1.1.3 stable >>
Re[3]: CryptoAPI - список сертификатов
От:
Аноним
Дата:
10.08.05 07:56
Оценка:
Здравствуйте, DmSK, Вы писали:
DSK>можно вопрос вдогонку: зарегистрировал физическое хранилище (CryptRegisterOIDFunction) но системный (стандартный) "Certificate Import Wizard" не видит его. в чем может быть дело ?!
DSK>CertEnumPhysicalStore видит.
DSK>спасибо
Можно поинтересоваться: чем вызвано использование именно этой функции (CryptRegisterOIDFunction), а не CertRegisterPhysicalStore ? У меня была похожая задача, но требовалось создавать хранилище в MY. Я использовал CertRegisterSystemStore, и Certificate Import Wizard, и MMC Snap-In "Certificates" видели созданное хранилище.
Здравствуйте, <Аноним>, Вы писали:
А>Можно поинтересоваться: чем вызвано использование именно этой функции (CryptRegisterOIDFunction), а не CertRegisterPhysicalStore ? У меня была похожая задача, но требовалось создавать хранилище в MY. Я использовал CertRegisterSystemStore, и Certificate Import Wizard, и MMC Snap-In "Certificates" видели созданное хранилище.
в посте ошибка... все правильно — CertRegisterPhysicalStore.
задачи очень похожи: мне нужно создать хранилище для доверенных сертификатов в "trust" и корневых "root" реализовав его как библиотеку т.к. сертификаты должны хранится на внешнем носители. тут и обратил внимание на CertRegisterPhysicalStore.
на первом же этапе завалил все дело — зарегистрированного хранилища не видно (
может я пошел не тем путем ?! а дело горит, срочно надо
Подскажите, пожалуйста, какой параметр надо поставить в CertOpenSystemStore, чтобы получить список сертификатов в "Другие пользователи"? Пробовал MY, ROOT, SPC, CA.
Здравствуйте, AlexeyStaf, Вы писали:
AS>Подскажите, пожалуйста, какой параметр надо поставить в CertOpenSystemStore, чтобы получить список сертификатов в "Другие пользователи"? Пробовал MY, ROOT, SPC, CA.
прямо не отвечу (
но еще есть: ACRS, AddressBook, REQUEST, UserDS.
можно посмотреть в "HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates"
Здравствуйте, <Аноним>, Вы писали:
А>Можно поинтересоваться: чем вызвано использование именно этой функции (CryptRegisterOIDFunction), а не CertRegisterPhysicalStore ? У меня была похожая задача, но требовалось создавать хранилище в MY. Я использовал CertRegisterSystemStore, и Certificate Import Wizard, и MMC Snap-In "Certificates" видели созданное хранилище.
системное хранилище видно. проблема с физическим — его не видно.
можно поинтересоваться: Вы связывали запись в реестре о системном хранилище с библиотекой, которая его собственно и реализует?! такое возможно?! при условии что регистрация происходит с CertRegisterSystemStore.
просто у меня сложилось впечатление, что такого рода связь "хранилище-библиотека" возможно только при условии — что хранилище физическое т.е. CertRegisterPhysicalStore.
Не могу расшифровать файл. В pbMessage записываю зашифрованные данные из файла,
cbMessage — их размер. Вот как заполняю соответствующие структуры для CryptDecryptAndVerifyMessageSignature:
Все проходит нормально, но в файл записывается какая-то абра-кадабра, если так можно сказать. Но эта абра-кадабра сходит с исходными данными по размеру. Я думаю, что проблема в формате представления данных, но не знаю в чем именно. Заренее благодарен.
Вот еще один вопросик: мне теперь необходимо получить имя организации. В принципе саму строку, где содержится информация об "субъекте" (поле Субъект) я могу получить, т.е. оттуда, отсчитывая запятые, вытащить название организации можно. Но может есть какая-то специальная функция? Заранее благодарен.
Здравствуйте, AlexeyStaf, Вы писали:
AS>Какой функцией я могу вытащить из сертификата название криптопровайдера, для которого этот сертификат предназначен?