Hans Leidekker (@hans) commented about dlls/crypt32/str.c:
oid = szOID_RSA_emailAddr;
nameAttr = CertFindRDNAttr(oid, nameInfo);
if (oid)
nameAttr = CertFindRDNAttr(oid, nameInfo);
else
{
static const LPCSTR attributeOIDs[] =
{
szOID_RSA_emailAddr, szOID_COMMON_NAME,
szOID_ORGANIZATIONAL_UNIT_NAME, szOID_ORGANIZATION_NAME
};
DWORD i;
for (i = 0; !nameAttr && i < ARRAY_SIZE(attributeOIDs); i++)
nameAttr = CertFindRDNAttr(attributeOIDs[i], nameInfo);
}
Thanks for the patch. Could you add a test to crypt32/tests/str.c? At least one fallback case would be good to have.