Извлечение всех значений атрибута субъекта в сертификате

В настоящее время я использую CertGetNameString для извлечения значений для каждого атрибута субъекта следующим образом:

CertGetNameString(pCertificate,
                  CERT_NAME_ATTR_TYPE,
                  0,
                  szOID_ORGANIZATIONAL_UNIT_NAME,
                  buf,
                  _countof(buf));

Однако некоторые сертификаты, которые я обнаружил, имеют несколько значений для имени организационного подразделения (OU) и CertGetNameString может читать только первый. Например, это предмет сертификата Adobe:

CN = Adobe Systems, Incorporated
OU = Acrobat Engineering
OU = Digital ID Class 3 - Microsoft Software Validation v2
O = Adobe Systems, Incorporated
L = San Jose
S = California
C = US

Как я могу прочитать все значения атрибутов OU (и других) с помощью CryptoAPI?

5
задан Andreas Magnusson 10 February 2016 в 08:34
поделиться