forked from cory/tildefriends
OpenSSL 3.1.3 built for android.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4508 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
@ -1,15 +1,21 @@
|
||||
/*
|
||||
* Copyright 2015-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2015-2023 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include "internal/refcount.h"
|
||||
#include <openssl/x509.h>
|
||||
#include <openssl/conf.h>
|
||||
#ifndef OSSL_CRYPTO_X509_H
|
||||
# define OSSL_CRYPTO_X509_H
|
||||
# pragma once
|
||||
|
||||
# include "internal/refcount.h"
|
||||
# include <openssl/asn1.h>
|
||||
# include <openssl/x509.h>
|
||||
# include <openssl/conf.h>
|
||||
# include "crypto/types.h"
|
||||
|
||||
/* Internal X509 structures and functions: not for application use */
|
||||
|
||||
@ -73,6 +79,11 @@ struct X509_req_st {
|
||||
ASN1_BIT_STRING *signature; /* signature */
|
||||
CRYPTO_REF_COUNT references;
|
||||
CRYPTO_RWLOCK *lock;
|
||||
|
||||
/* Set on live certificates for authentication purposes */
|
||||
ASN1_OCTET_STRING *distinguishing_id;
|
||||
OSSL_LIB_CTX *libctx;
|
||||
char *propq;
|
||||
};
|
||||
|
||||
struct X509_crl_info_st {
|
||||
@ -111,6 +122,9 @@ struct X509_crl_st {
|
||||
const X509_CRL_METHOD *meth;
|
||||
void *meth_data;
|
||||
CRYPTO_RWLOCK *lock;
|
||||
|
||||
OSSL_LIB_CTX *libctx;
|
||||
char *propq;
|
||||
};
|
||||
|
||||
struct x509_revoked_st {
|
||||
@ -177,7 +191,7 @@ struct x509_st {
|
||||
STACK_OF(DIST_POINT) *crldp;
|
||||
STACK_OF(GENERAL_NAME) *altname;
|
||||
NAME_CONSTRAINTS *nc;
|
||||
#ifndef OPENSSL_NO_RFC3779
|
||||
# ifndef OPENSSL_NO_RFC3779
|
||||
STACK_OF(IPAddressFamily) *rfc3779_addr;
|
||||
struct ASIdentifiers_st *rfc3779_asid;
|
||||
# endif
|
||||
@ -185,6 +199,12 @@ struct x509_st {
|
||||
X509_CERT_AUX *aux;
|
||||
CRYPTO_RWLOCK *lock;
|
||||
volatile int ex_cached;
|
||||
|
||||
/* Set on live certificates for authentication purposes */
|
||||
ASN1_OCTET_STRING *distinguishing_id;
|
||||
|
||||
OSSL_LIB_CTX *libctx;
|
||||
char *propq;
|
||||
} /* X509 */ ;
|
||||
|
||||
/*
|
||||
@ -193,7 +213,7 @@ struct x509_st {
|
||||
* kept and passed around.
|
||||
*/
|
||||
struct x509_store_ctx_st { /* X509_STORE_CTX */
|
||||
X509_STORE *ctx;
|
||||
X509_STORE *store;
|
||||
/* The following are set by the caller */
|
||||
/* The cert to check */
|
||||
X509 *cert;
|
||||
@ -223,8 +243,11 @@ struct x509_store_ctx_st { /* X509_STORE_CTX */
|
||||
int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x);
|
||||
/* Check policy status of the chain */
|
||||
int (*check_policy) (X509_STORE_CTX *ctx);
|
||||
STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm);
|
||||
STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm);
|
||||
STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx,
|
||||
const X509_NAME *nm);
|
||||
/* cannot constify 'ctx' param due to lookup_certs_sk() in x509_vfy.c */
|
||||
STACK_OF(X509_CRL) *(*lookup_crls) (const X509_STORE_CTX *ctx,
|
||||
const X509_NAME *nm);
|
||||
int (*cleanup) (X509_STORE_CTX *ctx);
|
||||
/* The following is built up */
|
||||
/* if 0, rebuild chain */
|
||||
@ -255,6 +278,9 @@ struct x509_store_ctx_st { /* X509_STORE_CTX */
|
||||
SSL_DANE *dane;
|
||||
/* signed via bare TA public key, rather than CA certificate */
|
||||
int bare_ta_signed;
|
||||
|
||||
OSSL_LIB_CTX *libctx;
|
||||
char *propq;
|
||||
};
|
||||
|
||||
/* PKCS#8 private key info structure */
|
||||
@ -282,10 +308,63 @@ struct x509_object_st {
|
||||
} data;
|
||||
};
|
||||
|
||||
int a2i_ipadd(unsigned char *ipout, const char *ipasc);
|
||||
int x509_set1_time(ASN1_TIME **ptm, const ASN1_TIME *tm);
|
||||
int ossl_a2i_ipadd(unsigned char *ipout, const char *ipasc);
|
||||
int ossl_x509_set1_time(ASN1_TIME **ptm, const ASN1_TIME *tm);
|
||||
int ossl_x509_print_ex_brief(BIO *bio, X509 *cert, unsigned long neg_cflags);
|
||||
int ossl_x509v3_cache_extensions(X509 *x);
|
||||
int ossl_x509_init_sig_info(X509 *x);
|
||||
|
||||
void x509_init_sig_info(X509 *x);
|
||||
int ossl_x509_set0_libctx(X509 *x, OSSL_LIB_CTX *libctx, const char *propq);
|
||||
int ossl_x509_crl_set0_libctx(X509_CRL *x, OSSL_LIB_CTX *libctx,
|
||||
const char *propq);
|
||||
int ossl_x509_req_set0_libctx(X509_REQ *x, OSSL_LIB_CTX *libctx,
|
||||
const char *propq);
|
||||
int ossl_asn1_item_digest_ex(const ASN1_ITEM *it, const EVP_MD *type,
|
||||
void *data, unsigned char *md, unsigned int *len,
|
||||
OSSL_LIB_CTX *libctx, const char *propq);
|
||||
int ossl_x509_add_cert_new(STACK_OF(X509) **sk, X509 *cert, int flags);
|
||||
int ossl_x509_add_certs_new(STACK_OF(X509) **p_sk, STACK_OF(X509) *certs,
|
||||
int flags);
|
||||
|
||||
STACK_OF(X509_ATTRIBUTE) *ossl_x509at_dup(const STACK_OF(X509_ATTRIBUTE) *x);
|
||||
|
||||
int ossl_x509_PUBKEY_get0_libctx(OSSL_LIB_CTX **plibctx, const char **ppropq,
|
||||
const X509_PUBKEY *key);
|
||||
/* Calculate default key identifier according to RFC 5280 section 4.2.1.2 (1) */
|
||||
ASN1_OCTET_STRING *ossl_x509_pubkey_hash(X509_PUBKEY *pubkey);
|
||||
|
||||
X509_PUBKEY *ossl_d2i_X509_PUBKEY_INTERNAL(const unsigned char **pp,
|
||||
long len, OSSL_LIB_CTX *libctx);
|
||||
void ossl_X509_PUBKEY_INTERNAL_free(X509_PUBKEY *xpub);
|
||||
|
||||
RSA *ossl_d2i_RSA_PSS_PUBKEY(RSA **a, const unsigned char **pp, long length);
|
||||
int ossl_i2d_RSA_PSS_PUBKEY(const RSA *a, unsigned char **pp);
|
||||
# ifndef OPENSSL_NO_DSA
|
||||
DSA *ossl_d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length);
|
||||
# endif /* OPENSSL_NO_DSA */
|
||||
# ifndef OPENSSL_NO_DH
|
||||
DH *ossl_d2i_DH_PUBKEY(DH **a, const unsigned char **pp, long length);
|
||||
int ossl_i2d_DH_PUBKEY(const DH *a, unsigned char **pp);
|
||||
DH *ossl_d2i_DHx_PUBKEY(DH **a, const unsigned char **pp, long length);
|
||||
int ossl_i2d_DHx_PUBKEY(const DH *a, unsigned char **pp);
|
||||
# endif /* OPENSSL_NO_DH */
|
||||
# ifndef OPENSSL_NO_EC
|
||||
ECX_KEY *ossl_d2i_ED25519_PUBKEY(ECX_KEY **a,
|
||||
const unsigned char **pp, long length);
|
||||
int ossl_i2d_ED25519_PUBKEY(const ECX_KEY *a, unsigned char **pp);
|
||||
ECX_KEY *ossl_d2i_ED448_PUBKEY(ECX_KEY **a,
|
||||
const unsigned char **pp, long length);
|
||||
int ossl_i2d_ED448_PUBKEY(const ECX_KEY *a, unsigned char **pp);
|
||||
ECX_KEY *ossl_d2i_X25519_PUBKEY(ECX_KEY **a,
|
||||
const unsigned char **pp, long length);
|
||||
int ossl_i2d_X25519_PUBKEY(const ECX_KEY *a, unsigned char **pp);
|
||||
ECX_KEY *ossl_d2i_X448_PUBKEY(ECX_KEY **a,
|
||||
const unsigned char **pp, long length);
|
||||
int ossl_i2d_X448_PUBKEY(const ECX_KEY *a, unsigned char **pp);
|
||||
# endif /* OPENSSL_NO_EC */
|
||||
EVP_PKEY *ossl_d2i_PUBKEY_legacy(EVP_PKEY **a, const unsigned char **pp,
|
||||
long length);
|
||||
|
||||
int x509v3_add_len_value_uchar(const char *name, const unsigned char *value,
|
||||
size_t vallen, STACK_OF(CONF_VALUE) **extlist);
|
||||
#endif /* OSSL_CRYPTO_X509_H */
|
||||
|
Reference in New Issue
Block a user