Browse Source

Update to OpenSSL 3.5.4

Source commit: 8c0a0ffb020ae2169f173a6cfa96d7fbf524bc03
Martin Prikryl 2 weeks ago
parent
commit
3e4285c8a7

+ 104 - 29
libs/openssl/Makefile

@@ -25,8 +25,7 @@ DEFINES=$(DEFINES);OPENSSL_BN_ASM_PART_WORDS;OPENSSL_BN_ASM_MONT;OPENSSL_BN_ASM_
 DEFINES=$(DEFINES);OPENSSL_NO_CAMELLIA;OPENSSL_NO_RC5;OPENSSL_NO_MDC2;OPENSSL_NO_WHIRLPOOL
 DEFINES=$(DEFINES);OPENSSL_NO_SEED;OPENSSL_NO_CAPIENG;OPENSSL_NO_ENGINE;OPENSSL_NO_ZLIB
 DEFINES=$(DEFINES);OPENSSL_NO_QUIC;OPENSSL_NO_BROTLI;OPENSSL_NO_COMP;OPENSSL_NO_COMP_ALG
-DEFINES=$(DEFINES);OPENSSL_NO_TFO
-DEFINES=$(DEFINES);OPENSSL_NO_QLOG
+DEFINES=$(DEFINES);OPENSSL_NO_TFO;OPENSSL_NO_QLOG;OPENSSL_NO_JITTER;OPENSSL_NO_FIPS_JITTER
 DEFINES=$(DEFINES);WINSCP
 
 CFLAG=$(CFLAG) -D$(DEFINES:;= -D)
@@ -71,7 +70,10 @@ O_CRYPTO=  $(OUT_D)\$(CRYPTO).lib
 # Don't touch anything below this point
 ######################################################
 
-INC=-Iinclude -Icommon\include -Iproviders\implementations\include -Iproviders\common\include -I.
+INC=-Iinclude -Icommon\include \
+    -Iproviders\implementations\include -Iproviders\common\include \
+    -Iproviders\fips\include \
+    -I.
 LIB_CFLAGS=$(CFLAG) $(INC)
 LIBS_DEP=$(O_CRYPTO) $(O_SSL)
 
@@ -84,7 +86,7 @@ SSLOBJ= \
     $(OBJ_D)\d1_srtp.obj $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_msg.obj \
     $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \
     $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj $(OBJ_D)\ssl_txt.obj \
-    $(OBJ_D)\ssl_err.obj $(OBJ_D)\ssl_init.obj $(OBJ_D)\ssl_mcnf.obj \
+    $(OBJ_D)\ssl_init.obj $(OBJ_D)\ssl_mcnf.obj \
     $(OBJ_D)\bio_ssl.obj \
     $(OBJ_D)\pqueue.obj $(OBJ_D)\methods.obj \
     $(OBJ_D)\ssl_conf.obj \
@@ -103,7 +105,8 @@ SSLOBJ= \
     $(OBJ_D)\tls13_meth.obj \
     $(OBJ_D)\tls1_meth.obj \
     $(OBJ_D)\ssl3_meth.obj \
-    $(OBJ_D)\tls_multib.obj
+    $(OBJ_D)\tls_multib.obj \
+    $(OBJ_D)\quic_tls.obj
 
 CRYPTOOBJ= \
     $(OBJ_D)\cryptlib.obj $(OBJ_D)\ctype.obj $(OBJ_D)\init.obj $(OBJ_D)\mem.obj \
@@ -117,7 +120,8 @@ CRYPTOOBJ= \
     $(OBJ_D)\core_namemap.obj $(OBJ_D)\core_fetch.obj $(OBJ_D)\asn1_dsa.obj $(OBJ_D)\self_test_core.obj \
     $(OBJ_D)\passphrase.obj $(OBJ_D)\punycode.obj $(OBJ_D)\param_build.obj $(OBJ_D)\params_from_text.obj \
     $(OBJ_D)\trace.obj $(OBJ_D)\der_writer.obj $(OBJ_D)\sleep.obj $(OBJ_D)\deterministic_nonce.obj \
-    $(OBJ_D)\time.obj \
+    $(OBJ_D)\time.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\defaults.obj $(OBJ_D)\comp_methods.obj \
+    $(OBJ_D)\indicator_core.obj \
     $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj \
     $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj $(OBJ_D)\md5_sha1.obj \
     $(OBJ_D)\cbc128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\ccm128.obj \
@@ -198,7 +202,7 @@ CRYPTOOBJ= \
     $(OBJ_D)\exchange.obj $(OBJ_D)\kem.obj $(OBJ_D)\dh_ctrl.obj $(OBJ_D)\dsa_ctrl.obj \
     $(OBJ_D)\ec_ctrl.obj $(OBJ_D)\legacy_md4.obj $(OBJ_D)\legacy_md5_sha1.obj $(OBJ_D)\legacy_ripemd.obj \
     $(OBJ_D)\kdf_lib.obj $(OBJ_D)\dh_support.obj $(OBJ_D)\pmeth_check.obj $(OBJ_D)\legacy_blake2.obj \
-    $(OBJ_D)\mac_lib.obj $(OBJ_D)\mac_meth.obj \
+    $(OBJ_D)\mac_lib.obj $(OBJ_D)\mac_meth.obj $(OBJ_D)\s_lib.obj $(OBJ_D)\skeymgmt_meth.obj \
     $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \
     $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
     $(OBJ_D)\a_type.obj $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \
@@ -227,18 +231,21 @@ CRYPTOOBJ= \
     $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_name.obj \
     $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj $(OBJ_D)\t_req.obj \
     $(OBJ_D)\t_x509.obj $(OBJ_D)\t_crl.obj $(OBJ_D)\x_exten.obj $(OBJ_D)\by_store.obj \
-    $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj \
-    $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj \
-    $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_san.obj $(OBJ_D)\v3_skid.obj \
-    $(OBJ_D)\v3_akid.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj \
-    $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj \
-    $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj \
-    $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj \
-    $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \
-    $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_tlsf.obj \
-    $(OBJ_D)\v3_admis.obj $(OBJ_D)\v3_utf8.obj $(OBJ_D)\v3_ist.obj $(OBJ_D)\v3_no_rev_avail.obj \
-    $(OBJ_D)\v3_soa_id.obj $(OBJ_D)\v3_ind_iss.obj $(OBJ_D)\v3_no_ass.obj $(OBJ_D)\v3_single_use.obj \
-    $(OBJ_D)\v3_group_ac.obj \
+    $(OBJ_D)\x509_acert.obj $(OBJ_D)\v3_audit_id.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \
+    $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
+    $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj \
+    $(OBJ_D)\v3_san.obj $(OBJ_D)\v3_skid.obj $(OBJ_D)\v3_akid.obj $(OBJ_D)\v3_pku.obj \
+    $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
+    $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_akeya.obj \
+    $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
+    $(OBJ_D)\v3_pci.obj $(OBJ_D)\v3_ac_tgt.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
+    $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj \
+    $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_tlsf.obj $(OBJ_D)\v3_admis.obj \
+    $(OBJ_D)\v3_utf8.obj $(OBJ_D)\v3_ist.obj $(OBJ_D)\v3_no_rev_avail.obj $(OBJ_D)\v3_soa_id.obj \
+    $(OBJ_D)\v3_ind_iss.obj $(OBJ_D)\v3_no_ass.obj $(OBJ_D)\v3_single_use.obj $(OBJ_D)\v3_group_ac.obj \
+    $(OBJ_D)\v3_aaa.obj $(OBJ_D)\v3_attrdesc.obj $(OBJ_D)\v3_attrmap.obj $(OBJ_D)\v3_authattid.obj \
+    $(OBJ_D)\v3_battcons.obj $(OBJ_D)\v3_iobo.obj $(OBJ_D)\v3_rolespec.obj $(OBJ_D)\v3_sda.obj \
+    $(OBJ_D)\v3_timespec.obj $(OBJ_D)\v3_usernotice.obj \
     $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj \
     $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\conf_ssl.obj \
     $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
@@ -299,6 +306,13 @@ CRYPTOOBJ= \
     $(OBJ_D)\hpke_util.obj \
     $(OBJ_D)\internal.obj $(OBJ_D)\arch.obj \
     $(OBJ_D)\thread_win.obj \
+    $(OBJ_D)\hashtable.obj $(OBJ_D)\hashfunc.obj \
+    $(OBJ_D)\slh_dsa_key.obj $(OBJ_D)\slh_adrs.obj $(OBJ_D)\slh_dsa_hash_ctx.obj $(OBJ_D)\slh_hash.obj \
+    $(OBJ_D)\slh_params.obj $(OBJ_D)\slh_xmss.obj $(OBJ_D)\slh_dsa.obj $(OBJ_D)\slh_wots.obj \
+    $(OBJ_D)\slh_fors.obj $(OBJ_D)\slh_hypertree.obj \
+    $(OBJ_D)\ml_kem.obj \
+    $(OBJ_D)\ml_dsa_encoders.obj $(OBJ_D)\ml_dsa_key.obj $(OBJ_D)\ml_dsa_params.obj $(OBJ_D)\ml_dsa_key_compress.obj \
+    $(OBJ_D)\ml_dsa_matrix.obj $(OBJ_D)\ml_dsa_ntt.obj $(OBJ_D)\ml_dsa_sample.obj $(OBJ_D)\ml_dsa_sign.obj \
     $(OBJ_D)\prov_running.obj $(OBJ_D)\nullprov.obj $(OBJ_D)\baseprov.obj $(OBJ_D)\defltprov.obj \
     $(OBJ_D)\bio_prov.obj $(OBJ_D)\digest_to_nid.obj $(OBJ_D)\provider_err.obj $(OBJ_D)\provider_ctx.obj \
     $(OBJ_D)\provider_util.obj $(OBJ_D)\provider_seeding.obj $(OBJ_D)\securitycheck.obj $(OBJ_D)\securitycheck_default.obj \
@@ -307,11 +321,12 @@ CRYPTOOBJ= \
     $(OBJ_D)\der_ecx_key.obj $(OBJ_D)\der_rsa_key.obj $(OBJ_D)\der_rsa_sig.obj $(OBJ_D)\der_sm2_key.obj \
     $(OBJ_D)\der_sm2_sig.obj $(OBJ_D)\der_digests_gen.obj $(OBJ_D)\der_dsa_gen.obj $(OBJ_D)\der_ec_gen.obj \
     $(OBJ_D)\der_ecx_gen.obj $(OBJ_D)\der_rsa_gen.obj $(OBJ_D)\der_sm2_gen.obj $(OBJ_D)\der_wrap_gen.obj \
+    $(OBJ_D)\der_ml_dsa_key.obj $(OBJ_D)\der_slh_dsa_key.obj $(OBJ_D)\der_slh_dsa_gen.obj $(OBJ_D)\der_ml_dsa_gen.obj \
     $(OBJ_D)\blake2_prov.obj $(OBJ_D)\blake2b_prov.obj $(OBJ_D)\blake2s_prov.obj $(OBJ_D)\digestcommon.obj \
     $(OBJ_D)\sha2_prov.obj $(OBJ_D)\sha3_prov.obj $(OBJ_D)\sm3_prov.obj $(OBJ_D)\md5_prov.obj \
     $(OBJ_D)\ripemd_prov.obj $(OBJ_D)\md5_sha1_prov.obj $(OBJ_D)\null_prov.obj \
-    $(OBJ_D)\drbg.obj $(OBJ_D)\crngt.obj $(OBJ_D)\drbg_ctr.obj $(OBJ_D)\drbg_hash.obj \
-    $(OBJ_D)\drbg_hmac.obj $(OBJ_D)\seed_src.obj $(OBJ_D)\test_rng.obj \
+    $(OBJ_D)\drbg.obj $(OBJ_D)\drbg_ctr.obj $(OBJ_D)\drbg_hash.obj $(OBJ_D)\drbg_hmac.obj \
+    $(OBJ_D)\seed_src.obj $(OBJ_D)\test_rng.obj \
     $(OBJ_D)\ciphercommon_block.obj $(OBJ_D)\ciphercommon_hw.obj $(OBJ_D)\ciphercommon_gcm.obj $(OBJ_D)\ciphercommon_gcm_hw.obj \
     $(OBJ_D)\ciphercommon_ccm.obj $(OBJ_D)\ciphercommon_ccm_hw.obj $(OBJ_D)\cipher_null.obj $(OBJ_D)\cipher_aes.obj \
     $(OBJ_D)\ciphercommon.obj $(OBJ_D)\cipher_cts.obj $(OBJ_D)\cipher_aes_hw.obj $(OBJ_D)\cipher_aria.obj \
@@ -334,15 +349,19 @@ CRYPTOOBJ= \
     $(OBJ_D)\hmacdrbg_kdf.obj $(OBJ_D)\argon2.obj \
     $(OBJ_D)\dh_exch.obj $(OBJ_D)\ecdh_exch.obj $(OBJ_D)\ecx_exch.obj $(OBJ_D)\kdf_exch.obj \
     $(OBJ_D)\dsa_sig.obj $(OBJ_D)\ecdsa_sig.obj $(OBJ_D)\eddsa_sig.obj $(OBJ_D)\mac_legacy_sig.obj \
-    $(OBJ_D)\rsa_sig.obj $(OBJ_D)\sm2_sig.obj \
+    $(OBJ_D)\rsa_sig.obj $(OBJ_D)\sm2_sig.obj $(OBJ_D)\ml_dsa_sig.obj $(OBJ_D)\slh_dsa_sig.obj \
     $(OBJ_D)\rsa_enc.obj $(OBJ_D)\sm2_enc.obj \
     $(OBJ_D)\rsa_kem.obj $(OBJ_D)\ec_kem.obj $(OBJ_D)\kem_util.obj $(OBJ_D)\ecx_kem.obj \
+    $(OBJ_D)\mlx_kem.obj $(OBJ_D)\ml_kem_kem.obj \
     $(OBJ_D)\dh_kmgmt.obj $(OBJ_D)\dsa_kmgmt.obj $(OBJ_D)\ec_kmgmt.obj $(OBJ_D)\ecx_kmgmt.obj \
-    $(OBJ_D)\kdf_legacy_kmgmt.obj $(OBJ_D)\mac_legacy_kmgmt.obj $(OBJ_D)\rsa_kmgmt.obj \
+    $(OBJ_D)\kdf_legacy_kmgmt.obj $(OBJ_D)\mac_legacy_kmgmt.obj $(OBJ_D)\rsa_kmgmt.obj $(OBJ_D)\mlx_kmgmt.obj \
+    $(OBJ_D)\ml_dsa_kmgmt.obj $(OBJ_D)\ml_kem_kmgmt.obj $(OBJ_D)\slh_dsa_kmgmt.obj \
     $(OBJ_D)\decode_der2key.obj $(OBJ_D)\decode_epki2pki.obj $(OBJ_D)\decode_msblob2key.obj $(OBJ_D)\decode_pem2der.obj \
     $(OBJ_D)\decode_pvk2key.obj $(OBJ_D)\decode_spki2typespki.obj $(OBJ_D)\encode_key2any.obj $(OBJ_D)\encode_key2blob.obj \
-    $(OBJ_D)\encode_key2ms.obj $(OBJ_D)\encode_key2text.obj $(OBJ_D)\endecoder_common.obj \
-    $(OBJ_D)\file_store.obj $(OBJ_D)\file_store_any2obj.obj $(OBJ_D)\winstore_store.obj
+    $(OBJ_D)\encode_key2ms.obj $(OBJ_D)\encode_key2text.obj $(OBJ_D)\endecoder_common.obj $(OBJ_D)\ml_dsa_codecs.obj \
+    $(OBJ_D)\ml_kem_codecs.obj $(OBJ_D)\ml_common_codecs.obj \
+    $(OBJ_D)\file_store.obj $(OBJ_D)\file_store_any2obj.obj $(OBJ_D)\winstore_store.obj \
+    $(OBJ_D)\aes_skmgmt.obj $(OBJ_D)\generic.obj
 
 CRYPTOOBJASM= \
     $(OBJ_D)\des_586.obj \
@@ -384,7 +403,6 @@ SSLSRC= \
     $(SRC_D)\ssl\ssl_rsa.c \
     $(SRC_D)\ssl\ssl_asn1.c \
     $(SRC_D)\ssl\ssl_txt.c \
-    $(SRC_D)\ssl\ssl_err.c \
     $(SRC_D)\ssl\ssl_init.c \
     $(SRC_D)\ssl\ssl_mcnf.c \
     $(SRC_D)\ssl\bio_ssl.c \
@@ -412,7 +430,8 @@ SSLSRC= \
     $(SRC_D)\ssl\record\methods\tls13_meth.c \
     $(SRC_D)\ssl\record\methods\tls1_meth.c \
     $(SRC_D)\ssl\record\methods\ssl3_meth.c \
-    $(SRC_D)\ssl\record\methods\tls_multib.c
+    $(SRC_D)\ssl\record\methods\tls_multib.c \
+    $(SRC_D)\ssl\quic\quic_tls.c
 
 CRYPTOSRC= \
     $(SRC_D)\crypto\cryptlib.c \
@@ -460,6 +479,10 @@ CRYPTOSRC= \
     $(SRC_D)\crypto\sleep.c \
     $(SRC_D)\crypto\deterministic_nonce.c \
     $(SRC_D)\crypto\time.c \
+    $(SRC_D)\crypto\ssl_err.c \
+    $(SRC_D)\crypto\defaults.c \
+    $(SRC_D)\crypto\comp_methods.c \
+    $(SRC_D)\crypto\indicator_core.c \
     $(SRC_D)\crypto\md4\md4_dgst.c \
     $(SRC_D)\crypto\md4\md4_one.c \
     $(SRC_D)\crypto\md5\md5_dgst.c \
@@ -738,6 +761,8 @@ CRYPTOSRC= \
     $(SRC_D)\crypto\evp\legacy_blake2.c \
     $(SRC_D)\crypto\evp\mac_lib.c \
     $(SRC_D)\crypto\evp\mac_meth.c \
+    $(SRC_D)\crypto\evp\s_lib.c \
+    $(SRC_D)\crypto\evp\skeymgmt_meth.c \
     $(SRC_D)\crypto\asn1\a_object.c \
     $(SRC_D)\crypto\asn1\a_bitstr.c \
     $(SRC_D)\crypto\asn1\a_utctm.c \
@@ -846,6 +871,8 @@ CRYPTOSRC= \
     $(SRC_D)\crypto\x509\t_crl.c \
     $(SRC_D)\crypto\x509\x_exten.c \
     $(SRC_D)\crypto\x509\by_store.c \
+    $(SRC_D)\crypto\x509\x509_acert.c \
+    $(SRC_D)\crypto\x509\v3_audit_id.c \
     $(SRC_D)\crypto\x509\v3_bcons.c \
     $(SRC_D)\crypto\x509\v3_bitst.c \
     $(SRC_D)\crypto\x509\v3_conf.c \
@@ -873,6 +900,7 @@ CRYPTOSRC= \
     $(SRC_D)\crypto\x509\v3_ncons.c \
     $(SRC_D)\crypto\x509\v3_pcia.c \
     $(SRC_D)\crypto\x509\v3_pci.c \
+    $(SRC_D)\crypto\x509\v3_ac_tgt.c \
     $(SRC_D)\crypto\x509\pcy_cache.c \
     $(SRC_D)\crypto\x509\pcy_node.c \
     $(SRC_D)\crypto\x509\pcy_data.c \
@@ -891,6 +919,16 @@ CRYPTOSRC= \
     $(SRC_D)\crypto\x509\v3_no_ass.c \
     $(SRC_D)\crypto\x509\v3_single_use.c \
     $(SRC_D)\crypto\x509\v3_group_ac.c \
+    $(SRC_D)\crypto\x509\v3_aaa.c \
+    $(SRC_D)\crypto\x509\v3_attrdesc.c \
+    $(SRC_D)\crypto\x509\v3_attrmap.c \
+    $(SRC_D)\crypto\x509\v3_authattid.c \
+    $(SRC_D)\crypto\x509\v3_battcons.c \
+    $(SRC_D)\crypto\x509\v3_iobo.c \
+    $(SRC_D)\crypto\x509\v3_rolespec.c \
+    $(SRC_D)\crypto\x509\v3_sda.c \
+    $(SRC_D)\crypto\x509\v3_timespec.c \
+    $(SRC_D)\crypto\x509\v3_usernotice.c \
     $(SRC_D)\crypto\conf\conf_err.c \
     $(SRC_D)\crypto\conf\conf_lib.c \
     $(SRC_D)\crypto\conf\conf_api.c \
@@ -1052,6 +1090,27 @@ CRYPTOSRC= \
     $(SRC_D)\crypto\thread\internal.c \
     $(SRC_D)\crypto\thread\arch.c \
     $(SRC_D)\crypto\thread\arch\thread_win.c \
+    $(SRC_D)\crypto\hashtable\hashtable.c \
+    $(SRC_D)\crypto\hashtable\hashfunc.c \
+    $(SRC_D)\crypto\slh_dsa\slh_dsa_key.c \
+    $(SRC_D)\crypto\slh_dsa\slh_adrs.c \
+    $(SRC_D)\crypto\slh_dsa\slh_dsa_hash_ctx.c \
+    $(SRC_D)\crypto\slh_dsa\slh_hash.c \
+    $(SRC_D)\crypto\slh_dsa\slh_params.c \
+    $(SRC_D)\crypto\slh_dsa\slh_xmss.c \
+    $(SRC_D)\crypto\slh_dsa\slh_dsa.c \
+    $(SRC_D)\crypto\slh_dsa\slh_wots.c \
+    $(SRC_D)\crypto\slh_dsa\slh_fors.c \
+    $(SRC_D)\crypto\slh_dsa\slh_hypertree.c \
+    $(SRC_D)\crypto\ml_kem\ml_kem.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_encoders.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_key.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_params.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_key_compress.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_matrix.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_ntt.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_sample.c \
+    $(SRC_D)\crypto\ml_dsa\ml_dsa_sign.c \
     $(SRC_D)\providers\prov_running.c \
     $(SRC_D)\providers\nullprov.c \
     $(SRC_D)\providers\baseprov.c \
@@ -1081,6 +1140,10 @@ CRYPTOSRC= \
     $(SRC_D)\providers\common\der\der_rsa_gen.c \
     $(SRC_D)\providers\common\der\der_sm2_gen.c \
     $(SRC_D)\providers\common\der\der_wrap_gen.c \
+    $(SRC_D)\providers\common\der\der_ml_dsa_key.c \
+    $(SRC_D)\providers\common\der\der_slh_dsa_key.c \
+    $(SRC_D)\providers\common\der\der_slh_dsa_gen.c \
+    $(SRC_D)\providers\common\der\der_ml_dsa_gen.c \
     $(SRC_D)\providers\implementations\digests\blake2_prov.c \
     $(SRC_D)\providers\implementations\digests\blake2b_prov.c \
     $(SRC_D)\providers\implementations\digests\blake2s_prov.c \
@@ -1093,7 +1156,6 @@ CRYPTOSRC= \
     $(SRC_D)\providers\implementations\digests\md5_sha1_prov.c \
     $(SRC_D)\providers\implementations\digests\null_prov.c \
     $(SRC_D)\providers\implementations\rands\drbg.c \
-    $(SRC_D)\providers\implementations\rands\crngt.c \
     $(SRC_D)\providers\implementations\rands\drbg_ctr.c \
     $(SRC_D)\providers\implementations\rands\drbg_hash.c \
     $(SRC_D)\providers\implementations\rands\drbg_hmac.c \
@@ -1185,12 +1247,16 @@ CRYPTOSRC= \
     $(SRC_D)\providers\implementations\signature\mac_legacy_sig.c \
     $(SRC_D)\providers\implementations\signature\rsa_sig.c \
     $(SRC_D)\providers\implementations\signature\sm2_sig.c \
+    $(SRC_D)\providers\implementations\signature\ml_dsa_sig.c \
+    $(SRC_D)\providers\implementations\signature\slh_dsa_sig.c \
     $(SRC_D)\providers\implementations\asymciphers\rsa_enc.c \
     $(SRC_D)\providers\implementations\asymciphers\sm2_enc.c \
     $(SRC_D)\providers\implementations\kem\rsa_kem.c \
     $(SRC_D)\providers\implementations\kem\ec_kem.c \
     $(SRC_D)\providers\implementations\kem\kem_util.c \
     $(SRC_D)\providers\implementations\kem\ecx_kem.c \
+    $(SRC_D)\providers\implementations\kem\mlx_kem.c \
+    $(SRC_D)\providers\implementations\kem\ml_kem_kem.c \
     $(SRC_D)\providers\implementations\keymgmt\dh_kmgmt.c \
     $(SRC_D)\providers\implementations\keymgmt\dsa_kmgmt.c \
     $(SRC_D)\providers\implementations\keymgmt\ec_kmgmt.c \
@@ -1198,6 +1264,10 @@ CRYPTOSRC= \
     $(SRC_D)\providers\implementations\keymgmt\kdf_legacy_kmgmt.c \
     $(SRC_D)\providers\implementations\keymgmt\mac_legacy_kmgmt.c \
     $(SRC_D)\providers\implementations\keymgmt\rsa_kmgmt.c \
+    $(SRC_D)\providers\implementations\keymgmt\mlx_kmgmt.c \
+    $(SRC_D)\providers\implementations\keymgmt\ml_dsa_kmgmt.c \
+    $(SRC_D)\providers\implementations\keymgmt\ml_kem_kmgmt.c \
+    $(SRC_D)\providers\implementations\keymgmt\slh_dsa_kmgmt.c \
     $(SRC_D)\providers\implementations\encode_decode\decode_der2key.c \
     $(SRC_D)\providers\implementations\encode_decode\decode_epki2pki.c \
     $(SRC_D)\providers\implementations\encode_decode\decode_msblob2key.c \
@@ -1209,9 +1279,14 @@ CRYPTOSRC= \
     $(SRC_D)\providers\implementations\encode_decode\encode_key2ms.c \
     $(SRC_D)\providers\implementations\encode_decode\encode_key2text.c \
     $(SRC_D)\providers\implementations\encode_decode\endecoder_common.c \
+    $(SRC_D)\providers\implementations\encode_decode\ml_dsa_codecs.c \
+    $(SRC_D)\providers\implementations\encode_decode\ml_kem_codecs.c \
+    $(SRC_D)\providers\implementations\encode_decode\ml_common_codecs.c \
     $(SRC_D)\providers\implementations\storemgmt\file_store.c \
     $(SRC_D)\providers\implementations\storemgmt\file_store_any2obj.c \
-    $(SRC_D)\providers\implementations\storemgmt\winstore_store.c
+    $(SRC_D)\providers\implementations\storemgmt\winstore_store.c \
+    $(SRC_D)\providers\implementations\skeymgmt\aes_skmgmt.c \
+    $(SRC_D)\providers\implementations\skeymgmt\generic.c
 
 $(OBJ_D)\des_586.obj: $(SRC_D)\crypto\des\asm\des_586.asm
     $(ASM) -o$(OBJ_D)\des_586.obj $(SRC_D)\crypto\des\asm\des_586.asm

File diff suppressed because it is too large
+ 685 - 33
libs/openssl/crypto/params_idx.c


+ 5 - 5
libs/openssl/crypto/threads_win.c

@@ -205,13 +205,13 @@ static ossl_inline struct rcu_qp *get_hold_current_qp(CRYPTO_RCU_LOCK *lock)
     for (;;) {
         CRYPTO_atomic_load_int((int *)&lock->reader_idx, (int *)&qp_idx,
                                lock->rw_lock);
-        CRYPTO_atomic_add64(&lock->qp_group[qp_idx].users, (uint64_t)1, &tmp64,
+        CRYPTO_atomic_add64(/*WINSCP*/(uint64_t *)&lock->qp_group[qp_idx].users, (uint64_t)1, &tmp64,
                             lock->rw_lock);
         CRYPTO_atomic_load_int((int *)&lock->reader_idx, (int *)&tmp,
                                lock->rw_lock);
         if (qp_idx == tmp)
             break;
-        CRYPTO_atomic_add64(&lock->qp_group[qp_idx].users, (uint64_t)-1, &tmp64,
+        CRYPTO_atomic_add64(/*WINSCP*/(uint64_t *)&lock->qp_group[qp_idx].users, (uint64_t)-1, &tmp64,
                             lock->rw_lock);
     }
 
@@ -288,7 +288,7 @@ void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock)
         if (data->thread_qps[i].lock == lock) {
             data->thread_qps[i].depth--;
             if (data->thread_qps[i].depth == 0) {
-                CRYPTO_atomic_add64(&data->thread_qps[i].qp->users,
+                CRYPTO_atomic_add64(/*WINSCP*/(uint64_t *)&data->thread_qps[i].qp->users,
                                     (uint64_t)-1, (uint64_t *)&ret,
                                     lock->rw_lock);
                 OPENSSL_assert(ret >= 0);
@@ -380,7 +380,7 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
 
     /* wait for the reader count to reach zero */
     do {
-        CRYPTO_atomic_load(&qp->users, &count, lock->rw_lock);
+        CRYPTO_atomic_load(/*WINSCP*/(uint64_t *)&qp->users, &count, lock->rw_lock);
     } while (count != (uint64_t)0);
 
     lock->next_to_retire++;
@@ -708,7 +708,7 @@ int CRYPTO_atomic_store(uint64_t *dst, uint64_t val, CRYPTO_RWLOCK *lock)
 
     return 1;
 # else
-    InterlockedExchange64(dst, val);
+    InterlockedExchange64(/*WINSCP*/(int64_t *)dst, val);
     return 1;
 # endif
 }

+ 1 - 1
libs/openssl/crypto/x509/x509_def.c

@@ -30,7 +30,7 @@ static char *x509_cert_fileptr = NULL;
 
 static void get_windows_default_path(char *pathname, const char *suffix)
 {
-    char *ossldir;
+    const char *ossldir; // WINSCP
 
     ossldir = ossl_get_openssldir();
 

+ 412 - 320
libs/openssl/include/internal/param_names.h

@@ -14,364 +14,456 @@
 int ossl_param_find_pidx(const char *s);
 
 /* Parameter name definitions - generated by util/perl/OpenSSL/paramnames.pm */
-#define NUM_PIDX 291
+#define NUM_PIDX 346
 
-#define PIDX_ALG_PARAM_CIPHER 0
-#define PIDX_ALG_PARAM_DIGEST 1
-#define PIDX_ALG_PARAM_ENGINE 2
-#define PIDX_ALG_PARAM_MAC 3
-#define PIDX_ALG_PARAM_PROPERTIES 4
+#define PIDX_ALG_PARAM_ALGORITHM_ID 0
+#define PIDX_ALG_PARAM_ALGORITHM_ID_PARAMS 1
+#define PIDX_ALG_PARAM_CIPHER 2
+#define PIDX_ALG_PARAM_DIGEST 3
+#define PIDX_ALG_PARAM_ENGINE 4
+#define PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR 5
+#define PIDX_ALG_PARAM_MAC 6
+#define PIDX_ALG_PARAM_PROPERTIES 7
 #define PIDX_ASYM_CIPHER_PARAM_DIGEST PIDX_PKEY_PARAM_DIGEST
 #define PIDX_ASYM_CIPHER_PARAM_ENGINE PIDX_PKEY_PARAM_ENGINE
-#define PIDX_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION 5
+#define PIDX_ASYM_CIPHER_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_ASYM_CIPHER_PARAM_FIPS_KEY_CHECK PIDX_PKEY_PARAM_FIPS_KEY_CHECK
+#define PIDX_ASYM_CIPHER_PARAM_FIPS_RSA_PKCS15_PAD_DISABLED PIDX_PROV_PARAM_RSA_PKCS15_PAD_DISABLED
+#define PIDX_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION 8
 #define PIDX_ASYM_CIPHER_PARAM_MGF1_DIGEST PIDX_PKEY_PARAM_MGF1_DIGEST
 #define PIDX_ASYM_CIPHER_PARAM_MGF1_DIGEST_PROPS PIDX_PKEY_PARAM_MGF1_PROPERTIES
 #define PIDX_ASYM_CIPHER_PARAM_OAEP_DIGEST PIDX_ALG_PARAM_DIGEST
-#define PIDX_ASYM_CIPHER_PARAM_OAEP_DIGEST_PROPS 6
-#define PIDX_ASYM_CIPHER_PARAM_OAEP_LABEL 7
+#define PIDX_ASYM_CIPHER_PARAM_OAEP_DIGEST_PROPS 9
+#define PIDX_ASYM_CIPHER_PARAM_OAEP_LABEL 10
 #define PIDX_ASYM_CIPHER_PARAM_PAD_MODE PIDX_PKEY_PARAM_PAD_MODE
 #define PIDX_ASYM_CIPHER_PARAM_PROPERTIES PIDX_PKEY_PARAM_PROPERTIES
-#define PIDX_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION 8
-#define PIDX_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION 9
-#define PIDX_CAPABILITY_TLS_GROUP_ALG 10
-#define PIDX_CAPABILITY_TLS_GROUP_ID 11
-#define PIDX_CAPABILITY_TLS_GROUP_IS_KEM 12
-#define PIDX_CAPABILITY_TLS_GROUP_MAX_DTLS 13
-#define PIDX_CAPABILITY_TLS_GROUP_MAX_TLS 14
-#define PIDX_CAPABILITY_TLS_GROUP_MIN_DTLS 15
-#define PIDX_CAPABILITY_TLS_GROUP_MIN_TLS 16
-#define PIDX_CAPABILITY_TLS_GROUP_NAME 17
-#define PIDX_CAPABILITY_TLS_GROUP_NAME_INTERNAL 18
-#define PIDX_CAPABILITY_TLS_GROUP_SECURITY_BITS 19
-#define PIDX_CAPABILITY_TLS_SIGALG_CODE_POINT 20
-#define PIDX_CAPABILITY_TLS_SIGALG_HASH_NAME 21
-#define PIDX_CAPABILITY_TLS_SIGALG_HASH_OID 22
-#define PIDX_CAPABILITY_TLS_SIGALG_IANA_NAME 23
-#define PIDX_CAPABILITY_TLS_SIGALG_KEYTYPE 24
-#define PIDX_CAPABILITY_TLS_SIGALG_KEYTYPE_OID 25
-#define PIDX_CAPABILITY_TLS_SIGALG_MAX_TLS 14
-#define PIDX_CAPABILITY_TLS_SIGALG_MIN_TLS 16
-#define PIDX_CAPABILITY_TLS_SIGALG_NAME 26
-#define PIDX_CAPABILITY_TLS_SIGALG_OID 27
-#define PIDX_CAPABILITY_TLS_SIGALG_SECURITY_BITS 28
-#define PIDX_CAPABILITY_TLS_SIGALG_SIG_NAME 29
-#define PIDX_CAPABILITY_TLS_SIGALG_SIG_OID 30
-#define PIDX_CIPHER_PARAM_AEAD 31
+#define PIDX_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION 11
+#define PIDX_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION 12
+#define PIDX_CAPABILITY_TLS_GROUP_ALG 13
+#define PIDX_CAPABILITY_TLS_GROUP_ID 14
+#define PIDX_CAPABILITY_TLS_GROUP_IS_KEM 15
+#define PIDX_CAPABILITY_TLS_GROUP_MAX_DTLS 16
+#define PIDX_CAPABILITY_TLS_GROUP_MAX_TLS 17
+#define PIDX_CAPABILITY_TLS_GROUP_MIN_DTLS 18
+#define PIDX_CAPABILITY_TLS_GROUP_MIN_TLS 19
+#define PIDX_CAPABILITY_TLS_GROUP_NAME 20
+#define PIDX_CAPABILITY_TLS_GROUP_NAME_INTERNAL 21
+#define PIDX_CAPABILITY_TLS_GROUP_SECURITY_BITS 22
+#define PIDX_CAPABILITY_TLS_SIGALG_CODE_POINT 23
+#define PIDX_CAPABILITY_TLS_SIGALG_HASH_NAME 24
+#define PIDX_CAPABILITY_TLS_SIGALG_HASH_OID 25
+#define PIDX_CAPABILITY_TLS_SIGALG_IANA_NAME 26
+#define PIDX_CAPABILITY_TLS_SIGALG_KEYTYPE 27
+#define PIDX_CAPABILITY_TLS_SIGALG_KEYTYPE_OID 28
+#define PIDX_CAPABILITY_TLS_SIGALG_MAX_DTLS 16
+#define PIDX_CAPABILITY_TLS_SIGALG_MAX_TLS 17
+#define PIDX_CAPABILITY_TLS_SIGALG_MIN_DTLS 18
+#define PIDX_CAPABILITY_TLS_SIGALG_MIN_TLS 19
+#define PIDX_CAPABILITY_TLS_SIGALG_NAME 29
+#define PIDX_CAPABILITY_TLS_SIGALG_OID 30
+#define PIDX_CAPABILITY_TLS_SIGALG_SECURITY_BITS 31
+#define PIDX_CAPABILITY_TLS_SIGALG_SIG_NAME 32
+#define PIDX_CAPABILITY_TLS_SIGALG_SIG_OID 33
+#define PIDX_CIPHER_PARAM_AEAD 34
 #define PIDX_CIPHER_PARAM_AEAD_IVLEN PIDX_CIPHER_PARAM_IVLEN
-#define PIDX_CIPHER_PARAM_AEAD_MAC_KEY 32
-#define PIDX_CIPHER_PARAM_AEAD_TAG 33
-#define PIDX_CIPHER_PARAM_AEAD_TAGLEN 34
-#define PIDX_CIPHER_PARAM_AEAD_TLS1_AAD 35
-#define PIDX_CIPHER_PARAM_AEAD_TLS1_AAD_PAD 36
-#define PIDX_CIPHER_PARAM_AEAD_TLS1_GET_IV_GEN 37
-#define PIDX_CIPHER_PARAM_AEAD_TLS1_IV_FIXED 38
-#define PIDX_CIPHER_PARAM_AEAD_TLS1_SET_IV_INV 39
-#define PIDX_CIPHER_PARAM_ALGORITHM_ID_PARAMS 40
-#define PIDX_CIPHER_PARAM_BLOCK_SIZE 41
-#define PIDX_CIPHER_PARAM_CTS 42
-#define PIDX_CIPHER_PARAM_CTS_MODE 43
-#define PIDX_CIPHER_PARAM_CUSTOM_IV 44
-#define PIDX_CIPHER_PARAM_HAS_RAND_KEY 45
-#define PIDX_CIPHER_PARAM_IV 46
-#define PIDX_CIPHER_PARAM_IVLEN 47
-#define PIDX_CIPHER_PARAM_KEYLEN 48
-#define PIDX_CIPHER_PARAM_MODE 49
-#define PIDX_CIPHER_PARAM_NUM 50
-#define PIDX_CIPHER_PARAM_PADDING 51
-#define PIDX_CIPHER_PARAM_RANDOM_KEY 52
-#define PIDX_CIPHER_PARAM_RC2_KEYBITS 53
-#define PIDX_CIPHER_PARAM_ROUNDS 54
-#define PIDX_CIPHER_PARAM_SPEED 55
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK 56
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD 57
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD_PACKLEN 58
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC 59
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_IN 60
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_LEN 61
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_INTERLEAVE 62
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_BUFSIZE 63
-#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_SEND_FRAGMENT 64
-#define PIDX_CIPHER_PARAM_TLS_MAC 65
-#define PIDX_CIPHER_PARAM_TLS_MAC_SIZE 66
-#define PIDX_CIPHER_PARAM_TLS_VERSION 67
-#define PIDX_CIPHER_PARAM_UPDATED_IV 68
-#define PIDX_CIPHER_PARAM_USE_BITS 69
-#define PIDX_CIPHER_PARAM_XTS_STANDARD 70
+#define PIDX_CIPHER_PARAM_AEAD_IV_GENERATED 35
+#define PIDX_CIPHER_PARAM_AEAD_MAC_KEY 36
+#define PIDX_CIPHER_PARAM_AEAD_TAG 37
+#define PIDX_CIPHER_PARAM_AEAD_TAGLEN 38
+#define PIDX_CIPHER_PARAM_AEAD_TLS1_AAD 39
+#define PIDX_CIPHER_PARAM_AEAD_TLS1_AAD_PAD 40
+#define PIDX_CIPHER_PARAM_AEAD_TLS1_GET_IV_GEN 41
+#define PIDX_CIPHER_PARAM_AEAD_TLS1_IV_FIXED 42
+#define PIDX_CIPHER_PARAM_AEAD_TLS1_SET_IV_INV 43
+#define PIDX_CIPHER_PARAM_ALGORITHM_ID PIDX_ALG_PARAM_ALGORITHM_ID
+#define PIDX_CIPHER_PARAM_ALGORITHM_ID_PARAMS PIDX_ALG_PARAM_ALGORITHM_ID_PARAMS
+#define PIDX_CIPHER_PARAM_ALGORITHM_ID_PARAMS_OLD 44
+#define PIDX_CIPHER_PARAM_BLOCK_SIZE 45
+#define PIDX_CIPHER_PARAM_CTS 46
+#define PIDX_CIPHER_PARAM_CTS_MODE 47
+#define PIDX_CIPHER_PARAM_CUSTOM_IV 48
+#define PIDX_CIPHER_PARAM_DECRYPT_ONLY 49
+#define PIDX_CIPHER_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_CIPHER_PARAM_FIPS_ENCRYPT_CHECK 50
+#define PIDX_CIPHER_PARAM_HAS_RAND_KEY 51
+#define PIDX_CIPHER_PARAM_IV 52
+#define PIDX_CIPHER_PARAM_IVLEN 53
+#define PIDX_CIPHER_PARAM_KEYLEN 54
+#define PIDX_CIPHER_PARAM_MODE 55
+#define PIDX_CIPHER_PARAM_NUM 56
+#define PIDX_CIPHER_PARAM_PADDING 57
+#define PIDX_CIPHER_PARAM_PIPELINE_AEAD_TAG 58
+#define PIDX_CIPHER_PARAM_RANDOM_KEY 59
+#define PIDX_CIPHER_PARAM_RC2_KEYBITS 60
+#define PIDX_CIPHER_PARAM_ROUNDS 61
+#define PIDX_CIPHER_PARAM_SPEED 62
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK 63
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD 64
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD_PACKLEN 65
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC 66
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_IN 67
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_LEN 68
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_INTERLEAVE 69
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_BUFSIZE 70
+#define PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_SEND_FRAGMENT 71
+#define PIDX_CIPHER_PARAM_TLS_MAC 72
+#define PIDX_CIPHER_PARAM_TLS_MAC_SIZE 73
+#define PIDX_CIPHER_PARAM_TLS_VERSION 74
+#define PIDX_CIPHER_PARAM_UPDATED_IV 75
+#define PIDX_CIPHER_PARAM_USE_BITS 76
+#define PIDX_CIPHER_PARAM_XTS_STANDARD 77
 #define PIDX_DECODER_PARAM_PROPERTIES PIDX_ALG_PARAM_PROPERTIES
-#define PIDX_DIGEST_PARAM_ALGID_ABSENT 71
-#define PIDX_DIGEST_PARAM_BLOCK_SIZE 41
-#define PIDX_DIGEST_PARAM_MICALG 72
-#define PIDX_DIGEST_PARAM_PAD_TYPE 73
-#define PIDX_DIGEST_PARAM_SIZE 74
-#define PIDX_DIGEST_PARAM_SSL3_MS 75
-#define PIDX_DIGEST_PARAM_XOF 76
-#define PIDX_DIGEST_PARAM_XOFLEN 77
+#define PIDX_DIGEST_PARAM_ALGID_ABSENT 78
+#define PIDX_DIGEST_PARAM_BLOCK_SIZE 45
+#define PIDX_DIGEST_PARAM_MICALG 79
+#define PIDX_DIGEST_PARAM_PAD_TYPE 80
+#define PIDX_DIGEST_PARAM_SIZE 81
+#define PIDX_DIGEST_PARAM_SSL3_MS 82
+#define PIDX_DIGEST_PARAM_XOF 83
+#define PIDX_DIGEST_PARAM_XOFLEN 84
 #define PIDX_DRBG_PARAM_CIPHER PIDX_ALG_PARAM_CIPHER
 #define PIDX_DRBG_PARAM_DIGEST PIDX_ALG_PARAM_DIGEST
-#define PIDX_DRBG_PARAM_ENTROPY_REQUIRED 78
+#define PIDX_DRBG_PARAM_ENTROPY_REQUIRED 85
+#define PIDX_DRBG_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_DRBG_PARAM_FIPS_DIGEST_CHECK PIDX_PKEY_PARAM_FIPS_DIGEST_CHECK
 #define PIDX_DRBG_PARAM_MAC PIDX_ALG_PARAM_MAC
-#define PIDX_DRBG_PARAM_MAX_ADINLEN 79
-#define PIDX_DRBG_PARAM_MAX_ENTROPYLEN 80
-#define PIDX_DRBG_PARAM_MAX_LENGTH 81
-#define PIDX_DRBG_PARAM_MAX_NONCELEN 82
-#define PIDX_DRBG_PARAM_MAX_PERSLEN 83
-#define PIDX_DRBG_PARAM_MIN_ENTROPYLEN 84
-#define PIDX_DRBG_PARAM_MIN_LENGTH 85
-#define PIDX_DRBG_PARAM_MIN_NONCELEN 86
-#define PIDX_DRBG_PARAM_PREDICTION_RESISTANCE 87
+#define PIDX_DRBG_PARAM_MAX_ADINLEN 86
+#define PIDX_DRBG_PARAM_MAX_ENTROPYLEN 87
+#define PIDX_DRBG_PARAM_MAX_LENGTH 88
+#define PIDX_DRBG_PARAM_MAX_NONCELEN 89
+#define PIDX_DRBG_PARAM_MAX_PERSLEN 90
+#define PIDX_DRBG_PARAM_MIN_ENTROPYLEN 91
+#define PIDX_DRBG_PARAM_MIN_LENGTH 92
+#define PIDX_DRBG_PARAM_MIN_NONCELEN 93
+#define PIDX_DRBG_PARAM_PREDICTION_RESISTANCE 94
 #define PIDX_DRBG_PARAM_PROPERTIES PIDX_ALG_PARAM_PROPERTIES
-#define PIDX_DRBG_PARAM_RANDOM_DATA 88
-#define PIDX_DRBG_PARAM_RESEED_COUNTER 89
-#define PIDX_DRBG_PARAM_RESEED_REQUESTS 90
-#define PIDX_DRBG_PARAM_RESEED_TIME 91
-#define PIDX_DRBG_PARAM_RESEED_TIME_INTERVAL 92
-#define PIDX_DRBG_PARAM_SIZE 74
-#define PIDX_DRBG_PARAM_USE_DF 93
+#define PIDX_DRBG_PARAM_RANDOM_DATA 95
+#define PIDX_DRBG_PARAM_RESEED_COUNTER 96
+#define PIDX_DRBG_PARAM_RESEED_REQUESTS 97
+#define PIDX_DRBG_PARAM_RESEED_TIME 98
+#define PIDX_DRBG_PARAM_RESEED_TIME_INTERVAL 99
+#define PIDX_DRBG_PARAM_SIZE 81
+#define PIDX_DRBG_PARAM_USE_DF 100
 #define PIDX_ENCODER_PARAM_CIPHER PIDX_ALG_PARAM_CIPHER
-#define PIDX_ENCODER_PARAM_ENCRYPT_LEVEL 94
+#define PIDX_ENCODER_PARAM_ENCRYPT_LEVEL 101
 #define PIDX_ENCODER_PARAM_PROPERTIES PIDX_ALG_PARAM_PROPERTIES
-#define PIDX_ENCODER_PARAM_SAVE_PARAMETERS 95
-#define PIDX_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE 96
-#define PIDX_EXCHANGE_PARAM_KDF_DIGEST 97
-#define PIDX_EXCHANGE_PARAM_KDF_DIGEST_PROPS 98
-#define PIDX_EXCHANGE_PARAM_KDF_OUTLEN 99
-#define PIDX_EXCHANGE_PARAM_KDF_TYPE 100
-#define PIDX_EXCHANGE_PARAM_KDF_UKM 101
-#define PIDX_EXCHANGE_PARAM_PAD 102
-#define PIDX_GEN_PARAM_ITERATION 103
-#define PIDX_GEN_PARAM_POTENTIAL 104
-#define PIDX_KDF_PARAM_ARGON2_AD 105
-#define PIDX_KDF_PARAM_ARGON2_LANES 106
-#define PIDX_KDF_PARAM_ARGON2_MEMCOST 107
-#define PIDX_KDF_PARAM_ARGON2_VERSION 108
-#define PIDX_KDF_PARAM_CEK_ALG 109
+#define PIDX_ENCODER_PARAM_SAVE_PARAMETERS 102
+#define PIDX_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE 103
+#define PIDX_EXCHANGE_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_EXCHANGE_PARAM_FIPS_DIGEST_CHECK PIDX_PKEY_PARAM_FIPS_DIGEST_CHECK
+#define PIDX_EXCHANGE_PARAM_FIPS_ECDH_COFACTOR_CHECK PIDX_PROV_PARAM_ECDH_COFACTOR_CHECK
+#define PIDX_EXCHANGE_PARAM_FIPS_KEY_CHECK PIDX_PKEY_PARAM_FIPS_KEY_CHECK
+#define PIDX_EXCHANGE_PARAM_KDF_DIGEST 104
+#define PIDX_EXCHANGE_PARAM_KDF_DIGEST_PROPS 105
+#define PIDX_EXCHANGE_PARAM_KDF_OUTLEN 106
+#define PIDX_EXCHANGE_PARAM_KDF_TYPE 107
+#define PIDX_EXCHANGE_PARAM_KDF_UKM 108
+#define PIDX_EXCHANGE_PARAM_PAD 109
+#define PIDX_GEN_PARAM_ITERATION 110
+#define PIDX_GEN_PARAM_POTENTIAL 111
+#define PIDX_KDF_PARAM_ARGON2_AD 112
+#define PIDX_KDF_PARAM_ARGON2_LANES 113
+#define PIDX_KDF_PARAM_ARGON2_MEMCOST 114
+#define PIDX_KDF_PARAM_ARGON2_VERSION 115
+#define PIDX_KDF_PARAM_CEK_ALG 116
 #define PIDX_KDF_PARAM_CIPHER PIDX_ALG_PARAM_CIPHER
-#define PIDX_KDF_PARAM_CONSTANT 110
-#define PIDX_KDF_PARAM_DATA 111
+#define PIDX_KDF_PARAM_CONSTANT 117
+#define PIDX_KDF_PARAM_DATA 118
 #define PIDX_KDF_PARAM_DIGEST PIDX_ALG_PARAM_DIGEST
-#define PIDX_KDF_PARAM_EARLY_CLEAN 112
-#define PIDX_KDF_PARAM_HMACDRBG_ENTROPY 113
-#define PIDX_KDF_PARAM_HMACDRBG_NONCE 114
-#define PIDX_KDF_PARAM_INFO 115
-#define PIDX_KDF_PARAM_ITER 116
-#define PIDX_KDF_PARAM_KBKDF_R 117
-#define PIDX_KDF_PARAM_KBKDF_USE_L 118
-#define PIDX_KDF_PARAM_KBKDF_USE_SEPARATOR 119
-#define PIDX_KDF_PARAM_KEY 120
-#define PIDX_KDF_PARAM_LABEL 121
+#define PIDX_KDF_PARAM_EARLY_CLEAN 119
+#define PIDX_KDF_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_KDF_PARAM_FIPS_DIGEST_CHECK PIDX_PKEY_PARAM_FIPS_DIGEST_CHECK
+#define PIDX_KDF_PARAM_FIPS_EMS_CHECK 120
+#define PIDX_KDF_PARAM_FIPS_KEY_CHECK PIDX_PKEY_PARAM_FIPS_KEY_CHECK
+#define PIDX_KDF_PARAM_HMACDRBG_ENTROPY 121
+#define PIDX_KDF_PARAM_HMACDRBG_NONCE 122
+#define PIDX_KDF_PARAM_INFO 123
+#define PIDX_KDF_PARAM_ITER 124
+#define PIDX_KDF_PARAM_KBKDF_R 125
+#define PIDX_KDF_PARAM_KBKDF_USE_L 126
+#define PIDX_KDF_PARAM_KBKDF_USE_SEPARATOR 127
+#define PIDX_KDF_PARAM_KEY 128
+#define PIDX_KDF_PARAM_LABEL 129
 #define PIDX_KDF_PARAM_MAC PIDX_ALG_PARAM_MAC
-#define PIDX_KDF_PARAM_MAC_SIZE 122
-#define PIDX_KDF_PARAM_MODE 49
-#define PIDX_KDF_PARAM_PASSWORD 123
-#define PIDX_KDF_PARAM_PKCS12_ID 124
-#define PIDX_KDF_PARAM_PKCS5 125
-#define PIDX_KDF_PARAM_PREFIX 126
+#define PIDX_KDF_PARAM_MAC_SIZE 130
+#define PIDX_KDF_PARAM_MODE 55
+#define PIDX_KDF_PARAM_PASSWORD 131
+#define PIDX_KDF_PARAM_PKCS12_ID 132
+#define PIDX_KDF_PARAM_PKCS5 133
+#define PIDX_KDF_PARAM_PREFIX 134
 #define PIDX_KDF_PARAM_PROPERTIES PIDX_ALG_PARAM_PROPERTIES
-#define PIDX_KDF_PARAM_SALT 127
-#define PIDX_KDF_PARAM_SCRYPT_MAXMEM 128
-#define PIDX_KDF_PARAM_SCRYPT_N 129
-#define PIDX_KDF_PARAM_SCRYPT_P 130
-#define PIDX_KDF_PARAM_SCRYPT_R 117
-#define PIDX_KDF_PARAM_SECRET 131
-#define PIDX_KDF_PARAM_SEED 132
-#define PIDX_KDF_PARAM_SIZE 74
-#define PIDX_KDF_PARAM_SSHKDF_SESSION_ID 133
-#define PIDX_KDF_PARAM_SSHKDF_TYPE 134
-#define PIDX_KDF_PARAM_SSHKDF_XCGHASH 135
-#define PIDX_KDF_PARAM_THREADS 136
-#define PIDX_KDF_PARAM_UKM 137
-#define PIDX_KDF_PARAM_X942_ACVPINFO 138
-#define PIDX_KDF_PARAM_X942_PARTYUINFO 139
-#define PIDX_KDF_PARAM_X942_PARTYVINFO 140
-#define PIDX_KDF_PARAM_X942_SUPP_PRIVINFO 141
-#define PIDX_KDF_PARAM_X942_SUPP_PUBINFO 142
-#define PIDX_KDF_PARAM_X942_USE_KEYBITS 143
-#define PIDX_KEM_PARAM_IKME 144
-#define PIDX_KEM_PARAM_OPERATION 145
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_BLOCK_PADDING 146
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_MAX_EARLY_DATA 147
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_MAX_FRAG_LEN 148
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_MODE 49
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_OPTIONS 149
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD 150
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_STREAM_MAC 151
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_TLSTREE 152
-#define PIDX_LIBSSL_RECORD_LAYER_PARAM_USE_ETM 153
-#define PIDX_LIBSSL_RECORD_LAYER_READ_BUFFER_LEN 154
-#define PIDX_MAC_PARAM_BLOCK_SIZE 155
+#define PIDX_KDF_PARAM_SALT 135
+#define PIDX_KDF_PARAM_SCRYPT_MAXMEM 136
+#define PIDX_KDF_PARAM_SCRYPT_N 137
+#define PIDX_KDF_PARAM_SCRYPT_P 138
+#define PIDX_KDF_PARAM_SCRYPT_R 125
+#define PIDX_KDF_PARAM_SECRET 139
+#define PIDX_KDF_PARAM_SEED 140
+#define PIDX_KDF_PARAM_SIZE 81
+#define PIDX_KDF_PARAM_SSHKDF_SESSION_ID 141
+#define PIDX_KDF_PARAM_SSHKDF_TYPE 142
+#define PIDX_KDF_PARAM_SSHKDF_XCGHASH 143
+#define PIDX_KDF_PARAM_THREADS 144
+#define PIDX_KDF_PARAM_UKM 145
+#define PIDX_KDF_PARAM_X942_ACVPINFO 146
+#define PIDX_KDF_PARAM_X942_PARTYUINFO 147
+#define PIDX_KDF_PARAM_X942_PARTYVINFO 148
+#define PIDX_KDF_PARAM_X942_SUPP_PRIVINFO 149
+#define PIDX_KDF_PARAM_X942_SUPP_PUBINFO 150
+#define PIDX_KDF_PARAM_X942_USE_KEYBITS 151
+#define PIDX_KEM_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_KEM_PARAM_FIPS_KEY_CHECK PIDX_PKEY_PARAM_FIPS_KEY_CHECK
+#define PIDX_KEM_PARAM_IKME 152
+#define PIDX_KEM_PARAM_OPERATION 153
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_BLOCK_PADDING 154
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_HS_PADDING 155
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_MAX_EARLY_DATA 156
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_MAX_FRAG_LEN 157
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_MODE 55
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_OPTIONS 158
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD 159
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_STREAM_MAC 160
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_TLSTREE 161
+#define PIDX_LIBSSL_RECORD_LAYER_PARAM_USE_ETM 162
+#define PIDX_LIBSSL_RECORD_LAYER_READ_BUFFER_LEN 163
+#define PIDX_MAC_PARAM_BLOCK_SIZE 164
 #define PIDX_MAC_PARAM_CIPHER PIDX_ALG_PARAM_CIPHER
-#define PIDX_MAC_PARAM_CUSTOM 156
-#define PIDX_MAC_PARAM_C_ROUNDS 157
+#define PIDX_MAC_PARAM_CUSTOM 165
+#define PIDX_MAC_PARAM_C_ROUNDS 166
 #define PIDX_MAC_PARAM_DIGEST PIDX_ALG_PARAM_DIGEST
-#define PIDX_MAC_PARAM_DIGEST_NOINIT 158
-#define PIDX_MAC_PARAM_DIGEST_ONESHOT 159
-#define PIDX_MAC_PARAM_D_ROUNDS 160
-#define PIDX_MAC_PARAM_IV 46
-#define PIDX_MAC_PARAM_KEY 120
+#define PIDX_MAC_PARAM_DIGEST_NOINIT 167
+#define PIDX_MAC_PARAM_DIGEST_ONESHOT 168
+#define PIDX_MAC_PARAM_D_ROUNDS 169
+#define PIDX_MAC_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_MAC_PARAM_FIPS_KEY_CHECK PIDX_PKEY_PARAM_FIPS_KEY_CHECK
+#define PIDX_MAC_PARAM_FIPS_NO_SHORT_MAC PIDX_PROV_PARAM_NO_SHORT_MAC
+#define PIDX_MAC_PARAM_IV 52
+#define PIDX_MAC_PARAM_KEY 128
 #define PIDX_MAC_PARAM_PROPERTIES PIDX_ALG_PARAM_PROPERTIES
-#define PIDX_MAC_PARAM_SALT 127
-#define PIDX_MAC_PARAM_SIZE 74
-#define PIDX_MAC_PARAM_TLS_DATA_SIZE 161
-#define PIDX_MAC_PARAM_XOF 76
-#define PIDX_OBJECT_PARAM_DATA 111
-#define PIDX_OBJECT_PARAM_DATA_STRUCTURE 162
-#define PIDX_OBJECT_PARAM_DATA_TYPE 163
-#define PIDX_OBJECT_PARAM_DESC 164
-#define PIDX_OBJECT_PARAM_REFERENCE 165
-#define PIDX_OBJECT_PARAM_TYPE 134
-#define PIDX_PASSPHRASE_PARAM_INFO 115
-#define PIDX_PKEY_PARAM_BITS 166
+#define PIDX_MAC_PARAM_SALT 135
+#define PIDX_MAC_PARAM_SIZE 81
+#define PIDX_MAC_PARAM_TLS_DATA_SIZE 170
+#define PIDX_MAC_PARAM_XOF 83
+#define PIDX_OBJECT_PARAM_DATA 118
+#define PIDX_OBJECT_PARAM_DATA_STRUCTURE 171
+#define PIDX_OBJECT_PARAM_DATA_TYPE 172
+#define PIDX_OBJECT_PARAM_DESC 173
+#define PIDX_OBJECT_PARAM_INPUT_TYPE 174
+#define PIDX_OBJECT_PARAM_REFERENCE 175
+#define PIDX_OBJECT_PARAM_TYPE 142
+#define PIDX_PASSPHRASE_PARAM_INFO 123
+#define PIDX_PKEY_PARAM_ALGORITHM_ID PIDX_ALG_PARAM_ALGORITHM_ID
+#define PIDX_PKEY_PARAM_ALGORITHM_ID_PARAMS PIDX_ALG_PARAM_ALGORITHM_ID_PARAMS
+#define PIDX_PKEY_PARAM_BITS 176
 #define PIDX_PKEY_PARAM_CIPHER PIDX_ALG_PARAM_CIPHER
-#define PIDX_PKEY_PARAM_DEFAULT_DIGEST 167
-#define PIDX_PKEY_PARAM_DHKEM_IKM 168
-#define PIDX_PKEY_PARAM_DH_GENERATOR 169
-#define PIDX_PKEY_PARAM_DH_PRIV_LEN 170
+#define PIDX_PKEY_PARAM_DEFAULT_DIGEST 177
+#define PIDX_PKEY_PARAM_DHKEM_IKM 178
+#define PIDX_PKEY_PARAM_DH_GENERATOR 179
+#define PIDX_PKEY_PARAM_DH_PRIV_LEN 180
 #define PIDX_PKEY_PARAM_DIGEST PIDX_ALG_PARAM_DIGEST
-#define PIDX_PKEY_PARAM_DIGEST_SIZE 171
-#define PIDX_PKEY_PARAM_DIST_ID 172
-#define PIDX_PKEY_PARAM_EC_A 173
-#define PIDX_PKEY_PARAM_EC_B 174
-#define PIDX_PKEY_PARAM_EC_CHAR2_M 175
-#define PIDX_PKEY_PARAM_EC_CHAR2_PP_K1 176
-#define PIDX_PKEY_PARAM_EC_CHAR2_PP_K2 177
-#define PIDX_PKEY_PARAM_EC_CHAR2_PP_K3 178
-#define PIDX_PKEY_PARAM_EC_CHAR2_TP_BASIS 179
-#define PIDX_PKEY_PARAM_EC_CHAR2_TYPE 180
-#define PIDX_PKEY_PARAM_EC_COFACTOR 181
-#define PIDX_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS 182
-#define PIDX_PKEY_PARAM_EC_ENCODING 183
-#define PIDX_PKEY_PARAM_EC_FIELD_TYPE 184
-#define PIDX_PKEY_PARAM_EC_GENERATOR 185
-#define PIDX_PKEY_PARAM_EC_GROUP_CHECK_TYPE 186
-#define PIDX_PKEY_PARAM_EC_INCLUDE_PUBLIC 187
-#define PIDX_PKEY_PARAM_EC_ORDER 188
-#define PIDX_PKEY_PARAM_EC_P 130
-#define PIDX_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT 189
-#define PIDX_PKEY_PARAM_EC_PUB_X 190
-#define PIDX_PKEY_PARAM_EC_PUB_Y 191
-#define PIDX_PKEY_PARAM_EC_SEED 132
-#define PIDX_PKEY_PARAM_ENCODED_PUBLIC_KEY 192
+#define PIDX_PKEY_PARAM_DIGEST_SIZE 181
+#define PIDX_PKEY_PARAM_DIST_ID 182
+#define PIDX_PKEY_PARAM_EC_A 183
+#define PIDX_PKEY_PARAM_EC_B 184
+#define PIDX_PKEY_PARAM_EC_CHAR2_M 185
+#define PIDX_PKEY_PARAM_EC_CHAR2_PP_K1 186
+#define PIDX_PKEY_PARAM_EC_CHAR2_PP_K2 187
+#define PIDX_PKEY_PARAM_EC_CHAR2_PP_K3 188
+#define PIDX_PKEY_PARAM_EC_CHAR2_TP_BASIS 189
+#define PIDX_PKEY_PARAM_EC_CHAR2_TYPE 190
+#define PIDX_PKEY_PARAM_EC_COFACTOR 191
+#define PIDX_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS 192
+#define PIDX_PKEY_PARAM_EC_ENCODING 193
+#define PIDX_PKEY_PARAM_EC_FIELD_TYPE 194
+#define PIDX_PKEY_PARAM_EC_GENERATOR 195
+#define PIDX_PKEY_PARAM_EC_GROUP_CHECK_TYPE 196
+#define PIDX_PKEY_PARAM_EC_INCLUDE_PUBLIC 197
+#define PIDX_PKEY_PARAM_EC_ORDER 198
+#define PIDX_PKEY_PARAM_EC_P 138
+#define PIDX_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT 199
+#define PIDX_PKEY_PARAM_EC_PUB_X 200
+#define PIDX_PKEY_PARAM_EC_PUB_Y 201
+#define PIDX_PKEY_PARAM_EC_SEED 140
+#define PIDX_PKEY_PARAM_ENCODED_PUBLIC_KEY 202
 #define PIDX_PKEY_PARAM_ENGINE PIDX_ALG_PARAM_ENGINE
-#define PIDX_PKEY_PARAM_FFC_COFACTOR 193
+#define PIDX_PKEY_PARAM_FFC_COFACTOR 203
 #define PIDX_PKEY_PARAM_FFC_DIGEST PIDX_PKEY_PARAM_DIGEST
 #define PIDX_PKEY_PARAM_FFC_DIGEST_PROPS PIDX_PKEY_PARAM_PROPERTIES
-#define PIDX_PKEY_PARAM_FFC_G 194
-#define PIDX_PKEY_PARAM_FFC_GINDEX 195
-#define PIDX_PKEY_PARAM_FFC_H 196
-#define PIDX_PKEY_PARAM_FFC_P 130
-#define PIDX_PKEY_PARAM_FFC_PBITS 197
-#define PIDX_PKEY_PARAM_FFC_PCOUNTER 198
-#define PIDX_PKEY_PARAM_FFC_Q 199
-#define PIDX_PKEY_PARAM_FFC_QBITS 200
-#define PIDX_PKEY_PARAM_FFC_SEED 132
-#define PIDX_PKEY_PARAM_FFC_TYPE 134
-#define PIDX_PKEY_PARAM_FFC_VALIDATE_G 201
-#define PIDX_PKEY_PARAM_FFC_VALIDATE_LEGACY 202
-#define PIDX_PKEY_PARAM_FFC_VALIDATE_PQ 203
-#define PIDX_PKEY_PARAM_GROUP_NAME 204
-#define PIDX_PKEY_PARAM_IMPLICIT_REJECTION 5
-#define PIDX_PKEY_PARAM_MANDATORY_DIGEST 205
-#define PIDX_PKEY_PARAM_MASKGENFUNC 206
-#define PIDX_PKEY_PARAM_MAX_SIZE 207
-#define PIDX_PKEY_PARAM_MGF1_DIGEST 208
-#define PIDX_PKEY_PARAM_MGF1_PROPERTIES 209
-#define PIDX_PKEY_PARAM_PAD_MODE 210
-#define PIDX_PKEY_PARAM_PRIV_KEY 211
+#define PIDX_PKEY_PARAM_FFC_G 204
+#define PIDX_PKEY_PARAM_FFC_GINDEX 205
+#define PIDX_PKEY_PARAM_FFC_H 206
+#define PIDX_PKEY_PARAM_FFC_P 138
+#define PIDX_PKEY_PARAM_FFC_PBITS 207
+#define PIDX_PKEY_PARAM_FFC_PCOUNTER 208
+#define PIDX_PKEY_PARAM_FFC_Q 209
+#define PIDX_PKEY_PARAM_FFC_QBITS 210
+#define PIDX_PKEY_PARAM_FFC_SEED 140
+#define PIDX_PKEY_PARAM_FFC_TYPE 142
+#define PIDX_PKEY_PARAM_FFC_VALIDATE_G 211
+#define PIDX_PKEY_PARAM_FFC_VALIDATE_LEGACY 212
+#define PIDX_PKEY_PARAM_FFC_VALIDATE_PQ 213
+#define PIDX_PKEY_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_PKEY_PARAM_FIPS_DIGEST_CHECK 214
+#define PIDX_PKEY_PARAM_FIPS_KEY_CHECK 215
+#define PIDX_PKEY_PARAM_FIPS_SIGN_CHECK 216
+#define PIDX_PKEY_PARAM_GROUP_NAME 217
+#define PIDX_PKEY_PARAM_IMPLICIT_REJECTION 8
+#define PIDX_PKEY_PARAM_MANDATORY_DIGEST 218
+#define PIDX_PKEY_PARAM_MASKGENFUNC 219
+#define PIDX_PKEY_PARAM_MAX_SIZE 220
+#define PIDX_PKEY_PARAM_MGF1_DIGEST 221
+#define PIDX_PKEY_PARAM_MGF1_PROPERTIES 222
+#define PIDX_PKEY_PARAM_ML_DSA_INPUT_FORMATS 223
+#define PIDX_PKEY_PARAM_ML_DSA_OUTPUT_FORMATS 224
+#define PIDX_PKEY_PARAM_ML_DSA_PREFER_SEED 225
+#define PIDX_PKEY_PARAM_ML_DSA_RETAIN_SEED 226
+#define PIDX_PKEY_PARAM_ML_DSA_SEED 140
+#define PIDX_PKEY_PARAM_ML_KEM_IMPORT_PCT_TYPE 227
+#define PIDX_PKEY_PARAM_ML_KEM_INPUT_FORMATS 228
+#define PIDX_PKEY_PARAM_ML_KEM_OUTPUT_FORMATS 229
+#define PIDX_PKEY_PARAM_ML_KEM_PREFER_SEED 230
+#define PIDX_PKEY_PARAM_ML_KEM_RETAIN_SEED 231
+#define PIDX_PKEY_PARAM_ML_KEM_SEED 140
+#define PIDX_PKEY_PARAM_PAD_MODE 232
+#define PIDX_PKEY_PARAM_PRIV_KEY 233
 #define PIDX_PKEY_PARAM_PROPERTIES PIDX_ALG_PARAM_PROPERTIES
-#define PIDX_PKEY_PARAM_PUB_KEY 212
+#define PIDX_PKEY_PARAM_PUB_KEY 234
 #define PIDX_PKEY_PARAM_RSA_BITS PIDX_PKEY_PARAM_BITS
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT 213
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT1 214
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT2 215
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT3 216
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT4 217
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT5 218
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT6 219
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT7 220
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT8 221
-#define PIDX_PKEY_PARAM_RSA_COEFFICIENT9 222
-#define PIDX_PKEY_PARAM_RSA_D 223
-#define PIDX_PKEY_PARAM_RSA_DERIVE_FROM_PQ 224
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT 235
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT1 236
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT2 237
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT3 238
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT4 239
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT5 240
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT6 241
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT7 242
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT8 243
+#define PIDX_PKEY_PARAM_RSA_COEFFICIENT9 244
+#define PIDX_PKEY_PARAM_RSA_D 245
+#define PIDX_PKEY_PARAM_RSA_DERIVE_FROM_PQ 246
 #define PIDX_PKEY_PARAM_RSA_DIGEST PIDX_PKEY_PARAM_DIGEST
 #define PIDX_PKEY_PARAM_RSA_DIGEST_PROPS PIDX_PKEY_PARAM_PROPERTIES
-#define PIDX_PKEY_PARAM_RSA_E 225
-#define PIDX_PKEY_PARAM_RSA_EXPONENT 226
-#define PIDX_PKEY_PARAM_RSA_EXPONENT1 227
-#define PIDX_PKEY_PARAM_RSA_EXPONENT10 228
-#define PIDX_PKEY_PARAM_RSA_EXPONENT2 229
-#define PIDX_PKEY_PARAM_RSA_EXPONENT3 230
-#define PIDX_PKEY_PARAM_RSA_EXPONENT4 231
-#define PIDX_PKEY_PARAM_RSA_EXPONENT5 232
-#define PIDX_PKEY_PARAM_RSA_EXPONENT6 233
-#define PIDX_PKEY_PARAM_RSA_EXPONENT7 234
-#define PIDX_PKEY_PARAM_RSA_EXPONENT8 235
-#define PIDX_PKEY_PARAM_RSA_EXPONENT9 236
-#define PIDX_PKEY_PARAM_RSA_FACTOR 237
-#define PIDX_PKEY_PARAM_RSA_FACTOR1 238
-#define PIDX_PKEY_PARAM_RSA_FACTOR10 239
-#define PIDX_PKEY_PARAM_RSA_FACTOR2 240
-#define PIDX_PKEY_PARAM_RSA_FACTOR3 241
-#define PIDX_PKEY_PARAM_RSA_FACTOR4 242
-#define PIDX_PKEY_PARAM_RSA_FACTOR5 243
-#define PIDX_PKEY_PARAM_RSA_FACTOR6 244
-#define PIDX_PKEY_PARAM_RSA_FACTOR7 245
-#define PIDX_PKEY_PARAM_RSA_FACTOR8 246
-#define PIDX_PKEY_PARAM_RSA_FACTOR9 247
+#define PIDX_PKEY_PARAM_RSA_E 247
+#define PIDX_PKEY_PARAM_RSA_EXPONENT 248
+#define PIDX_PKEY_PARAM_RSA_EXPONENT1 249
+#define PIDX_PKEY_PARAM_RSA_EXPONENT10 250
+#define PIDX_PKEY_PARAM_RSA_EXPONENT2 251
+#define PIDX_PKEY_PARAM_RSA_EXPONENT3 252
+#define PIDX_PKEY_PARAM_RSA_EXPONENT4 253
+#define PIDX_PKEY_PARAM_RSA_EXPONENT5 254
+#define PIDX_PKEY_PARAM_RSA_EXPONENT6 255
+#define PIDX_PKEY_PARAM_RSA_EXPONENT7 256
+#define PIDX_PKEY_PARAM_RSA_EXPONENT8 257
+#define PIDX_PKEY_PARAM_RSA_EXPONENT9 258
+#define PIDX_PKEY_PARAM_RSA_FACTOR 259
+#define PIDX_PKEY_PARAM_RSA_FACTOR1 260
+#define PIDX_PKEY_PARAM_RSA_FACTOR10 261
+#define PIDX_PKEY_PARAM_RSA_FACTOR2 262
+#define PIDX_PKEY_PARAM_RSA_FACTOR3 263
+#define PIDX_PKEY_PARAM_RSA_FACTOR4 264
+#define PIDX_PKEY_PARAM_RSA_FACTOR5 265
+#define PIDX_PKEY_PARAM_RSA_FACTOR6 266
+#define PIDX_PKEY_PARAM_RSA_FACTOR7 267
+#define PIDX_PKEY_PARAM_RSA_FACTOR8 268
+#define PIDX_PKEY_PARAM_RSA_FACTOR9 269
 #define PIDX_PKEY_PARAM_RSA_MASKGENFUNC PIDX_PKEY_PARAM_MASKGENFUNC
 #define PIDX_PKEY_PARAM_RSA_MGF1_DIGEST PIDX_PKEY_PARAM_MGF1_DIGEST
-#define PIDX_PKEY_PARAM_RSA_N 129
-#define PIDX_PKEY_PARAM_RSA_PRIMES 248
-#define PIDX_PKEY_PARAM_RSA_PSS_SALTLEN 249
-#define PIDX_PKEY_PARAM_RSA_TEST_P1 250
-#define PIDX_PKEY_PARAM_RSA_TEST_P2 251
-#define PIDX_PKEY_PARAM_RSA_TEST_Q1 252
-#define PIDX_PKEY_PARAM_RSA_TEST_Q2 253
-#define PIDX_PKEY_PARAM_RSA_TEST_XP 254
-#define PIDX_PKEY_PARAM_RSA_TEST_XP1 255
-#define PIDX_PKEY_PARAM_RSA_TEST_XP2 256
-#define PIDX_PKEY_PARAM_RSA_TEST_XQ 257
-#define PIDX_PKEY_PARAM_RSA_TEST_XQ1 258
-#define PIDX_PKEY_PARAM_RSA_TEST_XQ2 259
-#define PIDX_PKEY_PARAM_SECURITY_BITS 260
+#define PIDX_PKEY_PARAM_RSA_N 137
+#define PIDX_PKEY_PARAM_RSA_PRIMES 270
+#define PIDX_PKEY_PARAM_RSA_PSS_SALTLEN 271
+#define PIDX_PKEY_PARAM_RSA_TEST_P1 272
+#define PIDX_PKEY_PARAM_RSA_TEST_P2 273
+#define PIDX_PKEY_PARAM_RSA_TEST_Q1 274
+#define PIDX_PKEY_PARAM_RSA_TEST_Q2 275
+#define PIDX_PKEY_PARAM_RSA_TEST_XP 276
+#define PIDX_PKEY_PARAM_RSA_TEST_XP1 277
+#define PIDX_PKEY_PARAM_RSA_TEST_XP2 278
+#define PIDX_PKEY_PARAM_RSA_TEST_XQ 279
+#define PIDX_PKEY_PARAM_RSA_TEST_XQ1 280
+#define PIDX_PKEY_PARAM_RSA_TEST_XQ2 281
+#define PIDX_PKEY_PARAM_SECURITY_BITS 282
+#define PIDX_PKEY_PARAM_SLH_DSA_SEED 140
 #define PIDX_PKEY_PARAM_USE_COFACTOR_ECDH PIDX_PKEY_PARAM_USE_COFACTOR_FLAG
-#define PIDX_PKEY_PARAM_USE_COFACTOR_FLAG 261
-#define PIDX_PROV_PARAM_BUILDINFO 262
-#define PIDX_PROV_PARAM_CORE_MODULE_FILENAME 263
-#define PIDX_PROV_PARAM_CORE_PROV_NAME 264
-#define PIDX_PROV_PARAM_CORE_VERSION 265
-#define PIDX_PROV_PARAM_DRBG_TRUNC_DIGEST 266
-#define PIDX_PROV_PARAM_NAME 267
-#define PIDX_PROV_PARAM_SECURITY_CHECKS 268
-#define PIDX_PROV_PARAM_SELF_TEST_DESC 269
-#define PIDX_PROV_PARAM_SELF_TEST_PHASE 270
-#define PIDX_PROV_PARAM_SELF_TEST_TYPE 271
-#define PIDX_PROV_PARAM_STATUS 272
-#define PIDX_PROV_PARAM_TLS1_PRF_EMS_CHECK 273
-#define PIDX_PROV_PARAM_VERSION 108
-#define PIDX_RAND_PARAM_GENERATE 274
-#define PIDX_RAND_PARAM_MAX_REQUEST 275
-#define PIDX_RAND_PARAM_STATE 276
-#define PIDX_RAND_PARAM_STRENGTH 277
-#define PIDX_RAND_PARAM_TEST_ENTROPY 278
-#define PIDX_RAND_PARAM_TEST_NONCE 279
-#define PIDX_SIGNATURE_PARAM_ALGORITHM_ID 280
-#define PIDX_SIGNATURE_PARAM_CONTEXT_STRING 281
+#define PIDX_PKEY_PARAM_USE_COFACTOR_FLAG 283
+#define PIDX_PROV_PARAM_BUILDINFO 284
+#define PIDX_PROV_PARAM_CORE_MODULE_FILENAME 285
+#define PIDX_PROV_PARAM_CORE_PROV_NAME 286
+#define PIDX_PROV_PARAM_CORE_VERSION 287
+#define PIDX_PROV_PARAM_DRBG_TRUNC_DIGEST 288
+#define PIDX_PROV_PARAM_DSA_SIGN_DISABLED 289
+#define PIDX_PROV_PARAM_ECDH_COFACTOR_CHECK 290
+#define PIDX_PROV_PARAM_HKDF_DIGEST_CHECK 291
+#define PIDX_PROV_PARAM_HKDF_KEY_CHECK 292
+#define PIDX_PROV_PARAM_HMAC_KEY_CHECK 293
+#define PIDX_PROV_PARAM_KBKDF_KEY_CHECK 294
+#define PIDX_PROV_PARAM_KMAC_KEY_CHECK 295
+#define PIDX_PROV_PARAM_NAME 296
+#define PIDX_PROV_PARAM_NO_SHORT_MAC 297
+#define PIDX_PROV_PARAM_PBKDF2_LOWER_BOUND_CHECK 298
+#define PIDX_PROV_PARAM_RSA_PKCS15_PAD_DISABLED 299
+#define PIDX_PROV_PARAM_RSA_PSS_SALTLEN_CHECK 300
+#define PIDX_PROV_PARAM_RSA_SIGN_X931_PAD_DISABLED 301
+#define PIDX_PROV_PARAM_SECURITY_CHECKS 302
+#define PIDX_PROV_PARAM_SELF_TEST_DESC 303
+#define PIDX_PROV_PARAM_SELF_TEST_PHASE 304
+#define PIDX_PROV_PARAM_SELF_TEST_TYPE 305
+#define PIDX_PROV_PARAM_SIGNATURE_DIGEST_CHECK 306
+#define PIDX_PROV_PARAM_SSHKDF_DIGEST_CHECK 307
+#define PIDX_PROV_PARAM_SSHKDF_KEY_CHECK 308
+#define PIDX_PROV_PARAM_SSKDF_DIGEST_CHECK 309
+#define PIDX_PROV_PARAM_SSKDF_KEY_CHECK 310
+#define PIDX_PROV_PARAM_STATUS 311
+#define PIDX_PROV_PARAM_TDES_ENCRYPT_DISABLED 312
+#define PIDX_PROV_PARAM_TLS13_KDF_DIGEST_CHECK 313
+#define PIDX_PROV_PARAM_TLS13_KDF_KEY_CHECK 314
+#define PIDX_PROV_PARAM_TLS1_PRF_DIGEST_CHECK 315
+#define PIDX_PROV_PARAM_TLS1_PRF_EMS_CHECK 316
+#define PIDX_PROV_PARAM_TLS1_PRF_KEY_CHECK 317
+#define PIDX_PROV_PARAM_VERSION 115
+#define PIDX_PROV_PARAM_X942KDF_KEY_CHECK 318
+#define PIDX_PROV_PARAM_X963KDF_DIGEST_CHECK 319
+#define PIDX_PROV_PARAM_X963KDF_KEY_CHECK 320
+#define PIDX_RAND_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_RAND_PARAM_GENERATE 321
+#define PIDX_RAND_PARAM_MAX_REQUEST 322
+#define PIDX_RAND_PARAM_STATE 323
+#define PIDX_RAND_PARAM_STRENGTH 324
+#define PIDX_RAND_PARAM_TEST_ENTROPY 325
+#define PIDX_RAND_PARAM_TEST_NONCE 326
+#define PIDX_SIGNATURE_PARAM_ADD_RANDOM 327
+#define PIDX_SIGNATURE_PARAM_ALGORITHM_ID PIDX_PKEY_PARAM_ALGORITHM_ID
+#define PIDX_SIGNATURE_PARAM_ALGORITHM_ID_PARAMS PIDX_PKEY_PARAM_ALGORITHM_ID_PARAMS
+#define PIDX_SIGNATURE_PARAM_CONTEXT_STRING 328
+#define PIDX_SIGNATURE_PARAM_DETERMINISTIC 329
 #define PIDX_SIGNATURE_PARAM_DIGEST PIDX_PKEY_PARAM_DIGEST
 #define PIDX_SIGNATURE_PARAM_DIGEST_SIZE PIDX_PKEY_PARAM_DIGEST_SIZE
-#define PIDX_SIGNATURE_PARAM_INSTANCE 282
-#define PIDX_SIGNATURE_PARAM_KAT 283
+#define PIDX_SIGNATURE_PARAM_FIPS_APPROVED_INDICATOR PIDX_ALG_PARAM_FIPS_APPROVED_INDICATOR
+#define PIDX_SIGNATURE_PARAM_FIPS_DIGEST_CHECK PIDX_PKEY_PARAM_FIPS_DIGEST_CHECK
+#define PIDX_SIGNATURE_PARAM_FIPS_KEY_CHECK PIDX_PKEY_PARAM_FIPS_KEY_CHECK
+#define PIDX_SIGNATURE_PARAM_FIPS_RSA_PSS_SALTLEN_CHECK 300
+#define PIDX_SIGNATURE_PARAM_FIPS_SIGN_CHECK PIDX_PKEY_PARAM_FIPS_SIGN_CHECK
+#define PIDX_SIGNATURE_PARAM_FIPS_SIGN_X931_PAD_CHECK 330
+#define PIDX_SIGNATURE_PARAM_FIPS_VERIFY_MESSAGE 331
+#define PIDX_SIGNATURE_PARAM_INSTANCE 332
+#define PIDX_SIGNATURE_PARAM_KAT 333
+#define PIDX_SIGNATURE_PARAM_MESSAGE_ENCODING 334
 #define PIDX_SIGNATURE_PARAM_MGF1_DIGEST PIDX_PKEY_PARAM_MGF1_DIGEST
 #define PIDX_SIGNATURE_PARAM_MGF1_PROPERTIES PIDX_PKEY_PARAM_MGF1_PROPERTIES
-#define PIDX_SIGNATURE_PARAM_NONCE_TYPE 284
+#define PIDX_SIGNATURE_PARAM_MU 335
+#define PIDX_SIGNATURE_PARAM_NONCE_TYPE 336
 #define PIDX_SIGNATURE_PARAM_PAD_MODE PIDX_PKEY_PARAM_PAD_MODE
 #define PIDX_SIGNATURE_PARAM_PROPERTIES PIDX_PKEY_PARAM_PROPERTIES
-#define PIDX_SIGNATURE_PARAM_PSS_SALTLEN 249
-#define PIDX_STORE_PARAM_ALIAS 285
-#define PIDX_STORE_PARAM_DIGEST 1
-#define PIDX_STORE_PARAM_EXPECT 286
-#define PIDX_STORE_PARAM_FINGERPRINT 287
-#define PIDX_STORE_PARAM_INPUT_TYPE 288
-#define PIDX_STORE_PARAM_ISSUER 267
-#define PIDX_STORE_PARAM_PROPERTIES 4
-#define PIDX_STORE_PARAM_SERIAL 289
-#define PIDX_STORE_PARAM_SUBJECT 290
+#define PIDX_SIGNATURE_PARAM_PSS_SALTLEN 271
+#define PIDX_SIGNATURE_PARAM_SIGNATURE 337
+#define PIDX_SIGNATURE_PARAM_TEST_ENTROPY 338
+#define PIDX_SKEY_PARAM_KEY_LENGTH 339
+#define PIDX_SKEY_PARAM_RAW_BYTES 340
+#define PIDX_STORE_PARAM_ALIAS 341
+#define PIDX_STORE_PARAM_DIGEST 3
+#define PIDX_STORE_PARAM_EXPECT 342
+#define PIDX_STORE_PARAM_FINGERPRINT 343
+#define PIDX_STORE_PARAM_INPUT_TYPE 174
+#define PIDX_STORE_PARAM_ISSUER 296
+#define PIDX_STORE_PARAM_PROPERTIES 7
+#define PIDX_STORE_PARAM_SERIAL 344
+#define PIDX_STORE_PARAM_SUBJECT 345

+ 40 - 0
libs/openssl/include/openssl/cmp.h

@@ -275,6 +275,46 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CMP_ITAV, OSSL_CMP_ITAV, OSSL_CMP_ITAV)
 #define sk_OSSL_CMP_ITAV_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CMP_ITAV) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_copyfunc_type(copyfunc), ossl_check_OSSL_CMP_ITAV_freefunc_type(freefunc)))
 #define sk_OSSL_CMP_ITAV_set_cmp_func(sk, cmp) ((sk_OSSL_CMP_ITAV_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_compfunc_type(cmp)))
 
+
+typedef struct ossl_cmp_crlstatus_st OSSL_CMP_CRLSTATUS;
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CMP_CRLSTATUS, OSSL_CMP_CRLSTATUS, OSSL_CMP_CRLSTATUS)
+#define sk_OSSL_CMP_CRLSTATUS_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CMP_CRLSTATUS_sk_type(sk))
+#define sk_OSSL_CMP_CRLSTATUS_value(sk, idx) ((OSSL_CMP_CRLSTATUS *)OPENSSL_sk_value(ossl_check_const_OSSL_CMP_CRLSTATUS_sk_type(sk), (idx)))
+#define sk_OSSL_CMP_CRLSTATUS_new(cmp) ((STACK_OF(OSSL_CMP_CRLSTATUS) *)OPENSSL_sk_new(ossl_check_OSSL_CMP_CRLSTATUS_compfunc_type(cmp)))
+#define sk_OSSL_CMP_CRLSTATUS_new_null() ((STACK_OF(OSSL_CMP_CRLSTATUS) *)OPENSSL_sk_new_null())
+#define sk_OSSL_CMP_CRLSTATUS_new_reserve(cmp, n) ((STACK_OF(OSSL_CMP_CRLSTATUS) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CMP_CRLSTATUS_compfunc_type(cmp), (n)))
+#define sk_OSSL_CMP_CRLSTATUS_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), (n))
+#define sk_OSSL_CMP_CRLSTATUS_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk))
+#define sk_OSSL_CMP_CRLSTATUS_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk))
+#define sk_OSSL_CMP_CRLSTATUS_delete(sk, i) ((OSSL_CMP_CRLSTATUS *)OPENSSL_sk_delete(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), (i)))
+#define sk_OSSL_CMP_CRLSTATUS_delete_ptr(sk, ptr) ((OSSL_CMP_CRLSTATUS *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr)))
+#define sk_OSSL_CMP_CRLSTATUS_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr))
+#define sk_OSSL_CMP_CRLSTATUS_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr))
+#define sk_OSSL_CMP_CRLSTATUS_pop(sk) ((OSSL_CMP_CRLSTATUS *)OPENSSL_sk_pop(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk)))
+#define sk_OSSL_CMP_CRLSTATUS_shift(sk) ((OSSL_CMP_CRLSTATUS *)OPENSSL_sk_shift(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk)))
+#define sk_OSSL_CMP_CRLSTATUS_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk),ossl_check_OSSL_CMP_CRLSTATUS_freefunc_type(freefunc))
+#define sk_OSSL_CMP_CRLSTATUS_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr), (idx))
+#define sk_OSSL_CMP_CRLSTATUS_set(sk, idx, ptr) ((OSSL_CMP_CRLSTATUS *)OPENSSL_sk_set(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), (idx), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr)))
+#define sk_OSSL_CMP_CRLSTATUS_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr))
+#define sk_OSSL_CMP_CRLSTATUS_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr))
+#define sk_OSSL_CMP_CRLSTATUS_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_type(ptr), pnum)
+#define sk_OSSL_CMP_CRLSTATUS_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk))
+#define sk_OSSL_CMP_CRLSTATUS_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CMP_CRLSTATUS_sk_type(sk))
+#define sk_OSSL_CMP_CRLSTATUS_dup(sk) ((STACK_OF(OSSL_CMP_CRLSTATUS) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CMP_CRLSTATUS_sk_type(sk)))
+#define sk_OSSL_CMP_CRLSTATUS_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CMP_CRLSTATUS) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_copyfunc_type(copyfunc), ossl_check_OSSL_CMP_CRLSTATUS_freefunc_type(freefunc)))
+#define sk_OSSL_CMP_CRLSTATUS_set_cmp_func(sk, cmp) ((sk_OSSL_CMP_CRLSTATUS_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CMP_CRLSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CRLSTATUS_compfunc_type(cmp)))
+
+
+typedef OSSL_CRMF_ATTRIBUTETYPEANDVALUE OSSL_CMP_ATAV;
+#  define OSSL_CMP_ATAV_free OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
+typedef STACK_OF(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) OSSL_CMP_ATAVS;
+DECLARE_ASN1_FUNCTIONS(OSSL_CMP_ATAVS)
+#  define stack_st_OSSL_CMP_ATAV stack_st_OSSL_CRMF_ATTRIBUTETYPEANDVALUE
+#  define sk_OSSL_CMP_ATAV_num sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_num
+#  define sk_OSSL_CMP_ATAV_value sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_value
+#  define sk_OSSL_CMP_ATAV_push sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
+#  define sk_OSSL_CMP_ATAV_pop_free sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_pop_free
+
 typedef struct ossl_cmp_revrepcontent_st OSSL_CMP_REVREPCONTENT;
 typedef struct ossl_cmp_pkisi_st OSSL_CMP_PKISI;
 DECLARE_ASN1_FUNCTIONS(OSSL_CMP_PKISI)

+ 98 - 0
libs/openssl/include/openssl/comp.h

@@ -0,0 +1,98 @@
+/*
+ * Copyright 2015-2024 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_COMP_H
+# define OPENSSL_COMP_H
+# pragma once
+
+# include <openssl/macros.h>
+# ifndef OPENSSL_NO_DEPRECATED_3_0
+#  define HEADER_COMP_H
+# endif
+
+# include <openssl/opensslconf.h>
+
+# include <openssl/crypto.h>
+# include <openssl/comperr.h>
+# ifdef  __cplusplus
+extern "C" {
+# endif
+
+
+
+# ifndef OPENSSL_NO_COMP
+
+COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);
+const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx);
+int COMP_CTX_get_type(const COMP_CTX* comp);
+int COMP_get_type(const COMP_METHOD *meth);
+const char *COMP_get_name(const COMP_METHOD *meth);
+void COMP_CTX_free(COMP_CTX *ctx);
+
+int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
+                        unsigned char *in, int ilen);
+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
+const BIO_METHOD *BIO_f_zlib(void);
+const BIO_METHOD *BIO_f_brotli(void);
+const BIO_METHOD *BIO_f_zstd(void);
+#  endif
+
+# endif
+
+typedef struct ssl_comp_st SSL_COMP;
+
+SKM_DEFINE_STACK_OF_INTERNAL(SSL_COMP, SSL_COMP, SSL_COMP)
+#define sk_SSL_COMP_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_COMP_sk_type(sk))
+#define sk_SSL_COMP_value(sk, idx) ((SSL_COMP *)OPENSSL_sk_value(ossl_check_const_SSL_COMP_sk_type(sk), (idx)))
+#define sk_SSL_COMP_new(cmp) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new(ossl_check_SSL_COMP_compfunc_type(cmp)))
+#define sk_SSL_COMP_new_null() ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_null())
+#define sk_SSL_COMP_new_reserve(cmp, n) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_reserve(ossl_check_SSL_COMP_compfunc_type(cmp), (n)))
+#define sk_SSL_COMP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_COMP_sk_type(sk), (n))
+#define sk_SSL_COMP_free(sk) OPENSSL_sk_free(ossl_check_SSL_COMP_sk_type(sk))
+#define sk_SSL_COMP_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_COMP_sk_type(sk))
+#define sk_SSL_COMP_delete(sk, i) ((SSL_COMP *)OPENSSL_sk_delete(ossl_check_SSL_COMP_sk_type(sk), (i)))
+#define sk_SSL_COMP_delete_ptr(sk, ptr) ((SSL_COMP *)OPENSSL_sk_delete_ptr(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr)))
+#define sk_SSL_COMP_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
+#define sk_SSL_COMP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
+#define sk_SSL_COMP_pop(sk) ((SSL_COMP *)OPENSSL_sk_pop(ossl_check_SSL_COMP_sk_type(sk)))
+#define sk_SSL_COMP_shift(sk) ((SSL_COMP *)OPENSSL_sk_shift(ossl_check_SSL_COMP_sk_type(sk)))
+#define sk_SSL_COMP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_COMP_sk_type(sk),ossl_check_SSL_COMP_freefunc_type(freefunc))
+#define sk_SSL_COMP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr), (idx))
+#define sk_SSL_COMP_set(sk, idx, ptr) ((SSL_COMP *)OPENSSL_sk_set(ossl_check_SSL_COMP_sk_type(sk), (idx), ossl_check_SSL_COMP_type(ptr)))
+#define sk_SSL_COMP_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
+#define sk_SSL_COMP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
+#define sk_SSL_COMP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr), pnum)
+#define sk_SSL_COMP_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_COMP_sk_type(sk))
+#define sk_SSL_COMP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_COMP_sk_type(sk))
+#define sk_SSL_COMP_dup(sk) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_dup(ossl_check_const_SSL_COMP_sk_type(sk)))
+#define sk_SSL_COMP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_deep_copy(ossl_check_const_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_copyfunc_type(copyfunc), ossl_check_SSL_COMP_freefunc_type(freefunc)))
+#define sk_SSL_COMP_set_cmp_func(sk, cmp) ((sk_SSL_COMP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_compfunc_type(cmp)))
+
+
+
+# ifdef  __cplusplus
+}
+# endif
+#endif

+ 0 - 76
libs/openssl/include/openssl/comp.h.in

@@ -1,76 +0,0 @@
-/*
- * Copyright 2015-2024 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::stackhash qw(generate_stack_macros);
--}
-
-#ifndef OPENSSL_COMP_H
-# define OPENSSL_COMP_H
-# pragma once
-
-# include <openssl/macros.h>
-# ifndef OPENSSL_NO_DEPRECATED_3_0
-#  define HEADER_COMP_H
-# endif
-
-# include <openssl/opensslconf.h>
-
-# include <openssl/crypto.h>
-# include <openssl/comperr.h>
-# ifdef  __cplusplus
-extern "C" {
-# endif
-
-
-
-# ifndef OPENSSL_NO_COMP
-
-COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);
-const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx);
-int COMP_CTX_get_type(const COMP_CTX* comp);
-int COMP_get_type(const COMP_METHOD *meth);
-const char *COMP_get_name(const COMP_METHOD *meth);
-void COMP_CTX_free(COMP_CTX *ctx);
-
-int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
-                        unsigned char *in, int ilen);
-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
-const BIO_METHOD *BIO_f_zlib(void);
-const BIO_METHOD *BIO_f_brotli(void);
-const BIO_METHOD *BIO_f_zstd(void);
-#  endif
-
-# endif
-
-typedef struct ssl_comp_st SSL_COMP;
-
-{-
-    generate_stack_macros("SSL_COMP");
--}
-
-
-# ifdef  __cplusplus
-}
-# endif
-#endif

+ 102 - 3
libs/openssl/include/openssl/core_names.h

@@ -2,7 +2,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.
+ * Copyright 2019-2025 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
@@ -104,18 +104,31 @@ extern "C" {
 # define OSSL_PKEY_EC_GROUP_CHECK_NAMED       "named"
 # define OSSL_PKEY_EC_GROUP_CHECK_NAMED_NIST  "named-nist"
 
+/* PROV_SKEY well known key types */
+# define OSSL_SKEY_TYPE_GENERIC             "GENERIC-SECRET"
+# define OSSL_SKEY_TYPE_AES                 "AES"
+
 /* OSSL_KEM_PARAM_OPERATION values */
 #define OSSL_KEM_PARAM_OPERATION_RSASVE     "RSASVE"
 #define OSSL_KEM_PARAM_OPERATION_DHKEM      "DHKEM"
 
+/* Provider configuration variables */
+#define OSSL_PKEY_RETAIN_SEED   "pkey_retain_seed"
+
 /* Parameter name definitions - generated by util/perl/OpenSSL/paramnames.pm */
+# define OSSL_ALG_PARAM_ALGORITHM_ID "algorithm-id"
+# define OSSL_ALG_PARAM_ALGORITHM_ID_PARAMS "algorithm-id-params"
 # define OSSL_ALG_PARAM_CIPHER "cipher"
 # define OSSL_ALG_PARAM_DIGEST "digest"
 # define OSSL_ALG_PARAM_ENGINE "engine"
+# define OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR "fips-indicator"
 # 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_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_ASYM_CIPHER_PARAM_FIPS_KEY_CHECK OSSL_PKEY_PARAM_FIPS_KEY_CHECK
+# define OSSL_ASYM_CIPHER_PARAM_FIPS_RSA_PKCS15_PAD_DISABLED OSSL_PROV_PARAM_RSA_PKCS15_PAD_DISABLED
 # 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
@@ -142,7 +155,9 @@ extern "C" {
 # 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_DTLS "tls-max-dtls"
 # define OSSL_CAPABILITY_TLS_SIGALG_MAX_TLS "tls-max-tls"
+# define OSSL_CAPABILITY_TLS_SIGALG_MIN_DTLS "tls-min-dtls"
 # 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"
@@ -151,6 +166,7 @@ extern "C" {
 # 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_IV_GENERATED "iv-generated"
 # define OSSL_CIPHER_PARAM_AEAD_MAC_KEY "mackey"
 # define OSSL_CIPHER_PARAM_AEAD_TAG "tag"
 # define OSSL_CIPHER_PARAM_AEAD_TAGLEN "taglen"
@@ -159,11 +175,16 @@ extern "C" {
 # 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_ALGORITHM_ID OSSL_ALG_PARAM_ALGORITHM_ID
+# define OSSL_CIPHER_PARAM_ALGORITHM_ID_PARAMS OSSL_ALG_PARAM_ALGORITHM_ID_PARAMS
+# define OSSL_CIPHER_PARAM_ALGORITHM_ID_PARAMS_OLD "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_DECRYPT_ONLY "decrypt-only"
+# define OSSL_CIPHER_PARAM_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_CIPHER_PARAM_FIPS_ENCRYPT_CHECK "encrypt-check"
 # define OSSL_CIPHER_PARAM_HAS_RAND_KEY "has-randkey"
 # define OSSL_CIPHER_PARAM_IV "iv"
 # define OSSL_CIPHER_PARAM_IVLEN "ivlen"
@@ -171,6 +192,7 @@ extern "C" {
 # define OSSL_CIPHER_PARAM_MODE "mode"
 # define OSSL_CIPHER_PARAM_NUM "num"
 # define OSSL_CIPHER_PARAM_PADDING "padding"
+# define OSSL_CIPHER_PARAM_PIPELINE_AEAD_TAG "pipeline-tag"
 # define OSSL_CIPHER_PARAM_RANDOM_KEY "randkey"
 # define OSSL_CIPHER_PARAM_RC2_KEYBITS "keybits"
 # define OSSL_CIPHER_PARAM_ROUNDS "rounds"
@@ -202,6 +224,8 @@ extern "C" {
 # 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_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_DRBG_PARAM_FIPS_DIGEST_CHECK OSSL_PKEY_PARAM_FIPS_DIGEST_CHECK
 # 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"
@@ -225,6 +249,10 @@ extern "C" {
 # 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_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_EXCHANGE_PARAM_FIPS_DIGEST_CHECK OSSL_PKEY_PARAM_FIPS_DIGEST_CHECK
+# define OSSL_EXCHANGE_PARAM_FIPS_ECDH_COFACTOR_CHECK OSSL_PROV_PARAM_ECDH_COFACTOR_CHECK
+# define OSSL_EXCHANGE_PARAM_FIPS_KEY_CHECK OSSL_PKEY_PARAM_FIPS_KEY_CHECK
 # 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"
@@ -243,6 +271,10 @@ extern "C" {
 # 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_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_KDF_PARAM_FIPS_DIGEST_CHECK OSSL_PKEY_PARAM_FIPS_DIGEST_CHECK
+# define OSSL_KDF_PARAM_FIPS_EMS_CHECK "ems_check"
+# define OSSL_KDF_PARAM_FIPS_KEY_CHECK OSSL_PKEY_PARAM_FIPS_KEY_CHECK
 # define OSSL_KDF_PARAM_HMACDRBG_ENTROPY "entropy"
 # define OSSL_KDF_PARAM_HMACDRBG_NONCE "nonce"
 # define OSSL_KDF_PARAM_INFO "info"
@@ -279,9 +311,12 @@ extern "C" {
 # 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_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_KEM_PARAM_FIPS_KEY_CHECK OSSL_PKEY_PARAM_FIPS_KEY_CHECK
 # 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_HS_PADDING "hs_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"
@@ -299,6 +334,9 @@ extern "C" {
 # 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_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_MAC_PARAM_FIPS_KEY_CHECK OSSL_PKEY_PARAM_FIPS_KEY_CHECK
+# define OSSL_MAC_PARAM_FIPS_NO_SHORT_MAC OSSL_PROV_PARAM_NO_SHORT_MAC
 # define OSSL_MAC_PARAM_IV "iv"
 # define OSSL_MAC_PARAM_KEY "key"
 # define OSSL_MAC_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
@@ -310,9 +348,12 @@ extern "C" {
 # 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_INPUT_TYPE "input-type"
 # define OSSL_OBJECT_PARAM_REFERENCE "reference"
 # define OSSL_OBJECT_PARAM_TYPE "type"
 # define OSSL_PASSPHRASE_PARAM_INFO "info"
+# define OSSL_PKEY_PARAM_ALGORITHM_ID OSSL_ALG_PARAM_ALGORITHM_ID
+# define OSSL_PKEY_PARAM_ALGORITHM_ID_PARAMS OSSL_ALG_PARAM_ALGORITHM_ID_PARAMS
 # define OSSL_PKEY_PARAM_BITS "bits"
 # define OSSL_PKEY_PARAM_CIPHER OSSL_ALG_PARAM_CIPHER
 # define OSSL_PKEY_PARAM_DEFAULT_DIGEST "default-digest"
@@ -361,6 +402,10 @@ extern "C" {
 # 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_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_PKEY_PARAM_FIPS_DIGEST_CHECK "digest-check"
+# define OSSL_PKEY_PARAM_FIPS_KEY_CHECK "key-check"
+# define OSSL_PKEY_PARAM_FIPS_SIGN_CHECK "sign-check"
 # define OSSL_PKEY_PARAM_GROUP_NAME "group"
 # define OSSL_PKEY_PARAM_IMPLICIT_REJECTION "implicit-rejection"
 # define OSSL_PKEY_PARAM_MANDATORY_DIGEST "mandatory-digest"
@@ -368,6 +413,17 @@ extern "C" {
 # 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_ML_DSA_INPUT_FORMATS "ml-dsa.input_formats"
+# define OSSL_PKEY_PARAM_ML_DSA_OUTPUT_FORMATS "ml-dsa.output_formats"
+# define OSSL_PKEY_PARAM_ML_DSA_PREFER_SEED "ml-dsa.prefer_seed"
+# define OSSL_PKEY_PARAM_ML_DSA_RETAIN_SEED "ml-dsa.retain_seed"
+# define OSSL_PKEY_PARAM_ML_DSA_SEED "seed"
+# define OSSL_PKEY_PARAM_ML_KEM_IMPORT_PCT_TYPE "ml-kem.import_pct_type"
+# define OSSL_PKEY_PARAM_ML_KEM_INPUT_FORMATS "ml-kem.input_formats"
+# define OSSL_PKEY_PARAM_ML_KEM_OUTPUT_FORMATS "ml-kem.output_formats"
+# define OSSL_PKEY_PARAM_ML_KEM_PREFER_SEED "ml-kem.prefer_seed"
+# define OSSL_PKEY_PARAM_ML_KEM_RETAIN_SEED "ml-kem.retain_seed"
+# define OSSL_PKEY_PARAM_ML_KEM_SEED "seed"
 # define OSSL_PKEY_PARAM_PAD_MODE "pad-mode"
 # define OSSL_PKEY_PARAM_PRIV_KEY "priv"
 # define OSSL_PKEY_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES
@@ -426,6 +482,7 @@ extern "C" {
 # 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_SLH_DSA_SEED "seed"
 # 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"
@@ -433,32 +490,74 @@ extern "C" {
 # 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_DSA_SIGN_DISABLED "dsa-sign-disabled"
+# define OSSL_PROV_PARAM_ECDH_COFACTOR_CHECK "ecdh-cofactor-check"
+# define OSSL_PROV_PARAM_HKDF_DIGEST_CHECK "hkdf-digest-check"
+# define OSSL_PROV_PARAM_HKDF_KEY_CHECK "hkdf-key-check"
+# define OSSL_PROV_PARAM_HMAC_KEY_CHECK "hmac-key-check"
+# define OSSL_PROV_PARAM_KBKDF_KEY_CHECK "kbkdf-key-check"
+# define OSSL_PROV_PARAM_KMAC_KEY_CHECK "kmac-key-check"
 # define OSSL_PROV_PARAM_NAME "name"
+# define OSSL_PROV_PARAM_NO_SHORT_MAC "no-short-mac"
+# define OSSL_PROV_PARAM_PBKDF2_LOWER_BOUND_CHECK "pbkdf2-lower-bound-check"
+# define OSSL_PROV_PARAM_RSA_PKCS15_PAD_DISABLED "rsa-pkcs15-pad-disabled"
+# define OSSL_PROV_PARAM_RSA_PSS_SALTLEN_CHECK "rsa-pss-saltlen-check"
+# define OSSL_PROV_PARAM_RSA_SIGN_X931_PAD_DISABLED "rsa-sign-x931-pad-disabled"
 # 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_SIGNATURE_DIGEST_CHECK "signature-digest-check"
+# define OSSL_PROV_PARAM_SSHKDF_DIGEST_CHECK "sshkdf-digest-check"
+# define OSSL_PROV_PARAM_SSHKDF_KEY_CHECK "sshkdf-key-check"
+# define OSSL_PROV_PARAM_SSKDF_DIGEST_CHECK "sskdf-digest-check"
+# define OSSL_PROV_PARAM_SSKDF_KEY_CHECK "sskdf-key-check"
 # define OSSL_PROV_PARAM_STATUS "status"
+# define OSSL_PROV_PARAM_TDES_ENCRYPT_DISABLED "tdes-encrypt-disabled"
+# define OSSL_PROV_PARAM_TLS13_KDF_DIGEST_CHECK "tls13-kdf-digest-check"
+# define OSSL_PROV_PARAM_TLS13_KDF_KEY_CHECK "tls13-kdf-key-check"
+# define OSSL_PROV_PARAM_TLS1_PRF_DIGEST_CHECK "tls1-prf-digest-check"
 # define OSSL_PROV_PARAM_TLS1_PRF_EMS_CHECK "tls1-prf-ems-check"
+# define OSSL_PROV_PARAM_TLS1_PRF_KEY_CHECK "tls1-prf-key-check"
 # define OSSL_PROV_PARAM_VERSION "version"
+# define OSSL_PROV_PARAM_X942KDF_KEY_CHECK "x942kdf-key-check"
+# define OSSL_PROV_PARAM_X963KDF_DIGEST_CHECK "x963kdf-digest-check"
+# define OSSL_PROV_PARAM_X963KDF_KEY_CHECK "x963kdf-key-check"
+# define OSSL_RAND_PARAM_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
 # 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_ADD_RANDOM "additional-random"
+# define OSSL_SIGNATURE_PARAM_ALGORITHM_ID OSSL_PKEY_PARAM_ALGORITHM_ID
+# define OSSL_SIGNATURE_PARAM_ALGORITHM_ID_PARAMS OSSL_PKEY_PARAM_ALGORITHM_ID_PARAMS
 # define OSSL_SIGNATURE_PARAM_CONTEXT_STRING "context-string"
+# define OSSL_SIGNATURE_PARAM_DETERMINISTIC "deterministic"
 # define OSSL_SIGNATURE_PARAM_DIGEST OSSL_PKEY_PARAM_DIGEST
 # define OSSL_SIGNATURE_PARAM_DIGEST_SIZE OSSL_PKEY_PARAM_DIGEST_SIZE
+# define OSSL_SIGNATURE_PARAM_FIPS_APPROVED_INDICATOR OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR
+# define OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK OSSL_PKEY_PARAM_FIPS_DIGEST_CHECK
+# define OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK OSSL_PKEY_PARAM_FIPS_KEY_CHECK
+# define OSSL_SIGNATURE_PARAM_FIPS_RSA_PSS_SALTLEN_CHECK "rsa-pss-saltlen-check"
+# define OSSL_SIGNATURE_PARAM_FIPS_SIGN_CHECK OSSL_PKEY_PARAM_FIPS_SIGN_CHECK
+# define OSSL_SIGNATURE_PARAM_FIPS_SIGN_X931_PAD_CHECK "sign-x931-pad-check"
+# define OSSL_SIGNATURE_PARAM_FIPS_VERIFY_MESSAGE "verify-message"
 # define OSSL_SIGNATURE_PARAM_INSTANCE "instance"
 # define OSSL_SIGNATURE_PARAM_KAT "kat"
+# define OSSL_SIGNATURE_PARAM_MESSAGE_ENCODING "message-encoding"
 # 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_MU "mu"
 # 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_SIGNATURE_PARAM_SIGNATURE "signature"
+# define OSSL_SIGNATURE_PARAM_TEST_ENTROPY "test-entropy"
+# define OSSL_SKEY_PARAM_KEY_LENGTH "key-length"
+# define OSSL_SKEY_PARAM_RAW_BYTES "raw-bytes"
 # define OSSL_STORE_PARAM_ALIAS "alias"
 # define OSSL_STORE_PARAM_DIGEST "digest"
 # define OSSL_STORE_PARAM_EXPECT "expect"

+ 27 - 3
libs/openssl/include/openssl/crmf.h

@@ -83,9 +83,33 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CRMF_MSG, OSSL_CRMF_MSG, OSSL_CRMF_MSG)
 typedef struct ossl_crmf_attributetypeandvalue_st OSSL_CRMF_ATTRIBUTETYPEANDVALUE;
 void OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free(OSSL_CRMF_ATTRIBUTETYPEANDVALUE *v);
 DECLARE_ASN1_DUP_FUNCTION(OSSL_CRMF_ATTRIBUTETYPEANDVALUE)
-{-
-    generate_stack_macros("OSSL_CRMF_ATTRIBUTETYPEANDVALUE");
--}
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CRMF_ATTRIBUTETYPEANDVALUE, OSSL_CRMF_ATTRIBUTETYPEANDVALUE, OSSL_CRMF_ATTRIBUTETYPEANDVALUE)
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_value(sk, idx) ((OSSL_CRMF_ATTRIBUTETYPEANDVALUE *)OPENSSL_sk_value(ossl_check_const_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), (idx)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new(cmp) ((STACK_OF(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) *)OPENSSL_sk_new(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_compfunc_type(cmp)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null() ((STACK_OF(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) *)OPENSSL_sk_new_null())
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_reserve(cmp, n) ((STACK_OF(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_compfunc_type(cmp), (n)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), (n))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_delete(sk, i) ((OSSL_CRMF_ATTRIBUTETYPEANDVALUE *)OPENSSL_sk_delete(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), (i)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_delete_ptr(sk, ptr) ((OSSL_CRMF_ATTRIBUTETYPEANDVALUE *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_pop(sk) ((OSSL_CRMF_ATTRIBUTETYPEANDVALUE *)OPENSSL_sk_pop(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_shift(sk) ((OSSL_CRMF_ATTRIBUTETYPEANDVALUE *)OPENSSL_sk_shift(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk),ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_freefunc_type(freefunc))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr), (idx))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_set(sk, idx, ptr) ((OSSL_CRMF_ATTRIBUTETYPEANDVALUE *)OPENSSL_sk_set(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), (idx), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_type(ptr), pnum)
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_dup(sk) ((STACK_OF(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_copyfunc_type(copyfunc), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_freefunc_type(freefunc)))
+#define sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_set_cmp_func(sk, cmp) ((sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_sk_type(sk), ossl_check_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_compfunc_type(cmp)))
+
 
 typedef struct ossl_crmf_pbmparameter_st OSSL_CRMF_PBMPARAMETER;
 DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_PBMPARAMETER)

+ 1 - 1
libs/openssl/include/openssl/fipskey.h

@@ -32,7 +32,7 @@ extern "C" {
 /*
  * The FIPS provider vendor name, as a string.
  */
-#define FIPS_VENDOR "{- $config{FIPS_VENDOR} -}"
+#define FIPS_VENDOR "OpenSSL non-compliant FIPS Provider"
 
 # ifdef  __cplusplus
 }

+ 5 - 5
libs/openssl/include/openssl/opensslv.h

@@ -28,8 +28,8 @@ extern "C" {
  * These macros express version number MAJOR.MINOR.PATCH exactly
  */
 # define OPENSSL_VERSION_MAJOR  3
-# define OPENSSL_VERSION_MINOR  3
-# define OPENSSL_VERSION_PATCH  5
+# define OPENSSL_VERSION_MINOR  5
+# define OPENSSL_VERSION_PATCH  4
 
 /*
  * Additional version information
@@ -74,8 +74,8 @@ extern "C" {
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
  */
-# define OPENSSL_VERSION_STR "3.3.5"
-# define OPENSSL_FULL_VERSION_STR "3.3.5"
+# define OPENSSL_VERSION_STR "3.5.4"
+# define OPENSSL_FULL_VERSION_STR "3.5.4"
 
 /*
  * SECTION 3: ADDITIONAL METADATA
@@ -88,7 +88,7 @@ extern "C" {
  * SECTION 4: BACKWARD COMPATIBILITY
  */
 
-# define OPENSSL_VERSION_TEXT "OpenSSL 3.3.5 30 Sep 2025"
+# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.4 30 Sep 2025"
 
 /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PP0L */
 # define OPENSSL_VERSION_NUMBER          \

+ 0 - 26
libs/openssl/include/openssl/ssl.h

@@ -1021,32 +1021,6 @@ SKM_DEFINE_STACK_OF_INTERNAL(SSL_CIPHER, const SSL_CIPHER, SSL_CIPHER)
 #define sk_SSL_CIPHER_dup(sk) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_dup(ossl_check_const_SSL_CIPHER_sk_type(sk)))
 #define sk_SSL_CIPHER_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_deep_copy(ossl_check_const_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_copyfunc_type(copyfunc), ossl_check_SSL_CIPHER_freefunc_type(freefunc)))
 #define sk_SSL_CIPHER_set_cmp_func(sk, cmp) ((sk_SSL_CIPHER_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_compfunc_type(cmp)))
-SKM_DEFINE_STACK_OF_INTERNAL(SSL_COMP, SSL_COMP, SSL_COMP)
-#define sk_SSL_COMP_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_COMP_sk_type(sk))
-#define sk_SSL_COMP_value(sk, idx) ((SSL_COMP *)OPENSSL_sk_value(ossl_check_const_SSL_COMP_sk_type(sk), (idx)))
-#define sk_SSL_COMP_new(cmp) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new(ossl_check_SSL_COMP_compfunc_type(cmp)))
-#define sk_SSL_COMP_new_null() ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_null())
-#define sk_SSL_COMP_new_reserve(cmp, n) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_reserve(ossl_check_SSL_COMP_compfunc_type(cmp), (n)))
-#define sk_SSL_COMP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_COMP_sk_type(sk), (n))
-#define sk_SSL_COMP_free(sk) OPENSSL_sk_free(ossl_check_SSL_COMP_sk_type(sk))
-#define sk_SSL_COMP_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_COMP_sk_type(sk))
-#define sk_SSL_COMP_delete(sk, i) ((SSL_COMP *)OPENSSL_sk_delete(ossl_check_SSL_COMP_sk_type(sk), (i)))
-#define sk_SSL_COMP_delete_ptr(sk, ptr) ((SSL_COMP *)OPENSSL_sk_delete_ptr(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr)))
-#define sk_SSL_COMP_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
-#define sk_SSL_COMP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
-#define sk_SSL_COMP_pop(sk) ((SSL_COMP *)OPENSSL_sk_pop(ossl_check_SSL_COMP_sk_type(sk)))
-#define sk_SSL_COMP_shift(sk) ((SSL_COMP *)OPENSSL_sk_shift(ossl_check_SSL_COMP_sk_type(sk)))
-#define sk_SSL_COMP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_COMP_sk_type(sk),ossl_check_SSL_COMP_freefunc_type(freefunc))
-#define sk_SSL_COMP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr), (idx))
-#define sk_SSL_COMP_set(sk, idx, ptr) ((SSL_COMP *)OPENSSL_sk_set(ossl_check_SSL_COMP_sk_type(sk), (idx), ossl_check_SSL_COMP_type(ptr)))
-#define sk_SSL_COMP_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
-#define sk_SSL_COMP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
-#define sk_SSL_COMP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr), pnum)
-#define sk_SSL_COMP_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_COMP_sk_type(sk))
-#define sk_SSL_COMP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_COMP_sk_type(sk))
-#define sk_SSL_COMP_dup(sk) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_dup(ossl_check_const_SSL_COMP_sk_type(sk)))
-#define sk_SSL_COMP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_deep_copy(ossl_check_const_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_copyfunc_type(copyfunc), ossl_check_SSL_COMP_freefunc_type(freefunc)))
-#define sk_SSL_COMP_set_cmp_func(sk, cmp) ((sk_SSL_COMP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_compfunc_type(cmp)))
 
 
 /* compatibility */

+ 294 - 0
libs/openssl/include/openssl/x509_acert.h

@@ -0,0 +1,294 @@
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from include\openssl\x509_acert.h.in
+ *
+ * Copyright 2022-2024 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_X509_ACERT_H
+# define OPENSSL_X509_ACERT_H
+# pragma once
+
+# include <openssl/x509v3.h>
+# include <openssl/x509.h>
+# include <openssl/pem.h>
+
+typedef struct X509_acert_st X509_ACERT;
+typedef struct X509_acert_info_st X509_ACERT_INFO;
+typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO;
+typedef struct ossl_issuer_serial_st OSSL_ISSUER_SERIAL;
+typedef struct X509_acert_issuer_v2form_st X509_ACERT_ISSUER_V2FORM;
+
+DECLARE_ASN1_FUNCTIONS(X509_ACERT)
+DECLARE_ASN1_DUP_FUNCTION(X509_ACERT)
+DECLARE_ASN1_ITEM(X509_ACERT_INFO)
+DECLARE_ASN1_ALLOC_FUNCTIONS(X509_ACERT_INFO)
+DECLARE_ASN1_ALLOC_FUNCTIONS(OSSL_OBJECT_DIGEST_INFO)
+DECLARE_ASN1_ALLOC_FUNCTIONS(OSSL_ISSUER_SERIAL)
+DECLARE_ASN1_ALLOC_FUNCTIONS(X509_ACERT_ISSUER_V2FORM)
+
+# ifndef OPENSSL_NO_STDIO
+X509_ACERT *d2i_X509_ACERT_fp(FILE *fp, X509_ACERT **acert);
+int i2d_X509_ACERT_fp(FILE *fp, const X509_ACERT *acert);
+# endif
+
+DECLARE_PEM_rw(X509_ACERT, X509_ACERT)
+
+X509_ACERT *d2i_X509_ACERT_bio(BIO *bp, X509_ACERT **acert);
+int i2d_X509_ACERT_bio(BIO *bp, const X509_ACERT *acert);
+
+int X509_ACERT_sign(X509_ACERT *x, EVP_PKEY *pkey, const EVP_MD *md);
+int X509_ACERT_sign_ctx(X509_ACERT *x, EVP_MD_CTX *ctx);
+int X509_ACERT_verify(X509_ACERT *a, EVP_PKEY *r);
+
+# define X509_ACERT_VERSION_2 1
+
+const GENERAL_NAMES *X509_ACERT_get0_holder_entityName(const X509_ACERT *x);
+const OSSL_ISSUER_SERIAL *X509_ACERT_get0_holder_baseCertId(const X509_ACERT *x);
+const OSSL_OBJECT_DIGEST_INFO * X509_ACERT_get0_holder_digest(const X509_ACERT *x);
+const X509_NAME *X509_ACERT_get0_issuerName(const X509_ACERT *x);
+long X509_ACERT_get_version(const X509_ACERT *x);
+void X509_ACERT_get0_signature(const X509_ACERT *x,
+                               const ASN1_BIT_STRING **psig,
+                               const X509_ALGOR **palg);
+int X509_ACERT_get_signature_nid(const X509_ACERT *x);
+const X509_ALGOR *X509_ACERT_get0_info_sigalg(const X509_ACERT *x);
+const ASN1_INTEGER *X509_ACERT_get0_serialNumber(const X509_ACERT *x);
+const ASN1_TIME *X509_ACERT_get0_notBefore(const X509_ACERT *x);
+const ASN1_TIME *X509_ACERT_get0_notAfter(const X509_ACERT *x);
+const ASN1_BIT_STRING *X509_ACERT_get0_issuerUID(const X509_ACERT *x);
+
+int X509_ACERT_print(BIO *bp, X509_ACERT *x);
+int X509_ACERT_print_ex(BIO *bp, X509_ACERT *x, unsigned long nmflags,
+                        unsigned long cflag);
+
+int X509_ACERT_get_attr_count(const X509_ACERT *x);
+int X509_ACERT_get_attr_by_NID(const X509_ACERT *x, int nid, int lastpos);
+int X509_ACERT_get_attr_by_OBJ(const X509_ACERT *x, const ASN1_OBJECT *obj,
+                               int lastpos);
+X509_ATTRIBUTE *X509_ACERT_get_attr(const X509_ACERT *x, int loc);
+X509_ATTRIBUTE *X509_ACERT_delete_attr(X509_ACERT *x, int loc);
+
+void *X509_ACERT_get_ext_d2i(const X509_ACERT *x, int nid, int *crit, int *idx);
+int X509_ACERT_add1_ext_i2d(X509_ACERT *x, int nid, void *value, int crit,
+                            unsigned long flags);
+const STACK_OF(X509_EXTENSION) *X509_ACERT_get0_extensions(const X509_ACERT *x);
+
+# define OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY        0
+# define OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY_CERT   1
+# define OSSL_OBJECT_DIGEST_INFO_OTHER             2  /* must not be used in RFC 5755 profile */
+int X509_ACERT_set_version(X509_ACERT *x, long version);
+void X509_ACERT_set0_holder_entityName(X509_ACERT *x, GENERAL_NAMES *name);
+void X509_ACERT_set0_holder_baseCertId(X509_ACERT *x, OSSL_ISSUER_SERIAL *isss);
+void X509_ACERT_set0_holder_digest(X509_ACERT *x,
+                                   OSSL_OBJECT_DIGEST_INFO *dinfo);
+
+int X509_ACERT_add1_attr(X509_ACERT *x, X509_ATTRIBUTE *attr);
+int X509_ACERT_add1_attr_by_OBJ(X509_ACERT *x, const ASN1_OBJECT *obj,
+                                int type, const void *bytes, int len);
+int X509_ACERT_add1_attr_by_NID(X509_ACERT *x, int nid, int type,
+                                const void *bytes, int len);
+int X509_ACERT_add1_attr_by_txt(X509_ACERT *x, const char *attrname, int type,
+                                const unsigned char *bytes, int len);
+int X509_ACERT_add_attr_nconf(CONF *conf, const char *section,
+                              X509_ACERT *acert);
+
+int X509_ACERT_set1_issuerName(X509_ACERT *x, const X509_NAME *name);
+int X509_ACERT_set1_serialNumber(X509_ACERT *x, const ASN1_INTEGER *serial);
+int X509_ACERT_set1_notBefore(X509_ACERT *x, const ASN1_GENERALIZEDTIME *time);
+int X509_ACERT_set1_notAfter(X509_ACERT *x, const ASN1_GENERALIZEDTIME *time);
+
+void OSSL_OBJECT_DIGEST_INFO_get0_digest(const OSSL_OBJECT_DIGEST_INFO *o,
+                                         int *digestedObjectType,
+                                         const X509_ALGOR **digestAlgorithm,
+                                         const ASN1_BIT_STRING **digest);
+
+int OSSL_OBJECT_DIGEST_INFO_set1_digest(OSSL_OBJECT_DIGEST_INFO *o,
+                                        int digestedObjectType,
+                                        X509_ALGOR *digestAlgorithm,
+                                        ASN1_BIT_STRING *digest);
+
+const X509_NAME *OSSL_ISSUER_SERIAL_get0_issuer(const OSSL_ISSUER_SERIAL *isss);
+const ASN1_INTEGER *OSSL_ISSUER_SERIAL_get0_serial(const OSSL_ISSUER_SERIAL *isss);
+const ASN1_BIT_STRING *OSSL_ISSUER_SERIAL_get0_issuerUID(const OSSL_ISSUER_SERIAL *isss);
+
+int OSSL_ISSUER_SERIAL_set1_issuer(OSSL_ISSUER_SERIAL *isss,
+                                   const X509_NAME *issuer);
+int OSSL_ISSUER_SERIAL_set1_serial(OSSL_ISSUER_SERIAL *isss,
+                                   const ASN1_INTEGER *serial);
+int OSSL_ISSUER_SERIAL_set1_issuerUID(OSSL_ISSUER_SERIAL *isss,
+                                   const ASN1_BIT_STRING *uid);
+
+# define OSSL_IETFAS_OCTETS     0
+# define OSSL_IETFAS_OID        1
+# define OSSL_IETFAS_STRING     2
+
+typedef struct OSSL_IETF_ATTR_SYNTAX_VALUE_st OSSL_IETF_ATTR_SYNTAX_VALUE;
+typedef struct OSSL_IETF_ATTR_SYNTAX_st OSSL_IETF_ATTR_SYNTAX;
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_IETF_ATTR_SYNTAX_VALUE, OSSL_IETF_ATTR_SYNTAX_VALUE, OSSL_IETF_ATTR_SYNTAX_VALUE)
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_value(sk, idx) ((OSSL_IETF_ATTR_SYNTAX_VALUE *)OPENSSL_sk_value(ossl_check_const_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), (idx)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_new(cmp) ((STACK_OF(OSSL_IETF_ATTR_SYNTAX_VALUE) *)OPENSSL_sk_new(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_compfunc_type(cmp)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_new_null() ((STACK_OF(OSSL_IETF_ATTR_SYNTAX_VALUE) *)OPENSSL_sk_new_null())
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_new_reserve(cmp, n) ((STACK_OF(OSSL_IETF_ATTR_SYNTAX_VALUE) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_compfunc_type(cmp), (n)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), (n))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_free(sk) OPENSSL_sk_free(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_delete(sk, i) ((OSSL_IETF_ATTR_SYNTAX_VALUE *)OPENSSL_sk_delete(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), (i)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_delete_ptr(sk, ptr) ((OSSL_IETF_ATTR_SYNTAX_VALUE *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_pop(sk) ((OSSL_IETF_ATTR_SYNTAX_VALUE *)OPENSSL_sk_pop(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_shift(sk) ((OSSL_IETF_ATTR_SYNTAX_VALUE *)OPENSSL_sk_shift(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk),ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_freefunc_type(freefunc))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr), (idx))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_set(sk, idx, ptr) ((OSSL_IETF_ATTR_SYNTAX_VALUE *)OPENSSL_sk_set(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), (idx), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_type(ptr), pnum)
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_dup(sk) ((STACK_OF(OSSL_IETF_ATTR_SYNTAX_VALUE) *)OPENSSL_sk_dup(ossl_check_const_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_IETF_ATTR_SYNTAX_VALUE) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_copyfunc_type(copyfunc), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_freefunc_type(freefunc)))
+#define sk_OSSL_IETF_ATTR_SYNTAX_VALUE_set_cmp_func(sk, cmp) ((sk_OSSL_IETF_ATTR_SYNTAX_VALUE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_sk_type(sk), ossl_check_OSSL_IETF_ATTR_SYNTAX_VALUE_compfunc_type(cmp)))
+
+
+DECLARE_ASN1_ITEM(OSSL_IETF_ATTR_SYNTAX_VALUE)
+DECLARE_ASN1_ALLOC_FUNCTIONS(OSSL_IETF_ATTR_SYNTAX_VALUE)
+DECLARE_ASN1_FUNCTIONS(OSSL_IETF_ATTR_SYNTAX)
+
+const GENERAL_NAMES *
+OSSL_IETF_ATTR_SYNTAX_get0_policyAuthority(const OSSL_IETF_ATTR_SYNTAX *a);
+void OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority(OSSL_IETF_ATTR_SYNTAX *a,
+		                                        GENERAL_NAMES *names);
+
+int OSSL_IETF_ATTR_SYNTAX_get_value_num(const OSSL_IETF_ATTR_SYNTAX *a);
+void *OSSL_IETF_ATTR_SYNTAX_get0_value(const OSSL_IETF_ATTR_SYNTAX *a,
+		                               int ind, int *type);
+int OSSL_IETF_ATTR_SYNTAX_add1_value(OSSL_IETF_ATTR_SYNTAX *a, int type,
+		                             void *data);
+int OSSL_IETF_ATTR_SYNTAX_print(BIO *bp, OSSL_IETF_ATTR_SYNTAX *a, int indent);
+
+struct TARGET_CERT_st {
+    OSSL_ISSUER_SERIAL *targetCertificate;
+    GENERAL_NAME *targetName;
+    OSSL_OBJECT_DIGEST_INFO *certDigestInfo;
+};
+
+typedef struct TARGET_CERT_st OSSL_TARGET_CERT;
+
+# define OSSL_TGT_TARGET_NAME  0
+# define OSSL_TGT_TARGET_GROUP 1
+# define OSSL_TGT_TARGET_CERT  2
+
+typedef struct TARGET_st {
+    int type;
+    union {
+        GENERAL_NAME *targetName;
+        GENERAL_NAME *targetGroup;
+        OSSL_TARGET_CERT *targetCert;
+    } choice;
+} OSSL_TARGET;
+
+typedef STACK_OF(OSSL_TARGET) OSSL_TARGETS;
+typedef STACK_OF(OSSL_TARGETS) OSSL_TARGETING_INFORMATION;
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_TARGET, OSSL_TARGET, OSSL_TARGET)
+#define sk_OSSL_TARGET_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_TARGET_sk_type(sk))
+#define sk_OSSL_TARGET_value(sk, idx) ((OSSL_TARGET *)OPENSSL_sk_value(ossl_check_const_OSSL_TARGET_sk_type(sk), (idx)))
+#define sk_OSSL_TARGET_new(cmp) ((STACK_OF(OSSL_TARGET) *)OPENSSL_sk_new(ossl_check_OSSL_TARGET_compfunc_type(cmp)))
+#define sk_OSSL_TARGET_new_null() ((STACK_OF(OSSL_TARGET) *)OPENSSL_sk_new_null())
+#define sk_OSSL_TARGET_new_reserve(cmp, n) ((STACK_OF(OSSL_TARGET) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_TARGET_compfunc_type(cmp), (n)))
+#define sk_OSSL_TARGET_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_TARGET_sk_type(sk), (n))
+#define sk_OSSL_TARGET_free(sk) OPENSSL_sk_free(ossl_check_OSSL_TARGET_sk_type(sk))
+#define sk_OSSL_TARGET_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_TARGET_sk_type(sk))
+#define sk_OSSL_TARGET_delete(sk, i) ((OSSL_TARGET *)OPENSSL_sk_delete(ossl_check_OSSL_TARGET_sk_type(sk), (i)))
+#define sk_OSSL_TARGET_delete_ptr(sk, ptr) ((OSSL_TARGET *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_type(ptr)))
+#define sk_OSSL_TARGET_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_type(ptr))
+#define sk_OSSL_TARGET_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_type(ptr))
+#define sk_OSSL_TARGET_pop(sk) ((OSSL_TARGET *)OPENSSL_sk_pop(ossl_check_OSSL_TARGET_sk_type(sk)))
+#define sk_OSSL_TARGET_shift(sk) ((OSSL_TARGET *)OPENSSL_sk_shift(ossl_check_OSSL_TARGET_sk_type(sk)))
+#define sk_OSSL_TARGET_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_TARGET_sk_type(sk),ossl_check_OSSL_TARGET_freefunc_type(freefunc))
+#define sk_OSSL_TARGET_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_type(ptr), (idx))
+#define sk_OSSL_TARGET_set(sk, idx, ptr) ((OSSL_TARGET *)OPENSSL_sk_set(ossl_check_OSSL_TARGET_sk_type(sk), (idx), ossl_check_OSSL_TARGET_type(ptr)))
+#define sk_OSSL_TARGET_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_type(ptr))
+#define sk_OSSL_TARGET_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_type(ptr))
+#define sk_OSSL_TARGET_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_type(ptr), pnum)
+#define sk_OSSL_TARGET_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_TARGET_sk_type(sk))
+#define sk_OSSL_TARGET_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_TARGET_sk_type(sk))
+#define sk_OSSL_TARGET_dup(sk) ((STACK_OF(OSSL_TARGET) *)OPENSSL_sk_dup(ossl_check_const_OSSL_TARGET_sk_type(sk)))
+#define sk_OSSL_TARGET_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_TARGET) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_copyfunc_type(copyfunc), ossl_check_OSSL_TARGET_freefunc_type(freefunc)))
+#define sk_OSSL_TARGET_set_cmp_func(sk, cmp) ((sk_OSSL_TARGET_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_TARGET_sk_type(sk), ossl_check_OSSL_TARGET_compfunc_type(cmp)))
+
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_TARGETS, OSSL_TARGETS, OSSL_TARGETS)
+#define sk_OSSL_TARGETS_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_TARGETS_sk_type(sk))
+#define sk_OSSL_TARGETS_value(sk, idx) ((OSSL_TARGETS *)OPENSSL_sk_value(ossl_check_const_OSSL_TARGETS_sk_type(sk), (idx)))
+#define sk_OSSL_TARGETS_new(cmp) ((STACK_OF(OSSL_TARGETS) *)OPENSSL_sk_new(ossl_check_OSSL_TARGETS_compfunc_type(cmp)))
+#define sk_OSSL_TARGETS_new_null() ((STACK_OF(OSSL_TARGETS) *)OPENSSL_sk_new_null())
+#define sk_OSSL_TARGETS_new_reserve(cmp, n) ((STACK_OF(OSSL_TARGETS) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_TARGETS_compfunc_type(cmp), (n)))
+#define sk_OSSL_TARGETS_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_TARGETS_sk_type(sk), (n))
+#define sk_OSSL_TARGETS_free(sk) OPENSSL_sk_free(ossl_check_OSSL_TARGETS_sk_type(sk))
+#define sk_OSSL_TARGETS_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_TARGETS_sk_type(sk))
+#define sk_OSSL_TARGETS_delete(sk, i) ((OSSL_TARGETS *)OPENSSL_sk_delete(ossl_check_OSSL_TARGETS_sk_type(sk), (i)))
+#define sk_OSSL_TARGETS_delete_ptr(sk, ptr) ((OSSL_TARGETS *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_type(ptr)))
+#define sk_OSSL_TARGETS_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_type(ptr))
+#define sk_OSSL_TARGETS_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_type(ptr))
+#define sk_OSSL_TARGETS_pop(sk) ((OSSL_TARGETS *)OPENSSL_sk_pop(ossl_check_OSSL_TARGETS_sk_type(sk)))
+#define sk_OSSL_TARGETS_shift(sk) ((OSSL_TARGETS *)OPENSSL_sk_shift(ossl_check_OSSL_TARGETS_sk_type(sk)))
+#define sk_OSSL_TARGETS_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_TARGETS_sk_type(sk),ossl_check_OSSL_TARGETS_freefunc_type(freefunc))
+#define sk_OSSL_TARGETS_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_type(ptr), (idx))
+#define sk_OSSL_TARGETS_set(sk, idx, ptr) ((OSSL_TARGETS *)OPENSSL_sk_set(ossl_check_OSSL_TARGETS_sk_type(sk), (idx), ossl_check_OSSL_TARGETS_type(ptr)))
+#define sk_OSSL_TARGETS_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_type(ptr))
+#define sk_OSSL_TARGETS_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_type(ptr))
+#define sk_OSSL_TARGETS_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_type(ptr), pnum)
+#define sk_OSSL_TARGETS_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_TARGETS_sk_type(sk))
+#define sk_OSSL_TARGETS_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_TARGETS_sk_type(sk))
+#define sk_OSSL_TARGETS_dup(sk) ((STACK_OF(OSSL_TARGETS) *)OPENSSL_sk_dup(ossl_check_const_OSSL_TARGETS_sk_type(sk)))
+#define sk_OSSL_TARGETS_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_TARGETS) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_copyfunc_type(copyfunc), ossl_check_OSSL_TARGETS_freefunc_type(freefunc)))
+#define sk_OSSL_TARGETS_set_cmp_func(sk, cmp) ((sk_OSSL_TARGETS_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_TARGETS_sk_type(sk), ossl_check_OSSL_TARGETS_compfunc_type(cmp)))
+
+
+DECLARE_ASN1_FUNCTIONS(OSSL_TARGET)
+DECLARE_ASN1_FUNCTIONS(OSSL_TARGETS)
+DECLARE_ASN1_FUNCTIONS(OSSL_TARGETING_INFORMATION)
+
+typedef STACK_OF(OSSL_ISSUER_SERIAL) OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX;
+DECLARE_ASN1_FUNCTIONS(OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX)
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL)
+#define sk_OSSL_ISSUER_SERIAL_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_ISSUER_SERIAL_sk_type(sk))
+#define sk_OSSL_ISSUER_SERIAL_value(sk, idx) ((OSSL_ISSUER_SERIAL *)OPENSSL_sk_value(ossl_check_const_OSSL_ISSUER_SERIAL_sk_type(sk), (idx)))
+#define sk_OSSL_ISSUER_SERIAL_new(cmp) ((STACK_OF(OSSL_ISSUER_SERIAL) *)OPENSSL_sk_new(ossl_check_OSSL_ISSUER_SERIAL_compfunc_type(cmp)))
+#define sk_OSSL_ISSUER_SERIAL_new_null() ((STACK_OF(OSSL_ISSUER_SERIAL) *)OPENSSL_sk_new_null())
+#define sk_OSSL_ISSUER_SERIAL_new_reserve(cmp, n) ((STACK_OF(OSSL_ISSUER_SERIAL) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_ISSUER_SERIAL_compfunc_type(cmp), (n)))
+#define sk_OSSL_ISSUER_SERIAL_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), (n))
+#define sk_OSSL_ISSUER_SERIAL_free(sk) OPENSSL_sk_free(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk))
+#define sk_OSSL_ISSUER_SERIAL_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk))
+#define sk_OSSL_ISSUER_SERIAL_delete(sk, i) ((OSSL_ISSUER_SERIAL *)OPENSSL_sk_delete(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), (i)))
+#define sk_OSSL_ISSUER_SERIAL_delete_ptr(sk, ptr) ((OSSL_ISSUER_SERIAL *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_type(ptr)))
+#define sk_OSSL_ISSUER_SERIAL_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_type(ptr))
+#define sk_OSSL_ISSUER_SERIAL_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_type(ptr))
+#define sk_OSSL_ISSUER_SERIAL_pop(sk) ((OSSL_ISSUER_SERIAL *)OPENSSL_sk_pop(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk)))
+#define sk_OSSL_ISSUER_SERIAL_shift(sk) ((OSSL_ISSUER_SERIAL *)OPENSSL_sk_shift(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk)))
+#define sk_OSSL_ISSUER_SERIAL_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk),ossl_check_OSSL_ISSUER_SERIAL_freefunc_type(freefunc))
+#define sk_OSSL_ISSUER_SERIAL_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_type(ptr), (idx))
+#define sk_OSSL_ISSUER_SERIAL_set(sk, idx, ptr) ((OSSL_ISSUER_SERIAL *)OPENSSL_sk_set(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), (idx), ossl_check_OSSL_ISSUER_SERIAL_type(ptr)))
+#define sk_OSSL_ISSUER_SERIAL_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_type(ptr))
+#define sk_OSSL_ISSUER_SERIAL_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_type(ptr))
+#define sk_OSSL_ISSUER_SERIAL_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_type(ptr), pnum)
+#define sk_OSSL_ISSUER_SERIAL_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk))
+#define sk_OSSL_ISSUER_SERIAL_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_ISSUER_SERIAL_sk_type(sk))
+#define sk_OSSL_ISSUER_SERIAL_dup(sk) ((STACK_OF(OSSL_ISSUER_SERIAL) *)OPENSSL_sk_dup(ossl_check_const_OSSL_ISSUER_SERIAL_sk_type(sk)))
+#define sk_OSSL_ISSUER_SERIAL_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_ISSUER_SERIAL) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_copyfunc_type(copyfunc), ossl_check_OSSL_ISSUER_SERIAL_freefunc_type(freefunc)))
+#define sk_OSSL_ISSUER_SERIAL_set_cmp_func(sk, cmp) ((sk_OSSL_ISSUER_SERIAL_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_ISSUER_SERIAL_sk_type(sk), ossl_check_OSSL_ISSUER_SERIAL_compfunc_type(cmp)))
+
+
+#endif

+ 0 - 199
libs/openssl/include/openssl/x509_acert.h.in

@@ -1,199 +0,0 @@
-/*
- * {- join("\n * ", @autowarntext) -}
- *
- * Copyright 2022-2024 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::stackhash qw(generate_stack_macros);
--}
-
-#ifndef OPENSSL_X509_ACERT_H
-# define OPENSSL_X509_ACERT_H
-# pragma once
-
-# include <openssl/x509v3.h>
-# include <openssl/x509.h>
-# include <openssl/pem.h>
-
-typedef struct X509_acert_st X509_ACERT;
-typedef struct X509_acert_info_st X509_ACERT_INFO;
-typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO;
-typedef struct ossl_issuer_serial_st OSSL_ISSUER_SERIAL;
-typedef struct X509_acert_issuer_v2form_st X509_ACERT_ISSUER_V2FORM;
-
-DECLARE_ASN1_FUNCTIONS(X509_ACERT)
-DECLARE_ASN1_DUP_FUNCTION(X509_ACERT)
-DECLARE_ASN1_ITEM(X509_ACERT_INFO)
-DECLARE_ASN1_ALLOC_FUNCTIONS(X509_ACERT_INFO)
-DECLARE_ASN1_ALLOC_FUNCTIONS(OSSL_OBJECT_DIGEST_INFO)
-DECLARE_ASN1_ALLOC_FUNCTIONS(OSSL_ISSUER_SERIAL)
-DECLARE_ASN1_ALLOC_FUNCTIONS(X509_ACERT_ISSUER_V2FORM)
-
-# ifndef OPENSSL_NO_STDIO
-X509_ACERT *d2i_X509_ACERT_fp(FILE *fp, X509_ACERT **acert);
-int i2d_X509_ACERT_fp(FILE *fp, const X509_ACERT *acert);
-# endif
-
-DECLARE_PEM_rw(X509_ACERT, X509_ACERT)
-
-X509_ACERT *d2i_X509_ACERT_bio(BIO *bp, X509_ACERT **acert);
-int i2d_X509_ACERT_bio(BIO *bp, const X509_ACERT *acert);
-
-int X509_ACERT_sign(X509_ACERT *x, EVP_PKEY *pkey, const EVP_MD *md);
-int X509_ACERT_sign_ctx(X509_ACERT *x, EVP_MD_CTX *ctx);
-int X509_ACERT_verify(X509_ACERT *a, EVP_PKEY *r);
-
-# define X509_ACERT_VERSION_2 1
-
-const GENERAL_NAMES *X509_ACERT_get0_holder_entityName(const X509_ACERT *x);
-const OSSL_ISSUER_SERIAL *X509_ACERT_get0_holder_baseCertId(const X509_ACERT *x);
-const OSSL_OBJECT_DIGEST_INFO * X509_ACERT_get0_holder_digest(const X509_ACERT *x);
-const X509_NAME *X509_ACERT_get0_issuerName(const X509_ACERT *x);
-long X509_ACERT_get_version(const X509_ACERT *x);
-void X509_ACERT_get0_signature(const X509_ACERT *x,
-                               const ASN1_BIT_STRING **psig,
-                               const X509_ALGOR **palg);
-int X509_ACERT_get_signature_nid(const X509_ACERT *x);
-const X509_ALGOR *X509_ACERT_get0_info_sigalg(const X509_ACERT *x);
-const ASN1_INTEGER *X509_ACERT_get0_serialNumber(const X509_ACERT *x);
-const ASN1_TIME *X509_ACERT_get0_notBefore(const X509_ACERT *x);
-const ASN1_TIME *X509_ACERT_get0_notAfter(const X509_ACERT *x);
-const ASN1_BIT_STRING *X509_ACERT_get0_issuerUID(const X509_ACERT *x);
-
-int X509_ACERT_print(BIO *bp, X509_ACERT *x);
-int X509_ACERT_print_ex(BIO *bp, X509_ACERT *x, unsigned long nmflags,
-                        unsigned long cflag);
-
-int X509_ACERT_get_attr_count(const X509_ACERT *x);
-int X509_ACERT_get_attr_by_NID(const X509_ACERT *x, int nid, int lastpos);
-int X509_ACERT_get_attr_by_OBJ(const X509_ACERT *x, const ASN1_OBJECT *obj,
-                               int lastpos);
-X509_ATTRIBUTE *X509_ACERT_get_attr(const X509_ACERT *x, int loc);
-X509_ATTRIBUTE *X509_ACERT_delete_attr(X509_ACERT *x, int loc);
-
-void *X509_ACERT_get_ext_d2i(const X509_ACERT *x, int nid, int *crit, int *idx);
-int X509_ACERT_add1_ext_i2d(X509_ACERT *x, int nid, void *value, int crit,
-                            unsigned long flags);
-const STACK_OF(X509_EXTENSION) *X509_ACERT_get0_extensions(const X509_ACERT *x);
-
-# define OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY        0
-# define OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY_CERT   1
-# define OSSL_OBJECT_DIGEST_INFO_OTHER             2  /* must not be used in RFC 5755 profile */
-int X509_ACERT_set_version(X509_ACERT *x, long version);
-void X509_ACERT_set0_holder_entityName(X509_ACERT *x, GENERAL_NAMES *name);
-void X509_ACERT_set0_holder_baseCertId(X509_ACERT *x, OSSL_ISSUER_SERIAL *isss);
-void X509_ACERT_set0_holder_digest(X509_ACERT *x,
-                                   OSSL_OBJECT_DIGEST_INFO *dinfo);
-
-int X509_ACERT_add1_attr(X509_ACERT *x, X509_ATTRIBUTE *attr);
-int X509_ACERT_add1_attr_by_OBJ(X509_ACERT *x, const ASN1_OBJECT *obj,
-                                int type, const void *bytes, int len);
-int X509_ACERT_add1_attr_by_NID(X509_ACERT *x, int nid, int type,
-                                const void *bytes, int len);
-int X509_ACERT_add1_attr_by_txt(X509_ACERT *x, const char *attrname, int type,
-                                const unsigned char *bytes, int len);
-int X509_ACERT_add_attr_nconf(CONF *conf, const char *section,
-                              X509_ACERT *acert);
-
-int X509_ACERT_set1_issuerName(X509_ACERT *x, const X509_NAME *name);
-int X509_ACERT_set1_serialNumber(X509_ACERT *x, const ASN1_INTEGER *serial);
-int X509_ACERT_set1_notBefore(X509_ACERT *x, const ASN1_GENERALIZEDTIME *time);
-int X509_ACERT_set1_notAfter(X509_ACERT *x, const ASN1_GENERALIZEDTIME *time);
-
-void OSSL_OBJECT_DIGEST_INFO_get0_digest(const OSSL_OBJECT_DIGEST_INFO *o,
-                                         int *digestedObjectType,
-                                         const X509_ALGOR **digestAlgorithm,
-                                         const ASN1_BIT_STRING **digest);
-
-int OSSL_OBJECT_DIGEST_INFO_set1_digest(OSSL_OBJECT_DIGEST_INFO *o,
-                                        int digestedObjectType,
-                                        X509_ALGOR *digestAlgorithm,
-                                        ASN1_BIT_STRING *digest);
-
-const X509_NAME *OSSL_ISSUER_SERIAL_get0_issuer(const OSSL_ISSUER_SERIAL *isss);
-const ASN1_INTEGER *OSSL_ISSUER_SERIAL_get0_serial(const OSSL_ISSUER_SERIAL *isss);
-const ASN1_BIT_STRING *OSSL_ISSUER_SERIAL_get0_issuerUID(const OSSL_ISSUER_SERIAL *isss);
-
-int OSSL_ISSUER_SERIAL_set1_issuer(OSSL_ISSUER_SERIAL *isss,
-                                   const X509_NAME *issuer);
-int OSSL_ISSUER_SERIAL_set1_serial(OSSL_ISSUER_SERIAL *isss,
-                                   const ASN1_INTEGER *serial);
-int OSSL_ISSUER_SERIAL_set1_issuerUID(OSSL_ISSUER_SERIAL *isss,
-                                   const ASN1_BIT_STRING *uid);
-
-# define OSSL_IETFAS_OCTETS     0
-# define OSSL_IETFAS_OID        1
-# define OSSL_IETFAS_STRING     2
-
-typedef struct OSSL_IETF_ATTR_SYNTAX_VALUE_st OSSL_IETF_ATTR_SYNTAX_VALUE;
-typedef struct OSSL_IETF_ATTR_SYNTAX_st OSSL_IETF_ATTR_SYNTAX;
-{-
-    generate_stack_macros("OSSL_IETF_ATTR_SYNTAX_VALUE");
--}
-
-DECLARE_ASN1_ITEM(OSSL_IETF_ATTR_SYNTAX_VALUE)
-DECLARE_ASN1_ALLOC_FUNCTIONS(OSSL_IETF_ATTR_SYNTAX_VALUE)
-DECLARE_ASN1_FUNCTIONS(OSSL_IETF_ATTR_SYNTAX)
-
-const GENERAL_NAMES *
-OSSL_IETF_ATTR_SYNTAX_get0_policyAuthority(const OSSL_IETF_ATTR_SYNTAX *a);
-void OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority(OSSL_IETF_ATTR_SYNTAX *a,
-		                                        GENERAL_NAMES *names);
-
-int OSSL_IETF_ATTR_SYNTAX_get_value_num(const OSSL_IETF_ATTR_SYNTAX *a);
-void *OSSL_IETF_ATTR_SYNTAX_get0_value(const OSSL_IETF_ATTR_SYNTAX *a,
-		                               int ind, int *type);
-int OSSL_IETF_ATTR_SYNTAX_add1_value(OSSL_IETF_ATTR_SYNTAX *a, int type,
-		                             void *data);
-int OSSL_IETF_ATTR_SYNTAX_print(BIO *bp, OSSL_IETF_ATTR_SYNTAX *a, int indent);
-
-struct TARGET_CERT_st {
-    OSSL_ISSUER_SERIAL *targetCertificate;
-    GENERAL_NAME *targetName;
-    OSSL_OBJECT_DIGEST_INFO *certDigestInfo;
-};
-
-typedef struct TARGET_CERT_st OSSL_TARGET_CERT;
-
-# define OSSL_TGT_TARGET_NAME  0
-# define OSSL_TGT_TARGET_GROUP 1
-# define OSSL_TGT_TARGET_CERT  2
-
-typedef struct TARGET_st {
-    int type;
-    union {
-        GENERAL_NAME *targetName;
-        GENERAL_NAME *targetGroup;
-        OSSL_TARGET_CERT *targetCert;
-    } choice;
-} OSSL_TARGET;
-
-typedef STACK_OF(OSSL_TARGET) OSSL_TARGETS;
-typedef STACK_OF(OSSL_TARGETS) OSSL_TARGETING_INFORMATION;
-
-{-
-    generate_stack_macros("OSSL_TARGET");
--}
-
-{-
-    generate_stack_macros("OSSL_TARGETS");
--}
-
-DECLARE_ASN1_FUNCTIONS(OSSL_TARGET)
-DECLARE_ASN1_FUNCTIONS(OSSL_TARGETS)
-DECLARE_ASN1_FUNCTIONS(OSSL_TARGETING_INFORMATION)
-
-typedef STACK_OF(OSSL_ISSUER_SERIAL) OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX;
-DECLARE_ASN1_FUNCTIONS(OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX)
-
-{-
-    generate_stack_macros("OSSL_ISSUER_SERIAL");
--}
-
-#endif

+ 529 - 15
libs/openssl/include/openssl/x509v3.h

@@ -2,7 +2,7 @@
  * WARNING: do not edit!
  * Generated by makefile from include\openssl\x509v3.h.in
  *
- * Copyright 1999-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1999-2025 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
@@ -149,6 +149,11 @@ typedef struct BASIC_CONSTRAINTS_st {
     ASN1_INTEGER *pathlen;
 } BASIC_CONSTRAINTS;
 
+typedef struct OSSL_BASIC_ATTR_CONSTRAINTS_st {
+    int authority;
+    ASN1_INTEGER *pathlen;
+} OSSL_BASIC_ATTR_CONSTRAINTS;
+
 typedef struct PKEY_USAGE_PERIOD_st {
     ASN1_GENERALIZEDTIME *notBefore;
     ASN1_GENERALIZEDTIME *notAfter;
@@ -201,6 +206,8 @@ typedef struct ACCESS_DESCRIPTION_st {
     GENERAL_NAME *location;
 } ACCESS_DESCRIPTION;
 
+int GENERAL_NAME_set1_X509_NAME(GENERAL_NAME **tgt, const X509_NAME *src);
+
 SKM_DEFINE_STACK_OF_INTERNAL(ACCESS_DESCRIPTION, ACCESS_DESCRIPTION, ACCESS_DESCRIPTION)
 #define sk_ACCESS_DESCRIPTION_num(sk) OPENSSL_sk_num(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk))
 #define sk_ACCESS_DESCRIPTION_value(sk, idx) ((ACCESS_DESCRIPTION *)OPENSSL_sk_value(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk), (idx)))
@@ -297,6 +304,7 @@ typedef struct DIST_POINT_NAME_st {
 /* If relativename then this contains the full distribution point name */
     X509_NAME *dpname;
 } DIST_POINT_NAME;
+DECLARE_ASN1_DUP_FUNCTION(DIST_POINT_NAME)
 /* All existing reasons */
 # define CRLDP_ALL_REASONS       0x807f
 
@@ -662,15 +670,16 @@ struct ISSUING_DIST_POINT_st {
 # define EXFLAG_SAN_CRITICAL     0x80000
 # define EXFLAG_NO_FINGERPRINT   0x100000
 
-# define KU_DIGITAL_SIGNATURE    0x0080
-# define KU_NON_REPUDIATION      0x0040
-# define KU_KEY_ENCIPHERMENT     0x0020
-# define KU_DATA_ENCIPHERMENT    0x0010
-# define KU_KEY_AGREEMENT        0x0008
-# define KU_KEY_CERT_SIGN        0x0004
-# define KU_CRL_SIGN             0x0002
-# define KU_ENCIPHER_ONLY        0x0001
-# define KU_DECIPHER_ONLY        0x8000
+/* https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3 */
+# define KU_DIGITAL_SIGNATURE    X509v3_KU_DIGITAL_SIGNATURE
+# define KU_NON_REPUDIATION      X509v3_KU_NON_REPUDIATION
+# define KU_KEY_ENCIPHERMENT     X509v3_KU_KEY_ENCIPHERMENT
+# define KU_DATA_ENCIPHERMENT    X509v3_KU_DATA_ENCIPHERMENT
+# define KU_KEY_AGREEMENT        X509v3_KU_KEY_AGREEMENT
+# define KU_KEY_CERT_SIGN        X509v3_KU_KEY_CERT_SIGN
+# define KU_CRL_SIGN             X509v3_KU_CRL_SIGN
+# define KU_ENCIPHER_ONLY        X509v3_KU_ENCIPHER_ONLY
+# define KU_DECIPHER_ONLY        X509v3_KU_DECIPHER_ONLY
 
 # define NS_SSL_CLIENT           0x80
 # define NS_SSL_SERVER           0x40
@@ -732,7 +741,7 @@ SKM_DEFINE_STACK_OF_INTERNAL(X509_PURPOSE, X509_PURPOSE, X509_PURPOSE)
 #define sk_X509_PURPOSE_set_cmp_func(sk, cmp) ((sk_X509_PURPOSE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_compfunc_type(cmp)))
 
 
-
+# define X509_PURPOSE_DEFAULT_ANY        0
 # define X509_PURPOSE_SSL_CLIENT         1
 # define X509_PURPOSE_SSL_SERVER         2
 # define X509_PURPOSE_NS_SSL_SERVER      3
@@ -771,6 +780,7 @@ SKM_DEFINE_STACK_OF_INTERNAL(X509_PURPOSE, X509_PURPOSE, X509_PURPOSE)
 # define X509V3_ADD_SILENT               0x10
 
 DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS)
+DECLARE_ASN1_FUNCTIONS(OSSL_BASIC_ATTR_CONSTRAINTS)
 
 DECLARE_ASN1_FUNCTIONS(SXNET)
 DECLARE_ASN1_FUNCTIONS(SXNETID)
@@ -980,7 +990,6 @@ int X509V3_extensions_print(BIO *out, const char *title,
 int X509_check_ca(X509 *x);
 int X509_check_purpose(X509 *x, int id, int ca);
 int X509_supported_extension(X509_EXTENSION *ex);
-int X509_PURPOSE_set(int *p, int purpose);
 int X509_check_issued(X509 *issuer, X509 *subject);
 int X509_check_akid(const X509 *issuer, const AUTHORITY_KEYID *akid);
 void X509_set_proxy_flag(X509 *x);
@@ -996,22 +1005,26 @@ const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x);
 const ASN1_INTEGER *X509_get0_authority_serial(X509 *x);
 
 int X509_PURPOSE_get_count(void);
-X509_PURPOSE *X509_PURPOSE_get0(int idx);
+int X509_PURPOSE_get_unused_id(OSSL_LIB_CTX *libctx);
 int X509_PURPOSE_get_by_sname(const char *sname);
 int X509_PURPOSE_get_by_id(int id);
 int X509_PURPOSE_add(int id, int trust, int flags,
                      int (*ck) (const X509_PURPOSE *, const X509 *, int),
                      const char *name, const char *sname, void *arg);
+void X509_PURPOSE_cleanup(void);
+
+X509_PURPOSE *X509_PURPOSE_get0(int idx);
+int X509_PURPOSE_get_id(const X509_PURPOSE *);
 char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp);
 char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp);
 int X509_PURPOSE_get_trust(const X509_PURPOSE *xp);
-void X509_PURPOSE_cleanup(void);
-int X509_PURPOSE_get_id(const X509_PURPOSE *);
+int X509_PURPOSE_set(int *p, int purpose);
 
 STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x);
 STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x);
 void X509_email_free(STACK_OF(OPENSSL_STRING) *sk);
 STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x);
+
 /* Flags for X509_check_* functions */
 
 /*
@@ -1448,6 +1461,507 @@ const ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber(
 void PROFESSION_INFO_set0_registrationNumber(
     PROFESSION_INFO *pi, ASN1_PRINTABLESTRING *rn);
 
+int OSSL_GENERAL_NAMES_print(BIO *out, GENERAL_NAMES *gens, int indent);
+
+typedef STACK_OF(X509_ATTRIBUTE) OSSL_ATTRIBUTES_SYNTAX;
+DECLARE_ASN1_FUNCTIONS(OSSL_ATTRIBUTES_SYNTAX)
+
+typedef STACK_OF(USERNOTICE) OSSL_USER_NOTICE_SYNTAX;
+DECLARE_ASN1_FUNCTIONS(OSSL_USER_NOTICE_SYNTAX)
+
+SKM_DEFINE_STACK_OF_INTERNAL(USERNOTICE, USERNOTICE, USERNOTICE)
+#define sk_USERNOTICE_num(sk) OPENSSL_sk_num(ossl_check_const_USERNOTICE_sk_type(sk))
+#define sk_USERNOTICE_value(sk, idx) ((USERNOTICE *)OPENSSL_sk_value(ossl_check_const_USERNOTICE_sk_type(sk), (idx)))
+#define sk_USERNOTICE_new(cmp) ((STACK_OF(USERNOTICE) *)OPENSSL_sk_new(ossl_check_USERNOTICE_compfunc_type(cmp)))
+#define sk_USERNOTICE_new_null() ((STACK_OF(USERNOTICE) *)OPENSSL_sk_new_null())
+#define sk_USERNOTICE_new_reserve(cmp, n) ((STACK_OF(USERNOTICE) *)OPENSSL_sk_new_reserve(ossl_check_USERNOTICE_compfunc_type(cmp), (n)))
+#define sk_USERNOTICE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_USERNOTICE_sk_type(sk), (n))
+#define sk_USERNOTICE_free(sk) OPENSSL_sk_free(ossl_check_USERNOTICE_sk_type(sk))
+#define sk_USERNOTICE_zero(sk) OPENSSL_sk_zero(ossl_check_USERNOTICE_sk_type(sk))
+#define sk_USERNOTICE_delete(sk, i) ((USERNOTICE *)OPENSSL_sk_delete(ossl_check_USERNOTICE_sk_type(sk), (i)))
+#define sk_USERNOTICE_delete_ptr(sk, ptr) ((USERNOTICE *)OPENSSL_sk_delete_ptr(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_type(ptr)))
+#define sk_USERNOTICE_push(sk, ptr) OPENSSL_sk_push(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_type(ptr))
+#define sk_USERNOTICE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_type(ptr))
+#define sk_USERNOTICE_pop(sk) ((USERNOTICE *)OPENSSL_sk_pop(ossl_check_USERNOTICE_sk_type(sk)))
+#define sk_USERNOTICE_shift(sk) ((USERNOTICE *)OPENSSL_sk_shift(ossl_check_USERNOTICE_sk_type(sk)))
+#define sk_USERNOTICE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_USERNOTICE_sk_type(sk),ossl_check_USERNOTICE_freefunc_type(freefunc))
+#define sk_USERNOTICE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_type(ptr), (idx))
+#define sk_USERNOTICE_set(sk, idx, ptr) ((USERNOTICE *)OPENSSL_sk_set(ossl_check_USERNOTICE_sk_type(sk), (idx), ossl_check_USERNOTICE_type(ptr)))
+#define sk_USERNOTICE_find(sk, ptr) OPENSSL_sk_find(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_type(ptr))
+#define sk_USERNOTICE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_type(ptr))
+#define sk_USERNOTICE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_type(ptr), pnum)
+#define sk_USERNOTICE_sort(sk) OPENSSL_sk_sort(ossl_check_USERNOTICE_sk_type(sk))
+#define sk_USERNOTICE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_USERNOTICE_sk_type(sk))
+#define sk_USERNOTICE_dup(sk) ((STACK_OF(USERNOTICE) *)OPENSSL_sk_dup(ossl_check_const_USERNOTICE_sk_type(sk)))
+#define sk_USERNOTICE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(USERNOTICE) *)OPENSSL_sk_deep_copy(ossl_check_const_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_copyfunc_type(copyfunc), ossl_check_USERNOTICE_freefunc_type(freefunc)))
+#define sk_USERNOTICE_set_cmp_func(sk, cmp) ((sk_USERNOTICE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_USERNOTICE_sk_type(sk), ossl_check_USERNOTICE_compfunc_type(cmp)))
+
+
+typedef struct OSSL_ROLE_SPEC_CERT_ID_st {
+    GENERAL_NAME *roleName;
+    GENERAL_NAME *roleCertIssuer;
+    ASN1_INTEGER *roleCertSerialNumber;
+    GENERAL_NAMES *roleCertLocator;
+} OSSL_ROLE_SPEC_CERT_ID;
+
+DECLARE_ASN1_FUNCTIONS(OSSL_ROLE_SPEC_CERT_ID)
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ROLE_SPEC_CERT_ID, OSSL_ROLE_SPEC_CERT_ID, OSSL_ROLE_SPEC_CERT_ID)
+#define sk_OSSL_ROLE_SPEC_CERT_ID_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_value(sk, idx) ((OSSL_ROLE_SPEC_CERT_ID *)OPENSSL_sk_value(ossl_check_const_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), (idx)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_new(cmp) ((STACK_OF(OSSL_ROLE_SPEC_CERT_ID) *)OPENSSL_sk_new(ossl_check_OSSL_ROLE_SPEC_CERT_ID_compfunc_type(cmp)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_new_null() ((STACK_OF(OSSL_ROLE_SPEC_CERT_ID) *)OPENSSL_sk_new_null())
+#define sk_OSSL_ROLE_SPEC_CERT_ID_new_reserve(cmp, n) ((STACK_OF(OSSL_ROLE_SPEC_CERT_ID) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_ROLE_SPEC_CERT_ID_compfunc_type(cmp), (n)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), (n))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_free(sk) OPENSSL_sk_free(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_delete(sk, i) ((OSSL_ROLE_SPEC_CERT_ID *)OPENSSL_sk_delete(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), (i)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_delete_ptr(sk, ptr) ((OSSL_ROLE_SPEC_CERT_ID *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_pop(sk) ((OSSL_ROLE_SPEC_CERT_ID *)OPENSSL_sk_pop(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_shift(sk) ((OSSL_ROLE_SPEC_CERT_ID *)OPENSSL_sk_shift(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk),ossl_check_OSSL_ROLE_SPEC_CERT_ID_freefunc_type(freefunc))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr), (idx))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_set(sk, idx, ptr) ((OSSL_ROLE_SPEC_CERT_ID *)OPENSSL_sk_set(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), (idx), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_type(ptr), pnum)
+#define sk_OSSL_ROLE_SPEC_CERT_ID_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_dup(sk) ((STACK_OF(OSSL_ROLE_SPEC_CERT_ID) *)OPENSSL_sk_dup(ossl_check_const_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_ROLE_SPEC_CERT_ID) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_copyfunc_type(copyfunc), ossl_check_OSSL_ROLE_SPEC_CERT_ID_freefunc_type(freefunc)))
+#define sk_OSSL_ROLE_SPEC_CERT_ID_set_cmp_func(sk, cmp) ((sk_OSSL_ROLE_SPEC_CERT_ID_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_ROLE_SPEC_CERT_ID_sk_type(sk), ossl_check_OSSL_ROLE_SPEC_CERT_ID_compfunc_type(cmp)))
+
+
+typedef STACK_OF(OSSL_ROLE_SPEC_CERT_ID) OSSL_ROLE_SPEC_CERT_ID_SYNTAX;
+
+DECLARE_ASN1_FUNCTIONS(OSSL_ROLE_SPEC_CERT_ID_SYNTAX)
+typedef struct OSSL_HASH_st {
+    X509_ALGOR *algorithmIdentifier;
+    ASN1_BIT_STRING *hashValue;
+} OSSL_HASH;
+
+typedef struct OSSL_INFO_SYNTAX_POINTER_st {
+    GENERAL_NAMES *name;
+    OSSL_HASH *hash;
+} OSSL_INFO_SYNTAX_POINTER;
+
+# define OSSL_INFO_SYNTAX_TYPE_CONTENT 0
+# define OSSL_INFO_SYNTAX_TYPE_POINTER 1
+
+typedef struct OSSL_INFO_SYNTAX_st {
+    int type;
+    union {
+        ASN1_STRING *content;
+        OSSL_INFO_SYNTAX_POINTER *pointer;
+    } choice;
+} OSSL_INFO_SYNTAX;
+
+typedef struct OSSL_PRIVILEGE_POLICY_ID_st {
+    ASN1_OBJECT *privilegePolicy;
+    OSSL_INFO_SYNTAX *privPolSyntax;
+} OSSL_PRIVILEGE_POLICY_ID;
+
+typedef struct OSSL_ATTRIBUTE_DESCRIPTOR_st {
+    ASN1_OBJECT *identifier;
+    ASN1_STRING *attributeSyntax;
+    ASN1_UTF8STRING *name;
+    ASN1_UTF8STRING *description;
+    OSSL_PRIVILEGE_POLICY_ID *dominationRule;
+} OSSL_ATTRIBUTE_DESCRIPTOR;
+
+DECLARE_ASN1_FUNCTIONS(OSSL_HASH)
+DECLARE_ASN1_FUNCTIONS(OSSL_INFO_SYNTAX)
+DECLARE_ASN1_FUNCTIONS(OSSL_INFO_SYNTAX_POINTER)
+DECLARE_ASN1_FUNCTIONS(OSSL_PRIVILEGE_POLICY_ID)
+DECLARE_ASN1_FUNCTIONS(OSSL_ATTRIBUTE_DESCRIPTOR)
+
+typedef struct OSSL_TIME_SPEC_ABSOLUTE_st {
+    ASN1_GENERALIZEDTIME *startTime;
+    ASN1_GENERALIZEDTIME *endTime;
+} OSSL_TIME_SPEC_ABSOLUTE;
+
+typedef struct OSSL_DAY_TIME_st {
+    ASN1_INTEGER *hour;
+    ASN1_INTEGER *minute;
+    ASN1_INTEGER *second;
+} OSSL_DAY_TIME;
+
+typedef struct OSSL_DAY_TIME_BAND_st {
+    OSSL_DAY_TIME *startDayTime;
+    OSSL_DAY_TIME *endDayTime;
+} OSSL_DAY_TIME_BAND;
+
+# define OSSL_NAMED_DAY_TYPE_INT 0
+# define OSSL_NAMED_DAY_TYPE_BIT 1
+# define OSSL_NAMED_DAY_INT_SUN 1
+# define OSSL_NAMED_DAY_INT_MON 2
+# define OSSL_NAMED_DAY_INT_TUE 3
+# define OSSL_NAMED_DAY_INT_WED 4
+# define OSSL_NAMED_DAY_INT_THU 5
+# define OSSL_NAMED_DAY_INT_FRI 6
+# define OSSL_NAMED_DAY_INT_SAT 7
+# define OSSL_NAMED_DAY_BIT_SUN 0
+# define OSSL_NAMED_DAY_BIT_MON 1
+# define OSSL_NAMED_DAY_BIT_TUE 2
+# define OSSL_NAMED_DAY_BIT_WED 3
+# define OSSL_NAMED_DAY_BIT_THU 4
+# define OSSL_NAMED_DAY_BIT_FRI 5
+# define OSSL_NAMED_DAY_BIT_SAT 6
+
+typedef struct OSSL_NAMED_DAY_st {
+    int type;
+    union {
+        ASN1_INTEGER *intNamedDays;
+        ASN1_BIT_STRING *bitNamedDays;
+    } choice;
+} OSSL_NAMED_DAY;
+
+# define OSSL_TIME_SPEC_X_DAY_OF_FIRST 0
+# define OSSL_TIME_SPEC_X_DAY_OF_SECOND 1
+# define OSSL_TIME_SPEC_X_DAY_OF_THIRD 2
+# define OSSL_TIME_SPEC_X_DAY_OF_FOURTH 3
+# define OSSL_TIME_SPEC_X_DAY_OF_FIFTH 4
+
+typedef struct OSSL_TIME_SPEC_X_DAY_OF_st {
+    int type;
+    union {
+        OSSL_NAMED_DAY *first;
+        OSSL_NAMED_DAY *second;
+        OSSL_NAMED_DAY *third;
+        OSSL_NAMED_DAY *fourth;
+        OSSL_NAMED_DAY *fifth;
+    } choice;
+} OSSL_TIME_SPEC_X_DAY_OF;
+
+# define OSSL_TIME_SPEC_DAY_TYPE_INT 0
+# define OSSL_TIME_SPEC_DAY_TYPE_BIT 1
+# define OSSL_TIME_SPEC_DAY_TYPE_DAY_OF 2
+# define OSSL_TIME_SPEC_DAY_BIT_SUN 0
+# define OSSL_TIME_SPEC_DAY_BIT_MON 1
+# define OSSL_TIME_SPEC_DAY_BIT_TUE 2
+# define OSSL_TIME_SPEC_DAY_BIT_WED 3
+# define OSSL_TIME_SPEC_DAY_BIT_THU 4
+# define OSSL_TIME_SPEC_DAY_BIT_FRI 5
+# define OSSL_TIME_SPEC_DAY_BIT_SAT 6
+# define OSSL_TIME_SPEC_DAY_INT_SUN 1
+# define OSSL_TIME_SPEC_DAY_INT_MON 2
+# define OSSL_TIME_SPEC_DAY_INT_TUE 3
+# define OSSL_TIME_SPEC_DAY_INT_WED 4
+# define OSSL_TIME_SPEC_DAY_INT_THU 5
+# define OSSL_TIME_SPEC_DAY_INT_FRI 6
+# define OSSL_TIME_SPEC_DAY_INT_SAT 7
+
+typedef struct OSSL_TIME_SPEC_DAY_st {
+    int type;
+    union {
+        STACK_OF(ASN1_INTEGER) *intDay;
+        ASN1_BIT_STRING *bitDay;
+        OSSL_TIME_SPEC_X_DAY_OF *dayOf;
+    } choice;
+} OSSL_TIME_SPEC_DAY;
+
+# define OSSL_TIME_SPEC_WEEKS_TYPE_ALL 0
+# define OSSL_TIME_SPEC_WEEKS_TYPE_INT 1
+# define OSSL_TIME_SPEC_WEEKS_TYPE_BIT 2
+# define OSSL_TIME_SPEC_BIT_WEEKS_1 0
+# define OSSL_TIME_SPEC_BIT_WEEKS_2 1
+# define OSSL_TIME_SPEC_BIT_WEEKS_3 2
+# define OSSL_TIME_SPEC_BIT_WEEKS_4 3
+# define OSSL_TIME_SPEC_BIT_WEEKS_5 4
+
+typedef struct OSSL_TIME_SPEC_WEEKS_st {
+    int type;
+    union {
+        ASN1_NULL *allWeeks;
+        STACK_OF(ASN1_INTEGER) *intWeek;
+        ASN1_BIT_STRING *bitWeek;
+    } choice;
+} OSSL_TIME_SPEC_WEEKS;
+
+# define OSSL_TIME_SPEC_MONTH_TYPE_ALL 0
+# define OSSL_TIME_SPEC_MONTH_TYPE_INT 1
+# define OSSL_TIME_SPEC_MONTH_TYPE_BIT 2
+# define OSSL_TIME_SPEC_INT_MONTH_JAN 1
+# define OSSL_TIME_SPEC_INT_MONTH_FEB 2
+# define OSSL_TIME_SPEC_INT_MONTH_MAR 3
+# define OSSL_TIME_SPEC_INT_MONTH_APR 4
+# define OSSL_TIME_SPEC_INT_MONTH_MAY 5
+# define OSSL_TIME_SPEC_INT_MONTH_JUN 6
+# define OSSL_TIME_SPEC_INT_MONTH_JUL 7
+# define OSSL_TIME_SPEC_INT_MONTH_AUG 8
+# define OSSL_TIME_SPEC_INT_MONTH_SEP 9
+# define OSSL_TIME_SPEC_INT_MONTH_OCT 10
+# define OSSL_TIME_SPEC_INT_MONTH_NOV 11
+# define OSSL_TIME_SPEC_INT_MONTH_DEC 12
+# define OSSL_TIME_SPEC_BIT_MONTH_JAN 0
+# define OSSL_TIME_SPEC_BIT_MONTH_FEB 1
+# define OSSL_TIME_SPEC_BIT_MONTH_MAR 2
+# define OSSL_TIME_SPEC_BIT_MONTH_APR 3
+# define OSSL_TIME_SPEC_BIT_MONTH_MAY 4
+# define OSSL_TIME_SPEC_BIT_MONTH_JUN 5
+# define OSSL_TIME_SPEC_BIT_MONTH_JUL 6
+# define OSSL_TIME_SPEC_BIT_MONTH_AUG 7
+# define OSSL_TIME_SPEC_BIT_MONTH_SEP 8
+# define OSSL_TIME_SPEC_BIT_MONTH_OCT 9
+# define OSSL_TIME_SPEC_BIT_MONTH_NOV 10
+# define OSSL_TIME_SPEC_BIT_MONTH_DEC 11
+
+typedef struct OSSL_TIME_SPEC_MONTH_st {
+    int type;
+    union {
+        ASN1_NULL *allMonths;
+        STACK_OF(ASN1_INTEGER) *intMonth;
+        ASN1_BIT_STRING *bitMonth;
+    } choice;
+} OSSL_TIME_SPEC_MONTH;
+
+typedef struct OSSL_TIME_PERIOD_st {
+    STACK_OF(OSSL_DAY_TIME_BAND) *timesOfDay;
+    OSSL_TIME_SPEC_DAY *days;
+    OSSL_TIME_SPEC_WEEKS *weeks;
+    OSSL_TIME_SPEC_MONTH *months;
+    STACK_OF(ASN1_INTEGER) *years;
+} OSSL_TIME_PERIOD;
+
+# define OSSL_TIME_SPEC_TIME_TYPE_ABSOLUTE 0
+# define OSSL_TIME_SPEC_TIME_TYPE_PERIODIC 1
+
+typedef struct OSSL_TIME_SPEC_TIME_st {
+    int type;
+    union {
+        OSSL_TIME_SPEC_ABSOLUTE *absolute;
+        STACK_OF(OSSL_TIME_PERIOD) *periodic;
+    } choice;
+} OSSL_TIME_SPEC_TIME;
+
+typedef struct OSSL_TIME_SPEC_st {
+    OSSL_TIME_SPEC_TIME *time;
+    ASN1_BOOLEAN notThisTime;
+    ASN1_INTEGER *timeZone;
+} OSSL_TIME_SPEC;
+
+DECLARE_ASN1_FUNCTIONS(OSSL_DAY_TIME)
+DECLARE_ASN1_FUNCTIONS(OSSL_DAY_TIME_BAND)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_SPEC_DAY)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_SPEC_WEEKS)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_SPEC_MONTH)
+DECLARE_ASN1_FUNCTIONS(OSSL_NAMED_DAY)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_SPEC_X_DAY_OF)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_SPEC_ABSOLUTE)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_SPEC_TIME)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_SPEC)
+DECLARE_ASN1_FUNCTIONS(OSSL_TIME_PERIOD)
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_TIME_PERIOD, OSSL_TIME_PERIOD, OSSL_TIME_PERIOD)
+#define sk_OSSL_TIME_PERIOD_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_TIME_PERIOD_sk_type(sk))
+#define sk_OSSL_TIME_PERIOD_value(sk, idx) ((OSSL_TIME_PERIOD *)OPENSSL_sk_value(ossl_check_const_OSSL_TIME_PERIOD_sk_type(sk), (idx)))
+#define sk_OSSL_TIME_PERIOD_new(cmp) ((STACK_OF(OSSL_TIME_PERIOD) *)OPENSSL_sk_new(ossl_check_OSSL_TIME_PERIOD_compfunc_type(cmp)))
+#define sk_OSSL_TIME_PERIOD_new_null() ((STACK_OF(OSSL_TIME_PERIOD) *)OPENSSL_sk_new_null())
+#define sk_OSSL_TIME_PERIOD_new_reserve(cmp, n) ((STACK_OF(OSSL_TIME_PERIOD) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_TIME_PERIOD_compfunc_type(cmp), (n)))
+#define sk_OSSL_TIME_PERIOD_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), (n))
+#define sk_OSSL_TIME_PERIOD_free(sk) OPENSSL_sk_free(ossl_check_OSSL_TIME_PERIOD_sk_type(sk))
+#define sk_OSSL_TIME_PERIOD_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_TIME_PERIOD_sk_type(sk))
+#define sk_OSSL_TIME_PERIOD_delete(sk, i) ((OSSL_TIME_PERIOD *)OPENSSL_sk_delete(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), (i)))
+#define sk_OSSL_TIME_PERIOD_delete_ptr(sk, ptr) ((OSSL_TIME_PERIOD *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_type(ptr)))
+#define sk_OSSL_TIME_PERIOD_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_type(ptr))
+#define sk_OSSL_TIME_PERIOD_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_type(ptr))
+#define sk_OSSL_TIME_PERIOD_pop(sk) ((OSSL_TIME_PERIOD *)OPENSSL_sk_pop(ossl_check_OSSL_TIME_PERIOD_sk_type(sk)))
+#define sk_OSSL_TIME_PERIOD_shift(sk) ((OSSL_TIME_PERIOD *)OPENSSL_sk_shift(ossl_check_OSSL_TIME_PERIOD_sk_type(sk)))
+#define sk_OSSL_TIME_PERIOD_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_TIME_PERIOD_sk_type(sk),ossl_check_OSSL_TIME_PERIOD_freefunc_type(freefunc))
+#define sk_OSSL_TIME_PERIOD_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_type(ptr), (idx))
+#define sk_OSSL_TIME_PERIOD_set(sk, idx, ptr) ((OSSL_TIME_PERIOD *)OPENSSL_sk_set(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), (idx), ossl_check_OSSL_TIME_PERIOD_type(ptr)))
+#define sk_OSSL_TIME_PERIOD_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_type(ptr))
+#define sk_OSSL_TIME_PERIOD_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_type(ptr))
+#define sk_OSSL_TIME_PERIOD_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_type(ptr), pnum)
+#define sk_OSSL_TIME_PERIOD_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_TIME_PERIOD_sk_type(sk))
+#define sk_OSSL_TIME_PERIOD_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_TIME_PERIOD_sk_type(sk))
+#define sk_OSSL_TIME_PERIOD_dup(sk) ((STACK_OF(OSSL_TIME_PERIOD) *)OPENSSL_sk_dup(ossl_check_const_OSSL_TIME_PERIOD_sk_type(sk)))
+#define sk_OSSL_TIME_PERIOD_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_TIME_PERIOD) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_copyfunc_type(copyfunc), ossl_check_OSSL_TIME_PERIOD_freefunc_type(freefunc)))
+#define sk_OSSL_TIME_PERIOD_set_cmp_func(sk, cmp) ((sk_OSSL_TIME_PERIOD_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_TIME_PERIOD_sk_type(sk), ossl_check_OSSL_TIME_PERIOD_compfunc_type(cmp)))
+
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_DAY_TIME_BAND, OSSL_DAY_TIME_BAND, OSSL_DAY_TIME_BAND)
+#define sk_OSSL_DAY_TIME_BAND_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_DAY_TIME_BAND_sk_type(sk))
+#define sk_OSSL_DAY_TIME_BAND_value(sk, idx) ((OSSL_DAY_TIME_BAND *)OPENSSL_sk_value(ossl_check_const_OSSL_DAY_TIME_BAND_sk_type(sk), (idx)))
+#define sk_OSSL_DAY_TIME_BAND_new(cmp) ((STACK_OF(OSSL_DAY_TIME_BAND) *)OPENSSL_sk_new(ossl_check_OSSL_DAY_TIME_BAND_compfunc_type(cmp)))
+#define sk_OSSL_DAY_TIME_BAND_new_null() ((STACK_OF(OSSL_DAY_TIME_BAND) *)OPENSSL_sk_new_null())
+#define sk_OSSL_DAY_TIME_BAND_new_reserve(cmp, n) ((STACK_OF(OSSL_DAY_TIME_BAND) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_DAY_TIME_BAND_compfunc_type(cmp), (n)))
+#define sk_OSSL_DAY_TIME_BAND_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), (n))
+#define sk_OSSL_DAY_TIME_BAND_free(sk) OPENSSL_sk_free(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk))
+#define sk_OSSL_DAY_TIME_BAND_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk))
+#define sk_OSSL_DAY_TIME_BAND_delete(sk, i) ((OSSL_DAY_TIME_BAND *)OPENSSL_sk_delete(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), (i)))
+#define sk_OSSL_DAY_TIME_BAND_delete_ptr(sk, ptr) ((OSSL_DAY_TIME_BAND *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_type(ptr)))
+#define sk_OSSL_DAY_TIME_BAND_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_type(ptr))
+#define sk_OSSL_DAY_TIME_BAND_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_type(ptr))
+#define sk_OSSL_DAY_TIME_BAND_pop(sk) ((OSSL_DAY_TIME_BAND *)OPENSSL_sk_pop(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk)))
+#define sk_OSSL_DAY_TIME_BAND_shift(sk) ((OSSL_DAY_TIME_BAND *)OPENSSL_sk_shift(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk)))
+#define sk_OSSL_DAY_TIME_BAND_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk),ossl_check_OSSL_DAY_TIME_BAND_freefunc_type(freefunc))
+#define sk_OSSL_DAY_TIME_BAND_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_type(ptr), (idx))
+#define sk_OSSL_DAY_TIME_BAND_set(sk, idx, ptr) ((OSSL_DAY_TIME_BAND *)OPENSSL_sk_set(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), (idx), ossl_check_OSSL_DAY_TIME_BAND_type(ptr)))
+#define sk_OSSL_DAY_TIME_BAND_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_type(ptr))
+#define sk_OSSL_DAY_TIME_BAND_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_type(ptr))
+#define sk_OSSL_DAY_TIME_BAND_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_type(ptr), pnum)
+#define sk_OSSL_DAY_TIME_BAND_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk))
+#define sk_OSSL_DAY_TIME_BAND_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_DAY_TIME_BAND_sk_type(sk))
+#define sk_OSSL_DAY_TIME_BAND_dup(sk) ((STACK_OF(OSSL_DAY_TIME_BAND) *)OPENSSL_sk_dup(ossl_check_const_OSSL_DAY_TIME_BAND_sk_type(sk)))
+#define sk_OSSL_DAY_TIME_BAND_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_DAY_TIME_BAND) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_copyfunc_type(copyfunc), ossl_check_OSSL_DAY_TIME_BAND_freefunc_type(freefunc)))
+#define sk_OSSL_DAY_TIME_BAND_set_cmp_func(sk, cmp) ((sk_OSSL_DAY_TIME_BAND_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_DAY_TIME_BAND_sk_type(sk), ossl_check_OSSL_DAY_TIME_BAND_compfunc_type(cmp)))
+
+
+/* Attribute Type and Value */
+typedef struct atav_st {
+    ASN1_OBJECT *type;
+    ASN1_TYPE *value;
+} OSSL_ATAV;
+
+typedef struct ATTRIBUTE_TYPE_MAPPING_st {
+    ASN1_OBJECT *local;
+    ASN1_OBJECT *remote;
+} OSSL_ATTRIBUTE_TYPE_MAPPING;
+
+typedef struct ATTRIBUTE_VALUE_MAPPING_st {
+    OSSL_ATAV *local;
+    OSSL_ATAV *remote;
+} OSSL_ATTRIBUTE_VALUE_MAPPING;
+
+# define OSSL_ATTR_MAP_TYPE   0
+# define OSSL_ATTR_MAP_VALUE  1
+
+typedef struct ATTRIBUTE_MAPPING_st {
+    int type;
+    union {
+        OSSL_ATTRIBUTE_TYPE_MAPPING *typeMappings;
+        OSSL_ATTRIBUTE_VALUE_MAPPING *typeValueMappings;
+    } choice;
+} OSSL_ATTRIBUTE_MAPPING;
+
+typedef STACK_OF(OSSL_ATTRIBUTE_MAPPING) OSSL_ATTRIBUTE_MAPPINGS;
+DECLARE_ASN1_FUNCTIONS(OSSL_ATAV)
+DECLARE_ASN1_FUNCTIONS(OSSL_ATTRIBUTE_TYPE_MAPPING)
+DECLARE_ASN1_FUNCTIONS(OSSL_ATTRIBUTE_VALUE_MAPPING)
+DECLARE_ASN1_FUNCTIONS(OSSL_ATTRIBUTE_MAPPING)
+DECLARE_ASN1_FUNCTIONS(OSSL_ATTRIBUTE_MAPPINGS)
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ATTRIBUTE_MAPPING, OSSL_ATTRIBUTE_MAPPING, OSSL_ATTRIBUTE_MAPPING)
+#define sk_OSSL_ATTRIBUTE_MAPPING_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_ATTRIBUTE_MAPPING_sk_type(sk))
+#define sk_OSSL_ATTRIBUTE_MAPPING_value(sk, idx) ((OSSL_ATTRIBUTE_MAPPING *)OPENSSL_sk_value(ossl_check_const_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), (idx)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_new(cmp) ((STACK_OF(OSSL_ATTRIBUTE_MAPPING) *)OPENSSL_sk_new(ossl_check_OSSL_ATTRIBUTE_MAPPING_compfunc_type(cmp)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_new_null() ((STACK_OF(OSSL_ATTRIBUTE_MAPPING) *)OPENSSL_sk_new_null())
+#define sk_OSSL_ATTRIBUTE_MAPPING_new_reserve(cmp, n) ((STACK_OF(OSSL_ATTRIBUTE_MAPPING) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_ATTRIBUTE_MAPPING_compfunc_type(cmp), (n)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), (n))
+#define sk_OSSL_ATTRIBUTE_MAPPING_free(sk) OPENSSL_sk_free(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk))
+#define sk_OSSL_ATTRIBUTE_MAPPING_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk))
+#define sk_OSSL_ATTRIBUTE_MAPPING_delete(sk, i) ((OSSL_ATTRIBUTE_MAPPING *)OPENSSL_sk_delete(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), (i)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_delete_ptr(sk, ptr) ((OSSL_ATTRIBUTE_MAPPING *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr))
+#define sk_OSSL_ATTRIBUTE_MAPPING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr))
+#define sk_OSSL_ATTRIBUTE_MAPPING_pop(sk) ((OSSL_ATTRIBUTE_MAPPING *)OPENSSL_sk_pop(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_shift(sk) ((OSSL_ATTRIBUTE_MAPPING *)OPENSSL_sk_shift(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk),ossl_check_OSSL_ATTRIBUTE_MAPPING_freefunc_type(freefunc))
+#define sk_OSSL_ATTRIBUTE_MAPPING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr), (idx))
+#define sk_OSSL_ATTRIBUTE_MAPPING_set(sk, idx, ptr) ((OSSL_ATTRIBUTE_MAPPING *)OPENSSL_sk_set(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), (idx), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr))
+#define sk_OSSL_ATTRIBUTE_MAPPING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr))
+#define sk_OSSL_ATTRIBUTE_MAPPING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_type(ptr), pnum)
+#define sk_OSSL_ATTRIBUTE_MAPPING_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk))
+#define sk_OSSL_ATTRIBUTE_MAPPING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_ATTRIBUTE_MAPPING_sk_type(sk))
+#define sk_OSSL_ATTRIBUTE_MAPPING_dup(sk) ((STACK_OF(OSSL_ATTRIBUTE_MAPPING) *)OPENSSL_sk_dup(ossl_check_const_OSSL_ATTRIBUTE_MAPPING_sk_type(sk)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_ATTRIBUTE_MAPPING) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_copyfunc_type(copyfunc), ossl_check_OSSL_ATTRIBUTE_MAPPING_freefunc_type(freefunc)))
+#define sk_OSSL_ATTRIBUTE_MAPPING_set_cmp_func(sk, cmp) ((sk_OSSL_ATTRIBUTE_MAPPING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_ATTRIBUTE_MAPPING_sk_type(sk), ossl_check_OSSL_ATTRIBUTE_MAPPING_compfunc_type(cmp)))
+
+
+# define OSSL_AAA_ATTRIBUTE_TYPE     0
+# define OSSL_AAA_ATTRIBUTE_VALUES   1
+
+typedef struct ALLOWED_ATTRIBUTES_CHOICE_st {
+    int type;
+    union {
+        ASN1_OBJECT *attributeType;
+        X509_ATTRIBUTE *attributeTypeandValues;
+    } choice;
+} OSSL_ALLOWED_ATTRIBUTES_CHOICE;
+
+typedef struct ALLOWED_ATTRIBUTES_ITEM_st {
+    STACK_OF(OSSL_ALLOWED_ATTRIBUTES_CHOICE) *attributes;
+    GENERAL_NAME *holderDomain;
+} OSSL_ALLOWED_ATTRIBUTES_ITEM;
+
+typedef STACK_OF(OSSL_ALLOWED_ATTRIBUTES_ITEM) OSSL_ALLOWED_ATTRIBUTES_SYNTAX;
+
+DECLARE_ASN1_FUNCTIONS(OSSL_ALLOWED_ATTRIBUTES_CHOICE)
+DECLARE_ASN1_FUNCTIONS(OSSL_ALLOWED_ATTRIBUTES_ITEM)
+DECLARE_ASN1_FUNCTIONS(OSSL_ALLOWED_ATTRIBUTES_SYNTAX)
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ALLOWED_ATTRIBUTES_CHOICE, OSSL_ALLOWED_ATTRIBUTES_CHOICE, OSSL_ALLOWED_ATTRIBUTES_CHOICE)
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_value(sk, idx) ((OSSL_ALLOWED_ATTRIBUTES_CHOICE *)OPENSSL_sk_value(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), (idx)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_new(cmp) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_CHOICE) *)OPENSSL_sk_new(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_compfunc_type(cmp)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_new_null() ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_CHOICE) *)OPENSSL_sk_new_null())
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_new_reserve(cmp, n) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_CHOICE) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_compfunc_type(cmp), (n)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), (n))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_free(sk) OPENSSL_sk_free(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_delete(sk, i) ((OSSL_ALLOWED_ATTRIBUTES_CHOICE *)OPENSSL_sk_delete(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), (i)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_delete_ptr(sk, ptr) ((OSSL_ALLOWED_ATTRIBUTES_CHOICE *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_pop(sk) ((OSSL_ALLOWED_ATTRIBUTES_CHOICE *)OPENSSL_sk_pop(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_shift(sk) ((OSSL_ALLOWED_ATTRIBUTES_CHOICE *)OPENSSL_sk_shift(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk),ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_freefunc_type(freefunc))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr), (idx))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_set(sk, idx, ptr) ((OSSL_ALLOWED_ATTRIBUTES_CHOICE *)OPENSSL_sk_set(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), (idx), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_type(ptr), pnum)
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_dup(sk) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_CHOICE) *)OPENSSL_sk_dup(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_CHOICE) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_copyfunc_type(copyfunc), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_freefunc_type(freefunc)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_set_cmp_func(sk, cmp) ((sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_CHOICE_compfunc_type(cmp)))
+
+
+SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ALLOWED_ATTRIBUTES_ITEM, OSSL_ALLOWED_ATTRIBUTES_ITEM, OSSL_ALLOWED_ATTRIBUTES_ITEM)
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_value(sk, idx) ((OSSL_ALLOWED_ATTRIBUTES_ITEM *)OPENSSL_sk_value(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), (idx)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_new(cmp) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_ITEM) *)OPENSSL_sk_new(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_compfunc_type(cmp)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_new_null() ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_ITEM) *)OPENSSL_sk_new_null())
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_new_reserve(cmp, n) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_ITEM) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_compfunc_type(cmp), (n)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), (n))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_free(sk) OPENSSL_sk_free(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_delete(sk, i) ((OSSL_ALLOWED_ATTRIBUTES_ITEM *)OPENSSL_sk_delete(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), (i)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_delete_ptr(sk, ptr) ((OSSL_ALLOWED_ATTRIBUTES_ITEM *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_pop(sk) ((OSSL_ALLOWED_ATTRIBUTES_ITEM *)OPENSSL_sk_pop(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_shift(sk) ((OSSL_ALLOWED_ATTRIBUTES_ITEM *)OPENSSL_sk_shift(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk),ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_freefunc_type(freefunc))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr), (idx))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_set(sk, idx, ptr) ((OSSL_ALLOWED_ATTRIBUTES_ITEM *)OPENSSL_sk_set(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), (idx), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_type(ptr), pnum)
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_dup(sk) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_ITEM) *)OPENSSL_sk_dup(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_ALLOWED_ATTRIBUTES_ITEM) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_copyfunc_type(copyfunc), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_freefunc_type(freefunc)))
+#define sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_set_cmp_func(sk, cmp) ((sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_sk_type(sk), ossl_check_OSSL_ALLOWED_ATTRIBUTES_ITEM_compfunc_type(cmp)))
+
+
+typedef struct AA_DIST_POINT_st {
+    DIST_POINT_NAME *distpoint;
+    ASN1_BIT_STRING *reasons;
+    int dp_reasons;
+    ASN1_BOOLEAN indirectCRL;
+    ASN1_BOOLEAN containsUserAttributeCerts;
+    ASN1_BOOLEAN containsAACerts;
+    ASN1_BOOLEAN containsSOAPublicKeyCerts;
+} OSSL_AA_DIST_POINT;
+
+DECLARE_ASN1_FUNCTIONS(OSSL_AA_DIST_POINT)
+
 # ifdef  __cplusplus
 }
 # endif

+ 37 - 0
libs/openssl/providers/common/der/der_ml_dsa_gen.c

@@ -0,0 +1,37 @@
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from providers\common\der\der_ml_dsa_gen.c.in
+ *
+ * Copyright 2025 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
+ */
+
+#include "prov/der_ml_dsa.h"
+
+/* Well known OIDs precompiled */
+
+/*
+ * id-ml-dsa-44 OBJECT IDENTIFIER ::= { sigAlgs 17 }
+ */
+const unsigned char ossl_der_oid_id_ml_dsa_44[DER_OID_SZ_id_ml_dsa_44] = {
+    DER_OID_V_id_ml_dsa_44
+};
+
+/*
+ * id-ml-dsa-65 OBJECT IDENTIFIER ::= { sigAlgs 18 }
+ */
+const unsigned char ossl_der_oid_id_ml_dsa_65[DER_OID_SZ_id_ml_dsa_65] = {
+    DER_OID_V_id_ml_dsa_65
+};
+
+/*
+ * id-ml-dsa-87 OBJECT IDENTIFIER ::= { sigAlgs 19 }
+ */
+const unsigned char ossl_der_oid_id_ml_dsa_87[DER_OID_SZ_id_ml_dsa_87] = {
+    DER_OID_V_id_ml_dsa_87
+};
+

+ 0 - 19
libs/openssl/providers/common/der/der_ml_dsa_gen.c.in

@@ -1,19 +0,0 @@
-/*
- * {- join("\n * ", @autowarntext) -}
- *
- * Copyright 2025 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
- */
-
-#include "prov/der_ml_dsa.h"
-
-/* Well known OIDs precompiled */
-{-
-    $OUT = oids_to_c::process_leaves('providers/common/der/ML_DSA.asn1',
-                                     { dir => $config{sourcedir},
-                                       filter => \&oids_to_c::filter_to_C });
--}

+ 100 - 0
libs/openssl/providers/common/der/der_slh_dsa_gen.c

@@ -0,0 +1,100 @@
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from providers\common\der\der_slh_dsa_gen.c.in
+ *
+ * Copyright 2025 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
+ */
+
+#include "prov/der_slh_dsa.h"
+
+/* Well known OIDs precompiled */
+
+/*
+ * id-slh-dsa-sha2-128s OBJECT IDENTIFIER ::= { sigAlgs 20 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_sha2_128s[DER_OID_SZ_id_slh_dsa_sha2_128s] = {
+    DER_OID_V_id_slh_dsa_sha2_128s
+};
+
+/*
+ * id-slh-dsa-sha2-128f OBJECT IDENTIFIER ::= { sigAlgs 21 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_sha2_128f[DER_OID_SZ_id_slh_dsa_sha2_128f] = {
+    DER_OID_V_id_slh_dsa_sha2_128f
+};
+
+/*
+ * id-slh-dsa-sha2-192s OBJECT IDENTIFIER ::= { sigAlgs 22 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_sha2_192s[DER_OID_SZ_id_slh_dsa_sha2_192s] = {
+    DER_OID_V_id_slh_dsa_sha2_192s
+};
+
+/*
+ * id-slh-dsa-sha2-192f OBJECT IDENTIFIER ::= { sigAlgs 23 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_sha2_192f[DER_OID_SZ_id_slh_dsa_sha2_192f] = {
+    DER_OID_V_id_slh_dsa_sha2_192f
+};
+
+/*
+ * id-slh-dsa-sha2-256s OBJECT IDENTIFIER ::= { sigAlgs 24 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_sha2_256s[DER_OID_SZ_id_slh_dsa_sha2_256s] = {
+    DER_OID_V_id_slh_dsa_sha2_256s
+};
+
+/*
+ * id-slh-dsa-sha2-256f OBJECT IDENTIFIER ::= { sigAlgs 25 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_sha2_256f[DER_OID_SZ_id_slh_dsa_sha2_256f] = {
+    DER_OID_V_id_slh_dsa_sha2_256f
+};
+
+/*
+ * id-slh-dsa-shake-128s OBJECT IDENTIFIER ::= { sigAlgs 26 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_shake_128s[DER_OID_SZ_id_slh_dsa_shake_128s] = {
+    DER_OID_V_id_slh_dsa_shake_128s
+};
+
+/*
+ * id-slh-dsa-shake-128f OBJECT IDENTIFIER ::= { sigAlgs 27 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_shake_128f[DER_OID_SZ_id_slh_dsa_shake_128f] = {
+    DER_OID_V_id_slh_dsa_shake_128f
+};
+
+/*
+ * id-slh-dsa-shake-192s OBJECT IDENTIFIER ::= { sigAlgs 28 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_shake_192s[DER_OID_SZ_id_slh_dsa_shake_192s] = {
+    DER_OID_V_id_slh_dsa_shake_192s
+};
+
+/*
+ * id-slh-dsa-shake-192f OBJECT IDENTIFIER ::= { sigAlgs 29 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_shake_192f[DER_OID_SZ_id_slh_dsa_shake_192f] = {
+    DER_OID_V_id_slh_dsa_shake_192f
+};
+
+/*
+ * id-slh-dsa-shake-256s OBJECT IDENTIFIER ::= { sigAlgs 30 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_shake_256s[DER_OID_SZ_id_slh_dsa_shake_256s] = {
+    DER_OID_V_id_slh_dsa_shake_256s
+};
+
+/*
+ * id-slh-dsa-shake-256f OBJECT IDENTIFIER ::= { sigAlgs 31 }
+ */
+const unsigned char ossl_der_oid_id_slh_dsa_shake_256f[DER_OID_SZ_id_slh_dsa_shake_256f] = {
+    DER_OID_V_id_slh_dsa_shake_256f
+};
+

+ 0 - 19
libs/openssl/providers/common/der/der_slh_dsa_gen.c.in

@@ -1,19 +0,0 @@
-/*
- * {- join("\n * ", @autowarntext) -}
- *
- * Copyright 2025 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
- */
-
-#include "prov/der_slh_dsa.h"
-
-/* Well known OIDs precompiled */
-{-
-    $OUT = oids_to_c::process_leaves('providers/common/der/SLH_DSA.asn1',
-                                     { dir => $config{sourcedir},
-                                       filter => \&oids_to_c::filter_to_C });
--}

+ 40 - 0
libs/openssl/providers/common/include/prov/der_ml_dsa.h

@@ -0,0 +1,40 @@
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from providers\common\include\prov\der_ml_dsa.h.in
+ *
+ * Copyright 2025 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
+ */
+
+#include "internal/der.h"
+#include "crypto/ml_dsa.h"
+
+/* Well known OIDs precompiled */
+
+/*
+ * id-ml-dsa-44 OBJECT IDENTIFIER ::= { sigAlgs 17 }
+ */
+#define DER_OID_V_id_ml_dsa_44 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x11
+#define DER_OID_SZ_id_ml_dsa_44 11
+extern const unsigned char ossl_der_oid_id_ml_dsa_44[DER_OID_SZ_id_ml_dsa_44];
+
+/*
+ * id-ml-dsa-65 OBJECT IDENTIFIER ::= { sigAlgs 18 }
+ */
+#define DER_OID_V_id_ml_dsa_65 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x12
+#define DER_OID_SZ_id_ml_dsa_65 11
+extern const unsigned char ossl_der_oid_id_ml_dsa_65[DER_OID_SZ_id_ml_dsa_65];
+
+/*
+ * id-ml-dsa-87 OBJECT IDENTIFIER ::= { sigAlgs 19 }
+ */
+#define DER_OID_V_id_ml_dsa_87 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x13
+#define DER_OID_SZ_id_ml_dsa_87 11
+extern const unsigned char ossl_der_oid_id_ml_dsa_87[DER_OID_SZ_id_ml_dsa_87];
+
+
+int ossl_DER_w_algorithmIdentifier_ML_DSA(WPACKET *pkt, int tag, ML_DSA_KEY *key);

+ 0 - 22
libs/openssl/providers/common/include/prov/der_ml_dsa.h.in

@@ -1,22 +0,0 @@
-/*
- * {- join("\n * ", @autowarntext) -}
- *
- * Copyright 2025 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
- */
-
-#include "internal/der.h"
-#include "crypto/ml_dsa.h"
-
-/* Well known OIDs precompiled */
-{-
-    $OUT = oids_to_c::process_leaves('providers/common/der/ML_DSA.asn1',
-                                     { dir => $config{sourcedir},
-                                       filter => \&oids_to_c::filter_to_H });
--}
-
-int ossl_DER_w_algorithmIdentifier_ML_DSA(WPACKET *pkt, int tag, ML_DSA_KEY *key);

+ 103 - 0
libs/openssl/providers/common/include/prov/der_slh_dsa.h

@@ -0,0 +1,103 @@
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from providers\common\include\prov\der_slh_dsa.h.in
+ *
+ * Copyright 2025 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
+ */
+
+#include "internal/der.h"
+#include "crypto/slh_dsa.h"
+
+/* Well known OIDs precompiled */
+
+/*
+ * id-slh-dsa-sha2-128s OBJECT IDENTIFIER ::= { sigAlgs 20 }
+ */
+#define DER_OID_V_id_slh_dsa_sha2_128s DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x14
+#define DER_OID_SZ_id_slh_dsa_sha2_128s 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_sha2_128s[DER_OID_SZ_id_slh_dsa_sha2_128s];
+
+/*
+ * id-slh-dsa-sha2-128f OBJECT IDENTIFIER ::= { sigAlgs 21 }
+ */
+#define DER_OID_V_id_slh_dsa_sha2_128f DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x15
+#define DER_OID_SZ_id_slh_dsa_sha2_128f 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_sha2_128f[DER_OID_SZ_id_slh_dsa_sha2_128f];
+
+/*
+ * id-slh-dsa-sha2-192s OBJECT IDENTIFIER ::= { sigAlgs 22 }
+ */
+#define DER_OID_V_id_slh_dsa_sha2_192s DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x16
+#define DER_OID_SZ_id_slh_dsa_sha2_192s 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_sha2_192s[DER_OID_SZ_id_slh_dsa_sha2_192s];
+
+/*
+ * id-slh-dsa-sha2-192f OBJECT IDENTIFIER ::= { sigAlgs 23 }
+ */
+#define DER_OID_V_id_slh_dsa_sha2_192f DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x17
+#define DER_OID_SZ_id_slh_dsa_sha2_192f 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_sha2_192f[DER_OID_SZ_id_slh_dsa_sha2_192f];
+
+/*
+ * id-slh-dsa-sha2-256s OBJECT IDENTIFIER ::= { sigAlgs 24 }
+ */
+#define DER_OID_V_id_slh_dsa_sha2_256s DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x18
+#define DER_OID_SZ_id_slh_dsa_sha2_256s 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_sha2_256s[DER_OID_SZ_id_slh_dsa_sha2_256s];
+
+/*
+ * id-slh-dsa-sha2-256f OBJECT IDENTIFIER ::= { sigAlgs 25 }
+ */
+#define DER_OID_V_id_slh_dsa_sha2_256f DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x19
+#define DER_OID_SZ_id_slh_dsa_sha2_256f 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_sha2_256f[DER_OID_SZ_id_slh_dsa_sha2_256f];
+
+/*
+ * id-slh-dsa-shake-128s OBJECT IDENTIFIER ::= { sigAlgs 26 }
+ */
+#define DER_OID_V_id_slh_dsa_shake_128s DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x1A
+#define DER_OID_SZ_id_slh_dsa_shake_128s 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_shake_128s[DER_OID_SZ_id_slh_dsa_shake_128s];
+
+/*
+ * id-slh-dsa-shake-128f OBJECT IDENTIFIER ::= { sigAlgs 27 }
+ */
+#define DER_OID_V_id_slh_dsa_shake_128f DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x1B
+#define DER_OID_SZ_id_slh_dsa_shake_128f 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_shake_128f[DER_OID_SZ_id_slh_dsa_shake_128f];
+
+/*
+ * id-slh-dsa-shake-192s OBJECT IDENTIFIER ::= { sigAlgs 28 }
+ */
+#define DER_OID_V_id_slh_dsa_shake_192s DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x1C
+#define DER_OID_SZ_id_slh_dsa_shake_192s 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_shake_192s[DER_OID_SZ_id_slh_dsa_shake_192s];
+
+/*
+ * id-slh-dsa-shake-192f OBJECT IDENTIFIER ::= { sigAlgs 29 }
+ */
+#define DER_OID_V_id_slh_dsa_shake_192f DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x1D
+#define DER_OID_SZ_id_slh_dsa_shake_192f 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_shake_192f[DER_OID_SZ_id_slh_dsa_shake_192f];
+
+/*
+ * id-slh-dsa-shake-256s OBJECT IDENTIFIER ::= { sigAlgs 30 }
+ */
+#define DER_OID_V_id_slh_dsa_shake_256s DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x1E
+#define DER_OID_SZ_id_slh_dsa_shake_256s 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_shake_256s[DER_OID_SZ_id_slh_dsa_shake_256s];
+
+/*
+ * id-slh-dsa-shake-256f OBJECT IDENTIFIER ::= { sigAlgs 31 }
+ */
+#define DER_OID_V_id_slh_dsa_shake_256f DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x1F
+#define DER_OID_SZ_id_slh_dsa_shake_256f 11
+extern const unsigned char ossl_der_oid_id_slh_dsa_shake_256f[DER_OID_SZ_id_slh_dsa_shake_256f];
+
+
+int ossl_DER_w_algorithmIdentifier_SLH_DSA(WPACKET *pkt, int tag, SLH_DSA_KEY *key);

+ 0 - 22
libs/openssl/providers/common/include/prov/der_slh_dsa.h.in

@@ -1,22 +0,0 @@
-/*
- * {- join("\n * ", @autowarntext) -}
- *
- * Copyright 2025 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
- */
-
-#include "internal/der.h"
-#include "crypto/slh_dsa.h"
-
-/* Well known OIDs precompiled */
-{-
-    $OUT = oids_to_c::process_leaves('providers/common/der/SLH_DSA.asn1',
-                                     { dir => $config{sourcedir},
-                                       filter => \&oids_to_c::filter_to_H });
--}
-
-int ossl_DER_w_algorithmIdentifier_SLH_DSA(WPACKET *pkt, int tag, SLH_DSA_KEY *key);

Some files were not shown because too many files changed in this diff