int CheckCertKeyUsage(X509 *cert, int keyUsage, int exKeyUsage) { int res = 0; X509_check_purpose(cert, -1, 0); if (keyUsage && ((cert->ex_kusage & keyUsage) != keyUsage)) { goto end; } if (exKeyUsage && ((cert->ex_xkusage & exKeyUsage) != exKeyUsage)) { goto end; } res = 1; end: return res; }