aboutsummaryrefslogtreecommitdiff
path: root/crypto/x509v3/v3_purp.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-09-01 17:48:05 +0100
committerDr. Stephen Henson <steve@openssl.org>2015-09-01 20:37:45 +0100
commit063f1f0c693a10aab6a7227df15d4120ed824856 (patch)
treecefbe5b022f4789b6b349a369f446ca7d25d673d /crypto/x509v3/v3_purp.c
parentaf183984c3feaae693f4785be71dc1e098991d6f (diff)
downloadopenssl-063f1f0c693a10aab6a7227df15d4120ed824856.zip
openssl-063f1f0c693a10aab6a7227df15d4120ed824856.tar.gz
openssl-063f1f0c693a10aab6a7227df15d4120ed824856.tar.bz2
functions to retrieve certificate flags
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/x509v3/v3_purp.c')
-rw-r--r--crypto/x509v3/v3_purp.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/crypto/x509v3/v3_purp.c b/crypto/x509v3/v3_purp.c
index 1f9296a..13c5120 100644
--- a/crypto/x509v3/v3_purp.c
+++ b/crypto/x509v3/v3_purp.c
@@ -841,3 +841,25 @@ int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid)
}
return X509_V_OK;
}
+
+uint32_t X509_get_extension_flags(X509 *x)
+{
+ X509_check_purpose(x, -1, -1);
+ return x->ex_flags;
+}
+
+uint32_t X509_get_key_usage(X509 *x)
+{
+ X509_check_purpose(x, -1, -1);
+ if (x->ex_flags & EXFLAG_KUSAGE)
+ return x->ex_kusage;
+ return UINT32_MAX;
+}
+
+uint32_t X509_get_extended_key_usage(X509 *x)
+{
+ X509_check_purpose(x, -1, -1);
+ if (x->ex_flags & EXFLAG_XKUSAGE)
+ return x->ex_xkusage;
+ return UINT32_MAX;
+}