add _hx509_cert_get_keyusage

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18025 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-09-05 20:52:35 +00:00
parent cf9a110826
commit 0efe7f3455

View File

@@ -1988,3 +1988,30 @@ hx509_cert_check_eku(hx509_context context, hx509_cert cert,
hx509_clear_error_string(context);
return HX509_CERTIFICATE_MISSING_EKU;
}
int
_hx509_cert_get_keyusage(hx509_context context,
hx509_cert c,
KeyUsage *ku)
{
Certificate *cert;
const Extension *e;
size_t size;
int ret, i = 0;
memset(ku, 0, sizeof(*ku));
cert = _hx509_get_cert(c);
if (_hx509_cert_get_version(cert) < 3)
return 0;
e = find_extension(cert, oid_id_x509_ce_keyUsage(), &i);
if (e == NULL)
return HX509_KU_CERT_MISSING;
ret = decode_KeyUsage(e->extnValue.data, e->extnValue.length, ku, &size);
if (ret)
return ret;
return 0;
}