Latest update.
This commit is contained in:
+14
-3
@@ -15,6 +15,11 @@
|
||||
#include "crypto/x509.h"
|
||||
#include "internal/tsan_assist.h"
|
||||
|
||||
DEFINE_STACK_OF(GENERAL_NAME)
|
||||
DEFINE_STACK_OF(DIST_POINT)
|
||||
DEFINE_STACK_OF(X509_PURPOSE)
|
||||
DEFINE_STACK_OF(ASN1_OBJECT)
|
||||
|
||||
static int check_ssl_ca(const X509 *x);
|
||||
static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x,
|
||||
int ca);
|
||||
@@ -811,14 +816,15 @@ static int no_check(const X509_PURPOSE *xp, const X509 *x, int ca)
|
||||
* codes for X509_verify_cert()
|
||||
*/
|
||||
|
||||
int X509_check_issued(X509 *issuer, X509 *subject)
|
||||
int x509_check_issued_int(X509 *issuer, X509 *subject, OPENSSL_CTX *libctx,
|
||||
const char *propq)
|
||||
{
|
||||
if (X509_NAME_cmp(X509_get_subject_name(issuer),
|
||||
X509_get_issuer_name(subject)))
|
||||
return X509_V_ERR_SUBJECT_ISSUER_MISMATCH;
|
||||
|
||||
if (!X509v3_cache_extensions(issuer, NULL, NULL)
|
||||
|| !X509v3_cache_extensions(subject, NULL, NULL))
|
||||
if (!X509v3_cache_extensions(issuer, libctx, propq)
|
||||
|| !X509v3_cache_extensions(subject, libctx, propq))
|
||||
return X509_V_ERR_UNSPECIFIED;
|
||||
|
||||
if (subject->akid) {
|
||||
@@ -853,6 +859,11 @@ int X509_check_issued(X509 *issuer, X509 *subject)
|
||||
return X509_V_OK;
|
||||
}
|
||||
|
||||
int X509_check_issued(X509 *issuer, X509 *subject)
|
||||
{
|
||||
return x509_check_issued_int(issuer, subject, NULL, NULL);
|
||||
}
|
||||
|
||||
int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid)
|
||||
{
|
||||
|
||||
|
||||
Reference in New Issue
Block a user