実際には、共通名に基づいて証明書を検索しています。そのために私たちはやった:-
PSTR pszCommonName = "cn.com";
CERT_RDN_ATTR certRDNAttr[1];
certRDNAttr[0].pszObjId = szOID_COMMON_NAME;
certRDNAttr[0].dwValueType = CERT_RDN_PRINTABLE_STRING;
certRDNAttr[0].Value.pbData = (PBYTE) pszCommonName;
certRDNAttr[0].Value.cbData = lstrlen(pszCommonName);
CERT_RDN certRDN = {1, certRDNAttr};
// Find the certificate context
if (pCertContext = CertFindCertificateInStore(hCertStore, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, CERT_FIND_SUBJECT_ATTR, &certRDN, NULL))
My Store には、指定された共通名を持つ目的の証明書が含まれていますが、API によって見つからないため、null が返されます。
問題が見つかりません。