forked from cory/tildefriends
		
	Android OpenSSL => 3.2.0.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4643 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/asn1.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -158,7 +158,7 @@ SKM_DEFINE_STACK_OF_INTERNAL(X509_ALGOR, X509_ALGOR, X509_ALGOR)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */
 | 
			
		||||
# define ASN1_STRING_FLAG_BITS_LEFT 0x08 /* Set if 0x07 has bits left value */
 | 
			
		||||
/*
 | 
			
		||||
 * This indicates that the ASN1_STRING is not a real value but just a place
 | 
			
		||||
 * holder for the location where indefinite length constructed data should be
 | 
			
		||||
@@ -999,6 +999,8 @@ int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num,
 | 
			
		||||
                                  unsigned char *data, int max_len);
 | 
			
		||||
 | 
			
		||||
void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it);
 | 
			
		||||
void *ASN1_item_unpack_ex(const ASN1_STRING *oct, const ASN1_ITEM *it,
 | 
			
		||||
                          OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it,
 | 
			
		||||
                            ASN1_OCTET_STRING **oct);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -135,7 +135,7 @@ extern "C" {
 | 
			
		||||
-}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */
 | 
			
		||||
# define ASN1_STRING_FLAG_BITS_LEFT 0x08 /* Set if 0x07 has bits left value */
 | 
			
		||||
/*
 | 
			
		||||
 * This indicates that the ASN1_STRING is not a real value but just a place
 | 
			
		||||
 * holder for the location where indefinite length constructed data should be
 | 
			
		||||
@@ -832,6 +832,8 @@ int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num,
 | 
			
		||||
                                  unsigned char *data, int max_len);
 | 
			
		||||
 | 
			
		||||
void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it);
 | 
			
		||||
void *ASN1_item_unpack_ex(const ASN1_STRING *oct, const ASN1_ITEM *it,
 | 
			
		||||
                          OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it,
 | 
			
		||||
                            ASN1_OCTET_STRING **oct);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2015-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -80,6 +80,14 @@ int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key);
 | 
			
		||||
 | 
			
		||||
int ASYNC_is_capable(void);
 | 
			
		||||
 | 
			
		||||
typedef void *(*ASYNC_stack_alloc_fn)(size_t *num);
 | 
			
		||||
typedef void (*ASYNC_stack_free_fn)(void *addr);
 | 
			
		||||
 | 
			
		||||
int ASYNC_set_mem_functions(ASYNC_stack_alloc_fn alloc_fn,
 | 
			
		||||
                            ASYNC_stack_free_fn free_fn);
 | 
			
		||||
void ASYNC_get_mem_functions(ASYNC_stack_alloc_fn *alloc_fn,
 | 
			
		||||
                             ASYNC_stack_free_fn *free_fn);
 | 
			
		||||
 | 
			
		||||
int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *ctx, int *ret,
 | 
			
		||||
                    int (*func)(void *), void *args, size_t size);
 | 
			
		||||
int ASYNC_pause_job(void);
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/bio.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -67,6 +67,8 @@ extern "C" {
 | 
			
		||||
#  define BIO_TYPE_DGRAM_SCTP    (24|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 | 
			
		||||
# endif
 | 
			
		||||
# define BIO_TYPE_CORE_TO_PROV   (25|BIO_TYPE_SOURCE_SINK)
 | 
			
		||||
# define BIO_TYPE_DGRAM_PAIR     (26|BIO_TYPE_SOURCE_SINK)
 | 
			
		||||
# define BIO_TYPE_DGRAM_MEM      (27|BIO_TYPE_SOURCE_SINK)
 | 
			
		||||
 | 
			
		||||
#define BIO_TYPE_START           128
 | 
			
		||||
 | 
			
		||||
@@ -171,6 +173,30 @@ extern "C" {
 | 
			
		||||
# define BIO_CTRL_SET_INDENT                    80
 | 
			
		||||
# define BIO_CTRL_GET_INDENT                    81
 | 
			
		||||
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_LOCAL_ADDR_CAP      82
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_LOCAL_ADDR_ENABLE   83
 | 
			
		||||
# define BIO_CTRL_DGRAM_SET_LOCAL_ADDR_ENABLE   84
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_EFFECTIVE_CAPS      85
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_CAPS                86
 | 
			
		||||
# define BIO_CTRL_DGRAM_SET_CAPS                87
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_NO_TRUNC            88
 | 
			
		||||
# define BIO_CTRL_DGRAM_SET_NO_TRUNC            89
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * internal BIO:
 | 
			
		||||
 * # define BIO_CTRL_SET_KTLS_TX_ZEROCOPY_SENDFILE 90
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
# define BIO_CTRL_GET_RPOLL_DESCRIPTOR          91
 | 
			
		||||
# define BIO_CTRL_GET_WPOLL_DESCRIPTOR          92
 | 
			
		||||
# define BIO_CTRL_DGRAM_DETECT_PEER_ADDR        93
 | 
			
		||||
 | 
			
		||||
# define BIO_DGRAM_CAP_NONE                 0U
 | 
			
		||||
# define BIO_DGRAM_CAP_HANDLES_SRC_ADDR     (1U << 0)
 | 
			
		||||
# define BIO_DGRAM_CAP_HANDLES_DST_ADDR     (1U << 1)
 | 
			
		||||
# define BIO_DGRAM_CAP_PROVIDES_SRC_ADDR    (1U << 2)
 | 
			
		||||
# define BIO_DGRAM_CAP_PROVIDES_DST_ADDR    (1U << 3)
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_KTLS
 | 
			
		||||
#  define BIO_get_ktls_send(b)         \
 | 
			
		||||
     (BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL) > 0)
 | 
			
		||||
@@ -208,7 +234,7 @@ extern "C" {
 | 
			
		||||
# define BIO_FLAGS_NONCLEAR_RST  0x400
 | 
			
		||||
# define BIO_FLAGS_IN_EOF        0x800
 | 
			
		||||
 | 
			
		||||
/* the BIO FLAGS values 0x1000 to 0x4000 are reserved for internal KTLS flags */
 | 
			
		||||
/* the BIO FLAGS values 0x1000 to 0x8000 are reserved for internal KTLS flags */
 | 
			
		||||
 | 
			
		||||
typedef union bio_addr_st BIO_ADDR;
 | 
			
		||||
typedef struct bio_addrinfo_st BIO_ADDRINFO;
 | 
			
		||||
@@ -256,12 +282,14 @@ void BIO_clear_flags(BIO *b, int flags);
 | 
			
		||||
# define BIO_RR_ACCEPT                   0x03
 | 
			
		||||
 | 
			
		||||
/* These are passed by the BIO callback */
 | 
			
		||||
# define BIO_CB_FREE     0x01
 | 
			
		||||
# define BIO_CB_READ     0x02
 | 
			
		||||
# define BIO_CB_WRITE    0x03
 | 
			
		||||
# define BIO_CB_PUTS     0x04
 | 
			
		||||
# define BIO_CB_GETS     0x05
 | 
			
		||||
# define BIO_CB_CTRL     0x06
 | 
			
		||||
# define BIO_CB_FREE        0x01
 | 
			
		||||
# define BIO_CB_READ        0x02
 | 
			
		||||
# define BIO_CB_WRITE       0x03
 | 
			
		||||
# define BIO_CB_PUTS        0x04
 | 
			
		||||
# define BIO_CB_GETS        0x05
 | 
			
		||||
# define BIO_CB_CTRL        0x06
 | 
			
		||||
# define BIO_CB_RECVMMSG    0x07
 | 
			
		||||
# define BIO_CB_SENDMMSG    0x08
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The callback is called before and after the underling operation, The
 | 
			
		||||
@@ -362,6 +390,34 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
};
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/* BIO_sendmmsg/BIO_recvmmsg-related definitions */
 | 
			
		||||
typedef struct bio_msg_st {
 | 
			
		||||
    void *data;
 | 
			
		||||
    size_t data_len;
 | 
			
		||||
    BIO_ADDR *peer, *local;
 | 
			
		||||
    uint64_t flags;
 | 
			
		||||
} BIO_MSG;
 | 
			
		||||
 | 
			
		||||
typedef struct bio_mmsg_cb_args_st {
 | 
			
		||||
    BIO_MSG    *msg;
 | 
			
		||||
    size_t      stride, num_msg;
 | 
			
		||||
    uint64_t    flags;
 | 
			
		||||
    size_t     *msgs_processed;
 | 
			
		||||
} BIO_MMSG_CB_ARGS;
 | 
			
		||||
 | 
			
		||||
#define BIO_POLL_DESCRIPTOR_TYPE_NONE       0
 | 
			
		||||
#define BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD    1
 | 
			
		||||
#define BIO_POLL_DESCRIPTOR_CUSTOM_START    8192
 | 
			
		||||
 | 
			
		||||
typedef struct bio_poll_descriptor_st {
 | 
			
		||||
    uint32_t type;
 | 
			
		||||
    union {
 | 
			
		||||
        int         fd;
 | 
			
		||||
        void        *custom;
 | 
			
		||||
        uintptr_t   custom_ui;
 | 
			
		||||
    } value;
 | 
			
		||||
} BIO_POLL_DESCRIPTOR;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * #define BIO_CONN_get_param_hostname BIO_ctrl
 | 
			
		||||
 */
 | 
			
		||||
@@ -428,10 +484,17 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
 | 
			
		||||
# define BIO_C_SET_CONNECT_MODE                  155
 | 
			
		||||
 | 
			
		||||
# define BIO_C_SET_TFO                           156 /* like BIO_C_SET_NBIO */
 | 
			
		||||
 | 
			
		||||
# define BIO_C_SET_SOCK_TYPE                     157
 | 
			
		||||
# define BIO_C_GET_SOCK_TYPE                     158
 | 
			
		||||
# define BIO_C_GET_DGRAM_BIO                     159
 | 
			
		||||
 | 
			
		||||
# define BIO_set_app_data(s,arg)         BIO_set_ex_data(s,0,arg)
 | 
			
		||||
# define BIO_get_app_data(s)             BIO_get_ex_data(s,0)
 | 
			
		||||
 | 
			
		||||
# define BIO_set_nbio(b,n)             BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)
 | 
			
		||||
# define BIO_set_nbio(b,n)               BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)
 | 
			
		||||
# define BIO_set_tfo(b,n)                BIO_ctrl(b,BIO_C_SET_TFO,(n),NULL)
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
/* IP families we support, for BIO_s_connect() and BIO_s_accept() */
 | 
			
		||||
@@ -452,7 +515,11 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
#  define BIO_get_conn_port(b)          ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1))
 | 
			
		||||
#  define BIO_get_conn_address(b)       ((const BIO_ADDR *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2))
 | 
			
		||||
#  define BIO_get_conn_ip_family(b)     BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL)
 | 
			
		||||
#  define BIO_get_conn_mode(b)          BIO_ctrl(b,BIO_C_GET_CONNECT,4,NULL)
 | 
			
		||||
#  define BIO_set_conn_mode(b,n)        BIO_ctrl(b,BIO_C_SET_CONNECT_MODE,(n),NULL)
 | 
			
		||||
#  define BIO_set_sock_type(b,t)        BIO_ctrl(b,BIO_C_SET_SOCK_TYPE,(t),NULL)
 | 
			
		||||
#  define BIO_get_sock_type(b)          BIO_ctrl(b,BIO_C_GET_SOCK_TYPE,0,NULL)
 | 
			
		||||
#  define BIO_get0_dgram_bio(b, p)      BIO_ctrl(b,BIO_C_GET_DGRAM_BIO,0,(void *)(BIO **)(p))
 | 
			
		||||
 | 
			
		||||
/* BIO_s_accept() */
 | 
			
		||||
#  define BIO_set_accept_name(b,name)   BIO_ctrl(b,BIO_C_SET_ACCEPT,0, \
 | 
			
		||||
@@ -469,6 +536,7 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
                                                 (char *)(bio))
 | 
			
		||||
#  define BIO_set_accept_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_ACCEPT,4,f)
 | 
			
		||||
#  define BIO_get_accept_ip_family(b)   BIO_ctrl(b,BIO_C_GET_ACCEPT,4,NULL)
 | 
			
		||||
#  define BIO_set_tfo_accept(b,n)       BIO_ctrl(b,BIO_C_SET_ACCEPT,5,(n)?(void *)"a":NULL)
 | 
			
		||||
 | 
			
		||||
/* Aliases kept for backward compatibility */
 | 
			
		||||
#  define BIO_BIND_NORMAL                 0
 | 
			
		||||
@@ -596,8 +664,30 @@ int BIO_ctrl_reset_read_request(BIO *b);
 | 
			
		||||
         (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)(peer))
 | 
			
		||||
# define BIO_dgram_set_peer(b,peer) \
 | 
			
		||||
         (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)(peer))
 | 
			
		||||
# define BIO_dgram_detect_peer_addr(b,peer) \
 | 
			
		||||
         (int)BIO_ctrl(b, BIO_CTRL_DGRAM_DETECT_PEER_ADDR, 0, (char *)(peer))
 | 
			
		||||
# define BIO_dgram_get_mtu_overhead(b) \
 | 
			
		||||
         (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL)
 | 
			
		||||
# define BIO_dgram_get_local_addr_cap(b) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_LOCAL_ADDR_CAP, 0, NULL)
 | 
			
		||||
# define BIO_dgram_get_local_addr_enable(b, penable) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_LOCAL_ADDR_ENABLE, 0, (char *)(penable))
 | 
			
		||||
# define BIO_dgram_set_local_addr_enable(b, enable) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_LOCAL_ADDR_ENABLE, (enable), NULL)
 | 
			
		||||
# define BIO_dgram_get_effective_caps(b) \
 | 
			
		||||
         (uint32_t)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_EFFECTIVE_CAPS, 0, NULL)
 | 
			
		||||
# define BIO_dgram_get_caps(b) \
 | 
			
		||||
         (uint32_t)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_CAPS, 0, NULL)
 | 
			
		||||
# define BIO_dgram_set_caps(b, caps) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_CAPS, (long)(caps), NULL)
 | 
			
		||||
# define BIO_dgram_get_no_trunc(b) \
 | 
			
		||||
         (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_NO_TRUNC, 0, NULL)
 | 
			
		||||
# define BIO_dgram_set_no_trunc(b, enable) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_NO_TRUNC, (enable), NULL)
 | 
			
		||||
# define BIO_dgram_get_mtu(b) \
 | 
			
		||||
         (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU, 0, NULL)
 | 
			
		||||
# define BIO_dgram_set_mtu(b, mtu) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_MTU, (mtu), NULL)
 | 
			
		||||
 | 
			
		||||
/* ctrl macros for BIO_f_prefix */
 | 
			
		||||
# define BIO_set_prefix(b,p) BIO_ctrl((b), BIO_CTRL_SET_PREFIX, 0, (void *)(p))
 | 
			
		||||
@@ -640,10 +730,18 @@ void BIO_vfree(BIO *a);
 | 
			
		||||
int BIO_up_ref(BIO *a);
 | 
			
		||||
int BIO_read(BIO *b, void *data, int dlen);
 | 
			
		||||
int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes);
 | 
			
		||||
__owur int BIO_recvmmsg(BIO *b, BIO_MSG *msg,
 | 
			
		||||
                        size_t stride, size_t num_msg, uint64_t flags,
 | 
			
		||||
                        size_t *msgs_processed);
 | 
			
		||||
int BIO_gets(BIO *bp, char *buf, int size);
 | 
			
		||||
int BIO_get_line(BIO *bio, char *buf, int size);
 | 
			
		||||
int BIO_write(BIO *b, const void *data, int dlen);
 | 
			
		||||
int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written);
 | 
			
		||||
__owur int BIO_sendmmsg(BIO *b, BIO_MSG *msg,
 | 
			
		||||
                        size_t stride, size_t num_msg, uint64_t flags,
 | 
			
		||||
                        size_t *msgs_processed);
 | 
			
		||||
__owur int BIO_get_rpoll_descriptor(BIO *b, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
__owur int BIO_get_wpoll_descriptor(BIO *b, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
int BIO_puts(BIO *bp, const char *buf);
 | 
			
		||||
int BIO_indent(BIO *b, int indent, int max);
 | 
			
		||||
long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg);
 | 
			
		||||
@@ -667,6 +765,9 @@ int BIO_nwrite0(BIO *bio, char **buf);
 | 
			
		||||
int BIO_nwrite(BIO *bio, char **buf, int num);
 | 
			
		||||
 | 
			
		||||
const BIO_METHOD *BIO_s_mem(void);
 | 
			
		||||
# ifndef OPENSSL_NO_DGRAM
 | 
			
		||||
const BIO_METHOD *BIO_s_dgram_mem(void);
 | 
			
		||||
# endif
 | 
			
		||||
const BIO_METHOD *BIO_s_secmem(void);
 | 
			
		||||
BIO *BIO_new_mem_buf(const void *buf, int len);
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
@@ -686,6 +787,7 @@ const BIO_METHOD *BIO_f_nbio_test(void);
 | 
			
		||||
const BIO_METHOD *BIO_f_prefix(void);
 | 
			
		||||
const BIO_METHOD *BIO_s_core(void);
 | 
			
		||||
# ifndef OPENSSL_NO_DGRAM
 | 
			
		||||
const BIO_METHOD *BIO_s_dgram_pair(void);
 | 
			
		||||
const BIO_METHOD *BIO_s_datagram(void);
 | 
			
		||||
int BIO_dgram_non_fatal_error(int error);
 | 
			
		||||
BIO *BIO_new_dgram(int fd, int close_flag);
 | 
			
		||||
@@ -704,6 +806,7 @@ int BIO_dgram_sctp_msg_waiting(BIO *b);
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
int BIO_sock_should_retry(int i);
 | 
			
		||||
int BIO_sock_non_fatal_error(int error);
 | 
			
		||||
int BIO_err_is_non_fatal(unsigned int errcode);
 | 
			
		||||
int BIO_socket_wait(int fd, int for_read, time_t max_time);
 | 
			
		||||
# endif
 | 
			
		||||
int BIO_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds);
 | 
			
		||||
@@ -726,6 +829,8 @@ int BIO_hex_string(BIO *out, int indent, int width, const void *data,
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
BIO_ADDR *BIO_ADDR_new(void);
 | 
			
		||||
int BIO_ADDR_copy(BIO_ADDR *dst, const BIO_ADDR *src);
 | 
			
		||||
BIO_ADDR *BIO_ADDR_dup(const BIO_ADDR *ap);
 | 
			
		||||
int BIO_ADDR_rawmake(BIO_ADDR *ap, int family,
 | 
			
		||||
                     const void *where, size_t wherelen, unsigned short port);
 | 
			
		||||
void BIO_ADDR_free(BIO_ADDR *);
 | 
			
		||||
@@ -788,6 +893,7 @@ int BIO_sock_info(int sock,
 | 
			
		||||
#  define BIO_SOCK_KEEPALIVE    0x04
 | 
			
		||||
#  define BIO_SOCK_NONBLOCK     0x08
 | 
			
		||||
#  define BIO_SOCK_NODELAY      0x10
 | 
			
		||||
#  define BIO_SOCK_TFO          0x20
 | 
			
		||||
 | 
			
		||||
int BIO_socket(int domain, int socktype, int protocol, int options);
 | 
			
		||||
int BIO_connect(int sock, const BIO_ADDR *addr, int options);
 | 
			
		||||
@@ -805,6 +911,11 @@ BIO *BIO_new_fd(int fd, int close_flag);
 | 
			
		||||
 | 
			
		||||
int BIO_new_bio_pair(BIO **bio1, size_t writebuf1,
 | 
			
		||||
                     BIO **bio2, size_t writebuf2);
 | 
			
		||||
# ifndef OPENSSL_NO_DGRAM
 | 
			
		||||
int BIO_new_bio_dgram_pair(BIO **bio1, size_t writebuf1,
 | 
			
		||||
                           BIO **bio2, size_t writebuf2);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints.
 | 
			
		||||
 * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default
 | 
			
		||||
@@ -856,18 +967,30 @@ int BIO_meth_set_write(BIO_METHOD *biom,
 | 
			
		||||
                       int (*write) (BIO *, const char *, int));
 | 
			
		||||
int BIO_meth_set_write_ex(BIO_METHOD *biom,
 | 
			
		||||
                       int (*bwrite) (BIO *, const char *, size_t, size_t *));
 | 
			
		||||
int BIO_meth_set_sendmmsg(BIO_METHOD *biom,
 | 
			
		||||
                          int (*f) (BIO *, BIO_MSG *, size_t, size_t,
 | 
			
		||||
                                    uint64_t, size_t *));
 | 
			
		||||
int (*BIO_meth_get_sendmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG *,
 | 
			
		||||
                                                     size_t, size_t,
 | 
			
		||||
                                                     uint64_t, size_t *);
 | 
			
		||||
int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int);
 | 
			
		||||
int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *, size_t, size_t *);
 | 
			
		||||
int BIO_meth_set_read(BIO_METHOD *biom,
 | 
			
		||||
                      int (*read) (BIO *, char *, int));
 | 
			
		||||
int BIO_meth_set_read_ex(BIO_METHOD *biom,
 | 
			
		||||
                         int (*bread) (BIO *, char *, size_t, size_t *));
 | 
			
		||||
int BIO_meth_set_recvmmsg(BIO_METHOD *biom,
 | 
			
		||||
                          int (*f) (BIO *, BIO_MSG *, size_t, size_t,
 | 
			
		||||
                                    uint64_t, size_t *));
 | 
			
		||||
int (*BIO_meth_get_recvmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG *,
 | 
			
		||||
                                                     size_t, size_t,
 | 
			
		||||
                                                     uint64_t, size_t *);
 | 
			
		||||
int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char *);
 | 
			
		||||
int BIO_meth_set_puts(BIO_METHOD *biom,
 | 
			
		||||
                      int (*puts) (BIO *, const char *));
 | 
			
		||||
int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int);
 | 
			
		||||
int BIO_meth_set_gets(BIO_METHOD *biom,
 | 
			
		||||
                      int (*gets) (BIO *, char *, int));
 | 
			
		||||
                      int (*ossl_gets) (BIO *, char *, int));
 | 
			
		||||
long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *);
 | 
			
		||||
int BIO_meth_set_ctrl(BIO_METHOD *biom,
 | 
			
		||||
                      long (*ctrl) (BIO *, int, long, void *));
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -68,6 +68,8 @@ extern "C" {
 | 
			
		||||
#  define BIO_TYPE_DGRAM_SCTP    (24|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 | 
			
		||||
# endif
 | 
			
		||||
# define BIO_TYPE_CORE_TO_PROV   (25|BIO_TYPE_SOURCE_SINK)
 | 
			
		||||
# define BIO_TYPE_DGRAM_PAIR     (26|BIO_TYPE_SOURCE_SINK)
 | 
			
		||||
# define BIO_TYPE_DGRAM_MEM      (27|BIO_TYPE_SOURCE_SINK)
 | 
			
		||||
 | 
			
		||||
#define BIO_TYPE_START           128
 | 
			
		||||
 | 
			
		||||
@@ -172,6 +174,30 @@ extern "C" {
 | 
			
		||||
# define BIO_CTRL_SET_INDENT                    80
 | 
			
		||||
# define BIO_CTRL_GET_INDENT                    81
 | 
			
		||||
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_LOCAL_ADDR_CAP      82
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_LOCAL_ADDR_ENABLE   83
 | 
			
		||||
# define BIO_CTRL_DGRAM_SET_LOCAL_ADDR_ENABLE   84
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_EFFECTIVE_CAPS      85
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_CAPS                86
 | 
			
		||||
# define BIO_CTRL_DGRAM_SET_CAPS                87
 | 
			
		||||
# define BIO_CTRL_DGRAM_GET_NO_TRUNC            88
 | 
			
		||||
# define BIO_CTRL_DGRAM_SET_NO_TRUNC            89
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * internal BIO:
 | 
			
		||||
 * # define BIO_CTRL_SET_KTLS_TX_ZEROCOPY_SENDFILE 90
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
# define BIO_CTRL_GET_RPOLL_DESCRIPTOR          91
 | 
			
		||||
# define BIO_CTRL_GET_WPOLL_DESCRIPTOR          92
 | 
			
		||||
# define BIO_CTRL_DGRAM_DETECT_PEER_ADDR        93
 | 
			
		||||
 | 
			
		||||
# define BIO_DGRAM_CAP_NONE                 0U
 | 
			
		||||
# define BIO_DGRAM_CAP_HANDLES_SRC_ADDR     (1U << 0)
 | 
			
		||||
# define BIO_DGRAM_CAP_HANDLES_DST_ADDR     (1U << 1)
 | 
			
		||||
# define BIO_DGRAM_CAP_PROVIDES_SRC_ADDR    (1U << 2)
 | 
			
		||||
# define BIO_DGRAM_CAP_PROVIDES_DST_ADDR    (1U << 3)
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_KTLS
 | 
			
		||||
#  define BIO_get_ktls_send(b)         \
 | 
			
		||||
     (BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL) > 0)
 | 
			
		||||
@@ -209,7 +235,7 @@ extern "C" {
 | 
			
		||||
# define BIO_FLAGS_NONCLEAR_RST  0x400
 | 
			
		||||
# define BIO_FLAGS_IN_EOF        0x800
 | 
			
		||||
 | 
			
		||||
/* the BIO FLAGS values 0x1000 to 0x4000 are reserved for internal KTLS flags */
 | 
			
		||||
/* the BIO FLAGS values 0x1000 to 0x8000 are reserved for internal KTLS flags */
 | 
			
		||||
 | 
			
		||||
typedef union bio_addr_st BIO_ADDR;
 | 
			
		||||
typedef struct bio_addrinfo_st BIO_ADDRINFO;
 | 
			
		||||
@@ -257,12 +283,14 @@ void BIO_clear_flags(BIO *b, int flags);
 | 
			
		||||
# define BIO_RR_ACCEPT                   0x03
 | 
			
		||||
 | 
			
		||||
/* These are passed by the BIO callback */
 | 
			
		||||
# define BIO_CB_FREE     0x01
 | 
			
		||||
# define BIO_CB_READ     0x02
 | 
			
		||||
# define BIO_CB_WRITE    0x03
 | 
			
		||||
# define BIO_CB_PUTS     0x04
 | 
			
		||||
# define BIO_CB_GETS     0x05
 | 
			
		||||
# define BIO_CB_CTRL     0x06
 | 
			
		||||
# define BIO_CB_FREE        0x01
 | 
			
		||||
# define BIO_CB_READ        0x02
 | 
			
		||||
# define BIO_CB_WRITE       0x03
 | 
			
		||||
# define BIO_CB_PUTS        0x04
 | 
			
		||||
# define BIO_CB_GETS        0x05
 | 
			
		||||
# define BIO_CB_CTRL        0x06
 | 
			
		||||
# define BIO_CB_RECVMMSG    0x07
 | 
			
		||||
# define BIO_CB_SENDMMSG    0x08
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The callback is called before and after the underling operation, The
 | 
			
		||||
@@ -339,6 +367,34 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
};
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/* BIO_sendmmsg/BIO_recvmmsg-related definitions */
 | 
			
		||||
typedef struct bio_msg_st {
 | 
			
		||||
    void *data;
 | 
			
		||||
    size_t data_len;
 | 
			
		||||
    BIO_ADDR *peer, *local;
 | 
			
		||||
    uint64_t flags;
 | 
			
		||||
} BIO_MSG;
 | 
			
		||||
 | 
			
		||||
typedef struct bio_mmsg_cb_args_st {
 | 
			
		||||
    BIO_MSG    *msg;
 | 
			
		||||
    size_t      stride, num_msg;
 | 
			
		||||
    uint64_t    flags;
 | 
			
		||||
    size_t     *msgs_processed;
 | 
			
		||||
} BIO_MMSG_CB_ARGS;
 | 
			
		||||
 | 
			
		||||
#define BIO_POLL_DESCRIPTOR_TYPE_NONE       0
 | 
			
		||||
#define BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD    1
 | 
			
		||||
#define BIO_POLL_DESCRIPTOR_CUSTOM_START    8192
 | 
			
		||||
 | 
			
		||||
typedef struct bio_poll_descriptor_st {
 | 
			
		||||
    uint32_t type;
 | 
			
		||||
    union {
 | 
			
		||||
        int         fd;
 | 
			
		||||
        void        *custom;
 | 
			
		||||
        uintptr_t   custom_ui;
 | 
			
		||||
    } value;
 | 
			
		||||
} BIO_POLL_DESCRIPTOR;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * #define BIO_CONN_get_param_hostname BIO_ctrl
 | 
			
		||||
 */
 | 
			
		||||
@@ -405,10 +461,17 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
 | 
			
		||||
# define BIO_C_SET_CONNECT_MODE                  155
 | 
			
		||||
 | 
			
		||||
# define BIO_C_SET_TFO                           156 /* like BIO_C_SET_NBIO */
 | 
			
		||||
 | 
			
		||||
# define BIO_C_SET_SOCK_TYPE                     157
 | 
			
		||||
# define BIO_C_GET_SOCK_TYPE                     158
 | 
			
		||||
# define BIO_C_GET_DGRAM_BIO                     159
 | 
			
		||||
 | 
			
		||||
# define BIO_set_app_data(s,arg)         BIO_set_ex_data(s,0,arg)
 | 
			
		||||
# define BIO_get_app_data(s)             BIO_get_ex_data(s,0)
 | 
			
		||||
 | 
			
		||||
# define BIO_set_nbio(b,n)             BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)
 | 
			
		||||
# define BIO_set_nbio(b,n)               BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)
 | 
			
		||||
# define BIO_set_tfo(b,n)                BIO_ctrl(b,BIO_C_SET_TFO,(n),NULL)
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
/* IP families we support, for BIO_s_connect() and BIO_s_accept() */
 | 
			
		||||
@@ -429,7 +492,11 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
#  define BIO_get_conn_port(b)          ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1))
 | 
			
		||||
#  define BIO_get_conn_address(b)       ((const BIO_ADDR *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2))
 | 
			
		||||
#  define BIO_get_conn_ip_family(b)     BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL)
 | 
			
		||||
#  define BIO_get_conn_mode(b)          BIO_ctrl(b,BIO_C_GET_CONNECT,4,NULL)
 | 
			
		||||
#  define BIO_set_conn_mode(b,n)        BIO_ctrl(b,BIO_C_SET_CONNECT_MODE,(n),NULL)
 | 
			
		||||
#  define BIO_set_sock_type(b,t)        BIO_ctrl(b,BIO_C_SET_SOCK_TYPE,(t),NULL)
 | 
			
		||||
#  define BIO_get_sock_type(b)          BIO_ctrl(b,BIO_C_GET_SOCK_TYPE,0,NULL)
 | 
			
		||||
#  define BIO_get0_dgram_bio(b, p)      BIO_ctrl(b,BIO_C_GET_DGRAM_BIO,0,(void *)(BIO **)(p))
 | 
			
		||||
 | 
			
		||||
/* BIO_s_accept() */
 | 
			
		||||
#  define BIO_set_accept_name(b,name)   BIO_ctrl(b,BIO_C_SET_ACCEPT,0, \
 | 
			
		||||
@@ -446,6 +513,7 @@ struct bio_dgram_sctp_prinfo {
 | 
			
		||||
                                                 (char *)(bio))
 | 
			
		||||
#  define BIO_set_accept_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_ACCEPT,4,f)
 | 
			
		||||
#  define BIO_get_accept_ip_family(b)   BIO_ctrl(b,BIO_C_GET_ACCEPT,4,NULL)
 | 
			
		||||
#  define BIO_set_tfo_accept(b,n)       BIO_ctrl(b,BIO_C_SET_ACCEPT,5,(n)?(void *)"a":NULL)
 | 
			
		||||
 | 
			
		||||
/* Aliases kept for backward compatibility */
 | 
			
		||||
#  define BIO_BIND_NORMAL                 0
 | 
			
		||||
@@ -573,8 +641,30 @@ int BIO_ctrl_reset_read_request(BIO *b);
 | 
			
		||||
         (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)(peer))
 | 
			
		||||
# define BIO_dgram_set_peer(b,peer) \
 | 
			
		||||
         (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)(peer))
 | 
			
		||||
# define BIO_dgram_detect_peer_addr(b,peer) \
 | 
			
		||||
         (int)BIO_ctrl(b, BIO_CTRL_DGRAM_DETECT_PEER_ADDR, 0, (char *)(peer))
 | 
			
		||||
# define BIO_dgram_get_mtu_overhead(b) \
 | 
			
		||||
         (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL)
 | 
			
		||||
# define BIO_dgram_get_local_addr_cap(b) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_LOCAL_ADDR_CAP, 0, NULL)
 | 
			
		||||
# define BIO_dgram_get_local_addr_enable(b, penable) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_LOCAL_ADDR_ENABLE, 0, (char *)(penable))
 | 
			
		||||
# define BIO_dgram_set_local_addr_enable(b, enable) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_LOCAL_ADDR_ENABLE, (enable), NULL)
 | 
			
		||||
# define BIO_dgram_get_effective_caps(b) \
 | 
			
		||||
         (uint32_t)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_EFFECTIVE_CAPS, 0, NULL)
 | 
			
		||||
# define BIO_dgram_get_caps(b) \
 | 
			
		||||
         (uint32_t)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_CAPS, 0, NULL)
 | 
			
		||||
# define BIO_dgram_set_caps(b, caps) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_CAPS, (long)(caps), NULL)
 | 
			
		||||
# define BIO_dgram_get_no_trunc(b) \
 | 
			
		||||
         (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_NO_TRUNC, 0, NULL)
 | 
			
		||||
# define BIO_dgram_set_no_trunc(b, enable) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_NO_TRUNC, (enable), NULL)
 | 
			
		||||
# define BIO_dgram_get_mtu(b) \
 | 
			
		||||
         (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU, 0, NULL)
 | 
			
		||||
# define BIO_dgram_set_mtu(b, mtu) \
 | 
			
		||||
         (int)BIO_ctrl((b), BIO_CTRL_DGRAM_SET_MTU, (mtu), NULL)
 | 
			
		||||
 | 
			
		||||
/* ctrl macros for BIO_f_prefix */
 | 
			
		||||
# define BIO_set_prefix(b,p) BIO_ctrl((b), BIO_CTRL_SET_PREFIX, 0, (void *)(p))
 | 
			
		||||
@@ -617,10 +707,18 @@ void BIO_vfree(BIO *a);
 | 
			
		||||
int BIO_up_ref(BIO *a);
 | 
			
		||||
int BIO_read(BIO *b, void *data, int dlen);
 | 
			
		||||
int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes);
 | 
			
		||||
__owur int BIO_recvmmsg(BIO *b, BIO_MSG *msg,
 | 
			
		||||
                        size_t stride, size_t num_msg, uint64_t flags,
 | 
			
		||||
                        size_t *msgs_processed);
 | 
			
		||||
int BIO_gets(BIO *bp, char *buf, int size);
 | 
			
		||||
int BIO_get_line(BIO *bio, char *buf, int size);
 | 
			
		||||
int BIO_write(BIO *b, const void *data, int dlen);
 | 
			
		||||
int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written);
 | 
			
		||||
__owur int BIO_sendmmsg(BIO *b, BIO_MSG *msg,
 | 
			
		||||
                        size_t stride, size_t num_msg, uint64_t flags,
 | 
			
		||||
                        size_t *msgs_processed);
 | 
			
		||||
__owur int BIO_get_rpoll_descriptor(BIO *b, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
__owur int BIO_get_wpoll_descriptor(BIO *b, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
int BIO_puts(BIO *bp, const char *buf);
 | 
			
		||||
int BIO_indent(BIO *b, int indent, int max);
 | 
			
		||||
long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg);
 | 
			
		||||
@@ -644,6 +742,9 @@ int BIO_nwrite0(BIO *bio, char **buf);
 | 
			
		||||
int BIO_nwrite(BIO *bio, char **buf, int num);
 | 
			
		||||
 | 
			
		||||
const BIO_METHOD *BIO_s_mem(void);
 | 
			
		||||
# ifndef OPENSSL_NO_DGRAM
 | 
			
		||||
const BIO_METHOD *BIO_s_dgram_mem(void);
 | 
			
		||||
# endif
 | 
			
		||||
const BIO_METHOD *BIO_s_secmem(void);
 | 
			
		||||
BIO *BIO_new_mem_buf(const void *buf, int len);
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
@@ -663,6 +764,7 @@ const BIO_METHOD *BIO_f_nbio_test(void);
 | 
			
		||||
const BIO_METHOD *BIO_f_prefix(void);
 | 
			
		||||
const BIO_METHOD *BIO_s_core(void);
 | 
			
		||||
# ifndef OPENSSL_NO_DGRAM
 | 
			
		||||
const BIO_METHOD *BIO_s_dgram_pair(void);
 | 
			
		||||
const BIO_METHOD *BIO_s_datagram(void);
 | 
			
		||||
int BIO_dgram_non_fatal_error(int error);
 | 
			
		||||
BIO *BIO_new_dgram(int fd, int close_flag);
 | 
			
		||||
@@ -681,6 +783,7 @@ int BIO_dgram_sctp_msg_waiting(BIO *b);
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
int BIO_sock_should_retry(int i);
 | 
			
		||||
int BIO_sock_non_fatal_error(int error);
 | 
			
		||||
int BIO_err_is_non_fatal(unsigned int errcode);
 | 
			
		||||
int BIO_socket_wait(int fd, int for_read, time_t max_time);
 | 
			
		||||
# endif
 | 
			
		||||
int BIO_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds);
 | 
			
		||||
@@ -703,6 +806,8 @@ int BIO_hex_string(BIO *out, int indent, int width, const void *data,
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_SOCK
 | 
			
		||||
BIO_ADDR *BIO_ADDR_new(void);
 | 
			
		||||
int BIO_ADDR_copy(BIO_ADDR *dst, const BIO_ADDR *src);
 | 
			
		||||
BIO_ADDR *BIO_ADDR_dup(const BIO_ADDR *ap);
 | 
			
		||||
int BIO_ADDR_rawmake(BIO_ADDR *ap, int family,
 | 
			
		||||
                     const void *where, size_t wherelen, unsigned short port);
 | 
			
		||||
void BIO_ADDR_free(BIO_ADDR *);
 | 
			
		||||
@@ -765,6 +870,7 @@ int BIO_sock_info(int sock,
 | 
			
		||||
#  define BIO_SOCK_KEEPALIVE    0x04
 | 
			
		||||
#  define BIO_SOCK_NONBLOCK     0x08
 | 
			
		||||
#  define BIO_SOCK_NODELAY      0x10
 | 
			
		||||
#  define BIO_SOCK_TFO          0x20
 | 
			
		||||
 | 
			
		||||
int BIO_socket(int domain, int socktype, int protocol, int options);
 | 
			
		||||
int BIO_connect(int sock, const BIO_ADDR *addr, int options);
 | 
			
		||||
@@ -782,6 +888,11 @@ BIO *BIO_new_fd(int fd, int close_flag);
 | 
			
		||||
 | 
			
		||||
int BIO_new_bio_pair(BIO **bio1, size_t writebuf1,
 | 
			
		||||
                     BIO **bio2, size_t writebuf2);
 | 
			
		||||
# ifndef OPENSSL_NO_DGRAM
 | 
			
		||||
int BIO_new_bio_dgram_pair(BIO **bio1, size_t writebuf1,
 | 
			
		||||
                           BIO **bio2, size_t writebuf2);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints.
 | 
			
		||||
 * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default
 | 
			
		||||
@@ -833,18 +944,30 @@ int BIO_meth_set_write(BIO_METHOD *biom,
 | 
			
		||||
                       int (*write) (BIO *, const char *, int));
 | 
			
		||||
int BIO_meth_set_write_ex(BIO_METHOD *biom,
 | 
			
		||||
                       int (*bwrite) (BIO *, const char *, size_t, size_t *));
 | 
			
		||||
int BIO_meth_set_sendmmsg(BIO_METHOD *biom,
 | 
			
		||||
                          int (*f) (BIO *, BIO_MSG *, size_t, size_t,
 | 
			
		||||
                                    uint64_t, size_t *));
 | 
			
		||||
int (*BIO_meth_get_sendmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG *,
 | 
			
		||||
                                                     size_t, size_t,
 | 
			
		||||
                                                     uint64_t, size_t *);
 | 
			
		||||
int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int);
 | 
			
		||||
int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *, size_t, size_t *);
 | 
			
		||||
int BIO_meth_set_read(BIO_METHOD *biom,
 | 
			
		||||
                      int (*read) (BIO *, char *, int));
 | 
			
		||||
int BIO_meth_set_read_ex(BIO_METHOD *biom,
 | 
			
		||||
                         int (*bread) (BIO *, char *, size_t, size_t *));
 | 
			
		||||
int BIO_meth_set_recvmmsg(BIO_METHOD *biom,
 | 
			
		||||
                          int (*f) (BIO *, BIO_MSG *, size_t, size_t,
 | 
			
		||||
                                    uint64_t, size_t *));
 | 
			
		||||
int (*BIO_meth_get_recvmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG *,
 | 
			
		||||
                                                     size_t, size_t,
 | 
			
		||||
                                                     uint64_t, size_t *);
 | 
			
		||||
int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char *);
 | 
			
		||||
int BIO_meth_set_puts(BIO_METHOD *biom,
 | 
			
		||||
                      int (*puts) (BIO *, const char *));
 | 
			
		||||
int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int);
 | 
			
		||||
int BIO_meth_set_gets(BIO_METHOD *biom,
 | 
			
		||||
                      int (*gets) (BIO *, char *, int));
 | 
			
		||||
                      int (*ossl_gets) (BIO *, char *, int));
 | 
			
		||||
long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *);
 | 
			
		||||
int BIO_meth_set_ctrl(BIO_METHOD *biom,
 | 
			
		||||
                      long (*ctrl) (BIO *, int, long, void *));
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Generated by util/mkerr.pl DO NOT EDIT
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -37,14 +37,18 @@
 | 
			
		||||
# define BIO_R_IN_USE                                     123
 | 
			
		||||
# define BIO_R_LENGTH_TOO_LONG                            102
 | 
			
		||||
# define BIO_R_LISTEN_V6_ONLY                             136
 | 
			
		||||
# define BIO_R_LOCAL_ADDR_NOT_AVAILABLE                   111
 | 
			
		||||
# define BIO_R_LOOKUP_RETURNED_NOTHING                    142
 | 
			
		||||
# define BIO_R_MALFORMED_HOST_OR_SERVICE                  130
 | 
			
		||||
# define BIO_R_NBIO_CONNECT_ERROR                         110
 | 
			
		||||
# define BIO_R_NON_FATAL                                  112
 | 
			
		||||
# define BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED        143
 | 
			
		||||
# define BIO_R_NO_HOSTNAME_OR_SERVICE_SPECIFIED           144
 | 
			
		||||
# define BIO_R_NO_PORT_DEFINED                            113
 | 
			
		||||
# define BIO_R_NO_SUCH_FILE                               128
 | 
			
		||||
# define BIO_R_NULL_PARAMETER                             115 /* unused */
 | 
			
		||||
# define BIO_R_TFO_DISABLED                               106
 | 
			
		||||
# define BIO_R_TFO_NO_KERNEL_SUPPORT                      108
 | 
			
		||||
# define BIO_R_TRANSFER_ERROR                             104
 | 
			
		||||
# define BIO_R_TRANSFER_TIMEOUT                           105
 | 
			
		||||
# define BIO_R_UNABLE_TO_BIND_SOCKET                      117
 | 
			
		||||
@@ -53,6 +57,7 @@
 | 
			
		||||
# define BIO_R_UNABLE_TO_LISTEN_SOCKET                    119
 | 
			
		||||
# define BIO_R_UNABLE_TO_NODELAY                          138
 | 
			
		||||
# define BIO_R_UNABLE_TO_REUSEADDR                        139
 | 
			
		||||
# define BIO_R_UNABLE_TO_TFO                              109
 | 
			
		||||
# define BIO_R_UNAVAILABLE_IP_FAMILY                      145
 | 
			
		||||
# define BIO_R_UNINITIALIZED                              120
 | 
			
		||||
# define BIO_R_UNKNOWN_INFO_TYPE                          140
 | 
			
		||||
@@ -61,5 +66,7 @@
 | 
			
		||||
# define BIO_R_UNSUPPORTED_PROTOCOL_FAMILY                131
 | 
			
		||||
# define BIO_R_WRITE_TO_READ_ONLY_BIO                     126
 | 
			
		||||
# define BIO_R_WSASTARTUP                                 122
 | 
			
		||||
# define BIO_R_PORT_MISMATCH                              150
 | 
			
		||||
# define BIO_R_PEER_ADDR_NOT_AVAILABLE                    151
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -241,12 +241,18 @@ void BN_clear_free(BIGNUM *a);
 | 
			
		||||
BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);
 | 
			
		||||
void BN_swap(BIGNUM *a, BIGNUM *b);
 | 
			
		||||
BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret);
 | 
			
		||||
BIGNUM *BN_signed_bin2bn(const unsigned char *s, int len, BIGNUM *ret);
 | 
			
		||||
int BN_bn2bin(const BIGNUM *a, unsigned char *to);
 | 
			
		||||
int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen);
 | 
			
		||||
int BN_signed_bn2bin(const BIGNUM *a, unsigned char *to, int tolen);
 | 
			
		||||
BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret);
 | 
			
		||||
BIGNUM *BN_signed_lebin2bn(const unsigned char *s, int len, BIGNUM *ret);
 | 
			
		||||
int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen);
 | 
			
		||||
int BN_signed_bn2lebin(const BIGNUM *a, unsigned char *to, int tolen);
 | 
			
		||||
BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret);
 | 
			
		||||
BIGNUM *BN_signed_native2bn(const unsigned char *s, int len, BIGNUM *ret);
 | 
			
		||||
int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen);
 | 
			
		||||
int BN_signed_bn2native(const BIGNUM *a, unsigned char *to, int tolen);
 | 
			
		||||
BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret);
 | 
			
		||||
int BN_bn2mpi(const BIGNUM *a, unsigned char *to);
 | 
			
		||||
int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,9 @@
 | 
			
		||||
extern "C" {
 | 
			
		||||
#  endif
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CMP_PVNO 2
 | 
			
		||||
#  define OSSL_CMP_PVNO_2 2
 | 
			
		||||
#  define OSSL_CMP_PVNO_3 3
 | 
			
		||||
#  define OSSL_CMP_PVNO OSSL_CMP_PVNO_2 /* v2 is the default */
 | 
			
		||||
 | 
			
		||||
/*-
 | 
			
		||||
 *   PKIFailureInfo ::= BIT STRING {
 | 
			
		||||
@@ -137,7 +139,6 @@ extern "C" {
 | 
			
		||||
#  if OSSL_CMP_PKIFAILUREINFO_MAX_BIT_PATTERN > INT_MAX
 | 
			
		||||
#   error CMP_PKIFAILUREINFO_MAX bit pattern does not fit in type int
 | 
			
		||||
#  endif
 | 
			
		||||
 | 
			
		||||
typedef ASN1_BIT_STRING OSSL_CMP_PKIFAILUREINFO;
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CMP_CTX_FAILINFO_badAlg (1 << 0)
 | 
			
		||||
@@ -203,8 +204,8 @@ typedef ASN1_BIT_STRING OSSL_CMP_PKIFAILUREINFO;
 | 
			
		||||
#  define OSSL_CMP_PKISTATUS_revocationWarning      4
 | 
			
		||||
#  define OSSL_CMP_PKISTATUS_revocationNotification 5
 | 
			
		||||
#  define OSSL_CMP_PKISTATUS_keyUpdateWarning       6
 | 
			
		||||
 | 
			
		||||
typedef ASN1_INTEGER OSSL_CMP_PKISTATUS;
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_ITEM(OSSL_CMP_PKISTATUS)
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CMP_CERTORENCCERT_CERTIFICATE 0
 | 
			
		||||
@@ -378,18 +379,35 @@ ASN1_TYPE *OSSL_CMP_ITAV_get0_value(const OSSL_CMP_ITAV *itav);
 | 
			
		||||
int OSSL_CMP_ITAV_push0_stack_item(STACK_OF(OSSL_CMP_ITAV) **itav_sk_p,
 | 
			
		||||
                                   OSSL_CMP_ITAV *itav);
 | 
			
		||||
void OSSL_CMP_ITAV_free(OSSL_CMP_ITAV *itav);
 | 
			
		||||
 | 
			
		||||
OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_caCerts(const STACK_OF(X509) *caCerts);
 | 
			
		||||
int OSSL_CMP_ITAV_get0_caCerts(const OSSL_CMP_ITAV *itav, STACK_OF(X509) **out);
 | 
			
		||||
 | 
			
		||||
OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_rootCaCert(const X509 *rootCaCert);
 | 
			
		||||
int OSSL_CMP_ITAV_get0_rootCaCert(const OSSL_CMP_ITAV *itav, X509 **out);
 | 
			
		||||
OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_rootCaKeyUpdate(const X509 *newWithNew,
 | 
			
		||||
                                                 const X509 *newWithOld,
 | 
			
		||||
                                                 const X509 *oldWithNew);
 | 
			
		||||
int OSSL_CMP_ITAV_get0_rootCaKeyUpdate(const OSSL_CMP_ITAV *itav,
 | 
			
		||||
                                       X509 **newWithNew,
 | 
			
		||||
                                       X509 **newWithOld,
 | 
			
		||||
                                       X509 **oldWithNew);
 | 
			
		||||
 | 
			
		||||
void OSSL_CMP_MSG_free(OSSL_CMP_MSG *msg);
 | 
			
		||||
 | 
			
		||||
/* from cmp_ctx.c */
 | 
			
		||||
OSSL_CMP_CTX *OSSL_CMP_CTX_new(OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
void OSSL_CMP_CTX_free(OSSL_CMP_CTX *ctx);
 | 
			
		||||
int OSSL_CMP_CTX_reinit(OSSL_CMP_CTX *ctx);
 | 
			
		||||
OSSL_LIB_CTX *OSSL_CMP_CTX_get0_libctx(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
const char *OSSL_CMP_CTX_get0_propq(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
/* CMP general options: */
 | 
			
		||||
#  define OSSL_CMP_OPT_LOG_VERBOSITY 0
 | 
			
		||||
/* CMP transfer options: */
 | 
			
		||||
#  define OSSL_CMP_OPT_KEEP_ALIVE 10
 | 
			
		||||
#  define OSSL_CMP_OPT_MSG_TIMEOUT 11
 | 
			
		||||
#  define OSSL_CMP_OPT_KEEP_ALIVE    10
 | 
			
		||||
#  define OSSL_CMP_OPT_MSG_TIMEOUT   11
 | 
			
		||||
#  define OSSL_CMP_OPT_TOTAL_TIMEOUT 12
 | 
			
		||||
#  define OSSL_CMP_OPT_USE_TLS       13
 | 
			
		||||
/* CMP request options: */
 | 
			
		||||
#  define OSSL_CMP_OPT_VALIDITY_DAYS 20
 | 
			
		||||
#  define OSSL_CMP_OPT_SUBJECTALTNAME_NODEFAULT 21
 | 
			
		||||
@@ -420,9 +438,11 @@ int OSSL_CMP_CTX_set1_server(OSSL_CMP_CTX *ctx, const char *address);
 | 
			
		||||
int OSSL_CMP_CTX_set_serverPort(OSSL_CMP_CTX *ctx, int port);
 | 
			
		||||
int OSSL_CMP_CTX_set1_proxy(OSSL_CMP_CTX *ctx, const char *name);
 | 
			
		||||
int OSSL_CMP_CTX_set1_no_proxy(OSSL_CMP_CTX *ctx, const char *names);
 | 
			
		||||
#   ifndef OPENSSL_NO_HTTP
 | 
			
		||||
int OSSL_CMP_CTX_set_http_cb(OSSL_CMP_CTX *ctx, OSSL_HTTP_bio_cb_t cb);
 | 
			
		||||
int OSSL_CMP_CTX_set_http_cb_arg(OSSL_CMP_CTX *ctx, void *arg);
 | 
			
		||||
void *OSSL_CMP_CTX_get_http_cb_arg(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
#   endif
 | 
			
		||||
typedef OSSL_CMP_MSG *(*OSSL_CMP_transfer_cb_t) (OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                                 const OSSL_CMP_MSG *req);
 | 
			
		||||
int OSSL_CMP_CTX_set_transfer_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_transfer_cb_t cb);
 | 
			
		||||
@@ -432,7 +452,9 @@ void *OSSL_CMP_CTX_get_transfer_cb_arg(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
int OSSL_CMP_CTX_set1_srvCert(OSSL_CMP_CTX *ctx, X509 *cert);
 | 
			
		||||
int OSSL_CMP_CTX_set1_expected_sender(OSSL_CMP_CTX *ctx, const X509_NAME *name);
 | 
			
		||||
int OSSL_CMP_CTX_set0_trustedStore(OSSL_CMP_CTX *ctx, X509_STORE *store);
 | 
			
		||||
#  define OSSL_CMP_CTX_set0_trusted OSSL_CMP_CTX_set0_trustedStore
 | 
			
		||||
X509_STORE *OSSL_CMP_CTX_get0_trustedStore(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
#  define OSSL_CMP_CTX_get0_trusted OSSL_CMP_CTX_get0_trustedStore
 | 
			
		||||
int OSSL_CMP_CTX_set1_untrusted(OSSL_CMP_CTX *ctx, STACK_OF(X509) *certs);
 | 
			
		||||
STACK_OF(X509) *OSSL_CMP_CTX_get0_untrusted(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
/* client authentication: */
 | 
			
		||||
@@ -454,6 +476,7 @@ int OSSL_CMP_CTX_set1_extraCertsOut(OSSL_CMP_CTX *ctx,
 | 
			
		||||
int OSSL_CMP_CTX_set0_newPkey(OSSL_CMP_CTX *ctx, int priv, EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *OSSL_CMP_CTX_get0_newPkey(const OSSL_CMP_CTX *ctx, int priv);
 | 
			
		||||
int OSSL_CMP_CTX_set1_issuer(OSSL_CMP_CTX *ctx, const X509_NAME *name);
 | 
			
		||||
int OSSL_CMP_CTX_set1_serialNumber(OSSL_CMP_CTX *ctx, const ASN1_INTEGER *sn);
 | 
			
		||||
int OSSL_CMP_CTX_set1_subjectName(OSSL_CMP_CTX *ctx, const X509_NAME *name);
 | 
			
		||||
int OSSL_CMP_CTX_push1_subjectAltName(OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                      const GENERAL_NAME *name);
 | 
			
		||||
@@ -477,6 +500,7 @@ int OSSL_CMP_CTX_get_status(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
OSSL_CMP_PKIFREETEXT *OSSL_CMP_CTX_get0_statusString(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
int OSSL_CMP_CTX_get_failInfoCode(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
#  define OSSL_CMP_PKISI_BUFLEN 1024
 | 
			
		||||
X509 *OSSL_CMP_CTX_get0_validatedSrvCert(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
X509 *OSSL_CMP_CTX_get0_newCert(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *OSSL_CMP_CTX_get1_newChain(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *OSSL_CMP_CTX_get1_caPubs(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
@@ -517,8 +541,10 @@ int OSSL_CMP_validate_cert_path(const OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                X509_STORE *trusted_store, X509 *cert);
 | 
			
		||||
 | 
			
		||||
/* from cmp_http.c */
 | 
			
		||||
#   ifndef OPENSSL_NO_HTTP
 | 
			
		||||
OSSL_CMP_MSG *OSSL_CMP_MSG_http_perform(OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                        const OSSL_CMP_MSG *req);
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
/* from cmp_server.c */
 | 
			
		||||
typedef struct ossl_cmp_srv_ctx_st OSSL_CMP_SRV_CTX;
 | 
			
		||||
@@ -590,6 +616,12 @@ int OSSL_CMP_try_certreq(OSSL_CMP_CTX *ctx, int req_type,
 | 
			
		||||
int OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx);
 | 
			
		||||
STACK_OF(OSSL_CMP_ITAV) *OSSL_CMP_exec_GENM_ses(OSSL_CMP_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
/* from cmp_genm.c */
 | 
			
		||||
int OSSL_CMP_get1_caCerts(OSSL_CMP_CTX *ctx, STACK_OF(X509) **out);
 | 
			
		||||
int OSSL_CMP_get1_rootCaKeyUpdate(OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                  const X509 *oldWithOld, X509 **newWithNew,
 | 
			
		||||
                                  X509 **newWithOld, X509 **oldWithNew);
 | 
			
		||||
 | 
			
		||||
#  ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#  endif
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,9 @@ use OpenSSL::stackhash qw(generate_stack_macros);
 | 
			
		||||
extern "C" {
 | 
			
		||||
#  endif
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CMP_PVNO 2
 | 
			
		||||
#  define OSSL_CMP_PVNO_2 2
 | 
			
		||||
#  define OSSL_CMP_PVNO_3 3
 | 
			
		||||
#  define OSSL_CMP_PVNO OSSL_CMP_PVNO_2 /* v2 is the default */
 | 
			
		||||
 | 
			
		||||
/*-
 | 
			
		||||
 *   PKIFailureInfo ::= BIT STRING {
 | 
			
		||||
@@ -138,7 +140,6 @@ extern "C" {
 | 
			
		||||
#  if OSSL_CMP_PKIFAILUREINFO_MAX_BIT_PATTERN > INT_MAX
 | 
			
		||||
#   error CMP_PKIFAILUREINFO_MAX bit pattern does not fit in type int
 | 
			
		||||
#  endif
 | 
			
		||||
 | 
			
		||||
typedef ASN1_BIT_STRING OSSL_CMP_PKIFAILUREINFO;
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CMP_CTX_FAILINFO_badAlg (1 << 0)
 | 
			
		||||
@@ -204,8 +205,8 @@ typedef ASN1_BIT_STRING OSSL_CMP_PKIFAILUREINFO;
 | 
			
		||||
#  define OSSL_CMP_PKISTATUS_revocationWarning      4
 | 
			
		||||
#  define OSSL_CMP_PKISTATUS_revocationNotification 5
 | 
			
		||||
#  define OSSL_CMP_PKISTATUS_keyUpdateWarning       6
 | 
			
		||||
 | 
			
		||||
typedef ASN1_INTEGER OSSL_CMP_PKISTATUS;
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_ITEM(OSSL_CMP_PKISTATUS)
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CMP_CERTORENCCERT_CERTIFICATE 0
 | 
			
		||||
@@ -259,18 +260,35 @@ ASN1_TYPE *OSSL_CMP_ITAV_get0_value(const OSSL_CMP_ITAV *itav);
 | 
			
		||||
int OSSL_CMP_ITAV_push0_stack_item(STACK_OF(OSSL_CMP_ITAV) **itav_sk_p,
 | 
			
		||||
                                   OSSL_CMP_ITAV *itav);
 | 
			
		||||
void OSSL_CMP_ITAV_free(OSSL_CMP_ITAV *itav);
 | 
			
		||||
 | 
			
		||||
OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_caCerts(const STACK_OF(X509) *caCerts);
 | 
			
		||||
int OSSL_CMP_ITAV_get0_caCerts(const OSSL_CMP_ITAV *itav, STACK_OF(X509) **out);
 | 
			
		||||
 | 
			
		||||
OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_rootCaCert(const X509 *rootCaCert);
 | 
			
		||||
int OSSL_CMP_ITAV_get0_rootCaCert(const OSSL_CMP_ITAV *itav, X509 **out);
 | 
			
		||||
OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_rootCaKeyUpdate(const X509 *newWithNew,
 | 
			
		||||
                                                 const X509 *newWithOld,
 | 
			
		||||
                                                 const X509 *oldWithNew);
 | 
			
		||||
int OSSL_CMP_ITAV_get0_rootCaKeyUpdate(const OSSL_CMP_ITAV *itav,
 | 
			
		||||
                                       X509 **newWithNew,
 | 
			
		||||
                                       X509 **newWithOld,
 | 
			
		||||
                                       X509 **oldWithNew);
 | 
			
		||||
 | 
			
		||||
void OSSL_CMP_MSG_free(OSSL_CMP_MSG *msg);
 | 
			
		||||
 | 
			
		||||
/* from cmp_ctx.c */
 | 
			
		||||
OSSL_CMP_CTX *OSSL_CMP_CTX_new(OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
void OSSL_CMP_CTX_free(OSSL_CMP_CTX *ctx);
 | 
			
		||||
int OSSL_CMP_CTX_reinit(OSSL_CMP_CTX *ctx);
 | 
			
		||||
OSSL_LIB_CTX *OSSL_CMP_CTX_get0_libctx(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
const char *OSSL_CMP_CTX_get0_propq(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
/* CMP general options: */
 | 
			
		||||
#  define OSSL_CMP_OPT_LOG_VERBOSITY 0
 | 
			
		||||
/* CMP transfer options: */
 | 
			
		||||
#  define OSSL_CMP_OPT_KEEP_ALIVE 10
 | 
			
		||||
#  define OSSL_CMP_OPT_MSG_TIMEOUT 11
 | 
			
		||||
#  define OSSL_CMP_OPT_KEEP_ALIVE    10
 | 
			
		||||
#  define OSSL_CMP_OPT_MSG_TIMEOUT   11
 | 
			
		||||
#  define OSSL_CMP_OPT_TOTAL_TIMEOUT 12
 | 
			
		||||
#  define OSSL_CMP_OPT_USE_TLS       13
 | 
			
		||||
/* CMP request options: */
 | 
			
		||||
#  define OSSL_CMP_OPT_VALIDITY_DAYS 20
 | 
			
		||||
#  define OSSL_CMP_OPT_SUBJECTALTNAME_NODEFAULT 21
 | 
			
		||||
@@ -301,9 +319,11 @@ int OSSL_CMP_CTX_set1_server(OSSL_CMP_CTX *ctx, const char *address);
 | 
			
		||||
int OSSL_CMP_CTX_set_serverPort(OSSL_CMP_CTX *ctx, int port);
 | 
			
		||||
int OSSL_CMP_CTX_set1_proxy(OSSL_CMP_CTX *ctx, const char *name);
 | 
			
		||||
int OSSL_CMP_CTX_set1_no_proxy(OSSL_CMP_CTX *ctx, const char *names);
 | 
			
		||||
#   ifndef OPENSSL_NO_HTTP
 | 
			
		||||
int OSSL_CMP_CTX_set_http_cb(OSSL_CMP_CTX *ctx, OSSL_HTTP_bio_cb_t cb);
 | 
			
		||||
int OSSL_CMP_CTX_set_http_cb_arg(OSSL_CMP_CTX *ctx, void *arg);
 | 
			
		||||
void *OSSL_CMP_CTX_get_http_cb_arg(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
#   endif
 | 
			
		||||
typedef OSSL_CMP_MSG *(*OSSL_CMP_transfer_cb_t) (OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                                 const OSSL_CMP_MSG *req);
 | 
			
		||||
int OSSL_CMP_CTX_set_transfer_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_transfer_cb_t cb);
 | 
			
		||||
@@ -313,7 +333,9 @@ void *OSSL_CMP_CTX_get_transfer_cb_arg(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
int OSSL_CMP_CTX_set1_srvCert(OSSL_CMP_CTX *ctx, X509 *cert);
 | 
			
		||||
int OSSL_CMP_CTX_set1_expected_sender(OSSL_CMP_CTX *ctx, const X509_NAME *name);
 | 
			
		||||
int OSSL_CMP_CTX_set0_trustedStore(OSSL_CMP_CTX *ctx, X509_STORE *store);
 | 
			
		||||
#  define OSSL_CMP_CTX_set0_trusted OSSL_CMP_CTX_set0_trustedStore
 | 
			
		||||
X509_STORE *OSSL_CMP_CTX_get0_trustedStore(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
#  define OSSL_CMP_CTX_get0_trusted OSSL_CMP_CTX_get0_trustedStore
 | 
			
		||||
int OSSL_CMP_CTX_set1_untrusted(OSSL_CMP_CTX *ctx, STACK_OF(X509) *certs);
 | 
			
		||||
STACK_OF(X509) *OSSL_CMP_CTX_get0_untrusted(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
/* client authentication: */
 | 
			
		||||
@@ -335,6 +357,7 @@ int OSSL_CMP_CTX_set1_extraCertsOut(OSSL_CMP_CTX *ctx,
 | 
			
		||||
int OSSL_CMP_CTX_set0_newPkey(OSSL_CMP_CTX *ctx, int priv, EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *OSSL_CMP_CTX_get0_newPkey(const OSSL_CMP_CTX *ctx, int priv);
 | 
			
		||||
int OSSL_CMP_CTX_set1_issuer(OSSL_CMP_CTX *ctx, const X509_NAME *name);
 | 
			
		||||
int OSSL_CMP_CTX_set1_serialNumber(OSSL_CMP_CTX *ctx, const ASN1_INTEGER *sn);
 | 
			
		||||
int OSSL_CMP_CTX_set1_subjectName(OSSL_CMP_CTX *ctx, const X509_NAME *name);
 | 
			
		||||
int OSSL_CMP_CTX_push1_subjectAltName(OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                      const GENERAL_NAME *name);
 | 
			
		||||
@@ -358,6 +381,7 @@ int OSSL_CMP_CTX_get_status(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
OSSL_CMP_PKIFREETEXT *OSSL_CMP_CTX_get0_statusString(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
int OSSL_CMP_CTX_get_failInfoCode(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
#  define OSSL_CMP_PKISI_BUFLEN 1024
 | 
			
		||||
X509 *OSSL_CMP_CTX_get0_validatedSrvCert(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
X509 *OSSL_CMP_CTX_get0_newCert(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *OSSL_CMP_CTX_get1_newChain(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *OSSL_CMP_CTX_get1_caPubs(const OSSL_CMP_CTX *ctx);
 | 
			
		||||
@@ -398,8 +422,10 @@ int OSSL_CMP_validate_cert_path(const OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                X509_STORE *trusted_store, X509 *cert);
 | 
			
		||||
 | 
			
		||||
/* from cmp_http.c */
 | 
			
		||||
#   ifndef OPENSSL_NO_HTTP
 | 
			
		||||
OSSL_CMP_MSG *OSSL_CMP_MSG_http_perform(OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                        const OSSL_CMP_MSG *req);
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
/* from cmp_server.c */
 | 
			
		||||
typedef struct ossl_cmp_srv_ctx_st OSSL_CMP_SRV_CTX;
 | 
			
		||||
@@ -471,6 +497,12 @@ int OSSL_CMP_try_certreq(OSSL_CMP_CTX *ctx, int req_type,
 | 
			
		||||
int OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx);
 | 
			
		||||
STACK_OF(OSSL_CMP_ITAV) *OSSL_CMP_exec_GENM_ses(OSSL_CMP_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
/* from cmp_genm.c */
 | 
			
		||||
int OSSL_CMP_get1_caCerts(OSSL_CMP_CTX *ctx, STACK_OF(X509) **out);
 | 
			
		||||
int OSSL_CMP_get1_rootCaKeyUpdate(OSSL_CMP_CTX *ctx,
 | 
			
		||||
                                  const X509 *oldWithOld, X509 **newWithNew,
 | 
			
		||||
                                  X509 **newWithOld, X509 **oldWithNew);
 | 
			
		||||
 | 
			
		||||
#  ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#  endif
 | 
			
		||||
 
 | 
			
		||||
@@ -59,8 +59,11 @@
 | 
			
		||||
#  define CMP_R_FAILED_EXTRACTING_PUBKEY                   141
 | 
			
		||||
#  define CMP_R_FAILURE_OBTAINING_RANDOM                   110
 | 
			
		||||
#  define CMP_R_FAIL_INFO_OUT_OF_RANGE                     129
 | 
			
		||||
#  define CMP_R_GETTING_GENP                               192
 | 
			
		||||
#  define CMP_R_INVALID_ARGS                               100
 | 
			
		||||
#  define CMP_R_INVALID_GENP                               193
 | 
			
		||||
#  define CMP_R_INVALID_OPTION                             174
 | 
			
		||||
#  define CMP_R_INVALID_ROOTCAKEYUPDATE                    195
 | 
			
		||||
#  define CMP_R_MISSING_CERTID                             165
 | 
			
		||||
#  define CMP_R_MISSING_KEY_INPUT_FOR_CREATING_PROTECTION  130
 | 
			
		||||
#  define CMP_R_MISSING_KEY_USAGE_DIGITALSIGNATURE         142
 | 
			
		||||
@@ -94,6 +97,7 @@
 | 
			
		||||
#  define CMP_R_TOTAL_TIMEOUT                              184
 | 
			
		||||
#  define CMP_R_TRANSACTIONID_UNMATCHED                    152
 | 
			
		||||
#  define CMP_R_TRANSFER_ERROR                             159
 | 
			
		||||
#  define CMP_R_UNCLEAN_CTX                                191
 | 
			
		||||
#  define CMP_R_UNEXPECTED_PKIBODY                         133
 | 
			
		||||
#  define CMP_R_UNEXPECTED_PKISTATUS                       185
 | 
			
		||||
#  define CMP_R_UNEXPECTED_PVNO                            153
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/cms.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 2008-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2008-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -31,8 +31,10 @@
 | 
			
		||||
extern "C" {
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
typedef struct CMS_EnvelopedData_st CMS_EnvelopedData;
 | 
			
		||||
typedef struct CMS_ContentInfo_st CMS_ContentInfo;
 | 
			
		||||
typedef struct CMS_SignerInfo_st CMS_SignerInfo;
 | 
			
		||||
typedef struct CMS_SignedData_st CMS_SignedData;
 | 
			
		||||
typedef struct CMS_CertificateChoices CMS_CertificateChoices;
 | 
			
		||||
typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice;
 | 
			
		||||
typedef struct CMS_RecipientInfo_st CMS_RecipientInfo;
 | 
			
		||||
@@ -147,6 +149,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(CMS_RevocationInfoChoice, CMS_RevocationInfoChoice,
 | 
			
		||||
#define sk_CMS_RevocationInfoChoice_set_cmp_func(sk, cmp) ((sk_CMS_RevocationInfoChoice_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_compfunc_type(cmp)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_ITEM(CMS_EnvelopedData)
 | 
			
		||||
DECLARE_ASN1_ALLOC_FUNCTIONS(CMS_SignedData)
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo)
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest)
 | 
			
		||||
DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo)
 | 
			
		||||
@@ -217,13 +221,16 @@ int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags);
 | 
			
		||||
 | 
			
		||||
int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont,
 | 
			
		||||
              unsigned int flags);
 | 
			
		||||
int CMS_final_digest(CMS_ContentInfo *cms,
 | 
			
		||||
                     const unsigned char *md, unsigned int mdlen, BIO *dcont,
 | 
			
		||||
                     unsigned int flags);
 | 
			
		||||
 | 
			
		||||
CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey,
 | 
			
		||||
                          STACK_OF(X509) *certs, BIO *data,
 | 
			
		||||
                          unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_sign_ex(X509 *signcert, EVP_PKEY *pkey,
 | 
			
		||||
                             STACK_OF(X509) *certs, BIO *data,
 | 
			
		||||
                             unsigned int flags, OSSL_LIB_CTX *ctx,
 | 
			
		||||
                             unsigned int flags, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                             const char *propq);
 | 
			
		||||
 | 
			
		||||
CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si,
 | 
			
		||||
@@ -233,27 +240,26 @@ CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si,
 | 
			
		||||
int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_data_create_ex(BIO *in, unsigned int flags,
 | 
			
		||||
                                    OSSL_LIB_CTX *ctx, const char *propq);
 | 
			
		||||
                                    OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out,
 | 
			
		||||
                      unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md,
 | 
			
		||||
                                   unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_digest_create_ex(BIO *in, const EVP_MD *md,
 | 
			
		||||
                                      unsigned int flags, OSSL_LIB_CTX *ctx,
 | 
			
		||||
                                      unsigned int flags, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                      const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms,
 | 
			
		||||
                              const unsigned char *key, size_t keylen,
 | 
			
		||||
                              BIO *dcont, BIO *out, unsigned int flags);
 | 
			
		||||
 | 
			
		||||
CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher,
 | 
			
		||||
                                           const unsigned char *key,
 | 
			
		||||
                                           size_t keylen, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_EncryptedData_encrypt_ex(BIO *in, const EVP_CIPHER *cipher,
 | 
			
		||||
                                              const unsigned char *key,
 | 
			
		||||
                                              size_t keylen, unsigned int flags,
 | 
			
		||||
                                              OSSL_LIB_CTX *ctx,
 | 
			
		||||
                                              OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                              const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph,
 | 
			
		||||
@@ -272,7 +278,7 @@ CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in,
 | 
			
		||||
                             const EVP_CIPHER *cipher, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_encrypt_ex(STACK_OF(X509) *certs, BIO *in,
 | 
			
		||||
                                const EVP_CIPHER *cipher, unsigned int flags,
 | 
			
		||||
                                OSSL_LIB_CTX *ctx, const char *propq);
 | 
			
		||||
                                OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert,
 | 
			
		||||
                BIO *dcont, BIO *out, unsigned int flags);
 | 
			
		||||
@@ -291,12 +297,16 @@ int CMS_RecipientInfo_type(CMS_RecipientInfo *ri);
 | 
			
		||||
EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri);
 | 
			
		||||
CMS_ContentInfo *CMS_AuthEnvelopedData_create(const EVP_CIPHER *cipher);
 | 
			
		||||
CMS_ContentInfo *
 | 
			
		||||
CMS_AuthEnvelopedData_create_ex(const EVP_CIPHER *cipher, OSSL_LIB_CTX *ctx,
 | 
			
		||||
CMS_AuthEnvelopedData_create_ex(const EVP_CIPHER *cipher, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                const char *propq);
 | 
			
		||||
CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher);
 | 
			
		||||
CMS_ContentInfo *CMS_EnvelopedData_create_ex(const EVP_CIPHER *cipher,
 | 
			
		||||
                                             OSSL_LIB_CTX *ctx,
 | 
			
		||||
                                             OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                             const char *propq);
 | 
			
		||||
BIO *CMS_EnvelopedData_decrypt(CMS_EnvelopedData *env, BIO *detached_data,
 | 
			
		||||
                               EVP_PKEY *pkey, X509 *cert,
 | 
			
		||||
                               ASN1_OCTET_STRING *secret, unsigned int flags,
 | 
			
		||||
                               OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms,
 | 
			
		||||
                                           X509 *recip, unsigned int flags);
 | 
			
		||||
@@ -385,6 +395,11 @@ ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si);
 | 
			
		||||
int CMS_SignerInfo_sign(CMS_SignerInfo *si);
 | 
			
		||||
int CMS_SignerInfo_verify(CMS_SignerInfo *si);
 | 
			
		||||
int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain);
 | 
			
		||||
BIO *CMS_SignedData_verify(CMS_SignedData *sd, BIO *detached_data,
 | 
			
		||||
                           STACK_OF(X509) *scerts, X509_STORE *store,
 | 
			
		||||
                           STACK_OF(X509) *extra, STACK_OF(X509_CRL) *crls,
 | 
			
		||||
                           unsigned int flags,
 | 
			
		||||
                           OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs);
 | 
			
		||||
int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs,
 | 
			
		||||
@@ -441,7 +456,7 @@ CMS_ReceiptRequest *CMS_ReceiptRequest_create0_ex(
 | 
			
		||||
    unsigned char *id, int idlen, int allorfirst,
 | 
			
		||||
    STACK_OF(GENERAL_NAMES) *receiptList,
 | 
			
		||||
    STACK_OF(GENERAL_NAMES) *receiptsTo,
 | 
			
		||||
    OSSL_LIB_CTX *ctx);
 | 
			
		||||
    OSSL_LIB_CTX *libctx);
 | 
			
		||||
 | 
			
		||||
int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr);
 | 
			
		||||
void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 2008-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2008-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -32,8 +32,10 @@ use OpenSSL::stackhash qw(generate_stack_macros);
 | 
			
		||||
extern "C" {
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
typedef struct CMS_EnvelopedData_st CMS_EnvelopedData;
 | 
			
		||||
typedef struct CMS_ContentInfo_st CMS_ContentInfo;
 | 
			
		||||
typedef struct CMS_SignerInfo_st CMS_SignerInfo;
 | 
			
		||||
typedef struct CMS_SignedData_st CMS_SignedData;
 | 
			
		||||
typedef struct CMS_CertificateChoices CMS_CertificateChoices;
 | 
			
		||||
typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice;
 | 
			
		||||
typedef struct CMS_RecipientInfo_st CMS_RecipientInfo;
 | 
			
		||||
@@ -49,6 +51,8 @@ typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute;
 | 
			
		||||
    .generate_stack_macros("CMS_RevocationInfoChoice");
 | 
			
		||||
-}
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_ITEM(CMS_EnvelopedData)
 | 
			
		||||
DECLARE_ASN1_ALLOC_FUNCTIONS(CMS_SignedData)
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo)
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest)
 | 
			
		||||
DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo)
 | 
			
		||||
@@ -119,13 +123,16 @@ int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags);
 | 
			
		||||
 | 
			
		||||
int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont,
 | 
			
		||||
              unsigned int flags);
 | 
			
		||||
int CMS_final_digest(CMS_ContentInfo *cms,
 | 
			
		||||
                     const unsigned char *md, unsigned int mdlen, BIO *dcont,
 | 
			
		||||
                     unsigned int flags);
 | 
			
		||||
 | 
			
		||||
CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey,
 | 
			
		||||
                          STACK_OF(X509) *certs, BIO *data,
 | 
			
		||||
                          unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_sign_ex(X509 *signcert, EVP_PKEY *pkey,
 | 
			
		||||
                             STACK_OF(X509) *certs, BIO *data,
 | 
			
		||||
                             unsigned int flags, OSSL_LIB_CTX *ctx,
 | 
			
		||||
                             unsigned int flags, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                             const char *propq);
 | 
			
		||||
 | 
			
		||||
CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si,
 | 
			
		||||
@@ -135,27 +142,26 @@ CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si,
 | 
			
		||||
int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_data_create_ex(BIO *in, unsigned int flags,
 | 
			
		||||
                                    OSSL_LIB_CTX *ctx, const char *propq);
 | 
			
		||||
                                    OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out,
 | 
			
		||||
                      unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md,
 | 
			
		||||
                                   unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_digest_create_ex(BIO *in, const EVP_MD *md,
 | 
			
		||||
                                      unsigned int flags, OSSL_LIB_CTX *ctx,
 | 
			
		||||
                                      unsigned int flags, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                      const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms,
 | 
			
		||||
                              const unsigned char *key, size_t keylen,
 | 
			
		||||
                              BIO *dcont, BIO *out, unsigned int flags);
 | 
			
		||||
 | 
			
		||||
CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher,
 | 
			
		||||
                                           const unsigned char *key,
 | 
			
		||||
                                           size_t keylen, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_EncryptedData_encrypt_ex(BIO *in, const EVP_CIPHER *cipher,
 | 
			
		||||
                                              const unsigned char *key,
 | 
			
		||||
                                              size_t keylen, unsigned int flags,
 | 
			
		||||
                                              OSSL_LIB_CTX *ctx,
 | 
			
		||||
                                              OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                              const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph,
 | 
			
		||||
@@ -174,7 +180,7 @@ CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in,
 | 
			
		||||
                             const EVP_CIPHER *cipher, unsigned int flags);
 | 
			
		||||
CMS_ContentInfo *CMS_encrypt_ex(STACK_OF(X509) *certs, BIO *in,
 | 
			
		||||
                                const EVP_CIPHER *cipher, unsigned int flags,
 | 
			
		||||
                                OSSL_LIB_CTX *ctx, const char *propq);
 | 
			
		||||
                                OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert,
 | 
			
		||||
                BIO *dcont, BIO *out, unsigned int flags);
 | 
			
		||||
@@ -193,12 +199,16 @@ int CMS_RecipientInfo_type(CMS_RecipientInfo *ri);
 | 
			
		||||
EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri);
 | 
			
		||||
CMS_ContentInfo *CMS_AuthEnvelopedData_create(const EVP_CIPHER *cipher);
 | 
			
		||||
CMS_ContentInfo *
 | 
			
		||||
CMS_AuthEnvelopedData_create_ex(const EVP_CIPHER *cipher, OSSL_LIB_CTX *ctx,
 | 
			
		||||
CMS_AuthEnvelopedData_create_ex(const EVP_CIPHER *cipher, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                const char *propq);
 | 
			
		||||
CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher);
 | 
			
		||||
CMS_ContentInfo *CMS_EnvelopedData_create_ex(const EVP_CIPHER *cipher,
 | 
			
		||||
                                             OSSL_LIB_CTX *ctx,
 | 
			
		||||
                                             OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                             const char *propq);
 | 
			
		||||
BIO *CMS_EnvelopedData_decrypt(CMS_EnvelopedData *env, BIO *detached_data,
 | 
			
		||||
                               EVP_PKEY *pkey, X509 *cert,
 | 
			
		||||
                               ASN1_OCTET_STRING *secret, unsigned int flags,
 | 
			
		||||
                               OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms,
 | 
			
		||||
                                           X509 *recip, unsigned int flags);
 | 
			
		||||
@@ -287,6 +297,11 @@ ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si);
 | 
			
		||||
int CMS_SignerInfo_sign(CMS_SignerInfo *si);
 | 
			
		||||
int CMS_SignerInfo_verify(CMS_SignerInfo *si);
 | 
			
		||||
int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain);
 | 
			
		||||
BIO *CMS_SignedData_verify(CMS_SignedData *sd, BIO *detached_data,
 | 
			
		||||
                           STACK_OF(X509) *scerts, X509_STORE *store,
 | 
			
		||||
                           STACK_OF(X509) *extra, STACK_OF(X509_CRL) *crls,
 | 
			
		||||
                           unsigned int flags,
 | 
			
		||||
                           OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs);
 | 
			
		||||
int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs,
 | 
			
		||||
@@ -343,7 +358,7 @@ CMS_ReceiptRequest *CMS_ReceiptRequest_create0_ex(
 | 
			
		||||
    unsigned char *id, int idlen, int allorfirst,
 | 
			
		||||
    STACK_OF(GENERAL_NAMES) *receiptList,
 | 
			
		||||
    STACK_OF(GENERAL_NAMES) *receiptsTo,
 | 
			
		||||
    OSSL_LIB_CTX *ctx);
 | 
			
		||||
    OSSL_LIB_CTX *libctx);
 | 
			
		||||
 | 
			
		||||
int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr);
 | 
			
		||||
void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr,
 | 
			
		||||
 
 | 
			
		||||
@@ -86,6 +86,7 @@
 | 
			
		||||
#  define CMS_R_NO_PUBLIC_KEY                              134
 | 
			
		||||
#  define CMS_R_NO_RECEIPT_REQUEST                         168
 | 
			
		||||
#  define CMS_R_NO_SIGNERS                                 135
 | 
			
		||||
#  define CMS_R_OPERATION_UNSUPPORTED                      182
 | 
			
		||||
#  define CMS_R_PEER_KEY_ERROR                             188
 | 
			
		||||
#  define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE     136
 | 
			
		||||
#  define CMS_R_RECEIPT_DECODE_ERROR                       169
 | 
			
		||||
 
 | 
			
		||||
@@ -40,15 +40,20 @@ int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
 | 
			
		||||
                      unsigned char *in, int ilen);
 | 
			
		||||
 | 
			
		||||
COMP_METHOD *COMP_zlib(void);
 | 
			
		||||
COMP_METHOD *COMP_zlib_oneshot(void);
 | 
			
		||||
COMP_METHOD *COMP_brotli(void);
 | 
			
		||||
COMP_METHOD *COMP_brotli_oneshot(void);
 | 
			
		||||
COMP_METHOD *COMP_zstd(void);
 | 
			
		||||
COMP_METHOD *COMP_zstd_oneshot(void);
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_DEPRECATED_1_1_0
 | 
			
		||||
# define COMP_zlib_cleanup() while(0) continue
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
# ifdef OPENSSL_BIO_H
 | 
			
		||||
#  ifdef ZLIB
 | 
			
		||||
const BIO_METHOD *BIO_f_zlib(void);
 | 
			
		||||
#  endif
 | 
			
		||||
const BIO_METHOD *BIO_f_brotli(void);
 | 
			
		||||
const BIO_METHOD *BIO_f_zstd(void);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -23,9 +23,16 @@
 | 
			
		||||
/*
 | 
			
		||||
 * COMP reason codes.
 | 
			
		||||
 */
 | 
			
		||||
#  define COMP_R_BROTLI_DECODE_ERROR                       102
 | 
			
		||||
#  define COMP_R_BROTLI_ENCODE_ERROR                       103
 | 
			
		||||
#  define COMP_R_BROTLI_NOT_SUPPORTED                      104
 | 
			
		||||
#  define COMP_R_ZLIB_DEFLATE_ERROR                        99
 | 
			
		||||
#  define COMP_R_ZLIB_INFLATE_ERROR                        100
 | 
			
		||||
#  define COMP_R_ZLIB_NOT_SUPPORTED                        101
 | 
			
		||||
#  define COMP_R_ZSTD_COMPRESS_ERROR                       105
 | 
			
		||||
#  define COMP_R_ZSTD_DECODE_ERROR                         106
 | 
			
		||||
#  define COMP_R_ZSTD_DECOMPRESS_ERROR                     107
 | 
			
		||||
#  define COMP_R_ZSTD_NOT_SUPPORTED                        108
 | 
			
		||||
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/conf.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ extern "C" {
 | 
			
		||||
 * OpenSSL was configured with the following options:
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
# define OPENSSL_CONFIGURED_API 30100
 | 
			
		||||
# define OPENSSL_CONFIGURED_API 30200
 | 
			
		||||
# ifndef OPENSSL_RAND_SEED_OS
 | 
			
		||||
#  define OPENSSL_RAND_SEED_OS
 | 
			
		||||
# endif
 | 
			
		||||
@@ -46,6 +46,12 @@ extern "C" {
 | 
			
		||||
# ifndef OPENSSL_NO_ASYNC
 | 
			
		||||
#  define OPENSSL_NO_ASYNC
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_BROTLI
 | 
			
		||||
#  define OPENSSL_NO_BROTLI
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_BROTLI_DYNAMIC
 | 
			
		||||
#  define OPENSSL_NO_BROTLI_DYNAMIC
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_CAPIENG
 | 
			
		||||
#  define OPENSSL_NO_CAPIENG
 | 
			
		||||
# endif
 | 
			
		||||
@@ -58,6 +64,9 @@ extern "C" {
 | 
			
		||||
# ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
 | 
			
		||||
#  define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_DEFAULT_THREAD_POOL
 | 
			
		||||
#  define OPENSSL_NO_DEFAULT_THREAD_POOL
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_DEVCRYPTOENG
 | 
			
		||||
#  define OPENSSL_NO_DEVCRYPTOENG
 | 
			
		||||
# endif
 | 
			
		||||
@@ -127,6 +136,9 @@ extern "C" {
 | 
			
		||||
# ifndef OPENSSL_NO_PSK
 | 
			
		||||
#  define OPENSSL_NO_PSK
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_QUIC
 | 
			
		||||
#  define OPENSSL_NO_QUIC
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_RC5
 | 
			
		||||
#  define OPENSSL_NO_RC5
 | 
			
		||||
# endif
 | 
			
		||||
@@ -145,6 +157,12 @@ extern "C" {
 | 
			
		||||
# ifndef OPENSSL_NO_TESTS
 | 
			
		||||
#  define OPENSSL_NO_TESTS
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_TFO
 | 
			
		||||
#  define OPENSSL_NO_TFO
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_THREAD_POOL
 | 
			
		||||
#  define OPENSSL_NO_THREAD_POOL
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_TRACE
 | 
			
		||||
#  define OPENSSL_NO_TRACE
 | 
			
		||||
# endif
 | 
			
		||||
@@ -160,6 +178,21 @@ extern "C" {
 | 
			
		||||
# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
 | 
			
		||||
#  define OPENSSL_NO_WEAK_SSL_CIPHERS
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_WINSTORE
 | 
			
		||||
#  define OPENSSL_NO_WINSTORE
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_ZLIB
 | 
			
		||||
#  define OPENSSL_NO_ZLIB
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_ZLIB_DYNAMIC
 | 
			
		||||
#  define OPENSSL_NO_ZLIB_DYNAMIC
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_ZSTD
 | 
			
		||||
#  define OPENSSL_NO_ZSTD
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_ZSTD_DYNAMIC
 | 
			
		||||
#  define OPENSSL_NO_ZSTD_DYNAMIC
 | 
			
		||||
# endif
 | 
			
		||||
# ifndef OPENSSL_NO_DYNAMIC_ENGINE
 | 
			
		||||
#  define OPENSSL_NO_DYNAMIC_ENGINE
 | 
			
		||||
# endif
 | 
			
		||||
@@ -181,6 +214,12 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
# define RC4_INT unsigned char
 | 
			
		||||
 | 
			
		||||
# if defined(OPENSSL_NO_COMP) || (defined(OPENSSL_NO_BROTLI) && defined(OPENSSL_NO_ZSTD) && defined(OPENSSL_NO_ZLIB))
 | 
			
		||||
#  define OPENSSL_NO_COMP_ALG
 | 
			
		||||
# else
 | 
			
		||||
#  undef  OPENSSL_NO_COMP_ALG
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,12 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
# define RC4_INT {- $config{rc4_int} -}
 | 
			
		||||
 | 
			
		||||
# if defined(OPENSSL_NO_COMP) || (defined(OPENSSL_NO_BROTLI) && defined(OPENSSL_NO_ZSTD) && defined(OPENSSL_NO_ZLIB))
 | 
			
		||||
#  define OPENSSL_NO_COMP_ALG
 | 
			
		||||
# else
 | 
			
		||||
#  undef  OPENSSL_NO_COMP_ALG
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -42,6 +42,9 @@ struct ossl_dispatch_st {
 | 
			
		||||
    void (*function)(void);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
# define OSSL_DISPATCH_END \
 | 
			
		||||
    { 0, NULL }
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Other items, essentially an int<->pointer map element.
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
@@ -661,6 +661,14 @@ OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keymgmt_export_types,
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(void *, keymgmt_dup,
 | 
			
		||||
                    (const void *keydata_from, int selection))
 | 
			
		||||
 | 
			
		||||
/* Extended import and export functions */
 | 
			
		||||
# define OSSL_FUNC_KEYMGMT_IMPORT_TYPES_EX            45
 | 
			
		||||
# define OSSL_FUNC_KEYMGMT_EXPORT_TYPES_EX            46
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keymgmt_import_types_ex,
 | 
			
		||||
                    (void *provctx, int selection))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keymgmt_export_types_ex,
 | 
			
		||||
                    (void *provctx, int selection))
 | 
			
		||||
 | 
			
		||||
/* Key Exchange */
 | 
			
		||||
 | 
			
		||||
# define OSSL_FUNC_KEYEXCH_NEWCTX                      1
 | 
			
		||||
@@ -832,16 +840,24 @@ OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, asym_cipher_settable_ctx_params,
 | 
			
		||||
# define OSSL_FUNC_KEM_GETTABLE_CTX_PARAMS     9
 | 
			
		||||
# define OSSL_FUNC_KEM_SET_CTX_PARAMS         10
 | 
			
		||||
# define OSSL_FUNC_KEM_SETTABLE_CTX_PARAMS    11
 | 
			
		||||
# define OSSL_FUNC_KEM_AUTH_ENCAPSULATE_INIT  12
 | 
			
		||||
# define OSSL_FUNC_KEM_AUTH_DECAPSULATE_INIT  13
 | 
			
		||||
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(void *, kem_newctx, (void *provctx))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, kem_encapsulate_init, (void *ctx, void *provkey,
 | 
			
		||||
                                                const OSSL_PARAM params[]))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, kem_auth_encapsulate_init, (void *ctx, void *provkey,
 | 
			
		||||
                                                     void *authprivkey,
 | 
			
		||||
                                                     const OSSL_PARAM params[]))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, kem_encapsulate, (void *ctx,
 | 
			
		||||
                                           unsigned char *out, size_t *outlen,
 | 
			
		||||
                                           unsigned char *secret,
 | 
			
		||||
                                           size_t *secretlen))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, kem_decapsulate_init, (void *ctx, void *provkey,
 | 
			
		||||
                                                const OSSL_PARAM params[]))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, kem_auth_decapsulate_init, (void *ctx, void *provkey,
 | 
			
		||||
                                                     void *authpubkey,
 | 
			
		||||
                                                     const OSSL_PARAM params[]))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, kem_decapsulate, (void *ctx,
 | 
			
		||||
                                           unsigned char *out, size_t *outlen,
 | 
			
		||||
                                           const unsigned char *in, size_t inlen))
 | 
			
		||||
@@ -937,6 +953,8 @@ OSSL_CORE_MAKE_FUNC(int, decoder_export_object,
 | 
			
		||||
#define OSSL_FUNC_STORE_EOF                         6
 | 
			
		||||
#define OSSL_FUNC_STORE_CLOSE                       7
 | 
			
		||||
#define OSSL_FUNC_STORE_EXPORT_OBJECT               8
 | 
			
		||||
#define OSSL_FUNC_STORE_DELETE                      9
 | 
			
		||||
#define OSSL_FUNC_STORE_OPEN_EX                     10
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(void *, store_open, (void *provctx, const char *uri))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(void *, store_attach, (void *provctx, OSSL_CORE_BIO *in))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, store_settable_ctx_params,
 | 
			
		||||
@@ -952,6 +970,12 @@ OSSL_CORE_MAKE_FUNC(int, store_close, (void *loaderctx))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, store_export_object,
 | 
			
		||||
                    (void *loaderctx, const void *objref, size_t objref_sz,
 | 
			
		||||
                     OSSL_CALLBACK *export_cb, void *export_cbarg))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(int, store_delete,
 | 
			
		||||
                    (void *provctx, const char *uri, const OSSL_PARAM params[],
 | 
			
		||||
                     OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg))
 | 
			
		||||
OSSL_CORE_MAKE_FUNC(void *, store_open_ex,
 | 
			
		||||
                    (void *provctx, const char *uri, const OSSL_PARAM params[],
 | 
			
		||||
                     OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg))
 | 
			
		||||
 | 
			
		||||
# ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/core_names.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -7,6 +10,7 @@
 | 
			
		||||
 * https://www.openssl.org/source/license.html
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_CORE_NAMES_H
 | 
			
		||||
# define OPENSSL_CORE_NAMES_H
 | 
			
		||||
# pragma once
 | 
			
		||||
@@ -15,544 +19,454 @@
 | 
			
		||||
extern "C" {
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/* Well known parameter names that core passes to providers */
 | 
			
		||||
#define OSSL_PROV_PARAM_CORE_VERSION         "openssl-version" /* utf8_ptr */
 | 
			
		||||
#define OSSL_PROV_PARAM_CORE_PROV_NAME       "provider-name"   /* utf8_ptr */
 | 
			
		||||
#define OSSL_PROV_PARAM_CORE_MODULE_FILENAME "module-filename" /* utf8_ptr */
 | 
			
		||||
 | 
			
		||||
/* Well known parameter names that Providers can define */
 | 
			
		||||
#define OSSL_PROV_PARAM_NAME               "name"                /* utf8_ptr */
 | 
			
		||||
#define OSSL_PROV_PARAM_VERSION            "version"             /* utf8_ptr */
 | 
			
		||||
#define OSSL_PROV_PARAM_BUILDINFO          "buildinfo"           /* utf8_ptr */
 | 
			
		||||
#define OSSL_PROV_PARAM_STATUS             "status"              /* uint */
 | 
			
		||||
#define OSSL_PROV_PARAM_SECURITY_CHECKS    "security-checks"     /* uint */
 | 
			
		||||
#define OSSL_PROV_PARAM_TLS1_PRF_EMS_CHECK "tls1-prf-ems-check"  /* uint */
 | 
			
		||||
#define OSSL_PROV_PARAM_DRBG_TRUNC_DIGEST  "drbg-no-trunc-md"    /* uint */
 | 
			
		||||
 | 
			
		||||
/* Self test callback parameters */
 | 
			
		||||
#define OSSL_PROV_PARAM_SELF_TEST_PHASE  "st-phase" /* utf8_string */
 | 
			
		||||
#define OSSL_PROV_PARAM_SELF_TEST_TYPE   "st-type"  /* utf8_string */
 | 
			
		||||
#define OSSL_PROV_PARAM_SELF_TEST_DESC   "st-desc"  /* utf8_string */
 | 
			
		||||
 | 
			
		||||
/*-
 | 
			
		||||
 * Provider-native object abstractions
 | 
			
		||||
 *
 | 
			
		||||
 * These are used when a provider wants to pass object data or an object
 | 
			
		||||
 * reference back to libcrypto.  This is only useful for provider functions
 | 
			
		||||
 * that take a callback to which an OSSL_PARAM array with these parameters
 | 
			
		||||
 * can be passed.
 | 
			
		||||
 *
 | 
			
		||||
 * This set of parameter names is explained in detail in provider-object(7)
 | 
			
		||||
 * (doc/man7/provider-object.pod)
 | 
			
		||||
 */
 | 
			
		||||
#define OSSL_OBJECT_PARAM_TYPE              "type"      /* INTEGER */
 | 
			
		||||
#define OSSL_OBJECT_PARAM_DATA_TYPE         "data-type" /* UTF8_STRING */
 | 
			
		||||
#define OSSL_OBJECT_PARAM_DATA_STRUCTURE    "data-structure" /* UTF8_STRING */
 | 
			
		||||
#define OSSL_OBJECT_PARAM_REFERENCE         "reference" /* OCTET_STRING */
 | 
			
		||||
#define OSSL_OBJECT_PARAM_DATA              "data" /* OCTET_STRING or UTF8_STRING */
 | 
			
		||||
#define OSSL_OBJECT_PARAM_DESC              "desc"      /* UTF8_STRING */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Algorithm parameters
 | 
			
		||||
 * If "engine" or "properties" are specified, they should always be paired
 | 
			
		||||
 * with the algorithm type.
 | 
			
		||||
 * Note these are common names that are shared by many types (such as kdf, mac,
 | 
			
		||||
 * and pkey) e.g: see OSSL_MAC_PARAM_DIGEST below.
 | 
			
		||||
 */
 | 
			
		||||
#define OSSL_ALG_PARAM_DIGEST       "digest"    /* utf8_string */
 | 
			
		||||
#define OSSL_ALG_PARAM_CIPHER       "cipher"    /* utf8_string */
 | 
			
		||||
#define OSSL_ALG_PARAM_ENGINE       "engine"    /* utf8_string */
 | 
			
		||||
#define OSSL_ALG_PARAM_MAC          "mac"       /* utf8_string */
 | 
			
		||||
#define OSSL_ALG_PARAM_PROPERTIES   "properties"/* utf8_string */
 | 
			
		||||
 | 
			
		||||
/* cipher parameters */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_PADDING              "padding"      /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_USE_BITS             "use-bits"     /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS_VERSION          "tls-version"  /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS_MAC              "tls-mac"      /* octet_ptr */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS_MAC_SIZE         "tls-mac-size" /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_MODE                 "mode"         /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_BLOCK_SIZE           "blocksize"    /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD                 "aead"         /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_CUSTOM_IV            "custom-iv"    /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_CTS                  "cts"          /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK      "tls-multi"    /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_HAS_RAND_KEY         "has-randkey"  /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_KEYLEN               "keylen"       /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_IVLEN                "ivlen"        /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_IV                   "iv"           /* octet_string OR octet_ptr */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_UPDATED_IV           "updated-iv"   /* octet_string OR octet_ptr */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_NUM                  "num"          /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_ROUNDS               "rounds"       /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_TAG             "tag"          /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_TLS1_AAD        "tlsaad"       /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_TLS1_AAD_PAD    "tlsaadpad"    /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_TLS1_IV_FIXED   "tlsivfixed"   /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_TLS1_GET_IV_GEN "tlsivgen"     /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_TLS1_SET_IV_INV "tlsivinv"     /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_IVLEN           OSSL_CIPHER_PARAM_IVLEN
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_TAGLEN          "taglen"       /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_AEAD_MAC_KEY         "mackey"       /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_RANDOM_KEY           "randkey"      /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_RC2_KEYBITS          "keybits"      /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_SPEED                "speed"        /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_CTS_MODE             "cts_mode"     /* utf8_string */
 | 
			
		||||
/* For passing the AlgorithmIdentifier parameter in DER form */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_ALGORITHM_ID_PARAMS  "alg_id_param" /* octet_string */
 | 
			
		||||
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_SEND_FRAGMENT                    \
 | 
			
		||||
    "tls1multi_maxsndfrag" /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_BUFSIZE                          \
 | 
			
		||||
    "tls1multi_maxbufsz"   /* size_t */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_INTERLEAVE                           \
 | 
			
		||||
    "tls1multi_interleave" /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD                                  \
 | 
			
		||||
    "tls1multi_aad"        /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD_PACKLEN                          \
 | 
			
		||||
    "tls1multi_aadpacklen" /* uint */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC                                  \
 | 
			
		||||
    "tls1multi_enc"        /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_IN                               \
 | 
			
		||||
    "tls1multi_encin"      /* octet_string */
 | 
			
		||||
#define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_LEN                              \
 | 
			
		||||
    "tls1multi_enclen"     /* size_t */
 | 
			
		||||
 | 
			
		||||
/* OSSL_CIPHER_PARAM_CTS_MODE Values */
 | 
			
		||||
#define OSSL_CIPHER_CTS_MODE_CS1 "CS1"
 | 
			
		||||
#define OSSL_CIPHER_CTS_MODE_CS2 "CS2"
 | 
			
		||||
#define OSSL_CIPHER_CTS_MODE_CS3 "CS3"
 | 
			
		||||
# define OSSL_CIPHER_CTS_MODE_CS1 "CS1"
 | 
			
		||||
# define OSSL_CIPHER_CTS_MODE_CS2 "CS2"
 | 
			
		||||
# define OSSL_CIPHER_CTS_MODE_CS3 "CS3"
 | 
			
		||||
 | 
			
		||||
/* digest parameters */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_XOFLEN       "xoflen"        /* size_t */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_SSL3_MS      "ssl3-ms"       /* octet string */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_PAD_TYPE     "pad-type"      /* uint */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_MICALG       "micalg"        /* utf8 string */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_BLOCK_SIZE   "blocksize"     /* size_t */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_SIZE         "size"          /* size_t */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_XOF          "xof"           /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_DIGEST_PARAM_ALGID_ABSENT "algid-absent"  /* int, 0 or 1 */
 | 
			
		||||
/* Known CIPHER names (not a complete list) */
 | 
			
		||||
# define OSSL_CIPHER_NAME_AES_128_GCM_SIV      "AES-128-GCM-SIV"
 | 
			
		||||
# define OSSL_CIPHER_NAME_AES_192_GCM_SIV      "AES-192-GCM-SIV"
 | 
			
		||||
# define OSSL_CIPHER_NAME_AES_256_GCM_SIV      "AES-256-GCM-SIV"
 | 
			
		||||
 | 
			
		||||
/* Known DIGEST names (not a complete list) */
 | 
			
		||||
#define OSSL_DIGEST_NAME_MD5            "MD5"
 | 
			
		||||
#define OSSL_DIGEST_NAME_MD5_SHA1       "MD5-SHA1"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA1           "SHA1"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA2_224       "SHA2-224"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA2_256       "SHA2-256"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA2_384       "SHA2-384"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA2_512       "SHA2-512"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA2_512_224   "SHA2-512/224"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA2_512_256   "SHA2-512/256"
 | 
			
		||||
#define OSSL_DIGEST_NAME_MD2            "MD2"
 | 
			
		||||
#define OSSL_DIGEST_NAME_MD4            "MD4"
 | 
			
		||||
#define OSSL_DIGEST_NAME_MDC2           "MDC2"
 | 
			
		||||
#define OSSL_DIGEST_NAME_RIPEMD160      "RIPEMD160"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA3_224       "SHA3-224"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA3_256       "SHA3-256"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA3_384       "SHA3-384"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SHA3_512       "SHA3-512"
 | 
			
		||||
#define OSSL_DIGEST_NAME_KECCAK_KMAC128 "KECCAK-KMAC-128"
 | 
			
		||||
#define OSSL_DIGEST_NAME_KECCAK_KMAC256 "KECCAK-KMAC-256"
 | 
			
		||||
#define OSSL_DIGEST_NAME_SM3            "SM3"
 | 
			
		||||
 | 
			
		||||
/* MAC parameters */
 | 
			
		||||
#define OSSL_MAC_PARAM_KEY            "key"            /* octet string */
 | 
			
		||||
#define OSSL_MAC_PARAM_IV             "iv"             /* octet string */
 | 
			
		||||
#define OSSL_MAC_PARAM_CUSTOM         "custom"         /* utf8 string */
 | 
			
		||||
#define OSSL_MAC_PARAM_SALT           "salt"           /* octet string */
 | 
			
		||||
#define OSSL_MAC_PARAM_XOF            "xof"            /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_MAC_PARAM_DIGEST_NOINIT  "digest-noinit"  /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_MAC_PARAM_DIGEST_ONESHOT "digest-oneshot" /* int, 0 or 1 */
 | 
			
		||||
#define OSSL_MAC_PARAM_C_ROUNDS       "c-rounds"       /* unsigned int */
 | 
			
		||||
#define OSSL_MAC_PARAM_D_ROUNDS       "d-rounds"       /* unsigned int */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * If "engine" or "properties" are specified, they should always be paired
 | 
			
		||||
 * with "cipher" or "digest".
 | 
			
		||||
 */
 | 
			
		||||
#define OSSL_MAC_PARAM_CIPHER           OSSL_ALG_PARAM_CIPHER     /* utf8 string */
 | 
			
		||||
#define OSSL_MAC_PARAM_DIGEST           OSSL_ALG_PARAM_DIGEST     /* utf8 string */
 | 
			
		||||
#define OSSL_MAC_PARAM_PROPERTIES       OSSL_ALG_PARAM_PROPERTIES /* utf8 string */
 | 
			
		||||
#define OSSL_MAC_PARAM_SIZE             "size"                    /* size_t */
 | 
			
		||||
#define OSSL_MAC_PARAM_BLOCK_SIZE       "block-size"              /* size_t */
 | 
			
		||||
#define OSSL_MAC_PARAM_TLS_DATA_SIZE    "tls-data-size"           /* size_t */
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD5            "MD5"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD5_SHA1       "MD5-SHA1"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA1           "SHA1"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_224       "SHA2-224"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_256       "SHA2-256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_256_192   "SHA2-256/192"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_384       "SHA2-384"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_512       "SHA2-512"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_512_224   "SHA2-512/224"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_512_256   "SHA2-512/256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD2            "MD2"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD4            "MD4"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MDC2           "MDC2"
 | 
			
		||||
# define OSSL_DIGEST_NAME_RIPEMD160      "RIPEMD160"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_224       "SHA3-224"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_256       "SHA3-256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_384       "SHA3-384"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_512       "SHA3-512"
 | 
			
		||||
# define OSSL_DIGEST_NAME_KECCAK_KMAC128 "KECCAK-KMAC-128"
 | 
			
		||||
# define OSSL_DIGEST_NAME_KECCAK_KMAC256 "KECCAK-KMAC-256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SM3            "SM3"
 | 
			
		||||
 | 
			
		||||
/* Known MAC names */
 | 
			
		||||
#define OSSL_MAC_NAME_BLAKE2BMAC    "BLAKE2BMAC"
 | 
			
		||||
#define OSSL_MAC_NAME_BLAKE2SMAC    "BLAKE2SMAC"
 | 
			
		||||
#define OSSL_MAC_NAME_CMAC          "CMAC"
 | 
			
		||||
#define OSSL_MAC_NAME_GMAC          "GMAC"
 | 
			
		||||
#define OSSL_MAC_NAME_HMAC          "HMAC"
 | 
			
		||||
#define OSSL_MAC_NAME_KMAC128       "KMAC128"
 | 
			
		||||
#define OSSL_MAC_NAME_KMAC256       "KMAC256"
 | 
			
		||||
#define OSSL_MAC_NAME_POLY1305      "POLY1305"
 | 
			
		||||
#define OSSL_MAC_NAME_SIPHASH       "SIPHASH"
 | 
			
		||||
 | 
			
		||||
/* KDF / PRF parameters */
 | 
			
		||||
#define OSSL_KDF_PARAM_SECRET       "secret"    /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_KEY          "key"       /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_SALT         "salt"      /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_PASSWORD     "pass"      /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_PREFIX       "prefix"    /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_LABEL        "label"     /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_DATA         "data"      /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_DIGEST       OSSL_ALG_PARAM_DIGEST     /* utf8 string */
 | 
			
		||||
#define OSSL_KDF_PARAM_CIPHER       OSSL_ALG_PARAM_CIPHER     /* utf8 string */
 | 
			
		||||
#define OSSL_KDF_PARAM_MAC          OSSL_ALG_PARAM_MAC        /* utf8 string */
 | 
			
		||||
#define OSSL_KDF_PARAM_MAC_SIZE     "maclen"    /* size_t */
 | 
			
		||||
#define OSSL_KDF_PARAM_PROPERTIES   OSSL_ALG_PARAM_PROPERTIES /* utf8 string */
 | 
			
		||||
#define OSSL_KDF_PARAM_ITER         "iter"      /* unsigned int */
 | 
			
		||||
#define OSSL_KDF_PARAM_MODE         "mode"      /* utf8 string or int */
 | 
			
		||||
#define OSSL_KDF_PARAM_PKCS5        "pkcs5"     /* int */
 | 
			
		||||
#define OSSL_KDF_PARAM_UKM          "ukm"       /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_CEK_ALG      "cekalg"    /* utf8 string */
 | 
			
		||||
#define OSSL_KDF_PARAM_SCRYPT_N     "n"         /* uint64_t */
 | 
			
		||||
#define OSSL_KDF_PARAM_SCRYPT_R     "r"         /* uint32_t */
 | 
			
		||||
#define OSSL_KDF_PARAM_SCRYPT_P     "p"         /* uint32_t */
 | 
			
		||||
#define OSSL_KDF_PARAM_SCRYPT_MAXMEM "maxmem_bytes" /* uint64_t */
 | 
			
		||||
#define OSSL_KDF_PARAM_INFO         "info"      /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_SEED         "seed"      /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_SSHKDF_XCGHASH "xcghash" /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_SSHKDF_SESSION_ID "session_id" /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_SSHKDF_TYPE  "type"      /* int */
 | 
			
		||||
#define OSSL_KDF_PARAM_SIZE         "size"      /* size_t */
 | 
			
		||||
#define OSSL_KDF_PARAM_CONSTANT     "constant"  /* octet string */
 | 
			
		||||
#define OSSL_KDF_PARAM_PKCS12_ID    "id"        /* int */
 | 
			
		||||
#define OSSL_KDF_PARAM_KBKDF_USE_L  "use-l"             /* int */
 | 
			
		||||
#define OSSL_KDF_PARAM_KBKDF_USE_SEPARATOR  "use-separator"     /* int */
 | 
			
		||||
#define OSSL_KDF_PARAM_KBKDF_R      "r"         /* int */
 | 
			
		||||
#define OSSL_KDF_PARAM_X942_ACVPINFO        "acvp-info"
 | 
			
		||||
#define OSSL_KDF_PARAM_X942_PARTYUINFO      "partyu-info"
 | 
			
		||||
#define OSSL_KDF_PARAM_X942_PARTYVINFO      "partyv-info"
 | 
			
		||||
#define OSSL_KDF_PARAM_X942_SUPP_PUBINFO    "supp-pubinfo"
 | 
			
		||||
#define OSSL_KDF_PARAM_X942_SUPP_PRIVINFO   "supp-privinfo"
 | 
			
		||||
#define OSSL_KDF_PARAM_X942_USE_KEYBITS     "use-keybits"
 | 
			
		||||
# define OSSL_MAC_NAME_BLAKE2BMAC    "BLAKE2BMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_BLAKE2SMAC    "BLAKE2SMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_CMAC          "CMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_GMAC          "GMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_HMAC          "HMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_KMAC128       "KMAC128"
 | 
			
		||||
# define OSSL_MAC_NAME_KMAC256       "KMAC256"
 | 
			
		||||
# define OSSL_MAC_NAME_POLY1305      "POLY1305"
 | 
			
		||||
# define OSSL_MAC_NAME_SIPHASH       "SIPHASH"
 | 
			
		||||
 | 
			
		||||
/* Known KDF names */
 | 
			
		||||
#define OSSL_KDF_NAME_HKDF           "HKDF"
 | 
			
		||||
#define OSSL_KDF_NAME_TLS1_3_KDF     "TLS13-KDF"
 | 
			
		||||
#define OSSL_KDF_NAME_PBKDF1         "PBKDF1"
 | 
			
		||||
#define OSSL_KDF_NAME_PBKDF2         "PBKDF2"
 | 
			
		||||
#define OSSL_KDF_NAME_SCRYPT         "SCRYPT"
 | 
			
		||||
#define OSSL_KDF_NAME_SSHKDF         "SSHKDF"
 | 
			
		||||
#define OSSL_KDF_NAME_SSKDF          "SSKDF"
 | 
			
		||||
#define OSSL_KDF_NAME_TLS1_PRF       "TLS1-PRF"
 | 
			
		||||
#define OSSL_KDF_NAME_X942KDF_ASN1   "X942KDF-ASN1"
 | 
			
		||||
#define OSSL_KDF_NAME_X942KDF_CONCAT "X942KDF-CONCAT"
 | 
			
		||||
#define OSSL_KDF_NAME_X963KDF        "X963KDF"
 | 
			
		||||
#define OSSL_KDF_NAME_KBKDF          "KBKDF"
 | 
			
		||||
#define OSSL_KDF_NAME_KRB5KDF        "KRB5KDF"
 | 
			
		||||
 | 
			
		||||
/* Known RAND names */
 | 
			
		||||
#define OSSL_RAND_PARAM_STATE                   "state"
 | 
			
		||||
#define OSSL_RAND_PARAM_STRENGTH                "strength"
 | 
			
		||||
#define OSSL_RAND_PARAM_MAX_REQUEST             "max_request"
 | 
			
		||||
#define OSSL_RAND_PARAM_TEST_ENTROPY            "test_entropy"
 | 
			
		||||
#define OSSL_RAND_PARAM_TEST_NONCE              "test_nonce"
 | 
			
		||||
#define OSSL_RAND_PARAM_GENERATE                "generate"
 | 
			
		||||
 | 
			
		||||
/* RAND/DRBG names */
 | 
			
		||||
#define OSSL_DRBG_PARAM_RESEED_REQUESTS         "reseed_requests"
 | 
			
		||||
#define OSSL_DRBG_PARAM_RESEED_TIME_INTERVAL    "reseed_time_interval"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MIN_ENTROPYLEN          "min_entropylen"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MAX_ENTROPYLEN          "max_entropylen"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MIN_NONCELEN            "min_noncelen"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MAX_NONCELEN            "max_noncelen"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MAX_PERSLEN             "max_perslen"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MAX_ADINLEN             "max_adinlen"
 | 
			
		||||
#define OSSL_DRBG_PARAM_RESEED_COUNTER          "reseed_counter"
 | 
			
		||||
#define OSSL_DRBG_PARAM_RESEED_TIME             "reseed_time"
 | 
			
		||||
#define OSSL_DRBG_PARAM_PROPERTIES              OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
#define OSSL_DRBG_PARAM_DIGEST                  OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
#define OSSL_DRBG_PARAM_CIPHER                  OSSL_ALG_PARAM_CIPHER
 | 
			
		||||
#define OSSL_DRBG_PARAM_MAC                     OSSL_ALG_PARAM_MAC
 | 
			
		||||
#define OSSL_DRBG_PARAM_USE_DF                  "use_derivation_function"
 | 
			
		||||
 | 
			
		||||
/* DRBG call back parameters */
 | 
			
		||||
#define OSSL_DRBG_PARAM_ENTROPY_REQUIRED        "entropy_required"
 | 
			
		||||
#define OSSL_DRBG_PARAM_PREDICTION_RESISTANCE   "prediction_resistance"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MIN_LENGTH              "minium_length"
 | 
			
		||||
#define OSSL_DRBG_PARAM_MAX_LENGTH              "maxium_length"
 | 
			
		||||
#define OSSL_DRBG_PARAM_RANDOM_DATA             "random_data"
 | 
			
		||||
#define OSSL_DRBG_PARAM_SIZE                    "size"
 | 
			
		||||
 | 
			
		||||
/* PKEY parameters */
 | 
			
		||||
/* Common PKEY parameters */
 | 
			
		||||
#define OSSL_PKEY_PARAM_BITS                "bits" /* integer */
 | 
			
		||||
#define OSSL_PKEY_PARAM_MAX_SIZE            "max-size" /* integer */
 | 
			
		||||
#define OSSL_PKEY_PARAM_SECURITY_BITS       "security-bits" /* integer */
 | 
			
		||||
#define OSSL_PKEY_PARAM_DIGEST              OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
#define OSSL_PKEY_PARAM_CIPHER              OSSL_ALG_PARAM_CIPHER /* utf8 string */
 | 
			
		||||
#define OSSL_PKEY_PARAM_ENGINE              OSSL_ALG_PARAM_ENGINE /* utf8 string */
 | 
			
		||||
#define OSSL_PKEY_PARAM_PROPERTIES          OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
#define OSSL_PKEY_PARAM_DEFAULT_DIGEST      "default-digest" /* utf8 string */
 | 
			
		||||
#define OSSL_PKEY_PARAM_MANDATORY_DIGEST    "mandatory-digest" /* utf8 string */
 | 
			
		||||
#define OSSL_PKEY_PARAM_PAD_MODE            "pad-mode"
 | 
			
		||||
#define OSSL_PKEY_PARAM_DIGEST_SIZE         "digest-size"
 | 
			
		||||
#define OSSL_PKEY_PARAM_MASKGENFUNC         "mgf"
 | 
			
		||||
#define OSSL_PKEY_PARAM_MGF1_DIGEST         "mgf1-digest"
 | 
			
		||||
#define OSSL_PKEY_PARAM_MGF1_PROPERTIES     "mgf1-properties"
 | 
			
		||||
#define OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY  "encoded-pub-key"
 | 
			
		||||
#define OSSL_PKEY_PARAM_GROUP_NAME          "group"
 | 
			
		||||
#define OSSL_PKEY_PARAM_DIST_ID             "distid"
 | 
			
		||||
#define OSSL_PKEY_PARAM_PUB_KEY             "pub"
 | 
			
		||||
#define OSSL_PKEY_PARAM_PRIV_KEY            "priv"
 | 
			
		||||
 | 
			
		||||
/* Diffie-Hellman/DSA Parameters */
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_P               "p"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_G               "g"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_Q               "q"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_GINDEX          "gindex"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_PCOUNTER        "pcounter"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_SEED            "seed"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_COFACTOR        "j"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_H               "hindex"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_VALIDATE_PQ     "validate-pq"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_VALIDATE_G      "validate-g"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_VALIDATE_LEGACY "validate-legacy"
 | 
			
		||||
 | 
			
		||||
/* Diffie-Hellman params */
 | 
			
		||||
#define OSSL_PKEY_PARAM_DH_GENERATOR        "safeprime-generator"
 | 
			
		||||
#define OSSL_PKEY_PARAM_DH_PRIV_LEN         "priv_len"
 | 
			
		||||
 | 
			
		||||
/* Elliptic Curve Domain Parameters */
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_PUB_X     "qx"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_PUB_Y     "qy"
 | 
			
		||||
 | 
			
		||||
/* Elliptic Curve Explicit Domain Parameters */
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_FIELD_TYPE                   "field-type"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_P                            "p"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_A                            "a"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_B                            "b"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_GENERATOR                    "generator"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_ORDER                        "order"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_COFACTOR                     "cofactor"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_SEED                         "seed"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_CHAR2_M                      "m"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_CHAR2_TYPE                   "basis-type"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_CHAR2_TP_BASIS               "tp"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_CHAR2_PP_K1                  "k1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_CHAR2_PP_K2                  "k2"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_CHAR2_PP_K3                  "k3"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS "decoded-from-explicit"
 | 
			
		||||
 | 
			
		||||
/* Elliptic Curve Key Parameters */
 | 
			
		||||
#define OSSL_PKEY_PARAM_USE_COFACTOR_FLAG "use-cofactor-flag"
 | 
			
		||||
#define OSSL_PKEY_PARAM_USE_COFACTOR_ECDH \
 | 
			
		||||
    OSSL_PKEY_PARAM_USE_COFACTOR_FLAG
 | 
			
		||||
 | 
			
		||||
/* RSA Keys */
 | 
			
		||||
/*
 | 
			
		||||
 * n, e, d are the usual public and private key components
 | 
			
		||||
 *
 | 
			
		||||
 * rsa-num is the number of factors, including p and q
 | 
			
		||||
 * rsa-factor is used for each factor: p, q, r_i (i = 3, ...)
 | 
			
		||||
 * rsa-exponent is used for each exponent: dP, dQ, d_i (i = 3, ...)
 | 
			
		||||
 * rsa-coefficient is used for each coefficient: qInv, t_i (i = 3, ...)
 | 
			
		||||
 *
 | 
			
		||||
 * The number of rsa-factor items must be equal to the number of rsa-exponent
 | 
			
		||||
 * items, and the number of rsa-coefficients must be one less.
 | 
			
		||||
 * (the base i for the coefficients is 2, not 1, at least as implied by
 | 
			
		||||
 * RFC 8017)
 | 
			
		||||
 */
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_N           "n"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_E           "e"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_D           "d"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR      "rsa-factor"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT    "rsa-exponent"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT "rsa-coefficient"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR1      OSSL_PKEY_PARAM_RSA_FACTOR"1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR2      OSSL_PKEY_PARAM_RSA_FACTOR"2"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR3      OSSL_PKEY_PARAM_RSA_FACTOR"3"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR4      OSSL_PKEY_PARAM_RSA_FACTOR"4"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR5      OSSL_PKEY_PARAM_RSA_FACTOR"5"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR6      OSSL_PKEY_PARAM_RSA_FACTOR"6"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR7      OSSL_PKEY_PARAM_RSA_FACTOR"7"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR8      OSSL_PKEY_PARAM_RSA_FACTOR"8"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR9      OSSL_PKEY_PARAM_RSA_FACTOR"9"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_FACTOR10     OSSL_PKEY_PARAM_RSA_FACTOR"10"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT1    OSSL_PKEY_PARAM_RSA_EXPONENT"1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT2    OSSL_PKEY_PARAM_RSA_EXPONENT"2"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT3    OSSL_PKEY_PARAM_RSA_EXPONENT"3"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT4    OSSL_PKEY_PARAM_RSA_EXPONENT"4"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT5    OSSL_PKEY_PARAM_RSA_EXPONENT"5"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT6    OSSL_PKEY_PARAM_RSA_EXPONENT"6"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT7    OSSL_PKEY_PARAM_RSA_EXPONENT"7"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT8    OSSL_PKEY_PARAM_RSA_EXPONENT"8"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT9    OSSL_PKEY_PARAM_RSA_EXPONENT"9"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_EXPONENT10   OSSL_PKEY_PARAM_RSA_EXPONENT"10"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT1 OSSL_PKEY_PARAM_RSA_COEFFICIENT"1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT2 OSSL_PKEY_PARAM_RSA_COEFFICIENT"2"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT3 OSSL_PKEY_PARAM_RSA_COEFFICIENT"3"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT4 OSSL_PKEY_PARAM_RSA_COEFFICIENT"4"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT5 OSSL_PKEY_PARAM_RSA_COEFFICIENT"5"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT6 OSSL_PKEY_PARAM_RSA_COEFFICIENT"6"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT7 OSSL_PKEY_PARAM_RSA_COEFFICIENT"7"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT8 OSSL_PKEY_PARAM_RSA_COEFFICIENT"8"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_COEFFICIENT9 OSSL_PKEY_PARAM_RSA_COEFFICIENT"9"
 | 
			
		||||
# define OSSL_KDF_NAME_HKDF           "HKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_TLS1_3_KDF     "TLS13-KDF"
 | 
			
		||||
# define OSSL_KDF_NAME_PBKDF1         "PBKDF1"
 | 
			
		||||
# define OSSL_KDF_NAME_PBKDF2         "PBKDF2"
 | 
			
		||||
# define OSSL_KDF_NAME_SCRYPT         "SCRYPT"
 | 
			
		||||
# define OSSL_KDF_NAME_SSHKDF         "SSHKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_SSKDF          "SSKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_TLS1_PRF       "TLS1-PRF"
 | 
			
		||||
# define OSSL_KDF_NAME_X942KDF_ASN1   "X942KDF-ASN1"
 | 
			
		||||
# define OSSL_KDF_NAME_X942KDF_CONCAT "X942KDF-CONCAT"
 | 
			
		||||
# define OSSL_KDF_NAME_X963KDF        "X963KDF"
 | 
			
		||||
# define OSSL_KDF_NAME_KBKDF          "KBKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_KRB5KDF        "KRB5KDF"
 | 
			
		||||
# define OSSL_KDF_NAME_HMACDRBGKDF    "HMAC-DRBG-KDF"
 | 
			
		||||
 | 
			
		||||
/* RSA padding modes */
 | 
			
		||||
#define OSSL_PKEY_RSA_PAD_MODE_NONE    "none"
 | 
			
		||||
#define OSSL_PKEY_RSA_PAD_MODE_PKCSV15 "pkcs1"
 | 
			
		||||
#define OSSL_PKEY_RSA_PAD_MODE_OAEP    "oaep"
 | 
			
		||||
#define OSSL_PKEY_RSA_PAD_MODE_X931    "x931"
 | 
			
		||||
#define OSSL_PKEY_RSA_PAD_MODE_PSS     "pss"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_NONE    "none"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_PKCSV15 "pkcs1"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_OAEP    "oaep"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_X931    "x931"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_PSS     "pss"
 | 
			
		||||
 | 
			
		||||
/* RSA pss padding salt length */
 | 
			
		||||
#define OSSL_PKEY_RSA_PSS_SALT_LEN_DIGEST "digest"
 | 
			
		||||
#define OSSL_PKEY_RSA_PSS_SALT_LEN_MAX    "max"
 | 
			
		||||
#define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO   "auto"
 | 
			
		||||
#define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO_DIGEST_MAX "auto-digestmax"
 | 
			
		||||
 | 
			
		||||
/* Key generation parameters */
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_BITS             OSSL_PKEY_PARAM_BITS
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_PRIMES           "primes"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_DIGEST           OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_DIGEST_PROPS     OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_MASKGENFUNC      OSSL_PKEY_PARAM_MASKGENFUNC
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_MGF1_DIGEST      OSSL_PKEY_PARAM_MGF1_DIGEST
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_PSS_SALTLEN      "saltlen"
 | 
			
		||||
 | 
			
		||||
/* Key generation parameters */
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_TYPE         "type"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_PBITS        "pbits"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_QBITS        "qbits"
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_DIGEST       OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
#define OSSL_PKEY_PARAM_FFC_DIGEST_PROPS OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_ENCODING                "encoding" /* utf8_string */
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT "point-format"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE        "group-check"
 | 
			
		||||
#define OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC          "include-public"
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_DIGEST "digest"
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_MAX    "max"
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO   "auto"
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO_DIGEST_MAX "auto-digestmax"
 | 
			
		||||
 | 
			
		||||
/* OSSL_PKEY_PARAM_EC_ENCODING values */
 | 
			
		||||
#define OSSL_PKEY_EC_ENCODING_EXPLICIT  "explicit"
 | 
			
		||||
#define OSSL_PKEY_EC_ENCODING_GROUP     "named_curve"
 | 
			
		||||
# define OSSL_PKEY_EC_ENCODING_EXPLICIT  "explicit"
 | 
			
		||||
# define OSSL_PKEY_EC_ENCODING_GROUP     "named_curve"
 | 
			
		||||
 | 
			
		||||
#define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_UNCOMPRESSED "uncompressed"
 | 
			
		||||
#define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_COMPRESSED   "compressed"
 | 
			
		||||
#define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_HYBRID       "hybrid"
 | 
			
		||||
# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_UNCOMPRESSED "uncompressed"
 | 
			
		||||
# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_COMPRESSED   "compressed"
 | 
			
		||||
# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_HYBRID       "hybrid"
 | 
			
		||||
 | 
			
		||||
#define OSSL_PKEY_EC_GROUP_CHECK_DEFAULT     "default"
 | 
			
		||||
#define OSSL_PKEY_EC_GROUP_CHECK_NAMED       "named"
 | 
			
		||||
#define OSSL_PKEY_EC_GROUP_CHECK_NAMED_NIST  "named-nist"
 | 
			
		||||
 | 
			
		||||
/* Key Exchange parameters */
 | 
			
		||||
#define OSSL_EXCHANGE_PARAM_PAD                   "pad" /* uint */
 | 
			
		||||
#define OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE "ecdh-cofactor-mode" /* int */
 | 
			
		||||
#define OSSL_EXCHANGE_PARAM_KDF_TYPE              "kdf-type" /* utf8_string */
 | 
			
		||||
#define OSSL_EXCHANGE_PARAM_KDF_DIGEST            "kdf-digest" /* utf8_string */
 | 
			
		||||
#define OSSL_EXCHANGE_PARAM_KDF_DIGEST_PROPS      "kdf-digest-props" /* utf8_string */
 | 
			
		||||
#define OSSL_EXCHANGE_PARAM_KDF_OUTLEN            "kdf-outlen" /* size_t */
 | 
			
		||||
/* The following parameter is an octet_string on set and an octet_ptr on get */
 | 
			
		||||
#define OSSL_EXCHANGE_PARAM_KDF_UKM               "kdf-ukm"
 | 
			
		||||
 | 
			
		||||
/* Signature parameters */
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_ALGORITHM_ID       "algorithm-id"
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_PAD_MODE           OSSL_PKEY_PARAM_PAD_MODE
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_DIGEST             OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_PROPERTIES         OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_PSS_SALTLEN        "saltlen"
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_MGF1_DIGEST        OSSL_PKEY_PARAM_MGF1_DIGEST
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_MGF1_PROPERTIES    \
 | 
			
		||||
    OSSL_PKEY_PARAM_MGF1_PROPERTIES
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_DIGEST_SIZE        OSSL_PKEY_PARAM_DIGEST_SIZE
 | 
			
		||||
 | 
			
		||||
/* Asym cipher parameters */
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_DIGEST                   OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_PROPERTIES               OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_ENGINE                   OSSL_PKEY_PARAM_ENGINE
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_PAD_MODE                 OSSL_PKEY_PARAM_PAD_MODE
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_MGF1_DIGEST              \
 | 
			
		||||
    OSSL_PKEY_PARAM_MGF1_DIGEST
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_MGF1_DIGEST_PROPS        \
 | 
			
		||||
    OSSL_PKEY_PARAM_MGF1_PROPERTIES
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST              OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST_PROPS        "digest-props"
 | 
			
		||||
/* The following parameter is an octet_string on set and an octet_ptr on get */
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL               "oaep-label"
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION       "tls-client-version"
 | 
			
		||||
#define OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION   "tls-negotiated-version"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Encoder / decoder parameters
 | 
			
		||||
 */
 | 
			
		||||
#define OSSL_ENCODER_PARAM_CIPHER           OSSL_ALG_PARAM_CIPHER
 | 
			
		||||
#define OSSL_ENCODER_PARAM_PROPERTIES       OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
/* Currently PVK only, but reusable for others as needed */
 | 
			
		||||
#define OSSL_ENCODER_PARAM_ENCRYPT_LEVEL    "encrypt-level"
 | 
			
		||||
#define OSSL_ENCODER_PARAM_SAVE_PARAMETERS  "save-parameters" /* integer */
 | 
			
		||||
 | 
			
		||||
#define OSSL_DECODER_PARAM_PROPERTIES       OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
 | 
			
		||||
/* Passphrase callback parameters */
 | 
			
		||||
#define OSSL_PASSPHRASE_PARAM_INFO      "info"
 | 
			
		||||
 | 
			
		||||
/* Keygen callback parameters, from provider to libcrypto */
 | 
			
		||||
#define OSSL_GEN_PARAM_POTENTIAL            "potential" /* integer */
 | 
			
		||||
#define OSSL_GEN_PARAM_ITERATION            "iteration" /* integer */
 | 
			
		||||
 | 
			
		||||
/* ACVP Test parameters : These should not be used normally */
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_XP1 "xp1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_XP2 "xp2"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_XP  "xp"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_XQ1 "xq1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_XQ2 "xq2"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_XQ  "xq"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_P1  "p1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_P2  "p2"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_Q1  "q1"
 | 
			
		||||
#define OSSL_PKEY_PARAM_RSA_TEST_Q2  "q2"
 | 
			
		||||
#define OSSL_SIGNATURE_PARAM_KAT "kat"
 | 
			
		||||
 | 
			
		||||
/* KEM parameters */
 | 
			
		||||
#define OSSL_KEM_PARAM_OPERATION            "operation"
 | 
			
		||||
# define OSSL_PKEY_EC_GROUP_CHECK_DEFAULT     "default"
 | 
			
		||||
# define OSSL_PKEY_EC_GROUP_CHECK_NAMED       "named"
 | 
			
		||||
# define OSSL_PKEY_EC_GROUP_CHECK_NAMED_NIST  "named-nist"
 | 
			
		||||
 | 
			
		||||
/* OSSL_KEM_PARAM_OPERATION values */
 | 
			
		||||
#define OSSL_KEM_PARAM_OPERATION_RSASVE     "RSASVE"
 | 
			
		||||
#define OSSL_KEM_PARAM_OPERATION_DHKEM      "DHKEM"
 | 
			
		||||
 | 
			
		||||
/* Capabilities */
 | 
			
		||||
 | 
			
		||||
/* TLS-GROUP Capability */
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_NAME              "tls-group-name"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_NAME_INTERNAL     "tls-group-name-internal"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_ID                "tls-group-id"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_ALG               "tls-group-alg"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_SECURITY_BITS     "tls-group-sec-bits"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_IS_KEM            "tls-group-is-kem"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_MIN_TLS           "tls-min-tls"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_MAX_TLS           "tls-max-tls"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_MIN_DTLS          "tls-min-dtls"
 | 
			
		||||
#define OSSL_CAPABILITY_TLS_GROUP_MAX_DTLS          "tls-max-dtls"
 | 
			
		||||
 | 
			
		||||
/*-
 | 
			
		||||
 * storemgmt parameters
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Used by storemgmt_ctx_set_params():
 | 
			
		||||
 *
 | 
			
		||||
 * - OSSL_STORE_PARAM_EXPECT is an INTEGER, and the value is any of the
 | 
			
		||||
 *   OSSL_STORE_INFO numbers.  This is used to set the expected type of
 | 
			
		||||
 *   object loaded.
 | 
			
		||||
 *
 | 
			
		||||
 * - OSSL_STORE_PARAM_SUBJECT, OSSL_STORE_PARAM_ISSUER,
 | 
			
		||||
 *   OSSL_STORE_PARAM_SERIAL, OSSL_STORE_PARAM_FINGERPRINT,
 | 
			
		||||
 *   OSSL_STORE_PARAM_DIGEST, OSSL_STORE_PARAM_ALIAS
 | 
			
		||||
 *   are used as search criteria.
 | 
			
		||||
 *   (OSSL_STORE_PARAM_DIGEST is used with OSSL_STORE_PARAM_FINGERPRINT)
 | 
			
		||||
 */
 | 
			
		||||
#define OSSL_STORE_PARAM_EXPECT     "expect"       /* INTEGER */
 | 
			
		||||
#define OSSL_STORE_PARAM_SUBJECT    "subject" /* DER blob => OCTET_STRING */
 | 
			
		||||
#define OSSL_STORE_PARAM_ISSUER     "name" /* DER blob => OCTET_STRING */
 | 
			
		||||
#define OSSL_STORE_PARAM_SERIAL     "serial"       /* INTEGER */
 | 
			
		||||
#define OSSL_STORE_PARAM_DIGEST     "digest"       /* UTF8_STRING */
 | 
			
		||||
#define OSSL_STORE_PARAM_FINGERPRINT "fingerprint" /* OCTET_STRING */
 | 
			
		||||
#define OSSL_STORE_PARAM_ALIAS      "alias"        /* UTF8_STRING */
 | 
			
		||||
 | 
			
		||||
/* You may want to pass properties for the provider implementation to use */
 | 
			
		||||
#define OSSL_STORE_PARAM_PROPERTIES "properties"   /* utf8_string */
 | 
			
		||||
/* OSSL_DECODER input type if a decoder is used by the store */
 | 
			
		||||
#define OSSL_STORE_PARAM_INPUT_TYPE "input-type"   /* UTF8_STRING */
 | 
			
		||||
/* Parameter name definitions - generated by util/perl/OpenSSL/paramnames.pm */
 | 
			
		||||
# define OSSL_ALG_PARAM_CIPHER "cipher"
 | 
			
		||||
# define OSSL_ALG_PARAM_DIGEST "digest"
 | 
			
		||||
# define OSSL_ALG_PARAM_ENGINE "engine"
 | 
			
		||||
# define OSSL_ALG_PARAM_MAC "mac"
 | 
			
		||||
# define OSSL_ALG_PARAM_PROPERTIES "properties"
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_DIGEST OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_ENGINE OSSL_PKEY_PARAM_ENGINE
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION "implicit-rejection"
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_MGF1_DIGEST OSSL_PKEY_PARAM_MGF1_DIGEST
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_MGF1_DIGEST_PROPS OSSL_PKEY_PARAM_MGF1_PROPERTIES
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST_PROPS "digest-props"
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL "oaep-label"
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_PAD_MODE OSSL_PKEY_PARAM_PAD_MODE
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_PROPERTIES OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION "tls-client-version"
 | 
			
		||||
# define OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION "tls-negotiated-version"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_ALG "tls-group-alg"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_ID "tls-group-id"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_IS_KEM "tls-group-is-kem"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_MAX_DTLS "tls-max-dtls"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_MAX_TLS "tls-max-tls"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_MIN_DTLS "tls-min-dtls"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_MIN_TLS "tls-min-tls"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_NAME "tls-group-name"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_NAME_INTERNAL "tls-group-name-internal"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_GROUP_SECURITY_BITS "tls-group-sec-bits"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_CODE_POINT "tls-sigalg-code-point"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_HASH_NAME "tls-sigalg-hash-name"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_HASH_OID "tls-sigalg-hash-oid"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_IANA_NAME "tls-sigalg-iana-name"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_KEYTYPE "tls-sigalg-keytype"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_KEYTYPE_OID "tls-sigalg-keytype-oid"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_MAX_TLS "tls-max-tls"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_MIN_TLS "tls-min-tls"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_NAME "tls-sigalg-name"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_OID "tls-sigalg-oid"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_SECURITY_BITS "tls-sigalg-sec-bits"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_SIG_NAME "tls-sigalg-sig-name"
 | 
			
		||||
# define OSSL_CAPABILITY_TLS_SIGALG_SIG_OID "tls-sigalg-sig-oid"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD "aead"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_IVLEN OSSL_CIPHER_PARAM_IVLEN
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_MAC_KEY "mackey"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_TAG "tag"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_TAGLEN "taglen"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_TLS1_AAD "tlsaad"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_TLS1_AAD_PAD "tlsaadpad"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_TLS1_GET_IV_GEN "tlsivgen"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_TLS1_IV_FIXED "tlsivfixed"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_AEAD_TLS1_SET_IV_INV "tlsivinv"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_ALGORITHM_ID_PARAMS "alg_id_param"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_BLOCK_SIZE "blocksize"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_CTS "cts"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_CTS_MODE "cts_mode"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_CUSTOM_IV "custom-iv"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_HAS_RAND_KEY "has-randkey"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_IV "iv"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_IVLEN "ivlen"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_KEYLEN "keylen"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_MODE "mode"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_NUM "num"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_PADDING "padding"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_RANDOM_KEY "randkey"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_RC2_KEYBITS "keybits"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_ROUNDS "rounds"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_SPEED "speed"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK "tls-multi"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD "tls1multi_aad"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD_PACKLEN "tls1multi_aadpacklen"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC "tls1multi_enc"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_IN "tls1multi_encin"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_LEN "tls1multi_enclen"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_INTERLEAVE "tls1multi_interleave"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_BUFSIZE "tls1multi_maxbufsz"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_SEND_FRAGMENT "tls1multi_maxsndfrag"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS_MAC "tls-mac"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS_MAC_SIZE "tls-mac-size"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_TLS_VERSION "tls-version"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_UPDATED_IV "updated-iv"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_USE_BITS "use-bits"
 | 
			
		||||
# define OSSL_CIPHER_PARAM_XTS_STANDARD "xts_standard"
 | 
			
		||||
# define OSSL_DECODER_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_DIGEST_PARAM_ALGID_ABSENT "algid-absent"
 | 
			
		||||
# define OSSL_DIGEST_PARAM_BLOCK_SIZE "blocksize"
 | 
			
		||||
# define OSSL_DIGEST_PARAM_MICALG "micalg"
 | 
			
		||||
# define OSSL_DIGEST_PARAM_PAD_TYPE "pad-type"
 | 
			
		||||
# define OSSL_DIGEST_PARAM_SIZE "size"
 | 
			
		||||
# define OSSL_DIGEST_PARAM_SSL3_MS "ssl3-ms"
 | 
			
		||||
# define OSSL_DIGEST_PARAM_XOF "xof"
 | 
			
		||||
# define OSSL_DIGEST_PARAM_XOFLEN "xoflen"
 | 
			
		||||
# define OSSL_DRBG_PARAM_CIPHER OSSL_ALG_PARAM_CIPHER
 | 
			
		||||
# define OSSL_DRBG_PARAM_DIGEST OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
# define OSSL_DRBG_PARAM_ENTROPY_REQUIRED "entropy_required"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MAC OSSL_ALG_PARAM_MAC
 | 
			
		||||
# define OSSL_DRBG_PARAM_MAX_ADINLEN "max_adinlen"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MAX_ENTROPYLEN "max_entropylen"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MAX_LENGTH "maxium_length"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MAX_NONCELEN "max_noncelen"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MAX_PERSLEN "max_perslen"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MIN_ENTROPYLEN "min_entropylen"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MIN_LENGTH "minium_length"
 | 
			
		||||
# define OSSL_DRBG_PARAM_MIN_NONCELEN "min_noncelen"
 | 
			
		||||
# define OSSL_DRBG_PARAM_PREDICTION_RESISTANCE "prediction_resistance"
 | 
			
		||||
# define OSSL_DRBG_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_DRBG_PARAM_RANDOM_DATA "random_data"
 | 
			
		||||
# define OSSL_DRBG_PARAM_RESEED_COUNTER "reseed_counter"
 | 
			
		||||
# define OSSL_DRBG_PARAM_RESEED_REQUESTS "reseed_requests"
 | 
			
		||||
# define OSSL_DRBG_PARAM_RESEED_TIME "reseed_time"
 | 
			
		||||
# define OSSL_DRBG_PARAM_RESEED_TIME_INTERVAL "reseed_time_interval"
 | 
			
		||||
# define OSSL_DRBG_PARAM_SIZE "size"
 | 
			
		||||
# define OSSL_DRBG_PARAM_USE_DF "use_derivation_function"
 | 
			
		||||
# define OSSL_ENCODER_PARAM_CIPHER OSSL_ALG_PARAM_CIPHER
 | 
			
		||||
# define OSSL_ENCODER_PARAM_ENCRYPT_LEVEL "encrypt-level"
 | 
			
		||||
# define OSSL_ENCODER_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_ENCODER_PARAM_SAVE_PARAMETERS "save-parameters"
 | 
			
		||||
# define OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE "ecdh-cofactor-mode"
 | 
			
		||||
# define OSSL_EXCHANGE_PARAM_KDF_DIGEST "kdf-digest"
 | 
			
		||||
# define OSSL_EXCHANGE_PARAM_KDF_DIGEST_PROPS "kdf-digest-props"
 | 
			
		||||
# define OSSL_EXCHANGE_PARAM_KDF_OUTLEN "kdf-outlen"
 | 
			
		||||
# define OSSL_EXCHANGE_PARAM_KDF_TYPE "kdf-type"
 | 
			
		||||
# define OSSL_EXCHANGE_PARAM_KDF_UKM "kdf-ukm"
 | 
			
		||||
# define OSSL_EXCHANGE_PARAM_PAD "pad"
 | 
			
		||||
# define OSSL_GEN_PARAM_ITERATION "iteration"
 | 
			
		||||
# define OSSL_GEN_PARAM_POTENTIAL "potential"
 | 
			
		||||
# define OSSL_KDF_PARAM_ARGON2_AD "ad"
 | 
			
		||||
# define OSSL_KDF_PARAM_ARGON2_LANES "lanes"
 | 
			
		||||
# define OSSL_KDF_PARAM_ARGON2_MEMCOST "memcost"
 | 
			
		||||
# define OSSL_KDF_PARAM_ARGON2_VERSION "version"
 | 
			
		||||
# define OSSL_KDF_PARAM_CEK_ALG "cekalg"
 | 
			
		||||
# define OSSL_KDF_PARAM_CIPHER OSSL_ALG_PARAM_CIPHER
 | 
			
		||||
# define OSSL_KDF_PARAM_CONSTANT "constant"
 | 
			
		||||
# define OSSL_KDF_PARAM_DATA "data"
 | 
			
		||||
# define OSSL_KDF_PARAM_DIGEST OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
# define OSSL_KDF_PARAM_EARLY_CLEAN "early_clean"
 | 
			
		||||
# define OSSL_KDF_PARAM_HMACDRBG_ENTROPY "entropy"
 | 
			
		||||
# define OSSL_KDF_PARAM_HMACDRBG_NONCE "nonce"
 | 
			
		||||
# define OSSL_KDF_PARAM_INFO "info"
 | 
			
		||||
# define OSSL_KDF_PARAM_ITER "iter"
 | 
			
		||||
# define OSSL_KDF_PARAM_KBKDF_R "r"
 | 
			
		||||
# define OSSL_KDF_PARAM_KBKDF_USE_L "use-l"
 | 
			
		||||
# define OSSL_KDF_PARAM_KBKDF_USE_SEPARATOR "use-separator"
 | 
			
		||||
# define OSSL_KDF_PARAM_KEY "key"
 | 
			
		||||
# define OSSL_KDF_PARAM_LABEL "label"
 | 
			
		||||
# define OSSL_KDF_PARAM_MAC OSSL_ALG_PARAM_MAC
 | 
			
		||||
# define OSSL_KDF_PARAM_MAC_SIZE "maclen"
 | 
			
		||||
# define OSSL_KDF_PARAM_MODE "mode"
 | 
			
		||||
# define OSSL_KDF_PARAM_PASSWORD "pass"
 | 
			
		||||
# define OSSL_KDF_PARAM_PKCS12_ID "id"
 | 
			
		||||
# define OSSL_KDF_PARAM_PKCS5 "pkcs5"
 | 
			
		||||
# define OSSL_KDF_PARAM_PREFIX "prefix"
 | 
			
		||||
# define OSSL_KDF_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_KDF_PARAM_SALT "salt"
 | 
			
		||||
# define OSSL_KDF_PARAM_SCRYPT_MAXMEM "maxmem_bytes"
 | 
			
		||||
# define OSSL_KDF_PARAM_SCRYPT_N "n"
 | 
			
		||||
# define OSSL_KDF_PARAM_SCRYPT_P "p"
 | 
			
		||||
# define OSSL_KDF_PARAM_SCRYPT_R "r"
 | 
			
		||||
# define OSSL_KDF_PARAM_SECRET "secret"
 | 
			
		||||
# define OSSL_KDF_PARAM_SEED "seed"
 | 
			
		||||
# define OSSL_KDF_PARAM_SIZE "size"
 | 
			
		||||
# define OSSL_KDF_PARAM_SSHKDF_SESSION_ID "session_id"
 | 
			
		||||
# define OSSL_KDF_PARAM_SSHKDF_TYPE "type"
 | 
			
		||||
# define OSSL_KDF_PARAM_SSHKDF_XCGHASH "xcghash"
 | 
			
		||||
# define OSSL_KDF_PARAM_THREADS "threads"
 | 
			
		||||
# define OSSL_KDF_PARAM_UKM "ukm"
 | 
			
		||||
# define OSSL_KDF_PARAM_X942_ACVPINFO "acvp-info"
 | 
			
		||||
# define OSSL_KDF_PARAM_X942_PARTYUINFO "partyu-info"
 | 
			
		||||
# define OSSL_KDF_PARAM_X942_PARTYVINFO "partyv-info"
 | 
			
		||||
# define OSSL_KDF_PARAM_X942_SUPP_PRIVINFO "supp-privinfo"
 | 
			
		||||
# define OSSL_KDF_PARAM_X942_SUPP_PUBINFO "supp-pubinfo"
 | 
			
		||||
# define OSSL_KDF_PARAM_X942_USE_KEYBITS "use-keybits"
 | 
			
		||||
# define OSSL_KEM_PARAM_IKME "ikme"
 | 
			
		||||
# define OSSL_KEM_PARAM_OPERATION "operation"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_BLOCK_PADDING "block_padding"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_EARLY_DATA "max_early_data"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_FRAG_LEN "max_frag_len"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_MODE "mode"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_OPTIONS "options"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD "read_ahead"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_STREAM_MAC "stream_mac"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_TLSTREE "tlstree"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_PARAM_USE_ETM "use_etm"
 | 
			
		||||
# define OSSL_LIBSSL_RECORD_LAYER_READ_BUFFER_LEN "read_buffer_len"
 | 
			
		||||
# define OSSL_MAC_PARAM_BLOCK_SIZE "block-size"
 | 
			
		||||
# define OSSL_MAC_PARAM_CIPHER OSSL_ALG_PARAM_CIPHER
 | 
			
		||||
# define OSSL_MAC_PARAM_CUSTOM "custom"
 | 
			
		||||
# define OSSL_MAC_PARAM_C_ROUNDS "c-rounds"
 | 
			
		||||
# define OSSL_MAC_PARAM_DIGEST OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
# define OSSL_MAC_PARAM_DIGEST_NOINIT "digest-noinit"
 | 
			
		||||
# define OSSL_MAC_PARAM_DIGEST_ONESHOT "digest-oneshot"
 | 
			
		||||
# define OSSL_MAC_PARAM_D_ROUNDS "d-rounds"
 | 
			
		||||
# define OSSL_MAC_PARAM_IV "iv"
 | 
			
		||||
# define OSSL_MAC_PARAM_KEY "key"
 | 
			
		||||
# define OSSL_MAC_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_MAC_PARAM_SALT "salt"
 | 
			
		||||
# define OSSL_MAC_PARAM_SIZE "size"
 | 
			
		||||
# define OSSL_MAC_PARAM_TLS_DATA_SIZE "tls-data-size"
 | 
			
		||||
# define OSSL_MAC_PARAM_XOF "xof"
 | 
			
		||||
# define OSSL_OBJECT_PARAM_DATA "data"
 | 
			
		||||
# define OSSL_OBJECT_PARAM_DATA_STRUCTURE "data-structure"
 | 
			
		||||
# define OSSL_OBJECT_PARAM_DATA_TYPE "data-type"
 | 
			
		||||
# define OSSL_OBJECT_PARAM_DESC "desc"
 | 
			
		||||
# define OSSL_OBJECT_PARAM_REFERENCE "reference"
 | 
			
		||||
# define OSSL_OBJECT_PARAM_TYPE "type"
 | 
			
		||||
# define OSSL_PASSPHRASE_PARAM_INFO "info"
 | 
			
		||||
# define OSSL_PKEY_PARAM_BITS "bits"
 | 
			
		||||
# define OSSL_PKEY_PARAM_CIPHER OSSL_ALG_PARAM_CIPHER
 | 
			
		||||
# define OSSL_PKEY_PARAM_DEFAULT_DIGEST "default-digest"
 | 
			
		||||
# define OSSL_PKEY_PARAM_DHKEM_IKM "dhkem-ikm"
 | 
			
		||||
# define OSSL_PKEY_PARAM_DH_GENERATOR "safeprime-generator"
 | 
			
		||||
# define OSSL_PKEY_PARAM_DH_PRIV_LEN "priv_len"
 | 
			
		||||
# define OSSL_PKEY_PARAM_DIGEST OSSL_ALG_PARAM_DIGEST
 | 
			
		||||
# define OSSL_PKEY_PARAM_DIGEST_SIZE "digest-size"
 | 
			
		||||
# define OSSL_PKEY_PARAM_DIST_ID "distid"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_A "a"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_B "b"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_CHAR2_M "m"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_CHAR2_PP_K1 "k1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_CHAR2_PP_K2 "k2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_CHAR2_PP_K3 "k3"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_CHAR2_TP_BASIS "tp"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_CHAR2_TYPE "basis-type"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_COFACTOR "cofactor"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS "decoded-from-explicit"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_ENCODING "encoding"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_FIELD_TYPE "field-type"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_GENERATOR "generator"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE "group-check"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC "include-public"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_ORDER "order"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_P "p"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT "point-format"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_PUB_X "qx"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_PUB_Y "qy"
 | 
			
		||||
# define OSSL_PKEY_PARAM_EC_SEED "seed"
 | 
			
		||||
# define OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY "encoded-pub-key"
 | 
			
		||||
# define OSSL_PKEY_PARAM_ENGINE OSSL_ALG_PARAM_ENGINE
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_COFACTOR "j"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_DIGEST OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_DIGEST_PROPS OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_G "g"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_GINDEX "gindex"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_H "hindex"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_P "p"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_PBITS "pbits"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_PCOUNTER "pcounter"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_Q "q"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_QBITS "qbits"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_SEED "seed"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_TYPE "type"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_VALIDATE_G "validate-g"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_VALIDATE_LEGACY "validate-legacy"
 | 
			
		||||
# define OSSL_PKEY_PARAM_FFC_VALIDATE_PQ "validate-pq"
 | 
			
		||||
# define OSSL_PKEY_PARAM_GROUP_NAME "group"
 | 
			
		||||
# define OSSL_PKEY_PARAM_IMPLICIT_REJECTION "implicit-rejection"
 | 
			
		||||
# define OSSL_PKEY_PARAM_MANDATORY_DIGEST "mandatory-digest"
 | 
			
		||||
# define OSSL_PKEY_PARAM_MASKGENFUNC "mgf"
 | 
			
		||||
# define OSSL_PKEY_PARAM_MAX_SIZE "max-size"
 | 
			
		||||
# define OSSL_PKEY_PARAM_MGF1_DIGEST "mgf1-digest"
 | 
			
		||||
# define OSSL_PKEY_PARAM_MGF1_PROPERTIES "mgf1-properties"
 | 
			
		||||
# define OSSL_PKEY_PARAM_PAD_MODE "pad-mode"
 | 
			
		||||
# define OSSL_PKEY_PARAM_PRIV_KEY "priv"
 | 
			
		||||
# define OSSL_PKEY_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_PKEY_PARAM_PUB_KEY "pub"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_BITS OSSL_PKEY_PARAM_BITS
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT "rsa-coefficient"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT1 "rsa-coefficient1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT2 "rsa-coefficient2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT3 "rsa-coefficient3"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT4 "rsa-coefficient4"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT5 "rsa-coefficient5"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT6 "rsa-coefficient6"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT7 "rsa-coefficient7"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT8 "rsa-coefficient8"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_COEFFICIENT9 "rsa-coefficient9"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_D "d"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_DIGEST OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_DIGEST_PROPS OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_E "e"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT "rsa-exponent"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT1 "rsa-exponent1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT10 "rsa-exponent10"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT2 "rsa-exponent2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT3 "rsa-exponent3"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT4 "rsa-exponent4"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT5 "rsa-exponent5"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT6 "rsa-exponent6"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT7 "rsa-exponent7"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT8 "rsa-exponent8"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_EXPONENT9 "rsa-exponent9"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR "rsa-factor"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR1 "rsa-factor1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR10 "rsa-factor10"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR2 "rsa-factor2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR3 "rsa-factor3"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR4 "rsa-factor4"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR5 "rsa-factor5"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR6 "rsa-factor6"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR7 "rsa-factor7"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR8 "rsa-factor8"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_FACTOR9 "rsa-factor9"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_MASKGENFUNC OSSL_PKEY_PARAM_MASKGENFUNC
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_MGF1_DIGEST OSSL_PKEY_PARAM_MGF1_DIGEST
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_N "n"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_PRIMES "primes"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_PSS_SALTLEN "saltlen"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_P1 "p1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_P2 "p2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_Q1 "q1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_Q2 "q2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_XP "xp"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_XP1 "xp1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_XP2 "xp2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_XQ "xq"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_XQ1 "xq1"
 | 
			
		||||
# define OSSL_PKEY_PARAM_RSA_TEST_XQ2 "xq2"
 | 
			
		||||
# define OSSL_PKEY_PARAM_SECURITY_BITS "security-bits"
 | 
			
		||||
# define OSSL_PKEY_PARAM_USE_COFACTOR_ECDH OSSL_PKEY_PARAM_USE_COFACTOR_FLAG
 | 
			
		||||
# define OSSL_PKEY_PARAM_USE_COFACTOR_FLAG "use-cofactor-flag"
 | 
			
		||||
# define OSSL_PROV_PARAM_BUILDINFO "buildinfo"
 | 
			
		||||
# define OSSL_PROV_PARAM_CORE_MODULE_FILENAME "module-filename"
 | 
			
		||||
# define OSSL_PROV_PARAM_CORE_PROV_NAME "provider-name"
 | 
			
		||||
# define OSSL_PROV_PARAM_CORE_VERSION "openssl-version"
 | 
			
		||||
# define OSSL_PROV_PARAM_DRBG_TRUNC_DIGEST "drbg-no-trunc-md"
 | 
			
		||||
# define OSSL_PROV_PARAM_NAME "name"
 | 
			
		||||
# define OSSL_PROV_PARAM_SECURITY_CHECKS "security-checks"
 | 
			
		||||
# define OSSL_PROV_PARAM_SELF_TEST_DESC "st-desc"
 | 
			
		||||
# define OSSL_PROV_PARAM_SELF_TEST_PHASE "st-phase"
 | 
			
		||||
# define OSSL_PROV_PARAM_SELF_TEST_TYPE "st-type"
 | 
			
		||||
# define OSSL_PROV_PARAM_STATUS "status"
 | 
			
		||||
# define OSSL_PROV_PARAM_TLS1_PRF_EMS_CHECK "tls1-prf-ems-check"
 | 
			
		||||
# define OSSL_PROV_PARAM_VERSION "version"
 | 
			
		||||
# define OSSL_RAND_PARAM_GENERATE "generate"
 | 
			
		||||
# define OSSL_RAND_PARAM_MAX_REQUEST "max_request"
 | 
			
		||||
# define OSSL_RAND_PARAM_STATE "state"
 | 
			
		||||
# define OSSL_RAND_PARAM_STRENGTH "strength"
 | 
			
		||||
# define OSSL_RAND_PARAM_TEST_ENTROPY "test_entropy"
 | 
			
		||||
# define OSSL_RAND_PARAM_TEST_NONCE "test_nonce"
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_ALGORITHM_ID "algorithm-id"
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_CONTEXT_STRING "context-string"
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_DIGEST OSSL_PKEY_PARAM_DIGEST
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_DIGEST_SIZE OSSL_PKEY_PARAM_DIGEST_SIZE
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_INSTANCE "instance"
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_KAT "kat"
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_MGF1_DIGEST OSSL_PKEY_PARAM_MGF1_DIGEST
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_MGF1_PROPERTIES OSSL_PKEY_PARAM_MGF1_PROPERTIES
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_NONCE_TYPE "nonce-type"
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_PAD_MODE OSSL_PKEY_PARAM_PAD_MODE
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_PROPERTIES OSSL_PKEY_PARAM_PROPERTIES
 | 
			
		||||
# define OSSL_SIGNATURE_PARAM_PSS_SALTLEN "saltlen"
 | 
			
		||||
# define OSSL_STORE_PARAM_ALIAS "alias"
 | 
			
		||||
# define OSSL_STORE_PARAM_DIGEST "digest"
 | 
			
		||||
# define OSSL_STORE_PARAM_EXPECT "expect"
 | 
			
		||||
# define OSSL_STORE_PARAM_FINGERPRINT "fingerprint"
 | 
			
		||||
# define OSSL_STORE_PARAM_INPUT_TYPE "input-type"
 | 
			
		||||
# define OSSL_STORE_PARAM_ISSUER "name"
 | 
			
		||||
# define OSSL_STORE_PARAM_PROPERTIES "properties"
 | 
			
		||||
# define OSSL_STORE_PARAM_SERIAL "serial"
 | 
			
		||||
# define OSSL_STORE_PARAM_SUBJECT "subject"
 | 
			
		||||
 | 
			
		||||
# ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										119
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/core_names.h.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/core_names.h.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,119 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
{-
 | 
			
		||||
use OpenSSL::paramnames qw(generate_public_macros);
 | 
			
		||||
-}
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_CORE_NAMES_H
 | 
			
		||||
# define OPENSSL_CORE_NAMES_H
 | 
			
		||||
# pragma once
 | 
			
		||||
 | 
			
		||||
# ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/* OSSL_CIPHER_PARAM_CTS_MODE Values */
 | 
			
		||||
# define OSSL_CIPHER_CTS_MODE_CS1 "CS1"
 | 
			
		||||
# define OSSL_CIPHER_CTS_MODE_CS2 "CS2"
 | 
			
		||||
# define OSSL_CIPHER_CTS_MODE_CS3 "CS3"
 | 
			
		||||
 | 
			
		||||
/* Known CIPHER names (not a complete list) */
 | 
			
		||||
# define OSSL_CIPHER_NAME_AES_128_GCM_SIV      "AES-128-GCM-SIV"
 | 
			
		||||
# define OSSL_CIPHER_NAME_AES_192_GCM_SIV      "AES-192-GCM-SIV"
 | 
			
		||||
# define OSSL_CIPHER_NAME_AES_256_GCM_SIV      "AES-256-GCM-SIV"
 | 
			
		||||
 | 
			
		||||
/* Known DIGEST names (not a complete list) */
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD5            "MD5"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD5_SHA1       "MD5-SHA1"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA1           "SHA1"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_224       "SHA2-224"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_256       "SHA2-256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_256_192   "SHA2-256/192"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_384       "SHA2-384"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_512       "SHA2-512"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_512_224   "SHA2-512/224"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA2_512_256   "SHA2-512/256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD2            "MD2"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MD4            "MD4"
 | 
			
		||||
# define OSSL_DIGEST_NAME_MDC2           "MDC2"
 | 
			
		||||
# define OSSL_DIGEST_NAME_RIPEMD160      "RIPEMD160"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_224       "SHA3-224"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_256       "SHA3-256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_384       "SHA3-384"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SHA3_512       "SHA3-512"
 | 
			
		||||
# define OSSL_DIGEST_NAME_KECCAK_KMAC128 "KECCAK-KMAC-128"
 | 
			
		||||
# define OSSL_DIGEST_NAME_KECCAK_KMAC256 "KECCAK-KMAC-256"
 | 
			
		||||
# define OSSL_DIGEST_NAME_SM3            "SM3"
 | 
			
		||||
 | 
			
		||||
/* Known MAC names */
 | 
			
		||||
# define OSSL_MAC_NAME_BLAKE2BMAC    "BLAKE2BMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_BLAKE2SMAC    "BLAKE2SMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_CMAC          "CMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_GMAC          "GMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_HMAC          "HMAC"
 | 
			
		||||
# define OSSL_MAC_NAME_KMAC128       "KMAC128"
 | 
			
		||||
# define OSSL_MAC_NAME_KMAC256       "KMAC256"
 | 
			
		||||
# define OSSL_MAC_NAME_POLY1305      "POLY1305"
 | 
			
		||||
# define OSSL_MAC_NAME_SIPHASH       "SIPHASH"
 | 
			
		||||
 | 
			
		||||
/* Known KDF names */
 | 
			
		||||
# define OSSL_KDF_NAME_HKDF           "HKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_TLS1_3_KDF     "TLS13-KDF"
 | 
			
		||||
# define OSSL_KDF_NAME_PBKDF1         "PBKDF1"
 | 
			
		||||
# define OSSL_KDF_NAME_PBKDF2         "PBKDF2"
 | 
			
		||||
# define OSSL_KDF_NAME_SCRYPT         "SCRYPT"
 | 
			
		||||
# define OSSL_KDF_NAME_SSHKDF         "SSHKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_SSKDF          "SSKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_TLS1_PRF       "TLS1-PRF"
 | 
			
		||||
# define OSSL_KDF_NAME_X942KDF_ASN1   "X942KDF-ASN1"
 | 
			
		||||
# define OSSL_KDF_NAME_X942KDF_CONCAT "X942KDF-CONCAT"
 | 
			
		||||
# define OSSL_KDF_NAME_X963KDF        "X963KDF"
 | 
			
		||||
# define OSSL_KDF_NAME_KBKDF          "KBKDF"
 | 
			
		||||
# define OSSL_KDF_NAME_KRB5KDF        "KRB5KDF"
 | 
			
		||||
# define OSSL_KDF_NAME_HMACDRBGKDF    "HMAC-DRBG-KDF"
 | 
			
		||||
 | 
			
		||||
/* RSA padding modes */
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_NONE    "none"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_PKCSV15 "pkcs1"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_OAEP    "oaep"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_X931    "x931"
 | 
			
		||||
# define OSSL_PKEY_RSA_PAD_MODE_PSS     "pss"
 | 
			
		||||
 | 
			
		||||
/* RSA pss padding salt length */
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_DIGEST "digest"
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_MAX    "max"
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO   "auto"
 | 
			
		||||
# define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO_DIGEST_MAX "auto-digestmax"
 | 
			
		||||
 | 
			
		||||
/* OSSL_PKEY_PARAM_EC_ENCODING values */
 | 
			
		||||
# define OSSL_PKEY_EC_ENCODING_EXPLICIT  "explicit"
 | 
			
		||||
# define OSSL_PKEY_EC_ENCODING_GROUP     "named_curve"
 | 
			
		||||
 | 
			
		||||
# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_UNCOMPRESSED "uncompressed"
 | 
			
		||||
# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_COMPRESSED   "compressed"
 | 
			
		||||
# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_HYBRID       "hybrid"
 | 
			
		||||
 | 
			
		||||
# define OSSL_PKEY_EC_GROUP_CHECK_DEFAULT     "default"
 | 
			
		||||
# define OSSL_PKEY_EC_GROUP_CHECK_NAMED       "named"
 | 
			
		||||
# define OSSL_PKEY_EC_GROUP_CHECK_NAMED_NIST  "named-nist"
 | 
			
		||||
 | 
			
		||||
/* OSSL_KEM_PARAM_OPERATION values */
 | 
			
		||||
#define OSSL_KEM_PARAM_OPERATION_RSASVE     "RSASVE"
 | 
			
		||||
#define OSSL_KEM_PARAM_OPERATION_DHKEM      "DHKEM"
 | 
			
		||||
 | 
			
		||||
/* Parameter name definitions - generated by util/perl/OpenSSL/paramnames.pm */
 | 
			
		||||
{- generate_public_macros(); -}
 | 
			
		||||
 | 
			
		||||
# ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/crmf.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2007-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright Nokia 2007-2019
 | 
			
		||||
 * Copyright Siemens AG 2015-2019
 | 
			
		||||
 *
 | 
			
		||||
@@ -43,8 +43,8 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CRMF_SUBSEQUENTMESSAGE_ENCRCERT       0
 | 
			
		||||
#  define OSSL_CRMF_SUBSEQUENTMESSAGE_CHALLENGERESP  1
 | 
			
		||||
 | 
			
		||||
typedef struct ossl_crmf_encryptedvalue_st OSSL_CRMF_ENCRYPTEDVALUE;
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ENCRYPTEDVALUE)
 | 
			
		||||
typedef struct ossl_crmf_msg_st OSSL_CRMF_MSG;
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_MSG)
 | 
			
		||||
@@ -198,12 +198,14 @@ int OSSL_CRMF_MSGS_verify_popo(const OSSL_CRMF_MSGS *reqs,
 | 
			
		||||
                               int rid, int acceptRAVerified,
 | 
			
		||||
                               OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
OSSL_CRMF_CERTTEMPLATE *OSSL_CRMF_MSG_get0_tmpl(const OSSL_CRMF_MSG *crm);
 | 
			
		||||
const ASN1_INTEGER
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
X509_PUBKEY
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_publicKey(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const X509_NAME
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_subject(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const X509_NAME
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_issuer(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const ASN1_INTEGER
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
X509_EXTENSIONS
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_extensions(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const X509_NAME
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*-
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2007-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright Nokia 2007-2019
 | 
			
		||||
 * Copyright Siemens AG 2015-2019
 | 
			
		||||
 *
 | 
			
		||||
@@ -44,8 +44,8 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
#  define OSSL_CRMF_SUBSEQUENTMESSAGE_ENCRCERT       0
 | 
			
		||||
#  define OSSL_CRMF_SUBSEQUENTMESSAGE_CHALLENGERESP  1
 | 
			
		||||
 | 
			
		||||
typedef struct ossl_crmf_encryptedvalue_st OSSL_CRMF_ENCRYPTEDVALUE;
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ENCRYPTEDVALUE)
 | 
			
		||||
typedef struct ossl_crmf_msg_st OSSL_CRMF_MSG;
 | 
			
		||||
DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_MSG)
 | 
			
		||||
@@ -151,12 +151,14 @@ int OSSL_CRMF_MSGS_verify_popo(const OSSL_CRMF_MSGS *reqs,
 | 
			
		||||
                               int rid, int acceptRAVerified,
 | 
			
		||||
                               OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
OSSL_CRMF_CERTTEMPLATE *OSSL_CRMF_MSG_get0_tmpl(const OSSL_CRMF_MSG *crm);
 | 
			
		||||
const ASN1_INTEGER
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
X509_PUBKEY
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_publicKey(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const X509_NAME
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_subject(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const X509_NAME
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_issuer(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const ASN1_INTEGER
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
X509_EXTENSIONS
 | 
			
		||||
*OSSL_CRMF_CERTTEMPLATE_get0_extensions(const OSSL_CRMF_CERTTEMPLATE *tmpl);
 | 
			
		||||
const X509_NAME
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/crypto.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -88,6 +88,7 @@ int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock);
 | 
			
		||||
int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,
 | 
			
		||||
                     CRYPTO_RWLOCK *lock);
 | 
			
		||||
int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock);
 | 
			
		||||
int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock);
 | 
			
		||||
 | 
			
		||||
/* No longer needed, so this is a no-op */
 | 
			
		||||
#define OPENSSL_malloc_init() while(0) continue
 | 
			
		||||
@@ -552,6 +553,8 @@ void OSSL_LIB_CTX_free(OSSL_LIB_CTX *);
 | 
			
		||||
OSSL_LIB_CTX *OSSL_LIB_CTX_get0_global_default(void);
 | 
			
		||||
OSSL_LIB_CTX *OSSL_LIB_CTX_set0_default(OSSL_LIB_CTX *libctx);
 | 
			
		||||
 | 
			
		||||
void OSSL_sleep(uint64_t millis);
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -89,6 +89,7 @@ int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock);
 | 
			
		||||
int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,
 | 
			
		||||
                     CRYPTO_RWLOCK *lock);
 | 
			
		||||
int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock);
 | 
			
		||||
int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock);
 | 
			
		||||
 | 
			
		||||
/* No longer needed, so this is a no-op */
 | 
			
		||||
#define OPENSSL_malloc_init() while(0) continue
 | 
			
		||||
@@ -529,6 +530,8 @@ void OSSL_LIB_CTX_free(OSSL_LIB_CTX *);
 | 
			
		||||
OSSL_LIB_CTX *OSSL_LIB_CTX_get0_global_default(void);
 | 
			
		||||
OSSL_LIB_CTX *OSSL_LIB_CTX_set0_default(OSSL_LIB_CTX *libctx);
 | 
			
		||||
 | 
			
		||||
void OSSL_sleep(uint64_t millis);
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -133,7 +133,7 @@ typedef enum {
 | 
			
		||||
 */
 | 
			
		||||
CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new_ex(OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                              const char *propq);
 | 
			
		||||
                                                       
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The same as CT_POLICY_EVAL_CTX_new_ex() but the default library
 | 
			
		||||
 * context and property query string is used.
 | 
			
		||||
 
 | 
			
		||||
@@ -85,7 +85,7 @@ typedef enum {
 | 
			
		||||
 */
 | 
			
		||||
CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new_ex(OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                              const char *propq);
 | 
			
		||||
                                                       
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The same as CT_POLICY_EVAL_CTX_new_ex() but the default library
 | 
			
		||||
 * context and property query string is used.
 | 
			
		||||
 
 | 
			
		||||
@@ -144,7 +144,7 @@ DECLARE_ASN1_ITEM(DHparams)
 | 
			
		||||
#   define DH_GENERATOR_3          3
 | 
			
		||||
#   define DH_GENERATOR_5          5
 | 
			
		||||
 | 
			
		||||
/* DH_check error codes */
 | 
			
		||||
/* DH_check error codes, some of them shared with DH_check_pub_key */
 | 
			
		||||
/*
 | 
			
		||||
 * NB: These values must align with the equivalently named macros in
 | 
			
		||||
 * internal/ffc.h.
 | 
			
		||||
@@ -154,10 +154,10 @@ DECLARE_ASN1_ITEM(DHparams)
 | 
			
		||||
#   define DH_UNABLE_TO_CHECK_GENERATOR    0x04
 | 
			
		||||
#   define DH_NOT_SUITABLE_GENERATOR       0x08
 | 
			
		||||
#   define DH_CHECK_Q_NOT_PRIME            0x10
 | 
			
		||||
#   define DH_CHECK_INVALID_Q_VALUE        0x20
 | 
			
		||||
#   define DH_CHECK_INVALID_Q_VALUE        0x20 /* +DH_check_pub_key */
 | 
			
		||||
#   define DH_CHECK_INVALID_J_VALUE        0x40
 | 
			
		||||
#   define DH_MODULUS_TOO_SMALL            0x80
 | 
			
		||||
#   define DH_MODULUS_TOO_LARGE            0x100
 | 
			
		||||
#   define DH_MODULUS_TOO_LARGE            0x100 /* +DH_check_pub_key */
 | 
			
		||||
 | 
			
		||||
/* DH_check_pub_key error codes */
 | 
			
		||||
#   define DH_CHECK_PUBKEY_TOO_SMALL       0x01
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Generated by util/mkerr.pl DO NOT EDIT
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -40,6 +40,7 @@
 | 
			
		||||
#  define DH_R_INVALID_PARAMETER_NID                       114
 | 
			
		||||
#  define DH_R_INVALID_PUBKEY                              102
 | 
			
		||||
#  define DH_R_INVALID_SECRET                              128
 | 
			
		||||
#  define DH_R_INVALID_SIZE                                129
 | 
			
		||||
#  define DH_R_KDF_PARAMETER_ERROR                         112
 | 
			
		||||
#  define DH_R_KEYS_NOT_SET                                108
 | 
			
		||||
#  define DH_R_MISSING_PUBKEY                              125
 | 
			
		||||
@@ -50,6 +51,7 @@
 | 
			
		||||
#  define DH_R_NO_PRIVATE_VALUE                            100
 | 
			
		||||
#  define DH_R_PARAMETER_ENCODING_ERROR                    105
 | 
			
		||||
#  define DH_R_PEER_KEY_ERROR                              111
 | 
			
		||||
#  define DH_R_Q_TOO_LARGE                                 130
 | 
			
		||||
#  define DH_R_SHARED_INFO_ERROR                           113
 | 
			
		||||
#  define DH_R_UNABLE_TO_CHECK_GENERATOR                   121
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -89,7 +89,7 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * DLL settings.  This part is a bit tough, because it's up to the
 | 
			
		||||
 * application implementor how he or she will link the application, so it
 | 
			
		||||
 * application implementer how he or she will link the application, so it
 | 
			
		||||
 * requires some macro to be used.
 | 
			
		||||
 */
 | 
			
		||||
# ifdef OPENSSL_SYS_WINDOWS
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/e_ostime.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/e_ostime.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_E_OSTIME_H
 | 
			
		||||
# define OPENSSL_E_OSTIME_H
 | 
			
		||||
# pragma once
 | 
			
		||||
 | 
			
		||||
# include <openssl/macros.h>
 | 
			
		||||
# include <openssl/opensslconf.h>
 | 
			
		||||
# include <openssl/e_os2.h>
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This header guarantees that 'struct timeval' will be available. It includes
 | 
			
		||||
 * the minimum headers needed to facilitate this. This may still be a
 | 
			
		||||
 * substantial set of headers on some platforms (e.g. <winsock2.h> on Win32).
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
# if defined(OPENSSL_SYS_WINDOWS)
 | 
			
		||||
#  include <winsock2.h>
 | 
			
		||||
# else
 | 
			
		||||
#  include <sys/time.h>
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2002-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2002-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -460,6 +460,22 @@ EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a,
 | 
			
		||||
EC_GROUP *EC_GROUP_new_from_params(const OSSL_PARAM params[],
 | 
			
		||||
                                   OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Creates an OSSL_PARAM array with the parameters describing the given
 | 
			
		||||
 * EC_GROUP.
 | 
			
		||||
 * The resulting parameters may contain an explicit or a named curve depending
 | 
			
		||||
 * on the EC_GROUP.
 | 
			
		||||
 *  \param  group  pointer to the EC_GROUP object
 | 
			
		||||
 *  \param  libctx The associated library context or NULL for the default
 | 
			
		||||
 *                 context
 | 
			
		||||
 *  \param  propq  A property query string
 | 
			
		||||
 *  \param  bnctx  BN_CTX object (optional)
 | 
			
		||||
 *  \return newly created OSSL_PARAM array with the parameters
 | 
			
		||||
 *          describing the given EC_GROUP or NULL if an error occurred
 | 
			
		||||
 */
 | 
			
		||||
OSSL_PARAM *EC_GROUP_to_params(const EC_GROUP *group, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                               const char *propq, BN_CTX *bnctx);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Creates a EC_GROUP object with a curve specified by a NID
 | 
			
		||||
 *  \param  libctx The associated library context or NULL for the default
 | 
			
		||||
@@ -1111,7 +1127,7 @@ OSSL_DEPRECATEDIN_3_0 int EC_KEY_check_key(const EC_KEY *key);
 | 
			
		||||
 | 
			
		||||
/** Indicates if an EC_KEY can be used for signing.
 | 
			
		||||
 *  \param  eckey  the EC_KEY object
 | 
			
		||||
 *  \return 1 if can can sign and 0 otherwise.
 | 
			
		||||
 *  \return 1 if can sign and 0 otherwise.
 | 
			
		||||
 */
 | 
			
		||||
OSSL_DEPRECATEDIN_3_0 int EC_KEY_can_sign(const EC_KEY *eckey);
 | 
			
		||||
 | 
			
		||||
@@ -1287,7 +1303,7 @@ OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *me
 | 
			
		||||
OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_method(ENGINE *engine);
 | 
			
		||||
 | 
			
		||||
/** The old name for ecdh_KDF_X9_63
 | 
			
		||||
 *  The ECDH KDF specification has been mistakingly attributed to ANSI X9.62,
 | 
			
		||||
 *  The ECDH KDF specification has been mistakenly attributed to ANSI X9.62,
 | 
			
		||||
 *  it is actually specified in ANSI X9.63.
 | 
			
		||||
 *  This identifier is retained for backwards compatibility
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -496,6 +496,13 @@ int ERR_get_next_error_library(void);
 | 
			
		||||
int ERR_set_mark(void);
 | 
			
		||||
int ERR_pop_to_mark(void);
 | 
			
		||||
int ERR_clear_last_mark(void);
 | 
			
		||||
int ERR_count_to_mark(void);
 | 
			
		||||
 | 
			
		||||
ERR_STATE *OSSL_ERR_STATE_new(void);
 | 
			
		||||
void OSSL_ERR_STATE_save(ERR_STATE *es);
 | 
			
		||||
void OSSL_ERR_STATE_save_to_mark(ERR_STATE *es);
 | 
			
		||||
void OSSL_ERR_STATE_restore(const ERR_STATE *es);
 | 
			
		||||
void OSSL_ERR_STATE_free(ERR_STATE *es);
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -485,6 +485,13 @@ int ERR_get_next_error_library(void);
 | 
			
		||||
int ERR_set_mark(void);
 | 
			
		||||
int ERR_pop_to_mark(void);
 | 
			
		||||
int ERR_clear_last_mark(void);
 | 
			
		||||
int ERR_count_to_mark(void);
 | 
			
		||||
 | 
			
		||||
ERR_STATE *OSSL_ERR_STATE_new(void);
 | 
			
		||||
void OSSL_ERR_STATE_save(ERR_STATE *es);
 | 
			
		||||
void OSSL_ERR_STATE_save_to_mark(ERR_STATE *es);
 | 
			
		||||
void OSSL_ERR_STATE_restore(const ERR_STATE *es);
 | 
			
		||||
void OSSL_ERR_STATE_free(ERR_STATE *es);
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,7 @@
 | 
			
		||||
# define EVP_MAX_KEY_LENGTH              64
 | 
			
		||||
# define EVP_MAX_IV_LENGTH               16
 | 
			
		||||
# define EVP_MAX_BLOCK_LENGTH            32
 | 
			
		||||
# define EVP_MAX_AEAD_TAG_LENGTH         16
 | 
			
		||||
 | 
			
		||||
# define PKCS5_SALT_LEN                  8
 | 
			
		||||
/* Default PKCS#5 iteration count */
 | 
			
		||||
@@ -228,7 +229,8 @@ int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd,
 | 
			
		||||
 * if the following flag is set.
 | 
			
		||||
 */
 | 
			
		||||
# define EVP_MD_CTX_FLAG_FINALISE        0x0200
 | 
			
		||||
/* NOTE: 0x0400 is reserved for internal usage */
 | 
			
		||||
/* NOTE: 0x0400 and 0x0800 are reserved for internal usage */
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_DEPRECATED_3_0
 | 
			
		||||
OSSL_DEPRECATEDIN_3_0
 | 
			
		||||
EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len);
 | 
			
		||||
@@ -308,6 +310,7 @@ OSSL_DEPRECATEDIN_3_0 int
 | 
			
		||||
# define         EVP_CIPH_WRAP_MODE              0x10002
 | 
			
		||||
# define         EVP_CIPH_OCB_MODE               0x10003
 | 
			
		||||
# define         EVP_CIPH_SIV_MODE               0x10004
 | 
			
		||||
# define         EVP_CIPH_GCM_SIV_MODE           0x10005
 | 
			
		||||
# define         EVP_CIPH_MODE                   0xF0007
 | 
			
		||||
/* Set if variable length cipher */
 | 
			
		||||
# define         EVP_CIPH_VARIABLE_LENGTH        0x8
 | 
			
		||||
@@ -674,7 +677,7 @@ void BIO_set_md(BIO *, const EVP_MD *md);
 | 
			
		||||
# define BIO_get_cipher_status(b)   BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL)
 | 
			
		||||
# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(c_pp))
 | 
			
		||||
 | 
			
		||||
/*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c,
 | 
			
		||||
__owur int EVP_Cipher(EVP_CIPHER_CTX *c,
 | 
			
		||||
                          unsigned char *out,
 | 
			
		||||
                          const unsigned char *in, unsigned int inl);
 | 
			
		||||
 | 
			
		||||
@@ -752,7 +755,7 @@ int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags);
 | 
			
		||||
 | 
			
		||||
__owur int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
 | 
			
		||||
                           const unsigned char *key, const unsigned char *iv);
 | 
			
		||||
/*__owur*/ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,
 | 
			
		||||
__owur int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,
 | 
			
		||||
                                  const EVP_CIPHER *cipher, ENGINE *impl,
 | 
			
		||||
                                  const unsigned char *key,
 | 
			
		||||
                                  const unsigned char *iv);
 | 
			
		||||
@@ -760,16 +763,16 @@ __owur int EVP_EncryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
 | 
			
		||||
                               const unsigned char *key,
 | 
			
		||||
                               const unsigned char *iv,
 | 
			
		||||
                               const OSSL_PARAM params[]);
 | 
			
		||||
/*__owur*/ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
__owur int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
                                 int *outl, const unsigned char *in, int inl);
 | 
			
		||||
/*__owur*/ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
__owur int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
                                   int *outl);
 | 
			
		||||
/*__owur*/ int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
__owur int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
                                int *outl);
 | 
			
		||||
 | 
			
		||||
__owur int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
 | 
			
		||||
                           const unsigned char *key, const unsigned char *iv);
 | 
			
		||||
/*__owur*/ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx,
 | 
			
		||||
__owur int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx,
 | 
			
		||||
                                  const EVP_CIPHER *cipher, ENGINE *impl,
 | 
			
		||||
                                  const unsigned char *key,
 | 
			
		||||
                                  const unsigned char *iv);
 | 
			
		||||
@@ -777,17 +780,17 @@ __owur int EVP_DecryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
 | 
			
		||||
                               const unsigned char *key,
 | 
			
		||||
                               const unsigned char *iv,
 | 
			
		||||
                               const OSSL_PARAM params[]);
 | 
			
		||||
/*__owur*/ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
__owur int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
 | 
			
		||||
                                 int *outl, const unsigned char *in, int inl);
 | 
			
		||||
__owur int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm,
 | 
			
		||||
                            int *outl);
 | 
			
		||||
/*__owur*/ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
 | 
			
		||||
__owur int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
 | 
			
		||||
                                   int *outl);
 | 
			
		||||
 | 
			
		||||
__owur int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
 | 
			
		||||
                          const unsigned char *key, const unsigned char *iv,
 | 
			
		||||
                          int enc);
 | 
			
		||||
/*__owur*/ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx,
 | 
			
		||||
__owur int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx,
 | 
			
		||||
                                 const EVP_CIPHER *cipher, ENGINE *impl,
 | 
			
		||||
                                 const unsigned char *key,
 | 
			
		||||
                                 const unsigned char *iv, int enc);
 | 
			
		||||
@@ -821,18 +824,18 @@ __owur int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret,
 | 
			
		||||
                            size_t siglen, const unsigned char *tbs,
 | 
			
		||||
                            size_t tbslen);
 | 
			
		||||
 | 
			
		||||
int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 | 
			
		||||
__owur int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 | 
			
		||||
                          const char *mdname, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                          const char *props, EVP_PKEY *pkey,
 | 
			
		||||
                          const OSSL_PARAM params[]);
 | 
			
		||||
/*__owur*/ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 | 
			
		||||
__owur int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 | 
			
		||||
                                  const EVP_MD *type, ENGINE *e,
 | 
			
		||||
                                  EVP_PKEY *pkey);
 | 
			
		||||
int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize);
 | 
			
		||||
__owur int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize);
 | 
			
		||||
__owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,
 | 
			
		||||
                               size_t *siglen);
 | 
			
		||||
 | 
			
		||||
int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 | 
			
		||||
__owur int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 | 
			
		||||
                            const char *mdname, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                            const char *props, EVP_PKEY *pkey,
 | 
			
		||||
                            const OSSL_PARAM params[]);
 | 
			
		||||
@@ -1927,14 +1930,17 @@ int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer);
 | 
			
		||||
int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
 | 
			
		||||
 | 
			
		||||
int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 | 
			
		||||
int EVP_PKEY_auth_encapsulate_init(EVP_PKEY_CTX *ctx, EVP_PKEY *authpriv,
 | 
			
		||||
                                   const OSSL_PARAM params[]);
 | 
			
		||||
int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx,
 | 
			
		||||
                         unsigned char *wrappedkey, size_t *wrappedkeylen,
 | 
			
		||||
                         unsigned char *genkey, size_t *genkeylen);
 | 
			
		||||
int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 | 
			
		||||
int EVP_PKEY_auth_decapsulate_init(EVP_PKEY_CTX *ctx, EVP_PKEY *authpub,
 | 
			
		||||
                                   const OSSL_PARAM params[]);
 | 
			
		||||
int EVP_PKEY_decapsulate(EVP_PKEY_CTX *ctx,
 | 
			
		||||
                         unsigned char *unwrapped, size_t *unwrappedlen,
 | 
			
		||||
                         const unsigned char *wrapped, size_t wrappedlen);
 | 
			
		||||
 | 
			
		||||
typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
int EVP_PKEY_fromdata_init(EVP_PKEY_CTX *ctx);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Generated by util/mkerr.pl DO NOT EDIT
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -110,11 +110,14 @@
 | 
			
		||||
# define EVP_R_UNABLE_TO_GET_RANDOM_STRENGTH              216
 | 
			
		||||
# define EVP_R_UNABLE_TO_LOCK_CONTEXT                     211
 | 
			
		||||
# define EVP_R_UNABLE_TO_SET_CALLBACKS                    217
 | 
			
		||||
# define EVP_R_UNKNOWN_BITS                               166
 | 
			
		||||
# define EVP_R_UNKNOWN_CIPHER                             160
 | 
			
		||||
# define EVP_R_UNKNOWN_DIGEST                             161
 | 
			
		||||
# define EVP_R_UNKNOWN_KEY_TYPE                           207
 | 
			
		||||
# define EVP_R_UNKNOWN_MAX_SIZE                           167
 | 
			
		||||
# define EVP_R_UNKNOWN_OPTION                             169
 | 
			
		||||
# define EVP_R_UNKNOWN_PBE_ALGORITHM                      121
 | 
			
		||||
# define EVP_R_UNKNOWN_SECURITY_BITS                      168
 | 
			
		||||
# define EVP_R_UNSUPPORTED_ALGORITHM                      156
 | 
			
		||||
# define EVP_R_UNSUPPORTED_CIPHER                         107
 | 
			
		||||
# define EVP_R_UNSUPPORTED_KEYLENGTH                      123
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										169
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/hpke.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										169
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/hpke.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,169 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the OpenSSL license (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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* APIs and data structures for HPKE (RFC9180)  */
 | 
			
		||||
#ifndef OSSL_HPKE_H
 | 
			
		||||
# define OSSL_HPKE_H
 | 
			
		||||
# pragma once
 | 
			
		||||
 | 
			
		||||
# include <openssl/types.h>
 | 
			
		||||
 | 
			
		||||
/* HPKE modes */
 | 
			
		||||
# define OSSL_HPKE_MODE_BASE              0 /* Base mode  */
 | 
			
		||||
# define OSSL_HPKE_MODE_PSK               1 /* Pre-shared key mode */
 | 
			
		||||
# define OSSL_HPKE_MODE_AUTH              2 /* Authenticated mode */
 | 
			
		||||
# define OSSL_HPKE_MODE_PSKAUTH           3 /* PSK+authenticated mode */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Max for ikm, psk, pskid, info and exporter contexts.
 | 
			
		||||
 * RFC9180, section 7.2.1 RECOMMENDS 64 octets but we have test vectors from
 | 
			
		||||
 * Appendix A.6.1 with a 66 octet IKM so we'll allow that.
 | 
			
		||||
 */
 | 
			
		||||
# define OSSL_HPKE_MAX_PARMLEN        66
 | 
			
		||||
# define OSSL_HPKE_MIN_PSKLEN         32
 | 
			
		||||
# define OSSL_HPKE_MAX_INFOLEN        1024
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The (16bit) HPKE algorithm ID IANA codepoints
 | 
			
		||||
 * If/when new IANA codepoints are added there are tables in
 | 
			
		||||
 * crypto/hpke/hpke_util.c that must also be updated.
 | 
			
		||||
 */
 | 
			
		||||
# define OSSL_HPKE_KEM_ID_RESERVED         0x0000 /* not used */
 | 
			
		||||
# define OSSL_HPKE_KEM_ID_P256             0x0010 /* NIST P-256 */
 | 
			
		||||
# define OSSL_HPKE_KEM_ID_P384             0x0011 /* NIST P-384 */
 | 
			
		||||
# define OSSL_HPKE_KEM_ID_P521             0x0012 /* NIST P-521 */
 | 
			
		||||
# define OSSL_HPKE_KEM_ID_X25519           0x0020 /* Curve25519 */
 | 
			
		||||
# define OSSL_HPKE_KEM_ID_X448             0x0021 /* Curve448 */
 | 
			
		||||
 | 
			
		||||
# define OSSL_HPKE_KDF_ID_RESERVED         0x0000 /* not used */
 | 
			
		||||
# define OSSL_HPKE_KDF_ID_HKDF_SHA256      0x0001 /* HKDF-SHA256 */
 | 
			
		||||
# define OSSL_HPKE_KDF_ID_HKDF_SHA384      0x0002 /* HKDF-SHA384 */
 | 
			
		||||
# define OSSL_HPKE_KDF_ID_HKDF_SHA512      0x0003 /* HKDF-SHA512 */
 | 
			
		||||
 | 
			
		||||
# define OSSL_HPKE_AEAD_ID_RESERVED        0x0000 /* not used */
 | 
			
		||||
# define OSSL_HPKE_AEAD_ID_AES_GCM_128     0x0001 /* AES-GCM-128 */
 | 
			
		||||
# define OSSL_HPKE_AEAD_ID_AES_GCM_256     0x0002 /* AES-GCM-256 */
 | 
			
		||||
# define OSSL_HPKE_AEAD_ID_CHACHA_POLY1305 0x0003 /* Chacha20-Poly1305 */
 | 
			
		||||
# define OSSL_HPKE_AEAD_ID_EXPORTONLY      0xFFFF /* export-only fake ID */
 | 
			
		||||
 | 
			
		||||
/* strings for suite components */
 | 
			
		||||
# define OSSL_HPKE_KEMSTR_P256        "P-256"              /* KEM id 0x10 */
 | 
			
		||||
# define OSSL_HPKE_KEMSTR_P384        "P-384"              /* KEM id 0x11 */
 | 
			
		||||
# define OSSL_HPKE_KEMSTR_P521        "P-521"              /* KEM id 0x12 */
 | 
			
		||||
# define OSSL_HPKE_KEMSTR_X25519      "X25519"             /* KEM id 0x20 */
 | 
			
		||||
# define OSSL_HPKE_KEMSTR_X448        "X448"               /* KEM id 0x21 */
 | 
			
		||||
# define OSSL_HPKE_KDFSTR_256         "hkdf-sha256"        /* KDF id 1 */
 | 
			
		||||
# define OSSL_HPKE_KDFSTR_384         "hkdf-sha384"        /* KDF id 2 */
 | 
			
		||||
# define OSSL_HPKE_KDFSTR_512         "hkdf-sha512"        /* KDF id 3 */
 | 
			
		||||
# define OSSL_HPKE_AEADSTR_AES128GCM  "aes-128-gcm"        /* AEAD id 1 */
 | 
			
		||||
# define OSSL_HPKE_AEADSTR_AES256GCM  "aes-256-gcm"        /* AEAD id 2 */
 | 
			
		||||
# define OSSL_HPKE_AEADSTR_CP         "chacha20-poly1305"  /* AEAD id 3 */
 | 
			
		||||
# define OSSL_HPKE_AEADSTR_EXP        "exporter"           /* AEAD id 0xff */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Roles for use in creating an OSSL_HPKE_CTX, most
 | 
			
		||||
 * important use of this is to control nonce re-use.
 | 
			
		||||
 */
 | 
			
		||||
# define OSSL_HPKE_ROLE_SENDER 0
 | 
			
		||||
# define OSSL_HPKE_ROLE_RECEIVER 1
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    uint16_t    kem_id; /* Key Encapsulation Method id */
 | 
			
		||||
    uint16_t    kdf_id; /* Key Derivation Function id */
 | 
			
		||||
    uint16_t    aead_id; /* AEAD alg id */
 | 
			
		||||
} OSSL_HPKE_SUITE;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Suite constants, use this like:
 | 
			
		||||
 *          OSSL_HPKE_SUITE myvar = OSSL_HPKE_SUITE_DEFAULT;
 | 
			
		||||
 */
 | 
			
		||||
# ifndef OPENSSL_NO_ECX
 | 
			
		||||
#  define OSSL_HPKE_SUITE_DEFAULT \
 | 
			
		||||
    {\
 | 
			
		||||
        OSSL_HPKE_KEM_ID_X25519, \
 | 
			
		||||
        OSSL_HPKE_KDF_ID_HKDF_SHA256, \
 | 
			
		||||
        OSSL_HPKE_AEAD_ID_AES_GCM_128 \
 | 
			
		||||
    }
 | 
			
		||||
# else
 | 
			
		||||
#  define OSSL_HPKE_SUITE_DEFAULT \
 | 
			
		||||
    {\
 | 
			
		||||
        OSSL_HPKE_KEM_ID_P256, \
 | 
			
		||||
        OSSL_HPKE_KDF_ID_HKDF_SHA256, \
 | 
			
		||||
        OSSL_HPKE_AEAD_ID_AES_GCM_128 \
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct ossl_hpke_ctx_st OSSL_HPKE_CTX;
 | 
			
		||||
 | 
			
		||||
OSSL_HPKE_CTX *OSSL_HPKE_CTX_new(int mode, OSSL_HPKE_SUITE suite, int role,
 | 
			
		||||
                                 OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
void OSSL_HPKE_CTX_free(OSSL_HPKE_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
int OSSL_HPKE_encap(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                    unsigned char *enc, size_t *enclen,
 | 
			
		||||
                    const unsigned char *pub, size_t publen,
 | 
			
		||||
                    const unsigned char *info, size_t infolen);
 | 
			
		||||
int OSSL_HPKE_seal(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                   unsigned char *ct, size_t *ctlen,
 | 
			
		||||
                   const unsigned char *aad, size_t aadlen,
 | 
			
		||||
                   const unsigned char *pt, size_t ptlen);
 | 
			
		||||
 | 
			
		||||
int OSSL_HPKE_keygen(OSSL_HPKE_SUITE suite,
 | 
			
		||||
                     unsigned char *pub, size_t *publen, EVP_PKEY **priv,
 | 
			
		||||
                     const unsigned char *ikm, size_t ikmlen,
 | 
			
		||||
                     OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int OSSL_HPKE_decap(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                    const unsigned char *enc, size_t enclen,
 | 
			
		||||
                    EVP_PKEY *recippriv,
 | 
			
		||||
                    const unsigned char *info, size_t infolen);
 | 
			
		||||
int OSSL_HPKE_open(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                   unsigned char *pt, size_t *ptlen,
 | 
			
		||||
                   const unsigned char *aad, size_t aadlen,
 | 
			
		||||
                   const unsigned char *ct, size_t ctlen);
 | 
			
		||||
 | 
			
		||||
int OSSL_HPKE_export(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                     unsigned char *secret,
 | 
			
		||||
                     size_t secretlen,
 | 
			
		||||
                     const unsigned char *label,
 | 
			
		||||
                     size_t labellen);
 | 
			
		||||
 | 
			
		||||
int OSSL_HPKE_CTX_set1_authpriv(OSSL_HPKE_CTX *ctx, EVP_PKEY *priv);
 | 
			
		||||
int OSSL_HPKE_CTX_set1_authpub(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                               const unsigned char *pub,
 | 
			
		||||
                               size_t publen);
 | 
			
		||||
int OSSL_HPKE_CTX_set1_psk(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                           const char *pskid,
 | 
			
		||||
                           const unsigned char *psk, size_t psklen);
 | 
			
		||||
 | 
			
		||||
int OSSL_HPKE_CTX_set1_ikme(OSSL_HPKE_CTX *ctx,
 | 
			
		||||
                            const unsigned char *ikme, size_t ikmelen);
 | 
			
		||||
 | 
			
		||||
int OSSL_HPKE_CTX_set_seq(OSSL_HPKE_CTX *ctx, uint64_t seq);
 | 
			
		||||
int OSSL_HPKE_CTX_get_seq(OSSL_HPKE_CTX *ctx, uint64_t *seq);
 | 
			
		||||
 | 
			
		||||
int OSSL_HPKE_suite_check(OSSL_HPKE_SUITE suite);
 | 
			
		||||
int OSSL_HPKE_get_grease_value(const OSSL_HPKE_SUITE *suite_in,
 | 
			
		||||
                               OSSL_HPKE_SUITE *suite,
 | 
			
		||||
                               unsigned char *enc, size_t *enclen,
 | 
			
		||||
                               unsigned char *ct, size_t ctlen,
 | 
			
		||||
                               OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int OSSL_HPKE_str2suite(const char *str, OSSL_HPKE_SUITE *suite);
 | 
			
		||||
size_t OSSL_HPKE_get_ciphertext_size(OSSL_HPKE_SUITE suite, size_t clearlen);
 | 
			
		||||
size_t OSSL_HPKE_get_public_encap_size(OSSL_HPKE_SUITE suite);
 | 
			
		||||
size_t OSSL_HPKE_get_recommended_ikmelen(OSSL_HPKE_SUITE suite);
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright Siemens AG 2018-2020
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -33,6 +33,8 @@ extern "C" {
 | 
			
		||||
# define OPENSSL_HTTP_PROXY "HTTP_PROXY"
 | 
			
		||||
# define OPENSSL_HTTPS_PROXY "HTTPS_PROXY"
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_HTTP
 | 
			
		||||
 | 
			
		||||
#define OSSL_HTTP_DEFAULT_MAX_LINE_LEN (4 * 1024)
 | 
			
		||||
#define OSSL_HTTP_DEFAULT_MAX_RESP_LEN (100 * 1024)
 | 
			
		||||
 | 
			
		||||
@@ -103,6 +105,8 @@ int OSSL_HTTP_parse_url(const char *url, int *pssl, char **puser, char **phost,
 | 
			
		||||
const char *OSSL_HTTP_adapt_proxy(const char *proxy, const char *no_proxy,
 | 
			
		||||
                                  const char *server, int use_ssl);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# endif /* !defined(OPENSSL_NO_HTTP) */
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -158,7 +158,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Define macros for deprecation and simulated removal purposes.
 | 
			
		||||
 *
 | 
			
		||||
 * The macros OSSL_DEPRECATED_{major}_{minor} are always defined for
 | 
			
		||||
 * The macros OSSL_DEPRECATEDIN_{major}_{minor} are always defined for
 | 
			
		||||
 * all OpenSSL versions we care for.  They can be used as attributes
 | 
			
		||||
 * in function declarations where appropriate.
 | 
			
		||||
 *
 | 
			
		||||
@@ -169,6 +169,7 @@
 | 
			
		||||
 * 'no-deprecated'.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
# undef OPENSSL_NO_DEPRECATED_3_1
 | 
			
		||||
# undef OPENSSL_NO_DEPRECATED_3_0
 | 
			
		||||
# undef OPENSSL_NO_DEPRECATED_1_1_1
 | 
			
		||||
# undef OPENSSL_NO_DEPRECATED_1_1_0
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by crypto/objects/objects.pl
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -886,6 +886,14 @@
 | 
			
		||||
#define NID_id_ct_signedChecklist               1247
 | 
			
		||||
#define OBJ_id_ct_signedChecklist               OBJ_id_smime_ct,48L
 | 
			
		||||
 | 
			
		||||
#define SN_id_ct_ASPA           "id-ct-ASPA"
 | 
			
		||||
#define NID_id_ct_ASPA          1250
 | 
			
		||||
#define OBJ_id_ct_ASPA          OBJ_id_smime_ct,49L
 | 
			
		||||
 | 
			
		||||
#define SN_id_ct_signedTAL              "id-ct-signedTAL"
 | 
			
		||||
#define NID_id_ct_signedTAL             1284
 | 
			
		||||
#define OBJ_id_ct_signedTAL             OBJ_id_smime_ct,50L
 | 
			
		||||
 | 
			
		||||
#define SN_id_smime_aa_receiptRequest           "id-smime-aa-receiptRequest"
 | 
			
		||||
#define NID_id_smime_aa_receiptRequest          212
 | 
			
		||||
#define OBJ_id_smime_aa_receiptRequest          OBJ_id_smime_aa,1L
 | 
			
		||||
@@ -1002,10 +1010,22 @@
 | 
			
		||||
#define NID_id_smime_aa_dvcs_dvc                240
 | 
			
		||||
#define OBJ_id_smime_aa_dvcs_dvc                OBJ_id_smime_aa,29L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_attrCertificateRefs                "id-aa-ets-attrCertificateRefs"
 | 
			
		||||
#define NID_id_aa_ets_attrCertificateRefs               1261
 | 
			
		||||
#define OBJ_id_aa_ets_attrCertificateRefs               OBJ_id_smime_aa,44L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_attrRevocationRefs         "id-aa-ets-attrRevocationRefs"
 | 
			
		||||
#define NID_id_aa_ets_attrRevocationRefs                1262
 | 
			
		||||
#define OBJ_id_aa_ets_attrRevocationRefs                OBJ_id_smime_aa,45L
 | 
			
		||||
 | 
			
		||||
#define SN_id_smime_aa_signingCertificateV2             "id-smime-aa-signingCertificateV2"
 | 
			
		||||
#define NID_id_smime_aa_signingCertificateV2            1086
 | 
			
		||||
#define OBJ_id_smime_aa_signingCertificateV2            OBJ_id_smime_aa,47L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_archiveTimestampV2         "id-aa-ets-archiveTimestampV2"
 | 
			
		||||
#define NID_id_aa_ets_archiveTimestampV2                1280
 | 
			
		||||
#define OBJ_id_aa_ets_archiveTimestampV2                OBJ_id_smime_aa,48L
 | 
			
		||||
 | 
			
		||||
#define SN_id_smime_alg_ESDHwith3DES            "id-smime-alg-ESDHwith3DES"
 | 
			
		||||
#define NID_id_smime_alg_ESDHwith3DES           241
 | 
			
		||||
#define OBJ_id_smime_alg_ESDHwith3DES           OBJ_id_smime_alg,1L
 | 
			
		||||
@@ -1082,15 +1102,17 @@
 | 
			
		||||
#define NID_localKeyID          157
 | 
			
		||||
#define OBJ_localKeyID          OBJ_pkcs9,21L
 | 
			
		||||
 | 
			
		||||
#define OBJ_ms_corp             1L,3L,6L,1L,4L,1L,311L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_csp_name          "CSPName"
 | 
			
		||||
#define LN_ms_csp_name          "Microsoft CSP Name"
 | 
			
		||||
#define NID_ms_csp_name         417
 | 
			
		||||
#define OBJ_ms_csp_name         1L,3L,6L,1L,4L,1L,311L,17L,1L
 | 
			
		||||
#define OBJ_ms_csp_name         OBJ_ms_corp,17L,1L
 | 
			
		||||
 | 
			
		||||
#define SN_LocalKeySet          "LocalKeySet"
 | 
			
		||||
#define LN_LocalKeySet          "Microsoft Local Key set"
 | 
			
		||||
#define NID_LocalKeySet         856
 | 
			
		||||
#define OBJ_LocalKeySet         1L,3L,6L,1L,4L,1L,311L,17L,2L
 | 
			
		||||
#define OBJ_LocalKeySet         OBJ_ms_corp,17L,2L
 | 
			
		||||
 | 
			
		||||
#define OBJ_certTypes           OBJ_pkcs9,22L
 | 
			
		||||
 | 
			
		||||
@@ -1108,6 +1130,10 @@
 | 
			
		||||
#define NID_x509Crl             160
 | 
			
		||||
#define OBJ_x509Crl             OBJ_crlTypes,1L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_CMSAlgorithmProtection         "id-aa-CMSAlgorithmProtection"
 | 
			
		||||
#define NID_id_aa_CMSAlgorithmProtection                1263
 | 
			
		||||
#define OBJ_id_aa_CMSAlgorithmProtection                OBJ_pkcs9,52L
 | 
			
		||||
 | 
			
		||||
#define OBJ_pkcs12              OBJ_pkcs,12L
 | 
			
		||||
 | 
			
		||||
#define OBJ_pkcs12_pbeids               OBJ_pkcs12,1L
 | 
			
		||||
@@ -1217,6 +1243,10 @@
 | 
			
		||||
#define NID_SM2_with_SM3                1204
 | 
			
		||||
#define OBJ_SM2_with_SM3                OBJ_sm_scheme,501L
 | 
			
		||||
 | 
			
		||||
#define LN_hmacWithSM3          "hmacWithSM3"
 | 
			
		||||
#define NID_hmacWithSM3         1281
 | 
			
		||||
#define OBJ_hmacWithSM3         OBJ_sm3,3L,1L
 | 
			
		||||
 | 
			
		||||
#define LN_hmacWithSHA224               "hmacWithSHA224"
 | 
			
		||||
#define NID_hmacWithSHA224              798
 | 
			
		||||
#define OBJ_hmacWithSHA224              OBJ_rsadsi,2L,8L
 | 
			
		||||
@@ -1300,42 +1330,62 @@
 | 
			
		||||
#define SN_ms_ext_req           "msExtReq"
 | 
			
		||||
#define LN_ms_ext_req           "Microsoft Extension Request"
 | 
			
		||||
#define NID_ms_ext_req          171
 | 
			
		||||
#define OBJ_ms_ext_req          1L,3L,6L,1L,4L,1L,311L,2L,1L,14L
 | 
			
		||||
#define OBJ_ms_ext_req          OBJ_ms_corp,2L,1L,14L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_code_ind          "msCodeInd"
 | 
			
		||||
#define LN_ms_code_ind          "Microsoft Individual Code Signing"
 | 
			
		||||
#define NID_ms_code_ind         134
 | 
			
		||||
#define OBJ_ms_code_ind         1L,3L,6L,1L,4L,1L,311L,2L,1L,21L
 | 
			
		||||
#define OBJ_ms_code_ind         OBJ_ms_corp,2L,1L,21L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_code_com          "msCodeCom"
 | 
			
		||||
#define LN_ms_code_com          "Microsoft Commercial Code Signing"
 | 
			
		||||
#define NID_ms_code_com         135
 | 
			
		||||
#define OBJ_ms_code_com         1L,3L,6L,1L,4L,1L,311L,2L,1L,22L
 | 
			
		||||
#define OBJ_ms_code_com         OBJ_ms_corp,2L,1L,22L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_ctl_sign          "msCTLSign"
 | 
			
		||||
#define LN_ms_ctl_sign          "Microsoft Trust List Signing"
 | 
			
		||||
#define NID_ms_ctl_sign         136
 | 
			
		||||
#define OBJ_ms_ctl_sign         1L,3L,6L,1L,4L,1L,311L,10L,3L,1L
 | 
			
		||||
#define OBJ_ms_ctl_sign         OBJ_ms_corp,10L,3L,1L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_sgc               "msSGC"
 | 
			
		||||
#define LN_ms_sgc               "Microsoft Server Gated Crypto"
 | 
			
		||||
#define NID_ms_sgc              137
 | 
			
		||||
#define OBJ_ms_sgc              1L,3L,6L,1L,4L,1L,311L,10L,3L,3L
 | 
			
		||||
#define OBJ_ms_sgc              OBJ_ms_corp,10L,3L,3L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_efs               "msEFS"
 | 
			
		||||
#define LN_ms_efs               "Microsoft Encrypted File System"
 | 
			
		||||
#define NID_ms_efs              138
 | 
			
		||||
#define OBJ_ms_efs              1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
 | 
			
		||||
#define OBJ_ms_efs              OBJ_ms_corp,10L,3L,4L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_smartcard_login           "msSmartcardLogin"
 | 
			
		||||
#define LN_ms_smartcard_login           "Microsoft Smartcard Login"
 | 
			
		||||
#define NID_ms_smartcard_login          648
 | 
			
		||||
#define OBJ_ms_smartcard_login          1L,3L,6L,1L,4L,1L,311L,20L,2L,2L
 | 
			
		||||
#define OBJ_ms_smartcard_login          OBJ_ms_corp,20L,2L,2L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_upn               "msUPN"
 | 
			
		||||
#define LN_ms_upn               "Microsoft User Principal Name"
 | 
			
		||||
#define NID_ms_upn              649
 | 
			
		||||
#define OBJ_ms_upn              1L,3L,6L,1L,4L,1L,311L,20L,2L,3L
 | 
			
		||||
#define OBJ_ms_upn              OBJ_ms_corp,20L,2L,3L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_ntds_sec_ext              "ms-ntds-sec-ext"
 | 
			
		||||
#define LN_ms_ntds_sec_ext              "Microsoft NTDS CA Extension"
 | 
			
		||||
#define NID_ms_ntds_sec_ext             1292
 | 
			
		||||
#define OBJ_ms_ntds_sec_ext             OBJ_ms_corp,25L,2L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_ntds_obj_sid              "ms-ntds-obj-sid"
 | 
			
		||||
#define LN_ms_ntds_obj_sid              "Microsoft NTDS AD objectSid"
 | 
			
		||||
#define NID_ms_ntds_obj_sid             1291
 | 
			
		||||
#define OBJ_ms_ntds_obj_sid             OBJ_ms_corp,25L,2L,1L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_cert_templ                "ms-cert-templ"
 | 
			
		||||
#define LN_ms_cert_templ                "Microsoft certificate template"
 | 
			
		||||
#define NID_ms_cert_templ               1293
 | 
			
		||||
#define OBJ_ms_cert_templ               OBJ_ms_corp,21L,7L
 | 
			
		||||
 | 
			
		||||
#define SN_ms_app_policies              "ms-app-policies"
 | 
			
		||||
#define LN_ms_app_policies              "Microsoft Application Policies Extension"
 | 
			
		||||
#define NID_ms_app_policies             1294
 | 
			
		||||
#define OBJ_ms_app_policies             OBJ_ms_corp,21L,10L
 | 
			
		||||
 | 
			
		||||
#define SN_idea_cbc             "IDEA-CBC"
 | 
			
		||||
#define LN_idea_cbc             "idea-cbc"
 | 
			
		||||
@@ -1503,6 +1553,18 @@
 | 
			
		||||
#define NID_id_mod_cmp2000              284
 | 
			
		||||
#define OBJ_id_mod_cmp2000              OBJ_id_pkix_mod,16L
 | 
			
		||||
 | 
			
		||||
#define SN_id_mod_cmp2000_02            "id-mod-cmp2000-02"
 | 
			
		||||
#define NID_id_mod_cmp2000_02           1251
 | 
			
		||||
#define OBJ_id_mod_cmp2000_02           OBJ_id_pkix_mod,50L
 | 
			
		||||
 | 
			
		||||
#define SN_id_mod_cmp2021_88            "id-mod-cmp2021-88"
 | 
			
		||||
#define NID_id_mod_cmp2021_88           1252
 | 
			
		||||
#define OBJ_id_mod_cmp2021_88           OBJ_id_pkix_mod,99L
 | 
			
		||||
 | 
			
		||||
#define SN_id_mod_cmp2021_02            "id-mod-cmp2021-02"
 | 
			
		||||
#define NID_id_mod_cmp2021_02           1253
 | 
			
		||||
#define OBJ_id_mod_cmp2021_02           OBJ_id_pkix_mod,100L
 | 
			
		||||
 | 
			
		||||
#define SN_info_access          "authorityInfoAccess"
 | 
			
		||||
#define LN_info_access          "Authority Information Access"
 | 
			
		||||
#define NID_info_access         177
 | 
			
		||||
@@ -1783,6 +1845,22 @@
 | 
			
		||||
#define NID_id_it_certReqTemplate               1225
 | 
			
		||||
#define OBJ_id_it_certReqTemplate               OBJ_id_it,19L
 | 
			
		||||
 | 
			
		||||
#define SN_id_it_rootCaCert             "id-it-rootCaCert"
 | 
			
		||||
#define NID_id_it_rootCaCert            1254
 | 
			
		||||
#define OBJ_id_it_rootCaCert            OBJ_id_it,20L
 | 
			
		||||
 | 
			
		||||
#define SN_id_it_certProfile            "id-it-certProfile"
 | 
			
		||||
#define NID_id_it_certProfile           1255
 | 
			
		||||
#define OBJ_id_it_certProfile           OBJ_id_it,21L
 | 
			
		||||
 | 
			
		||||
#define SN_id_it_crlStatusList          "id-it-crlStatusList"
 | 
			
		||||
#define NID_id_it_crlStatusList         1256
 | 
			
		||||
#define OBJ_id_it_crlStatusList         OBJ_id_it,22L
 | 
			
		||||
 | 
			
		||||
#define SN_id_it_crls           "id-it-crls"
 | 
			
		||||
#define NID_id_it_crls          1257
 | 
			
		||||
#define OBJ_id_it_crls          OBJ_id_it,23L
 | 
			
		||||
 | 
			
		||||
#define SN_id_regCtrl           "id-regCtrl"
 | 
			
		||||
#define NID_id_regCtrl          313
 | 
			
		||||
#define OBJ_id_regCtrl          OBJ_id_pkip,1L
 | 
			
		||||
@@ -1815,6 +1893,18 @@
 | 
			
		||||
#define NID_id_regCtrl_protocolEncrKey          320
 | 
			
		||||
#define OBJ_id_regCtrl_protocolEncrKey          OBJ_id_regCtrl,6L
 | 
			
		||||
 | 
			
		||||
#define SN_id_regCtrl_altCertTemplate           "id-regCtrl-altCertTemplate"
 | 
			
		||||
#define NID_id_regCtrl_altCertTemplate          1258
 | 
			
		||||
#define OBJ_id_regCtrl_altCertTemplate          OBJ_id_regCtrl,7L
 | 
			
		||||
 | 
			
		||||
#define SN_id_regCtrl_algId             "id-regCtrl-algId"
 | 
			
		||||
#define NID_id_regCtrl_algId            1259
 | 
			
		||||
#define OBJ_id_regCtrl_algId            OBJ_id_regCtrl,11L
 | 
			
		||||
 | 
			
		||||
#define SN_id_regCtrl_rsaKeyLen         "id-regCtrl-rsaKeyLen"
 | 
			
		||||
#define NID_id_regCtrl_rsaKeyLen                1260
 | 
			
		||||
#define OBJ_id_regCtrl_rsaKeyLen                OBJ_id_regCtrl,12L
 | 
			
		||||
 | 
			
		||||
#define SN_id_regInfo_utf8Pairs         "id-regInfo-utf8Pairs"
 | 
			
		||||
#define NID_id_regInfo_utf8Pairs                321
 | 
			
		||||
#define OBJ_id_regInfo_utf8Pairs                OBJ_id_regInfo,1L
 | 
			
		||||
@@ -2649,11 +2739,56 @@
 | 
			
		||||
#define NID_ext_key_usage               126
 | 
			
		||||
#define OBJ_ext_key_usage               OBJ_id_ce,37L
 | 
			
		||||
 | 
			
		||||
#define SN_authority_attribute_identifier               "authorityAttributeIdentifier"
 | 
			
		||||
#define LN_authority_attribute_identifier               "X509v3 Authority Attribute Identifier"
 | 
			
		||||
#define NID_authority_attribute_identifier              1295
 | 
			
		||||
#define OBJ_authority_attribute_identifier              OBJ_id_ce,38L
 | 
			
		||||
 | 
			
		||||
#define SN_role_spec_cert_identifier            "roleSpecCertIdentifier"
 | 
			
		||||
#define LN_role_spec_cert_identifier            "X509v3 Role Specification Certificate Identifier"
 | 
			
		||||
#define NID_role_spec_cert_identifier           1296
 | 
			
		||||
#define OBJ_role_spec_cert_identifier           OBJ_id_ce,39L
 | 
			
		||||
 | 
			
		||||
#define SN_basic_att_constraints                "basicAttConstraints"
 | 
			
		||||
#define LN_basic_att_constraints                "X509v3 Basic Attribute Certificate Constraints"
 | 
			
		||||
#define NID_basic_att_constraints               1297
 | 
			
		||||
#define OBJ_basic_att_constraints               OBJ_id_ce,41L
 | 
			
		||||
 | 
			
		||||
#define SN_delegated_name_constraints           "delegatedNameConstraints"
 | 
			
		||||
#define LN_delegated_name_constraints           "X509v3 Delegated Name Constraints"
 | 
			
		||||
#define NID_delegated_name_constraints          1298
 | 
			
		||||
#define OBJ_delegated_name_constraints          OBJ_id_ce,42L
 | 
			
		||||
 | 
			
		||||
#define SN_time_specification           "timeSpecification"
 | 
			
		||||
#define LN_time_specification           "X509v3 Time Specification"
 | 
			
		||||
#define NID_time_specification          1299
 | 
			
		||||
#define OBJ_time_specification          OBJ_id_ce,43L
 | 
			
		||||
 | 
			
		||||
#define SN_freshest_crl         "freshestCRL"
 | 
			
		||||
#define LN_freshest_crl         "X509v3 Freshest CRL"
 | 
			
		||||
#define NID_freshest_crl                857
 | 
			
		||||
#define OBJ_freshest_crl                OBJ_id_ce,46L
 | 
			
		||||
 | 
			
		||||
#define SN_attribute_descriptor         "attributeDescriptor"
 | 
			
		||||
#define LN_attribute_descriptor         "X509v3 Attribute Descriptor"
 | 
			
		||||
#define NID_attribute_descriptor                1300
 | 
			
		||||
#define OBJ_attribute_descriptor                OBJ_id_ce,48L
 | 
			
		||||
 | 
			
		||||
#define SN_user_notice          "userNotice"
 | 
			
		||||
#define LN_user_notice          "X509v3 User Notice"
 | 
			
		||||
#define NID_user_notice         1301
 | 
			
		||||
#define OBJ_user_notice         OBJ_id_ce,49L
 | 
			
		||||
 | 
			
		||||
#define SN_soa_identifier               "sOAIdentifier"
 | 
			
		||||
#define LN_soa_identifier               "X509v3 Source of Authority Identifier"
 | 
			
		||||
#define NID_soa_identifier              1302
 | 
			
		||||
#define OBJ_soa_identifier              OBJ_id_ce,50L
 | 
			
		||||
 | 
			
		||||
#define SN_acceptable_cert_policies             "acceptableCertPolicies"
 | 
			
		||||
#define LN_acceptable_cert_policies             "X509v3 Acceptable Certification Policies"
 | 
			
		||||
#define NID_acceptable_cert_policies            1303
 | 
			
		||||
#define OBJ_acceptable_cert_policies            OBJ_id_ce,52L
 | 
			
		||||
 | 
			
		||||
#define SN_inhibit_any_policy           "inhibitAnyPolicy"
 | 
			
		||||
#define LN_inhibit_any_policy           "X509v3 Inhibit Any Policy"
 | 
			
		||||
#define NID_inhibit_any_policy          748
 | 
			
		||||
@@ -2669,6 +2804,86 @@
 | 
			
		||||
#define NID_no_rev_avail                403
 | 
			
		||||
#define OBJ_no_rev_avail                OBJ_id_ce,56L
 | 
			
		||||
 | 
			
		||||
#define SN_acceptable_privilege_policies                "acceptablePrivPolicies"
 | 
			
		||||
#define LN_acceptable_privilege_policies                "X509v3 Acceptable Privilege Policies"
 | 
			
		||||
#define NID_acceptable_privilege_policies               1304
 | 
			
		||||
#define OBJ_acceptable_privilege_policies               OBJ_id_ce,57L
 | 
			
		||||
 | 
			
		||||
#define SN_indirect_issuer              "indirectIssuer"
 | 
			
		||||
#define LN_indirect_issuer              "X509v3 Indirect Issuer"
 | 
			
		||||
#define NID_indirect_issuer             1305
 | 
			
		||||
#define OBJ_indirect_issuer             OBJ_id_ce,61L
 | 
			
		||||
 | 
			
		||||
#define SN_no_assertion         "noAssertion"
 | 
			
		||||
#define LN_no_assertion         "X509v3 No Assertion"
 | 
			
		||||
#define NID_no_assertion                1306
 | 
			
		||||
#define OBJ_no_assertion                OBJ_id_ce,62L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_issuing_distribution_point             "aAissuingDistributionPoint"
 | 
			
		||||
#define LN_id_aa_issuing_distribution_point             "X509v3 Attribute Authority Issuing Distribution Point"
 | 
			
		||||
#define NID_id_aa_issuing_distribution_point            1307
 | 
			
		||||
#define OBJ_id_aa_issuing_distribution_point            OBJ_id_ce,63L
 | 
			
		||||
 | 
			
		||||
#define SN_issued_on_behalf_of          "issuedOnBehalfOf"
 | 
			
		||||
#define LN_issued_on_behalf_of          "X509v3 Issued On Behalf Of"
 | 
			
		||||
#define NID_issued_on_behalf_of         1308
 | 
			
		||||
#define OBJ_issued_on_behalf_of         OBJ_id_ce,64L
 | 
			
		||||
 | 
			
		||||
#define SN_single_use           "singleUse"
 | 
			
		||||
#define LN_single_use           "X509v3 Single Use"
 | 
			
		||||
#define NID_single_use          1309
 | 
			
		||||
#define OBJ_single_use          OBJ_id_ce,65L
 | 
			
		||||
 | 
			
		||||
#define SN_group_ac             "groupAC"
 | 
			
		||||
#define LN_group_ac             "X509v3 Group Attribute Certificate"
 | 
			
		||||
#define NID_group_ac            1310
 | 
			
		||||
#define OBJ_group_ac            OBJ_id_ce,66L
 | 
			
		||||
 | 
			
		||||
#define SN_allowed_attribute_assignments                "allowedAttributeAssignments"
 | 
			
		||||
#define LN_allowed_attribute_assignments                "X509v3 Allowed Attribute Assignments"
 | 
			
		||||
#define NID_allowed_attribute_assignments               1311
 | 
			
		||||
#define OBJ_allowed_attribute_assignments               OBJ_id_ce,67L
 | 
			
		||||
 | 
			
		||||
#define SN_attribute_mappings           "attributeMappings"
 | 
			
		||||
#define LN_attribute_mappings           "X509v3 Attribute Mappings"
 | 
			
		||||
#define NID_attribute_mappings          1312
 | 
			
		||||
#define OBJ_attribute_mappings          OBJ_id_ce,68L
 | 
			
		||||
 | 
			
		||||
#define SN_holder_name_constraints              "holderNameConstraints"
 | 
			
		||||
#define LN_holder_name_constraints              "X509v3 Holder Name Constraints"
 | 
			
		||||
#define NID_holder_name_constraints             1313
 | 
			
		||||
#define OBJ_holder_name_constraints             OBJ_id_ce,69L
 | 
			
		||||
 | 
			
		||||
#define SN_authorization_validation             "authorizationValidation"
 | 
			
		||||
#define LN_authorization_validation             "X509v3 Authorization Validation"
 | 
			
		||||
#define NID_authorization_validation            1314
 | 
			
		||||
#define OBJ_authorization_validation            OBJ_id_ce,70L
 | 
			
		||||
 | 
			
		||||
#define SN_prot_restrict                "protRestrict"
 | 
			
		||||
#define LN_prot_restrict                "X509v3 Protocol Restriction"
 | 
			
		||||
#define NID_prot_restrict               1315
 | 
			
		||||
#define OBJ_prot_restrict               OBJ_id_ce,71L
 | 
			
		||||
 | 
			
		||||
#define SN_subject_alt_public_key_info          "subjectAltPublicKeyInfo"
 | 
			
		||||
#define LN_subject_alt_public_key_info          "X509v3 Subject Alternative Public Key Info"
 | 
			
		||||
#define NID_subject_alt_public_key_info         1316
 | 
			
		||||
#define OBJ_subject_alt_public_key_info         OBJ_id_ce,72L
 | 
			
		||||
 | 
			
		||||
#define SN_alt_signature_algorithm              "altSignatureAlgorithm"
 | 
			
		||||
#define LN_alt_signature_algorithm              "X509v3 Alternative Signature Algorithm"
 | 
			
		||||
#define NID_alt_signature_algorithm             1317
 | 
			
		||||
#define OBJ_alt_signature_algorithm             OBJ_id_ce,73L
 | 
			
		||||
 | 
			
		||||
#define SN_alt_signature_value          "altSignatureValue"
 | 
			
		||||
#define LN_alt_signature_value          "X509v3 Alternative Signature Value"
 | 
			
		||||
#define NID_alt_signature_value         1318
 | 
			
		||||
#define OBJ_alt_signature_value         OBJ_id_ce,74L
 | 
			
		||||
 | 
			
		||||
#define SN_associated_information               "associatedInformation"
 | 
			
		||||
#define LN_associated_information               "X509v3 Associated Information"
 | 
			
		||||
#define NID_associated_information              1319
 | 
			
		||||
#define OBJ_associated_information              OBJ_id_ce,75L
 | 
			
		||||
 | 
			
		||||
#define SN_anyExtendedKeyUsage          "anyExtendedKeyUsage"
 | 
			
		||||
#define LN_anyExtendedKeyUsage          "Any Extended Key Usage"
 | 
			
		||||
#define NID_anyExtendedKeyUsage         910
 | 
			
		||||
@@ -3220,6 +3435,70 @@
 | 
			
		||||
#define NID_hold_instruction_reject             433
 | 
			
		||||
#define OBJ_hold_instruction_reject             OBJ_holdInstruction,3L
 | 
			
		||||
 | 
			
		||||
#define SN_itu_t_identified_organization                "itu-t-identified-organization"
 | 
			
		||||
#define NID_itu_t_identified_organization               1264
 | 
			
		||||
#define OBJ_itu_t_identified_organization               OBJ_itu_t,4L
 | 
			
		||||
 | 
			
		||||
#define SN_etsi         "etsi"
 | 
			
		||||
#define NID_etsi                1265
 | 
			
		||||
#define OBJ_etsi                OBJ_itu_t_identified_organization,0L
 | 
			
		||||
 | 
			
		||||
#define SN_electronic_signature_standard                "electronic-signature-standard"
 | 
			
		||||
#define NID_electronic_signature_standard               1266
 | 
			
		||||
#define OBJ_electronic_signature_standard               OBJ_etsi,1733L
 | 
			
		||||
 | 
			
		||||
#define SN_ess_attributes               "ess-attributes"
 | 
			
		||||
#define NID_ess_attributes              1267
 | 
			
		||||
#define OBJ_ess_attributes              OBJ_electronic_signature_standard,2L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_mimeType           "id-aa-ets-mimeType"
 | 
			
		||||
#define NID_id_aa_ets_mimeType          1268
 | 
			
		||||
#define OBJ_id_aa_ets_mimeType          OBJ_ess_attributes,1L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_longTermValidation         "id-aa-ets-longTermValidation"
 | 
			
		||||
#define NID_id_aa_ets_longTermValidation                1269
 | 
			
		||||
#define OBJ_id_aa_ets_longTermValidation                OBJ_ess_attributes,2L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_SignaturePolicyDocument            "id-aa-ets-SignaturePolicyDocument"
 | 
			
		||||
#define NID_id_aa_ets_SignaturePolicyDocument           1270
 | 
			
		||||
#define OBJ_id_aa_ets_SignaturePolicyDocument           OBJ_ess_attributes,3L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_archiveTimestampV3         "id-aa-ets-archiveTimestampV3"
 | 
			
		||||
#define NID_id_aa_ets_archiveTimestampV3                1271
 | 
			
		||||
#define OBJ_id_aa_ets_archiveTimestampV3                OBJ_ess_attributes,4L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ATSHashIndex           "id-aa-ATSHashIndex"
 | 
			
		||||
#define NID_id_aa_ATSHashIndex          1272
 | 
			
		||||
#define OBJ_id_aa_ATSHashIndex          OBJ_ess_attributes,5L
 | 
			
		||||
 | 
			
		||||
#define SN_cades                "cades"
 | 
			
		||||
#define NID_cades               1273
 | 
			
		||||
#define OBJ_cades               OBJ_etsi,19122L
 | 
			
		||||
 | 
			
		||||
#define SN_cades_attributes             "cades-attributes"
 | 
			
		||||
#define NID_cades_attributes            1274
 | 
			
		||||
#define OBJ_cades_attributes            OBJ_cades,1L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_signerAttrV2               "id-aa-ets-signerAttrV2"
 | 
			
		||||
#define NID_id_aa_ets_signerAttrV2              1275
 | 
			
		||||
#define OBJ_id_aa_ets_signerAttrV2              OBJ_cades_attributes,1L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ets_sigPolicyStore             "id-aa-ets-sigPolicyStore"
 | 
			
		||||
#define NID_id_aa_ets_sigPolicyStore            1276
 | 
			
		||||
#define OBJ_id_aa_ets_sigPolicyStore            OBJ_cades_attributes,3L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ATSHashIndex_v2                "id-aa-ATSHashIndex-v2"
 | 
			
		||||
#define NID_id_aa_ATSHashIndex_v2               1277
 | 
			
		||||
#define OBJ_id_aa_ATSHashIndex_v2               OBJ_cades_attributes,4L
 | 
			
		||||
 | 
			
		||||
#define SN_id_aa_ATSHashIndex_v3                "id-aa-ATSHashIndex-v3"
 | 
			
		||||
#define NID_id_aa_ATSHashIndex_v3               1278
 | 
			
		||||
#define OBJ_id_aa_ATSHashIndex_v3               OBJ_cades_attributes,5L
 | 
			
		||||
 | 
			
		||||
#define SN_signedAssertion              "signedAssertion"
 | 
			
		||||
#define NID_signedAssertion             1279
 | 
			
		||||
#define OBJ_signedAssertion             OBJ_cades_attributes,6L
 | 
			
		||||
 | 
			
		||||
#define SN_data         "data"
 | 
			
		||||
#define NID_data                434
 | 
			
		||||
#define OBJ_data                OBJ_itu_t,9L
 | 
			
		||||
@@ -4952,6 +5231,21 @@
 | 
			
		||||
#define NID_sm4_ctr             1139
 | 
			
		||||
#define OBJ_sm4_ctr             OBJ_sm_scheme,104L,7L
 | 
			
		||||
 | 
			
		||||
#define SN_sm4_gcm              "SM4-GCM"
 | 
			
		||||
#define LN_sm4_gcm              "sm4-gcm"
 | 
			
		||||
#define NID_sm4_gcm             1248
 | 
			
		||||
#define OBJ_sm4_gcm             OBJ_sm_scheme,104L,8L
 | 
			
		||||
 | 
			
		||||
#define SN_sm4_ccm              "SM4-CCM"
 | 
			
		||||
#define LN_sm4_ccm              "sm4-ccm"
 | 
			
		||||
#define NID_sm4_ccm             1249
 | 
			
		||||
#define OBJ_sm4_ccm             OBJ_sm_scheme,104L,9L
 | 
			
		||||
 | 
			
		||||
#define SN_sm4_xts              "SM4-XTS"
 | 
			
		||||
#define LN_sm4_xts              "sm4-xts"
 | 
			
		||||
#define NID_sm4_xts             1290
 | 
			
		||||
#define OBJ_sm4_xts             OBJ_sm_scheme,104L,10L
 | 
			
		||||
 | 
			
		||||
#define SN_hmac         "HMAC"
 | 
			
		||||
#define LN_hmac         "hmac"
 | 
			
		||||
#define NID_hmac                855
 | 
			
		||||
@@ -5029,6 +5323,9 @@
 | 
			
		||||
#define NID_brainpoolP256r1             927
 | 
			
		||||
#define OBJ_brainpoolP256r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,7L
 | 
			
		||||
 | 
			
		||||
#define SN_brainpoolP256r1tls13         "brainpoolP256r1tls13"
 | 
			
		||||
#define NID_brainpoolP256r1tls13                1285
 | 
			
		||||
 | 
			
		||||
#define SN_brainpoolP256t1              "brainpoolP256t1"
 | 
			
		||||
#define NID_brainpoolP256t1             928
 | 
			
		||||
#define OBJ_brainpoolP256t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,8L
 | 
			
		||||
@@ -5045,6 +5342,9 @@
 | 
			
		||||
#define NID_brainpoolP384r1             931
 | 
			
		||||
#define OBJ_brainpoolP384r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,11L
 | 
			
		||||
 | 
			
		||||
#define SN_brainpoolP384r1tls13         "brainpoolP384r1tls13"
 | 
			
		||||
#define NID_brainpoolP384r1tls13                1286
 | 
			
		||||
 | 
			
		||||
#define SN_brainpoolP384t1              "brainpoolP384t1"
 | 
			
		||||
#define NID_brainpoolP384t1             932
 | 
			
		||||
#define OBJ_brainpoolP384t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,12L
 | 
			
		||||
@@ -5053,6 +5353,9 @@
 | 
			
		||||
#define NID_brainpoolP512r1             933
 | 
			
		||||
#define OBJ_brainpoolP512r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,13L
 | 
			
		||||
 | 
			
		||||
#define SN_brainpoolP512r1tls13         "brainpoolP512r1tls13"
 | 
			
		||||
#define NID_brainpoolP512r1tls13                1287
 | 
			
		||||
 | 
			
		||||
#define SN_brainpoolP512t1              "brainpoolP512t1"
 | 
			
		||||
#define NID_brainpoolP512t1             934
 | 
			
		||||
#define OBJ_brainpoolP512t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,14L
 | 
			
		||||
@@ -5130,17 +5433,17 @@
 | 
			
		||||
#define SN_jurisdictionLocalityName             "jurisdictionL"
 | 
			
		||||
#define LN_jurisdictionLocalityName             "jurisdictionLocalityName"
 | 
			
		||||
#define NID_jurisdictionLocalityName            955
 | 
			
		||||
#define OBJ_jurisdictionLocalityName            1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L
 | 
			
		||||
#define OBJ_jurisdictionLocalityName            OBJ_ms_corp,60L,2L,1L,1L
 | 
			
		||||
 | 
			
		||||
#define SN_jurisdictionStateOrProvinceName              "jurisdictionST"
 | 
			
		||||
#define LN_jurisdictionStateOrProvinceName              "jurisdictionStateOrProvinceName"
 | 
			
		||||
#define NID_jurisdictionStateOrProvinceName             956
 | 
			
		||||
#define OBJ_jurisdictionStateOrProvinceName             1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L
 | 
			
		||||
#define OBJ_jurisdictionStateOrProvinceName             OBJ_ms_corp,60L,2L,1L,2L
 | 
			
		||||
 | 
			
		||||
#define SN_jurisdictionCountryName              "jurisdictionC"
 | 
			
		||||
#define LN_jurisdictionCountryName              "jurisdictionCountryName"
 | 
			
		||||
#define NID_jurisdictionCountryName             957
 | 
			
		||||
#define OBJ_jurisdictionCountryName             1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L
 | 
			
		||||
#define OBJ_jurisdictionCountryName             OBJ_ms_corp,60L,2L,1L,3L
 | 
			
		||||
 | 
			
		||||
#define SN_id_scrypt            "id-scrypt"
 | 
			
		||||
#define LN_id_scrypt            "scrypt"
 | 
			
		||||
@@ -5432,6 +5735,24 @@
 | 
			
		||||
#define LN_aes_256_siv          "aes-256-siv"
 | 
			
		||||
#define NID_aes_256_siv         1200
 | 
			
		||||
 | 
			
		||||
#define SN_oracle               "oracle-organization"
 | 
			
		||||
#define LN_oracle               "Oracle organization"
 | 
			
		||||
#define NID_oracle              1282
 | 
			
		||||
#define OBJ_oracle              OBJ_joint_iso_itu_t,16L,840L,1L,113894L
 | 
			
		||||
 | 
			
		||||
#define SN_oracle_jdk_trustedkeyusage           "oracle-jdk-trustedkeyusage"
 | 
			
		||||
#define LN_oracle_jdk_trustedkeyusage           "Trusted key usage (Oracle)"
 | 
			
		||||
#define NID_oracle_jdk_trustedkeyusage          1283
 | 
			
		||||
#define OBJ_oracle_jdk_trustedkeyusage          OBJ_oracle,746875L,1L,1L
 | 
			
		||||
 | 
			
		||||
#define SN_brotli               "brotli"
 | 
			
		||||
#define LN_brotli               "Brotli compression"
 | 
			
		||||
#define NID_brotli              1288
 | 
			
		||||
 | 
			
		||||
#define SN_zstd         "zstd"
 | 
			
		||||
#define LN_zstd         "Zstandard compression"
 | 
			
		||||
#define NID_zstd                1289
 | 
			
		||||
 | 
			
		||||
#endif /* OPENSSL_OBJ_MAC_H */
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_DEPRECATED_3_0
 | 
			
		||||
 
 | 
			
		||||
@@ -28,8 +28,8 @@ extern "C" {
 | 
			
		||||
 * These macros express version number MAJOR.MINOR.PATCH exactly
 | 
			
		||||
 */
 | 
			
		||||
# define OPENSSL_VERSION_MAJOR  3
 | 
			
		||||
# define OPENSSL_VERSION_MINOR  1
 | 
			
		||||
# define OPENSSL_VERSION_PATCH  4
 | 
			
		||||
# define OPENSSL_VERSION_MINOR  2
 | 
			
		||||
# define OPENSSL_VERSION_PATCH  0
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Additional version information
 | 
			
		||||
@@ -74,21 +74,21 @@ extern "C" {
 | 
			
		||||
 * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
 | 
			
		||||
 * OPENSSL_VERSION_BUILD_METADATA_STR appended.
 | 
			
		||||
 */
 | 
			
		||||
# define OPENSSL_VERSION_STR "3.1.4"
 | 
			
		||||
# define OPENSSL_FULL_VERSION_STR "3.1.4"
 | 
			
		||||
# define OPENSSL_VERSION_STR "3.2.0"
 | 
			
		||||
# define OPENSSL_FULL_VERSION_STR "3.2.0"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * SECTION 3: ADDITIONAL METADATA
 | 
			
		||||
 *
 | 
			
		||||
 * These strings are defined separately to allow them to be parsable.
 | 
			
		||||
 */
 | 
			
		||||
# define OPENSSL_RELEASE_DATE "24 Oct 2023"
 | 
			
		||||
# define OPENSSL_RELEASE_DATE "23 Nov 2023"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * SECTION 4: BACKWARD COMPATIBILITY
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
# define OPENSSL_VERSION_TEXT "OpenSSL 3.1.4 24 Oct 2023"
 | 
			
		||||
# define OPENSSL_VERSION_TEXT "OpenSSL 3.2.0 23 Nov 2023"
 | 
			
		||||
 | 
			
		||||
/* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
 | 
			
		||||
# ifdef OPENSSL_VERSION_PRE_RELEASE
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -57,6 +57,7 @@ extern "C" {
 | 
			
		||||
# define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY"
 | 
			
		||||
# define PEM_STRING_PARAMETERS   "PARAMETERS"
 | 
			
		||||
# define PEM_STRING_CMS          "CMS"
 | 
			
		||||
# define PEM_STRING_SM2PARAMETERS "SM2 PARAMETERS"
 | 
			
		||||
 | 
			
		||||
# define PEM_TYPE_ENCRYPTED      10
 | 
			
		||||
# define PEM_TYPE_MIC_ONLY       20
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/pkcs12.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1999-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1999-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -44,6 +44,7 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
# define PKCS12_MAC_KEY_LENGTH 20
 | 
			
		||||
 | 
			
		||||
/* The macro is expected to be used only internally. Kept for backwards compatibility. */
 | 
			
		||||
# define PKCS12_SALT_LEN 8
 | 
			
		||||
 | 
			
		||||
/* It's not clear if these are actually needed... */
 | 
			
		||||
@@ -133,7 +134,9 @@ int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
const ASN1_TYPE *PKCS12_SAFEBAG_get0_bag_obj(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
const ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
 | 
			
		||||
X509 *PKCS12_SAFEBAG_get1_cert_ex(const PKCS12_SAFEBAG *bag, OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
X509_CRL *PKCS12_SAFEBAG_get1_crl_ex(const PKCS12_SAFEBAG *bag, OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
const STACK_OF(PKCS12_SAFEBAG) *
 | 
			
		||||
PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
@@ -221,6 +224,7 @@ ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs,
 | 
			
		||||
char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag);
 | 
			
		||||
const STACK_OF(X509_ATTRIBUTE) *
 | 
			
		||||
PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
void PKCS12_SAFEBAG_set0_attrs(PKCS12_SAFEBAG *bag, STACK_OF(X509_ATTRIBUTE) *attrs);
 | 
			
		||||
unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor,
 | 
			
		||||
                                const char *pass, int passlen,
 | 
			
		||||
                                const unsigned char *in, int inlen,
 | 
			
		||||
@@ -308,6 +312,7 @@ DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES)
 | 
			
		||||
void PKCS12_PBE_add(void);
 | 
			
		||||
int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
 | 
			
		||||
                 STACK_OF(X509) **ca);
 | 
			
		||||
typedef int PKCS12_create_cb(PKCS12_SAFEBAG *bag, void *cbarg);
 | 
			
		||||
PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey,
 | 
			
		||||
                      X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
 | 
			
		||||
                      int iter, int mac_iter, int keytype);
 | 
			
		||||
@@ -315,6 +320,11 @@ PKCS12 *PKCS12_create_ex(const char *pass, const char *name, EVP_PKEY *pkey,
 | 
			
		||||
                         X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
 | 
			
		||||
                         int iter, int mac_iter, int keytype,
 | 
			
		||||
                         OSSL_LIB_CTX *ctx, const char *propq);
 | 
			
		||||
PKCS12 *PKCS12_create_ex2(const char *pass, const char *name, EVP_PKEY *pkey,
 | 
			
		||||
                          X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
 | 
			
		||||
                          int iter, int mac_iter, int keytype,
 | 
			
		||||
                          OSSL_LIB_CTX *ctx, const char *propq,
 | 
			
		||||
                          PKCS12_create_cb *cb, void *cbarg);
 | 
			
		||||
 | 
			
		||||
PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert);
 | 
			
		||||
PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1999-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1999-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -45,6 +45,7 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
# define PKCS12_MAC_KEY_LENGTH 20
 | 
			
		||||
 | 
			
		||||
/* The macro is expected to be used only internally. Kept for backwards compatibility. */
 | 
			
		||||
# define PKCS12_SALT_LEN 8
 | 
			
		||||
 | 
			
		||||
/* It's not clear if these are actually needed... */
 | 
			
		||||
@@ -110,7 +111,9 @@ int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
const ASN1_TYPE *PKCS12_SAFEBAG_get0_bag_obj(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
const ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
 | 
			
		||||
X509 *PKCS12_SAFEBAG_get1_cert_ex(const PKCS12_SAFEBAG *bag, OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
X509_CRL *PKCS12_SAFEBAG_get1_crl_ex(const PKCS12_SAFEBAG *bag, OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
const STACK_OF(PKCS12_SAFEBAG) *
 | 
			
		||||
PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
@@ -198,6 +201,7 @@ ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs,
 | 
			
		||||
char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag);
 | 
			
		||||
const STACK_OF(X509_ATTRIBUTE) *
 | 
			
		||||
PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag);
 | 
			
		||||
void PKCS12_SAFEBAG_set0_attrs(PKCS12_SAFEBAG *bag, STACK_OF(X509_ATTRIBUTE) *attrs);
 | 
			
		||||
unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor,
 | 
			
		||||
                                const char *pass, int passlen,
 | 
			
		||||
                                const unsigned char *in, int inlen,
 | 
			
		||||
@@ -285,6 +289,7 @@ DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES)
 | 
			
		||||
void PKCS12_PBE_add(void);
 | 
			
		||||
int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
 | 
			
		||||
                 STACK_OF(X509) **ca);
 | 
			
		||||
typedef int PKCS12_create_cb(PKCS12_SAFEBAG *bag, void *cbarg);
 | 
			
		||||
PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey,
 | 
			
		||||
                      X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
 | 
			
		||||
                      int iter, int mac_iter, int keytype);
 | 
			
		||||
@@ -292,6 +297,11 @@ PKCS12 *PKCS12_create_ex(const char *pass, const char *name, EVP_PKEY *pkey,
 | 
			
		||||
                         X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
 | 
			
		||||
                         int iter, int mac_iter, int keytype,
 | 
			
		||||
                         OSSL_LIB_CTX *ctx, const char *propq);
 | 
			
		||||
PKCS12 *PKCS12_create_ex2(const char *pass, const char *name, EVP_PKEY *pkey,
 | 
			
		||||
                          X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
 | 
			
		||||
                          int iter, int mac_iter, int keytype,
 | 
			
		||||
                          OSSL_LIB_CTX *ctx, const char *propq,
 | 
			
		||||
                          PKCS12_create_cb *cb, void *cbarg);
 | 
			
		||||
 | 
			
		||||
PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert);
 | 
			
		||||
PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Generated by util/mkerr.pl DO NOT EDIT
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -21,6 +21,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * PKCS12 reason codes.
 | 
			
		||||
 */
 | 
			
		||||
# define PKCS12_R_CALLBACK_FAILED                         115
 | 
			
		||||
# define PKCS12_R_CANT_PACK_STRUCTURE                     100
 | 
			
		||||
# define PKCS12_R_CONTENT_TYPE_NOT_DATA                   121
 | 
			
		||||
# define PKCS12_R_DECODE_ERROR                            101
 | 
			
		||||
 
 | 
			
		||||
@@ -134,8 +134,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(PKCS7_RECIP_INFO, PKCS7_RECIP_INFO, PKCS7_RECIP_INF
 | 
			
		||||
typedef struct pkcs7_signed_st {
 | 
			
		||||
    ASN1_INTEGER *version;      /* version 1 */
 | 
			
		||||
    STACK_OF(X509_ALGOR) *md_algs; /* md used */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */ /* name should be 'certificates' */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */ /* name should be 'crls' */
 | 
			
		||||
    STACK_OF(PKCS7_SIGNER_INFO) *signer_info;
 | 
			
		||||
    struct pkcs7_st *contents;
 | 
			
		||||
} PKCS7_SIGNED;
 | 
			
		||||
@@ -161,8 +161,8 @@ typedef struct pkcs7_enveloped_st {
 | 
			
		||||
typedef struct pkcs7_signedandenveloped_st {
 | 
			
		||||
    ASN1_INTEGER *version;      /* version 1 */
 | 
			
		||||
    STACK_OF(X509_ALGOR) *md_algs; /* md used */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */ /* name should be 'certificates' */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */ /* name should be 'crls' */
 | 
			
		||||
    STACK_OF(PKCS7_SIGNER_INFO) *signer_info;
 | 
			
		||||
    PKCS7_ENC_CONTENT *enc_data;
 | 
			
		||||
    STACK_OF(PKCS7_RECIP_INFO) *recipientinfo;
 | 
			
		||||
@@ -203,7 +203,7 @@ typedef struct pkcs7_st {
 | 
			
		||||
        /* NID_pkcs7_data */
 | 
			
		||||
        ASN1_OCTET_STRING *data;
 | 
			
		||||
        /* NID_pkcs7_signed */
 | 
			
		||||
        PKCS7_SIGNED *sign;
 | 
			
		||||
        PKCS7_SIGNED *sign; /* field name 'signed' would clash with C keyword */
 | 
			
		||||
        /* NID_pkcs7_enveloped */
 | 
			
		||||
        PKCS7_ENVELOPE *enveloped;
 | 
			
		||||
        /* NID_pkcs7_signedAndEnveloped */
 | 
			
		||||
@@ -344,13 +344,13 @@ int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey,
 | 
			
		||||
                          const EVP_MD *dgst);
 | 
			
		||||
int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si);
 | 
			
		||||
int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i);
 | 
			
		||||
int PKCS7_add_certificate(PKCS7 *p7, X509 *x509);
 | 
			
		||||
int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509);
 | 
			
		||||
int PKCS7_add_certificate(PKCS7 *p7, X509 *cert);
 | 
			
		||||
int PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl);
 | 
			
		||||
int PKCS7_content_new(PKCS7 *p7, int nid);
 | 
			
		||||
int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx,
 | 
			
		||||
                     BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si);
 | 
			
		||||
int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,
 | 
			
		||||
                          X509 *x509);
 | 
			
		||||
                          X509 *signer);
 | 
			
		||||
 | 
			
		||||
BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio);
 | 
			
		||||
int PKCS7_dataFinal(PKCS7 *p7, BIO *bio);
 | 
			
		||||
 
 | 
			
		||||
@@ -87,8 +87,8 @@ typedef struct pkcs7_recip_info_st {
 | 
			
		||||
typedef struct pkcs7_signed_st {
 | 
			
		||||
    ASN1_INTEGER *version;      /* version 1 */
 | 
			
		||||
    STACK_OF(X509_ALGOR) *md_algs; /* md used */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */ /* name should be 'certificates' */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */ /* name should be 'crls' */
 | 
			
		||||
    STACK_OF(PKCS7_SIGNER_INFO) *signer_info;
 | 
			
		||||
    struct pkcs7_st *contents;
 | 
			
		||||
} PKCS7_SIGNED;
 | 
			
		||||
@@ -114,8 +114,8 @@ typedef struct pkcs7_enveloped_st {
 | 
			
		||||
typedef struct pkcs7_signedandenveloped_st {
 | 
			
		||||
    ASN1_INTEGER *version;      /* version 1 */
 | 
			
		||||
    STACK_OF(X509_ALGOR) *md_algs; /* md used */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */
 | 
			
		||||
    STACK_OF(X509) *cert;       /* [ 0 ] */ /* name should be 'certificates' */
 | 
			
		||||
    STACK_OF(X509_CRL) *crl;    /* [ 1 ] */ /* name should be 'crls' */
 | 
			
		||||
    STACK_OF(PKCS7_SIGNER_INFO) *signer_info;
 | 
			
		||||
    PKCS7_ENC_CONTENT *enc_data;
 | 
			
		||||
    STACK_OF(PKCS7_RECIP_INFO) *recipientinfo;
 | 
			
		||||
@@ -156,7 +156,7 @@ typedef struct pkcs7_st {
 | 
			
		||||
        /* NID_pkcs7_data */
 | 
			
		||||
        ASN1_OCTET_STRING *data;
 | 
			
		||||
        /* NID_pkcs7_signed */
 | 
			
		||||
        PKCS7_SIGNED *sign;
 | 
			
		||||
        PKCS7_SIGNED *sign; /* field name 'signed' would clash with C keyword */
 | 
			
		||||
        /* NID_pkcs7_enveloped */
 | 
			
		||||
        PKCS7_ENVELOPE *enveloped;
 | 
			
		||||
        /* NID_pkcs7_signedAndEnveloped */
 | 
			
		||||
@@ -273,13 +273,13 @@ int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey,
 | 
			
		||||
                          const EVP_MD *dgst);
 | 
			
		||||
int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si);
 | 
			
		||||
int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i);
 | 
			
		||||
int PKCS7_add_certificate(PKCS7 *p7, X509 *x509);
 | 
			
		||||
int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509);
 | 
			
		||||
int PKCS7_add_certificate(PKCS7 *p7, X509 *cert);
 | 
			
		||||
int PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl);
 | 
			
		||||
int PKCS7_content_new(PKCS7 *p7, int nid);
 | 
			
		||||
int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx,
 | 
			
		||||
                     BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si);
 | 
			
		||||
int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,
 | 
			
		||||
                          X509 *x509);
 | 
			
		||||
                          X509 *signer);
 | 
			
		||||
 | 
			
		||||
BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio);
 | 
			
		||||
int PKCS7_dataFinal(PKCS7 *p7, BIO *bio);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2021-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -19,6 +19,7 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
# define SSL_MAX_MASTER_KEY_LENGTH 48
 | 
			
		||||
 | 
			
		||||
/* SSL/TLS uses a 2 byte unsigned version number */
 | 
			
		||||
# define SSL3_VERSION                    0x0300
 | 
			
		||||
# define TLS1_VERSION                    0x0301
 | 
			
		||||
# define TLS1_1_VERSION                  0x0302
 | 
			
		||||
@@ -28,6 +29,9 @@ extern "C" {
 | 
			
		||||
# define DTLS1_2_VERSION                 0xFEFD
 | 
			
		||||
# define DTLS1_BAD_VER                   0x0100
 | 
			
		||||
 | 
			
		||||
/* QUIC uses a 4 byte unsigned version number */
 | 
			
		||||
# define OSSL_QUIC1_VERSION              0x0000001
 | 
			
		||||
 | 
			
		||||
# ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,7 @@
 | 
			
		||||
# define PROV_R_INDICATOR_INTEGRITY_FAILURE               210
 | 
			
		||||
# define PROV_R_INSUFFICIENT_DRBG_STRENGTH                181
 | 
			
		||||
# define PROV_R_INVALID_AAD                               108
 | 
			
		||||
# define PROV_R_INVALID_AEAD                              231
 | 
			
		||||
# define PROV_R_INVALID_CONFIG_DATA                       211
 | 
			
		||||
# define PROV_R_INVALID_CONSTANT_LENGTH                   157
 | 
			
		||||
# define PROV_R_INVALID_CURVE                             176
 | 
			
		||||
@@ -63,9 +64,11 @@
 | 
			
		||||
# define PROV_R_INVALID_INPUT_LENGTH                      230
 | 
			
		||||
# define PROV_R_INVALID_ITERATION_COUNT                   123
 | 
			
		||||
# define PROV_R_INVALID_IV_LENGTH                         109
 | 
			
		||||
# define PROV_R_INVALID_KDF                               232
 | 
			
		||||
# define PROV_R_INVALID_KEY                               158
 | 
			
		||||
# define PROV_R_INVALID_KEY_LENGTH                        105
 | 
			
		||||
# define PROV_R_INVALID_MAC                               151
 | 
			
		||||
# define PROV_R_INVALID_MEMORY_SIZE                       235
 | 
			
		||||
# define PROV_R_INVALID_MGF1_MD                           167
 | 
			
		||||
# define PROV_R_INVALID_MODE                              125
 | 
			
		||||
# define PROV_R_INVALID_OUTPUT_LENGTH                     217
 | 
			
		||||
@@ -77,6 +80,7 @@
 | 
			
		||||
# define PROV_R_INVALID_STATE                             212
 | 
			
		||||
# define PROV_R_INVALID_TAG                               110
 | 
			
		||||
# define PROV_R_INVALID_TAG_LENGTH                        118
 | 
			
		||||
# define PROV_R_INVALID_THREAD_POOL_SIZE                  234
 | 
			
		||||
# define PROV_R_INVALID_UKM_LENGTH                        200
 | 
			
		||||
# define PROV_R_INVALID_X931_DIGEST                       170
 | 
			
		||||
# define PROV_R_IN_ERROR_STATE                            192
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -17,13 +17,19 @@
 | 
			
		||||
extern "C" {
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/* Set the default provider search path */
 | 
			
		||||
/* Set and Get a library context search path */
 | 
			
		||||
int OSSL_PROVIDER_set_default_search_path(OSSL_LIB_CTX *, const char *path);
 | 
			
		||||
const char *OSSL_PROVIDER_get0_default_search_path(OSSL_LIB_CTX *libctx);
 | 
			
		||||
 | 
			
		||||
/* Load and unload a provider */
 | 
			
		||||
OSSL_PROVIDER *OSSL_PROVIDER_load(OSSL_LIB_CTX *, const char *name);
 | 
			
		||||
OSSL_PROVIDER *OSSL_PROVIDER_load_ex(OSSL_LIB_CTX *, const char *name,
 | 
			
		||||
                                     OSSL_PARAM *params);
 | 
			
		||||
OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *, const char *name,
 | 
			
		||||
                                      int retain_fallbacks);
 | 
			
		||||
OSSL_PROVIDER *OSSL_PROVIDER_try_load_ex(OSSL_LIB_CTX *, const char *name,
 | 
			
		||||
                                         OSSL_PARAM *params,
 | 
			
		||||
                                         int retain_fallbacks);
 | 
			
		||||
int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov);
 | 
			
		||||
int OSSL_PROVIDER_available(OSSL_LIB_CTX *, const char *name);
 | 
			
		||||
int OSSL_PROVIDER_do_all(OSSL_LIB_CTX *ctx,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/quic.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/quic.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_QUIC_H
 | 
			
		||||
# define OPENSSL_QUIC_H
 | 
			
		||||
# pragma once
 | 
			
		||||
 | 
			
		||||
# include <openssl/macros.h>
 | 
			
		||||
# include <openssl/ssl.h>
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_QUIC
 | 
			
		||||
 | 
			
		||||
#  ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
#  endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Method used for non-thread-assisted QUIC client operation.
 | 
			
		||||
 */
 | 
			
		||||
__owur const SSL_METHOD *OSSL_QUIC_client_method(void);
 | 
			
		||||
/*
 | 
			
		||||
 * Method used for thread-assisted QUIC client operation.
 | 
			
		||||
 */
 | 
			
		||||
__owur const SSL_METHOD *OSSL_QUIC_client_thread_method(void);
 | 
			
		||||
 | 
			
		||||
#  ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#  endif
 | 
			
		||||
 | 
			
		||||
# endif /* OPENSSL_NO_QUIC */
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -189,6 +189,8 @@ int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label);
 | 
			
		||||
 | 
			
		||||
# define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES  (EVP_PKEY_ALG_CTRL + 13)
 | 
			
		||||
 | 
			
		||||
# define EVP_PKEY_CTRL_RSA_IMPLICIT_REJECTION (EVP_PKEY_ALG_CTRL + 14)
 | 
			
		||||
 | 
			
		||||
# define RSA_PKCS1_PADDING          1
 | 
			
		||||
# define RSA_NO_PADDING             3
 | 
			
		||||
# define RSA_PKCS1_OAEP_PADDING     4
 | 
			
		||||
@@ -198,6 +200,9 @@ int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label);
 | 
			
		||||
# define RSA_PKCS1_PSS_PADDING      6
 | 
			
		||||
# define RSA_PKCS1_WITH_TLS_PADDING 7
 | 
			
		||||
 | 
			
		||||
/* internal RSA_ only */
 | 
			
		||||
# define RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING 8
 | 
			
		||||
 | 
			
		||||
# define RSA_PKCS1_PADDING_SIZE    11
 | 
			
		||||
 | 
			
		||||
# define RSA_set_app_data(s,arg)         RSA_set_ex_data(s,0,arg)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -81,6 +81,7 @@ OSSL_DEPRECATEDIN_3_0 void SHA256_Transform(SHA256_CTX *c,
 | 
			
		||||
unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md);
 | 
			
		||||
unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md);
 | 
			
		||||
 | 
			
		||||
# define SHA256_192_DIGEST_LENGTH 24
 | 
			
		||||
# define SHA224_DIGEST_LENGTH    28
 | 
			
		||||
# define SHA256_DIGEST_LENGTH    32
 | 
			
		||||
# define SHA384_DIGEST_LENGTH    48
 | 
			
		||||
 
 | 
			
		||||
@@ -28,16 +28,28 @@
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
# define SRTP_AES128_CM_SHA1_80 0x0001
 | 
			
		||||
# define SRTP_AES128_CM_SHA1_32 0x0002
 | 
			
		||||
# define SRTP_AES128_F8_SHA1_80 0x0003
 | 
			
		||||
# define SRTP_AES128_F8_SHA1_32 0x0004
 | 
			
		||||
# define SRTP_NULL_SHA1_80      0x0005
 | 
			
		||||
# define SRTP_NULL_SHA1_32      0x0006
 | 
			
		||||
# define SRTP_AES128_CM_SHA1_80                     0x0001
 | 
			
		||||
# define SRTP_AES128_CM_SHA1_32                     0x0002
 | 
			
		||||
# define SRTP_AES128_F8_SHA1_80                     0x0003
 | 
			
		||||
# define SRTP_AES128_F8_SHA1_32                     0x0004
 | 
			
		||||
# define SRTP_NULL_SHA1_80                          0x0005
 | 
			
		||||
# define SRTP_NULL_SHA1_32                          0x0006
 | 
			
		||||
 | 
			
		||||
/* AEAD SRTP protection profiles from RFC 7714 */
 | 
			
		||||
# define SRTP_AEAD_AES_128_GCM  0x0007
 | 
			
		||||
# define SRTP_AEAD_AES_256_GCM  0x0008
 | 
			
		||||
# define SRTP_AEAD_AES_128_GCM                      0x0007
 | 
			
		||||
# define SRTP_AEAD_AES_256_GCM                      0x0008
 | 
			
		||||
 | 
			
		||||
/* DOUBLE AEAD SRTP protection profiles from RFC 8723 */
 | 
			
		||||
# define SRTP_DOUBLE_AEAD_AES_128_GCM_AEAD_AES_128_GCM   0x0009
 | 
			
		||||
# define SRTP_DOUBLE_AEAD_AES_256_GCM_AEAD_AES_256_GCM   0x000A
 | 
			
		||||
 | 
			
		||||
/* ARIA SRTP protection profiles from RFC 8269 */
 | 
			
		||||
# define SRTP_ARIA_128_CTR_HMAC_SHA1_80             0x000B
 | 
			
		||||
# define SRTP_ARIA_128_CTR_HMAC_SHA1_32             0x000C
 | 
			
		||||
# define SRTP_ARIA_256_CTR_HMAC_SHA1_80             0x000D
 | 
			
		||||
# define SRTP_ARIA_256_CTR_HMAC_SHA1_32             0x000E
 | 
			
		||||
# define SRTP_AEAD_ARIA_128_GCM                     0x000F
 | 
			
		||||
# define SRTP_AEAD_ARIA_256_GCM                     0x0010
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_SRTP
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/ssl.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 * Copyright 2005 Nokia. All rights reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -24,6 +24,7 @@
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
# include <openssl/e_os2.h>
 | 
			
		||||
# include <openssl/e_ostime.h>
 | 
			
		||||
# include <openssl/opensslconf.h>
 | 
			
		||||
# include <openssl/comp.h>
 | 
			
		||||
# include <openssl/bio.h>
 | 
			
		||||
@@ -281,28 +282,31 @@ typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len,
 | 
			
		||||
 | 
			
		||||
/* Extension context codes */
 | 
			
		||||
/* This extension is only allowed in TLS */
 | 
			
		||||
#define SSL_EXT_TLS_ONLY                        0x0001
 | 
			
		||||
#define SSL_EXT_TLS_ONLY                        0x00001
 | 
			
		||||
/* This extension is only allowed in DTLS */
 | 
			
		||||
#define SSL_EXT_DTLS_ONLY                       0x0002
 | 
			
		||||
#define SSL_EXT_DTLS_ONLY                       0x00002
 | 
			
		||||
/* Some extensions may be allowed in DTLS but we don't implement them for it */
 | 
			
		||||
#define SSL_EXT_TLS_IMPLEMENTATION_ONLY         0x0004
 | 
			
		||||
#define SSL_EXT_TLS_IMPLEMENTATION_ONLY         0x00004
 | 
			
		||||
/* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */
 | 
			
		||||
#define SSL_EXT_SSL3_ALLOWED                    0x0008
 | 
			
		||||
#define SSL_EXT_SSL3_ALLOWED                    0x00008
 | 
			
		||||
/* Extension is only defined for TLS1.2 and below */
 | 
			
		||||
#define SSL_EXT_TLS1_2_AND_BELOW_ONLY           0x0010
 | 
			
		||||
#define SSL_EXT_TLS1_2_AND_BELOW_ONLY           0x00010
 | 
			
		||||
/* Extension is only defined for TLS1.3 and above */
 | 
			
		||||
#define SSL_EXT_TLS1_3_ONLY                     0x0020
 | 
			
		||||
#define SSL_EXT_TLS1_3_ONLY                     0x00020
 | 
			
		||||
/* Ignore this extension during parsing if we are resuming */
 | 
			
		||||
#define SSL_EXT_IGNORE_ON_RESUMPTION            0x0040
 | 
			
		||||
#define SSL_EXT_CLIENT_HELLO                    0x0080
 | 
			
		||||
#define SSL_EXT_IGNORE_ON_RESUMPTION            0x00040
 | 
			
		||||
#define SSL_EXT_CLIENT_HELLO                    0x00080
 | 
			
		||||
/* Really means TLS1.2 or below */
 | 
			
		||||
#define SSL_EXT_TLS1_2_SERVER_HELLO             0x0100
 | 
			
		||||
#define SSL_EXT_TLS1_3_SERVER_HELLO             0x0200
 | 
			
		||||
#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS     0x0400
 | 
			
		||||
#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST      0x0800
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE              0x1000
 | 
			
		||||
#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET       0x2000
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST      0x4000
 | 
			
		||||
#define SSL_EXT_TLS1_2_SERVER_HELLO             0x00100
 | 
			
		||||
#define SSL_EXT_TLS1_3_SERVER_HELLO             0x00200
 | 
			
		||||
#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS     0x00400
 | 
			
		||||
#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST      0x00800
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE              0x01000
 | 
			
		||||
#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET       0x02000
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST      0x04000
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE_COMPRESSION  0x08000
 | 
			
		||||
/* When sending a raw public key in a certificate message */
 | 
			
		||||
#define SSL_EXT_TLS1_3_RAW_PUBLIC_KEY           0x10000
 | 
			
		||||
 | 
			
		||||
/* Typedefs for handling custom extensions */
 | 
			
		||||
 | 
			
		||||
@@ -433,6 +437,17 @@ typedef int (*SSL_async_callback_fn)(SSL *s, void *arg);
 | 
			
		||||
     * interoperability with CryptoPro CSP 3.x
 | 
			
		||||
     */
 | 
			
		||||
# define SSL_OP_CRYPTOPRO_TLSEXT_BUG                     SSL_OP_BIT(31)
 | 
			
		||||
/*
 | 
			
		||||
 * Disable RFC8879 certificate compression
 | 
			
		||||
 * SSL_OP_NO_TX_CERTIFICATE_COMPRESSION: don't send compressed certificates,
 | 
			
		||||
 *     and ignore the extension when received.
 | 
			
		||||
 * SSL_OP_NO_RX_CERTIFICATE_COMPRESSION: don't send the extension, and
 | 
			
		||||
 *     subsequently indicating that receiving is not supported
 | 
			
		||||
 */
 | 
			
		||||
# define SSL_OP_NO_TX_CERTIFICATE_COMPRESSION            SSL_OP_BIT(32)
 | 
			
		||||
# define SSL_OP_NO_RX_CERTIFICATE_COMPRESSION            SSL_OP_BIT(33)
 | 
			
		||||
    /* Enable KTLS TX zerocopy on Linux */
 | 
			
		||||
# define SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE         SSL_OP_BIT(34)
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Option "collections."
 | 
			
		||||
@@ -577,6 +592,8 @@ typedef int (*SSL_async_callback_fn)(SSL *s, void *arg);
 | 
			
		||||
# define CERT_PKEY_CERT_TYPE     0x400
 | 
			
		||||
/* Cert chain suitable to Suite B */
 | 
			
		||||
# define CERT_PKEY_SUITEB        0x800
 | 
			
		||||
/* Cert pkey valid for raw public key use */
 | 
			
		||||
# define CERT_PKEY_RPK           0x1000
 | 
			
		||||
 | 
			
		||||
# define SSL_CONF_FLAG_CMDLINE           0x1
 | 
			
		||||
# define SSL_CONF_FLAG_FILE              0x2
 | 
			
		||||
@@ -968,6 +985,7 @@ uint32_t SSL_get_recv_max_early_data(const SSL *s);
 | 
			
		||||
# include <openssl/tls1.h>      /* This is mostly sslv3 with a few tweaks */
 | 
			
		||||
# include <openssl/dtls1.h>     /* Datagram TLS */
 | 
			
		||||
# include <openssl/srtp.h>      /* Support for the use_srtp extension */
 | 
			
		||||
# include <openssl/quic.h>
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
@@ -1069,6 +1087,7 @@ typedef enum {
 | 
			
		||||
    DTLS_ST_CR_HELLO_VERIFY_REQUEST,
 | 
			
		||||
    TLS_ST_CR_SRVR_HELLO,
 | 
			
		||||
    TLS_ST_CR_CERT,
 | 
			
		||||
    TLS_ST_CR_COMP_CERT,
 | 
			
		||||
    TLS_ST_CR_CERT_STATUS,
 | 
			
		||||
    TLS_ST_CR_KEY_EXCH,
 | 
			
		||||
    TLS_ST_CR_CERT_REQ,
 | 
			
		||||
@@ -1078,6 +1097,7 @@ typedef enum {
 | 
			
		||||
    TLS_ST_CR_FINISHED,
 | 
			
		||||
    TLS_ST_CW_CLNT_HELLO,
 | 
			
		||||
    TLS_ST_CW_CERT,
 | 
			
		||||
    TLS_ST_CW_COMP_CERT,
 | 
			
		||||
    TLS_ST_CW_KEY_EXCH,
 | 
			
		||||
    TLS_ST_CW_CERT_VRFY,
 | 
			
		||||
    TLS_ST_CW_CHANGE,
 | 
			
		||||
@@ -1088,10 +1108,12 @@ typedef enum {
 | 
			
		||||
    DTLS_ST_SW_HELLO_VERIFY_REQUEST,
 | 
			
		||||
    TLS_ST_SW_SRVR_HELLO,
 | 
			
		||||
    TLS_ST_SW_CERT,
 | 
			
		||||
    TLS_ST_SW_COMP_CERT,
 | 
			
		||||
    TLS_ST_SW_KEY_EXCH,
 | 
			
		||||
    TLS_ST_SW_CERT_REQ,
 | 
			
		||||
    TLS_ST_SW_SRVR_DONE,
 | 
			
		||||
    TLS_ST_SR_CERT,
 | 
			
		||||
    TLS_ST_SR_COMP_CERT,
 | 
			
		||||
    TLS_ST_SR_KEY_EXCH,
 | 
			
		||||
    TLS_ST_SR_CERT_VRFY,
 | 
			
		||||
    TLS_ST_SR_NEXT_PROTO,
 | 
			
		||||
@@ -1383,6 +1405,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 | 
			
		||||
# define SSL_CTRL_GET_SIGNATURE_NID              132
 | 
			
		||||
# define SSL_CTRL_GET_TMP_KEY                    133
 | 
			
		||||
# define SSL_CTRL_GET_NEGOTIATED_GROUP           134
 | 
			
		||||
# define SSL_CTRL_GET_IANA_GROUPS                135
 | 
			
		||||
# define SSL_CTRL_SET_RETRY_VERIFY               136
 | 
			
		||||
# define SSL_CTRL_GET_VERIFY_CERT_STORE          137
 | 
			
		||||
# define SSL_CTRL_GET_CHAIN_CERT_STORE           138
 | 
			
		||||
@@ -1488,6 +1511,8 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 | 
			
		||||
 | 
			
		||||
# define SSL_get1_groups(s, glist) \
 | 
			
		||||
        SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist))
 | 
			
		||||
# define SSL_get0_iana_groups(s, plst) \
 | 
			
		||||
        SSL_ctrl(s,SSL_CTRL_GET_IANA_GROUPS,0,(uint16_t **)(plst))
 | 
			
		||||
# define SSL_CTX_set1_groups(ctx, glist, glistlen) \
 | 
			
		||||
        SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(int *)(glist))
 | 
			
		||||
# define SSL_CTX_set1_groups_list(ctx, s) \
 | 
			
		||||
@@ -1552,6 +1577,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 | 
			
		||||
# define SSL_get_max_proto_version(s) \
 | 
			
		||||
        SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL)
 | 
			
		||||
 | 
			
		||||
const char *SSL_get0_group_name(SSL *s);
 | 
			
		||||
const char *SSL_group_to_name(SSL *s, int id);
 | 
			
		||||
 | 
			
		||||
/* Backwards compatibility, original 1.1.0 names */
 | 
			
		||||
@@ -1786,6 +1812,9 @@ __owur int SSL_has_matching_session_id(const SSL *s,
 | 
			
		||||
                                       unsigned int id_len);
 | 
			
		||||
SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
 | 
			
		||||
                             long length);
 | 
			
		||||
SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
 | 
			
		||||
                                long length, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                const char *propq);
 | 
			
		||||
 | 
			
		||||
# ifdef OPENSSL_X509_H
 | 
			
		||||
__owur X509 *SSL_get0_peer_certificate(const SSL *s);
 | 
			
		||||
@@ -1843,6 +1872,8 @@ __owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx,
 | 
			
		||||
SSL *SSL_new(SSL_CTX *ctx);
 | 
			
		||||
int SSL_up_ref(SSL *s);
 | 
			
		||||
int SSL_is_dtls(const SSL *s);
 | 
			
		||||
int SSL_is_tls(const SSL *s);
 | 
			
		||||
int SSL_is_quic(const SSL *s);
 | 
			
		||||
__owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
 | 
			
		||||
                                      unsigned int sid_ctx_len);
 | 
			
		||||
 | 
			
		||||
@@ -1935,6 +1966,8 @@ size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out);
 | 
			
		||||
size_t SSL_client_hello_get0_compression_methods(SSL *s,
 | 
			
		||||
                                                 const unsigned char **out);
 | 
			
		||||
int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen);
 | 
			
		||||
int SSL_client_hello_get_extension_order(SSL *s, uint16_t *exts,
 | 
			
		||||
                                         size_t *num_exts);
 | 
			
		||||
int SSL_client_hello_get0_ext(SSL *s, unsigned int type,
 | 
			
		||||
                              const unsigned char **out, size_t *outlen);
 | 
			
		||||
 | 
			
		||||
@@ -1989,6 +2022,7 @@ __owur int SSL_get_early_data_status(const SSL *s);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_get_error(const SSL *s, int ret_code);
 | 
			
		||||
__owur const char *SSL_get_version(const SSL *s);
 | 
			
		||||
__owur int SSL_get_handshake_rtt(const SSL *s, uint64_t *rtt);
 | 
			
		||||
 | 
			
		||||
/* This sets the 'default' SSL version that SSL_new() will create */
 | 
			
		||||
# ifndef OPENSSL_NO_DEPRECATED_3_0
 | 
			
		||||
@@ -2297,6 +2331,105 @@ size_t SSL_get_num_tickets(const SSL *s);
 | 
			
		||||
int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets);
 | 
			
		||||
size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
/* QUIC support */
 | 
			
		||||
int SSL_handle_events(SSL *s);
 | 
			
		||||
__owur int SSL_get_event_timeout(SSL *s, struct timeval *tv, int *is_infinite);
 | 
			
		||||
__owur int SSL_get_rpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
__owur int SSL_get_wpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
__owur int SSL_net_read_desired(SSL *s);
 | 
			
		||||
__owur int SSL_net_write_desired(SSL *s);
 | 
			
		||||
__owur int SSL_set_blocking_mode(SSL *s, int blocking);
 | 
			
		||||
__owur int SSL_get_blocking_mode(SSL *s);
 | 
			
		||||
__owur int SSL_set1_initial_peer_addr(SSL *s, const BIO_ADDR *peer_addr);
 | 
			
		||||
__owur SSL *SSL_get0_connection(SSL *s);
 | 
			
		||||
__owur int SSL_is_connection(SSL *s);
 | 
			
		||||
 | 
			
		||||
#define SSL_STREAM_TYPE_NONE        0
 | 
			
		||||
#define SSL_STREAM_TYPE_READ        (1U << 0)
 | 
			
		||||
#define SSL_STREAM_TYPE_WRITE       (1U << 1)
 | 
			
		||||
#define SSL_STREAM_TYPE_BIDI        (SSL_STREAM_TYPE_READ | SSL_STREAM_TYPE_WRITE)
 | 
			
		||||
__owur int SSL_get_stream_type(SSL *s);
 | 
			
		||||
 | 
			
		||||
__owur uint64_t SSL_get_stream_id(SSL *s);
 | 
			
		||||
__owur int SSL_is_stream_local(SSL *s);
 | 
			
		||||
 | 
			
		||||
#define SSL_DEFAULT_STREAM_MODE_NONE        0
 | 
			
		||||
#define SSL_DEFAULT_STREAM_MODE_AUTO_BIDI   1
 | 
			
		||||
#define SSL_DEFAULT_STREAM_MODE_AUTO_UNI    2
 | 
			
		||||
__owur int SSL_set_default_stream_mode(SSL *s, uint32_t mode);
 | 
			
		||||
 | 
			
		||||
#define SSL_STREAM_FLAG_UNI         (1U << 0)
 | 
			
		||||
#define SSL_STREAM_FLAG_NO_BLOCK    (1U << 1)
 | 
			
		||||
#define SSL_STREAM_FLAG_ADVANCE     (1U << 2)
 | 
			
		||||
__owur SSL *SSL_new_stream(SSL *s, uint64_t flags);
 | 
			
		||||
 | 
			
		||||
#define SSL_INCOMING_STREAM_POLICY_AUTO      0
 | 
			
		||||
#define SSL_INCOMING_STREAM_POLICY_ACCEPT    1
 | 
			
		||||
#define SSL_INCOMING_STREAM_POLICY_REJECT    2
 | 
			
		||||
__owur int SSL_set_incoming_stream_policy(SSL *s, int policy, uint64_t aec);
 | 
			
		||||
 | 
			
		||||
#define SSL_ACCEPT_STREAM_NO_BLOCK      (1U << 0)
 | 
			
		||||
__owur SSL *SSL_accept_stream(SSL *s, uint64_t flags);
 | 
			
		||||
__owur size_t SSL_get_accept_stream_queue_len(SSL *s);
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_QUIC
 | 
			
		||||
__owur int SSL_inject_net_dgram(SSL *s, const unsigned char *buf,
 | 
			
		||||
                                size_t buf_len,
 | 
			
		||||
                                const BIO_ADDR *peer,
 | 
			
		||||
                                const BIO_ADDR *local);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
typedef struct ssl_shutdown_ex_args_st {
 | 
			
		||||
    uint64_t    quic_error_code;
 | 
			
		||||
    const char  *quic_reason;
 | 
			
		||||
} SSL_SHUTDOWN_EX_ARGS;
 | 
			
		||||
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_RAPID             (1U << 0)
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_NO_STREAM_FLUSH   (1U << 1)
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_NO_BLOCK          (1U << 2)
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_WAIT_PEER         (1U << 3)
 | 
			
		||||
 | 
			
		||||
__owur int SSL_shutdown_ex(SSL *ssl, uint64_t flags,
 | 
			
		||||
                           const SSL_SHUTDOWN_EX_ARGS *args,
 | 
			
		||||
                           size_t args_len);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_stream_conclude(SSL *ssl, uint64_t flags);
 | 
			
		||||
 | 
			
		||||
typedef struct ssl_stream_reset_args_st {
 | 
			
		||||
    uint64_t quic_error_code;
 | 
			
		||||
} SSL_STREAM_RESET_ARGS;
 | 
			
		||||
 | 
			
		||||
__owur int SSL_stream_reset(SSL *ssl,
 | 
			
		||||
                            const SSL_STREAM_RESET_ARGS *args,
 | 
			
		||||
                            size_t args_len);
 | 
			
		||||
 | 
			
		||||
#define SSL_STREAM_STATE_NONE           0
 | 
			
		||||
#define SSL_STREAM_STATE_OK             1
 | 
			
		||||
#define SSL_STREAM_STATE_WRONG_DIR      2
 | 
			
		||||
#define SSL_STREAM_STATE_FINISHED       3
 | 
			
		||||
#define SSL_STREAM_STATE_RESET_LOCAL    4
 | 
			
		||||
#define SSL_STREAM_STATE_RESET_REMOTE   5
 | 
			
		||||
#define SSL_STREAM_STATE_CONN_CLOSED    6
 | 
			
		||||
__owur int SSL_get_stream_read_state(SSL *ssl);
 | 
			
		||||
__owur int SSL_get_stream_write_state(SSL *ssl);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_get_stream_read_error_code(SSL *ssl, uint64_t *app_error_code);
 | 
			
		||||
__owur int SSL_get_stream_write_error_code(SSL *ssl, uint64_t *app_error_code);
 | 
			
		||||
 | 
			
		||||
#define SSL_CONN_CLOSE_FLAG_LOCAL       (1U << 0)
 | 
			
		||||
#define SSL_CONN_CLOSE_FLAG_TRANSPORT   (1U << 1)
 | 
			
		||||
 | 
			
		||||
typedef struct ssl_conn_close_info_st {
 | 
			
		||||
    uint64_t    error_code, frame_type;
 | 
			
		||||
    const char  *reason;
 | 
			
		||||
    size_t      reason_len;
 | 
			
		||||
    uint32_t    flags;
 | 
			
		||||
} SSL_CONN_CLOSE_INFO;
 | 
			
		||||
 | 
			
		||||
__owur int SSL_get_conn_close_info(SSL *ssl,
 | 
			
		||||
                                   SSL_CONN_CLOSE_INFO *info,
 | 
			
		||||
                                   size_t info_len);
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_DEPRECATED_1_1_0
 | 
			
		||||
#  define SSL_cache_hit(s) SSL_session_reused(s)
 | 
			
		||||
# endif
 | 
			
		||||
@@ -2596,6 +2729,36 @@ void SSL_set_allow_early_data_cb(SSL *s,
 | 
			
		||||
const char *OSSL_default_cipher_list(void);
 | 
			
		||||
const char *OSSL_default_ciphersuites(void);
 | 
			
		||||
 | 
			
		||||
/* RFC8879 Certificate compression APIs */
 | 
			
		||||
 | 
			
		||||
int SSL_CTX_compress_certs(SSL_CTX *ctx, int alg);
 | 
			
		||||
int SSL_compress_certs(SSL *ssl, int alg);
 | 
			
		||||
 | 
			
		||||
int SSL_CTX_set1_cert_comp_preference(SSL_CTX *ctx, int *algs, size_t len);
 | 
			
		||||
int SSL_set1_cert_comp_preference(SSL *ssl, int *algs, size_t len);
 | 
			
		||||
 | 
			
		||||
int SSL_CTX_set1_compressed_cert(SSL_CTX *ctx, int algorithm, unsigned char *comp_data,
 | 
			
		||||
                                size_t comp_length, size_t orig_length);
 | 
			
		||||
int SSL_set1_compressed_cert(SSL *ssl, int algorithm, unsigned char *comp_data,
 | 
			
		||||
                            size_t comp_length, size_t orig_length);
 | 
			
		||||
size_t SSL_CTX_get1_compressed_cert(SSL_CTX *ctx, int alg, unsigned char **data, size_t *orig_len);
 | 
			
		||||
size_t SSL_get1_compressed_cert(SSL *ssl, int alg, unsigned char **data, size_t *orig_len);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_add_expected_rpk(SSL *s, EVP_PKEY *rpk);
 | 
			
		||||
__owur EVP_PKEY *SSL_get0_peer_rpk(const SSL *s);
 | 
			
		||||
__owur EVP_PKEY *SSL_SESSION_get0_peer_rpk(SSL_SESSION *s);
 | 
			
		||||
__owur int SSL_get_negotiated_client_cert_type(const SSL *s);
 | 
			
		||||
__owur int SSL_get_negotiated_server_cert_type(const SSL *s);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_set1_client_cert_type(SSL *s, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_set1_server_cert_type(SSL *s, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_CTX_set1_client_cert_type(SSL_CTX *ctx, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_CTX_set1_server_cert_type(SSL_CTX *ctx, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_get0_client_cert_type(const SSL *s, unsigned char **t, size_t *len);
 | 
			
		||||
__owur int SSL_get0_server_cert_type(const SSL *s, unsigned char **t, size_t *len);
 | 
			
		||||
__owur int SSL_CTX_get0_client_cert_type(const SSL_CTX *ctx, unsigned char **t, size_t *len);
 | 
			
		||||
__owur int SSL_CTX_get0_server_cert_type(const SSL_CTX *s, unsigned char **t, size_t *len);
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 * Copyright 2005 Nokia. All rights reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -25,6 +25,7 @@ use OpenSSL::stackhash qw(generate_stack_macros generate_const_stack_macros);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
# include <openssl/e_os2.h>
 | 
			
		||||
# include <openssl/e_ostime.h>
 | 
			
		||||
# include <openssl/opensslconf.h>
 | 
			
		||||
# include <openssl/comp.h>
 | 
			
		||||
# include <openssl/bio.h>
 | 
			
		||||
@@ -258,28 +259,31 @@ typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len,
 | 
			
		||||
 | 
			
		||||
/* Extension context codes */
 | 
			
		||||
/* This extension is only allowed in TLS */
 | 
			
		||||
#define SSL_EXT_TLS_ONLY                        0x0001
 | 
			
		||||
#define SSL_EXT_TLS_ONLY                        0x00001
 | 
			
		||||
/* This extension is only allowed in DTLS */
 | 
			
		||||
#define SSL_EXT_DTLS_ONLY                       0x0002
 | 
			
		||||
#define SSL_EXT_DTLS_ONLY                       0x00002
 | 
			
		||||
/* Some extensions may be allowed in DTLS but we don't implement them for it */
 | 
			
		||||
#define SSL_EXT_TLS_IMPLEMENTATION_ONLY         0x0004
 | 
			
		||||
#define SSL_EXT_TLS_IMPLEMENTATION_ONLY         0x00004
 | 
			
		||||
/* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */
 | 
			
		||||
#define SSL_EXT_SSL3_ALLOWED                    0x0008
 | 
			
		||||
#define SSL_EXT_SSL3_ALLOWED                    0x00008
 | 
			
		||||
/* Extension is only defined for TLS1.2 and below */
 | 
			
		||||
#define SSL_EXT_TLS1_2_AND_BELOW_ONLY           0x0010
 | 
			
		||||
#define SSL_EXT_TLS1_2_AND_BELOW_ONLY           0x00010
 | 
			
		||||
/* Extension is only defined for TLS1.3 and above */
 | 
			
		||||
#define SSL_EXT_TLS1_3_ONLY                     0x0020
 | 
			
		||||
#define SSL_EXT_TLS1_3_ONLY                     0x00020
 | 
			
		||||
/* Ignore this extension during parsing if we are resuming */
 | 
			
		||||
#define SSL_EXT_IGNORE_ON_RESUMPTION            0x0040
 | 
			
		||||
#define SSL_EXT_CLIENT_HELLO                    0x0080
 | 
			
		||||
#define SSL_EXT_IGNORE_ON_RESUMPTION            0x00040
 | 
			
		||||
#define SSL_EXT_CLIENT_HELLO                    0x00080
 | 
			
		||||
/* Really means TLS1.2 or below */
 | 
			
		||||
#define SSL_EXT_TLS1_2_SERVER_HELLO             0x0100
 | 
			
		||||
#define SSL_EXT_TLS1_3_SERVER_HELLO             0x0200
 | 
			
		||||
#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS     0x0400
 | 
			
		||||
#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST      0x0800
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE              0x1000
 | 
			
		||||
#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET       0x2000
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST      0x4000
 | 
			
		||||
#define SSL_EXT_TLS1_2_SERVER_HELLO             0x00100
 | 
			
		||||
#define SSL_EXT_TLS1_3_SERVER_HELLO             0x00200
 | 
			
		||||
#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS     0x00400
 | 
			
		||||
#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST      0x00800
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE              0x01000
 | 
			
		||||
#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET       0x02000
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST      0x04000
 | 
			
		||||
#define SSL_EXT_TLS1_3_CERTIFICATE_COMPRESSION  0x08000
 | 
			
		||||
/* When sending a raw public key in a certificate message */
 | 
			
		||||
#define SSL_EXT_TLS1_3_RAW_PUBLIC_KEY           0x10000
 | 
			
		||||
 | 
			
		||||
/* Typedefs for handling custom extensions */
 | 
			
		||||
 | 
			
		||||
@@ -410,6 +414,17 @@ typedef int (*SSL_async_callback_fn)(SSL *s, void *arg);
 | 
			
		||||
     * interoperability with CryptoPro CSP 3.x
 | 
			
		||||
     */
 | 
			
		||||
# define SSL_OP_CRYPTOPRO_TLSEXT_BUG                     SSL_OP_BIT(31)
 | 
			
		||||
/*
 | 
			
		||||
 * Disable RFC8879 certificate compression
 | 
			
		||||
 * SSL_OP_NO_TX_CERTIFICATE_COMPRESSION: don't send compressed certificates,
 | 
			
		||||
 *     and ignore the extension when received.
 | 
			
		||||
 * SSL_OP_NO_RX_CERTIFICATE_COMPRESSION: don't send the extension, and
 | 
			
		||||
 *     subsequently indicating that receiving is not supported
 | 
			
		||||
 */
 | 
			
		||||
# define SSL_OP_NO_TX_CERTIFICATE_COMPRESSION            SSL_OP_BIT(32)
 | 
			
		||||
# define SSL_OP_NO_RX_CERTIFICATE_COMPRESSION            SSL_OP_BIT(33)
 | 
			
		||||
    /* Enable KTLS TX zerocopy on Linux */
 | 
			
		||||
# define SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE         SSL_OP_BIT(34)
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Option "collections."
 | 
			
		||||
@@ -554,6 +569,8 @@ typedef int (*SSL_async_callback_fn)(SSL *s, void *arg);
 | 
			
		||||
# define CERT_PKEY_CERT_TYPE     0x400
 | 
			
		||||
/* Cert chain suitable to Suite B */
 | 
			
		||||
# define CERT_PKEY_SUITEB        0x800
 | 
			
		||||
/* Cert pkey valid for raw public key use */
 | 
			
		||||
# define CERT_PKEY_RPK           0x1000
 | 
			
		||||
 | 
			
		||||
# define SSL_CONF_FLAG_CMDLINE           0x1
 | 
			
		||||
# define SSL_CONF_FLAG_FILE              0x2
 | 
			
		||||
@@ -945,6 +962,7 @@ uint32_t SSL_get_recv_max_early_data(const SSL *s);
 | 
			
		||||
# include <openssl/tls1.h>      /* This is mostly sslv3 with a few tweaks */
 | 
			
		||||
# include <openssl/dtls1.h>     /* Datagram TLS */
 | 
			
		||||
# include <openssl/srtp.h>      /* Support for the use_srtp extension */
 | 
			
		||||
# include <openssl/quic.h>
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
@@ -997,6 +1015,7 @@ typedef enum {
 | 
			
		||||
    DTLS_ST_CR_HELLO_VERIFY_REQUEST,
 | 
			
		||||
    TLS_ST_CR_SRVR_HELLO,
 | 
			
		||||
    TLS_ST_CR_CERT,
 | 
			
		||||
    TLS_ST_CR_COMP_CERT,
 | 
			
		||||
    TLS_ST_CR_CERT_STATUS,
 | 
			
		||||
    TLS_ST_CR_KEY_EXCH,
 | 
			
		||||
    TLS_ST_CR_CERT_REQ,
 | 
			
		||||
@@ -1006,6 +1025,7 @@ typedef enum {
 | 
			
		||||
    TLS_ST_CR_FINISHED,
 | 
			
		||||
    TLS_ST_CW_CLNT_HELLO,
 | 
			
		||||
    TLS_ST_CW_CERT,
 | 
			
		||||
    TLS_ST_CW_COMP_CERT,
 | 
			
		||||
    TLS_ST_CW_KEY_EXCH,
 | 
			
		||||
    TLS_ST_CW_CERT_VRFY,
 | 
			
		||||
    TLS_ST_CW_CHANGE,
 | 
			
		||||
@@ -1016,10 +1036,12 @@ typedef enum {
 | 
			
		||||
    DTLS_ST_SW_HELLO_VERIFY_REQUEST,
 | 
			
		||||
    TLS_ST_SW_SRVR_HELLO,
 | 
			
		||||
    TLS_ST_SW_CERT,
 | 
			
		||||
    TLS_ST_SW_COMP_CERT,
 | 
			
		||||
    TLS_ST_SW_KEY_EXCH,
 | 
			
		||||
    TLS_ST_SW_CERT_REQ,
 | 
			
		||||
    TLS_ST_SW_SRVR_DONE,
 | 
			
		||||
    TLS_ST_SR_CERT,
 | 
			
		||||
    TLS_ST_SR_COMP_CERT,
 | 
			
		||||
    TLS_ST_SR_KEY_EXCH,
 | 
			
		||||
    TLS_ST_SR_CERT_VRFY,
 | 
			
		||||
    TLS_ST_SR_NEXT_PROTO,
 | 
			
		||||
@@ -1311,6 +1333,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 | 
			
		||||
# define SSL_CTRL_GET_SIGNATURE_NID              132
 | 
			
		||||
# define SSL_CTRL_GET_TMP_KEY                    133
 | 
			
		||||
# define SSL_CTRL_GET_NEGOTIATED_GROUP           134
 | 
			
		||||
# define SSL_CTRL_GET_IANA_GROUPS                135
 | 
			
		||||
# define SSL_CTRL_SET_RETRY_VERIFY               136
 | 
			
		||||
# define SSL_CTRL_GET_VERIFY_CERT_STORE          137
 | 
			
		||||
# define SSL_CTRL_GET_CHAIN_CERT_STORE           138
 | 
			
		||||
@@ -1416,6 +1439,8 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 | 
			
		||||
 | 
			
		||||
# define SSL_get1_groups(s, glist) \
 | 
			
		||||
        SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist))
 | 
			
		||||
# define SSL_get0_iana_groups(s, plst) \
 | 
			
		||||
        SSL_ctrl(s,SSL_CTRL_GET_IANA_GROUPS,0,(uint16_t **)(plst))
 | 
			
		||||
# define SSL_CTX_set1_groups(ctx, glist, glistlen) \
 | 
			
		||||
        SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(int *)(glist))
 | 
			
		||||
# define SSL_CTX_set1_groups_list(ctx, s) \
 | 
			
		||||
@@ -1480,6 +1505,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 | 
			
		||||
# define SSL_get_max_proto_version(s) \
 | 
			
		||||
        SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL)
 | 
			
		||||
 | 
			
		||||
const char *SSL_get0_group_name(SSL *s);
 | 
			
		||||
const char *SSL_group_to_name(SSL *s, int id);
 | 
			
		||||
 | 
			
		||||
/* Backwards compatibility, original 1.1.0 names */
 | 
			
		||||
@@ -1714,6 +1740,9 @@ __owur int SSL_has_matching_session_id(const SSL *s,
 | 
			
		||||
                                       unsigned int id_len);
 | 
			
		||||
SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
 | 
			
		||||
                             long length);
 | 
			
		||||
SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
 | 
			
		||||
                                long length, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                const char *propq);
 | 
			
		||||
 | 
			
		||||
# ifdef OPENSSL_X509_H
 | 
			
		||||
__owur X509 *SSL_get0_peer_certificate(const SSL *s);
 | 
			
		||||
@@ -1771,6 +1800,8 @@ __owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx,
 | 
			
		||||
SSL *SSL_new(SSL_CTX *ctx);
 | 
			
		||||
int SSL_up_ref(SSL *s);
 | 
			
		||||
int SSL_is_dtls(const SSL *s);
 | 
			
		||||
int SSL_is_tls(const SSL *s);
 | 
			
		||||
int SSL_is_quic(const SSL *s);
 | 
			
		||||
__owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
 | 
			
		||||
                                      unsigned int sid_ctx_len);
 | 
			
		||||
 | 
			
		||||
@@ -1863,6 +1894,8 @@ size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out);
 | 
			
		||||
size_t SSL_client_hello_get0_compression_methods(SSL *s,
 | 
			
		||||
                                                 const unsigned char **out);
 | 
			
		||||
int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen);
 | 
			
		||||
int SSL_client_hello_get_extension_order(SSL *s, uint16_t *exts,
 | 
			
		||||
                                         size_t *num_exts);
 | 
			
		||||
int SSL_client_hello_get0_ext(SSL *s, unsigned int type,
 | 
			
		||||
                              const unsigned char **out, size_t *outlen);
 | 
			
		||||
 | 
			
		||||
@@ -1917,6 +1950,7 @@ __owur int SSL_get_early_data_status(const SSL *s);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_get_error(const SSL *s, int ret_code);
 | 
			
		||||
__owur const char *SSL_get_version(const SSL *s);
 | 
			
		||||
__owur int SSL_get_handshake_rtt(const SSL *s, uint64_t *rtt);
 | 
			
		||||
 | 
			
		||||
/* This sets the 'default' SSL version that SSL_new() will create */
 | 
			
		||||
# ifndef OPENSSL_NO_DEPRECATED_3_0
 | 
			
		||||
@@ -2225,6 +2259,105 @@ size_t SSL_get_num_tickets(const SSL *s);
 | 
			
		||||
int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets);
 | 
			
		||||
size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
/* QUIC support */
 | 
			
		||||
int SSL_handle_events(SSL *s);
 | 
			
		||||
__owur int SSL_get_event_timeout(SSL *s, struct timeval *tv, int *is_infinite);
 | 
			
		||||
__owur int SSL_get_rpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
__owur int SSL_get_wpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc);
 | 
			
		||||
__owur int SSL_net_read_desired(SSL *s);
 | 
			
		||||
__owur int SSL_net_write_desired(SSL *s);
 | 
			
		||||
__owur int SSL_set_blocking_mode(SSL *s, int blocking);
 | 
			
		||||
__owur int SSL_get_blocking_mode(SSL *s);
 | 
			
		||||
__owur int SSL_set1_initial_peer_addr(SSL *s, const BIO_ADDR *peer_addr);
 | 
			
		||||
__owur SSL *SSL_get0_connection(SSL *s);
 | 
			
		||||
__owur int SSL_is_connection(SSL *s);
 | 
			
		||||
 | 
			
		||||
#define SSL_STREAM_TYPE_NONE        0
 | 
			
		||||
#define SSL_STREAM_TYPE_READ        (1U << 0)
 | 
			
		||||
#define SSL_STREAM_TYPE_WRITE       (1U << 1)
 | 
			
		||||
#define SSL_STREAM_TYPE_BIDI        (SSL_STREAM_TYPE_READ | SSL_STREAM_TYPE_WRITE)
 | 
			
		||||
__owur int SSL_get_stream_type(SSL *s);
 | 
			
		||||
 | 
			
		||||
__owur uint64_t SSL_get_stream_id(SSL *s);
 | 
			
		||||
__owur int SSL_is_stream_local(SSL *s);
 | 
			
		||||
 | 
			
		||||
#define SSL_DEFAULT_STREAM_MODE_NONE        0
 | 
			
		||||
#define SSL_DEFAULT_STREAM_MODE_AUTO_BIDI   1
 | 
			
		||||
#define SSL_DEFAULT_STREAM_MODE_AUTO_UNI    2
 | 
			
		||||
__owur int SSL_set_default_stream_mode(SSL *s, uint32_t mode);
 | 
			
		||||
 | 
			
		||||
#define SSL_STREAM_FLAG_UNI         (1U << 0)
 | 
			
		||||
#define SSL_STREAM_FLAG_NO_BLOCK    (1U << 1)
 | 
			
		||||
#define SSL_STREAM_FLAG_ADVANCE     (1U << 2)
 | 
			
		||||
__owur SSL *SSL_new_stream(SSL *s, uint64_t flags);
 | 
			
		||||
 | 
			
		||||
#define SSL_INCOMING_STREAM_POLICY_AUTO      0
 | 
			
		||||
#define SSL_INCOMING_STREAM_POLICY_ACCEPT    1
 | 
			
		||||
#define SSL_INCOMING_STREAM_POLICY_REJECT    2
 | 
			
		||||
__owur int SSL_set_incoming_stream_policy(SSL *s, int policy, uint64_t aec);
 | 
			
		||||
 | 
			
		||||
#define SSL_ACCEPT_STREAM_NO_BLOCK      (1U << 0)
 | 
			
		||||
__owur SSL *SSL_accept_stream(SSL *s, uint64_t flags);
 | 
			
		||||
__owur size_t SSL_get_accept_stream_queue_len(SSL *s);
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_QUIC
 | 
			
		||||
__owur int SSL_inject_net_dgram(SSL *s, const unsigned char *buf,
 | 
			
		||||
                                size_t buf_len,
 | 
			
		||||
                                const BIO_ADDR *peer,
 | 
			
		||||
                                const BIO_ADDR *local);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
typedef struct ssl_shutdown_ex_args_st {
 | 
			
		||||
    uint64_t    quic_error_code;
 | 
			
		||||
    const char  *quic_reason;
 | 
			
		||||
} SSL_SHUTDOWN_EX_ARGS;
 | 
			
		||||
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_RAPID             (1U << 0)
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_NO_STREAM_FLUSH   (1U << 1)
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_NO_BLOCK          (1U << 2)
 | 
			
		||||
#define SSL_SHUTDOWN_FLAG_WAIT_PEER         (1U << 3)
 | 
			
		||||
 | 
			
		||||
__owur int SSL_shutdown_ex(SSL *ssl, uint64_t flags,
 | 
			
		||||
                           const SSL_SHUTDOWN_EX_ARGS *args,
 | 
			
		||||
                           size_t args_len);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_stream_conclude(SSL *ssl, uint64_t flags);
 | 
			
		||||
 | 
			
		||||
typedef struct ssl_stream_reset_args_st {
 | 
			
		||||
    uint64_t quic_error_code;
 | 
			
		||||
} SSL_STREAM_RESET_ARGS;
 | 
			
		||||
 | 
			
		||||
__owur int SSL_stream_reset(SSL *ssl,
 | 
			
		||||
                            const SSL_STREAM_RESET_ARGS *args,
 | 
			
		||||
                            size_t args_len);
 | 
			
		||||
 | 
			
		||||
#define SSL_STREAM_STATE_NONE           0
 | 
			
		||||
#define SSL_STREAM_STATE_OK             1
 | 
			
		||||
#define SSL_STREAM_STATE_WRONG_DIR      2
 | 
			
		||||
#define SSL_STREAM_STATE_FINISHED       3
 | 
			
		||||
#define SSL_STREAM_STATE_RESET_LOCAL    4
 | 
			
		||||
#define SSL_STREAM_STATE_RESET_REMOTE   5
 | 
			
		||||
#define SSL_STREAM_STATE_CONN_CLOSED    6
 | 
			
		||||
__owur int SSL_get_stream_read_state(SSL *ssl);
 | 
			
		||||
__owur int SSL_get_stream_write_state(SSL *ssl);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_get_stream_read_error_code(SSL *ssl, uint64_t *app_error_code);
 | 
			
		||||
__owur int SSL_get_stream_write_error_code(SSL *ssl, uint64_t *app_error_code);
 | 
			
		||||
 | 
			
		||||
#define SSL_CONN_CLOSE_FLAG_LOCAL       (1U << 0)
 | 
			
		||||
#define SSL_CONN_CLOSE_FLAG_TRANSPORT   (1U << 1)
 | 
			
		||||
 | 
			
		||||
typedef struct ssl_conn_close_info_st {
 | 
			
		||||
    uint64_t    error_code, frame_type;
 | 
			
		||||
    const char  *reason;
 | 
			
		||||
    size_t      reason_len;
 | 
			
		||||
    uint32_t    flags;
 | 
			
		||||
} SSL_CONN_CLOSE_INFO;
 | 
			
		||||
 | 
			
		||||
__owur int SSL_get_conn_close_info(SSL *ssl,
 | 
			
		||||
                                   SSL_CONN_CLOSE_INFO *info,
 | 
			
		||||
                                   size_t info_len);
 | 
			
		||||
 | 
			
		||||
# ifndef OPENSSL_NO_DEPRECATED_1_1_0
 | 
			
		||||
#  define SSL_cache_hit(s) SSL_session_reused(s)
 | 
			
		||||
# endif
 | 
			
		||||
@@ -2524,6 +2657,36 @@ void SSL_set_allow_early_data_cb(SSL *s,
 | 
			
		||||
const char *OSSL_default_cipher_list(void);
 | 
			
		||||
const char *OSSL_default_ciphersuites(void);
 | 
			
		||||
 | 
			
		||||
/* RFC8879 Certificate compression APIs */
 | 
			
		||||
 | 
			
		||||
int SSL_CTX_compress_certs(SSL_CTX *ctx, int alg);
 | 
			
		||||
int SSL_compress_certs(SSL *ssl, int alg);
 | 
			
		||||
 | 
			
		||||
int SSL_CTX_set1_cert_comp_preference(SSL_CTX *ctx, int *algs, size_t len);
 | 
			
		||||
int SSL_set1_cert_comp_preference(SSL *ssl, int *algs, size_t len);
 | 
			
		||||
 | 
			
		||||
int SSL_CTX_set1_compressed_cert(SSL_CTX *ctx, int algorithm, unsigned char *comp_data,
 | 
			
		||||
                                size_t comp_length, size_t orig_length);
 | 
			
		||||
int SSL_set1_compressed_cert(SSL *ssl, int algorithm, unsigned char *comp_data,
 | 
			
		||||
                            size_t comp_length, size_t orig_length);
 | 
			
		||||
size_t SSL_CTX_get1_compressed_cert(SSL_CTX *ctx, int alg, unsigned char **data, size_t *orig_len);
 | 
			
		||||
size_t SSL_get1_compressed_cert(SSL *ssl, int alg, unsigned char **data, size_t *orig_len);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_add_expected_rpk(SSL *s, EVP_PKEY *rpk);
 | 
			
		||||
__owur EVP_PKEY *SSL_get0_peer_rpk(const SSL *s);
 | 
			
		||||
__owur EVP_PKEY *SSL_SESSION_get0_peer_rpk(SSL_SESSION *s);
 | 
			
		||||
__owur int SSL_get_negotiated_client_cert_type(const SSL *s);
 | 
			
		||||
__owur int SSL_get_negotiated_server_cert_type(const SSL *s);
 | 
			
		||||
 | 
			
		||||
__owur int SSL_set1_client_cert_type(SSL *s, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_set1_server_cert_type(SSL *s, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_CTX_set1_client_cert_type(SSL_CTX *ctx, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_CTX_set1_server_cert_type(SSL_CTX *ctx, const unsigned char *val, size_t len);
 | 
			
		||||
__owur int SSL_get0_client_cert_type(const SSL *s, unsigned char **t, size_t *len);
 | 
			
		||||
__owur int SSL_get0_server_cert_type(const SSL *s, unsigned char **t, size_t *len);
 | 
			
		||||
__owur int SSL_CTX_get0_client_cert_type(const SSL_CTX *ctx, unsigned char **t, size_t *len);
 | 
			
		||||
__owur int SSL_CTX_get0_server_cert_type(const SSL_CTX *s, unsigned char **t, size_t *len);
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -239,6 +239,13 @@ extern "C" {
 | 
			
		||||
# define SSL3_RT_HEADER                  0x100
 | 
			
		||||
# define SSL3_RT_INNER_CONTENT_TYPE      0x101
 | 
			
		||||
 | 
			
		||||
/* Pseudo content types for QUIC */
 | 
			
		||||
# define SSL3_RT_QUIC_DATAGRAM            0x200
 | 
			
		||||
# define SSL3_RT_QUIC_PACKET              0x201
 | 
			
		||||
# define SSL3_RT_QUIC_FRAME_FULL          0x202
 | 
			
		||||
# define SSL3_RT_QUIC_FRAME_HEADER        0x203
 | 
			
		||||
# define SSL3_RT_QUIC_FRAME_PADDING       0x204
 | 
			
		||||
 | 
			
		||||
# define SSL3_AL_WARNING                 1
 | 
			
		||||
# define SSL3_AL_FATAL                   2
 | 
			
		||||
 | 
			
		||||
@@ -300,6 +307,8 @@ extern "C" {
 | 
			
		||||
/* Set if extended master secret extension required on renegotiation */
 | 
			
		||||
# define TLS1_FLAGS_REQUIRED_EXTMS               0x1000
 | 
			
		||||
 | 
			
		||||
/* 0x2000 is reserved for TLS1_FLAGS_QUIC (internal) */
 | 
			
		||||
 | 
			
		||||
# define SSL3_MT_HELLO_REQUEST                   0
 | 
			
		||||
# define SSL3_MT_CLIENT_HELLO                    1
 | 
			
		||||
# define SSL3_MT_SERVER_HELLO                    2
 | 
			
		||||
@@ -317,6 +326,7 @@ extern "C" {
 | 
			
		||||
# define SSL3_MT_CERTIFICATE_STATUS              22
 | 
			
		||||
# define SSL3_MT_SUPPLEMENTAL_DATA               23
 | 
			
		||||
# define SSL3_MT_KEY_UPDATE                      24
 | 
			
		||||
# define SSL3_MT_COMPRESSED_CERTIFICATE          25
 | 
			
		||||
# ifndef OPENSSL_NO_NEXTPROTONEG
 | 
			
		||||
#  define SSL3_MT_NEXT_PROTO                     67
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Generated by util/mkerr.pl DO NOT EDIT
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -25,8 +25,10 @@
 | 
			
		||||
# define SSL_R_APP_DATA_IN_HANDSHAKE                      100
 | 
			
		||||
# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272
 | 
			
		||||
# define SSL_R_AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE     158
 | 
			
		||||
# define SSL_R_BAD_CERTIFICATE                            348
 | 
			
		||||
# define SSL_R_BAD_CHANGE_CIPHER_SPEC                     103
 | 
			
		||||
# define SSL_R_BAD_CIPHER                                 186
 | 
			
		||||
# define SSL_R_BAD_COMPRESSION_ALGORITHM                  326
 | 
			
		||||
# define SSL_R_BAD_DATA                                   390
 | 
			
		||||
# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK              106
 | 
			
		||||
# define SSL_R_BAD_DECOMPRESSION                          107
 | 
			
		||||
@@ -82,6 +84,7 @@
 | 
			
		||||
# define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE    307
 | 
			
		||||
# define SSL_R_COMPRESSION_LIBRARY_ERROR                  142
 | 
			
		||||
# define SSL_R_CONNECTION_TYPE_NOT_SET                    144
 | 
			
		||||
# define SSL_R_CONN_USE_ONLY                              356
 | 
			
		||||
# define SSL_R_CONTEXT_NOT_DANE_ENABLED                   167
 | 
			
		||||
# define SSL_R_COOKIE_GEN_CALLBACK_FAILURE                400
 | 
			
		||||
# define SSL_R_COOKIE_MISMATCH                            308
 | 
			
		||||
@@ -110,6 +113,7 @@
 | 
			
		||||
# define SSL_R_ECC_CERT_NOT_FOR_SIGNING                   318
 | 
			
		||||
# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE              374
 | 
			
		||||
# define SSL_R_EE_KEY_TOO_SMALL                           399
 | 
			
		||||
# define SSL_R_EMPTY_RAW_PUBLIC_KEY                       349
 | 
			
		||||
# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST         354
 | 
			
		||||
# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG                  150
 | 
			
		||||
# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST              151
 | 
			
		||||
@@ -119,6 +123,7 @@
 | 
			
		||||
# define SSL_R_EXTENSION_NOT_RECEIVED                     279
 | 
			
		||||
# define SSL_R_EXTRA_DATA_IN_MESSAGE                      153
 | 
			
		||||
# define SSL_R_EXT_LENGTH_MISMATCH                        163
 | 
			
		||||
# define SSL_R_FAILED_TO_GET_PARAMETER                    316
 | 
			
		||||
# define SSL_R_FAILED_TO_INIT_ASYNC                       405
 | 
			
		||||
# define SSL_R_FRAGMENTED_CLIENT_HELLO                    401
 | 
			
		||||
# define SSL_R_GOT_A_FIN_BEFORE_A_CCS                     154
 | 
			
		||||
@@ -144,6 +149,8 @@
 | 
			
		||||
# define SSL_R_INVALID_KEY_UPDATE_TYPE                    120
 | 
			
		||||
# define SSL_R_INVALID_MAX_EARLY_DATA                     174
 | 
			
		||||
# define SSL_R_INVALID_NULL_CMD_NAME                      385
 | 
			
		||||
# define SSL_R_INVALID_RAW_PUBLIC_KEY                     350
 | 
			
		||||
# define SSL_R_INVALID_RECORD                             317
 | 
			
		||||
# define SSL_R_INVALID_SEQUENCE_NUMBER                    402
 | 
			
		||||
# define SSL_R_INVALID_SERVERINFO_DATA                    388
 | 
			
		||||
# define SSL_R_INVALID_SESSION_ID                         999
 | 
			
		||||
@@ -156,6 +163,7 @@
 | 
			
		||||
# define SSL_R_LENGTH_TOO_SHORT                           160
 | 
			
		||||
# define SSL_R_LIBRARY_BUG                                274
 | 
			
		||||
# define SSL_R_LIBRARY_HAS_NO_CIPHERS                     161
 | 
			
		||||
# define SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED             395
 | 
			
		||||
# define SSL_R_MISSING_DSA_SIGNING_CERT                   165
 | 
			
		||||
# define SSL_R_MISSING_ECDSA_SIGNING_CERT                 381
 | 
			
		||||
# define SSL_R_MISSING_FATAL                              256
 | 
			
		||||
@@ -196,9 +204,11 @@
 | 
			
		||||
# define SSL_R_NO_SHARED_GROUPS                           410
 | 
			
		||||
# define SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS             376
 | 
			
		||||
# define SSL_R_NO_SRTP_PROFILES                           359
 | 
			
		||||
# define SSL_R_NO_STREAM                                  355
 | 
			
		||||
# define SSL_R_NO_SUITABLE_DIGEST_ALGORITHM               297
 | 
			
		||||
# define SSL_R_NO_SUITABLE_GROUPS                         295
 | 
			
		||||
# define SSL_R_NO_SUITABLE_KEY_SHARE                      101
 | 
			
		||||
# define SSL_R_NO_SUITABLE_RECORD_LAYER                   322
 | 
			
		||||
# define SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM            118
 | 
			
		||||
# define SSL_R_NO_VALID_SCTS                              216
 | 
			
		||||
# define SSL_R_NO_VERIFY_COOKIE_CALLBACK                  403
 | 
			
		||||
@@ -221,10 +231,16 @@
 | 
			
		||||
# define SSL_R_PSK_IDENTITY_NOT_FOUND                     223
 | 
			
		||||
# define SSL_R_PSK_NO_CLIENT_CB                           224
 | 
			
		||||
# define SSL_R_PSK_NO_SERVER_CB                           225
 | 
			
		||||
# define SSL_R_QUIC_HANDSHAKE_LAYER_ERROR                 393
 | 
			
		||||
# define SSL_R_QUIC_NETWORK_ERROR                         387
 | 
			
		||||
# define SSL_R_QUIC_PROTOCOL_ERROR                        382
 | 
			
		||||
# define SSL_R_READ_BIO_NOT_SET                           211
 | 
			
		||||
# define SSL_R_READ_TIMEOUT_EXPIRED                       312
 | 
			
		||||
# define SSL_R_RECORDS_NOT_RELEASED                       321
 | 
			
		||||
# define SSL_R_RECORD_LAYER_FAILURE                       313
 | 
			
		||||
# define SSL_R_RECORD_LENGTH_MISMATCH                     213
 | 
			
		||||
# define SSL_R_RECORD_TOO_SMALL                           298
 | 
			
		||||
# define SSL_R_REMOTE_PEER_ADDRESS_NOT_SET                346
 | 
			
		||||
# define SSL_R_RENEGOTIATE_EXT_TOO_LONG                   335
 | 
			
		||||
# define SSL_R_RENEGOTIATION_ENCODING_ERR                 336
 | 
			
		||||
# define SSL_R_RENEGOTIATION_MISMATCH                     337
 | 
			
		||||
@@ -234,6 +250,7 @@
 | 
			
		||||
# define SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING     342
 | 
			
		||||
# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING           345
 | 
			
		||||
# define SSL_R_SCT_VERIFICATION_FAILED                    208
 | 
			
		||||
# define SSL_R_SEQUENCE_CTR_WRAPPED                       327
 | 
			
		||||
# define SSL_R_SERVERHELLO_TLSEXT                         275
 | 
			
		||||
# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED           277
 | 
			
		||||
# define SSL_R_SHUTDOWN_WHILE_IN_INIT                     407
 | 
			
		||||
@@ -273,6 +290,11 @@
 | 
			
		||||
# define SSL_R_SSL_SESSION_ID_TOO_LONG                    408
 | 
			
		||||
# define SSL_R_SSL_SESSION_VERSION_MISMATCH               210
 | 
			
		||||
# define SSL_R_STILL_IN_INIT                              121
 | 
			
		||||
# define SSL_R_STREAM_COUNT_LIMITED                       411
 | 
			
		||||
# define SSL_R_STREAM_FINISHED                            365
 | 
			
		||||
# define SSL_R_STREAM_RECV_ONLY                           366
 | 
			
		||||
# define SSL_R_STREAM_RESET                               375
 | 
			
		||||
# define SSL_R_STREAM_SEND_ONLY                           379
 | 
			
		||||
# define SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED          1116
 | 
			
		||||
# define SSL_R_TLSV13_ALERT_MISSING_EXTENSION             1109
 | 
			
		||||
# define SSL_R_TLSV1_ALERT_ACCESS_DENIED                  1049
 | 
			
		||||
@@ -316,6 +338,7 @@
 | 
			
		||||
# define SSL_R_UNKNOWN_COMMAND                            139
 | 
			
		||||
# define SSL_R_UNKNOWN_DIGEST                             368
 | 
			
		||||
# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE                  250
 | 
			
		||||
# define SSL_R_UNKNOWN_MANDATORY_PARAMETER                323
 | 
			
		||||
# define SSL_R_UNKNOWN_PKEY_TYPE                          251
 | 
			
		||||
# define SSL_R_UNKNOWN_PROTOCOL                           252
 | 
			
		||||
# define SSL_R_UNKNOWN_SSL_VERSION                        254
 | 
			
		||||
@@ -333,6 +356,7 @@
 | 
			
		||||
# define SSL_R_WRONG_CERTIFICATE_TYPE                     383
 | 
			
		||||
# define SSL_R_WRONG_CIPHER_RETURNED                      261
 | 
			
		||||
# define SSL_R_WRONG_CURVE                                378
 | 
			
		||||
# define SSL_R_WRONG_RPK_TYPE                             351
 | 
			
		||||
# define SSL_R_WRONG_SIGNATURE_LENGTH                     264
 | 
			
		||||
# define SSL_R_WRONG_SIGNATURE_SIZE                       265
 | 
			
		||||
# define SSL_R_WRONG_SIGNATURE_TYPE                       370
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -98,6 +98,14 @@ OSSL_DEPRECATEDIN_3_0 int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd,
 | 
			
		||||
 */
 | 
			
		||||
OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Deletes the object in the store by URI.
 | 
			
		||||
 * Returns 1 on success, 0 otherwise.
 | 
			
		||||
 */
 | 
			
		||||
int OSSL_STORE_delete(const char *uri, OSSL_LIB_CTX *libctx, const char *propq,
 | 
			
		||||
                      const UI_METHOD *ui_method, void *ui_data,
 | 
			
		||||
                      const OSSL_PARAM params[]);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Check if end of data (end of file) is reached
 | 
			
		||||
 * Returns 1 on end, 0 otherwise.
 | 
			
		||||
@@ -345,7 +353,7 @@ int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *loader,
 | 
			
		||||
OSSL_DEPRECATEDIN_3_0
 | 
			
		||||
const ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER *loader);
 | 
			
		||||
OSSL_DEPRECATEDIN_3_0
 | 
			
		||||
const char * OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER *loader);
 | 
			
		||||
const char *OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER *loader);
 | 
			
		||||
OSSL_DEPRECATEDIN_3_0
 | 
			
		||||
int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader);
 | 
			
		||||
OSSL_DEPRECATEDIN_3_0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/thread.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								deps/openssl/android/arm64-v8a/usr/local/include/openssl/thread.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_THREAD_H
 | 
			
		||||
# define OPENSSL_THREAD_H
 | 
			
		||||
 | 
			
		||||
# define OSSL_THREAD_SUPPORT_FLAG_THREAD_POOL (1U<<0)
 | 
			
		||||
# define OSSL_THREAD_SUPPORT_FLAG_DEFAULT_SPAWN (1U<<1)
 | 
			
		||||
 | 
			
		||||
# include <openssl/types.h>
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
uint32_t OSSL_get_thread_support_flags(void);
 | 
			
		||||
int OSSL_set_max_threads(OSSL_LIB_CTX *ctx, uint64_t max_threads);
 | 
			
		||||
uint64_t OSSL_get_max_threads(OSSL_LIB_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
#endif /* OPENSSL_THREAD_H */
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 * Copyright 2005 Nokia. All rights reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -28,7 +28,7 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
/* Default security level if not overridden at config time */
 | 
			
		||||
# ifndef OPENSSL_TLS_SECURITY_LEVEL
 | 
			
		||||
#  define OPENSSL_TLS_SECURITY_LEVEL 1
 | 
			
		||||
#  define OPENSSL_TLS_SECURITY_LEVEL 2
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
/* TLS*_VERSION constants are defined in prov_ssl.h */
 | 
			
		||||
@@ -122,6 +122,14 @@ extern "C" {
 | 
			
		||||
 */
 | 
			
		||||
# define TLSEXT_TYPE_signed_certificate_timestamp    18
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Extension type for Raw Public Keys
 | 
			
		||||
 * https://tools.ietf.org/html/rfc7250
 | 
			
		||||
 * https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml
 | 
			
		||||
 */
 | 
			
		||||
# define TLSEXT_TYPE_client_cert_type   19
 | 
			
		||||
# define TLSEXT_TYPE_server_cert_type   20
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * ExtensionType value for TLS padding extension.
 | 
			
		||||
 * http://tools.ietf.org/html/draft-agl-tls-padding
 | 
			
		||||
@@ -134,6 +142,9 @@ extern "C" {
 | 
			
		||||
/* ExtensionType value from RFC7627 */
 | 
			
		||||
# define TLSEXT_TYPE_extended_master_secret      23
 | 
			
		||||
 | 
			
		||||
/* ExtensionType value from RFC8879 */
 | 
			
		||||
# define TLSEXT_TYPE_compress_certificate        27
 | 
			
		||||
 | 
			
		||||
/* ExtensionType value from RFC4507 */
 | 
			
		||||
# define TLSEXT_TYPE_session_ticket              35
 | 
			
		||||
 | 
			
		||||
@@ -147,6 +158,7 @@ extern "C" {
 | 
			
		||||
# define TLSEXT_TYPE_post_handshake_auth         49
 | 
			
		||||
# define TLSEXT_TYPE_signature_algorithms_cert   50
 | 
			
		||||
# define TLSEXT_TYPE_key_share                   51
 | 
			
		||||
# define TLSEXT_TYPE_quic_transport_parameters   57
 | 
			
		||||
 | 
			
		||||
/* Temporary extension type */
 | 
			
		||||
# define TLSEXT_TYPE_renegotiate                 0xff01
 | 
			
		||||
@@ -195,6 +207,15 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
# define TLSEXT_hash_num                                 10
 | 
			
		||||
 | 
			
		||||
/* Possible compression values from RFC8879 */
 | 
			
		||||
/* Not defined in RFC8879, but used internally for no-compression */
 | 
			
		||||
# define TLSEXT_comp_cert_none                            0
 | 
			
		||||
# define TLSEXT_comp_cert_zlib                            1
 | 
			
		||||
# define TLSEXT_comp_cert_brotli                          2
 | 
			
		||||
# define TLSEXT_comp_cert_zstd                            3
 | 
			
		||||
/* one more than the number of defined values - used as size of 0-terminated array */
 | 
			
		||||
# define TLSEXT_comp_cert_limit                           4
 | 
			
		||||
 | 
			
		||||
/* Flag set for unrecognised algorithms */
 | 
			
		||||
# define TLSEXT_nid_unknown                              0x1000000
 | 
			
		||||
 | 
			
		||||
@@ -211,6 +232,15 @@ extern "C" {
 | 
			
		||||
# define TLSEXT_max_fragment_length_2048        3
 | 
			
		||||
# define TLSEXT_max_fragment_length_4096        4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * TLS Certificate Type (for RFC7250)
 | 
			
		||||
 * https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#tls-extensiontype-values-3
 | 
			
		||||
 */
 | 
			
		||||
# define TLSEXT_cert_type_x509         0
 | 
			
		||||
# define TLSEXT_cert_type_pgp          1 /* recognized, but not supported */
 | 
			
		||||
# define TLSEXT_cert_type_rpk          2
 | 
			
		||||
# define TLSEXT_cert_type_1609dot2     3 /* recognized, but not supported */
 | 
			
		||||
 | 
			
		||||
int SSL_CTX_set_tlsext_max_fragment_length(SSL_CTX *ctx, uint8_t mode);
 | 
			
		||||
int SSL_set_tlsext_max_fragment_length(SSL *ssl, uint8_t mode);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2019-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -305,6 +305,14 @@ void OSSL_trace_end(int category, BIO *channel);
 | 
			
		||||
# define OSSL_TRACE9(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) \
 | 
			
		||||
    OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9))
 | 
			
		||||
 | 
			
		||||
#define OSSL_TRACE_STRING_MAX 80
 | 
			
		||||
int OSSL_trace_string(BIO *out, int text, int full,
 | 
			
		||||
                      const unsigned char *data, size_t size);
 | 
			
		||||
#define OSSL_TRACE_STRING(category, text, full, data, len) \
 | 
			
		||||
    OSSL_TRACE_BEGIN(category) { \
 | 
			
		||||
        OSSL_trace_string(trc_out, text, full, data, len);  \
 | 
			
		||||
    } OSSL_TRACE_END(category)
 | 
			
		||||
 | 
			
		||||
# ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2006-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2006-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2001-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 2001-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/x509.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -606,6 +606,8 @@ EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                               const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a);
 | 
			
		||||
int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                           const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
@@ -654,6 +656,8 @@ EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a);
 | 
			
		||||
int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                            const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a);
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_DUP_FUNCTION(X509)
 | 
			
		||||
@@ -887,7 +891,7 @@ int X509_REQ_get_signature_nid(const X509_REQ *req);
 | 
			
		||||
int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
 | 
			
		||||
int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req);
 | 
			
		||||
EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req);
 | 
			
		||||
EVP_PKEY *X509_REQ_get0_pubkey(const X509_REQ *req);
 | 
			
		||||
X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req);
 | 
			
		||||
int X509_REQ_extension_nid(int nid);
 | 
			
		||||
int *X509_REQ_get_extension_nids(void);
 | 
			
		||||
@@ -953,13 +957,14 @@ X509_REVOKED_get0_extensions(const X509_REVOKED *r);
 | 
			
		||||
X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer,
 | 
			
		||||
                        EVP_PKEY *skey, const EVP_MD *md, unsigned int flags);
 | 
			
		||||
 | 
			
		||||
int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey);
 | 
			
		||||
int X509_REQ_check_private_key(const X509_REQ *req, EVP_PKEY *pkey);
 | 
			
		||||
 | 
			
		||||
int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey);
 | 
			
		||||
int X509_check_private_key(const X509 *cert, const EVP_PKEY *pkey);
 | 
			
		||||
int X509_chain_check_suiteb(int *perror_depth,
 | 
			
		||||
                            X509 *x, STACK_OF(X509) *chain,
 | 
			
		||||
                            unsigned long flags);
 | 
			
		||||
int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags);
 | 
			
		||||
void OSSL_STACK_OF_X509_free(STACK_OF(X509) *certs);
 | 
			
		||||
STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain);
 | 
			
		||||
 | 
			
		||||
int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b);
 | 
			
		||||
@@ -1265,6 +1270,8 @@ int PKCS8_pkey_add1_attr_by_OBJ(PKCS8_PRIV_KEY_INFO *p8, const ASN1_OBJECT *obj,
 | 
			
		||||
                                int type, const unsigned char *bytes, int len);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void X509_PUBKEY_set0_public_key(X509_PUBKEY *pub,
 | 
			
		||||
                                 unsigned char *penc, int penclen);
 | 
			
		||||
int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj,
 | 
			
		||||
                           int ptype, void *pval,
 | 
			
		||||
                           unsigned char *penc, int penclen);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 | 
			
		||||
@@ -412,6 +412,8 @@ EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                               const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a);
 | 
			
		||||
int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                           const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a);
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
@@ -460,6 +462,8 @@ EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a);
 | 
			
		||||
int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                            const char *propq);
 | 
			
		||||
EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a);
 | 
			
		||||
 | 
			
		||||
DECLARE_ASN1_DUP_FUNCTION(X509)
 | 
			
		||||
@@ -693,7 +697,7 @@ int X509_REQ_get_signature_nid(const X509_REQ *req);
 | 
			
		||||
int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
 | 
			
		||||
int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
 | 
			
		||||
EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req);
 | 
			
		||||
EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req);
 | 
			
		||||
EVP_PKEY *X509_REQ_get0_pubkey(const X509_REQ *req);
 | 
			
		||||
X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req);
 | 
			
		||||
int X509_REQ_extension_nid(int nid);
 | 
			
		||||
int *X509_REQ_get_extension_nids(void);
 | 
			
		||||
@@ -759,13 +763,14 @@ X509_REVOKED_get0_extensions(const X509_REVOKED *r);
 | 
			
		||||
X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer,
 | 
			
		||||
                        EVP_PKEY *skey, const EVP_MD *md, unsigned int flags);
 | 
			
		||||
 | 
			
		||||
int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey);
 | 
			
		||||
int X509_REQ_check_private_key(const X509_REQ *req, EVP_PKEY *pkey);
 | 
			
		||||
 | 
			
		||||
int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey);
 | 
			
		||||
int X509_check_private_key(const X509 *cert, const EVP_PKEY *pkey);
 | 
			
		||||
int X509_chain_check_suiteb(int *perror_depth,
 | 
			
		||||
                            X509 *x, STACK_OF(X509) *chain,
 | 
			
		||||
                            unsigned long flags);
 | 
			
		||||
int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags);
 | 
			
		||||
void OSSL_STACK_OF_X509_free(STACK_OF(X509) *certs);
 | 
			
		||||
STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain);
 | 
			
		||||
 | 
			
		||||
int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b);
 | 
			
		||||
@@ -1071,6 +1076,8 @@ int PKCS8_pkey_add1_attr_by_OBJ(PKCS8_PRIV_KEY_INFO *p8, const ASN1_OBJECT *obj,
 | 
			
		||||
                                int type, const unsigned char *bytes, int len);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void X509_PUBKEY_set0_public_key(X509_PUBKEY *pub,
 | 
			
		||||
                                 unsigned char *penc, int penclen);
 | 
			
		||||
int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj,
 | 
			
		||||
                           int ptype, void *pval,
 | 
			
		||||
                           unsigned char *penc, int penclen);
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * WARNING: do not edit!
 | 
			
		||||
 * Generated by Makefile from include/openssl/x509_vfy.h.in
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -411,6 +411,7 @@ X509_LOOKUP_ctrl_ex((x), X509_L_ADD_STORE, (name), 0, NULL,           \
 | 
			
		||||
# define X509_V_ERR_CA_CERT_MISSING_KEY_USAGE            92
 | 
			
		||||
# define X509_V_ERR_EXTENSIONS_REQUIRE_VERSION_3         93
 | 
			
		||||
# define X509_V_ERR_EC_KEY_EXPLICIT_PARAMS               94
 | 
			
		||||
# define X509_V_ERR_RPK_UNTRUSTED                        95
 | 
			
		||||
 | 
			
		||||
/* Certificate verify flags */
 | 
			
		||||
# ifndef OPENSSL_NO_DEPRECATED_1_1_0
 | 
			
		||||
@@ -491,71 +492,71 @@ int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj);
 | 
			
		||||
X509_CRL *X509_OBJECT_get0_X509_CRL(const X509_OBJECT *a);
 | 
			
		||||
int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj);
 | 
			
		||||
X509_STORE *X509_STORE_new(void);
 | 
			
		||||
void X509_STORE_free(X509_STORE *v);
 | 
			
		||||
int X509_STORE_lock(X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_unlock(X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_up_ref(X509_STORE *v);
 | 
			
		||||
STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *v);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *st);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st,
 | 
			
		||||
void X509_STORE_free(X509_STORE *xs);
 | 
			
		||||
int X509_STORE_lock(X509_STORE *xs);
 | 
			
		||||
int X509_STORE_unlock(X509_STORE *xs);
 | 
			
		||||
int X509_STORE_up_ref(X509_STORE *xs);
 | 
			
		||||
STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *xs);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *xs);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *xs,
 | 
			
		||||
                                          const X509_NAME *nm);
 | 
			
		||||
STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(const X509_STORE_CTX *st,
 | 
			
		||||
                                             const X509_NAME *nm);
 | 
			
		||||
int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
 | 
			
		||||
int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
 | 
			
		||||
int X509_STORE_set_trust(X509_STORE *ctx, int trust);
 | 
			
		||||
int X509_STORE_set1_param(X509_STORE *ctx, const X509_VERIFY_PARAM *pm);
 | 
			
		||||
X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_set_flags(X509_STORE *xs, unsigned long flags);
 | 
			
		||||
int X509_STORE_set_purpose(X509_STORE *xs, int purpose);
 | 
			
		||||
int X509_STORE_set_trust(X509_STORE *xs, int trust);
 | 
			
		||||
int X509_STORE_set1_param(X509_STORE *xs, const X509_VERIFY_PARAM *pm);
 | 
			
		||||
X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *xs);
 | 
			
		||||
 | 
			
		||||
void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify);
 | 
			
		||||
void X509_STORE_set_verify(X509_STORE *xs, X509_STORE_CTX_verify_fn verify);
 | 
			
		||||
#define X509_STORE_set_verify_func(ctx, func) \
 | 
			
		||||
            X509_STORE_set_verify((ctx),(func))
 | 
			
		||||
void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx,
 | 
			
		||||
                               X509_STORE_CTX_verify_fn verify);
 | 
			
		||||
X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_verify_cb(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_verify_cb(X509_STORE *xs,
 | 
			
		||||
                              X509_STORE_CTX_verify_cb verify_cb);
 | 
			
		||||
# define X509_STORE_set_verify_cb_func(ctx,func) \
 | 
			
		||||
            X509_STORE_set_verify_cb((ctx),(func))
 | 
			
		||||
X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_get_issuer(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_get_issuer(X509_STORE *xs,
 | 
			
		||||
                               X509_STORE_CTX_get_issuer_fn get_issuer);
 | 
			
		||||
X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_issued(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_check_issued(X509_STORE *xs,
 | 
			
		||||
                                 X509_STORE_CTX_check_issued_fn check_issued);
 | 
			
		||||
X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_revocation(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE *s);
 | 
			
		||||
void X509_STORE_set_check_revocation(X509_STORE *xs,
 | 
			
		||||
                                     X509_STORE_CTX_check_revocation_fn check_revocation);
 | 
			
		||||
X509_STORE_CTX_check_revocation_fn
 | 
			
		||||
    X509_STORE_get_check_revocation(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_get_crl(X509_STORE *ctx,
 | 
			
		||||
    X509_STORE_get_check_revocation(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_get_crl(X509_STORE *xs,
 | 
			
		||||
                            X509_STORE_CTX_get_crl_fn get_crl);
 | 
			
		||||
X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_crl(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_check_crl(X509_STORE *xs,
 | 
			
		||||
                              X509_STORE_CTX_check_crl_fn check_crl);
 | 
			
		||||
X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_cert_crl(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_cert_crl(X509_STORE *xs,
 | 
			
		||||
                             X509_STORE_CTX_cert_crl_fn cert_crl);
 | 
			
		||||
X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_policy(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_check_policy(X509_STORE *xs,
 | 
			
		||||
                                 X509_STORE_CTX_check_policy_fn check_policy);
 | 
			
		||||
X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_lookup_certs(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE *s);
 | 
			
		||||
void X509_STORE_set_lookup_certs(X509_STORE *xs,
 | 
			
		||||
                                 X509_STORE_CTX_lookup_certs_fn lookup_certs);
 | 
			
		||||
X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_lookup_crls(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE *s);
 | 
			
		||||
void X509_STORE_set_lookup_crls(X509_STORE *xs,
 | 
			
		||||
                                X509_STORE_CTX_lookup_crls_fn lookup_crls);
 | 
			
		||||
#define X509_STORE_set_lookup_crls_cb(ctx, func) \
 | 
			
		||||
    X509_STORE_set_lookup_crls((ctx), (func))
 | 
			
		||||
X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_cleanup(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_cleanup(X509_STORE *xs,
 | 
			
		||||
                            X509_STORE_CTX_cleanup_fn cleanup);
 | 
			
		||||
X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE *ctx);
 | 
			
		||||
X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE *xs);
 | 
			
		||||
 | 
			
		||||
#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \
 | 
			
		||||
    CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef)
 | 
			
		||||
int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data);
 | 
			
		||||
void *X509_STORE_get_ex_data(const X509_STORE *ctx, int idx);
 | 
			
		||||
int X509_STORE_set_ex_data(X509_STORE *xs, int idx, void *data);
 | 
			
		||||
void *X509_STORE_get_ex_data(const X509_STORE *xs, int idx);
 | 
			
		||||
 | 
			
		||||
X509_STORE_CTX *X509_STORE_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
X509_STORE_CTX *X509_STORE_CTX_new(void);
 | 
			
		||||
@@ -565,11 +566,14 @@ int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x);
 | 
			
		||||
void X509_STORE_CTX_free(X509_STORE_CTX *ctx);
 | 
			
		||||
int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *trust_store,
 | 
			
		||||
                        X509 *target, STACK_OF(X509) *untrusted);
 | 
			
		||||
int X509_STORE_CTX_init_rpk(X509_STORE_CTX *ctx, X509_STORE *trust_store,
 | 
			
		||||
                            EVP_PKEY* rpk);
 | 
			
		||||
void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk);
 | 
			
		||||
void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
X509_STORE *X509_STORE_CTX_get0_store(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx);
 | 
			
		||||
EVP_PKEY *X509_STORE_CTX_get0_rpk(const X509_STORE_CTX *ctx);
 | 
			
		||||
STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(const X509_STORE_CTX *ctx);
 | 
			
		||||
void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk);
 | 
			
		||||
void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
 | 
			
		||||
@@ -579,6 +583,8 @@ X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(const X509_STORE_CTX *ctx);
 | 
			
		||||
void X509_STORE_CTX_set_get_crl(X509_STORE_CTX *ctx,
 | 
			
		||||
                                X509_STORE_CTX_get_crl_fn get_crl);
 | 
			
		||||
X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(const X509_STORE_CTX *ctx);
 | 
			
		||||
@@ -600,7 +606,7 @@ X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(const X509_STORE_CTX *ctx);
 | 
			
		||||
# define X509_STORE_get1_crl X509_STORE_CTX_get1_crls
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
 | 
			
		||||
X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *xs, X509_LOOKUP_METHOD *m);
 | 
			
		||||
X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);
 | 
			
		||||
X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
 | 
			
		||||
X509_LOOKUP_METHOD *X509_LOOKUP_store(void);
 | 
			
		||||
@@ -685,8 +691,8 @@ X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias(
 | 
			
		||||
    const X509_LOOKUP_METHOD *method);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);
 | 
			
		||||
int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
 | 
			
		||||
int X509_STORE_add_cert(X509_STORE *xs, X509 *x);
 | 
			
		||||
int X509_STORE_add_crl(X509_STORE *xs, X509_CRL *x);
 | 
			
		||||
 | 
			
		||||
int X509_STORE_CTX_get_by_subject(const X509_STORE_CTX *vs,
 | 
			
		||||
                                  X509_LOOKUP_TYPE type,
 | 
			
		||||
@@ -730,23 +736,21 @@ void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx);
 | 
			
		||||
X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx);
 | 
			
		||||
int X509_LOOKUP_shutdown(X509_LOOKUP *ctx);
 | 
			
		||||
 | 
			
		||||
int X509_STORE_load_file(X509_STORE *ctx, const char *file);
 | 
			
		||||
int X509_STORE_load_path(X509_STORE *ctx, const char *path);
 | 
			
		||||
int X509_STORE_load_store(X509_STORE *ctx, const char *store);
 | 
			
		||||
int X509_STORE_load_locations(X509_STORE *ctx,
 | 
			
		||||
                                               const char *file,
 | 
			
		||||
                                               const char *dir);
 | 
			
		||||
int X509_STORE_set_default_paths(X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_load_file(X509_STORE *xs, const char *file);
 | 
			
		||||
int X509_STORE_load_path(X509_STORE *xs, const char *path);
 | 
			
		||||
int X509_STORE_load_store(X509_STORE *xs, const char *store);
 | 
			
		||||
int X509_STORE_load_locations(X509_STORE *s, const char *file, const char *dir);
 | 
			
		||||
int X509_STORE_set_default_paths(X509_STORE *xs);
 | 
			
		||||
 | 
			
		||||
int X509_STORE_load_file_ex(X509_STORE *ctx, const char *file,
 | 
			
		||||
int X509_STORE_load_file_ex(X509_STORE *xs, const char *file,
 | 
			
		||||
                            OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int X509_STORE_load_store_ex(X509_STORE *ctx, const char *store,
 | 
			
		||||
int X509_STORE_load_store_ex(X509_STORE *xs, const char *store,
 | 
			
		||||
                             OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int X509_STORE_load_locations_ex(X509_STORE *ctx, const char *file,
 | 
			
		||||
                                 const char *dir, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                 const char *propq);
 | 
			
		||||
int X509_STORE_set_default_paths_ex(X509_STORE *ctx, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                    const char *propq);
 | 
			
		||||
int X509_STORE_load_locations_ex(X509_STORE *xs,
 | 
			
		||||
                                 const char *file, const char *dir,
 | 
			
		||||
                                 OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int X509_STORE_set_default_paths_ex(X509_STORE *xs,
 | 
			
		||||
                                    OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
#define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \
 | 
			
		||||
    CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, l, p, newf, dupf, freef)
 | 
			
		||||
@@ -764,6 +768,7 @@ X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(const X509_STORE_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get0_chain(const X509_STORE_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get1_chain(const X509_STORE_CTX *ctx);
 | 
			
		||||
void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *target);
 | 
			
		||||
void X509_STORE_CTX_set0_rpk(X509_STORE_CTX *ctx, EVP_PKEY *target);
 | 
			
		||||
void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk);
 | 
			
		||||
void X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk);
 | 
			
		||||
int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
 | 
			
		||||
@@ -773,6 +778,8 @@ int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose,
 | 
			
		||||
void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags);
 | 
			
		||||
void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags,
 | 
			
		||||
                             time_t t);
 | 
			
		||||
void X509_STORE_CTX_set_current_reasons(X509_STORE_CTX *ctx,
 | 
			
		||||
                                        unsigned int current_reasons);
 | 
			
		||||
 | 
			
		||||
X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(const X509_STORE_CTX *ctx);
 | 
			
		||||
int X509_STORE_CTX_get_explicit_policy(const X509_STORE_CTX *ctx);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * {- join("\n * ", @autowarntext) -}
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -314,6 +314,7 @@ X509_LOOKUP_ctrl_ex((x), X509_L_ADD_STORE, (name), 0, NULL,           \
 | 
			
		||||
# define X509_V_ERR_CA_CERT_MISSING_KEY_USAGE            92
 | 
			
		||||
# define X509_V_ERR_EXTENSIONS_REQUIRE_VERSION_3         93
 | 
			
		||||
# define X509_V_ERR_EC_KEY_EXPLICIT_PARAMS               94
 | 
			
		||||
# define X509_V_ERR_RPK_UNTRUSTED                        95
 | 
			
		||||
 | 
			
		||||
/* Certificate verify flags */
 | 
			
		||||
# ifndef OPENSSL_NO_DEPRECATED_1_1_0
 | 
			
		||||
@@ -394,71 +395,71 @@ int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj);
 | 
			
		||||
X509_CRL *X509_OBJECT_get0_X509_CRL(const X509_OBJECT *a);
 | 
			
		||||
int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj);
 | 
			
		||||
X509_STORE *X509_STORE_new(void);
 | 
			
		||||
void X509_STORE_free(X509_STORE *v);
 | 
			
		||||
int X509_STORE_lock(X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_unlock(X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_up_ref(X509_STORE *v);
 | 
			
		||||
STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *v);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *st);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st,
 | 
			
		||||
void X509_STORE_free(X509_STORE *xs);
 | 
			
		||||
int X509_STORE_lock(X509_STORE *xs);
 | 
			
		||||
int X509_STORE_unlock(X509_STORE *xs);
 | 
			
		||||
int X509_STORE_up_ref(X509_STORE *xs);
 | 
			
		||||
STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *xs);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *xs);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *xs,
 | 
			
		||||
                                          const X509_NAME *nm);
 | 
			
		||||
STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(const X509_STORE_CTX *st,
 | 
			
		||||
                                             const X509_NAME *nm);
 | 
			
		||||
int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
 | 
			
		||||
int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
 | 
			
		||||
int X509_STORE_set_trust(X509_STORE *ctx, int trust);
 | 
			
		||||
int X509_STORE_set1_param(X509_STORE *ctx, const X509_VERIFY_PARAM *pm);
 | 
			
		||||
X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_set_flags(X509_STORE *xs, unsigned long flags);
 | 
			
		||||
int X509_STORE_set_purpose(X509_STORE *xs, int purpose);
 | 
			
		||||
int X509_STORE_set_trust(X509_STORE *xs, int trust);
 | 
			
		||||
int X509_STORE_set1_param(X509_STORE *xs, const X509_VERIFY_PARAM *pm);
 | 
			
		||||
X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *xs);
 | 
			
		||||
 | 
			
		||||
void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify);
 | 
			
		||||
void X509_STORE_set_verify(X509_STORE *xs, X509_STORE_CTX_verify_fn verify);
 | 
			
		||||
#define X509_STORE_set_verify_func(ctx, func) \
 | 
			
		||||
            X509_STORE_set_verify((ctx),(func))
 | 
			
		||||
void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx,
 | 
			
		||||
                               X509_STORE_CTX_verify_fn verify);
 | 
			
		||||
X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_verify_cb(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_verify_cb(X509_STORE *xs,
 | 
			
		||||
                              X509_STORE_CTX_verify_cb verify_cb);
 | 
			
		||||
# define X509_STORE_set_verify_cb_func(ctx,func) \
 | 
			
		||||
            X509_STORE_set_verify_cb((ctx),(func))
 | 
			
		||||
X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_get_issuer(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_get_issuer(X509_STORE *xs,
 | 
			
		||||
                               X509_STORE_CTX_get_issuer_fn get_issuer);
 | 
			
		||||
X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_issued(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_check_issued(X509_STORE *xs,
 | 
			
		||||
                                 X509_STORE_CTX_check_issued_fn check_issued);
 | 
			
		||||
X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_revocation(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE *s);
 | 
			
		||||
void X509_STORE_set_check_revocation(X509_STORE *xs,
 | 
			
		||||
                                     X509_STORE_CTX_check_revocation_fn check_revocation);
 | 
			
		||||
X509_STORE_CTX_check_revocation_fn
 | 
			
		||||
    X509_STORE_get_check_revocation(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_get_crl(X509_STORE *ctx,
 | 
			
		||||
    X509_STORE_get_check_revocation(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_get_crl(X509_STORE *xs,
 | 
			
		||||
                            X509_STORE_CTX_get_crl_fn get_crl);
 | 
			
		||||
X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_crl(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_check_crl(X509_STORE *xs,
 | 
			
		||||
                              X509_STORE_CTX_check_crl_fn check_crl);
 | 
			
		||||
X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_cert_crl(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_cert_crl(X509_STORE *xs,
 | 
			
		||||
                             X509_STORE_CTX_cert_crl_fn cert_crl);
 | 
			
		||||
X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_check_policy(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_check_policy(X509_STORE *xs,
 | 
			
		||||
                                 X509_STORE_CTX_check_policy_fn check_policy);
 | 
			
		||||
X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_lookup_certs(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE *s);
 | 
			
		||||
void X509_STORE_set_lookup_certs(X509_STORE *xs,
 | 
			
		||||
                                 X509_STORE_CTX_lookup_certs_fn lookup_certs);
 | 
			
		||||
X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_lookup_crls(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE *s);
 | 
			
		||||
void X509_STORE_set_lookup_crls(X509_STORE *xs,
 | 
			
		||||
                                X509_STORE_CTX_lookup_crls_fn lookup_crls);
 | 
			
		||||
#define X509_STORE_set_lookup_crls_cb(ctx, func) \
 | 
			
		||||
    X509_STORE_set_lookup_crls((ctx), (func))
 | 
			
		||||
X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE *ctx);
 | 
			
		||||
void X509_STORE_set_cleanup(X509_STORE *ctx,
 | 
			
		||||
X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE *xs);
 | 
			
		||||
void X509_STORE_set_cleanup(X509_STORE *xs,
 | 
			
		||||
                            X509_STORE_CTX_cleanup_fn cleanup);
 | 
			
		||||
X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE *ctx);
 | 
			
		||||
X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE *xs);
 | 
			
		||||
 | 
			
		||||
#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \
 | 
			
		||||
    CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef)
 | 
			
		||||
int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data);
 | 
			
		||||
void *X509_STORE_get_ex_data(const X509_STORE *ctx, int idx);
 | 
			
		||||
int X509_STORE_set_ex_data(X509_STORE *xs, int idx, void *data);
 | 
			
		||||
void *X509_STORE_get_ex_data(const X509_STORE *xs, int idx);
 | 
			
		||||
 | 
			
		||||
X509_STORE_CTX *X509_STORE_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
X509_STORE_CTX *X509_STORE_CTX_new(void);
 | 
			
		||||
@@ -468,11 +469,14 @@ int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x);
 | 
			
		||||
void X509_STORE_CTX_free(X509_STORE_CTX *ctx);
 | 
			
		||||
int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *trust_store,
 | 
			
		||||
                        X509 *target, STACK_OF(X509) *untrusted);
 | 
			
		||||
int X509_STORE_CTX_init_rpk(X509_STORE_CTX *ctx, X509_STORE *trust_store,
 | 
			
		||||
                            EVP_PKEY* rpk);
 | 
			
		||||
void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk);
 | 
			
		||||
void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
 | 
			
		||||
 | 
			
		||||
X509_STORE *X509_STORE_CTX_get0_store(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx);
 | 
			
		||||
EVP_PKEY *X509_STORE_CTX_get0_rpk(const X509_STORE_CTX *ctx);
 | 
			
		||||
STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(const X509_STORE_CTX *ctx);
 | 
			
		||||
void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk);
 | 
			
		||||
void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
 | 
			
		||||
@@ -482,6 +486,8 @@ X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(const X509_STORE_CTX *ctx);
 | 
			
		||||
void X509_STORE_CTX_set_get_crl(X509_STORE_CTX *ctx,
 | 
			
		||||
                                X509_STORE_CTX_get_crl_fn get_crl);
 | 
			
		||||
X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(const X509_STORE_CTX *ctx);
 | 
			
		||||
X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(const X509_STORE_CTX *ctx);
 | 
			
		||||
@@ -503,7 +509,7 @@ X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(const X509_STORE_CTX *ctx);
 | 
			
		||||
# define X509_STORE_get1_crl X509_STORE_CTX_get1_crls
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
 | 
			
		||||
X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *xs, X509_LOOKUP_METHOD *m);
 | 
			
		||||
X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);
 | 
			
		||||
X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
 | 
			
		||||
X509_LOOKUP_METHOD *X509_LOOKUP_store(void);
 | 
			
		||||
@@ -588,8 +594,8 @@ X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias(
 | 
			
		||||
    const X509_LOOKUP_METHOD *method);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);
 | 
			
		||||
int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
 | 
			
		||||
int X509_STORE_add_cert(X509_STORE *xs, X509 *x);
 | 
			
		||||
int X509_STORE_add_crl(X509_STORE *xs, X509_CRL *x);
 | 
			
		||||
 | 
			
		||||
int X509_STORE_CTX_get_by_subject(const X509_STORE_CTX *vs,
 | 
			
		||||
                                  X509_LOOKUP_TYPE type,
 | 
			
		||||
@@ -633,23 +639,21 @@ void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx);
 | 
			
		||||
X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx);
 | 
			
		||||
int X509_LOOKUP_shutdown(X509_LOOKUP *ctx);
 | 
			
		||||
 | 
			
		||||
int X509_STORE_load_file(X509_STORE *ctx, const char *file);
 | 
			
		||||
int X509_STORE_load_path(X509_STORE *ctx, const char *path);
 | 
			
		||||
int X509_STORE_load_store(X509_STORE *ctx, const char *store);
 | 
			
		||||
int X509_STORE_load_locations(X509_STORE *ctx,
 | 
			
		||||
                                               const char *file,
 | 
			
		||||
                                               const char *dir);
 | 
			
		||||
int X509_STORE_set_default_paths(X509_STORE *ctx);
 | 
			
		||||
int X509_STORE_load_file(X509_STORE *xs, const char *file);
 | 
			
		||||
int X509_STORE_load_path(X509_STORE *xs, const char *path);
 | 
			
		||||
int X509_STORE_load_store(X509_STORE *xs, const char *store);
 | 
			
		||||
int X509_STORE_load_locations(X509_STORE *s, const char *file, const char *dir);
 | 
			
		||||
int X509_STORE_set_default_paths(X509_STORE *xs);
 | 
			
		||||
 | 
			
		||||
int X509_STORE_load_file_ex(X509_STORE *ctx, const char *file,
 | 
			
		||||
int X509_STORE_load_file_ex(X509_STORE *xs, const char *file,
 | 
			
		||||
                            OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int X509_STORE_load_store_ex(X509_STORE *ctx, const char *store,
 | 
			
		||||
int X509_STORE_load_store_ex(X509_STORE *xs, const char *store,
 | 
			
		||||
                             OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int X509_STORE_load_locations_ex(X509_STORE *ctx, const char *file,
 | 
			
		||||
                                 const char *dir, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                 const char *propq);
 | 
			
		||||
int X509_STORE_set_default_paths_ex(X509_STORE *ctx, OSSL_LIB_CTX *libctx,
 | 
			
		||||
                                    const char *propq);
 | 
			
		||||
int X509_STORE_load_locations_ex(X509_STORE *xs,
 | 
			
		||||
                                 const char *file, const char *dir,
 | 
			
		||||
                                 OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
int X509_STORE_set_default_paths_ex(X509_STORE *xs,
 | 
			
		||||
                                    OSSL_LIB_CTX *libctx, const char *propq);
 | 
			
		||||
 | 
			
		||||
#define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \
 | 
			
		||||
    CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, l, p, newf, dupf, freef)
 | 
			
		||||
@@ -667,6 +671,7 @@ X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(const X509_STORE_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get0_chain(const X509_STORE_CTX *ctx);
 | 
			
		||||
STACK_OF(X509) *X509_STORE_CTX_get1_chain(const X509_STORE_CTX *ctx);
 | 
			
		||||
void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *target);
 | 
			
		||||
void X509_STORE_CTX_set0_rpk(X509_STORE_CTX *ctx, EVP_PKEY *target);
 | 
			
		||||
void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk);
 | 
			
		||||
void X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk);
 | 
			
		||||
int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
 | 
			
		||||
@@ -676,6 +681,8 @@ int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose,
 | 
			
		||||
void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags);
 | 
			
		||||
void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags,
 | 
			
		||||
                             time_t t);
 | 
			
		||||
void X509_STORE_CTX_set_current_reasons(X509_STORE_CTX *ctx,
 | 
			
		||||
                                        unsigned int current_reasons);
 | 
			
		||||
 | 
			
		||||
X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(const X509_STORE_CTX *ctx);
 | 
			
		||||
int X509_STORE_CTX_get_explicit_policy(const X509_STORE_CTX *ctx);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Generated by util/mkerr.pl DO NOT EDIT
 | 
			
		||||
 * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 
 | 
			
		||||
@@ -742,9 +742,10 @@ SKM_DEFINE_STACK_OF_INTERNAL(X509_PURPOSE, X509_PURPOSE, X509_PURPOSE)
 | 
			
		||||
# define X509_PURPOSE_ANY                7
 | 
			
		||||
# define X509_PURPOSE_OCSP_HELPER        8
 | 
			
		||||
# define X509_PURPOSE_TIMESTAMP_SIGN     9
 | 
			
		||||
# define X509_PURPOSE_CODE_SIGN         10
 | 
			
		||||
 | 
			
		||||
# define X509_PURPOSE_MIN                1
 | 
			
		||||
# define X509_PURPOSE_MAX                9
 | 
			
		||||
# define X509_PURPOSE_MAX               10
 | 
			
		||||
 | 
			
		||||
/* Flags for X509V3_EXT_print() */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -478,9 +478,10 @@ typedef struct x509_purpose_st {
 | 
			
		||||
# define X509_PURPOSE_ANY                7
 | 
			
		||||
# define X509_PURPOSE_OCSP_HELPER        8
 | 
			
		||||
# define X509_PURPOSE_TIMESTAMP_SIGN     9
 | 
			
		||||
# define X509_PURPOSE_CODE_SIGN         10
 | 
			
		||||
 | 
			
		||||
# define X509_PURPOSE_MIN                1
 | 
			
		||||
# define X509_PURPOSE_MAX                9
 | 
			
		||||
# define X509_PURPOSE_MAX               10
 | 
			
		||||
 | 
			
		||||
/* Flags for X509V3_EXT_print() */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Generated by util/mkerr.pl DO NOT EDIT
 | 
			
		||||
 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -23,6 +23,8 @@
 | 
			
		||||
 */
 | 
			
		||||
# define X509V3_R_BAD_IP_ADDRESS                          118
 | 
			
		||||
# define X509V3_R_BAD_OBJECT                              119
 | 
			
		||||
# define X509V3_R_BAD_OPTION                              170
 | 
			
		||||
# define X509V3_R_BAD_VALUE                               171
 | 
			
		||||
# define X509V3_R_BN_DEC2BN_ERROR                         100
 | 
			
		||||
# define X509V3_R_BN_TO_ASN1_INTEGER_ERROR                101
 | 
			
		||||
# define X509V3_R_DIRNAME_ERROR                           149
 | 
			
		||||
@@ -86,6 +88,7 @@
 | 
			
		||||
# define X509V3_R_UNKNOWN_EXTENSION                       129
 | 
			
		||||
# define X509V3_R_UNKNOWN_EXTENSION_NAME                  130
 | 
			
		||||
# define X509V3_R_UNKNOWN_OPTION                          120
 | 
			
		||||
# define X509V3_R_UNKNOWN_VALUE                           172
 | 
			
		||||
# define X509V3_R_UNSUPPORTED_OPTION                      117
 | 
			
		||||
# define X509V3_R_UNSUPPORTED_TYPE                        167
 | 
			
		||||
# define X509V3_R_USER_TOO_LONG                           132
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user