извлечь общее имя из файла pfx - PullRequest
0 голосов
/ 29 августа 2011

Я использую Windows XP SP3. Я перепродаю сертификаты цифровой подписи. Я получаю данные клиентов, ввожу их в портал и загружаю dsc на мою машину. Я использую Свойства обозревателя, экспортирую сертификат в файл pfx с паролем и отправляю его клиенту. Поскольку это делается снова и снова, во время экспорта в pfx, непреднамеренно выбирается неправильный сертификат. Как только файл pfx сгенерирован, есть ли способ узнать общее имя в файле pfx без переустановки сертификата. Я посмотрел в openssl, но не уверен, что это может быть достигнуто с помощью командного файла, так как пароль должен быть введен физически. В идеале, после экспорта, скажем, 10 pfx-файлов, я хотел бы запустить командный файл, который бы отображал только общие имена. Как только я подтверждаю, что имена верны (я экспортировал правильно), я могу удалить сертификаты из хранилища.

1 Ответ

0 голосов
/ 30 августа 2011

Вам следует написать собственное приложение, которое будет выполнять пакетную обработку файлов PFX.

Псевдокод с использованием CryptoAPI выглядит следующим образом.,

  1. Чтение файлов pfx с диска один за другим, используя PFXImportCertStore . Вы получите контекст хранилища сертификатов.

  2. Получение контекста сертификата PCCERT_CONTEXT phPfxCertCtx = CertEnumCertificatesInStore

  3. Получить имя субъекта. phPfxCertCtx-> pCertInfo-> Тема

  4. Вы можете иметь предварительно определенный список предметов для сравнения названий предметов, которые читаются сейчас.

  5. Закройте хранилище контекста и сертификатов, CertCloseStore с помощью CERT_CLOSE_STORE_FORCE_FLAG.

...