forked from cory/tildefriends
		
	mingw64 OpenSSL => 3.2.0.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4644 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); | ||||
|   | ||||
							
								
								
									
										143
									
								
								deps/openssl/mingw64/usr/local/include/openssl/bio.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										143
									
								
								deps/openssl/mingw64/usr/local/include/openssl/bio.h
									
									
									
									
										vendored
									
									
								
							| @@ -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 | ||||
|   | ||||
| @@ -30,7 +30,7 @@ extern "C" { | ||||
| # ifndef OPENSSL_SYS_MINGW64 | ||||
| #  define OPENSSL_SYS_MINGW64 1 | ||||
| # endif | ||||
| # define OPENSSL_CONFIGURED_API 30100 | ||||
| # define OPENSSL_CONFIGURED_API 30200 | ||||
| # ifndef OPENSSL_RAND_SEED_OS | ||||
| #  define OPENSSL_RAND_SEED_OS | ||||
| # endif | ||||
| @@ -49,6 +49,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 | ||||
| @@ -61,6 +67,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 | ||||
| @@ -130,6 +139,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 | ||||
| @@ -148,6 +160,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 | ||||
| @@ -163,6 +181,18 @@ extern "C" { | ||||
| # ifndef OPENSSL_NO_WEAK_SSL_CIPHERS | ||||
| #  define OPENSSL_NO_WEAK_SSL_CIPHERS | ||||
| # 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 | ||||
| @@ -184,6 +214,12 @@ extern "C" { | ||||
|  | ||||
| # define RC4_INT unsigned 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 | ||||
|   | ||||
| @@ -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/mingw64/usr/local/include/openssl/core_names.h.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								deps/openssl/mingw64/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/mingw64/usr/local/include/openssl/e_ostime.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								deps/openssl/mingw64/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/mingw64/usr/local/include/openssl/hpke.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										169
									
								
								deps/openssl/mingw64/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/mingw64/usr/local/include/openssl/quic.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								deps/openssl/mingw64/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 | ||||
|  | ||||
|   | ||||
							
								
								
									
										195
									
								
								deps/openssl/mingw64/usr/local/include/openssl/ssl.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										195
									
								
								deps/openssl/mingw64/usr/local/include/openssl/ssl.h
									
									
									
									
										vendored
									
									
								
							| @@ -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/mingw64/usr/local/include/openssl/thread.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								deps/openssl/mingw64/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