From f24bb4748f933d916e7f5bf22bf9d2038a8ec2cd Mon Sep 17 00:00:00 2001 From: Dmytro Bogovych Date: Thu, 15 Nov 2018 20:08:18 +0200 Subject: [PATCH] - new openssl libraries --- openssl/1.0/include/openssl/aes.h | 149 + openssl/1.0/include/openssl/asn1.h | 1424 +++++ openssl/1.0/include/openssl/asn1_mac.h | 579 ++ openssl/1.0/include/openssl/asn1t.h | 973 +++ openssl/1.0/include/openssl/bio.h | 883 +++ openssl/1.0/include/openssl/blowfish.h | 130 + openssl/1.0/include/openssl/bn.h | 1015 ++++ openssl/1.0/include/openssl/buffer.h | 125 + openssl/1.0/include/openssl/camellia.h | 132 + openssl/1.0/include/openssl/cast.h | 107 + openssl/1.0/include/openssl/cmac.h | 82 + openssl/1.0/include/openssl/cms.h | 555 ++ openssl/1.0/include/openssl/comp.h | 83 + openssl/1.0/include/openssl/conf.h | 268 + openssl/1.0/include/openssl/conf_api.h | 89 + openssl/1.0/include/openssl/crypto.h | 661 +++ openssl/1.0/include/openssl/des.h | 257 + openssl/1.0/include/openssl/des_old.h | 497 ++ openssl/1.0/include/openssl/dh.h | 412 ++ openssl/1.0/include/openssl/dsa.h | 335 ++ openssl/1.0/include/openssl/dso.h | 451 ++ openssl/1.0/include/openssl/dtls1.h | 272 + openssl/1.0/include/openssl/e_os2.h | 328 ++ openssl/1.0/include/openssl/ebcdic.h | 26 + openssl/1.0/include/openssl/ec.h | 1282 ++++ openssl/1.0/include/openssl/ecdh.h | 134 + openssl/1.0/include/openssl/ecdsa.h | 335 ++ openssl/1.0/include/openssl/engine.h | 960 +++ openssl/1.0/include/openssl/err.h | 390 ++ openssl/1.0/include/openssl/evp.h | 1628 ++++++ openssl/1.0/include/openssl/hmac.h | 109 + openssl/1.0/include/openssl/idea.h | 105 + openssl/1.0/include/openssl/krb5_asn.h | 240 + openssl/1.0/include/openssl/kssl.h | 197 + openssl/1.0/include/openssl/lhash.h | 240 + openssl/1.0/include/openssl/md4.h | 119 + openssl/1.0/include/openssl/md5.h | 119 + openssl/1.0/include/openssl/mdc2.h | 94 + openssl/1.0/include/openssl/modes.h | 163 + openssl/1.0/include/openssl/obj_mac.h | 4194 +++++++++++++ openssl/1.0/include/openssl/objects.h | 1143 ++++ openssl/1.0/include/openssl/ocsp.h | 637 ++ openssl/1.0/include/openssl/opensslconf.h | 270 + openssl/1.0/include/openssl/opensslv.h | 97 + openssl/1.0/include/openssl/ossl_typ.h | 213 + openssl/1.0/include/openssl/pem.h | 618 ++ openssl/1.0/include/openssl/pem2.h | 70 + openssl/1.0/include/openssl/pkcs12.h | 342 ++ openssl/1.0/include/openssl/pkcs7.h | 481 ++ openssl/1.0/include/openssl/pqueue.h | 99 + openssl/1.0/include/openssl/rand.h | 150 + openssl/1.0/include/openssl/rc2.h | 103 + openssl/1.0/include/openssl/rc4.h | 88 + openssl/1.0/include/openssl/ripemd.h | 105 + openssl/1.0/include/openssl/rsa.h | 664 +++ openssl/1.0/include/openssl/safestack.h | 2672 +++++++++ openssl/1.0/include/openssl/seed.h | 149 + openssl/1.0/include/openssl/sha.h | 214 + openssl/1.0/include/openssl/srp.h | 179 + openssl/1.0/include/openssl/srtp.h | 147 + openssl/1.0/include/openssl/ssl.h | 3164 ++++++++++ openssl/1.0/include/openssl/ssl2.h | 265 + openssl/1.0/include/openssl/ssl23.h | 84 + openssl/1.0/include/openssl/ssl3.h | 774 +++ openssl/1.0/include/openssl/stack.h | 107 + openssl/1.0/include/openssl/symhacks.h | 518 ++ openssl/1.0/include/openssl/tls1.h | 810 +++ openssl/1.0/include/openssl/ts.h | 865 +++ openssl/1.0/include/openssl/txt_db.h | 112 + openssl/1.0/include/openssl/ui.h | 415 ++ openssl/1.0/include/openssl/ui_compat.h | 88 + openssl/1.0/include/openssl/whrlpool.h | 41 + openssl/1.0/include/openssl/x509.h | 1330 +++++ openssl/1.0/include/openssl/x509_vfy.h | 652 +++ openssl/1.0/include/openssl/x509v3.h | 1055 ++++ openssl/1.0/lin64/libcrypto.a | Bin 0 -> 5283066 bytes openssl/1.0/lin64/libssl.a | Bin 0 -> 794130 bytes openssl/1.0/version.txt | 1 + .../include/openssl/__DECC_INCLUDE_EPILOGUE.H | 16 + .../include/openssl/__DECC_INCLUDE_PROLOGUE.H | 20 + openssl/1.1/include/openssl/aes.h | 92 + openssl/1.1/include/openssl/asn1.h | 886 +++ openssl/1.1/include/openssl/asn1_mac.h | 10 + openssl/1.1/include/openssl/asn1err.h | 252 + openssl/1.1/include/openssl/asn1t.h | 945 +++ openssl/1.1/include/openssl/async.h | 76 + openssl/1.1/include/openssl/asyncerr.h | 38 + openssl/1.1/include/openssl/bio.h | 804 +++ openssl/1.1/include/openssl/bioerr.h | 120 + openssl/1.1/include/openssl/blowfish.h | 61 + openssl/1.1/include/openssl/bn.h | 539 ++ openssl/1.1/include/openssl/bnerr.h | 96 + openssl/1.1/include/openssl/buffer.h | 58 + openssl/1.1/include/openssl/buffererr.h | 30 + openssl/1.1/include/openssl/camellia.h | 83 + openssl/1.1/include/openssl/cast.h | 53 + openssl/1.1/include/openssl/cmac.h | 41 + openssl/1.1/include/openssl/cms.h | 342 ++ openssl/1.1/include/openssl/cmserr.h | 196 + openssl/1.1/include/openssl/comp.h | 53 + openssl/1.1/include/openssl/comperr.h | 40 + openssl/1.1/include/openssl/conf.h | 168 + openssl/1.1/include/openssl/conf_api.h | 40 + openssl/1.1/include/openssl/conferr.h | 72 + openssl/1.1/include/openssl/crypto.h | 445 ++ openssl/1.1/include/openssl/cryptoerr.h | 53 + openssl/1.1/include/openssl/ct.h | 476 ++ openssl/1.1/include/openssl/cterr.h | 76 + openssl/1.1/include/openssl/des.h | 174 + openssl/1.1/include/openssl/dh.h | 340 ++ openssl/1.1/include/openssl/dherr.h | 84 + openssl/1.1/include/openssl/dsa.h | 238 + openssl/1.1/include/openssl/dsaerr.h | 67 + openssl/1.1/include/openssl/dtls1.h | 55 + openssl/1.1/include/openssl/e_os2.h | 293 + openssl/1.1/include/openssl/ebcdic.h | 33 + openssl/1.1/include/openssl/ec.h | 1467 +++++ openssl/1.1/include/openssl/ecdh.h | 10 + openssl/1.1/include/openssl/ecdsa.h | 10 + openssl/1.1/include/openssl/ecerr.h | 267 + openssl/1.1/include/openssl/engine.h | 751 +++ openssl/1.1/include/openssl/engineerr.h | 107 + openssl/1.1/include/openssl/err.h | 273 + openssl/1.1/include/openssl/evp.h | 1638 ++++++ openssl/1.1/include/openssl/evperr.h | 193 + openssl/1.1/include/openssl/hmac.h | 51 + openssl/1.1/include/openssl/idea.h | 64 + openssl/1.1/include/openssl/kdf.h | 97 + openssl/1.1/include/openssl/kdferr.h | 51 + openssl/1.1/include/openssl/lhash.h | 217 + openssl/1.1/include/openssl/md2.h | 44 + openssl/1.1/include/openssl/md4.h | 51 + openssl/1.1/include/openssl/md5.h | 50 + openssl/1.1/include/openssl/mdc2.h | 42 + openssl/1.1/include/openssl/modes.h | 208 + openssl/1.1/include/openssl/obj_mac.h | 5198 +++++++++++++++++ openssl/1.1/include/openssl/objects.h | 175 + openssl/1.1/include/openssl/objectserr.h | 38 + openssl/1.1/include/openssl/ocsp.h | 355 ++ openssl/1.1/include/openssl/ocsperr.h | 74 + openssl/1.1/include/openssl/opensslconf.h | 192 + openssl/1.1/include/openssl/opensslconf.h.in | 155 + openssl/1.1/include/openssl/opensslv.h | 101 + openssl/1.1/include/openssl/ossl_typ.h | 196 + openssl/1.1/include/openssl/pem.h | 378 ++ openssl/1.1/include/openssl/pem2.h | 13 + openssl/1.1/include/openssl/pemerr.h | 99 + openssl/1.1/include/openssl/pkcs12.h | 223 + openssl/1.1/include/openssl/pkcs12err.h | 77 + openssl/1.1/include/openssl/pkcs7.h | 319 + openssl/1.1/include/openssl/pkcs7err.h | 99 + openssl/1.1/include/openssl/rand.h | 77 + openssl/1.1/include/openssl/rand_drbg.h | 120 + openssl/1.1/include/openssl/randerr.h | 88 + openssl/1.1/include/openssl/rc2.h | 51 + openssl/1.1/include/openssl/rc4.h | 36 + openssl/1.1/include/openssl/rc5.h | 63 + openssl/1.1/include/openssl/ripemd.h | 47 + openssl/1.1/include/openssl/rsa.h | 512 ++ openssl/1.1/include/openssl/rsaerr.h | 162 + openssl/1.1/include/openssl/safestack.h | 172 + openssl/1.1/include/openssl/seed.h | 96 + openssl/1.1/include/openssl/sha.h | 119 + openssl/1.1/include/openssl/srp.h | 135 + openssl/1.1/include/openssl/srtp.h | 50 + openssl/1.1/include/openssl/ssl.h | 2413 ++++++++ openssl/1.1/include/openssl/ssl2.h | 24 + openssl/1.1/include/openssl/ssl3.h | 339 ++ openssl/1.1/include/openssl/sslerr.h | 767 +++ openssl/1.1/include/openssl/stack.h | 83 + openssl/1.1/include/openssl/store.h | 266 + openssl/1.1/include/openssl/storeerr.h | 87 + openssl/1.1/include/openssl/symhacks.h | 52 + openssl/1.1/include/openssl/tls1.h | 1236 ++++ openssl/1.1/include/openssl/ts.h | 559 ++ openssl/1.1/include/openssl/tserr.h | 128 + openssl/1.1/include/openssl/txt_db.h | 57 + openssl/1.1/include/openssl/ui.h | 368 ++ openssl/1.1/include/openssl/uierr.h | 61 + openssl/1.1/include/openssl/whrlpool.h | 48 + openssl/1.1/include/openssl/x509.h | 1047 ++++ openssl/1.1/include/openssl/x509_vfy.h | 624 ++ openssl/1.1/include/openssl/x509err.h | 125 + openssl/1.1/include/openssl/x509v3.h | 935 +++ openssl/1.1/include/openssl/x509v3err.h | 158 + openssl/1.1/lin64/libcrypto.a | Bin 0 -> 5740758 bytes openssl/1.1/lin64/libcrypto.so.1.1 | Bin 0 -> 3414800 bytes openssl/1.1/lin64/libssl.a | Bin 0 -> 1038556 bytes openssl/1.1/lin64/libssl.so.1.1 | Bin 0 -> 688960 bytes openssl/1.1/version.txt | 1 + 190 files changed, 70718 insertions(+) create mode 100644 openssl/1.0/include/openssl/aes.h create mode 100644 openssl/1.0/include/openssl/asn1.h create mode 100644 openssl/1.0/include/openssl/asn1_mac.h create mode 100644 openssl/1.0/include/openssl/asn1t.h create mode 100644 openssl/1.0/include/openssl/bio.h create mode 100644 openssl/1.0/include/openssl/blowfish.h create mode 100644 openssl/1.0/include/openssl/bn.h create mode 100644 openssl/1.0/include/openssl/buffer.h create mode 100644 openssl/1.0/include/openssl/camellia.h create mode 100644 openssl/1.0/include/openssl/cast.h create mode 100644 openssl/1.0/include/openssl/cmac.h create mode 100644 openssl/1.0/include/openssl/cms.h create mode 100644 openssl/1.0/include/openssl/comp.h create mode 100644 openssl/1.0/include/openssl/conf.h create mode 100644 openssl/1.0/include/openssl/conf_api.h create mode 100644 openssl/1.0/include/openssl/crypto.h create mode 100644 openssl/1.0/include/openssl/des.h create mode 100644 openssl/1.0/include/openssl/des_old.h create mode 100644 openssl/1.0/include/openssl/dh.h create mode 100644 openssl/1.0/include/openssl/dsa.h create mode 100644 openssl/1.0/include/openssl/dso.h create mode 100644 openssl/1.0/include/openssl/dtls1.h create mode 100644 openssl/1.0/include/openssl/e_os2.h create mode 100644 openssl/1.0/include/openssl/ebcdic.h create mode 100644 openssl/1.0/include/openssl/ec.h create mode 100644 openssl/1.0/include/openssl/ecdh.h create mode 100644 openssl/1.0/include/openssl/ecdsa.h create mode 100644 openssl/1.0/include/openssl/engine.h create mode 100644 openssl/1.0/include/openssl/err.h create mode 100644 openssl/1.0/include/openssl/evp.h create mode 100644 openssl/1.0/include/openssl/hmac.h create mode 100644 openssl/1.0/include/openssl/idea.h create mode 100644 openssl/1.0/include/openssl/krb5_asn.h create mode 100644 openssl/1.0/include/openssl/kssl.h create mode 100644 openssl/1.0/include/openssl/lhash.h create mode 100644 openssl/1.0/include/openssl/md4.h create mode 100644 openssl/1.0/include/openssl/md5.h create mode 100644 openssl/1.0/include/openssl/mdc2.h create mode 100644 openssl/1.0/include/openssl/modes.h create mode 100644 openssl/1.0/include/openssl/obj_mac.h create mode 100644 openssl/1.0/include/openssl/objects.h create mode 100644 openssl/1.0/include/openssl/ocsp.h create mode 100644 openssl/1.0/include/openssl/opensslconf.h create mode 100644 openssl/1.0/include/openssl/opensslv.h create mode 100644 openssl/1.0/include/openssl/ossl_typ.h create mode 100644 openssl/1.0/include/openssl/pem.h create mode 100644 openssl/1.0/include/openssl/pem2.h create mode 100644 openssl/1.0/include/openssl/pkcs12.h create mode 100644 openssl/1.0/include/openssl/pkcs7.h create mode 100644 openssl/1.0/include/openssl/pqueue.h create mode 100644 openssl/1.0/include/openssl/rand.h create mode 100644 openssl/1.0/include/openssl/rc2.h create mode 100644 openssl/1.0/include/openssl/rc4.h create mode 100644 openssl/1.0/include/openssl/ripemd.h create mode 100644 openssl/1.0/include/openssl/rsa.h create mode 100644 openssl/1.0/include/openssl/safestack.h create mode 100644 openssl/1.0/include/openssl/seed.h create mode 100644 openssl/1.0/include/openssl/sha.h create mode 100644 openssl/1.0/include/openssl/srp.h create mode 100644 openssl/1.0/include/openssl/srtp.h create mode 100644 openssl/1.0/include/openssl/ssl.h create mode 100644 openssl/1.0/include/openssl/ssl2.h create mode 100644 openssl/1.0/include/openssl/ssl23.h create mode 100644 openssl/1.0/include/openssl/ssl3.h create mode 100644 openssl/1.0/include/openssl/stack.h create mode 100644 openssl/1.0/include/openssl/symhacks.h create mode 100644 openssl/1.0/include/openssl/tls1.h create mode 100644 openssl/1.0/include/openssl/ts.h create mode 100644 openssl/1.0/include/openssl/txt_db.h create mode 100644 openssl/1.0/include/openssl/ui.h create mode 100644 openssl/1.0/include/openssl/ui_compat.h create mode 100644 openssl/1.0/include/openssl/whrlpool.h create mode 100644 openssl/1.0/include/openssl/x509.h create mode 100644 openssl/1.0/include/openssl/x509_vfy.h create mode 100644 openssl/1.0/include/openssl/x509v3.h create mode 100644 openssl/1.0/lin64/libcrypto.a create mode 100644 openssl/1.0/lin64/libssl.a create mode 100644 openssl/1.0/version.txt create mode 100644 openssl/1.1/include/openssl/__DECC_INCLUDE_EPILOGUE.H create mode 100644 openssl/1.1/include/openssl/__DECC_INCLUDE_PROLOGUE.H create mode 100644 openssl/1.1/include/openssl/aes.h create mode 100644 openssl/1.1/include/openssl/asn1.h create mode 100644 openssl/1.1/include/openssl/asn1_mac.h create mode 100644 openssl/1.1/include/openssl/asn1err.h create mode 100644 openssl/1.1/include/openssl/asn1t.h create mode 100644 openssl/1.1/include/openssl/async.h create mode 100644 openssl/1.1/include/openssl/asyncerr.h create mode 100644 openssl/1.1/include/openssl/bio.h create mode 100644 openssl/1.1/include/openssl/bioerr.h create mode 100644 openssl/1.1/include/openssl/blowfish.h create mode 100644 openssl/1.1/include/openssl/bn.h create mode 100644 openssl/1.1/include/openssl/bnerr.h create mode 100644 openssl/1.1/include/openssl/buffer.h create mode 100644 openssl/1.1/include/openssl/buffererr.h create mode 100644 openssl/1.1/include/openssl/camellia.h create mode 100644 openssl/1.1/include/openssl/cast.h create mode 100644 openssl/1.1/include/openssl/cmac.h create mode 100644 openssl/1.1/include/openssl/cms.h create mode 100644 openssl/1.1/include/openssl/cmserr.h create mode 100644 openssl/1.1/include/openssl/comp.h create mode 100644 openssl/1.1/include/openssl/comperr.h create mode 100644 openssl/1.1/include/openssl/conf.h create mode 100644 openssl/1.1/include/openssl/conf_api.h create mode 100644 openssl/1.1/include/openssl/conferr.h create mode 100644 openssl/1.1/include/openssl/crypto.h create mode 100644 openssl/1.1/include/openssl/cryptoerr.h create mode 100644 openssl/1.1/include/openssl/ct.h create mode 100644 openssl/1.1/include/openssl/cterr.h create mode 100644 openssl/1.1/include/openssl/des.h create mode 100644 openssl/1.1/include/openssl/dh.h create mode 100644 openssl/1.1/include/openssl/dherr.h create mode 100644 openssl/1.1/include/openssl/dsa.h create mode 100644 openssl/1.1/include/openssl/dsaerr.h create mode 100644 openssl/1.1/include/openssl/dtls1.h create mode 100644 openssl/1.1/include/openssl/e_os2.h create mode 100644 openssl/1.1/include/openssl/ebcdic.h create mode 100644 openssl/1.1/include/openssl/ec.h create mode 100644 openssl/1.1/include/openssl/ecdh.h create mode 100644 openssl/1.1/include/openssl/ecdsa.h create mode 100644 openssl/1.1/include/openssl/ecerr.h create mode 100644 openssl/1.1/include/openssl/engine.h create mode 100644 openssl/1.1/include/openssl/engineerr.h create mode 100644 openssl/1.1/include/openssl/err.h create mode 100644 openssl/1.1/include/openssl/evp.h create mode 100644 openssl/1.1/include/openssl/evperr.h create mode 100644 openssl/1.1/include/openssl/hmac.h create mode 100644 openssl/1.1/include/openssl/idea.h create mode 100644 openssl/1.1/include/openssl/kdf.h create mode 100644 openssl/1.1/include/openssl/kdferr.h create mode 100644 openssl/1.1/include/openssl/lhash.h create mode 100644 openssl/1.1/include/openssl/md2.h create mode 100644 openssl/1.1/include/openssl/md4.h create mode 100644 openssl/1.1/include/openssl/md5.h create mode 100644 openssl/1.1/include/openssl/mdc2.h create mode 100644 openssl/1.1/include/openssl/modes.h create mode 100644 openssl/1.1/include/openssl/obj_mac.h create mode 100644 openssl/1.1/include/openssl/objects.h create mode 100644 openssl/1.1/include/openssl/objectserr.h create mode 100644 openssl/1.1/include/openssl/ocsp.h create mode 100644 openssl/1.1/include/openssl/ocsperr.h create mode 100644 openssl/1.1/include/openssl/opensslconf.h create mode 100644 openssl/1.1/include/openssl/opensslconf.h.in create mode 100644 openssl/1.1/include/openssl/opensslv.h create mode 100644 openssl/1.1/include/openssl/ossl_typ.h create mode 100644 openssl/1.1/include/openssl/pem.h create mode 100644 openssl/1.1/include/openssl/pem2.h create mode 100644 openssl/1.1/include/openssl/pemerr.h create mode 100644 openssl/1.1/include/openssl/pkcs12.h create mode 100644 openssl/1.1/include/openssl/pkcs12err.h create mode 100644 openssl/1.1/include/openssl/pkcs7.h create mode 100644 openssl/1.1/include/openssl/pkcs7err.h create mode 100644 openssl/1.1/include/openssl/rand.h create mode 100644 openssl/1.1/include/openssl/rand_drbg.h create mode 100644 openssl/1.1/include/openssl/randerr.h create mode 100644 openssl/1.1/include/openssl/rc2.h create mode 100644 openssl/1.1/include/openssl/rc4.h create mode 100644 openssl/1.1/include/openssl/rc5.h create mode 100644 openssl/1.1/include/openssl/ripemd.h create mode 100644 openssl/1.1/include/openssl/rsa.h create mode 100644 openssl/1.1/include/openssl/rsaerr.h create mode 100644 openssl/1.1/include/openssl/safestack.h create mode 100644 openssl/1.1/include/openssl/seed.h create mode 100644 openssl/1.1/include/openssl/sha.h create mode 100644 openssl/1.1/include/openssl/srp.h create mode 100644 openssl/1.1/include/openssl/srtp.h create mode 100644 openssl/1.1/include/openssl/ssl.h create mode 100644 openssl/1.1/include/openssl/ssl2.h create mode 100644 openssl/1.1/include/openssl/ssl3.h create mode 100644 openssl/1.1/include/openssl/sslerr.h create mode 100644 openssl/1.1/include/openssl/stack.h create mode 100644 openssl/1.1/include/openssl/store.h create mode 100644 openssl/1.1/include/openssl/storeerr.h create mode 100644 openssl/1.1/include/openssl/symhacks.h create mode 100644 openssl/1.1/include/openssl/tls1.h create mode 100644 openssl/1.1/include/openssl/ts.h create mode 100644 openssl/1.1/include/openssl/tserr.h create mode 100644 openssl/1.1/include/openssl/txt_db.h create mode 100644 openssl/1.1/include/openssl/ui.h create mode 100644 openssl/1.1/include/openssl/uierr.h create mode 100644 openssl/1.1/include/openssl/whrlpool.h create mode 100644 openssl/1.1/include/openssl/x509.h create mode 100644 openssl/1.1/include/openssl/x509_vfy.h create mode 100644 openssl/1.1/include/openssl/x509err.h create mode 100644 openssl/1.1/include/openssl/x509v3.h create mode 100644 openssl/1.1/include/openssl/x509v3err.h create mode 100644 openssl/1.1/lin64/libcrypto.a create mode 100755 openssl/1.1/lin64/libcrypto.so.1.1 create mode 100644 openssl/1.1/lin64/libssl.a create mode 100755 openssl/1.1/lin64/libssl.so.1.1 create mode 100644 openssl/1.1/version.txt diff --git a/openssl/1.0/include/openssl/aes.h b/openssl/1.0/include/openssl/aes.h new file mode 100644 index 0000000..faa66c4 --- /dev/null +++ b/openssl/1.0/include/openssl/aes.h @@ -0,0 +1,149 @@ +/* crypto/aes/aes.h */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +#ifndef HEADER_AES_H +# define HEADER_AES_H + +# include + +# ifdef OPENSSL_NO_AES +# error AES is disabled. +# endif + +# include + +# define AES_ENCRYPT 1 +# define AES_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ +# define AES_MAXNR 14 +# define AES_BLOCK_SIZE 16 + +#ifdef __cplusplus +extern "C" { +#endif + +/* This should be a hidden type, but EVP requires that the size be known */ +struct aes_key_st { +# ifdef AES_LONG + unsigned long rd_key[4 * (AES_MAXNR + 1)]; +# else + unsigned int rd_key[4 * (AES_MAXNR + 1)]; +# endif + int rounds; +}; +typedef struct aes_key_st AES_KEY; + +const char *AES_options(void); + +int AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); + +int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); + +void AES_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_decrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); + +void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key, const int enc); +void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num); +void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char ivec[AES_BLOCK_SIZE], + unsigned char ecount_buf[AES_BLOCK_SIZE], + unsigned int *num); +/* NB: the IV is _two_ blocks long */ +void AES_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +/* NB: the IV is _four_ blocks long */ +void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + const AES_KEY *key2, const unsigned char *ivec, + const int enc); + +int AES_wrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); +int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); + + +#ifdef __cplusplus +} +#endif + +#endif /* !HEADER_AES_H */ diff --git a/openssl/1.0/include/openssl/asn1.h b/openssl/1.0/include/openssl/asn1.h new file mode 100644 index 0000000..36e79d5 --- /dev/null +++ b/openssl/1.0/include/openssl/asn1.h @@ -0,0 +1,1424 @@ +/* crypto/asn1/asn1.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ASN1_H +# define HEADER_ASN1_H + +# include +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include + +# include + +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define V_ASN1_UNIVERSAL 0x00 +# define V_ASN1_APPLICATION 0x40 +# define V_ASN1_CONTEXT_SPECIFIC 0x80 +# define V_ASN1_PRIVATE 0xc0 + +# define V_ASN1_CONSTRUCTED 0x20 +# define V_ASN1_PRIMITIVE_TAG 0x1f +# define V_ASN1_PRIMATIVE_TAG 0x1f + +# define V_ASN1_APP_CHOOSE -2/* let the recipient choose */ +# define V_ASN1_OTHER -3/* used in ASN1_TYPE */ +# define V_ASN1_ANY -4/* used in ASN1 template code */ + +# define V_ASN1_NEG 0x100/* negative flag */ + +# define V_ASN1_UNDEF -1 +# define V_ASN1_EOC 0 +# define V_ASN1_BOOLEAN 1 /**/ +# define V_ASN1_INTEGER 2 +# define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +# define V_ASN1_BIT_STRING 3 +# define V_ASN1_OCTET_STRING 4 +# define V_ASN1_NULL 5 +# define V_ASN1_OBJECT 6 +# define V_ASN1_OBJECT_DESCRIPTOR 7 +# define V_ASN1_EXTERNAL 8 +# define V_ASN1_REAL 9 +# define V_ASN1_ENUMERATED 10 +# define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) +# define V_ASN1_UTF8STRING 12 +# define V_ASN1_SEQUENCE 16 +# define V_ASN1_SET 17 +# define V_ASN1_NUMERICSTRING 18 /**/ +# define V_ASN1_PRINTABLESTRING 19 +# define V_ASN1_T61STRING 20 +# define V_ASN1_TELETEXSTRING 20/* alias */ +# define V_ASN1_VIDEOTEXSTRING 21 /**/ +# define V_ASN1_IA5STRING 22 +# define V_ASN1_UTCTIME 23 +# define V_ASN1_GENERALIZEDTIME 24 /**/ +# define V_ASN1_GRAPHICSTRING 25 /**/ +# define V_ASN1_ISO64STRING 26 /**/ +# define V_ASN1_VISIBLESTRING 26/* alias */ +# define V_ASN1_GENERALSTRING 27 /**/ +# define V_ASN1_UNIVERSALSTRING 28 /**/ +# define V_ASN1_BMPSTRING 30 +/* For use with d2i_ASN1_type_bytes() */ +# define B_ASN1_NUMERICSTRING 0x0001 +# define B_ASN1_PRINTABLESTRING 0x0002 +# define B_ASN1_T61STRING 0x0004 +# define B_ASN1_TELETEXSTRING 0x0004 +# define B_ASN1_VIDEOTEXSTRING 0x0008 +# define B_ASN1_IA5STRING 0x0010 +# define B_ASN1_GRAPHICSTRING 0x0020 +# define B_ASN1_ISO64STRING 0x0040 +# define B_ASN1_VISIBLESTRING 0x0040 +# define B_ASN1_GENERALSTRING 0x0080 +# define B_ASN1_UNIVERSALSTRING 0x0100 +# define B_ASN1_OCTET_STRING 0x0200 +# define B_ASN1_BIT_STRING 0x0400 +# define B_ASN1_BMPSTRING 0x0800 +# define B_ASN1_UNKNOWN 0x1000 +# define B_ASN1_UTF8STRING 0x2000 +# define B_ASN1_UTCTIME 0x4000 +# define B_ASN1_GENERALIZEDTIME 0x8000 +# define B_ASN1_SEQUENCE 0x10000 +/* For use with ASN1_mbstring_copy() */ +# define MBSTRING_FLAG 0x1000 +# define MBSTRING_UTF8 (MBSTRING_FLAG) +# define MBSTRING_ASC (MBSTRING_FLAG|1) +# define MBSTRING_BMP (MBSTRING_FLAG|2) +# define MBSTRING_UNIV (MBSTRING_FLAG|4) +# define SMIME_OLDMIME 0x400 +# define SMIME_CRLFEOL 0x800 +# define SMIME_STREAM 0x1000 + struct X509_algor_st; +DECLARE_STACK_OF(X509_ALGOR) + +# define DECLARE_ASN1_SET_OF(type)/* filled in by mkstack.pl */ +# define IMPLEMENT_ASN1_SET_OF(type)/* nothing, no longer needed */ + +/* + * We MUST make sure that, except for constness, asn1_ctx_st and + * asn1_const_ctx are exactly the same. Fortunately, as soon as the old ASN1 + * parsing macros are gone, we can throw this away as well... + */ +typedef struct asn1_ctx_st { + unsigned char *p; /* work char pointer */ + int eos; /* end of sequence read for indefinite + * encoding */ + int error; /* error code to use when returning an error */ + int inf; /* constructed if 0x20, indefinite is 0x21 */ + int tag; /* tag from last 'get object' */ + int xclass; /* class from last 'get object' */ + long slen; /* length of last 'get object' */ + unsigned char *max; /* largest value of p allowed */ + unsigned char *q; /* temporary variable */ + unsigned char **pp; /* variable */ + int line; /* used in error processing */ +} ASN1_CTX; + +typedef struct asn1_const_ctx_st { + const unsigned char *p; /* work char pointer */ + int eos; /* end of sequence read for indefinite + * encoding */ + int error; /* error code to use when returning an error */ + int inf; /* constructed if 0x20, indefinite is 0x21 */ + int tag; /* tag from last 'get object' */ + int xclass; /* class from last 'get object' */ + long slen; /* length of last 'get object' */ + const unsigned char *max; /* largest value of p allowed */ + const unsigned char *q; /* temporary variable */ + const unsigned char **pp; /* variable */ + int line; /* used in error processing */ +} ASN1_const_CTX; + +/* + * These are used internally in the ASN1_OBJECT to keep track of whether the + * names and data need to be free()ed + */ +# define ASN1_OBJECT_FLAG_DYNAMIC 0x01/* internal use */ +# define ASN1_OBJECT_FLAG_CRITICAL 0x02/* critical x509v3 object id */ +# define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04/* internal use */ +# define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08/* internal use */ +struct asn1_object_st { + const char *sn, *ln; + int nid; + int length; + const unsigned char *data; /* data remains const after init */ + int flags; /* Should we free this one */ +}; + +# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ +/* + * This indicates that the ASN1_STRING is not a real value but just a place + * holder for the location where indefinite length constructed data should be + * inserted in the memory buffer + */ +# define ASN1_STRING_FLAG_NDEF 0x010 + +/* + * This flag is used by the CMS code to indicate that a string is not + * complete and is a place holder for content when it had all been accessed. + * The flag will be reset when content has been written to it. + */ + +# define ASN1_STRING_FLAG_CONT 0x020 +/* + * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING + * type. + */ +# define ASN1_STRING_FLAG_MSTRING 0x040 +/* This is the base type that holds just about everything :-) */ +struct asn1_string_st { + int length; + int type; + unsigned char *data; + /* + * The value of the following field depends on the type being held. It + * is mostly being used for BIT_STRING so if the input data has a + * non-zero 'unused bits' value, it will be handled correctly + */ + long flags; +}; + +/* + * ASN1_ENCODING structure: this is used to save the received encoding of an + * ASN1 type. This is useful to get round problems with invalid encodings + * which can break signatures. + */ + +typedef struct ASN1_ENCODING_st { + unsigned char *enc; /* DER encoding */ + long len; /* Length of encoding */ + int modified; /* set to 1 if 'enc' is invalid */ +} ASN1_ENCODING; + +/* Used with ASN1 LONG type: if a long is set to this it is omitted */ +# define ASN1_LONG_UNDEF 0x7fffffffL + +# define STABLE_FLAGS_MALLOC 0x01 +# define STABLE_NO_MASK 0x02 +# define DIRSTRING_TYPE \ + (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) +# define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) + +typedef struct asn1_string_table_st { + int nid; + long minsize; + long maxsize; + unsigned long mask; + unsigned long flags; +} ASN1_STRING_TABLE; + +DECLARE_STACK_OF(ASN1_STRING_TABLE) + +/* size limits: this stuff is taken straight from RFC2459 */ + +# define ub_name 32768 +# define ub_common_name 64 +# define ub_locality_name 128 +# define ub_state_name 128 +# define ub_organization_name 64 +# define ub_organization_unit_name 64 +# define ub_title 64 +# define ub_email_address 128 + +/* + * Declarations for template structures: for full definitions see asn1t.h + */ +typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; +typedef struct ASN1_TLC_st ASN1_TLC; +/* This is just an opaque pointer */ +typedef struct ASN1_VALUE_st ASN1_VALUE; + +/* Declare ASN1 functions: the implement macro in in asn1t.h */ + +# define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(itname) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(name) + +# define DECLARE_ASN1_NDEF_FUNCTION(name) \ + int i2d_##name##_NDEF(name *a, unsigned char **out); + +# define DECLARE_ASN1_FUNCTIONS_const(name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + type *name##_new(void); \ + void name##_free(type *a); + +# define DECLARE_ASN1_PRINT_FUNCTION(stname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) + +# define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx); + +# define D2I_OF(type) type *(*)(type **,const unsigned char **,long) +# define I2D_OF(type) int (*)(type *,unsigned char **) +# define I2D_OF_const(type) int (*)(const type *,unsigned char **) + +# define CHECKED_D2I_OF(type, d2i) \ + ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) +# define CHECKED_I2D_OF(type, i2d) \ + ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) +# define CHECKED_NEW_OF(type, xnew) \ + ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) +# define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +# define CHECKED_PPTR_OF(type, p) \ + ((void**) (1 ? p : (type**)0)) + +# define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) +# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) +# define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) + +TYPEDEF_D2I2D_OF(void); + +/*- + * The following macros and typedefs allow an ASN1_ITEM + * to be embedded in a structure and referenced. Since + * the ASN1_ITEM pointers need to be globally accessible + * (possibly from shared libraries) they may exist in + * different forms. On platforms that support it the + * ASN1_ITEM structure itself will be globally exported. + * Other platforms will export a function that returns + * an ASN1_ITEM pointer. + * + * To handle both cases transparently the macros below + * should be used instead of hard coding an ASN1_ITEM + * pointer in a structure. + * + * The structure will look like this: + * + * typedef struct SOMETHING_st { + * ... + * ASN1_ITEM_EXP *iptr; + * ... + * } SOMETHING; + * + * It would be initialised as e.g.: + * + * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; + * + * and the actual pointer extracted with: + * + * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); + * + * Finally an ASN1_ITEM pointer can be extracted from an + * appropriate reference with: ASN1_ITEM_rptr(X509). This + * would be used when a function takes an ASN1_ITEM * argument. + * + */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM ASN1_ITEM_EXP; + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (&(iptr##_it)) + +# define ASN1_ITEM_rptr(ref) (&(ref##_it)) + +# define DECLARE_ASN1_ITEM(name) \ + OPENSSL_EXTERN const ASN1_ITEM name##_it; + +# else + +/* + * Platforms that can't easily handle shared global variables are declared as + * functions returning ASN1_ITEM pointers. + */ + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr()) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (iptr##_it) + +# define ASN1_ITEM_rptr(ref) (ref##_it()) + +# define DECLARE_ASN1_ITEM(name) \ + const ASN1_ITEM * name##_it(void); + +# endif + +/* Parameters used by ASN1_STRING_print_ex() */ + +/* + * These determine which characters to escape: RFC2253 special characters, + * control characters and MSB set characters + */ + +# define ASN1_STRFLGS_ESC_2253 1 +# define ASN1_STRFLGS_ESC_CTRL 2 +# define ASN1_STRFLGS_ESC_MSB 4 + +/* + * This flag determines how we do escaping: normally RC2253 backslash only, + * set this to use backslash and quote. + */ + +# define ASN1_STRFLGS_ESC_QUOTE 8 + +/* These three flags are internal use only. */ + +/* Character is a valid PrintableString character */ +# define CHARTYPE_PRINTABLESTRING 0x10 +/* Character needs escaping if it is the first character */ +# define CHARTYPE_FIRST_ESC_2253 0x20 +/* Character needs escaping if it is the last character */ +# define CHARTYPE_LAST_ESC_2253 0x40 + +/* + * NB the internal flags are safely reused below by flags handled at the top + * level. + */ + +/* + * If this is set we convert all character strings to UTF8 first + */ + +# define ASN1_STRFLGS_UTF8_CONVERT 0x10 + +/* + * If this is set we don't attempt to interpret content: just assume all + * strings are 1 byte per character. This will produce some pretty odd + * looking output! + */ + +# define ASN1_STRFLGS_IGNORE_TYPE 0x20 + +/* If this is set we include the string type in the output */ +# define ASN1_STRFLGS_SHOW_TYPE 0x40 + +/* + * This determines which strings to display and which to 'dump' (hex dump of + * content octets or DER encoding). We can only dump non character strings or + * everything. If we don't dump 'unknown' they are interpreted as character + * strings with 1 octet per character and are subject to the usual escaping + * options. + */ + +# define ASN1_STRFLGS_DUMP_ALL 0x80 +# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 + +/* + * These determine what 'dumping' does, we can dump the content octets or the + * DER encoding: both use the RFC2253 #XXXXX notation. + */ + +# define ASN1_STRFLGS_DUMP_DER 0x200 + +/* + * All the string flags consistent with RFC2253, escaping control characters + * isn't essential in RFC2253 but it is advisable anyway. + */ + +# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + +DECLARE_STACK_OF(ASN1_INTEGER) +DECLARE_ASN1_SET_OF(ASN1_INTEGER) + +DECLARE_STACK_OF(ASN1_GENERALSTRING) + +typedef struct asn1_type_st { + int type; + union { + char *ptr; + ASN1_BOOLEAN boolean; + ASN1_STRING *asn1_string; + ASN1_OBJECT *object; + ASN1_INTEGER *integer; + ASN1_ENUMERATED *enumerated; + ASN1_BIT_STRING *bit_string; + ASN1_OCTET_STRING *octet_string; + ASN1_PRINTABLESTRING *printablestring; + ASN1_T61STRING *t61string; + ASN1_IA5STRING *ia5string; + ASN1_GENERALSTRING *generalstring; + ASN1_BMPSTRING *bmpstring; + ASN1_UNIVERSALSTRING *universalstring; + ASN1_UTCTIME *utctime; + ASN1_GENERALIZEDTIME *generalizedtime; + ASN1_VISIBLESTRING *visiblestring; + ASN1_UTF8STRING *utf8string; + /* + * set and sequence are left complete and still contain the set or + * sequence bytes + */ + ASN1_STRING *set; + ASN1_STRING *sequence; + ASN1_VALUE *asn1_value; + } value; +} ASN1_TYPE; + +DECLARE_STACK_OF(ASN1_TYPE) +DECLARE_ASN1_SET_OF(ASN1_TYPE) + +typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) + +typedef struct NETSCAPE_X509_st { + ASN1_OCTET_STRING *header; + X509 *cert; +} NETSCAPE_X509; + +/* This is used to contain a list of bit names */ +typedef struct BIT_STRING_BITNAME_st { + int bitnum; + const char *lname; + const char *sname; +} BIT_STRING_BITNAME; + +# define M_ASN1_STRING_length(x) ((x)->length) +# define M_ASN1_STRING_length_set(x, n) ((x)->length = (n)) +# define M_ASN1_STRING_type(x) ((x)->type) +# define M_ASN1_STRING_data(x) ((x)->data) + +/* Macros for string operations */ +# define M_ASN1_BIT_STRING_new() (ASN1_BIT_STRING *)\ + ASN1_STRING_type_new(V_ASN1_BIT_STRING) +# define M_ASN1_BIT_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_BIT_STRING_dup(a) (ASN1_BIT_STRING *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_BIT_STRING_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) +# define M_ASN1_BIT_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) + +# define M_ASN1_INTEGER_new() (ASN1_INTEGER *)\ + ASN1_STRING_type_new(V_ASN1_INTEGER) +# define M_ASN1_INTEGER_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_INTEGER_dup(a) (ASN1_INTEGER *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_INTEGER_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) + +# define M_ASN1_ENUMERATED_new() (ASN1_ENUMERATED *)\ + ASN1_STRING_type_new(V_ASN1_ENUMERATED) +# define M_ASN1_ENUMERATED_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_ENUMERATED_dup(a) (ASN1_ENUMERATED *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_ENUMERATED_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) + +# define M_ASN1_OCTET_STRING_new() (ASN1_OCTET_STRING *)\ + ASN1_STRING_type_new(V_ASN1_OCTET_STRING) +# define M_ASN1_OCTET_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_OCTET_STRING_dup(a) (ASN1_OCTET_STRING *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_OCTET_STRING_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) +# define M_ASN1_OCTET_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) +# define M_ASN1_OCTET_STRING_print(a,b) ASN1_STRING_print(a,(ASN1_STRING *)b) +# define M_i2d_ASN1_OCTET_STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_OCTET_STRING,\ + V_ASN1_UNIVERSAL) + +# define B_ASN1_TIME \ + B_ASN1_UTCTIME | \ + B_ASN1_GENERALIZEDTIME + +# define B_ASN1_PRINTABLE \ + B_ASN1_NUMERICSTRING| \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_T61STRING| \ + B_ASN1_IA5STRING| \ + B_ASN1_BIT_STRING| \ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING|\ + B_ASN1_SEQUENCE|\ + B_ASN1_UNKNOWN + +# define B_ASN1_DIRECTORYSTRING \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_TELETEXSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_UTF8STRING + +# define B_ASN1_DISPLAYTEXT \ + B_ASN1_IA5STRING| \ + B_ASN1_VISIBLESTRING| \ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING + +# define M_ASN1_PRINTABLE_new() ASN1_STRING_type_new(V_ASN1_T61STRING) +# define M_ASN1_PRINTABLE_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_PRINTABLE(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_PRINTABLE(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_PRINTABLE) + +# define M_DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) +# define M_DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +# define M_d2i_DIRECTORYSTRING(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_DIRECTORYSTRING) + +# define M_DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) +# define M_DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +# define M_d2i_DISPLAYTEXT(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_DISPLAYTEXT) + +# define M_ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\ + ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) +# define M_ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_PRINTABLESTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_PRINTABLESTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_PRINTABLESTRING(a,pp,l) \ + (ASN1_PRINTABLESTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_PRINTABLESTRING) + +# define M_ASN1_T61STRING_new() (ASN1_T61STRING *)\ + ASN1_STRING_type_new(V_ASN1_T61STRING) +# define M_ASN1_T61STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_T61STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_T61STRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_T61STRING(a,pp,l) \ + (ASN1_T61STRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_T61STRING) + +# define M_ASN1_IA5STRING_new() (ASN1_IA5STRING *)\ + ASN1_STRING_type_new(V_ASN1_IA5STRING) +# define M_ASN1_IA5STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_IA5STRING_dup(a) \ + (ASN1_IA5STRING *)ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_i2d_ASN1_IA5STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_IA5STRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_IA5STRING(a,pp,l) \ + (ASN1_IA5STRING *)d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l,\ + B_ASN1_IA5STRING) + +# define M_ASN1_UTCTIME_new() (ASN1_UTCTIME *)\ + ASN1_STRING_type_new(V_ASN1_UTCTIME) +# define M_ASN1_UTCTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_UTCTIME_dup(a) (ASN1_UTCTIME *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) + +# define M_ASN1_GENERALIZEDTIME_new() (ASN1_GENERALIZEDTIME *)\ + ASN1_STRING_type_new(V_ASN1_GENERALIZEDTIME) +# define M_ASN1_GENERALIZEDTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_GENERALIZEDTIME_dup(a) (ASN1_GENERALIZEDTIME *)ASN1_STRING_dup(\ + (const ASN1_STRING *)a) + +# define M_ASN1_TIME_new() (ASN1_TIME *)\ + ASN1_STRING_type_new(V_ASN1_UTCTIME) +# define M_ASN1_TIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_TIME_dup(a) (ASN1_TIME *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) + +# define M_ASN1_GENERALSTRING_new() (ASN1_GENERALSTRING *)\ + ASN1_STRING_type_new(V_ASN1_GENERALSTRING) +# define M_ASN1_GENERALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_GENERALSTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_GENERALSTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_GENERALSTRING(a,pp,l) \ + (ASN1_GENERALSTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_GENERALSTRING) + +# define M_ASN1_UNIVERSALSTRING_new() (ASN1_UNIVERSALSTRING *)\ + ASN1_STRING_type_new(V_ASN1_UNIVERSALSTRING) +# define M_ASN1_UNIVERSALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_UNIVERSALSTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UNIVERSALSTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_UNIVERSALSTRING(a,pp,l) \ + (ASN1_UNIVERSALSTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_UNIVERSALSTRING) + +# define M_ASN1_BMPSTRING_new() (ASN1_BMPSTRING *)\ + ASN1_STRING_type_new(V_ASN1_BMPSTRING) +# define M_ASN1_BMPSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_BMPSTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_BMPSTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_BMPSTRING(a,pp,l) \ + (ASN1_BMPSTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_BMPSTRING) + +# define M_ASN1_VISIBLESTRING_new() (ASN1_VISIBLESTRING *)\ + ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) +# define M_ASN1_VISIBLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_VISIBLESTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_VISIBLESTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_VISIBLESTRING(a,pp,l) \ + (ASN1_VISIBLESTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_VISIBLESTRING) + +# define M_ASN1_UTF8STRING_new() (ASN1_UTF8STRING *)\ + ASN1_STRING_type_new(V_ASN1_UTF8STRING) +# define M_ASN1_UTF8STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_UTF8STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UTF8STRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_UTF8STRING(a,pp,l) \ + (ASN1_UTF8STRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_UTF8STRING) + + /* for the is_set parameter to i2d_ASN1_SET */ +# define IS_SEQUENCE 0 +# define IS_SET 1 + +DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) + +int ASN1_TYPE_get(ASN1_TYPE *a); +void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); +int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); +int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); + +ASN1_OBJECT *ASN1_OBJECT_new(void); +void ASN1_OBJECT_free(ASN1_OBJECT *a); +int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp); +ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); +ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); + +DECLARE_ASN1_ITEM(ASN1_OBJECT) + +DECLARE_STACK_OF(ASN1_OBJECT) +DECLARE_ASN1_SET_OF(ASN1_OBJECT) + +ASN1_STRING *ASN1_STRING_new(void); +void ASN1_STRING_free(ASN1_STRING *a); +void ASN1_STRING_clear_free(ASN1_STRING *a); +int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); +ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); +ASN1_STRING *ASN1_STRING_type_new(int type); +int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); + /* + * Since this is used to store all sorts of things, via macros, for now, + * make its data void * + */ +int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); +void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); +int ASN1_STRING_length(const ASN1_STRING *x); +void ASN1_STRING_length_set(ASN1_STRING *x, int n); +int ASN1_STRING_type(ASN1_STRING *x); +unsigned char *ASN1_STRING_data(ASN1_STRING *x); + +DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) +int i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp); +ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, + const unsigned char **pp, long length); +int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); +int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); +int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n); +int ASN1_BIT_STRING_check(ASN1_BIT_STRING *a, + unsigned char *flags, int flags_len); + +# ifndef OPENSSL_NO_BIO +int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, + BIT_STRING_BITNAME *tbl, int indent); +# endif +int ASN1_BIT_STRING_num_asc(char *name, BIT_STRING_BITNAME *tbl); +int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, char *name, int value, + BIT_STRING_BITNAME *tbl); + +int i2d_ASN1_BOOLEAN(int a, unsigned char **pp); +int d2i_ASN1_BOOLEAN(int *a, const unsigned char **pp, long length); + +DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) +int i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp); +ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); +int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); + +DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) + +int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); +ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); +ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); +int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); +# if 0 +time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s); +# endif + +int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, + time_t t); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, + time_t t, int offset_day, + long offset_sec); +int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); +int ASN1_TIME_diff(int *pday, int *psec, + const ASN1_TIME *from, const ASN1_TIME *to); + +DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) +ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); +int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, + const ASN1_OCTET_STRING *b); +int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, + int len); + +DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_NULL) +DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) + +int UTF8_getc(const unsigned char *str, int len, unsigned long *val); +int UTF8_putc(unsigned char *str, int len, unsigned long value); + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) +DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_TIME) + +DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) + +ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); +ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_TIME_check(ASN1_TIME *t); +ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME + **out); +int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); + +int i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, + i2d_of_void *i2d, int ex_tag, int ex_class, int is_set); +STACK_OF(OPENSSL_BLOCK) *d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, + const unsigned char **pp, + long length, d2i_of_void *d2i, + void (*free_func) (OPENSSL_BLOCK), + int ex_tag, int ex_class); + +# ifndef OPENSSL_NO_BIO +int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); +int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); +int i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a); +int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); +int i2a_ASN1_OBJECT(BIO *bp, ASN1_OBJECT *a); +int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); +int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type); +# endif +int i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *a); + +int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); +ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, + const char *sn, const char *ln); + +int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); +long ASN1_INTEGER_get(const ASN1_INTEGER *a); +ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); +BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); + +int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); +long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a); +ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); +BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai, BIGNUM *bn); + +/* General */ +/* given a string, return the correct type, max is the maximum length */ +int ASN1_PRINTABLE_type(const unsigned char *s, int max); + +int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass); +ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, + long length, int Ptag, int Pclass); +unsigned long ASN1_tag2bit(int tag); +/* type is one or more of the B_ASN1_ values. */ +ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, + long length, int type); + +/* PARSING */ +int asn1_Finish(ASN1_CTX *c); +int asn1_const_Finish(ASN1_const_CTX *c); + +/* SPECIALS */ +int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, + int *pclass, long omax); +int ASN1_check_infinite_end(unsigned char **p, long len); +int ASN1_const_check_infinite_end(const unsigned char **p, long len); +void ASN1_put_object(unsigned char **pp, int constructed, int length, + int tag, int xclass); +int ASN1_put_eoc(unsigned char **pp); +int ASN1_object_size(int constructed, int length, int tag); + +/* Used to implement other functions */ +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); + +# define ASN1_dup_of(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_dup_of_const(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(const type, x))) + +void *ASN1_item_dup(const ASN1_ITEM *it, void *x); + +/* ASN1 alloc/free macros for when a type is only used internally */ + +# define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) +# define M_ASN1_free_of(x, type) \ + ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) + +# ifndef OPENSSL_NO_FP_API +void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); + +# define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); + +# define ASN1_i2d_fp_of(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_fp_of_const(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); +int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags); +# endif + +int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); + +# ifndef OPENSSL_NO_BIO +void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); + +# define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); + +# define ASN1_i2d_bio_of(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_bio_of_const(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); +int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); +int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); +int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); +int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); +int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags); +int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, + unsigned char *buf, int off); +int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); +int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, + int dump); +# endif +const char *ASN1_tag2str(int tag); + +/* Used to load and write netscape format cert */ + +DECLARE_ASN1_FUNCTIONS(NETSCAPE_X509) + +int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); + +int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); +int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, int max_len); +int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, + unsigned char *data, int len); +int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, + unsigned char *data, int max_len); + +STACK_OF(OPENSSL_BLOCK) *ASN1_seq_unpack(const unsigned char *buf, int len, + d2i_of_void *d2i, + void (*free_func) (OPENSSL_BLOCK)); +unsigned char *ASN1_seq_pack(STACK_OF(OPENSSL_BLOCK) *safes, i2d_of_void *i2d, + unsigned char **buf, int *len); +void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i); +void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); +ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, + ASN1_OCTET_STRING **oct); + +# define ASN1_pack_string_of(type,obj,i2d,oct) \ + (ASN1_pack_string(CHECKED_PTR_OF(type, obj), \ + CHECKED_I2D_OF(type, i2d), \ + oct)) + +ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, + ASN1_OCTET_STRING **oct); + +void ASN1_STRING_set_default_mask(unsigned long mask); +int ASN1_STRING_set_default_mask_asc(const char *p); +unsigned long ASN1_STRING_get_default_mask(void); +int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask); +int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask, + long minsize, long maxsize); + +ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, + const unsigned char *in, int inlen, + int inform, int nid); +ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); +int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); +void ASN1_STRING_TABLE_cleanup(void); + +/* ASN1 template functions */ + +/* Old API compatible functions */ +ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); +void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); +ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, + long len, const ASN1_ITEM *it); +int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); +int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, + const ASN1_ITEM *it); + +void ASN1_add_oid_module(void); + +ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf); +ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf); + +/* ASN1 Print flags */ + +/* Indicate missing OPTIONAL fields */ +# define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 +/* Mark start and end of SEQUENCE */ +# define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 +/* Mark start and end of SEQUENCE/SET OF */ +# define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 +/* Show the ASN1 type of primitives */ +# define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 +/* Don't show ASN1 type of ANY */ +# define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 +/* Don't show ASN1 type of MSTRINGs */ +# define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 +/* Don't show field names in SEQUENCE */ +# define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 +/* Show structure names of each SEQUENCE field */ +# define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 +/* Don't show structure name even at top level */ +# define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 + +int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, + const ASN1_ITEM *it, const ASN1_PCTX *pctx); +ASN1_PCTX *ASN1_PCTX_new(void); +void ASN1_PCTX_free(ASN1_PCTX *p); +unsigned long ASN1_PCTX_get_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_nm_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_cert_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_oid_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_str_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); + +BIO_METHOD *BIO_f_asn1(void); + +BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); + +int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const ASN1_ITEM *it); +int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const char *hdr, const ASN1_ITEM *it); +int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, + int ctype_nid, int econt_nid, + STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); +int SMIME_crlf_copy(BIO *in, BIO *out, int flags); +int SMIME_text(BIO *in, BIO *out); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +void ERR_load_ASN1_strings(void); + +/* Error codes for the ASN1 functions. */ + +/* Function codes. */ +# define ASN1_F_A2D_ASN1_OBJECT 100 +# define ASN1_F_A2I_ASN1_ENUMERATED 101 +# define ASN1_F_A2I_ASN1_INTEGER 102 +# define ASN1_F_A2I_ASN1_STRING 103 +# define ASN1_F_APPEND_EXP 176 +# define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 +# define ASN1_F_ASN1_CB 177 +# define ASN1_F_ASN1_CHECK_TLEN 104 +# define ASN1_F_ASN1_COLLATE_PRIMITIVE 105 +# define ASN1_F_ASN1_COLLECT 106 +# define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 +# define ASN1_F_ASN1_D2I_FP 109 +# define ASN1_F_ASN1_D2I_READ_BIO 107 +# define ASN1_F_ASN1_DIGEST 184 +# define ASN1_F_ASN1_DO_ADB 110 +# define ASN1_F_ASN1_DUP 111 +# define ASN1_F_ASN1_ENUMERATED_SET 112 +# define ASN1_F_ASN1_ENUMERATED_TO_BN 113 +# define ASN1_F_ASN1_EX_C2I 204 +# define ASN1_F_ASN1_FIND_END 190 +# define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 +# define ASN1_F_ASN1_GENERALIZEDTIME_SET 185 +# define ASN1_F_ASN1_GENERATE_V3 178 +# define ASN1_F_ASN1_GET_OBJECT 114 +# define ASN1_F_ASN1_HEADER_NEW 115 +# define ASN1_F_ASN1_I2D_BIO 116 +# define ASN1_F_ASN1_I2D_FP 117 +# define ASN1_F_ASN1_INTEGER_SET 118 +# define ASN1_F_ASN1_INTEGER_TO_BN 119 +# define ASN1_F_ASN1_ITEM_D2I_FP 206 +# define ASN1_F_ASN1_ITEM_DUP 191 +# define ASN1_F_ASN1_ITEM_EX_COMBINE_NEW 121 +# define ASN1_F_ASN1_ITEM_EX_D2I 120 +# define ASN1_F_ASN1_ITEM_I2D_BIO 192 +# define ASN1_F_ASN1_ITEM_I2D_FP 193 +# define ASN1_F_ASN1_ITEM_PACK 198 +# define ASN1_F_ASN1_ITEM_SIGN 195 +# define ASN1_F_ASN1_ITEM_SIGN_CTX 220 +# define ASN1_F_ASN1_ITEM_UNPACK 199 +# define ASN1_F_ASN1_ITEM_VERIFY 197 +# define ASN1_F_ASN1_MBSTRING_NCOPY 122 +# define ASN1_F_ASN1_OBJECT_NEW 123 +# define ASN1_F_ASN1_OUTPUT_DATA 214 +# define ASN1_F_ASN1_PACK_STRING 124 +# define ASN1_F_ASN1_PCTX_NEW 205 +# define ASN1_F_ASN1_PKCS5_PBE_SET 125 +# define ASN1_F_ASN1_SEQ_PACK 126 +# define ASN1_F_ASN1_SEQ_UNPACK 127 +# define ASN1_F_ASN1_SIGN 128 +# define ASN1_F_ASN1_STR2TYPE 179 +# define ASN1_F_ASN1_STRING_SET 186 +# define ASN1_F_ASN1_STRING_TABLE_ADD 129 +# define ASN1_F_ASN1_STRING_TYPE_NEW 130 +# define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 +# define ASN1_F_ASN1_TEMPLATE_NEW 133 +# define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 +# define ASN1_F_ASN1_TIME_ADJ 217 +# define ASN1_F_ASN1_TIME_SET 175 +# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 +# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 +# define ASN1_F_ASN1_UNPACK_STRING 136 +# define ASN1_F_ASN1_UTCTIME_ADJ 218 +# define ASN1_F_ASN1_UTCTIME_SET 187 +# define ASN1_F_ASN1_VERIFY 137 +# define ASN1_F_B64_READ_ASN1 209 +# define ASN1_F_B64_WRITE_ASN1 210 +# define ASN1_F_BIO_NEW_NDEF 208 +# define ASN1_F_BITSTR_CB 180 +# define ASN1_F_BN_TO_ASN1_ENUMERATED 138 +# define ASN1_F_BN_TO_ASN1_INTEGER 139 +# define ASN1_F_C2I_ASN1_BIT_STRING 189 +# define ASN1_F_C2I_ASN1_INTEGER 194 +# define ASN1_F_C2I_ASN1_OBJECT 196 +# define ASN1_F_COLLECT_DATA 140 +# define ASN1_F_D2I_ASN1_BIT_STRING 141 +# define ASN1_F_D2I_ASN1_BOOLEAN 142 +# define ASN1_F_D2I_ASN1_BYTES 143 +# define ASN1_F_D2I_ASN1_GENERALIZEDTIME 144 +# define ASN1_F_D2I_ASN1_HEADER 145 +# define ASN1_F_D2I_ASN1_INTEGER 146 +# define ASN1_F_D2I_ASN1_OBJECT 147 +# define ASN1_F_D2I_ASN1_SET 148 +# define ASN1_F_D2I_ASN1_TYPE_BYTES 149 +# define ASN1_F_D2I_ASN1_UINTEGER 150 +# define ASN1_F_D2I_ASN1_UTCTIME 151 +# define ASN1_F_D2I_AUTOPRIVATEKEY 207 +# define ASN1_F_D2I_NETSCAPE_RSA 152 +# define ASN1_F_D2I_NETSCAPE_RSA_2 153 +# define ASN1_F_D2I_PRIVATEKEY 154 +# define ASN1_F_D2I_PUBLICKEY 155 +# define ASN1_F_D2I_RSA_NET 200 +# define ASN1_F_D2I_RSA_NET_2 201 +# define ASN1_F_D2I_X509 156 +# define ASN1_F_D2I_X509_CINF 157 +# define ASN1_F_D2I_X509_PKEY 159 +# define ASN1_F_DO_BUF 221 +# define ASN1_F_I2D_ASN1_BIO_STREAM 211 +# define ASN1_F_I2D_ASN1_BOOLEAN 223 +# define ASN1_F_I2D_ASN1_OBJECT 222 +# define ASN1_F_I2D_ASN1_SET 188 +# define ASN1_F_I2D_ASN1_TIME 160 +# define ASN1_F_I2D_DSA_PUBKEY 161 +# define ASN1_F_I2D_EC_PUBKEY 181 +# define ASN1_F_I2D_PRIVATEKEY 163 +# define ASN1_F_I2D_PUBLICKEY 164 +# define ASN1_F_I2D_RSA_NET 162 +# define ASN1_F_I2D_RSA_PUBKEY 165 +# define ASN1_F_LONG_C2I 166 +# define ASN1_F_OID_MODULE_INIT 174 +# define ASN1_F_PARSE_TAGGING 182 +# define ASN1_F_PKCS5_PBE2_SET_IV 167 +# define ASN1_F_PKCS5_PBE_SET 202 +# define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 +# define ASN1_F_PKCS5_PBKDF2_SET 219 +# define ASN1_F_SMIME_READ_ASN1 212 +# define ASN1_F_SMIME_TEXT 213 +# define ASN1_F_X509_CINF_NEW 168 +# define ASN1_F_X509_CRL_ADD0_REVOKED 169 +# define ASN1_F_X509_INFO_NEW 170 +# define ASN1_F_X509_NAME_ENCODE 203 +# define ASN1_F_X509_NAME_EX_D2I 158 +# define ASN1_F_X509_NAME_EX_NEW 171 +# define ASN1_F_X509_NEW 172 +# define ASN1_F_X509_PKEY_NEW 173 + +/* Reason codes. */ +# define ASN1_R_ADDING_OBJECT 171 +# define ASN1_R_ASN1_PARSE_ERROR 203 +# define ASN1_R_ASN1_SIG_PARSE_ERROR 204 +# define ASN1_R_AUX_ERROR 100 +# define ASN1_R_BAD_CLASS 101 +# define ASN1_R_BAD_OBJECT_HEADER 102 +# define ASN1_R_BAD_PASSWORD_READ 103 +# define ASN1_R_BAD_TAG 104 +# define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214 +# define ASN1_R_BN_LIB 105 +# define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 +# define ASN1_R_BUFFER_TOO_SMALL 107 +# define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108 +# define ASN1_R_CONTEXT_NOT_INITIALISED 217 +# define ASN1_R_DATA_IS_WRONG 109 +# define ASN1_R_DECODE_ERROR 110 +# define ASN1_R_DECODING_ERROR 111 +# define ASN1_R_DEPTH_EXCEEDED 174 +# define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 198 +# define ASN1_R_ENCODE_ERROR 112 +# define ASN1_R_ERROR_GETTING_TIME 173 +# define ASN1_R_ERROR_LOADING_SECTION 172 +# define ASN1_R_ERROR_PARSING_SET_ELEMENT 113 +# define ASN1_R_ERROR_SETTING_CIPHER_PARAMS 114 +# define ASN1_R_EXPECTING_AN_INTEGER 115 +# define ASN1_R_EXPECTING_AN_OBJECT 116 +# define ASN1_R_EXPECTING_A_BOOLEAN 117 +# define ASN1_R_EXPECTING_A_TIME 118 +# define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119 +# define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120 +# define ASN1_R_FIELD_MISSING 121 +# define ASN1_R_FIRST_NUM_TOO_LARGE 122 +# define ASN1_R_HEADER_TOO_LONG 123 +# define ASN1_R_ILLEGAL_BITSTRING_FORMAT 175 +# define ASN1_R_ILLEGAL_BOOLEAN 176 +# define ASN1_R_ILLEGAL_CHARACTERS 124 +# define ASN1_R_ILLEGAL_FORMAT 177 +# define ASN1_R_ILLEGAL_HEX 178 +# define ASN1_R_ILLEGAL_IMPLICIT_TAG 179 +# define ASN1_R_ILLEGAL_INTEGER 180 +# define ASN1_R_ILLEGAL_NESTED_TAGGING 181 +# define ASN1_R_ILLEGAL_NULL 125 +# define ASN1_R_ILLEGAL_NULL_VALUE 182 +# define ASN1_R_ILLEGAL_OBJECT 183 +# define ASN1_R_ILLEGAL_OPTIONAL_ANY 126 +# define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 170 +# define ASN1_R_ILLEGAL_TAGGED_ANY 127 +# define ASN1_R_ILLEGAL_TIME_VALUE 184 +# define ASN1_R_INTEGER_NOT_ASCII_FORMAT 185 +# define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 128 +# define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 220 +# define ASN1_R_INVALID_BMPSTRING_LENGTH 129 +# define ASN1_R_INVALID_DIGIT 130 +# define ASN1_R_INVALID_MIME_TYPE 205 +# define ASN1_R_INVALID_MODIFIER 186 +# define ASN1_R_INVALID_NUMBER 187 +# define ASN1_R_INVALID_OBJECT_ENCODING 216 +# define ASN1_R_INVALID_SEPARATOR 131 +# define ASN1_R_INVALID_TIME_FORMAT 132 +# define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 +# define ASN1_R_INVALID_UTF8STRING 134 +# define ASN1_R_IV_TOO_LARGE 135 +# define ASN1_R_LENGTH_ERROR 136 +# define ASN1_R_LIST_ERROR 188 +# define ASN1_R_MIME_NO_CONTENT_TYPE 206 +# define ASN1_R_MIME_PARSE_ERROR 207 +# define ASN1_R_MIME_SIG_PARSE_ERROR 208 +# define ASN1_R_MISSING_EOC 137 +# define ASN1_R_MISSING_SECOND_NUMBER 138 +# define ASN1_R_MISSING_VALUE 189 +# define ASN1_R_MSTRING_NOT_UNIVERSAL 139 +# define ASN1_R_MSTRING_WRONG_TAG 140 +# define ASN1_R_NESTED_ASN1_STRING 197 +# define ASN1_R_NESTED_TOO_DEEP 219 +# define ASN1_R_NON_HEX_CHARACTERS 141 +# define ASN1_R_NOT_ASCII_FORMAT 190 +# define ASN1_R_NOT_ENOUGH_DATA 142 +# define ASN1_R_NO_CONTENT_TYPE 209 +# define ASN1_R_NO_DEFAULT_DIGEST 201 +# define ASN1_R_NO_MATCHING_CHOICE_TYPE 143 +# define ASN1_R_NO_MULTIPART_BODY_FAILURE 210 +# define ASN1_R_NO_MULTIPART_BOUNDARY 211 +# define ASN1_R_NO_SIG_CONTENT_TYPE 212 +# define ASN1_R_NULL_IS_WRONG_LENGTH 144 +# define ASN1_R_OBJECT_NOT_ASCII_FORMAT 191 +# define ASN1_R_ODD_NUMBER_OF_CHARS 145 +# define ASN1_R_PRIVATE_KEY_HEADER_MISSING 146 +# define ASN1_R_SECOND_NUMBER_TOO_LARGE 147 +# define ASN1_R_SEQUENCE_LENGTH_MISMATCH 148 +# define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 149 +# define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 192 +# define ASN1_R_SHORT_LINE 150 +# define ASN1_R_SIG_INVALID_MIME_TYPE 213 +# define ASN1_R_STREAMING_NOT_SUPPORTED 202 +# define ASN1_R_STRING_TOO_LONG 151 +# define ASN1_R_STRING_TOO_SHORT 152 +# define ASN1_R_TAG_VALUE_TOO_HIGH 153 +# define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154 +# define ASN1_R_TIME_NOT_ASCII_FORMAT 193 +# define ASN1_R_TOO_LONG 155 +# define ASN1_R_TYPE_NOT_CONSTRUCTED 156 +# define ASN1_R_TYPE_NOT_PRIMITIVE 218 +# define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157 +# define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158 +# define ASN1_R_UNEXPECTED_EOC 159 +# define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 215 +# define ASN1_R_UNKNOWN_FORMAT 160 +# define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 +# define ASN1_R_UNKNOWN_OBJECT_TYPE 162 +# define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE 163 +# define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 199 +# define ASN1_R_UNKNOWN_TAG 194 +# define ASN1_R_UNKOWN_FORMAT 195 +# define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 +# define ASN1_R_UNSUPPORTED_CIPHER 165 +# define ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM 166 +# define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 +# define ASN1_R_UNSUPPORTED_TYPE 196 +# define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 +# define ASN1_R_WRONG_TAG 168 +# define ASN1_R_WRONG_TYPE 169 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.0/include/openssl/asn1_mac.h b/openssl/1.0/include/openssl/asn1_mac.h new file mode 100644 index 0000000..abc6dc3 --- /dev/null +++ b/openssl/1.0/include/openssl/asn1_mac.h @@ -0,0 +1,579 @@ +/* crypto/asn1/asn1_mac.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ASN1_MAC_H +# define HEADER_ASN1_MAC_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef ASN1_MAC_ERR_LIB +# define ASN1_MAC_ERR_LIB ERR_LIB_ASN1 +# endif + +# define ASN1_MAC_H_err(f,r,line) \ + ERR_PUT_error(ASN1_MAC_ERR_LIB,(f),(r),__FILE__,(line)) + +# define M_ASN1_D2I_vars(a,type,func) \ + ASN1_const_CTX c; \ + type ret=NULL; \ + \ + c.pp=(const unsigned char **)pp; \ + c.q= *(const unsigned char **)pp; \ + c.error=ERR_R_NESTED_ASN1_ERROR; \ + if ((a == NULL) || ((*a) == NULL)) \ + { if ((ret=(type)func()) == NULL) \ + { c.line=__LINE__; goto err; } } \ + else ret=(*a); + +# define M_ASN1_D2I_Init() \ + c.p= *(const unsigned char **)pp; \ + c.max=(length == 0)?0:(c.p+length); + +# define M_ASN1_D2I_Finish_2(a) \ + if (!asn1_const_Finish(&c)) \ + { c.line=__LINE__; goto err; } \ + *(const unsigned char **)pp=c.p; \ + if (a != NULL) (*a)=ret; \ + return(ret); + +# define M_ASN1_D2I_Finish(a,func,e) \ + M_ASN1_D2I_Finish_2(a); \ +err:\ + ASN1_MAC_H_err((e),c.error,c.line); \ + asn1_add_error(*(const unsigned char **)pp,(int)(c.q- *pp)); \ + if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ + return(NULL) + +# define M_ASN1_D2I_start_sequence() \ + if (!asn1_GetSequence(&c,&length)) \ + { c.line=__LINE__; goto err; } +/* Begin reading ASN1 without a surrounding sequence */ +# define M_ASN1_D2I_begin() \ + c.slen = length; + +/* End reading ASN1 with no check on length */ +# define M_ASN1_D2I_Finish_nolen(a, func, e) \ + *pp=c.p; \ + if (a != NULL) (*a)=ret; \ + return(ret); \ +err:\ + ASN1_MAC_H_err((e),c.error,c.line); \ + asn1_add_error(*pp,(int)(c.q- *pp)); \ + if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ + return(NULL) + +# define M_ASN1_D2I_end_sequence() \ + (((c.inf&1) == 0)?(c.slen <= 0): \ + (c.eos=ASN1_const_check_infinite_end(&c.p,c.slen))) + +/* Don't use this with d2i_ASN1_BOOLEAN() */ +# define M_ASN1_D2I_get(b, func) \ + c.q=c.p; \ + if (func(&(b),&c.p,c.slen) == NULL) \ + {c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +/* Don't use this with d2i_ASN1_BOOLEAN() */ +# define M_ASN1_D2I_get_x(type,b,func) \ + c.q=c.p; \ + if (((D2I_OF(type))func)(&(b),&c.p,c.slen) == NULL) \ + {c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +/* use this instead () */ +# define M_ASN1_D2I_get_int(b,func) \ + c.q=c.p; \ + if (func(&(b),&c.p,c.slen) < 0) \ + {c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_opt(b,func,type) \ + if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ + == (V_ASN1_UNIVERSAL|(type)))) \ + { \ + M_ASN1_D2I_get(b,func); \ + } + +# define M_ASN1_D2I_get_int_opt(b,func,type) \ + if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ + == (V_ASN1_UNIVERSAL|(type)))) \ + { \ + M_ASN1_D2I_get_int(b,func); \ + } + +# define M_ASN1_D2I_get_imp(b,func, type) \ + M_ASN1_next=(_tmp& V_ASN1_CONSTRUCTED)|type; \ + c.q=c.p; \ + if (func(&(b),&c.p,c.slen) == NULL) \ + {c.line=__LINE__; M_ASN1_next_prev = _tmp; goto err; } \ + c.slen-=(c.p-c.q);\ + M_ASN1_next_prev=_tmp; + +# define M_ASN1_D2I_get_IMP_opt(b,func,tag,type) \ + if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) == \ + (V_ASN1_CONTEXT_SPECIFIC|(tag)))) \ + { \ + unsigned char _tmp = M_ASN1_next; \ + M_ASN1_D2I_get_imp(b,func, type);\ + } + +# define M_ASN1_D2I_get_set(r,func,free_func) \ + M_ASN1_D2I_get_imp_set(r,func,free_func, \ + V_ASN1_SET,V_ASN1_UNIVERSAL); + +# define M_ASN1_D2I_get_set_type(type,r,func,free_func) \ + M_ASN1_D2I_get_imp_set_type(type,r,func,free_func, \ + V_ASN1_SET,V_ASN1_UNIVERSAL); + +# define M_ASN1_D2I_get_set_opt(r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ + { M_ASN1_D2I_get_set(r,func,free_func); } + +# define M_ASN1_D2I_get_set_opt_type(type,r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ + { M_ASN1_D2I_get_set_type(type,r,func,free_func); } + +# define M_ASN1_I2D_len_SET_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_len_SET(a,f); + +# define M_ASN1_I2D_put_SET_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_put_SET(a,f); + +# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_put_SEQUENCE(a,f); + +# define M_ASN1_I2D_put_SEQUENCE_opt_type(type,a,f) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + M_ASN1_I2D_put_SEQUENCE_type(type,a,f); + +# define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ + if ((c.slen != 0) && \ + (M_ASN1_next == \ + (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ + { \ + M_ASN1_D2I_get_imp_set(b,func,free_func,\ + tag,V_ASN1_CONTEXT_SPECIFIC); \ + } + +# define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \ + if ((c.slen != 0) && \ + (M_ASN1_next == \ + (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ + { \ + M_ASN1_D2I_get_imp_set_type(type,b,func,free_func,\ + tag,V_ASN1_CONTEXT_SPECIFIC); \ + } + +# define M_ASN1_D2I_get_seq(r,func,free_func) \ + M_ASN1_D2I_get_imp_set(r,func,free_func,\ + V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); + +# define M_ASN1_D2I_get_seq_type(type,r,func,free_func) \ + M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ + V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) + +# define M_ASN1_D2I_get_seq_opt(r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ + { M_ASN1_D2I_get_seq(r,func,free_func); } + +# define M_ASN1_D2I_get_seq_opt_type(type,r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ + { M_ASN1_D2I_get_seq_type(type,r,func,free_func); } + +# define M_ASN1_D2I_get_IMP_set(r,func,free_func,x) \ + M_ASN1_D2I_get_imp_set(r,func,free_func,\ + x,V_ASN1_CONTEXT_SPECIFIC); + +# define M_ASN1_D2I_get_IMP_set_type(type,r,func,free_func,x) \ + M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ + x,V_ASN1_CONTEXT_SPECIFIC); + +# define M_ASN1_D2I_get_imp_set(r,func,free_func,a,b) \ + c.q=c.p; \ + if (d2i_ASN1_SET(&(r),&c.p,c.slen,(char *(*)())func,\ + (void (*)())free_func,a,b) == NULL) \ + { c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \ + c.q=c.p; \ + if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,\ + free_func,a,b) == NULL) \ + { c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_set_strings(r,func,a,b) \ + c.q=c.p; \ + if (d2i_ASN1_STRING_SET(&(r),&c.p,c.slen,a,b) == NULL) \ + { c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_EXP_opt(r,func,tag) \ + if ((c.slen != 0L) && (M_ASN1_next == \ + (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ + { \ + int Tinf,Ttag,Tclass; \ + long Tlen; \ + \ + c.q=c.p; \ + Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ + if (Tinf & 0x80) \ + { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ + c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ + Tlen = c.slen - (c.p - c.q) - 2; \ + if (func(&(r),&c.p,Tlen) == NULL) \ + { c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ + Tlen = c.slen - (c.p - c.q); \ + if(!ASN1_const_check_infinite_end(&c.p, Tlen)) \ + { c.error=ERR_R_MISSING_ASN1_EOS; \ + c.line=__LINE__; goto err; } \ + }\ + c.slen-=(c.p-c.q); \ + } + +# define M_ASN1_D2I_get_EXP_set_opt(r,func,free_func,tag,b) \ + if ((c.slen != 0) && (M_ASN1_next == \ + (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ + { \ + int Tinf,Ttag,Tclass; \ + long Tlen; \ + \ + c.q=c.p; \ + Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ + if (Tinf & 0x80) \ + { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ + c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ + Tlen = c.slen - (c.p - c.q) - 2; \ + if (d2i_ASN1_SET(&(r),&c.p,Tlen,(char *(*)())func, \ + (void (*)())free_func, \ + b,V_ASN1_UNIVERSAL) == NULL) \ + { c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ + Tlen = c.slen - (c.p - c.q); \ + if(!ASN1_check_infinite_end(&c.p, Tlen)) \ + { c.error=ERR_R_MISSING_ASN1_EOS; \ + c.line=__LINE__; goto err; } \ + }\ + c.slen-=(c.p-c.q); \ + } + +# define M_ASN1_D2I_get_EXP_set_opt_type(type,r,func,free_func,tag,b) \ + if ((c.slen != 0) && (M_ASN1_next == \ + (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ + { \ + int Tinf,Ttag,Tclass; \ + long Tlen; \ + \ + c.q=c.p; \ + Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ + if (Tinf & 0x80) \ + { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ + c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ + Tlen = c.slen - (c.p - c.q) - 2; \ + if (d2i_ASN1_SET_OF_##type(&(r),&c.p,Tlen,func, \ + free_func,b,V_ASN1_UNIVERSAL) == NULL) \ + { c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ + Tlen = c.slen - (c.p - c.q); \ + if(!ASN1_check_infinite_end(&c.p, Tlen)) \ + { c.error=ERR_R_MISSING_ASN1_EOS; \ + c.line=__LINE__; goto err; } \ + }\ + c.slen-=(c.p-c.q); \ + } + +/* New macros */ +# define M_ASN1_New_Malloc(ret,type) \ + if ((ret=(type *)OPENSSL_malloc(sizeof(type))) == NULL) \ + { c.line=__LINE__; goto err2; } + +# define M_ASN1_New(arg,func) \ + if (((arg)=func()) == NULL) return(NULL) + +# define M_ASN1_New_Error(a) \ +/*- err: ASN1_MAC_H_err((a),ERR_R_NESTED_ASN1_ERROR,c.line); \ + return(NULL);*/ \ + err2: ASN1_MAC_H_err((a),ERR_R_MALLOC_FAILURE,c.line); \ + return(NULL) + +/* + * BIG UGLY WARNING! This is so damn ugly I wanna puke. Unfortunately, some + * macros that use ASN1_const_CTX still insist on writing in the input + * stream. ARGH! ARGH! ARGH! Let's get rid of this macro package. Please? -- + * Richard Levitte + */ +# define M_ASN1_next (*((unsigned char *)(c.p))) +# define M_ASN1_next_prev (*((unsigned char *)(c.q))) + +/*************************************************/ + +# define M_ASN1_I2D_vars(a) int r=0,ret=0; \ + unsigned char *p; \ + if (a == NULL) return(0) + +/* Length Macros */ +# define M_ASN1_I2D_len(a,f) ret+=f(a,NULL) +# define M_ASN1_I2D_len_IMP_opt(a,f) if (a != NULL) M_ASN1_I2D_len(a,f) + +# define M_ASN1_I2D_len_SET(a,f) \ + ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET); + +# define M_ASN1_I2D_len_SET_type(type,a,f) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SET, \ + V_ASN1_UNIVERSAL,IS_SET); + +# define M_ASN1_I2D_len_SEQUENCE(a,f) \ + ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_SEQUENCE_type(type,a,f) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SEQUENCE, \ + V_ASN1_UNIVERSAL,IS_SEQUENCE) + +# define M_ASN1_I2D_len_SEQUENCE_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_len_SEQUENCE(a,f); + +# define M_ASN1_I2D_len_SEQUENCE_opt_type(type,a,f) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + M_ASN1_I2D_len_SEQUENCE_type(type,a,f); + +# define M_ASN1_I2D_len_IMP_SET(a,f,x) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); + +# define M_ASN1_I2D_len_IMP_SET_type(type,a,f,x) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ + V_ASN1_CONTEXT_SPECIFIC,IS_SET); + +# define M_ASN1_I2D_len_IMP_SET_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SET); + +# define M_ASN1_I2D_len_IMP_SET_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ + V_ASN1_CONTEXT_SPECIFIC,IS_SET); + +# define M_ASN1_I2D_len_IMP_SEQUENCE(a,f,x) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_IMP_SEQUENCE_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ + V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_EXP_opt(a,f,mtag,v) \ + if (a != NULL)\ + { \ + v=f(a,NULL); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +# define M_ASN1_I2D_len_EXP_SET_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0))\ + { \ + v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +# define M_ASN1_I2D_len_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0))\ + { \ + v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +# define M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_##type##_num(a) != 0))\ + { \ + v=i2d_ASN1_SET_OF_##type(a,NULL,f,tag, \ + V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +/* Put Macros */ +# define M_ASN1_I2D_put(a,f) f(a,&p) + +# define M_ASN1_I2D_put_IMP_opt(a,f,t) \ + if (a != NULL) \ + { \ + unsigned char *q=p; \ + f(a,&p); \ + *q=(V_ASN1_CONTEXT_SPECIFIC|t|(*q&V_ASN1_CONSTRUCTED));\ + } + +# define M_ASN1_I2D_put_SET(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SET,\ + V_ASN1_UNIVERSAL,IS_SET) +# define M_ASN1_I2D_put_SET_type(type,a,f) \ + i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET) +# define M_ASN1_I2D_put_IMP_SET(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ + V_ASN1_CONTEXT_SPECIFIC,IS_SET) +# define M_ASN1_I2D_put_IMP_SET_type(type,a,f,x) \ + i2d_ASN1_SET_OF_##type(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET) +# define M_ASN1_I2D_put_IMP_SEQUENCE(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ + V_ASN1_CONTEXT_SPECIFIC,IS_SEQUENCE) + +# define M_ASN1_I2D_put_SEQUENCE(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SEQUENCE,\ + V_ASN1_UNIVERSAL,IS_SEQUENCE) + +# define M_ASN1_I2D_put_SEQUENCE_type(type,a,f) \ + i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE) + +# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_put_SEQUENCE(a,f); + +# define M_ASN1_I2D_put_IMP_SET_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SET); } + +# define M_ASN1_I2D_put_IMP_SET_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ + V_ASN1_CONTEXT_SPECIFIC, \ + IS_SET); } + +# define M_ASN1_I2D_put_IMP_SEQUENCE_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); } + +# define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ + V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); } + +# define M_ASN1_I2D_put_EXP_opt(a,f,tag,v) \ + if (a != NULL) \ + { \ + ASN1_put_object(&p,1,v,tag,V_ASN1_CONTEXT_SPECIFIC); \ + f(a,&p); \ + } + +# define M_ASN1_I2D_put_EXP_SET_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { \ + ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ + i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ + } + +# define M_ASN1_I2D_put_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { \ + ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ + i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SEQUENCE); \ + } + +# define M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + { \ + ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ + i2d_ASN1_SET_OF_##type(a,&p,f,tag,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); \ + } + +# define M_ASN1_I2D_seq_total() \ + r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE); \ + if (pp == NULL) return(r); \ + p= *pp; \ + ASN1_put_object(&p,1,ret,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) + +# define M_ASN1_I2D_INF_seq_start(tag,ctx) \ + *(p++)=(V_ASN1_CONSTRUCTED|(tag)|(ctx)); \ + *(p++)=0x80 + +# define M_ASN1_I2D_INF_seq_end() *(p++)=0x00; *(p++)=0x00 + +# define M_ASN1_I2D_finish() *pp=p; \ + return(r); + +int asn1_GetSequence(ASN1_const_CTX *c, long *length); +void asn1_add_error(const unsigned char *address, int offset); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/asn1t.h b/openssl/1.0/include/openssl/asn1t.h new file mode 100644 index 0000000..99bc0ee --- /dev/null +++ b/openssl/1.0/include/openssl/asn1t.h @@ -0,0 +1,973 @@ +/* asn1t.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project + * 2000. + */ +/* ==================================================================== + * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ASN1T_H +# define HEADER_ASN1T_H + +# include +# include +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +/* ASN1 template defines, structures and functions */ + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + OPENSSL_GLOBAL const ASN1_ITEM itname##_it = { + +# define ASN1_ITEM_end(itname) \ + }; + +# else + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr())) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + const ASN1_ITEM * itname##_it(void) \ + { \ + static const ASN1_ITEM local_it = { + +# define ASN1_ITEM_end(itname) \ + }; \ + return &local_it; \ + } + +# endif + +/* Macros to aid ASN1 template writing */ + +# define ASN1_ITEM_TEMPLATE(tname) \ + static const ASN1_TEMPLATE tname##_item_tt + +# define ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) + +/* This is a ASN1 type which just embeds a template */ + +/*- + * This pair helps declare a SEQUENCE. We can do: + * + * ASN1_SEQUENCE(stname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END(stname) + * + * This will produce an ASN1_ITEM called stname_it + * for a structure called stname. + * + * If you want the same structure but a different + * name then use: + * + * ASN1_SEQUENCE(itname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END_name(stname, itname) + * + * This will create an item called itname_it using + * a structure called stname. + */ + +# define ASN1_SEQUENCE(tname) \ + static const ASN1_TEMPLATE tname##_seq_tt[] + +# define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) + +# define ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE(tname) \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ + ASN1_SEQUENCE_cb(tname, cb) + +# define ASN1_SEQUENCE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_BROKEN_SEQUENCE(tname) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_ref(tname, cb, lck) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), lck, cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_enc(tname, enc, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) + +# define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) + +# define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/*- + * This pair helps declare a CHOICE type. We can do: + * + * ASN1_CHOICE(chname) = { + * ... CHOICE options ... + * ASN1_CHOICE_END(chname) + * + * This will produce an ASN1_ITEM called chname_it + * for a structure called chname. The structure + * definition must look like this: + * typedef struct { + * int type; + * union { + * ASN1_SOMETHING *opt1; + * ASN1_SOMEOTHER *opt2; + * } value; + * } chname; + * + * the name of the selector must be 'type'. + * to use an alternative selector name use the + * ASN1_CHOICE_END_selector() version. + */ + +# define ASN1_CHOICE(tname) \ + static const ASN1_TEMPLATE tname##_ch_tt[] + +# define ASN1_CHOICE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_CHOICE(tname) + +# define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) + +# define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) + +# define ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_CHOICE_END_cb(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/* This helps with the template wrapper form of ASN1_ITEM */ + +# define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ + (flags), (tag), 0,\ + #name, ASN1_ITEM_ref(type) } + +/* These help with SEQUENCE or CHOICE components */ + +/* used to declare other types */ + +# define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ + (flags), (tag), offsetof(stname, field),\ + #field, ASN1_ITEM_ref(type) } + +/* used when the structure is combined with the parent */ + +# define ASN1_EX_COMBINE(flags, tag, type) { \ + (flags)|ASN1_TFLG_COMBINE, (tag), 0, NULL, ASN1_ITEM_ref(type) } + +/* implicit and explicit helper macros */ + +# define ASN1_IMP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type) + +# define ASN1_EXP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type) + +/* Any defined by macros: the field used is in the table itself */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# else +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } +# endif +/* Plain simple type */ +# define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) + +/* OPTIONAL simple type */ +# define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* IMPLICIT tagged simple type */ +# define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) + +/* IMPLICIT tagged OPTIONAL simple type */ +# define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* Same as above but EXPLICIT */ + +# define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) +# define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* SEQUENCE OF type */ +# define ASN1_SEQUENCE_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) + +/* OPTIONAL SEQUENCE OF */ +# define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Same as above but for SET OF */ + +# define ASN1_SET_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) + +# define ASN1_SET_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ + +# define ASN1_IMP_SET_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_EXP_SET_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +/* EXPLICIT using indefinite length constructed form */ +# define ASN1_NDEF_EXP(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) + +/* EXPLICIT OPTIONAL using indefinite length constructed form */ +# define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) + +/* Macros for the ASN1_ADB structure */ + +# define ASN1_ADB(name) \ + static const ASN1_ADB_TABLE name##_adbtbl[] + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +# define ASN1_ADB_END(name, flags, field, app_table, def, none) \ + ;\ + static const ASN1_ADB name##_adb = {\ + flags,\ + offsetof(name, field),\ + app_table,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + } + +# else + +# define ASN1_ADB_END(name, flags, field, app_table, def, none) \ + ;\ + static const ASN1_ITEM *name##_adb(void) \ + { \ + static const ASN1_ADB internal_adb = \ + {\ + flags,\ + offsetof(name, field),\ + app_table,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + }; \ + return (const ASN1_ITEM *) &internal_adb; \ + } \ + void dummy_function(void) + +# endif + +# define ADB_ENTRY(val, template) {val, template} + +# define ASN1_ADB_TEMPLATE(name) \ + static const ASN1_TEMPLATE name##_tt + +/* + * This is the ASN1 template structure that defines a wrapper round the + * actual type. It determines the actual position of the field in the value + * structure, various flags such as OPTIONAL and the field name. + */ + +struct ASN1_TEMPLATE_st { + unsigned long flags; /* Various flags */ + long tag; /* tag, not used if no tagging */ + unsigned long offset; /* Offset of this field in structure */ +# ifndef NO_ASN1_FIELD_NAMES + const char *field_name; /* Field name */ +# endif + ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ +}; + +/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ + +# define ASN1_TEMPLATE_item(t) (t->item_ptr) +# define ASN1_TEMPLATE_adb(t) (t->item_ptr) + +typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; +typedef struct ASN1_ADB_st ASN1_ADB; + +struct ASN1_ADB_st { + unsigned long flags; /* Various flags */ + unsigned long offset; /* Offset of selector field */ + STACK_OF(ASN1_ADB_TABLE) **app_items; /* Application defined items */ + const ASN1_ADB_TABLE *tbl; /* Table of possible types */ + long tblcount; /* Number of entries in tbl */ + const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ + const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ +}; + +struct ASN1_ADB_TABLE_st { + long value; /* NID for an object or value for an int */ + const ASN1_TEMPLATE tt; /* item for this value */ +}; + +/* template flags */ + +/* Field is optional */ +# define ASN1_TFLG_OPTIONAL (0x1) + +/* Field is a SET OF */ +# define ASN1_TFLG_SET_OF (0x1 << 1) + +/* Field is a SEQUENCE OF */ +# define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) + +/* + * Special case: this refers to a SET OF that will be sorted into DER order + * when encoded *and* the corresponding STACK will be modified to match the + * new order. + */ +# define ASN1_TFLG_SET_ORDER (0x3 << 1) + +/* Mask for SET OF or SEQUENCE OF */ +# define ASN1_TFLG_SK_MASK (0x3 << 1) + +/* + * These flags mean the tag should be taken from the tag field. If EXPLICIT + * then the underlying type is used for the inner tag. + */ + +/* IMPLICIT tagging */ +# define ASN1_TFLG_IMPTAG (0x1 << 3) + +/* EXPLICIT tagging, inner tag from underlying type */ +# define ASN1_TFLG_EXPTAG (0x2 << 3) + +# define ASN1_TFLG_TAG_MASK (0x3 << 3) + +/* context specific IMPLICIT */ +# define ASN1_TFLG_IMPLICIT ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT + +/* context specific EXPLICIT */ +# define ASN1_TFLG_EXPLICIT ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT + +/* + * If tagging is in force these determine the type of tag to use. Otherwise + * the tag is determined by the underlying type. These values reflect the + * actual octet format. + */ + +/* Universal tag */ +# define ASN1_TFLG_UNIVERSAL (0x0<<6) +/* Application tag */ +# define ASN1_TFLG_APPLICATION (0x1<<6) +/* Context specific tag */ +# define ASN1_TFLG_CONTEXT (0x2<<6) +/* Private tag */ +# define ASN1_TFLG_PRIVATE (0x3<<6) + +# define ASN1_TFLG_TAG_CLASS (0x3<<6) + +/* + * These are for ANY DEFINED BY type. In this case the 'item' field points to + * an ASN1_ADB structure which contains a table of values to decode the + * relevant type + */ + +# define ASN1_TFLG_ADB_MASK (0x3<<8) + +# define ASN1_TFLG_ADB_OID (0x1<<8) + +# define ASN1_TFLG_ADB_INT (0x1<<9) + +/* + * This flag means a parent structure is passed instead of the field: this is + * useful is a SEQUENCE is being combined with a CHOICE for example. Since + * this means the structure and item name will differ we need to use the + * ASN1_CHOICE_END_name() macro for example. + */ + +# define ASN1_TFLG_COMBINE (0x1<<10) + +/* + * This flag when present in a SEQUENCE OF, SET OF or EXPLICIT causes + * indefinite length constructed encoding to be used if required. + */ + +# define ASN1_TFLG_NDEF (0x1<<11) + +/* This is the actual ASN1 item itself */ + +struct ASN1_ITEM_st { + char itype; /* The item type, primitive, SEQUENCE, CHOICE + * or extern */ + long utype; /* underlying type */ + const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains + * the contents */ + long tcount; /* Number of templates if SEQUENCE or CHOICE */ + const void *funcs; /* functions that handle this type */ + long size; /* Structure size (usually) */ +# ifndef NO_ASN1_FIELD_NAMES + const char *sname; /* Structure name */ +# endif +}; + +/*- + * These are values for the itype field and + * determine how the type is interpreted. + * + * For PRIMITIVE types the underlying type + * determines the behaviour if items is NULL. + * + * Otherwise templates must contain a single + * template and the type is treated in the + * same way as the type specified in the template. + * + * For SEQUENCE types the templates field points + * to the members, the size field is the + * structure size. + * + * For CHOICE types the templates field points + * to each possible member (typically a union) + * and the 'size' field is the offset of the + * selector. + * + * The 'funcs' field is used for application + * specific functions. + * + * For COMPAT types the funcs field gives a + * set of functions that handle this type, this + * supports the old d2i, i2d convention. + * + * The EXTERN type uses a new style d2i/i2d. + * The new style should be used where possible + * because it avoids things like the d2i IMPLICIT + * hack. + * + * MSTRING is a multiple string type, it is used + * for a CHOICE of character strings where the + * actual strings all occupy an ASN1_STRING + * structure. In this case the 'utype' field + * has a special meaning, it is used as a mask + * of acceptable types using the B_ASN1 constants. + * + * NDEF_SEQUENCE is the same as SEQUENCE except + * that it will use indefinite length constructed + * encoding if requested. + * + */ + +# define ASN1_ITYPE_PRIMITIVE 0x0 + +# define ASN1_ITYPE_SEQUENCE 0x1 + +# define ASN1_ITYPE_CHOICE 0x2 + +# define ASN1_ITYPE_COMPAT 0x3 + +# define ASN1_ITYPE_EXTERN 0x4 + +# define ASN1_ITYPE_MSTRING 0x5 + +# define ASN1_ITYPE_NDEF_SEQUENCE 0x6 + +/* + * Cache for ASN1 tag and length, so we don't keep re-reading it for things + * like CHOICE + */ + +struct ASN1_TLC_st { + char valid; /* Values below are valid */ + int ret; /* return value */ + long plen; /* length */ + int ptag; /* class value */ + int pclass; /* class value */ + int hdrlen; /* header length */ +}; + +/* Typedefs for ASN1 function pointers */ + +typedef ASN1_VALUE *ASN1_new_func(void); +typedef void ASN1_free_func(ASN1_VALUE *a); +typedef ASN1_VALUE *ASN1_d2i_func(ASN1_VALUE **a, const unsigned char **in, + long length); +typedef int ASN1_i2d_func(ASN1_VALUE *a, unsigned char **in); + +typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); +typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); +typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); + +typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, + int indent, const char *fname, + const ASN1_PCTX *pctx); + +typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, + int *putype, const ASN1_ITEM *it); +typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, + int len, int utype, char *free_cont, + const ASN1_ITEM *it); +typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, + const ASN1_ITEM *it, int indent, + const ASN1_PCTX *pctx); + +typedef struct ASN1_COMPAT_FUNCS_st { + ASN1_new_func *asn1_new; + ASN1_free_func *asn1_free; + ASN1_d2i_func *asn1_d2i; + ASN1_i2d_func *asn1_i2d; +} ASN1_COMPAT_FUNCS; + +typedef struct ASN1_EXTERN_FUNCS_st { + void *app_data; + ASN1_ex_new_func *asn1_ex_new; + ASN1_ex_free_func *asn1_ex_free; + ASN1_ex_free_func *asn1_ex_clear; + ASN1_ex_d2i *asn1_ex_d2i; + ASN1_ex_i2d *asn1_ex_i2d; + ASN1_ex_print_func *asn1_ex_print; +} ASN1_EXTERN_FUNCS; + +typedef struct ASN1_PRIMITIVE_FUNCS_st { + void *app_data; + unsigned long flags; + ASN1_ex_new_func *prim_new; + ASN1_ex_free_func *prim_free; + ASN1_ex_free_func *prim_clear; + ASN1_primitive_c2i *prim_c2i; + ASN1_primitive_i2c *prim_i2c; + ASN1_primitive_print *prim_print; +} ASN1_PRIMITIVE_FUNCS; + +/* + * This is the ASN1_AUX structure: it handles various miscellaneous + * requirements. For example the use of reference counts and an informational + * callback. The "informational callback" is called at various points during + * the ASN1 encoding and decoding. It can be used to provide minor + * customisation of the structures used. This is most useful where the + * supplied routines *almost* do the right thing but need some extra help at + * a few points. If the callback returns zero then it is assumed a fatal + * error has occurred and the main operation should be abandoned. If major + * changes in the default behaviour are required then an external type is + * more appropriate. + */ + +typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, + void *exarg); + +typedef struct ASN1_AUX_st { + void *app_data; + int flags; + int ref_offset; /* Offset of reference value */ + int ref_lock; /* Lock type to use */ + ASN1_aux_cb *asn1_cb; + int enc_offset; /* Offset of ASN1_ENCODING structure */ +} ASN1_AUX; + +/* For print related callbacks exarg points to this structure */ +typedef struct ASN1_PRINT_ARG_st { + BIO *out; + int indent; + const ASN1_PCTX *pctx; +} ASN1_PRINT_ARG; + +/* For streaming related callbacks exarg points to this structure */ +typedef struct ASN1_STREAM_ARG_st { + /* BIO to stream through */ + BIO *out; + /* BIO with filters appended */ + BIO *ndef_bio; + /* Streaming I/O boundary */ + unsigned char **boundary; +} ASN1_STREAM_ARG; + +/* Flags in ASN1_AUX */ + +/* Use a reference count */ +# define ASN1_AFLG_REFCOUNT 1 +/* Save the encoding of structure (useful for signatures) */ +# define ASN1_AFLG_ENCODING 2 +/* The Sequence length is invalid */ +# define ASN1_AFLG_BROKEN 4 + +/* operation values for asn1_cb */ + +# define ASN1_OP_NEW_PRE 0 +# define ASN1_OP_NEW_POST 1 +# define ASN1_OP_FREE_PRE 2 +# define ASN1_OP_FREE_POST 3 +# define ASN1_OP_D2I_PRE 4 +# define ASN1_OP_D2I_POST 5 +# define ASN1_OP_I2D_PRE 6 +# define ASN1_OP_I2D_POST 7 +# define ASN1_OP_PRINT_PRE 8 +# define ASN1_OP_PRINT_POST 9 +# define ASN1_OP_STREAM_PRE 10 +# define ASN1_OP_STREAM_POST 11 +# define ASN1_OP_DETACHED_PRE 12 +# define ASN1_OP_DETACHED_POST 13 + +/* Macro to implement a primitive type */ +# define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) +# define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement a multi string type */ +# define IMPLEMENT_ASN1_MSTRING(itname, mask) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement an ASN1_ITEM in terms of old style funcs */ + +# define IMPLEMENT_COMPAT_ASN1(sname) IMPLEMENT_COMPAT_ASN1_type(sname, V_ASN1_SEQUENCE) + +# define IMPLEMENT_COMPAT_ASN1_type(sname, tag) \ + static const ASN1_COMPAT_FUNCS sname##_ff = { \ + (ASN1_new_func *)sname##_new, \ + (ASN1_free_func *)sname##_free, \ + (ASN1_d2i_func *)d2i_##sname, \ + (ASN1_i2d_func *)i2d_##sname, \ + }; \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_COMPAT, \ + tag, \ + NULL, \ + 0, \ + &sname##_ff, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +# define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_EXTERN, \ + tag, \ + NULL, \ + 0, \ + &fptrs, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +/* Macro to implement standard functions in terms of ASN1_ITEM structures */ + +# define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) + +# define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ + IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) + +# define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ + pre stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + pre void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ + stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ + int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ + { \ + return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ + } + +/* + * This includes evil casts to remove const: they will go away when full ASN1 + * constification is done. + */ +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ + stname * stname##_dup(stname *x) \ + { \ + return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ + } + +# define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ + IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx) \ + { \ + return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ + ASN1_ITEM_rptr(itname), pctx); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ + IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) + +# define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +/* external definitions for primitive types */ + +DECLARE_ASN1_ITEM(ASN1_BOOLEAN) +DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_SEQUENCE) +DECLARE_ASN1_ITEM(CBIGNUM) +DECLARE_ASN1_ITEM(BIGNUM) +DECLARE_ASN1_ITEM(LONG) +DECLARE_ASN1_ITEM(ZLONG) + +DECLARE_STACK_OF(ASN1_VALUE) + +/* Functions used internally by the ASN1 code */ + +int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); +void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); +int ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); +int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it); + +void ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); +int ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_TEMPLATE *tt); +int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); +int ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_TEMPLATE *tt); +void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it); + +int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, + const ASN1_ITEM *it); +int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, + int utype, char *free_cont, const ASN1_ITEM *it); + +int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it); +int asn1_set_choice_selector(ASN1_VALUE **pval, int value, + const ASN1_ITEM *it); + +ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); + +const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, + int nullerr); + +int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it); + +void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it); +void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it); +int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, + const ASN1_ITEM *it); +int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, + const ASN1_ITEM *it); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/bio.h b/openssl/1.0/include/openssl/bio.h new file mode 100644 index 0000000..8f2438c --- /dev/null +++ b/openssl/1.0/include/openssl/bio.h @@ -0,0 +1,883 @@ +/* crypto/bio/bio.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BIO_H +# define HEADER_BIO_H + +# include + +# ifndef OPENSSL_NO_FP_API +# include +# endif +# include + +# include + +# ifndef OPENSSL_NO_SCTP +# ifndef OPENSSL_SYS_VMS +# include +# else +# include +# endif +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* These are the 'types' of BIOs */ +# define BIO_TYPE_NONE 0 +# define BIO_TYPE_MEM (1|0x0400) +# define BIO_TYPE_FILE (2|0x0400) + +# define BIO_TYPE_FD (4|0x0400|0x0100) +# define BIO_TYPE_SOCKET (5|0x0400|0x0100) +# define BIO_TYPE_NULL (6|0x0400) +# define BIO_TYPE_SSL (7|0x0200) +# define BIO_TYPE_MD (8|0x0200)/* passive filter */ +# define BIO_TYPE_BUFFER (9|0x0200)/* filter */ +# define BIO_TYPE_CIPHER (10|0x0200)/* filter */ +# define BIO_TYPE_BASE64 (11|0x0200)/* filter */ +# define BIO_TYPE_CONNECT (12|0x0400|0x0100)/* socket - connect */ +# define BIO_TYPE_ACCEPT (13|0x0400|0x0100)/* socket for accept */ +# define BIO_TYPE_PROXY_CLIENT (14|0x0200)/* client proxy BIO */ +# define BIO_TYPE_PROXY_SERVER (15|0x0200)/* server proxy BIO */ +# define BIO_TYPE_NBIO_TEST (16|0x0200)/* server proxy BIO */ +# define BIO_TYPE_NULL_FILTER (17|0x0200) +# define BIO_TYPE_BER (18|0x0200)/* BER -> bin filter */ +# define BIO_TYPE_BIO (19|0x0400)/* (half a) BIO pair */ +# define BIO_TYPE_LINEBUFFER (20|0x0200)/* filter */ +# define BIO_TYPE_DGRAM (21|0x0400|0x0100) +# ifndef OPENSSL_NO_SCTP +# define BIO_TYPE_DGRAM_SCTP (24|0x0400|0x0100) +# endif +# define BIO_TYPE_ASN1 (22|0x0200)/* filter */ +# define BIO_TYPE_COMP (23|0x0200)/* filter */ + +# define BIO_TYPE_DESCRIPTOR 0x0100/* socket, fd, connect or accept */ +# define BIO_TYPE_FILTER 0x0200 +# define BIO_TYPE_SOURCE_SINK 0x0400 + +/* + * BIO_FILENAME_READ|BIO_CLOSE to open or close on free. + * BIO_set_fp(in,stdin,BIO_NOCLOSE); + */ +# define BIO_NOCLOSE 0x00 +# define BIO_CLOSE 0x01 + +/* + * These are used in the following macros and are passed to BIO_ctrl() + */ +# define BIO_CTRL_RESET 1/* opt - rewind/zero etc */ +# define BIO_CTRL_EOF 2/* opt - are we at the eof */ +# define BIO_CTRL_INFO 3/* opt - extra tit-bits */ +# define BIO_CTRL_SET 4/* man - set the 'IO' type */ +# define BIO_CTRL_GET 5/* man - get the 'IO' type */ +# define BIO_CTRL_PUSH 6/* opt - internal, used to signify change */ +# define BIO_CTRL_POP 7/* opt - internal, used to signify change */ +# define BIO_CTRL_GET_CLOSE 8/* man - set the 'close' on free */ +# define BIO_CTRL_SET_CLOSE 9/* man - set the 'close' on free */ +# define BIO_CTRL_PENDING 10/* opt - is their more data buffered */ +# define BIO_CTRL_FLUSH 11/* opt - 'flush' buffered output */ +# define BIO_CTRL_DUP 12/* man - extra stuff for 'duped' BIO */ +# define BIO_CTRL_WPENDING 13/* opt - number of bytes still to write */ +/* callback is int cb(BIO *bio,state,ret); */ +# define BIO_CTRL_SET_CALLBACK 14/* opt - set callback function */ +# define BIO_CTRL_GET_CALLBACK 15/* opt - set callback function */ + +# define BIO_CTRL_SET_FILENAME 30/* BIO_s_file special */ + +/* dgram BIO stuff */ +# define BIO_CTRL_DGRAM_CONNECT 31/* BIO dgram special */ +# define BIO_CTRL_DGRAM_SET_CONNECTED 32/* allow for an externally connected + * socket to be passed in */ +# define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34/* getsockopt, essentially */ +# define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36/* getsockopt, essentially */ + +# define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37/* flag whether the last */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38/* I/O operation tiemd out */ + +/* #ifdef IP_MTU_DISCOVER */ +# define BIO_CTRL_DGRAM_MTU_DISCOVER 39/* set DF bit on egress packets */ +/* #endif */ + +# define BIO_CTRL_DGRAM_QUERY_MTU 40/* as kernel for current MTU */ +# define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 +# define BIO_CTRL_DGRAM_GET_MTU 41/* get cached value for MTU */ +# define BIO_CTRL_DGRAM_SET_MTU 42/* set cached value for MTU. + * want to use this if asking + * the kernel fails */ + +# define BIO_CTRL_DGRAM_MTU_EXCEEDED 43/* check whether the MTU was + * exceed in the previous write + * operation */ + +# define BIO_CTRL_DGRAM_GET_PEER 46 +# define BIO_CTRL_DGRAM_SET_PEER 44/* Destination for the data */ + +# define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45/* Next DTLS handshake timeout + * to adjust socket timeouts */ +# define BIO_CTRL_DGRAM_SET_DONT_FRAG 48 + +# define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD 49 + +# ifndef OPENSSL_NO_SCTP +/* SCTP stuff */ +# define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 +# define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 +# define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 +# define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 +# define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 +# define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 +# define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 +# define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 +# define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 +# define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 +# define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 +# endif + +/* modifiers */ +# define BIO_FP_READ 0x02 +# define BIO_FP_WRITE 0x04 +# define BIO_FP_APPEND 0x08 +# define BIO_FP_TEXT 0x10 + +# define BIO_FLAGS_READ 0x01 +# define BIO_FLAGS_WRITE 0x02 +# define BIO_FLAGS_IO_SPECIAL 0x04 +# define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) +# define BIO_FLAGS_SHOULD_RETRY 0x08 +# ifndef BIO_FLAGS_UPLINK +/* + * "UPLINK" flag denotes file descriptors provided by application. It + * defaults to 0, as most platforms don't require UPLINK interface. + */ +# define BIO_FLAGS_UPLINK 0 +# endif + +/* Used in BIO_gethostbyname() */ +# define BIO_GHBN_CTRL_HITS 1 +# define BIO_GHBN_CTRL_MISSES 2 +# define BIO_GHBN_CTRL_CACHE_SIZE 3 +# define BIO_GHBN_CTRL_GET_ENTRY 4 +# define BIO_GHBN_CTRL_FLUSH 5 + +/* Mostly used in the SSL BIO */ +/*- + * Not used anymore + * #define BIO_FLAGS_PROTOCOL_DELAYED_READ 0x10 + * #define BIO_FLAGS_PROTOCOL_DELAYED_WRITE 0x20 + * #define BIO_FLAGS_PROTOCOL_STARTUP 0x40 + */ + +# define BIO_FLAGS_BASE64_NO_NL 0x100 + +/* + * This is used with memory BIOs: it means we shouldn't free up or change the + * data in any way. + */ +# define BIO_FLAGS_MEM_RDONLY 0x200 + +typedef struct bio_st BIO; + +void BIO_set_flags(BIO *b, int flags); +int BIO_test_flags(const BIO *b, int flags); +void BIO_clear_flags(BIO *b, int flags); + +# define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) +# define BIO_set_retry_special(b) \ + BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_read(b) \ + BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_write(b) \ + BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) + +/* These are normally used internally in BIOs */ +# define BIO_clear_retry_flags(b) \ + BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_get_retry_flags(b) \ + BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) + +/* These should be used by the application to tell why we should retry */ +# define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) +# define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) +# define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) +# define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) +# define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) + +/* + * The next three are used in conjunction with the BIO_should_io_special() + * condition. After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int + * *reason); will walk the BIO stack and return the 'reason' for the special + * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return + * the code. + */ +/* + * Returned from the SSL bio when the certificate retrieval code had an error + */ +# define BIO_RR_SSL_X509_LOOKUP 0x01 +/* Returned from the connect BIO when a connect would have blocked */ +# define BIO_RR_CONNECT 0x02 +/* Returned from the accept BIO when an accept would have blocked */ +# define BIO_RR_ACCEPT 0x03 + +/* These are passed by the BIO callback */ +# define BIO_CB_FREE 0x01 +# define BIO_CB_READ 0x02 +# define BIO_CB_WRITE 0x03 +# define BIO_CB_PUTS 0x04 +# define BIO_CB_GETS 0x05 +# define BIO_CB_CTRL 0x06 + +/* + * The callback is called before and after the underling operation, The + * BIO_CB_RETURN flag indicates if it is after the call + */ +# define BIO_CB_RETURN 0x80 +# define BIO_CB_return(a) ((a)|BIO_CB_RETURN) +# define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) +# define BIO_cb_post(a) ((a)&BIO_CB_RETURN) + +long (*BIO_get_callback(const BIO *b)) (struct bio_st *, int, const char *, + int, long, long); +void BIO_set_callback(BIO *b, + long (*callback) (struct bio_st *, int, const char *, + int, long, long)); +char *BIO_get_callback_arg(const BIO *b); +void BIO_set_callback_arg(BIO *b, char *arg); + +const char *BIO_method_name(const BIO *b); +int BIO_method_type(const BIO *b); + +typedef void bio_info_cb (struct bio_st *, int, const char *, int, long, + long); + +typedef struct bio_method_st { + int type; + const char *name; + int (*bwrite) (BIO *, const char *, int); + int (*bread) (BIO *, char *, int); + int (*bputs) (BIO *, const char *); + int (*bgets) (BIO *, char *, int); + long (*ctrl) (BIO *, int, long, void *); + int (*create) (BIO *); + int (*destroy) (BIO *); + long (*callback_ctrl) (BIO *, int, bio_info_cb *); +} BIO_METHOD; + +struct bio_st { + BIO_METHOD *method; + /* bio, mode, argp, argi, argl, ret */ + long (*callback) (struct bio_st *, int, const char *, int, long, long); + char *cb_arg; /* first argument for the callback */ + int init; + int shutdown; + int flags; /* extra storage */ + int retry_reason; + int num; + void *ptr; + struct bio_st *next_bio; /* used by filter BIOs */ + struct bio_st *prev_bio; /* used by filter BIOs */ + int references; + unsigned long num_read; + unsigned long num_write; + CRYPTO_EX_DATA ex_data; +}; + +DECLARE_STACK_OF(BIO) + +typedef struct bio_f_buffer_ctx_struct { + /*- + * Buffers are setup like this: + * + * <---------------------- size -----------------------> + * +---------------------------------------------------+ + * | consumed | remaining | free space | + * +---------------------------------------------------+ + * <-- off --><------- len -------> + */ + /*- BIO *bio; *//* + * this is now in the BIO struct + */ + int ibuf_size; /* how big is the input buffer */ + int obuf_size; /* how big is the output buffer */ + char *ibuf; /* the char array */ + int ibuf_len; /* how many bytes are in it */ + int ibuf_off; /* write/read offset */ + char *obuf; /* the char array */ + int obuf_len; /* how many bytes are in it */ + int obuf_off; /* write/read offset */ +} BIO_F_BUFFER_CTX; + +/* Prefix and suffix callback in ASN1 BIO */ +typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, + void *parg); + +# ifndef OPENSSL_NO_SCTP +/* SCTP parameter structs */ +struct bio_dgram_sctp_sndinfo { + uint16_t snd_sid; + uint16_t snd_flags; + uint32_t snd_ppid; + uint32_t snd_context; +}; + +struct bio_dgram_sctp_rcvinfo { + uint16_t rcv_sid; + uint16_t rcv_ssn; + uint16_t rcv_flags; + uint32_t rcv_ppid; + uint32_t rcv_tsn; + uint32_t rcv_cumtsn; + uint32_t rcv_context; +}; + +struct bio_dgram_sctp_prinfo { + uint16_t pr_policy; + uint32_t pr_value; +}; +# endif + +/* connect BIO stuff */ +# define BIO_CONN_S_BEFORE 1 +# define BIO_CONN_S_GET_IP 2 +# define BIO_CONN_S_GET_PORT 3 +# define BIO_CONN_S_CREATE_SOCKET 4 +# define BIO_CONN_S_CONNECT 5 +# define BIO_CONN_S_OK 6 +# define BIO_CONN_S_BLOCKED_CONNECT 7 +# define BIO_CONN_S_NBIO 8 +/* + * #define BIO_CONN_get_param_hostname BIO_ctrl + */ + +# define BIO_C_SET_CONNECT 100 +# define BIO_C_DO_STATE_MACHINE 101 +# define BIO_C_SET_NBIO 102 +# define BIO_C_SET_PROXY_PARAM 103 +# define BIO_C_SET_FD 104 +# define BIO_C_GET_FD 105 +# define BIO_C_SET_FILE_PTR 106 +# define BIO_C_GET_FILE_PTR 107 +# define BIO_C_SET_FILENAME 108 +# define BIO_C_SET_SSL 109 +# define BIO_C_GET_SSL 110 +# define BIO_C_SET_MD 111 +# define BIO_C_GET_MD 112 +# define BIO_C_GET_CIPHER_STATUS 113 +# define BIO_C_SET_BUF_MEM 114 +# define BIO_C_GET_BUF_MEM_PTR 115 +# define BIO_C_GET_BUFF_NUM_LINES 116 +# define BIO_C_SET_BUFF_SIZE 117 +# define BIO_C_SET_ACCEPT 118 +# define BIO_C_SSL_MODE 119 +# define BIO_C_GET_MD_CTX 120 +# define BIO_C_GET_PROXY_PARAM 121 +# define BIO_C_SET_BUFF_READ_DATA 122/* data to read first */ +# define BIO_C_GET_CONNECT 123 +# define BIO_C_GET_ACCEPT 124 +# define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 +# define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 +# define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 +# define BIO_C_FILE_SEEK 128 +# define BIO_C_GET_CIPHER_CTX 129 +# define BIO_C_SET_BUF_MEM_EOF_RETURN 130/* return end of input + * value */ +# define BIO_C_SET_BIND_MODE 131 +# define BIO_C_GET_BIND_MODE 132 +# define BIO_C_FILE_TELL 133 +# define BIO_C_GET_SOCKS 134 +# define BIO_C_SET_SOCKS 135 + +# define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ +# define BIO_C_GET_WRITE_BUF_SIZE 137 +# define BIO_C_MAKE_BIO_PAIR 138 +# define BIO_C_DESTROY_BIO_PAIR 139 +# define BIO_C_GET_WRITE_GUARANTEE 140 +# define BIO_C_GET_READ_REQUEST 141 +# define BIO_C_SHUTDOWN_WR 142 +# define BIO_C_NREAD0 143 +# define BIO_C_NREAD 144 +# define BIO_C_NWRITE0 145 +# define BIO_C_NWRITE 146 +# define BIO_C_RESET_READ_REQUEST 147 +# define BIO_C_SET_MD_CTX 148 + +# define BIO_C_SET_PREFIX 149 +# define BIO_C_GET_PREFIX 150 +# define BIO_C_SET_SUFFIX 151 +# define BIO_C_GET_SUFFIX 152 + +# define BIO_C_SET_EX_ARG 153 +# define BIO_C_GET_EX_ARG 154 + +# define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) +# define BIO_get_app_data(s) BIO_get_ex_data(s,0) + +/* BIO_s_connect() and BIO_s_socks4a_connect() */ +# define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0,(char *)name) +# define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1,(char *)port) +# define BIO_set_conn_ip(b,ip) BIO_ctrl(b,BIO_C_SET_CONNECT,2,(char *)ip) +# define BIO_set_conn_int_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,3,(char *)port) +# define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0) +# define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1) +# define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2) +# define BIO_get_conn_int_port(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL) + +# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) + +/* BIO_s_accept() */ +# define BIO_set_accept_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name) +# define BIO_get_accept_port(b) BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0) +/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ +# define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(n)?(void *)"a":NULL) +# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio) + +# define BIO_BIND_NORMAL 0 +# define BIO_BIND_REUSEADDR_IF_UNUSED 1 +# define BIO_BIND_REUSEADDR 2 +# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) +# define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) + +/* BIO_s_accept() and BIO_s_connect() */ +# define BIO_do_connect(b) BIO_do_handshake(b) +# define BIO_do_accept(b) BIO_do_handshake(b) +# define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) + +/* BIO_s_proxy_client() */ +# define BIO_set_url(b,url) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,0,(char *)(url)) +# define BIO_set_proxies(b,p) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,1,(char *)(p)) +/* BIO_set_nbio(b,n) */ +# define BIO_set_filter_bio(b,s) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,2,(char *)(s)) +/* BIO *BIO_get_filter_bio(BIO *bio); */ +# define BIO_set_proxy_cb(b,cb) BIO_callback_ctrl(b,BIO_C_SET_PROXY_PARAM,3,(void *(*cb)())) +# define BIO_set_proxy_header(b,sk) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,4,(char *)sk) +# define BIO_set_no_connect_return(b,bool) BIO_int_ctrl(b,BIO_C_SET_PROXY_PARAM,5,bool) + +# define BIO_get_proxy_header(b,skp) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,0,(char *)skp) +# define BIO_get_proxies(b,pxy_p) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,1,(char *)(pxy_p)) +# define BIO_get_url(b,url) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,2,(char *)(url)) +# define BIO_get_no_connect_return(b) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,5,NULL) + +/* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ +# define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) +# define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c) + +/* BIO_s_file() */ +# define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)fp) +# define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)fpp) + +/* BIO_s_fd() and BIO_s_file() */ +# define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) +# define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) + +/* + * name is cast to lose const, but might be better to route through a + * function so we can do it safely + */ +# ifdef CONST_STRICT +/* + * If you are wondering why this isn't defined, its because CONST_STRICT is + * purely a compile-time kludge to allow const to be checked. + */ +int BIO_read_filename(BIO *b, const char *name); +# else +# define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ,(char *)name) +# endif +# define BIO_write_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_WRITE,name) +# define BIO_append_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_APPEND,name) +# define BIO_rw_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) + +/* + * WARNING WARNING, this ups the reference count on the read bio of the SSL + * structure. This is because the ssl read BIO is now pointed to by the + * next_bio field in the bio. So when you free the BIO, make sure you are + * doing a BIO_free_all() to catch the underlying BIO. + */ +# define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)ssl) +# define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)sslp) +# define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) +# define BIO_set_ssl_renegotiate_bytes(b,num) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL) +# define BIO_get_num_renegotiates(b) \ + BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL) +# define BIO_set_ssl_renegotiate_timeout(b,seconds) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL) + +/* defined in evp.h */ +/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */ + +# define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) +# define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)bm) +# define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0,(char *)pp) +# define BIO_set_mem_eof_return(b,v) \ + BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) + +/* For the BIO_f_buffer() type */ +# define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) +# define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) +# define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) +# define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) +# define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) + +/* Don't use the next one unless you know what you are doing :-) */ +# define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) + +# define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) +# define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) +# define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) +# define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) +# define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) +# define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) +/* ...pending macros have inappropriate return type */ +size_t BIO_ctrl_pending(BIO *b); +size_t BIO_ctrl_wpending(BIO *b); +# define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) +# define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ + cbp) +# define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) + +/* For the BIO_f_buffer() type */ +# define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) + +/* For BIO_s_bio() */ +# define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) +# define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) +# define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) +# define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) +# define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) +/* macros with inappropriate type -- but ...pending macros use int too: */ +# define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) +# define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) +size_t BIO_ctrl_get_write_guarantee(BIO *b); +size_t BIO_ctrl_get_read_request(BIO *b); +int BIO_ctrl_reset_read_request(BIO *b); + +/* ctrl macros for dgram */ +# define BIO_ctrl_dgram_connect(b,peer) \ + (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)peer) +# define BIO_ctrl_set_connected(b, state, peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, state, (char *)peer) +# define BIO_dgram_recv_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) +# define BIO_dgram_send_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) +# define BIO_dgram_get_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)peer) +# define BIO_dgram_set_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)peer) +# define BIO_dgram_get_mtu_overhead(b) \ + (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) + +/* These two aren't currently implemented */ +/* int BIO_get_ex_num(BIO *bio); */ +/* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */ +int BIO_set_ex_data(BIO *bio, int idx, void *data); +void *BIO_get_ex_data(BIO *bio, int idx); +int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +unsigned long BIO_number_read(BIO *bio); +unsigned long BIO_number_written(BIO *bio); + +/* For BIO_f_asn1() */ +int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, + asn1_ps_func *prefix_free); +int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, + asn1_ps_func **pprefix_free); +int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, + asn1_ps_func *suffix_free); +int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, + asn1_ps_func **psuffix_free); + +# ifndef OPENSSL_NO_FP_API +BIO_METHOD *BIO_s_file(void); +BIO *BIO_new_file(const char *filename, const char *mode); +BIO *BIO_new_fp(FILE *stream, int close_flag); +# define BIO_s_file_internal BIO_s_file +# endif +BIO *BIO_new(BIO_METHOD *type); +int BIO_set(BIO *a, BIO_METHOD *type); +int BIO_free(BIO *a); +void BIO_vfree(BIO *a); +int BIO_read(BIO *b, void *data, int len); +int BIO_gets(BIO *bp, char *buf, int size); +int BIO_write(BIO *b, const void *data, int len); +int BIO_puts(BIO *bp, const char *buf); +int BIO_indent(BIO *b, int indent, int max); +long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); +long BIO_callback_ctrl(BIO *b, int cmd, + void (*fp) (struct bio_st *, int, const char *, int, + long, long)); +char *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); +long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); +BIO *BIO_push(BIO *b, BIO *append); +BIO *BIO_pop(BIO *b); +void BIO_free_all(BIO *a); +BIO *BIO_find_type(BIO *b, int bio_type); +BIO *BIO_next(BIO *b); +BIO *BIO_get_retry_BIO(BIO *bio, int *reason); +int BIO_get_retry_reason(BIO *bio); +BIO *BIO_dup_chain(BIO *in); + +int BIO_nread0(BIO *bio, char **buf); +int BIO_nread(BIO *bio, char **buf, int num); +int BIO_nwrite0(BIO *bio, char **buf); +int BIO_nwrite(BIO *bio, char **buf, int num); + +long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, + long argl, long ret); + +BIO_METHOD *BIO_s_mem(void); +BIO *BIO_new_mem_buf(const void *buf, int len); +BIO_METHOD *BIO_s_socket(void); +BIO_METHOD *BIO_s_connect(void); +BIO_METHOD *BIO_s_accept(void); +BIO_METHOD *BIO_s_fd(void); +# ifndef OPENSSL_SYS_OS2 +BIO_METHOD *BIO_s_log(void); +# endif +BIO_METHOD *BIO_s_bio(void); +BIO_METHOD *BIO_s_null(void); +BIO_METHOD *BIO_f_null(void); +BIO_METHOD *BIO_f_buffer(void); +# ifdef OPENSSL_SYS_VMS +BIO_METHOD *BIO_f_linebuffer(void); +# endif +BIO_METHOD *BIO_f_nbio_test(void); +# ifndef OPENSSL_NO_DGRAM +BIO_METHOD *BIO_s_datagram(void); +# ifndef OPENSSL_NO_SCTP +BIO_METHOD *BIO_s_datagram_sctp(void); +# endif +# endif + +/* BIO_METHOD *BIO_f_ber(void); */ + +int BIO_sock_should_retry(int i); +int BIO_sock_non_fatal_error(int error); +int BIO_dgram_non_fatal_error(int error); + +int BIO_fd_should_retry(int i); +int BIO_fd_non_fatal_error(int error); +int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len); +int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len, int indent); +int BIO_dump(BIO *b, const char *bytes, int len); +int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); +# ifndef OPENSSL_NO_FP_API +int BIO_dump_fp(FILE *fp, const char *s, int len); +int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); +# endif +int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, + int datalen); + +struct hostent *BIO_gethostbyname(const char *name); +/*- + * We might want a thread-safe interface too: + * struct hostent *BIO_gethostbyname_r(const char *name, + * struct hostent *result, void *buffer, size_t buflen); + * or something similar (caller allocates a struct hostent, + * pointed to by "result", and additional buffer space for the various + * substructures; if the buffer does not suffice, NULL is returned + * and an appropriate error code is set). + */ +int BIO_sock_error(int sock); +int BIO_socket_ioctl(int fd, long type, void *arg); +int BIO_socket_nbio(int fd, int mode); +int BIO_get_port(const char *str, unsigned short *port_ptr); +int BIO_get_host_ip(const char *str, unsigned char *ip); +int BIO_get_accept_socket(char *host_port, int mode); +int BIO_accept(int sock, char **ip_port); +int BIO_sock_init(void); +void BIO_sock_cleanup(void); +int BIO_set_tcp_ndelay(int sock, int turn_on); + +BIO *BIO_new_socket(int sock, int close_flag); +BIO *BIO_new_dgram(int fd, int close_flag); +# ifndef OPENSSL_NO_SCTP +BIO *BIO_new_dgram_sctp(int fd, int close_flag); +int BIO_dgram_is_sctp(BIO *bio); +int BIO_dgram_sctp_notification_cb(BIO *b, + void (*handle_notifications) (BIO *bio, + void + *context, + void *buf), + void *context); +int BIO_dgram_sctp_wait_for_dry(BIO *b); +int BIO_dgram_sctp_msg_waiting(BIO *b); +# endif +BIO *BIO_new_fd(int fd, int close_flag); +BIO *BIO_new_connect(const char *host_port); +BIO *BIO_new_accept(const char *host_port); + +int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, + BIO **bio2, size_t writebuf2); +/* + * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. + * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default + * value. + */ + +void BIO_copy_next_retry(BIO *b); + +/* + * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); + */ + +# ifdef __GNUC__ +# define __bio_h__attr__ __attribute__ +# else +# define __bio_h__attr__(x) +# endif +int BIO_printf(BIO *bio, const char *format, ...) +__bio_h__attr__((__format__(__printf__, 2, 3))); +int BIO_vprintf(BIO *bio, const char *format, va_list args) +__bio_h__attr__((__format__(__printf__, 2, 0))); +int BIO_snprintf(char *buf, size_t n, const char *format, ...) +__bio_h__attr__((__format__(__printf__, 3, 4))); +int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) +__bio_h__attr__((__format__(__printf__, 3, 0))); +# undef __bio_h__attr__ + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_BIO_strings(void); + +/* Error codes for the BIO functions. */ + +/* Function codes. */ +# define BIO_F_ACPT_STATE 100 +# define BIO_F_BIO_ACCEPT 101 +# define BIO_F_BIO_BER_GET_HEADER 102 +# define BIO_F_BIO_CALLBACK_CTRL 131 +# define BIO_F_BIO_CTRL 103 +# define BIO_F_BIO_GETHOSTBYNAME 120 +# define BIO_F_BIO_GETS 104 +# define BIO_F_BIO_GET_ACCEPT_SOCKET 105 +# define BIO_F_BIO_GET_HOST_IP 106 +# define BIO_F_BIO_GET_PORT 107 +# define BIO_F_BIO_MAKE_PAIR 121 +# define BIO_F_BIO_NEW 108 +# define BIO_F_BIO_NEW_FILE 109 +# define BIO_F_BIO_NEW_MEM_BUF 126 +# define BIO_F_BIO_NREAD 123 +# define BIO_F_BIO_NREAD0 124 +# define BIO_F_BIO_NWRITE 125 +# define BIO_F_BIO_NWRITE0 122 +# define BIO_F_BIO_PUTS 110 +# define BIO_F_BIO_READ 111 +# define BIO_F_BIO_SOCK_INIT 112 +# define BIO_F_BIO_WRITE 113 +# define BIO_F_BUFFER_CTRL 114 +# define BIO_F_CONN_CTRL 127 +# define BIO_F_CONN_STATE 115 +# define BIO_F_DGRAM_SCTP_READ 132 +# define BIO_F_DGRAM_SCTP_WRITE 133 +# define BIO_F_FILE_CTRL 116 +# define BIO_F_FILE_READ 130 +# define BIO_F_LINEBUFFER_CTRL 129 +# define BIO_F_MEM_READ 128 +# define BIO_F_MEM_WRITE 117 +# define BIO_F_SSL_NEW 118 +# define BIO_F_WSASTARTUP 119 + +/* Reason codes. */ +# define BIO_R_ACCEPT_ERROR 100 +# define BIO_R_BAD_FOPEN_MODE 101 +# define BIO_R_BAD_HOSTNAME_LOOKUP 102 +# define BIO_R_BROKEN_PIPE 124 +# define BIO_R_CONNECT_ERROR 103 +# define BIO_R_EOF_ON_MEMORY_BIO 127 +# define BIO_R_ERROR_SETTING_NBIO 104 +# define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPTED_SOCKET 105 +# define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPT_SOCKET 106 +# define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 +# define BIO_R_INVALID_ARGUMENT 125 +# define BIO_R_INVALID_IP_ADDRESS 108 +# define BIO_R_IN_USE 123 +# define BIO_R_KEEPALIVE 109 +# define BIO_R_NBIO_CONNECT_ERROR 110 +# define BIO_R_NO_ACCEPT_PORT_SPECIFIED 111 +# define BIO_R_NO_HOSTNAME_SPECIFIED 112 +# define BIO_R_NO_PORT_DEFINED 113 +# define BIO_R_NO_PORT_SPECIFIED 114 +# define BIO_R_NO_SUCH_FILE 128 +# define BIO_R_NULL_PARAMETER 115 +# define BIO_R_TAG_MISMATCH 116 +# define BIO_R_UNABLE_TO_BIND_SOCKET 117 +# define BIO_R_UNABLE_TO_CREATE_SOCKET 118 +# define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 +# define BIO_R_UNINITIALIZED 120 +# define BIO_R_UNSUPPORTED_METHOD 121 +# define BIO_R_WRITE_TO_READ_ONLY_BIO 126 +# define BIO_R_WSASTARTUP 122 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/blowfish.h b/openssl/1.0/include/openssl/blowfish.h new file mode 100644 index 0000000..8329302 --- /dev/null +++ b/openssl/1.0/include/openssl/blowfish.h @@ -0,0 +1,130 @@ +/* crypto/bf/blowfish.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BLOWFISH_H +# define HEADER_BLOWFISH_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_BF +# error BF is disabled. +# endif + +# define BF_ENCRYPT 1 +# define BF_DECRYPT 0 + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! BF_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! BF_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define BF_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define BF_LONG unsigned long +# define BF_LONG_LOG2 3 +/* + * _CRAY note. I could declare short, but I have no idea what impact + * does it have on performance on none-T3E machines. I could declare + * int, but at least on C90 sizeof(int) can be chosen at compile time. + * So I've chosen long... + * + */ +# else +# define BF_LONG unsigned int +# endif + +# define BF_ROUNDS 16 +# define BF_BLOCK 8 + +typedef struct bf_key_st { + BF_LONG P[BF_ROUNDS + 2]; + BF_LONG S[4 * 256]; +} BF_KEY; + +# ifdef OPENSSL_FIPS +void private_BF_set_key(BF_KEY *key, int len, const unsigned char *data); +# endif +void BF_set_key(BF_KEY *key, int len, const unsigned char *data); + +void BF_encrypt(BF_LONG *data, const BF_KEY *key); +void BF_decrypt(BF_LONG *data, const BF_KEY *key); + +void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, + const BF_KEY *key, int enc); +void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int enc); +void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num); +const char *BF_options(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/bn.h b/openssl/1.0/include/openssl/bn.h new file mode 100644 index 0000000..d4b9f27 --- /dev/null +++ b/openssl/1.0/include/openssl/bn.h @@ -0,0 +1,1015 @@ +/* crypto/bn/bn.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the Eric Young open source + * license provided above. + * + * The binary polynomial arithmetic software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * + */ + +#ifndef HEADER_BN_H +# define HEADER_BN_H + +# include +# include +# ifndef OPENSSL_NO_FP_API +# include /* FILE */ +# endif +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * These preprocessor symbols control various aspects of the bignum headers + * and library code. They're not defined by any "normal" configuration, as + * they are intended for development and testing purposes. NB: defining all + * three can be useful for debugging application code as well as openssl + * itself. BN_DEBUG - turn on various debugging alterations to the bignum + * code BN_DEBUG_RAND - uses random poisoning of unused words to trip up + * mismanagement of bignum internals. You must also define BN_DEBUG. + */ +/* #define BN_DEBUG */ +/* #define BN_DEBUG_RAND */ + +# ifndef OPENSSL_SMALL_FOOTPRINT +# define BN_MUL_COMBA +# define BN_SQR_COMBA +# define BN_RECURSION +# endif + +/* + * This next option uses the C libraries (2 word)/(1 word) function. If it is + * not defined, I use my C version (which is slower). The reason for this + * flag is that when the particular C compiler library routine is used, and + * the library is linked with a different compiler, the library is missing. + * This mostly happens when the library is built with gcc and then linked + * using normal cc. This would be a common occurrence because gcc normally + * produces code that is 2 times faster than system compilers for the big + * number stuff. For machines with only one compiler (or shared libraries), + * this should be on. Again this in only really a problem on machines using + * "long long's", are 32bit, and are not using my assembler code. + */ +# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || \ + defined(OPENSSL_SYS_WIN32) || defined(linux) +# ifndef BN_DIV2W +# define BN_DIV2W +# endif +# endif + +/* + * assuming long is 64bit - this is the DEC Alpha unsigned long long is only + * 64 bits :-(, don't define BN_LLONG for the DEC Alpha + */ +# ifdef SIXTY_FOUR_BIT_LONG +# define BN_ULLONG unsigned long long +# define BN_ULONG unsigned long +# define BN_LONG long +# define BN_BITS 128 +# define BN_BYTES 8 +# define BN_BITS2 64 +# define BN_BITS4 32 +# define BN_MASK (0xffffffffffffffffffffffffffffffffLL) +# define BN_MASK2 (0xffffffffffffffffL) +# define BN_MASK2l (0xffffffffL) +# define BN_MASK2h (0xffffffff00000000L) +# define BN_MASK2h1 (0xffffffff80000000L) +# define BN_TBIT (0x8000000000000000L) +# define BN_DEC_CONV (10000000000000000000UL) +# define BN_DEC_FMT1 "%lu" +# define BN_DEC_FMT2 "%019lu" +# define BN_DEC_NUM 19 +# define BN_HEX_FMT1 "%lX" +# define BN_HEX_FMT2 "%016lX" +# endif + +/* + * This is where the long long data type is 64 bits, but long is 32. For + * machines where there are 64bit registers, this is the mode to use. IRIX, + * on R4000 and above should use this mode, along with the relevant assembler + * code :-). Do NOT define BN_LLONG. + */ +# ifdef SIXTY_FOUR_BIT +# undef BN_LLONG +# undef BN_ULLONG +# define BN_ULONG unsigned long long +# define BN_LONG long long +# define BN_BITS 128 +# define BN_BYTES 8 +# define BN_BITS2 64 +# define BN_BITS4 32 +# define BN_MASK2 (0xffffffffffffffffLL) +# define BN_MASK2l (0xffffffffL) +# define BN_MASK2h (0xffffffff00000000LL) +# define BN_MASK2h1 (0xffffffff80000000LL) +# define BN_TBIT (0x8000000000000000LL) +# define BN_DEC_CONV (10000000000000000000ULL) +# define BN_DEC_FMT1 "%llu" +# define BN_DEC_FMT2 "%019llu" +# define BN_DEC_NUM 19 +# define BN_HEX_FMT1 "%llX" +# define BN_HEX_FMT2 "%016llX" +# endif + +# ifdef THIRTY_TWO_BIT +# ifdef BN_LLONG +# if defined(_WIN32) && !defined(__GNUC__) +# define BN_ULLONG unsigned __int64 +# define BN_MASK (0xffffffffffffffffI64) +# else +# define BN_ULLONG unsigned long long +# define BN_MASK (0xffffffffffffffffLL) +# endif +# endif +# define BN_ULONG unsigned int +# define BN_LONG int +# define BN_BITS 64 +# define BN_BYTES 4 +# define BN_BITS2 32 +# define BN_BITS4 16 +# define BN_MASK2 (0xffffffffL) +# define BN_MASK2l (0xffff) +# define BN_MASK2h1 (0xffff8000L) +# define BN_MASK2h (0xffff0000L) +# define BN_TBIT (0x80000000L) +# define BN_DEC_CONV (1000000000L) +# define BN_DEC_FMT1 "%u" +# define BN_DEC_FMT2 "%09u" +# define BN_DEC_NUM 9 +# define BN_HEX_FMT1 "%X" +# define BN_HEX_FMT2 "%08X" +# endif + +# define BN_DEFAULT_BITS 1280 + +# define BN_FLG_MALLOCED 0x01 +# define BN_FLG_STATIC_DATA 0x02 + +/* + * avoid leaking exponent information through timing, + * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, + * BN_div() will call BN_div_no_branch, + * BN_mod_inverse() will call BN_mod_inverse_no_branch. + */ +# define BN_FLG_CONSTTIME 0x04 + +# ifdef OPENSSL_NO_DEPRECATED +/* deprecated name for the flag */ +# define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME +/* + * avoid leaking exponent information through timings + * (BN_mod_exp_mont() will call BN_mod_exp_mont_consttime) + */ +# endif + +# ifndef OPENSSL_NO_DEPRECATED +# define BN_FLG_FREE 0x8000 + /* used for debuging */ +# endif +# define BN_set_flags(b,n) ((b)->flags|=(n)) +# define BN_get_flags(b,n) ((b)->flags&(n)) + +/* + * get a clone of a BIGNUM with changed flags, for *temporary* use only (the + * two BIGNUMs cannot not be used in parallel!) + */ +# define BN_with_flags(dest,b,n) ((dest)->d=(b)->d, \ + (dest)->top=(b)->top, \ + (dest)->dmax=(b)->dmax, \ + (dest)->neg=(b)->neg, \ + (dest)->flags=(((dest)->flags & BN_FLG_MALLOCED) \ + | ((b)->flags & ~BN_FLG_MALLOCED) \ + | BN_FLG_STATIC_DATA \ + | (n))) + +/* Already declared in ossl_typ.h */ +# if 0 +typedef struct bignum_st BIGNUM; +/* Used for temp variables (declaration hidden in bn_lcl.h) */ +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_recp_ctx_st BN_RECP_CTX; +typedef struct bn_gencb_st BN_GENCB; +# endif + +struct bignum_st { + BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit + * chunks. */ + int top; /* Index of last used d +1. */ + /* The next are internal book keeping for bn_expand. */ + int dmax; /* Size of the d array. */ + int neg; /* one if the number is negative */ + int flags; +}; + +/* Used for montgomery multiplication */ +struct bn_mont_ctx_st { + int ri; /* number of bits in R */ + BIGNUM RR; /* used to convert to montgomery form */ + BIGNUM N; /* The modulus */ + BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 (Ni is only + * stored for bignum algorithm) */ + BN_ULONG n0[2]; /* least significant word(s) of Ni; (type + * changed with 0.9.9, was "BN_ULONG n0;" + * before) */ + int flags; +}; + +/* + * Used for reciprocal division/mod functions It cannot be shared between + * threads + */ +struct bn_recp_ctx_st { + BIGNUM N; /* the divisor */ + BIGNUM Nr; /* the reciprocal */ + int num_bits; + int shift; + int flags; +}; + +/* Used for slow "generation" functions. */ +struct bn_gencb_st { + unsigned int ver; /* To handle binary (in)compatibility */ + void *arg; /* callback-specific data */ + union { + /* if(ver==1) - handles old style callbacks */ + void (*cb_1) (int, int, void *); + /* if(ver==2) - new callback style */ + int (*cb_2) (int, int, BN_GENCB *); + } cb; +}; +/* Wrapper function to make using BN_GENCB easier, */ +int BN_GENCB_call(BN_GENCB *cb, int a, int b); +/* Macro to populate a BN_GENCB structure with an "old"-style callback */ +# define BN_GENCB_set_old(gencb, callback, cb_arg) { \ + BN_GENCB *tmp_gencb = (gencb); \ + tmp_gencb->ver = 1; \ + tmp_gencb->arg = (cb_arg); \ + tmp_gencb->cb.cb_1 = (callback); } +/* Macro to populate a BN_GENCB structure with a "new"-style callback */ +# define BN_GENCB_set(gencb, callback, cb_arg) { \ + BN_GENCB *tmp_gencb = (gencb); \ + tmp_gencb->ver = 2; \ + tmp_gencb->arg = (cb_arg); \ + tmp_gencb->cb.cb_2 = (callback); } + +# define BN_prime_checks 0 /* default: select number of iterations based + * on the size of the number */ + +/* + * BN_prime_checks_for_size() returns the number of Miller-Rabin iterations + * that will be done for checking that a random number is probably prime. The + * error rate for accepting a composite number as prime depends on the size of + * the prime |b|. The error rates used are for calculating an RSA key with 2 primes, + * and so the level is what you would expect for a key of double the size of the + * prime. + * + * This table is generated using the algorithm of FIPS PUB 186-4 + * Digital Signature Standard (DSS), section F.1, page 117. + * (https://dx.doi.org/10.6028/NIST.FIPS.186-4) + * + * The following magma script was used to generate the output: + * securitybits:=125; + * k:=1024; + * for t:=1 to 65 do + * for M:=3 to Floor(2*Sqrt(k-1)-1) do + * S:=0; + * // Sum over m + * for m:=3 to M do + * s:=0; + * // Sum over j + * for j:=2 to m do + * s+:=(RealField(32)!2)^-(j+(k-1)/j); + * end for; + * S+:=2^(m-(m-1)*t)*s; + * end for; + * A:=2^(k-2-M*t); + * B:=8*(Pi(RealField(32))^2-6)/3*2^(k-2)*S; + * pkt:=2.00743*Log(2)*k*2^-k*(A+B); + * seclevel:=Floor(-Log(2,pkt)); + * if seclevel ge securitybits then + * printf "k: %5o, security: %o bits (t: %o, M: %o)\n",k,seclevel,t,M; + * break; + * end if; + * end for; + * if seclevel ge securitybits then break; end if; + * end for; + * + * It can be run online at: + * http://magma.maths.usyd.edu.au/calc + * + * And will output: + * k: 1024, security: 129 bits (t: 6, M: 23) + * + * k is the number of bits of the prime, securitybits is the level we want to + * reach. + * + * prime length | RSA key size | # MR tests | security level + * -------------+--------------|------------+--------------- + * (b) >= 6394 | >= 12788 | 3 | 256 bit + * (b) >= 3747 | >= 7494 | 3 | 192 bit + * (b) >= 1345 | >= 2690 | 4 | 128 bit + * (b) >= 1080 | >= 2160 | 5 | 128 bit + * (b) >= 852 | >= 1704 | 5 | 112 bit + * (b) >= 476 | >= 952 | 5 | 80 bit + * (b) >= 400 | >= 800 | 6 | 80 bit + * (b) >= 347 | >= 694 | 7 | 80 bit + * (b) >= 308 | >= 616 | 8 | 80 bit + * (b) >= 55 | >= 110 | 27 | 64 bit + * (b) >= 6 | >= 12 | 34 | 64 bit + */ + +# define BN_prime_checks_for_size(b) ((b) >= 3747 ? 3 : \ + (b) >= 1345 ? 4 : \ + (b) >= 476 ? 5 : \ + (b) >= 400 ? 6 : \ + (b) >= 347 ? 7 : \ + (b) >= 308 ? 8 : \ + (b) >= 55 ? 27 : \ + /* b >= 6 */ 34) + +# define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) + +/* Note that BN_abs_is_word didn't work reliably for w == 0 until 0.9.8 */ +# define BN_abs_is_word(a,w) ((((a)->top == 1) && ((a)->d[0] == (BN_ULONG)(w))) || \ + (((w) == 0) && ((a)->top == 0))) +# define BN_is_zero(a) ((a)->top == 0) +# define BN_is_one(a) (BN_abs_is_word((a),1) && !(a)->neg) +# define BN_is_word(a,w) (BN_abs_is_word((a),(w)) && (!(w) || !(a)->neg)) +# define BN_is_odd(a) (((a)->top > 0) && ((a)->d[0] & 1)) + +# define BN_one(a) (BN_set_word((a),1)) +# define BN_zero_ex(a) \ + do { \ + BIGNUM *_tmp_bn = (a); \ + _tmp_bn->top = 0; \ + _tmp_bn->neg = 0; \ + } while(0) +# ifdef OPENSSL_NO_DEPRECATED +# define BN_zero(a) BN_zero_ex(a) +# else +# define BN_zero(a) (BN_set_word((a),0)) +# endif + +const BIGNUM *BN_value_one(void); +char *BN_options(void); +BN_CTX *BN_CTX_new(void); +# ifndef OPENSSL_NO_DEPRECATED +void BN_CTX_init(BN_CTX *c); +# endif +void BN_CTX_free(BN_CTX *c); +void BN_CTX_start(BN_CTX *ctx); +BIGNUM *BN_CTX_get(BN_CTX *ctx); +void BN_CTX_end(BN_CTX *ctx); +int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_num_bits(const BIGNUM *a); +int BN_num_bits_word(BN_ULONG); +BIGNUM *BN_new(void); +void BN_init(BIGNUM *); +void BN_clear_free(BIGNUM *a); +BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); +void BN_swap(BIGNUM *a, BIGNUM *b); +BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2bin(const BIGNUM *a, unsigned char *to); +BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2mpi(const BIGNUM *a, unsigned char *to); +int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); +/** BN_set_negative sets sign of a BIGNUM + * \param b pointer to the BIGNUM object + * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise + */ +void BN_set_negative(BIGNUM *b, int n); +/** BN_is_negative returns 1 if the BIGNUM is negative + * \param a pointer to the BIGNUM object + * \return 1 if a < 0 and 0 otherwise + */ +# define BN_is_negative(a) ((a)->neg != 0) + +int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, + BN_CTX *ctx); +# define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx)) +int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); +int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); +int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); + +BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w); +BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); +int BN_mul_word(BIGNUM *a, BN_ULONG w); +int BN_add_word(BIGNUM *a, BN_ULONG w); +int BN_sub_word(BIGNUM *a, BN_ULONG w); +int BN_set_word(BIGNUM *a, BN_ULONG w); +BN_ULONG BN_get_word(const BIGNUM *a); + +int BN_cmp(const BIGNUM *a, const BIGNUM *b); +void BN_free(BIGNUM *a); +int BN_is_bit_set(const BIGNUM *a, int n); +int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_lshift1(BIGNUM *r, const BIGNUM *a); +int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *in_mont); +int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, + const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, + BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); + +int BN_mask_bits(BIGNUM *a, int n); +# ifndef OPENSSL_NO_FP_API +int BN_print_fp(FILE *fp, const BIGNUM *a); +# endif +# ifdef HEADER_BIO_H +int BN_print(BIO *fp, const BIGNUM *a); +# else +int BN_print(void *fp, const BIGNUM *a); +# endif +int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); +int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_rshift1(BIGNUM *r, const BIGNUM *a); +void BN_clear(BIGNUM *a); +BIGNUM *BN_dup(const BIGNUM *a); +int BN_ucmp(const BIGNUM *a, const BIGNUM *b); +int BN_set_bit(BIGNUM *a, int n); +int BN_clear_bit(BIGNUM *a, int n); +char *BN_bn2hex(const BIGNUM *a); +char *BN_bn2dec(const BIGNUM *a); +int BN_hex2bn(BIGNUM **a, const char *str); +int BN_dec2bn(BIGNUM **a, const char *str); +int BN_asc2bn(BIGNUM **a, const char *str); +int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns + * -2 for + * error */ +BIGNUM *BN_mod_inverse(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); +BIGNUM *BN_mod_sqrt(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); + +void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords); + +/* Deprecated versions */ +# ifndef OPENSSL_NO_DEPRECATED +BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, + const BIGNUM *add, const BIGNUM *rem, + void (*callback) (int, int, void *), void *cb_arg); +int BN_is_prime(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), + BN_CTX *ctx, void *cb_arg); +int BN_is_prime_fasttest(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), BN_CTX *ctx, + void *cb_arg, int do_trial_division); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* Newer versions */ +int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, + const BIGNUM *rem, BN_GENCB *cb); +int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); +int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, + int do_trial_division, BN_GENCB *cb); + +int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); + +int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, + const BIGNUM *Xp, const BIGNUM *Xp1, + const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, + BN_GENCB *cb); +int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, + BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, + BN_CTX *ctx, BN_GENCB *cb); + +BN_MONT_CTX *BN_MONT_CTX_new(void); +void BN_MONT_CTX_init(BN_MONT_CTX *ctx); +int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + BN_MONT_CTX *mont, BN_CTX *ctx); +# define BN_to_montgomery(r,a,mont,ctx) BN_mod_mul_montgomery(\ + (r),(a),&((mont)->RR),(mont),(ctx)) +int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, + BN_MONT_CTX *mont, BN_CTX *ctx); +void BN_MONT_CTX_free(BN_MONT_CTX *mont); +int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx); +BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from); +BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock, + const BIGNUM *mod, BN_CTX *ctx); + +/* BN_BLINDING flags */ +# define BN_BLINDING_NO_UPDATE 0x00000001 +# define BN_BLINDING_NO_RECREATE 0x00000002 + +BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); +void BN_BLINDING_free(BN_BLINDING *b); +int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); +int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, + BN_CTX *); +# ifndef OPENSSL_NO_DEPRECATED +unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *); +void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long); +# endif +CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *); +unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); +void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); +BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, + const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, + int (*bn_mod_exp) (BIGNUM *r, + const BIGNUM *a, + const BIGNUM *p, + const BIGNUM *m, + BN_CTX *ctx, + BN_MONT_CTX *m_ctx), + BN_MONT_CTX *m_ctx); + +# ifndef OPENSSL_NO_DEPRECATED +void BN_set_params(int mul, int high, int low, int mont); +int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */ +# endif + +void BN_RECP_CTX_init(BN_RECP_CTX *recp); +BN_RECP_CTX *BN_RECP_CTX_new(void); +void BN_RECP_CTX_free(BN_RECP_CTX *recp); +int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx); +int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, + BN_RECP_CTX *recp, BN_CTX *ctx); +int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, + BN_RECP_CTX *recp, BN_CTX *ctx); + +# ifndef OPENSSL_NO_EC2M + +/* + * Functions for arithmetic over binary polynomials represented by BIGNUMs. + * The BIGNUM::neg property of BIGNUMs representing binary polynomials is + * ignored. Note that input arguments are not const so that their bit arrays + * can be expanded to the appropriate size if needed. + */ + +/* + * r = a + b + */ +int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +# define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) +/* + * r=a mod p + */ +int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +# define BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) +/*- + * Some functions allow for representation of the irreducible polynomials + * as an unsigned int[], say p. The irreducible f(t) is then of the form: + * t^p[0] + t^p[1] + ... + t^p[k] + * where m = p[0] > p[1] > ... > p[k] = 0. + */ +/* r = a mod p */ +int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], + BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], + BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); +int BN_GF2m_arr2poly(const int p[], BIGNUM *a); + +# endif + +/* + * faster mod functions for the 'NIST primes' 0 <= a < p^2 + */ +int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +const BIGNUM *BN_get0_nist_prime_192(void); +const BIGNUM *BN_get0_nist_prime_224(void); +const BIGNUM *BN_get0_nist_prime_256(void); +const BIGNUM *BN_get0_nist_prime_384(void); +const BIGNUM *BN_get0_nist_prime_521(void); + +/* library internal functions */ + +# define bn_expand(a,bits) \ + ( \ + bits > (INT_MAX - BN_BITS2 + 1) ? \ + NULL \ + : \ + (((bits+BN_BITS2-1)/BN_BITS2) <= (a)->dmax) ? \ + (a) \ + : \ + bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2) \ + ) + +# define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) +BIGNUM *bn_expand2(BIGNUM *a, int words); +# ifndef OPENSSL_NO_DEPRECATED +BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */ +# endif + +/*- + * Bignum consistency macros + * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from + * bignum data after direct manipulations on the data. There is also an + * "internal" macro, bn_check_top(), for verifying that there are no leading + * zeroes. Unfortunately, some auditing is required due to the fact that + * bn_fix_top() has become an overabused duct-tape because bignum data is + * occasionally passed around in an inconsistent state. So the following + * changes have been made to sort this out; + * - bn_fix_top()s implementation has been moved to bn_correct_top() + * - if BN_DEBUG isn't defined, bn_fix_top() maps to bn_correct_top(), and + * bn_check_top() is as before. + * - if BN_DEBUG *is* defined; + * - bn_check_top() tries to pollute unused words even if the bignum 'top' is + * consistent. (ed: only if BN_DEBUG_RAND is defined) + * - bn_fix_top() maps to bn_check_top() rather than "fixing" anything. + * The idea is to have debug builds flag up inconsistent bignums when they + * occur. If that occurs in a bn_fix_top(), we examine the code in question; if + * the use of bn_fix_top() was appropriate (ie. it follows directly after code + * that manipulates the bignum) it is converted to bn_correct_top(), and if it + * was not appropriate, we convert it permanently to bn_check_top() and track + * down the cause of the bug. Eventually, no internal code should be using the + * bn_fix_top() macro. External applications and libraries should try this with + * their own code too, both in terms of building against the openssl headers + * with BN_DEBUG defined *and* linking with a version of OpenSSL built with it + * defined. This not only improves external code, it provides more test + * coverage for openssl's own code. + */ + +# ifdef BN_DEBUG + +/* We only need assert() when debugging */ +# include + +/* + * The new BN_FLG_FIXED_TOP flag marks vectors that were not treated with + * bn_correct_top, in other words such vectors are permitted to have zeros + * in most significant limbs. Such vectors are used internally to achieve + * execution time invariance for critical operations with private keys. + * It's BN_DEBUG-only flag, because user application is not supposed to + * observe it anyway. Moreover, optimizing compiler would actually remove + * all operations manipulating the bit in question in non-BN_DEBUG build. + */ +# define BN_FLG_FIXED_TOP 0x10000 +# ifdef BN_DEBUG_RAND +/* To avoid "make update" cvs wars due to BN_DEBUG, use some tricks */ +# ifndef RAND_pseudo_bytes +int RAND_pseudo_bytes(unsigned char *buf, int num); +# define BN_DEBUG_TRIX +# endif +# define bn_pollute(a) \ + do { \ + const BIGNUM *_bnum1 = (a); \ + if(_bnum1->top < _bnum1->dmax) { \ + unsigned char _tmp_char; \ + /* We cast away const without the compiler knowing, any \ + * *genuinely* constant variables that aren't mutable \ + * wouldn't be constructed with top!=dmax. */ \ + BN_ULONG *_not_const; \ + memcpy(&_not_const, &_bnum1->d, sizeof(BN_ULONG*)); \ + /* Debug only - safe to ignore error return */ \ + RAND_pseudo_bytes(&_tmp_char, 1); \ + memset((unsigned char *)(_not_const + _bnum1->top), _tmp_char, \ + (_bnum1->dmax - _bnum1->top) * sizeof(BN_ULONG)); \ + } \ + } while(0) +# ifdef BN_DEBUG_TRIX +# undef RAND_pseudo_bytes +# endif +# else +# define bn_pollute(a) +# endif +# define bn_check_top(a) \ + do { \ + const BIGNUM *_bnum2 = (a); \ + if (_bnum2 != NULL) { \ + int _top = _bnum2->top; \ + assert((_top == 0) || \ + (_bnum2->flags & BN_FLG_FIXED_TOP) || \ + (_bnum2->d[_top - 1] != 0)); \ + bn_pollute(_bnum2); \ + } \ + } while(0) + +# define bn_fix_top(a) bn_check_top(a) + +# define bn_check_size(bn, bits) bn_wcheck_size(bn, ((bits+BN_BITS2-1))/BN_BITS2) +# define bn_wcheck_size(bn, words) \ + do { \ + const BIGNUM *_bnum2 = (bn); \ + assert((words) <= (_bnum2)->dmax && (words) >= (_bnum2)->top); \ + /* avoid unused variable warning with NDEBUG */ \ + (void)(_bnum2); \ + } while(0) + +# else /* !BN_DEBUG */ + +# define BN_FLG_FIXED_TOP 0 +# define bn_pollute(a) +# define bn_check_top(a) +# define bn_fix_top(a) bn_correct_top(a) +# define bn_check_size(bn, bits) +# define bn_wcheck_size(bn, words) + +# endif + +# define bn_correct_top(a) \ + { \ + BN_ULONG *ftl; \ + int tmp_top = (a)->top; \ + if (tmp_top > 0) \ + { \ + for (ftl= &((a)->d[tmp_top-1]); tmp_top > 0; tmp_top--) \ + if (*(ftl--)) break; \ + (a)->top = tmp_top; \ + } \ + if ((a)->top == 0) \ + (a)->neg = 0; \ + bn_pollute(a); \ + } + +BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num, + BN_ULONG w); +BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w); +void bn_sqr_words(BN_ULONG *rp, const BN_ULONG *ap, int num); +BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d); +BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, + int num); +BN_ULONG bn_sub_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, + int num); + +/* Primes from RFC 2409 */ +BIGNUM *get_rfc2409_prime_768(BIGNUM *bn); +BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn); + +/* Primes from RFC 3526 */ +BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn); + +int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_BN_strings(void); + +/* Error codes for the BN functions. */ + +/* Function codes. */ +# define BN_F_BNRAND 127 +# define BN_F_BN_BLINDING_CONVERT_EX 100 +# define BN_F_BN_BLINDING_CREATE_PARAM 128 +# define BN_F_BN_BLINDING_INVERT_EX 101 +# define BN_F_BN_BLINDING_NEW 102 +# define BN_F_BN_BLINDING_UPDATE 103 +# define BN_F_BN_BN2DEC 104 +# define BN_F_BN_BN2HEX 105 +# define BN_F_BN_CTX_GET 116 +# define BN_F_BN_CTX_NEW 106 +# define BN_F_BN_CTX_START 129 +# define BN_F_BN_DIV 107 +# define BN_F_BN_DIV_NO_BRANCH 138 +# define BN_F_BN_DIV_RECP 130 +# define BN_F_BN_EXP 123 +# define BN_F_BN_EXPAND2 108 +# define BN_F_BN_EXPAND_INTERNAL 120 +# define BN_F_BN_GF2M_MOD 131 +# define BN_F_BN_GF2M_MOD_EXP 132 +# define BN_F_BN_GF2M_MOD_MUL 133 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 +# define BN_F_BN_GF2M_MOD_SQR 136 +# define BN_F_BN_GF2M_MOD_SQRT 137 +# define BN_F_BN_LSHIFT 145 +# define BN_F_BN_MOD_EXP2_MONT 118 +# define BN_F_BN_MOD_EXP_MONT 109 +# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 +# define BN_F_BN_MOD_EXP_MONT_WORD 117 +# define BN_F_BN_MOD_EXP_RECP 125 +# define BN_F_BN_MOD_EXP_SIMPLE 126 +# define BN_F_BN_MOD_INVERSE 110 +# define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 +# define BN_F_BN_MOD_LSHIFT_QUICK 119 +# define BN_F_BN_MOD_MUL_RECIPROCAL 111 +# define BN_F_BN_MOD_SQRT 121 +# define BN_F_BN_MPI2BN 112 +# define BN_F_BN_NEW 113 +# define BN_F_BN_RAND 114 +# define BN_F_BN_RAND_RANGE 122 +# define BN_F_BN_RSHIFT 146 +# define BN_F_BN_USUB 115 + +/* Reason codes. */ +# define BN_R_ARG2_LT_ARG3 100 +# define BN_R_BAD_RECIPROCAL 101 +# define BN_R_BIGNUM_TOO_LONG 114 +# define BN_R_BITS_TOO_SMALL 118 +# define BN_R_CALLED_WITH_EVEN_MODULUS 102 +# define BN_R_DIV_BY_ZERO 103 +# define BN_R_ENCODING_ERROR 104 +# define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 +# define BN_R_INPUT_NOT_REDUCED 110 +# define BN_R_INVALID_LENGTH 106 +# define BN_R_INVALID_RANGE 115 +# define BN_R_INVALID_SHIFT 119 +# define BN_R_NOT_A_SQUARE 111 +# define BN_R_NOT_INITIALIZED 107 +# define BN_R_NO_INVERSE 108 +# define BN_R_NO_SOLUTION 116 +# define BN_R_P_IS_NOT_PRIME 112 +# define BN_R_TOO_MANY_ITERATIONS 113 +# define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/buffer.h b/openssl/1.0/include/openssl/buffer.h new file mode 100644 index 0000000..efd240a --- /dev/null +++ b/openssl/1.0/include/openssl/buffer.h @@ -0,0 +1,125 @@ +/* crypto/buffer/buffer.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BUFFER_H +# define HEADER_BUFFER_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# if !defined(NO_SYS_TYPES_H) +# include +# endif + +/* Already declared in ossl_typ.h */ +/* typedef struct buf_mem_st BUF_MEM; */ + +struct buf_mem_st { + size_t length; /* current number of bytes */ + char *data; + size_t max; /* size of buffer */ +}; + +BUF_MEM *BUF_MEM_new(void); +void BUF_MEM_free(BUF_MEM *a); +int BUF_MEM_grow(BUF_MEM *str, size_t len); +int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); +size_t BUF_strnlen(const char *str, size_t maxlen); +char *BUF_strdup(const char *str); + +/* + * Like strndup, but in addition, explicitly guarantees to never read past the + * first |siz| bytes of |str|. + */ +char *BUF_strndup(const char *str, size_t siz); + +void *BUF_memdup(const void *data, size_t siz); +void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); + +/* safe string functions */ +size_t BUF_strlcpy(char *dst, const char *src, size_t siz); +size_t BUF_strlcat(char *dst, const char *src, size_t siz); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_BUF_strings(void); + +/* Error codes for the BUF functions. */ + +/* Function codes. */ +# define BUF_F_BUF_MEMDUP 103 +# define BUF_F_BUF_MEM_GROW 100 +# define BUF_F_BUF_MEM_GROW_CLEAN 105 +# define BUF_F_BUF_MEM_NEW 101 +# define BUF_F_BUF_STRDUP 102 +# define BUF_F_BUF_STRNDUP 104 + +/* Reason codes. */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/camellia.h b/openssl/1.0/include/openssl/camellia.h new file mode 100644 index 0000000..45e8d25 --- /dev/null +++ b/openssl/1.0/include/openssl/camellia.h @@ -0,0 +1,132 @@ +/* crypto/camellia/camellia.h */ +/* ==================================================================== + * Copyright (c) 2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +#ifndef HEADER_CAMELLIA_H +# define HEADER_CAMELLIA_H + +# include + +# ifdef OPENSSL_NO_CAMELLIA +# error CAMELLIA is disabled. +# endif + +# include + +# define CAMELLIA_ENCRYPT 1 +# define CAMELLIA_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* This should be a hidden type, but EVP requires that the size be known */ + +# define CAMELLIA_BLOCK_SIZE 16 +# define CAMELLIA_TABLE_BYTE_LEN 272 +# define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) + +typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match + * with WORD */ + +struct camellia_key_st { + union { + double d; /* ensures 64-bit align */ + KEY_TABLE_TYPE rd_key; + } u; + int grand_rounds; +}; +typedef struct camellia_key_st CAMELLIA_KEY; + +# ifdef OPENSSL_FIPS +int private_Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); +# endif +int Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); + +void Camellia_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); +void Camellia_decrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); + +void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key, const int enc); +void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, const int enc); +void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num); +void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char ivec[CAMELLIA_BLOCK_SIZE], + unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], + unsigned int *num); + +#ifdef __cplusplus +} +#endif + +#endif /* !HEADER_Camellia_H */ diff --git a/openssl/1.0/include/openssl/cast.h b/openssl/1.0/include/openssl/cast.h new file mode 100644 index 0000000..0003ec9 --- /dev/null +++ b/openssl/1.0/include/openssl/cast.h @@ -0,0 +1,107 @@ +/* crypto/cast/cast.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CAST_H +# define HEADER_CAST_H + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# ifdef OPENSSL_NO_CAST +# error CAST is disabled. +# endif + +# define CAST_ENCRYPT 1 +# define CAST_DECRYPT 0 + +# define CAST_LONG unsigned int + +# define CAST_BLOCK 8 +# define CAST_KEY_LENGTH 16 + +typedef struct cast_key_st { + CAST_LONG data[32]; + int short_key; /* Use reduced rounds for short key */ +} CAST_KEY; + +# ifdef OPENSSL_FIPS +void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +# endif +void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAST_KEY *key, int enc); +void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *ks, unsigned char *iv, + int enc); +void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/cmac.h b/openssl/1.0/include/openssl/cmac.h new file mode 100644 index 0000000..175be83 --- /dev/null +++ b/openssl/1.0/include/openssl/cmac.h @@ -0,0 +1,82 @@ +/* crypto/cmac/cmac.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project. + */ +/* ==================================================================== + * Copyright (c) 2010 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + +#ifndef HEADER_CMAC_H +# define HEADER_CMAC_H + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +/* Opaque */ +typedef struct CMAC_CTX_st CMAC_CTX; + +CMAC_CTX *CMAC_CTX_new(void); +void CMAC_CTX_cleanup(CMAC_CTX *ctx); +void CMAC_CTX_free(CMAC_CTX *ctx); +EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); +int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); + +int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, + const EVP_CIPHER *cipher, ENGINE *impl); +int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); +int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); +int CMAC_resume(CMAC_CTX *ctx); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/cms.h b/openssl/1.0/include/openssl/cms.h new file mode 100644 index 0000000..e6c7f96 --- /dev/null +++ b/openssl/1.0/include/openssl/cms.h @@ -0,0 +1,555 @@ +/* crypto/cms/cms.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project. + */ +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + +#ifndef HEADER_CMS_H +# define HEADER_CMS_H + +# include + +# ifdef OPENSSL_NO_CMS +# error CMS is disabled. +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct CMS_ContentInfo_st CMS_ContentInfo; +typedef struct CMS_SignerInfo_st CMS_SignerInfo; +typedef struct CMS_CertificateChoices CMS_CertificateChoices; +typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; +typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; +typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; +typedef struct CMS_Receipt_st CMS_Receipt; +typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; +typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; + +DECLARE_STACK_OF(CMS_SignerInfo) +DECLARE_STACK_OF(GENERAL_NAMES) +DECLARE_STACK_OF(CMS_RecipientEncryptedKey) +DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) +DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) +DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) + +# define CMS_SIGNERINFO_ISSUER_SERIAL 0 +# define CMS_SIGNERINFO_KEYIDENTIFIER 1 + +# define CMS_RECIPINFO_NONE -1 +# define CMS_RECIPINFO_TRANS 0 +# define CMS_RECIPINFO_AGREE 1 +# define CMS_RECIPINFO_KEK 2 +# define CMS_RECIPINFO_PASS 3 +# define CMS_RECIPINFO_OTHER 4 + +/* S/MIME related flags */ + +# define CMS_TEXT 0x1 +# define CMS_NOCERTS 0x2 +# define CMS_NO_CONTENT_VERIFY 0x4 +# define CMS_NO_ATTR_VERIFY 0x8 +# define CMS_NOSIGS \ + (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) +# define CMS_NOINTERN 0x10 +# define CMS_NO_SIGNER_CERT_VERIFY 0x20 +# define CMS_NOVERIFY 0x20 +# define CMS_DETACHED 0x40 +# define CMS_BINARY 0x80 +# define CMS_NOATTR 0x100 +# define CMS_NOSMIMECAP 0x200 +# define CMS_NOOLDMIMETYPE 0x400 +# define CMS_CRLFEOL 0x800 +# define CMS_STREAM 0x1000 +# define CMS_NOCRL 0x2000 +# define CMS_PARTIAL 0x4000 +# define CMS_REUSE_DIGEST 0x8000 +# define CMS_USE_KEYID 0x10000 +# define CMS_DEBUG_DECRYPT 0x20000 +# define CMS_KEY_PARAM 0x40000 + +const ASN1_OBJECT *CMS_get0_type(CMS_ContentInfo *cms); + +BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); +int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); + +ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); +int CMS_is_detached(CMS_ContentInfo *cms); +int CMS_set_detached(CMS_ContentInfo *cms, int detached); + +# ifdef HEADER_PEM_H +DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) +# endif +int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); +CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); +int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); + +BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); +int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); +int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, + int flags); +CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); +int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); + +int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, + unsigned int flags); + +CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, BIO *data, + unsigned int flags); + +CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, + X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, unsigned int flags); + +int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); +CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); + +int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, + unsigned int flags); + +int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, + const unsigned char *key, size_t keylen, + BIO *dcont, BIO *out, unsigned int flags); + +CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, + const unsigned char *key, + size_t keylen, unsigned int flags); + +int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, + const unsigned char *key, size_t keylen); + +int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); + +int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, + STACK_OF(X509) *certs, + X509_STORE *store, unsigned int flags); + +STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); + +CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, unsigned int flags); + +int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, + BIO *dcont, BIO *out, unsigned int flags); + +int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); +int CMS_decrypt_set1_key(CMS_ContentInfo *cms, + unsigned char *key, size_t keylen, + unsigned char *id, size_t idlen); +int CMS_decrypt_set1_password(CMS_ContentInfo *cms, + unsigned char *pass, ossl_ssize_t passlen); + +STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); +int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); +EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri); +CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); +CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, + X509 *recip, unsigned int flags); +int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); +int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); +int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, + EVP_PKEY **pk, X509 **recip, + X509_ALGOR **palg); +int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, + unsigned char *key, size_t keylen, + unsigned char *id, size_t idlen, + ASN1_GENERALIZEDTIME *date, + ASN1_OBJECT *otherTypeId, + ASN1_TYPE *otherType); + +int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pid, + ASN1_GENERALIZEDTIME **pdate, + ASN1_OBJECT **potherid, + ASN1_TYPE **pothertype); + +int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, + unsigned char *key, size_t keylen); + +int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, + const unsigned char *id, size_t idlen); + +int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, + unsigned char *pass, + ossl_ssize_t passlen); + +CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, + int iter, int wrap_nid, + int pbe_nid, + unsigned char *pass, + ossl_ssize_t passlen, + const EVP_CIPHER *kekciph); + +int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); + +int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); + +int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); +const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); + +CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); +int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); +int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); +STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); + +CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); +int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); +int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); +STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); + +int CMS_SignedData_init(CMS_ContentInfo *cms); +CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, + X509 *signer, EVP_PKEY *pk, const EVP_MD *md, + unsigned int flags); +EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si); +EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si); +STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); + +void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); +int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); +int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + unsigned int flags); +void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, + X509 **signer, X509_ALGOR **pdig, + X509_ALGOR **psig); +ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si); +int CMS_SignerInfo_sign(CMS_SignerInfo *si); +int CMS_SignerInfo_verify(CMS_SignerInfo *si); +int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); + +int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); +int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, + int algnid, int keysize); +int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); + +int CMS_signed_get_attr_count(const CMS_SignerInfo *si); +int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); +int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +# ifdef HEADER_X509V3_H + +int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); +CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, + int allorfirst, + STACK_OF(GENERAL_NAMES) + *receiptList, STACK_OF(GENERAL_NAMES) + *receiptsTo); +int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); +void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, + ASN1_STRING **pcid, + int *pallorfirst, + STACK_OF(GENERAL_NAMES) **plist, + STACK_OF(GENERAL_NAMES) **prto); +# endif +int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pukm); +STACK_OF(CMS_RecipientEncryptedKey) +*CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo *ri); + +int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, + X509_ALGOR **pubalg, + ASN1_BIT_STRING **pubkey, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509 *cert); + +int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek, + ASN1_OCTET_STRING **keyid, + ASN1_GENERALIZEDTIME **tm, + CMS_OtherKeyAttribute **other, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek, + X509 *cert); +int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk); +EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri); +int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, + CMS_RecipientInfo *ri, + CMS_RecipientEncryptedKey *rek); + +int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, + ASN1_OCTET_STRING *ukm, int keylen); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_CMS_strings(void); + +/* Error codes for the CMS functions. */ + +/* Function codes. */ +# define CMS_F_CHECK_CONTENT 99 +# define CMS_F_CMS_ADD0_CERT 164 +# define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 +# define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 +# define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 +# define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 +# define CMS_F_CMS_ADD1_SIGNER 102 +# define CMS_F_CMS_ADD1_SIGNINGTIME 103 +# define CMS_F_CMS_COMPRESS 104 +# define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 +# define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 +# define CMS_F_CMS_COPY_CONTENT 107 +# define CMS_F_CMS_COPY_MESSAGEDIGEST 108 +# define CMS_F_CMS_DATA 109 +# define CMS_F_CMS_DATAFINAL 110 +# define CMS_F_CMS_DATAINIT 111 +# define CMS_F_CMS_DECRYPT 112 +# define CMS_F_CMS_DECRYPT_SET1_KEY 113 +# define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 +# define CMS_F_CMS_DECRYPT_SET1_PKEY 114 +# define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 +# define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 +# define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 +# define CMS_F_CMS_DIGEST_VERIFY 118 +# define CMS_F_CMS_ENCODE_RECEIPT 161 +# define CMS_F_CMS_ENCRYPT 119 +# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 +# define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 +# define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 +# define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 +# define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 +# define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 +# define CMS_F_CMS_ENVELOPED_DATA_INIT 126 +# define CMS_F_CMS_ENV_ASN1_CTRL 171 +# define CMS_F_CMS_FINAL 127 +# define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 +# define CMS_F_CMS_GET0_CONTENT 129 +# define CMS_F_CMS_GET0_ECONTENT_TYPE 130 +# define CMS_F_CMS_GET0_ENVELOPED 131 +# define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 +# define CMS_F_CMS_GET0_SIGNED 133 +# define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 +# define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 +# define CMS_F_CMS_RECEIPT_VERIFY 160 +# define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 +# define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 169 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 178 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 175 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 173 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 172 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 174 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 +# define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 +# define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 +# define CMS_F_CMS_SD_ASN1_CTRL 170 +# define CMS_F_CMS_SET1_IAS 176 +# define CMS_F_CMS_SET1_KEYID 177 +# define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 +# define CMS_F_CMS_SET_DETACHED 147 +# define CMS_F_CMS_SIGN 148 +# define CMS_F_CMS_SIGNED_DATA_INIT 149 +# define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 +# define CMS_F_CMS_SIGNERINFO_SIGN 151 +# define CMS_F_CMS_SIGNERINFO_VERIFY 152 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 +# define CMS_F_CMS_SIGN_RECEIPT 163 +# define CMS_F_CMS_STREAM 155 +# define CMS_F_CMS_UNCOMPRESS 156 +# define CMS_F_CMS_VERIFY 157 + +/* Reason codes. */ +# define CMS_R_ADD_SIGNER_ERROR 99 +# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 +# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 +# define CMS_R_CERTIFICATE_VERIFY_ERROR 100 +# define CMS_R_CIPHER_INITIALISATION_ERROR 101 +# define CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR 102 +# define CMS_R_CMS_DATAFINAL_ERROR 103 +# define CMS_R_CMS_LIB 104 +# define CMS_R_CONTENTIDENTIFIER_MISMATCH 170 +# define CMS_R_CONTENT_NOT_FOUND 105 +# define CMS_R_CONTENT_TYPE_MISMATCH 171 +# define CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA 106 +# define CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA 107 +# define CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA 108 +# define CMS_R_CONTENT_VERIFY_ERROR 109 +# define CMS_R_CTRL_ERROR 110 +# define CMS_R_CTRL_FAILURE 111 +# define CMS_R_DECRYPT_ERROR 112 +# define CMS_R_DIGEST_ERROR 161 +# define CMS_R_ERROR_GETTING_PUBLIC_KEY 113 +# define CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE 114 +# define CMS_R_ERROR_SETTING_KEY 115 +# define CMS_R_ERROR_SETTING_RECIPIENTINFO 116 +# define CMS_R_INVALID_ENCRYPTED_KEY_LENGTH 117 +# define CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER 176 +# define CMS_R_INVALID_KEY_LENGTH 118 +# define CMS_R_MD_BIO_INIT_ERROR 119 +# define CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH 120 +# define CMS_R_MESSAGEDIGEST_WRONG_LENGTH 121 +# define CMS_R_MSGSIGDIGEST_ERROR 172 +# define CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE 162 +# define CMS_R_MSGSIGDIGEST_WRONG_LENGTH 163 +# define CMS_R_NEED_ONE_SIGNER 164 +# define CMS_R_NOT_A_SIGNED_RECEIPT 165 +# define CMS_R_NOT_ENCRYPTED_DATA 122 +# define CMS_R_NOT_KEK 123 +# define CMS_R_NOT_KEY_AGREEMENT 181 +# define CMS_R_NOT_KEY_TRANSPORT 124 +# define CMS_R_NOT_PWRI 177 +# define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 125 +# define CMS_R_NO_CIPHER 126 +# define CMS_R_NO_CONTENT 127 +# define CMS_R_NO_CONTENT_TYPE 173 +# define CMS_R_NO_DEFAULT_DIGEST 128 +# define CMS_R_NO_DIGEST_SET 129 +# define CMS_R_NO_KEY 130 +# define CMS_R_NO_KEY_OR_CERT 174 +# define CMS_R_NO_MATCHING_DIGEST 131 +# define CMS_R_NO_MATCHING_RECIPIENT 132 +# define CMS_R_NO_MATCHING_SIGNATURE 166 +# define CMS_R_NO_MSGSIGDIGEST 167 +# define CMS_R_NO_PASSWORD 178 +# define CMS_R_NO_PRIVATE_KEY 133 +# define CMS_R_NO_PUBLIC_KEY 134 +# define CMS_R_NO_RECEIPT_REQUEST 168 +# define CMS_R_NO_SIGNERS 135 +# define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 136 +# define CMS_R_RECEIPT_DECODE_ERROR 169 +# define CMS_R_RECIPIENT_ERROR 137 +# define CMS_R_SIGNER_CERTIFICATE_NOT_FOUND 138 +# define CMS_R_SIGNFINAL_ERROR 139 +# define CMS_R_SMIME_TEXT_ERROR 140 +# define CMS_R_STORE_INIT_ERROR 141 +# define CMS_R_TYPE_NOT_COMPRESSED_DATA 142 +# define CMS_R_TYPE_NOT_DATA 143 +# define CMS_R_TYPE_NOT_DIGESTED_DATA 144 +# define CMS_R_TYPE_NOT_ENCRYPTED_DATA 145 +# define CMS_R_TYPE_NOT_ENVELOPED_DATA 146 +# define CMS_R_UNABLE_TO_FINALIZE_CONTEXT 147 +# define CMS_R_UNKNOWN_CIPHER 148 +# define CMS_R_UNKNOWN_DIGEST_ALGORIHM 149 +# define CMS_R_UNKNOWN_ID 150 +# define CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM 151 +# define CMS_R_UNSUPPORTED_CONTENT_TYPE 152 +# define CMS_R_UNSUPPORTED_KEK_ALGORITHM 153 +# define CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM 179 +# define CMS_R_UNSUPPORTED_RECIPIENT_TYPE 154 +# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE 155 +# define CMS_R_UNSUPPORTED_TYPE 156 +# define CMS_R_UNWRAP_ERROR 157 +# define CMS_R_UNWRAP_FAILURE 180 +# define CMS_R_VERIFICATION_FAILURE 158 +# define CMS_R_WRAP_ERROR 159 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/comp.h b/openssl/1.0/include/openssl/comp.h new file mode 100644 index 0000000..df599ba --- /dev/null +++ b/openssl/1.0/include/openssl/comp.h @@ -0,0 +1,83 @@ + +#ifndef HEADER_COMP_H +# define HEADER_COMP_H + +# include + +# ifdef OPENSSL_NO_COMP +# error COMP is disabled. +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct comp_ctx_st COMP_CTX; + +struct comp_method_st { + int type; /* NID for compression library */ + const char *name; /* A text string to identify the library */ + int (*init) (COMP_CTX *ctx); + void (*finish) (COMP_CTX *ctx); + int (*compress) (COMP_CTX *ctx, + unsigned char *out, unsigned int olen, + unsigned char *in, unsigned int ilen); + int (*expand) (COMP_CTX *ctx, + unsigned char *out, unsigned int olen, + unsigned char *in, unsigned int ilen); + /* + * The following two do NOTHING, but are kept for backward compatibility + */ + long (*ctrl) (void); + long (*callback_ctrl) (void); +}; + +struct comp_ctx_st { + COMP_METHOD *meth; + unsigned long compress_in; + unsigned long compress_out; + unsigned long expand_in; + unsigned long expand_out; + CRYPTO_EX_DATA ex_data; +}; + +COMP_CTX *COMP_CTX_new(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_rle(void); +COMP_METHOD *COMP_zlib(void); +void COMP_zlib_cleanup(void); + +# ifdef HEADER_BIO_H +# ifdef ZLIB +BIO_METHOD *BIO_f_zlib(void); +# endif +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_COMP_strings(void); + +/* Error codes for the COMP functions. */ + +/* Function codes. */ +# define COMP_F_BIO_ZLIB_FLUSH 99 +# define COMP_F_BIO_ZLIB_NEW 100 +# define COMP_F_BIO_ZLIB_READ 101 +# define COMP_F_BIO_ZLIB_WRITE 102 + +/* Reason codes. */ +# define COMP_R_ZLIB_DEFLATE_ERROR 99 +# define COMP_R_ZLIB_INFLATE_ERROR 100 +# define COMP_R_ZLIB_NOT_SUPPORTED 101 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/conf.h b/openssl/1.0/include/openssl/conf.h new file mode 100644 index 0000000..fe49113 --- /dev/null +++ b/openssl/1.0/include/openssl/conf.h @@ -0,0 +1,268 @@ +/* crypto/conf/conf.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CONF_H +# define HEADER_CONF_H + +# include +# include +# include +# include +# include + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + char *section; + char *name; + char *value; +} CONF_VALUE; + +DECLARE_STACK_OF(CONF_VALUE) +DECLARE_LHASH_OF(CONF_VALUE); + +struct conf_st; +struct conf_method_st; +typedef struct conf_method_st CONF_METHOD; + +struct conf_method_st { + const char *name; + CONF *(*create) (CONF_METHOD *meth); + int (*init) (CONF *conf); + int (*destroy) (CONF *conf); + int (*destroy_data) (CONF *conf); + int (*load_bio) (CONF *conf, BIO *bp, long *eline); + int (*dump) (const CONF *conf, BIO *bp); + int (*is_number) (const CONF *conf, char c); + int (*to_int) (const CONF *conf, char c); + int (*load) (CONF *conf, const char *name, long *eline); +}; + +/* Module definitions */ + +typedef struct conf_imodule_st CONF_IMODULE; +typedef struct conf_module_st CONF_MODULE; + +DECLARE_STACK_OF(CONF_MODULE) +DECLARE_STACK_OF(CONF_IMODULE) + +/* DSO module function typedefs */ +typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf); +typedef void conf_finish_func (CONF_IMODULE *md); + +# define CONF_MFLAGS_IGNORE_ERRORS 0x1 +# define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 +# define CONF_MFLAGS_SILENT 0x4 +# define CONF_MFLAGS_NO_DSO 0x8 +# define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 +# define CONF_MFLAGS_DEFAULT_SECTION 0x20 + +int CONF_set_default_method(CONF_METHOD *meth); +void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); +LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline); +# ifndef OPENSSL_NO_FP_API +LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline); +# endif +LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, + long *eline); +STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, + const char *section); +char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +void CONF_free(LHASH_OF(CONF_VALUE) *conf); +int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); +int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); + +void OPENSSL_config(const char *config_name); +void OPENSSL_no_config(void); + +/* + * New conf code. The semantics are different from the functions above. If + * that wasn't the case, the above functions would have been replaced + */ + +struct conf_st { + CONF_METHOD *meth; + void *meth_data; + LHASH_OF(CONF_VALUE) *data; +}; + +CONF *NCONF_new(CONF_METHOD *meth); +CONF_METHOD *NCONF_default(void); +CONF_METHOD *NCONF_WIN32(void); +# if 0 /* Just to give you an idea of what I have in + * mind */ +CONF_METHOD *NCONF_XML(void); +# endif +void NCONF_free(CONF *conf); +void NCONF_free_data(CONF *conf); + +int NCONF_load(CONF *conf, const char *file, long *eline); +# ifndef OPENSSL_NO_FP_API +int NCONF_load_fp(CONF *conf, FILE *fp, long *eline); +# endif +int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); +STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, + const char *section); +char *NCONF_get_string(const CONF *conf, const char *group, const char *name); +int NCONF_get_number_e(const CONF *conf, const char *group, const char *name, + long *result); +int NCONF_dump_fp(const CONF *conf, FILE *out); +int NCONF_dump_bio(const CONF *conf, BIO *out); + +# if 0 /* The following function has no error + * checking, and should therefore be avoided */ +long NCONF_get_number(CONF *conf, char *group, char *name); +# else +# define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) +# endif + +/* Module functions */ + +int CONF_modules_load(const CONF *cnf, const char *appname, + unsigned long flags); +int CONF_modules_load_file(const char *filename, const char *appname, + unsigned long flags); +void CONF_modules_unload(int all); +void CONF_modules_finish(void); +void CONF_modules_free(void); +int CONF_module_add(const char *name, conf_init_func *ifunc, + conf_finish_func *ffunc); + +const char *CONF_imodule_get_name(const CONF_IMODULE *md); +const char *CONF_imodule_get_value(const CONF_IMODULE *md); +void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); +void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); +CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); +unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); +void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); +void *CONF_module_get_usr_data(CONF_MODULE *pmod); +void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); + +char *CONF_get1_default_config_file(void); + +int CONF_parse_list(const char *list, int sep, int nospc, + int (*list_cb) (const char *elem, int len, void *usr), + void *arg); + +void OPENSSL_load_builtin_modules(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_CONF_strings(void); + +/* Error codes for the CONF functions. */ + +/* Function codes. */ +# define CONF_F_CONF_DUMP_FP 104 +# define CONF_F_CONF_LOAD 100 +# define CONF_F_CONF_LOAD_BIO 102 +# define CONF_F_CONF_LOAD_FP 103 +# define CONF_F_CONF_MODULES_LOAD 116 +# define CONF_F_CONF_PARSE_LIST 119 +# define CONF_F_DEF_LOAD 120 +# define CONF_F_DEF_LOAD_BIO 121 +# define CONF_F_MODULE_INIT 115 +# define CONF_F_MODULE_LOAD_DSO 117 +# define CONF_F_MODULE_RUN 118 +# define CONF_F_NCONF_DUMP_BIO 105 +# define CONF_F_NCONF_DUMP_FP 106 +# define CONF_F_NCONF_GET_NUMBER 107 +# define CONF_F_NCONF_GET_NUMBER_E 112 +# define CONF_F_NCONF_GET_SECTION 108 +# define CONF_F_NCONF_GET_STRING 109 +# define CONF_F_NCONF_LOAD 113 +# define CONF_F_NCONF_LOAD_BIO 110 +# define CONF_F_NCONF_LOAD_FP 114 +# define CONF_F_NCONF_NEW 111 +# define CONF_F_STR_COPY 101 + +/* Reason codes. */ +# define CONF_R_ERROR_LOADING_DSO 110 +# define CONF_R_LIST_CANNOT_BE_NULL 115 +# define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 +# define CONF_R_MISSING_EQUAL_SIGN 101 +# define CONF_R_MISSING_FINISH_FUNCTION 111 +# define CONF_R_MISSING_INIT_FUNCTION 112 +# define CONF_R_MODULE_INITIALIZATION_ERROR 109 +# define CONF_R_NO_CLOSE_BRACE 102 +# define CONF_R_NO_CONF 105 +# define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 +# define CONF_R_NO_SECTION 107 +# define CONF_R_NO_SUCH_FILE 114 +# define CONF_R_NO_VALUE 108 +# define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 +# define CONF_R_UNKNOWN_MODULE_NAME 113 +# define CONF_R_VARIABLE_EXPANSION_TOO_LONG 116 +# define CONF_R_VARIABLE_HAS_NO_VALUE 104 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/conf_api.h b/openssl/1.0/include/openssl/conf_api.h new file mode 100644 index 0000000..e478f7d --- /dev/null +++ b/openssl/1.0/include/openssl/conf_api.h @@ -0,0 +1,89 @@ +/* conf_api.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CONF_API_H +# define HEADER_CONF_API_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Up until OpenSSL 0.9.5a, this was new_section */ +CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was get_section */ +CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ +STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, + const char *section); + +int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); +char *_CONF_get_string(const CONF *conf, const char *section, + const char *name); +long _CONF_get_number(const CONF *conf, const char *section, + const char *name); + +int _CONF_new_data(CONF *conf); +void _CONF_free_data(CONF *conf); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/crypto.h b/openssl/1.0/include/openssl/crypto.h new file mode 100644 index 0000000..6c644ce --- /dev/null +++ b/openssl/1.0/include/openssl/crypto.h @@ -0,0 +1,661 @@ +/* crypto/crypto.h */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_CRYPTO_H +# define HEADER_CRYPTO_H + +# include + +# include + +# ifndef OPENSSL_NO_FP_API +# include +# endif + +# include +# include +# include +# include + +# ifdef CHARSET_EBCDIC +# include +# endif + +/* + * Resolve problems on some operating systems with symbol names that clash + * one way or another + */ +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Backward compatibility to SSLeay */ +/* + * This is more to be used to check the correct DLL is being used in the MS + * world. + */ +# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER +# define SSLEAY_VERSION 0 +/* #define SSLEAY_OPTIONS 1 no longer supported */ +# define SSLEAY_CFLAGS 2 +# define SSLEAY_BUILT_ON 3 +# define SSLEAY_PLATFORM 4 +# define SSLEAY_DIR 5 + +/* Already declared in ossl_typ.h */ +# if 0 +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; +/* Called when a new object is created */ +typedef int CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +/* Called when an object is free()ed */ +typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +/* Called when we need to dup an object */ +typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, + void *from_d, int idx, long argl, void *argp); +# endif + +/* A generic structure to pass assorted data in a expandable way */ +typedef struct openssl_item_st { + int code; + void *value; /* Not used for flag attributes */ + size_t value_size; /* Max size of value for output, length for + * input */ + size_t *value_length; /* Returned length of value for output */ +} OPENSSL_ITEM; + +/* + * When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock + * names in cryptlib.c + */ + +# define CRYPTO_LOCK_ERR 1 +# define CRYPTO_LOCK_EX_DATA 2 +# define CRYPTO_LOCK_X509 3 +# define CRYPTO_LOCK_X509_INFO 4 +# define CRYPTO_LOCK_X509_PKEY 5 +# define CRYPTO_LOCK_X509_CRL 6 +# define CRYPTO_LOCK_X509_REQ 7 +# define CRYPTO_LOCK_DSA 8 +# define CRYPTO_LOCK_RSA 9 +# define CRYPTO_LOCK_EVP_PKEY 10 +# define CRYPTO_LOCK_X509_STORE 11 +# define CRYPTO_LOCK_SSL_CTX 12 +# define CRYPTO_LOCK_SSL_CERT 13 +# define CRYPTO_LOCK_SSL_SESSION 14 +# define CRYPTO_LOCK_SSL_SESS_CERT 15 +# define CRYPTO_LOCK_SSL 16 +# define CRYPTO_LOCK_SSL_METHOD 17 +# define CRYPTO_LOCK_RAND 18 +# define CRYPTO_LOCK_RAND2 19 +# define CRYPTO_LOCK_MALLOC 20 +# define CRYPTO_LOCK_BIO 21 +# define CRYPTO_LOCK_GETHOSTBYNAME 22 +# define CRYPTO_LOCK_GETSERVBYNAME 23 +# define CRYPTO_LOCK_READDIR 24 +# define CRYPTO_LOCK_RSA_BLINDING 25 +# define CRYPTO_LOCK_DH 26 +# define CRYPTO_LOCK_MALLOC2 27 +# define CRYPTO_LOCK_DSO 28 +# define CRYPTO_LOCK_DYNLOCK 29 +# define CRYPTO_LOCK_ENGINE 30 +# define CRYPTO_LOCK_UI 31 +# define CRYPTO_LOCK_ECDSA 32 +# define CRYPTO_LOCK_EC 33 +# define CRYPTO_LOCK_ECDH 34 +# define CRYPTO_LOCK_BN 35 +# define CRYPTO_LOCK_EC_PRE_COMP 36 +# define CRYPTO_LOCK_STORE 37 +# define CRYPTO_LOCK_COMP 38 +# define CRYPTO_LOCK_FIPS 39 +# define CRYPTO_LOCK_FIPS2 40 +# define CRYPTO_NUM_LOCKS 41 + +# define CRYPTO_LOCK 1 +# define CRYPTO_UNLOCK 2 +# define CRYPTO_READ 4 +# define CRYPTO_WRITE 8 + +# ifndef OPENSSL_NO_LOCKING +# ifndef CRYPTO_w_lock +# define CRYPTO_w_lock(type) \ + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) +# define CRYPTO_w_unlock(type) \ + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) +# define CRYPTO_r_lock(type) \ + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__) +# define CRYPTO_r_unlock(type) \ + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) +# define CRYPTO_add(addr,amount,type) \ + CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) +# endif +# else +# define CRYPTO_w_lock(a) +# define CRYPTO_w_unlock(a) +# define CRYPTO_r_lock(a) +# define CRYPTO_r_unlock(a) +# define CRYPTO_add(a,b,c) ((*(a))+=(b)) +# endif + +/* + * Some applications as well as some parts of OpenSSL need to allocate and + * deallocate locks in a dynamic fashion. The following typedef makes this + * possible in a type-safe manner. + */ +/* struct CRYPTO_dynlock_value has to be defined by the application. */ +typedef struct { + int references; + struct CRYPTO_dynlock_value *data; +} CRYPTO_dynlock; + +/* + * The following can be used to detect memory leaks in the SSLeay library. It + * used, it turns on malloc checking + */ + +# define CRYPTO_MEM_CHECK_OFF 0x0/* an enume */ +# define CRYPTO_MEM_CHECK_ON 0x1/* a bit */ +# define CRYPTO_MEM_CHECK_ENABLE 0x2/* a bit */ +# define CRYPTO_MEM_CHECK_DISABLE 0x3/* an enume */ + +/* + * The following are bit values to turn on or off options connected to the + * malloc checking functionality + */ + +/* Adds time to the memory checking information */ +# define V_CRYPTO_MDEBUG_TIME 0x1/* a bit */ +/* Adds thread number to the memory checking information */ +# define V_CRYPTO_MDEBUG_THREAD 0x2/* a bit */ + +# define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) + +/* predec of the BIO type */ +typedef struct bio_st BIO_dummy; + +struct crypto_ex_data_st { + STACK_OF(void) *sk; + /* gcc is screwing up this data structure :-( */ + int dummy; +}; +DECLARE_STACK_OF(void) + +/* + * This stuff is basically class callback functions The current classes are + * SSL_CTX, SSL, SSL_SESSION, and a few more + */ + +typedef struct crypto_ex_data_func_st { + long argl; /* Arbitary long */ + void *argp; /* Arbitary void * */ + CRYPTO_EX_new *new_func; + CRYPTO_EX_free *free_func; + CRYPTO_EX_dup *dup_func; +} CRYPTO_EX_DATA_FUNCS; + +DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS) + +/* + * Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA + * entry. + */ + +# define CRYPTO_EX_INDEX_BIO 0 +# define CRYPTO_EX_INDEX_SSL 1 +# define CRYPTO_EX_INDEX_SSL_CTX 2 +# define CRYPTO_EX_INDEX_SSL_SESSION 3 +# define CRYPTO_EX_INDEX_X509_STORE 4 +# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 +# define CRYPTO_EX_INDEX_RSA 6 +# define CRYPTO_EX_INDEX_DSA 7 +# define CRYPTO_EX_INDEX_DH 8 +# define CRYPTO_EX_INDEX_ENGINE 9 +# define CRYPTO_EX_INDEX_X509 10 +# define CRYPTO_EX_INDEX_UI 11 +# define CRYPTO_EX_INDEX_ECDSA 12 +# define CRYPTO_EX_INDEX_ECDH 13 +# define CRYPTO_EX_INDEX_COMP 14 +# define CRYPTO_EX_INDEX_STORE 15 + +/* + * Dynamically assigned indexes start from this value (don't use directly, + * use via CRYPTO_ex_data_new_class). + */ +# define CRYPTO_EX_INDEX_USER 100 + +/* + * This is the default callbacks, but we can have others as well: this is + * needed in Win32 where the application malloc and the library malloc may + * not be the same. + */ +# define CRYPTO_malloc_init() CRYPTO_set_mem_functions(\ + malloc, realloc, free) + +# if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MDEBUG_THREAD +# ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ +# define CRYPTO_MDEBUG +# endif +# endif + +/* + * Set standard debugging functions (not done by default unless CRYPTO_MDEBUG + * is defined) + */ +# define CRYPTO_malloc_debug_init() do {\ + CRYPTO_set_mem_debug_functions(\ + CRYPTO_dbg_malloc,\ + CRYPTO_dbg_realloc,\ + CRYPTO_dbg_free,\ + CRYPTO_dbg_set_options,\ + CRYPTO_dbg_get_options);\ + } while(0) + +int CRYPTO_mem_ctrl(int mode); +int CRYPTO_is_mem_check_on(void); + +/* for applications */ +# define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) +# define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) + +/* for library-internal use */ +# define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) +# define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE) +# define is_MemCheck_on() CRYPTO_is_mem_check_on() + +# define OPENSSL_malloc(num) CRYPTO_malloc((int)num,__FILE__,__LINE__) +# define OPENSSL_strdup(str) CRYPTO_strdup((str),__FILE__,__LINE__) +# define OPENSSL_realloc(addr,num) \ + CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__) +# define OPENSSL_realloc_clean(addr,old_num,num) \ + CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__) +# define OPENSSL_remalloc(addr,num) \ + CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__) +# define OPENSSL_freeFunc CRYPTO_free +# define OPENSSL_free(addr) CRYPTO_free(addr) + +# define OPENSSL_malloc_locked(num) \ + CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) +# define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) + +const char *SSLeay_version(int type); +unsigned long SSLeay(void); + +int OPENSSL_issetugid(void); + +/* An opaque type representing an implementation of "ex_data" support */ +typedef struct st_CRYPTO_EX_DATA_IMPL CRYPTO_EX_DATA_IMPL; +/* Return an opaque pointer to the current "ex_data" implementation */ +const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void); +/* Sets the "ex_data" implementation to be used (if it's not too late) */ +int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i); +/* Get a new "ex_data" class, and return the corresponding "class_index" */ +int CRYPTO_ex_data_new_class(void); +/* Within a given class, get/register a new index */ +int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +/* + * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a + * given class (invokes whatever per-class callbacks are applicable) + */ +int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, + CRYPTO_EX_DATA *from); +void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +/* + * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular + * index (relative to the class type involved) + */ +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); +void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); +/* + * This function cleans up all "ex_data" state. It mustn't be called under + * potential race-conditions. + */ +void CRYPTO_cleanup_all_ex_data(void); + +int CRYPTO_get_new_lockid(char *name); + +int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ +void CRYPTO_lock(int mode, int type, const char *file, int line); +void CRYPTO_set_locking_callback(void (*func) (int mode, int type, + const char *file, int line)); +void (*CRYPTO_get_locking_callback(void)) (int mode, int type, + const char *file, int line); +void CRYPTO_set_add_lock_callback(int (*func) + (int *num, int mount, int type, + const char *file, int line)); +int (*CRYPTO_get_add_lock_callback(void)) (int *num, int mount, int type, + const char *file, int line); + +/* Don't use this structure directly. */ +typedef struct crypto_threadid_st { + void *ptr; + unsigned long val; +} CRYPTO_THREADID; +/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ +void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); +void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); +int CRYPTO_THREADID_set_callback(void (*threadid_func) (CRYPTO_THREADID *)); +void (*CRYPTO_THREADID_get_callback(void)) (CRYPTO_THREADID *); +void CRYPTO_THREADID_current(CRYPTO_THREADID *id); +int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); +void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); +unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); +# ifndef OPENSSL_NO_DEPRECATED +void CRYPTO_set_id_callback(unsigned long (*func) (void)); +unsigned long (*CRYPTO_get_id_callback(void)) (void); +unsigned long CRYPTO_thread_id(void); +# endif + +const char *CRYPTO_get_lock_name(int type); +int CRYPTO_add_lock(int *pointer, int amount, int type, const char *file, + int line); + +int CRYPTO_get_new_dynlockid(void); +void CRYPTO_destroy_dynlockid(int i); +struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); +void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value + *(*dyn_create_function) (const char + *file, + int line)); +void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function) + (int mode, + struct CRYPTO_dynlock_value *l, + const char *file, int line)); +void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function) + (struct CRYPTO_dynlock_value *l, + const char *file, int line)); +struct CRYPTO_dynlock_value +*(*CRYPTO_get_dynlock_create_callback(void)) (const char *file, int line); +void (*CRYPTO_get_dynlock_lock_callback(void)) (int mode, + struct CRYPTO_dynlock_value + *l, const char *file, + int line); +void (*CRYPTO_get_dynlock_destroy_callback(void)) (struct CRYPTO_dynlock_value + *l, const char *file, + int line); + +/* + * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call + * the latter last if you need different functions + */ +int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), + void (*f) (void *)); +int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), + void (*free_func) (void *)); +int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), + void *(*r) (void *, size_t, const char *, + int), void (*f) (void *)); +int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), + void (*free_func) (void *)); +int CRYPTO_set_mem_debug_functions(void (*m) + (void *, int, const char *, int, int), + void (*r) (void *, void *, int, + const char *, int, int), + void (*f) (void *, int), void (*so) (long), + long (*go) (void)); +void CRYPTO_get_mem_functions(void *(**m) (size_t), + void *(**r) (void *, size_t), + void (**f) (void *)); +void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), + void (**f) (void *)); +void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int), + void *(**r) (void *, size_t, const char *, + int), void (**f) (void *)); +void CRYPTO_get_locked_mem_ex_functions(void + *(**m) (size_t, const char *, int), + void (**f) (void *)); +void CRYPTO_get_mem_debug_functions(void (**m) + (void *, int, const char *, int, int), + void (**r) (void *, void *, int, + const char *, int, int), + void (**f) (void *, int), + void (**so) (long), long (**go) (void)); + +void *CRYPTO_malloc_locked(int num, const char *file, int line); +void CRYPTO_free_locked(void *ptr); +void *CRYPTO_malloc(int num, const char *file, int line); +char *CRYPTO_strdup(const char *str, const char *file, int line); +void CRYPTO_free(void *ptr); +void *CRYPTO_realloc(void *addr, int num, const char *file, int line); +void *CRYPTO_realloc_clean(void *addr, int old_num, int num, const char *file, + int line); +void *CRYPTO_remalloc(void *addr, int num, const char *file, int line); + +void OPENSSL_cleanse(void *ptr, size_t len); + +void CRYPTO_set_mem_debug_options(long bits); +long CRYPTO_get_mem_debug_options(void); + +# define CRYPTO_push_info(info) \ + CRYPTO_push_info_(info, __FILE__, __LINE__); +int CRYPTO_push_info_(const char *info, const char *file, int line); +int CRYPTO_pop_info(void); +int CRYPTO_remove_all_info(void); + +/* + * Default debugging functions (enabled by CRYPTO_malloc_debug_init() macro; + * used as default in CRYPTO_MDEBUG compilations): + */ +/*- + * The last argument has the following significance: + * + * 0: called before the actual memory allocation has taken place + * 1: called after the actual memory allocation has taken place + */ +void CRYPTO_dbg_malloc(void *addr, int num, const char *file, int line, + int before_p); +void CRYPTO_dbg_realloc(void *addr1, void *addr2, int num, const char *file, + int line, int before_p); +void CRYPTO_dbg_free(void *addr, int before_p); +/*- + * Tell the debugging code about options. By default, the following values + * apply: + * + * 0: Clear all options. + * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. + * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. + * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 + */ +void CRYPTO_dbg_set_options(long bits); +long CRYPTO_dbg_get_options(void); + +# ifndef OPENSSL_NO_FP_API +void CRYPTO_mem_leaks_fp(FILE *); +# endif +void CRYPTO_mem_leaks(struct bio_st *bio); +/* unsigned long order, char *file, int line, int num_bytes, char *addr */ +typedef void *CRYPTO_MEM_LEAK_CB (unsigned long, const char *, int, int, + void *); +void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); + +/* die if we have to */ +void OpenSSLDie(const char *file, int line, const char *assertion); +# define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1)) + +unsigned long *OPENSSL_ia32cap_loc(void); +# define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) +int OPENSSL_isservice(void); + +int FIPS_mode(void); +int FIPS_mode_set(int r); + +void OPENSSL_init(void); + +# define fips_md_init(alg) fips_md_init_ctx(alg, alg) + +# ifdef OPENSSL_FIPS +# define fips_md_init_ctx(alg, cx) \ + int alg##_Init(cx##_CTX *c) \ + { \ + if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ + "Low level API call to digest " #alg " forbidden in FIPS mode!"); \ + return private_##alg##_Init(c); \ + } \ + int private_##alg##_Init(cx##_CTX *c) + +# define fips_cipher_abort(alg) \ + if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ + "Low level API call to cipher " #alg " forbidden in FIPS mode!") + +# else +# define fips_md_init_ctx(alg, cx) \ + int alg##_Init(cx##_CTX *c) +# define fips_cipher_abort(alg) while(0) +# endif + +/* + * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. + * It takes an amount of time dependent on |len|, but independent of the + * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements + * into a defined order as the return value when a != b is undefined, other + * than to be non-zero. + */ +int CRYPTO_memcmp(const volatile void *a, const volatile void *b, size_t len); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_CRYPTO_strings(void); + +/* Error codes for the CRYPTO functions. */ + +/* Function codes. */ +# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 +# define CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID 103 +# define CRYPTO_F_CRYPTO_GET_NEW_LOCKID 101 +# define CRYPTO_F_CRYPTO_SET_EX_DATA 102 +# define CRYPTO_F_DEF_ADD_INDEX 104 +# define CRYPTO_F_DEF_GET_CLASS 105 +# define CRYPTO_F_FIPS_MODE_SET 109 +# define CRYPTO_F_INT_DUP_EX_DATA 106 +# define CRYPTO_F_INT_FREE_EX_DATA 107 +# define CRYPTO_F_INT_NEW_EX_DATA 108 + +/* Reason codes. */ +# define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 +# define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/des.h b/openssl/1.0/include/openssl/des.h new file mode 100644 index 0000000..1b40144 --- /dev/null +++ b/openssl/1.0/include/openssl/des.h @@ -0,0 +1,257 @@ +/* crypto/des/des.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_NEW_DES_H +# define HEADER_NEW_DES_H + +# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG + * (via openssl/opensslconf.h */ + +# ifdef OPENSSL_NO_DES +# error DES is disabled. +# endif + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned char DES_cblock[8]; +typedef /* const */ unsigned char const_DES_cblock[8]; +/* + * With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * and + * const_DES_cblock * are incompatible pointer types. + */ + +typedef struct DES_ks { + union { + DES_cblock cblock; + /* + * make sure things are correct size on machines with 8 byte longs + */ + DES_LONG deslong[2]; + } ks[16]; +} DES_key_schedule; + +# ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT +# ifndef OPENSSL_ENABLE_OLD_DES_SUPPORT +# define OPENSSL_ENABLE_OLD_DES_SUPPORT +# endif +# endif + +# ifdef OPENSSL_ENABLE_OLD_DES_SUPPORT +# include +# endif + +# define DES_KEY_SZ (sizeof(DES_cblock)) +# define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) + +# define DES_ENCRYPT 1 +# define DES_DECRYPT 0 + +# define DES_CBC_MODE 0 +# define DES_PCBC_MODE 1 + +# define DES_ecb2_encrypt(i,o,k1,k2,e) \ + DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ +# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) +OPENSSL_DECLARE_GLOBAL(int, DES_rw_mode); /* defaults to DES_PCBC_MODE */ +# define DES_rw_mode OPENSSL_GLOBAL_REF(DES_rw_mode) + +const char *DES_options(void); +void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, int enc); +DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, + long length, DES_key_schedule *schedule, + const_DES_cblock *ivec); +/* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ +void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, const_DES_cblock *inw, + const_DES_cblock *outw, int enc); +void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks, int enc); + +/* + * This is the DES encryption function that gets called by just about every + * other DES routine in the library. You should not use this function except + * to implement 'modes' of DES. I say this because the functions that call + * this routine do the conversion from 'char *' to long, and this needs to be + * done to make sure 'non-aligned' memory access do not occur. The + * characters are loaded 'little endian'. Data is a pointer to 2 unsigned + * long's and ks is the DES_key_schedule to use. enc, is non zero specifies + * encryption, zero if decryption. + */ +void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); + +/* + * This functions is the same as DES_encrypt1() except that the DES initial + * permutation (IP) and final permutation (FP) have been left out. As for + * DES_encrypt1(), you should not use this function. It is used by the + * routines in the library that implement triple DES. IP() DES_encrypt2() + * DES_encrypt2() DES_encrypt2() FP() is the same as DES_encrypt1() + * DES_encrypt1() DES_encrypt1() except faster :-). + */ +void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); + +void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, DES_cblock *ivec, int enc); +void DES_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, + DES_cblock *ivec1, DES_cblock *ivec2, int enc); +void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num, int enc); +void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, + int numbits, long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int enc); +void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num); +# if 0 +void DES_xwhite_in2out(const_DES_cblock *DES_key, const_DES_cblock *in_white, + DES_cblock *out_white); +# endif + +int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched, + DES_cblock *iv); +int DES_enc_write(int fd, const void *buf, int len, DES_key_schedule *sched, + DES_cblock *iv); +char *DES_fcrypt(const char *buf, const char *salt, char *ret); +char *DES_crypt(const char *buf, const char *salt); +void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec); +void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], + long length, int out_count, DES_cblock *seed); +int DES_random_key(DES_cblock *ret); +void DES_set_odd_parity(DES_cblock *key); +int DES_check_key_parity(const_DES_cblock *key); +int DES_is_weak_key(const_DES_cblock *key); +/* + * DES_set_key (= set_key = DES_key_sched = key_sched) calls + * DES_set_key_checked if global variable DES_check_key is set, + * DES_set_key_unchecked otherwise. + */ +int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule); +# ifdef OPENSSL_FIPS +void private_DES_set_key_unchecked(const_DES_cblock *key, + DES_key_schedule *schedule); +# endif +void DES_string_to_key(const char *str, DES_cblock *key); +void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2); +void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num, int enc); +void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num); + +int DES_read_password(DES_cblock *key, const char *prompt, int verify); +int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, + const char *prompt, int verify); + +# define DES_fixup_key_parity DES_set_odd_parity + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/des_old.h b/openssl/1.0/include/openssl/des_old.h new file mode 100644 index 0000000..ee7607a --- /dev/null +++ b/openssl/1.0/include/openssl/des_old.h @@ -0,0 +1,497 @@ +/* crypto/des/des_old.h */ + +/*- + * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING + * + * The function names in here are deprecated and are only present to + * provide an interface compatible with openssl 0.9.6 and older as + * well as libdes. OpenSSL now provides functions where "des_" has + * been replaced with "DES_" in the names, to make it possible to + * make incompatible changes that are needed for C type security and + * other stuff. + * + * This include files has two compatibility modes: + * + * - If OPENSSL_DES_LIBDES_COMPATIBILITY is defined, you get an API + * that is compatible with libdes and SSLeay. + * - If OPENSSL_DES_LIBDES_COMPATIBILITY isn't defined, you get an + * API that is compatible with OpenSSL 0.9.5x to 0.9.6x. + * + * Note that these modes break earlier snapshots of OpenSSL, where + * libdes compatibility was the only available mode or (later on) the + * prefered compatibility mode. However, after much consideration + * (and more or less violent discussions with external parties), it + * was concluded that OpenSSL should be compatible with earlier versions + * of itself before anything else. Also, in all honesty, libdes is + * an old beast that shouldn't really be used any more. + * + * Please consider starting to use the DES_ functions rather than the + * des_ ones. The des_ functions will disappear completely before + * OpenSSL 1.0! + * + * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING + */ + +/* + * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project + * 2001. + */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_DES_H +# define HEADER_DES_H + +# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG */ + +# ifdef OPENSSL_NO_DES +# error DES is disabled. +# endif + +# ifndef HEADER_NEW_DES_H +# error You must include des.h, not des_old.h directly. +# endif + +# ifdef _KERBEROS_DES_H +# error replaces . +# endif + +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef _ +# undef _ +# endif + +typedef unsigned char _ossl_old_des_cblock[8]; +typedef struct _ossl_old_des_ks_struct { + union { + _ossl_old_des_cblock _; + /* + * make sure things are correct size on machines with 8 byte longs + */ + DES_LONG pad[2]; + } ks; +} _ossl_old_des_key_schedule[16]; + +# ifndef OPENSSL_DES_LIBDES_COMPATIBILITY +# define des_cblock DES_cblock +# define const_des_cblock const_DES_cblock +# define des_key_schedule DES_key_schedule +# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ + DES_ecb3_encrypt((i),(o),&(k1),&(k2),&(k3),(e)) +# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ + DES_ede3_cbc_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(e)) +# define des_ede3_cbcm_encrypt(i,o,l,k1,k2,k3,iv1,iv2,e)\ + DES_ede3_cbcm_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv1),(iv2),(e)) +# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ + DES_ede3_cfb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n),(e)) +# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ + DES_ede3_ofb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n)) +# define des_options()\ + DES_options() +# define des_cbc_cksum(i,o,l,k,iv)\ + DES_cbc_cksum((i),(o),(l),&(k),(iv)) +# define des_cbc_encrypt(i,o,l,k,iv,e)\ + DES_cbc_encrypt((i),(o),(l),&(k),(iv),(e)) +# define des_ncbc_encrypt(i,o,l,k,iv,e)\ + DES_ncbc_encrypt((i),(o),(l),&(k),(iv),(e)) +# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ + DES_xcbc_encrypt((i),(o),(l),&(k),(iv),(inw),(outw),(e)) +# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ + DES_cfb_encrypt((i),(o),(n),(l),&(k),(iv),(e)) +# define des_ecb_encrypt(i,o,k,e)\ + DES_ecb_encrypt((i),(o),&(k),(e)) +# define des_encrypt1(d,k,e)\ + DES_encrypt1((d),&(k),(e)) +# define des_encrypt2(d,k,e)\ + DES_encrypt2((d),&(k),(e)) +# define des_encrypt3(d,k1,k2,k3)\ + DES_encrypt3((d),&(k1),&(k2),&(k3)) +# define des_decrypt3(d,k1,k2,k3)\ + DES_decrypt3((d),&(k1),&(k2),&(k3)) +# define des_xwhite_in2out(k,i,o)\ + DES_xwhite_in2out((k),(i),(o)) +# define des_enc_read(f,b,l,k,iv)\ + DES_enc_read((f),(b),(l),&(k),(iv)) +# define des_enc_write(f,b,l,k,iv)\ + DES_enc_write((f),(b),(l),&(k),(iv)) +# define des_fcrypt(b,s,r)\ + DES_fcrypt((b),(s),(r)) +# if 0 +# define des_crypt(b,s)\ + DES_crypt((b),(s)) +# if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__) +# define crypt(b,s)\ + DES_crypt((b),(s)) +# endif +# endif +# define des_ofb_encrypt(i,o,n,l,k,iv)\ + DES_ofb_encrypt((i),(o),(n),(l),&(k),(iv)) +# define des_pcbc_encrypt(i,o,l,k,iv,e)\ + DES_pcbc_encrypt((i),(o),(l),&(k),(iv),(e)) +# define des_quad_cksum(i,o,l,c,s)\ + DES_quad_cksum((i),(o),(l),(c),(s)) +# define des_random_seed(k)\ + _ossl_096_des_random_seed((k)) +# define des_random_key(r)\ + DES_random_key((r)) +# define des_read_password(k,p,v) \ + DES_read_password((k),(p),(v)) +# define des_read_2passwords(k1,k2,p,v) \ + DES_read_2passwords((k1),(k2),(p),(v)) +# define des_set_odd_parity(k)\ + DES_set_odd_parity((k)) +# define des_check_key_parity(k)\ + DES_check_key_parity((k)) +# define des_is_weak_key(k)\ + DES_is_weak_key((k)) +# define des_set_key(k,ks)\ + DES_set_key((k),&(ks)) +# define des_key_sched(k,ks)\ + DES_key_sched((k),&(ks)) +# define des_set_key_checked(k,ks)\ + DES_set_key_checked((k),&(ks)) +# define des_set_key_unchecked(k,ks)\ + DES_set_key_unchecked((k),&(ks)) +# define des_string_to_key(s,k)\ + DES_string_to_key((s),(k)) +# define des_string_to_2keys(s,k1,k2)\ + DES_string_to_2keys((s),(k1),(k2)) +# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ + DES_cfb64_encrypt((i),(o),(l),&(ks),(iv),(n),(e)) +# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ + DES_ofb64_encrypt((i),(o),(l),&(ks),(iv),(n)) + +# define des_ecb2_encrypt(i,o,k1,k2,e) \ + des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define des_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +# define des_check_key DES_check_key +# define des_rw_mode DES_rw_mode +# else /* libdes compatibility */ +/* + * Map all symbol names to _ossl_old_des_* form, so we avoid all clashes with + * libdes + */ +# define des_cblock _ossl_old_des_cblock +# define des_key_schedule _ossl_old_des_key_schedule +# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ + _ossl_old_des_ecb3_encrypt((i),(o),(k1),(k2),(k3),(e)) +# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ + _ossl_old_des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e)) +# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ + _ossl_old_des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n),(e)) +# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ + _ossl_old_des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n)) +# define des_options()\ + _ossl_old_des_options() +# define des_cbc_cksum(i,o,l,k,iv)\ + _ossl_old_des_cbc_cksum((i),(o),(l),(k),(iv)) +# define des_cbc_encrypt(i,o,l,k,iv,e)\ + _ossl_old_des_cbc_encrypt((i),(o),(l),(k),(iv),(e)) +# define des_ncbc_encrypt(i,o,l,k,iv,e)\ + _ossl_old_des_ncbc_encrypt((i),(o),(l),(k),(iv),(e)) +# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ + _ossl_old_des_xcbc_encrypt((i),(o),(l),(k),(iv),(inw),(outw),(e)) +# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ + _ossl_old_des_cfb_encrypt((i),(o),(n),(l),(k),(iv),(e)) +# define des_ecb_encrypt(i,o,k,e)\ + _ossl_old_des_ecb_encrypt((i),(o),(k),(e)) +# define des_encrypt(d,k,e)\ + _ossl_old_des_encrypt((d),(k),(e)) +# define des_encrypt2(d,k,e)\ + _ossl_old_des_encrypt2((d),(k),(e)) +# define des_encrypt3(d,k1,k2,k3)\ + _ossl_old_des_encrypt3((d),(k1),(k2),(k3)) +# define des_decrypt3(d,k1,k2,k3)\ + _ossl_old_des_decrypt3((d),(k1),(k2),(k3)) +# define des_xwhite_in2out(k,i,o)\ + _ossl_old_des_xwhite_in2out((k),(i),(o)) +# define des_enc_read(f,b,l,k,iv)\ + _ossl_old_des_enc_read((f),(b),(l),(k),(iv)) +# define des_enc_write(f,b,l,k,iv)\ + _ossl_old_des_enc_write((f),(b),(l),(k),(iv)) +# define des_fcrypt(b,s,r)\ + _ossl_old_des_fcrypt((b),(s),(r)) +# define des_crypt(b,s)\ + _ossl_old_des_crypt((b),(s)) +# if 0 +# define crypt(b,s)\ + _ossl_old_crypt((b),(s)) +# endif +# define des_ofb_encrypt(i,o,n,l,k,iv)\ + _ossl_old_des_ofb_encrypt((i),(o),(n),(l),(k),(iv)) +# define des_pcbc_encrypt(i,o,l,k,iv,e)\ + _ossl_old_des_pcbc_encrypt((i),(o),(l),(k),(iv),(e)) +# define des_quad_cksum(i,o,l,c,s)\ + _ossl_old_des_quad_cksum((i),(o),(l),(c),(s)) +# define des_random_seed(k)\ + _ossl_old_des_random_seed((k)) +# define des_random_key(r)\ + _ossl_old_des_random_key((r)) +# define des_read_password(k,p,v) \ + _ossl_old_des_read_password((k),(p),(v)) +# define des_read_2passwords(k1,k2,p,v) \ + _ossl_old_des_read_2passwords((k1),(k2),(p),(v)) +# define des_set_odd_parity(k)\ + _ossl_old_des_set_odd_parity((k)) +# define des_is_weak_key(k)\ + _ossl_old_des_is_weak_key((k)) +# define des_set_key(k,ks)\ + _ossl_old_des_set_key((k),(ks)) +# define des_key_sched(k,ks)\ + _ossl_old_des_key_sched((k),(ks)) +# define des_string_to_key(s,k)\ + _ossl_old_des_string_to_key((s),(k)) +# define des_string_to_2keys(s,k1,k2)\ + _ossl_old_des_string_to_2keys((s),(k1),(k2)) +# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ + _ossl_old_des_cfb64_encrypt((i),(o),(l),(ks),(iv),(n),(e)) +# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ + _ossl_old_des_ofb64_encrypt((i),(o),(l),(ks),(iv),(n)) + +# define des_ecb2_encrypt(i,o,k1,k2,e) \ + des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define des_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +# define des_check_key DES_check_key +# define des_rw_mode DES_rw_mode +# endif + +const char *_ossl_old_des_options(void); +void _ossl_old_des_ecb3_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, int enc); +DES_LONG _ossl_old_des_cbc_cksum(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec); +void _ossl_old_des_cbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_ncbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_xcbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, + _ossl_old_des_cblock *inw, + _ossl_old_des_cblock *outw, int enc); +void _ossl_old_des_cfb_encrypt(unsigned char *in, unsigned char *out, + int numbits, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_ecb_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, + _ossl_old_des_key_schedule ks, int enc); +void _ossl_old_des_encrypt(DES_LONG *data, _ossl_old_des_key_schedule ks, + int enc); +void _ossl_old_des_encrypt2(DES_LONG *data, _ossl_old_des_key_schedule ks, + int enc); +void _ossl_old_des_encrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3); +void _ossl_old_des_decrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3); +void _ossl_old_des_ede3_cbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_ede3_cfb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, + _ossl_old_des_cblock *ivec, int *num, + int enc); +void _ossl_old_des_ede3_ofb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, + _ossl_old_des_cblock *ivec, int *num); +# if 0 +void _ossl_old_des_xwhite_in2out(_ossl_old_des_cblock (*des_key), + _ossl_old_des_cblock (*in_white), + _ossl_old_des_cblock (*out_white)); +# endif + +int _ossl_old_des_enc_read(int fd, char *buf, int len, + _ossl_old_des_key_schedule sched, + _ossl_old_des_cblock *iv); +int _ossl_old_des_enc_write(int fd, char *buf, int len, + _ossl_old_des_key_schedule sched, + _ossl_old_des_cblock *iv); +char *_ossl_old_des_fcrypt(const char *buf, const char *salt, char *ret); +char *_ossl_old_des_crypt(const char *buf, const char *salt); +# if !defined(PERL5) && !defined(NeXT) +char *_ossl_old_crypt(const char *buf, const char *salt); +# endif +void _ossl_old_des_ofb_encrypt(unsigned char *in, unsigned char *out, + int numbits, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec); +void _ossl_old_des_pcbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +DES_LONG _ossl_old_des_quad_cksum(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + int out_count, _ossl_old_des_cblock *seed); +void _ossl_old_des_random_seed(_ossl_old_des_cblock key); +void _ossl_old_des_random_key(_ossl_old_des_cblock ret); +int _ossl_old_des_read_password(_ossl_old_des_cblock *key, const char *prompt, + int verify); +int _ossl_old_des_read_2passwords(_ossl_old_des_cblock *key1, + _ossl_old_des_cblock *key2, + const char *prompt, int verify); +void _ossl_old_des_set_odd_parity(_ossl_old_des_cblock *key); +int _ossl_old_des_is_weak_key(_ossl_old_des_cblock *key); +int _ossl_old_des_set_key(_ossl_old_des_cblock *key, + _ossl_old_des_key_schedule schedule); +int _ossl_old_des_key_sched(_ossl_old_des_cblock *key, + _ossl_old_des_key_schedule schedule); +void _ossl_old_des_string_to_key(char *str, _ossl_old_des_cblock *key); +void _ossl_old_des_string_to_2keys(char *str, _ossl_old_des_cblock *key1, + _ossl_old_des_cblock *key2); +void _ossl_old_des_cfb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int *num, + int enc); +void _ossl_old_des_ofb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int *num); + +void _ossl_096_des_random_seed(des_cblock *key); + +/* + * The following definitions provide compatibility with the MIT Kerberos + * library. The _ossl_old_des_key_schedule structure is not binary + * compatible. + */ + +# define _KERBEROS_DES_H + +# define KRBDES_ENCRYPT DES_ENCRYPT +# define KRBDES_DECRYPT DES_DECRYPT + +# ifdef KERBEROS +# define ENCRYPT DES_ENCRYPT +# define DECRYPT DES_DECRYPT +# endif + +# ifndef NCOMPAT +# define C_Block des_cblock +# define Key_schedule des_key_schedule +# define KEY_SZ DES_KEY_SZ +# define string_to_key des_string_to_key +# define read_pw_string des_read_pw_string +# define random_key des_random_key +# define pcbc_encrypt des_pcbc_encrypt +# define set_key des_set_key +# define key_sched des_key_sched +# define ecb_encrypt des_ecb_encrypt +# define cbc_encrypt des_cbc_encrypt +# define ncbc_encrypt des_ncbc_encrypt +# define xcbc_encrypt des_xcbc_encrypt +# define cbc_cksum des_cbc_cksum +# define quad_cksum des_quad_cksum +# define check_parity des_check_key_parity +# endif + +# define des_fixup_key_parity DES_fixup_key_parity + +#ifdef __cplusplus +} +#endif + +/* for DES_read_pw_string et al */ +# include + +#endif diff --git a/openssl/1.0/include/openssl/dh.h b/openssl/1.0/include/openssl/dh.h new file mode 100644 index 0000000..80b28fb --- /dev/null +++ b/openssl/1.0/include/openssl/dh.h @@ -0,0 +1,412 @@ +/* crypto/dh/dh.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_DH_H +# define HEADER_DH_H + +# include + +# ifdef OPENSSL_NO_DH +# error DH is disabled. +# endif + +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifndef OPENSSL_DH_MAX_MODULUS_BITS +# define OPENSSL_DH_MAX_MODULUS_BITS 10000 +# endif + +# define DH_FLAG_CACHE_MONT_P 0x01 + +/* + * new with 0.9.7h; the built-in DH + * implementation now uses constant time + * modular exponentiation for secret exponents + * by default. This flag causes the + * faster variable sliding window method to + * be used for all exponents. + */ +# define DH_FLAG_NO_EXP_CONSTTIME 0x02 + +/* + * If this flag is set the DH method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its reposibility to ensure the + * result is compliant. + */ + +# define DH_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DH_FLAG_NON_FIPS_ALLOW 0x0400 + +#ifdef __cplusplus +extern "C" { +#endif + +/* Already defined in ossl_typ.h */ +/* typedef struct dh_st DH; */ +/* typedef struct dh_method DH_METHOD; */ + +struct dh_method { + const char *name; + /* Methods here */ + int (*generate_key) (DH *dh); + int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh); + /* Can be null */ + int (*bn_mod_exp) (const DH *dh, BIGNUM *r, const BIGNUM *a, + const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *m_ctx); + int (*init) (DH *dh); + int (*finish) (DH *dh); + int flags; + char *app_data; + /* If this is non-NULL, it will be used to generate parameters */ + int (*generate_params) (DH *dh, int prime_len, int generator, + BN_GENCB *cb); +}; + +struct dh_st { + /* + * This first argument is used to pick up errors when a DH is passed + * instead of a EVP_PKEY + */ + int pad; + int version; + BIGNUM *p; + BIGNUM *g; + long length; /* optional */ + BIGNUM *pub_key; /* g^x % p */ + BIGNUM *priv_key; /* x */ + int flags; + BN_MONT_CTX *method_mont_p; + /* Place holders if we want to do X9.42 DH */ + BIGNUM *q; + BIGNUM *j; + unsigned char *seed; + int seedlen; + BIGNUM *counter; + int references; + CRYPTO_EX_DATA ex_data; + const DH_METHOD *meth; + ENGINE *engine; +}; + +# define DH_GENERATOR_2 2 +/* #define DH_GENERATOR_3 3 */ +# define DH_GENERATOR_5 5 + +/* DH_check error codes */ +# define DH_CHECK_P_NOT_PRIME 0x01 +# define DH_CHECK_P_NOT_SAFE_PRIME 0x02 +# define DH_UNABLE_TO_CHECK_GENERATOR 0x04 +# define DH_NOT_SUITABLE_GENERATOR 0x08 +# define DH_CHECK_Q_NOT_PRIME 0x10 +# define DH_CHECK_INVALID_Q_VALUE 0x20 +# define DH_CHECK_INVALID_J_VALUE 0x40 + +/* DH_check_pub_key error codes */ +# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 +# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 +# define DH_CHECK_PUBKEY_INVALID 0x04 + +/* + * primes p where (p-1)/2 is prime too are called "safe"; we define this for + * backward compatibility: + */ +# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME + +# define d2i_DHparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHparams,(fp), (unsigned char *)(x)) +# define d2i_DHparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x) +# define i2d_DHparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) + +# define d2i_DHxparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHxparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHxparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHxparams,(fp), (unsigned char *)(x)) +# define d2i_DHxparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x) +# define i2d_DHxparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x) + +DH *DHparams_dup(DH *); + +const DH_METHOD *DH_OpenSSL(void); + +void DH_set_default_method(const DH_METHOD *meth); +const DH_METHOD *DH_get_default_method(void); +int DH_set_method(DH *dh, const DH_METHOD *meth); +DH *DH_new_method(ENGINE *engine); + +DH *DH_new(void); +void DH_free(DH *dh); +int DH_up_ref(DH *dh); +int DH_size(const DH *dh); +int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DH_set_ex_data(DH *d, int idx, void *arg); +void *DH_get_ex_data(DH *d, int idx); + +/* Deprecated version */ +# ifndef OPENSSL_NO_DEPRECATED +DH *DH_generate_parameters(int prime_len, int generator, + void (*callback) (int, int, void *), void *cb_arg); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* New version */ +int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, + BN_GENCB *cb); + +int DH_check(const DH *dh, int *codes); +int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); +int DH_generate_key(DH *dh); +int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); +DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); +int i2d_DHparams(const DH *a, unsigned char **pp); +DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); +int i2d_DHxparams(const DH *a, unsigned char **pp); +# ifndef OPENSSL_NO_FP_API +int DHparams_print_fp(FILE *fp, const DH *x); +# endif +# ifndef OPENSSL_NO_BIO +int DHparams_print(BIO *bp, const DH *x); +# else +int DHparams_print(char *bp, const DH *x); +# endif + +/* RFC 5114 parameters */ +DH *DH_get_1024_160(void); +DH *DH_get_2048_224(void); +DH *DH_get_2048_256(void); + +# ifndef OPENSSL_NO_CMS +/* RFC2631 KDF */ +int DH_KDF_X9_42(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + ASN1_OBJECT *key_oid, + const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); +# endif + +# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)oid) + +# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)poid) + +# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)plen) + +# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)p) + +# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)p) + +# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) +# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) + +/* KDF types */ +# define EVP_PKEY_DH_KDF_NONE 1 +# define EVP_PKEY_DH_KDF_X9_42 2 + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_DH_strings(void); + +/* Error codes for the DH functions. */ + +/* Function codes. */ +# define DH_F_COMPUTE_KEY 102 +# define DH_F_DHPARAMS_PRINT_FP 101 +# define DH_F_DH_BUILTIN_GENPARAMS 106 +# define DH_F_DH_CMS_DECRYPT 117 +# define DH_F_DH_CMS_SET_PEERKEY 118 +# define DH_F_DH_CMS_SET_SHARED_INFO 119 +# define DH_F_DH_COMPUTE_KEY 114 +# define DH_F_DH_GENERATE_KEY 115 +# define DH_F_DH_GENERATE_PARAMETERS_EX 116 +# define DH_F_DH_NEW_METHOD 105 +# define DH_F_DH_PARAM_DECODE 107 +# define DH_F_DH_PRIV_DECODE 110 +# define DH_F_DH_PRIV_ENCODE 111 +# define DH_F_DH_PUB_DECODE 108 +# define DH_F_DH_PUB_ENCODE 109 +# define DH_F_DO_DH_PRINT 100 +# define DH_F_GENERATE_KEY 103 +# define DH_F_GENERATE_PARAMETERS 104 +# define DH_F_PKEY_DH_DERIVE 112 +# define DH_F_PKEY_DH_KEYGEN 113 + +/* Reason codes. */ +# define DH_R_BAD_GENERATOR 101 +# define DH_R_BN_DECODE_ERROR 109 +# define DH_R_BN_ERROR 106 +# define DH_R_DECODE_ERROR 104 +# define DH_R_INVALID_PUBKEY 102 +# define DH_R_KDF_PARAMETER_ERROR 112 +# define DH_R_KEYS_NOT_SET 108 +# define DH_R_KEY_SIZE_TOO_SMALL 110 +# define DH_R_MODULUS_TOO_LARGE 103 +# define DH_R_NON_FIPS_METHOD 111 +# define DH_R_NO_PARAMETERS_SET 107 +# define DH_R_NO_PRIVATE_VALUE 100 +# define DH_R_PARAMETER_ENCODING_ERROR 105 +# define DH_R_PEER_KEY_ERROR 113 +# define DH_R_SHARED_INFO_ERROR 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/dsa.h b/openssl/1.0/include/openssl/dsa.h new file mode 100644 index 0000000..3e6984e --- /dev/null +++ b/openssl/1.0/include/openssl/dsa.h @@ -0,0 +1,335 @@ +/* crypto/dsa/dsa.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +/* + * The DSS routines are based on patches supplied by + * Steven Schoch . He basically did the + * work and I have just tweaked them a little to fit into my + * stylistic vision for SSLeay :-) */ + +#ifndef HEADER_DSA_H +# define HEADER_DSA_H + +# include + +# ifdef OPENSSL_NO_DSA +# error DSA is disabled. +# endif + +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include + +# ifndef OPENSSL_NO_DEPRECATED +# include +# ifndef OPENSSL_NO_DH +# include +# endif +# endif + +# ifndef OPENSSL_DSA_MAX_MODULUS_BITS +# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 +# endif + +# define DSA_FLAG_CACHE_MONT_P 0x01 +/* + * new with 0.9.7h; the built-in DSA implementation now uses constant time + * modular exponentiation for secret exponents by default. This flag causes + * the faster variable sliding window method to be used for all exponents. + */ +# define DSA_FLAG_NO_EXP_CONSTTIME 0x02 + +/* + * If this flag is set the DSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its reposibility to ensure the + * result is compliant. + */ + +# define DSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DSA_FLAG_NON_FIPS_ALLOW 0x0400 + +#ifdef __cplusplus +extern "C" { +#endif + +/* Already defined in ossl_typ.h */ +/* typedef struct dsa_st DSA; */ +/* typedef struct dsa_method DSA_METHOD; */ + +typedef struct DSA_SIG_st { + BIGNUM *r; + BIGNUM *s; +} DSA_SIG; + +struct dsa_method { + const char *name; + DSA_SIG *(*dsa_do_sign) (const unsigned char *dgst, int dlen, DSA *dsa); + int (*dsa_sign_setup) (DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, + BIGNUM **rp); + int (*dsa_do_verify) (const unsigned char *dgst, int dgst_len, + DSA_SIG *sig, DSA *dsa); + int (*dsa_mod_exp) (DSA *dsa, BIGNUM *rr, BIGNUM *a1, BIGNUM *p1, + BIGNUM *a2, BIGNUM *p2, BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *in_mont); + /* Can be null */ + int (*bn_mod_exp) (DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); + int (*init) (DSA *dsa); + int (*finish) (DSA *dsa); + int flags; + char *app_data; + /* If this is non-NULL, it is used to generate DSA parameters */ + int (*dsa_paramgen) (DSA *dsa, int bits, + const unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, + BN_GENCB *cb); + /* If this is non-NULL, it is used to generate DSA keys */ + int (*dsa_keygen) (DSA *dsa); +}; + +struct dsa_st { + /* + * This first variable is used to pick up errors where a DSA is passed + * instead of of a EVP_PKEY + */ + int pad; + long version; + int write_params; + BIGNUM *p; + BIGNUM *q; /* == 20 */ + BIGNUM *g; + BIGNUM *pub_key; /* y public key */ + BIGNUM *priv_key; /* x private key */ + BIGNUM *kinv; /* Signing pre-calc */ + BIGNUM *r; /* Signing pre-calc */ + int flags; + /* Normally used to cache montgomery values */ + BN_MONT_CTX *method_mont_p; + int references; + CRYPTO_EX_DATA ex_data; + const DSA_METHOD *meth; + /* functional reference if 'meth' is ENGINE-provided */ + ENGINE *engine; +}; + +# define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ + (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) +# define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ + (unsigned char *)(x)) +# define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) +# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) + +DSA *DSAparams_dup(DSA *x); +DSA_SIG *DSA_SIG_new(void); +void DSA_SIG_free(DSA_SIG *a); +int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); +DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); + +DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); +int DSA_do_verify(const unsigned char *dgst, int dgst_len, + DSA_SIG *sig, DSA *dsa); + +const DSA_METHOD *DSA_OpenSSL(void); + +void DSA_set_default_method(const DSA_METHOD *); +const DSA_METHOD *DSA_get_default_method(void); +int DSA_set_method(DSA *dsa, const DSA_METHOD *); + +DSA *DSA_new(void); +DSA *DSA_new_method(ENGINE *engine); +void DSA_free(DSA *r); +/* "up" the DSA object's reference count */ +int DSA_up_ref(DSA *r); +int DSA_size(const DSA *); + /* next 4 return -1 on error */ +int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); +int DSA_sign(int type, const unsigned char *dgst, int dlen, + unsigned char *sig, unsigned int *siglen, DSA *dsa); +int DSA_verify(int type, const unsigned char *dgst, int dgst_len, + const unsigned char *sigbuf, int siglen, DSA *dsa); +int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DSA_set_ex_data(DSA *d, int idx, void *arg); +void *DSA_get_ex_data(DSA *d, int idx); + +DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); + +/* Deprecated version */ +# ifndef OPENSSL_NO_DEPRECATED +DSA *DSA_generate_parameters(int bits, + unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, void + (*callback) (int, int, void *), void *cb_arg); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* New version */ +int DSA_generate_parameters_ex(DSA *dsa, int bits, + const unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, + BN_GENCB *cb); + +int DSA_generate_key(DSA *a); +int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); +int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); +int i2d_DSAparams(const DSA *a, unsigned char **pp); + +# ifndef OPENSSL_NO_BIO +int DSAparams_print(BIO *bp, const DSA *x); +int DSA_print(BIO *bp, const DSA *x, int off); +# endif +# ifndef OPENSSL_NO_FP_API +int DSAparams_print_fp(FILE *fp, const DSA *x); +int DSA_print_fp(FILE *bp, const DSA *x, int off); +# endif + +# define DSS_prime_checks 64 +/* + * Primality test according to FIPS PUB 186-4, Appendix C.3. Since we only + * have one value here we set the number of checks to 64 which is the 128 bit + * security level that is the highest level and valid for creating a 3072 bit + * DSA key. + */ +# define DSA_is_prime(n, callback, cb_arg) \ + BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) + +# ifndef OPENSSL_NO_DH +/* + * Convert DSA structure (key or just parameters) into DH structure (be + * careful to avoid small subgroup attacks when using this!) + */ +DH *DSA_dup_DH(const DSA *r); +# endif + +# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) + +# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_DSA_strings(void); + +/* Error codes for the DSA functions. */ + +/* Function codes. */ +# define DSA_F_D2I_DSA_SIG 110 +# define DSA_F_DO_DSA_PRINT 104 +# define DSA_F_DSAPARAMS_PRINT 100 +# define DSA_F_DSAPARAMS_PRINT_FP 101 +# define DSA_F_DSA_BUILTIN_PARAMGEN2 126 +# define DSA_F_DSA_DO_SIGN 112 +# define DSA_F_DSA_DO_VERIFY 113 +# define DSA_F_DSA_GENERATE_KEY 124 +# define DSA_F_DSA_GENERATE_PARAMETERS_EX 123 +# define DSA_F_DSA_NEW_METHOD 103 +# define DSA_F_DSA_PARAM_DECODE 119 +# define DSA_F_DSA_PRINT_FP 105 +# define DSA_F_DSA_PRIV_DECODE 115 +# define DSA_F_DSA_PRIV_ENCODE 116 +# define DSA_F_DSA_PUB_DECODE 117 +# define DSA_F_DSA_PUB_ENCODE 118 +# define DSA_F_DSA_SIGN 106 +# define DSA_F_DSA_SIGN_SETUP 107 +# define DSA_F_DSA_SIG_NEW 109 +# define DSA_F_DSA_SIG_PRINT 125 +# define DSA_F_DSA_VERIFY 108 +# define DSA_F_I2D_DSA_SIG 111 +# define DSA_F_OLD_DSA_PRIV_DECODE 122 +# define DSA_F_PKEY_DSA_CTRL 120 +# define DSA_F_PKEY_DSA_CTRL_STR 127 +# define DSA_F_PKEY_DSA_KEYGEN 121 +# define DSA_F_SIG_CB 114 + +/* Reason codes. */ +# define DSA_R_BAD_Q_VALUE 102 +# define DSA_R_BN_DECODE_ERROR 108 +# define DSA_R_BN_ERROR 109 +# define DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 100 +# define DSA_R_DECODE_ERROR 104 +# define DSA_R_INVALID_DIGEST_TYPE 106 +# define DSA_R_INVALID_PARAMETERS 112 +# define DSA_R_MISSING_PARAMETERS 101 +# define DSA_R_MODULUS_TOO_LARGE 103 +# define DSA_R_NEED_NEW_SETUP_VALUES 110 +# define DSA_R_NON_FIPS_DSA_METHOD 111 +# define DSA_R_NO_PARAMETERS_SET 107 +# define DSA_R_PARAMETER_ENCODING_ERROR 105 +# define DSA_R_Q_NOT_PRIME 113 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/dso.h b/openssl/1.0/include/openssl/dso.h new file mode 100644 index 0000000..c9013f5 --- /dev/null +++ b/openssl/1.0/include/openssl/dso.h @@ -0,0 +1,451 @@ +/* dso.h */ +/* + * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project + * 2000. + */ +/* ==================================================================== + * Copyright (c) 2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_DSO_H +# define HEADER_DSO_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* These values are used as commands to DSO_ctrl() */ +# define DSO_CTRL_GET_FLAGS 1 +# define DSO_CTRL_SET_FLAGS 2 +# define DSO_CTRL_OR_FLAGS 3 + +/* + * By default, DSO_load() will translate the provided filename into a form + * typical for the platform (more specifically the DSO_METHOD) using the + * dso_name_converter function of the method. Eg. win32 will transform "blah" + * into "blah.dll", and dlfcn will transform it into "libblah.so". The + * behaviour can be overriden by setting the name_converter callback in the + * DSO object (using DSO_set_name_converter()). This callback could even + * utilise the DSO_METHOD's converter too if it only wants to override + * behaviour for one or two possible DSO methods. However, the following flag + * can be set in a DSO to prevent *any* native name-translation at all - eg. + * if the caller has prompted the user for a path to a driver library so the + * filename should be interpreted as-is. + */ +# define DSO_FLAG_NO_NAME_TRANSLATION 0x01 +/* + * An extra flag to give if only the extension should be added as + * translation. This is obviously only of importance on Unix and other + * operating systems where the translation also may prefix the name with + * something, like 'lib', and ignored everywhere else. This flag is also + * ignored if DSO_FLAG_NO_NAME_TRANSLATION is used at the same time. + */ +# define DSO_FLAG_NAME_TRANSLATION_EXT_ONLY 0x02 + +/* + * The following flag controls the translation of symbol names to upper case. + * This is currently only being implemented for OpenVMS. + */ +# define DSO_FLAG_UPCASE_SYMBOL 0x10 + +/* + * This flag loads the library with public symbols. Meaning: The exported + * symbols of this library are public to all libraries loaded after this + * library. At the moment only implemented in unix. + */ +# define DSO_FLAG_GLOBAL_SYMBOLS 0x20 + +typedef void (*DSO_FUNC_TYPE) (void); + +typedef struct dso_st DSO; + +/* + * The function prototype used for method functions (or caller-provided + * callbacks) that transform filenames. They are passed a DSO structure + * pointer (or NULL if they are to be used independantly of a DSO object) and + * a filename to transform. They should either return NULL (if there is an + * error condition) or a newly allocated string containing the transformed + * form that the caller will need to free with OPENSSL_free() when done. + */ +typedef char *(*DSO_NAME_CONVERTER_FUNC)(DSO *, const char *); +/* + * The function prototype used for method functions (or caller-provided + * callbacks) that merge two file specifications. They are passed a DSO + * structure pointer (or NULL if they are to be used independantly of a DSO + * object) and two file specifications to merge. They should either return + * NULL (if there is an error condition) or a newly allocated string + * containing the result of merging that the caller will need to free with + * OPENSSL_free() when done. Here, merging means that bits and pieces are + * taken from each of the file specifications and added together in whatever + * fashion that is sensible for the DSO method in question. The only rule + * that really applies is that if the two specification contain pieces of the + * same type, the copy from the first string takes priority. One could see + * it as the first specification is the one given by the user and the second + * being a bunch of defaults to add on if they're missing in the first. + */ +typedef char *(*DSO_MERGER_FUNC)(DSO *, const char *, const char *); + +typedef struct dso_meth_st { + const char *name; + /* + * Loads a shared library, NB: new DSO_METHODs must ensure that a + * successful load populates the loaded_filename field, and likewise a + * successful unload OPENSSL_frees and NULLs it out. + */ + int (*dso_load) (DSO *dso); + /* Unloads a shared library */ + int (*dso_unload) (DSO *dso); + /* Binds a variable */ + void *(*dso_bind_var) (DSO *dso, const char *symname); + /* + * Binds a function - assumes a return type of DSO_FUNC_TYPE. This should + * be cast to the real function prototype by the caller. Platforms that + * don't have compatible representations for different prototypes (this + * is possible within ANSI C) are highly unlikely to have shared + * libraries at all, let alone a DSO_METHOD implemented for them. + */ + DSO_FUNC_TYPE (*dso_bind_func) (DSO *dso, const char *symname); +/* I don't think this would actually be used in any circumstances. */ +# if 0 + /* Unbinds a variable */ + int (*dso_unbind_var) (DSO *dso, char *symname, void *symptr); + /* Unbinds a function */ + int (*dso_unbind_func) (DSO *dso, char *symname, DSO_FUNC_TYPE symptr); +# endif + /* + * The generic (yuck) "ctrl()" function. NB: Negative return values + * (rather than zero) indicate errors. + */ + long (*dso_ctrl) (DSO *dso, int cmd, long larg, void *parg); + /* + * The default DSO_METHOD-specific function for converting filenames to a + * canonical native form. + */ + DSO_NAME_CONVERTER_FUNC dso_name_converter; + /* + * The default DSO_METHOD-specific function for converting filenames to a + * canonical native form. + */ + DSO_MERGER_FUNC dso_merger; + /* [De]Initialisation handlers. */ + int (*init) (DSO *dso); + int (*finish) (DSO *dso); + /* Return pathname of the module containing location */ + int (*pathbyaddr) (void *addr, char *path, int sz); + /* Perform global symbol lookup, i.e. among *all* modules */ + void *(*globallookup) (const char *symname); +} DSO_METHOD; + +/**********************************************************************/ +/* The low-level handle type used to refer to a loaded shared library */ + +struct dso_st { + DSO_METHOD *meth; + /* + * Standard dlopen uses a (void *). Win32 uses a HANDLE. VMS doesn't use + * anything but will need to cache the filename for use in the dso_bind + * handler. All in all, let each method control its own destiny. + * "Handles" and such go in a STACK. + */ + STACK_OF(void) *meth_data; + int references; + int flags; + /* + * For use by applications etc ... use this for your bits'n'pieces, don't + * touch meth_data! + */ + CRYPTO_EX_DATA ex_data; + /* + * If this callback function pointer is set to non-NULL, then it will be + * used in DSO_load() in place of meth->dso_name_converter. NB: This + * should normally set using DSO_set_name_converter(). + */ + DSO_NAME_CONVERTER_FUNC name_converter; + /* + * If this callback function pointer is set to non-NULL, then it will be + * used in DSO_load() in place of meth->dso_merger. NB: This should + * normally set using DSO_set_merger(). + */ + DSO_MERGER_FUNC merger; + /* + * This is populated with (a copy of) the platform-independant filename + * used for this DSO. + */ + char *filename; + /* + * This is populated with (a copy of) the translated filename by which + * the DSO was actually loaded. It is NULL iff the DSO is not currently + * loaded. NB: This is here because the filename translation process may + * involve a callback being invoked more than once not only to convert to + * a platform-specific form, but also to try different filenames in the + * process of trying to perform a load. As such, this variable can be + * used to indicate (a) whether this DSO structure corresponds to a + * loaded library or not, and (b) the filename with which it was actually + * loaded. + */ + char *loaded_filename; +}; + +DSO *DSO_new(void); +DSO *DSO_new_method(DSO_METHOD *method); +int DSO_free(DSO *dso); +int DSO_flags(DSO *dso); +int DSO_up_ref(DSO *dso); +long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg); + +/* + * This function sets the DSO's name_converter callback. If it is non-NULL, + * then it will be used instead of the associated DSO_METHOD's function. If + * oldcb is non-NULL then it is set to the function pointer value being + * replaced. Return value is non-zero for success. + */ +int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb, + DSO_NAME_CONVERTER_FUNC *oldcb); +/* + * These functions can be used to get/set the platform-independant filename + * used for a DSO. NB: set will fail if the DSO is already loaded. + */ +const char *DSO_get_filename(DSO *dso); +int DSO_set_filename(DSO *dso, const char *filename); +/* + * This function will invoke the DSO's name_converter callback to translate a + * filename, or if the callback isn't set it will instead use the DSO_METHOD's + * converter. If "filename" is NULL, the "filename" in the DSO itself will be + * used. If the DSO_FLAG_NO_NAME_TRANSLATION flag is set, then the filename is + * simply duplicated. NB: This function is usually called from within a + * DSO_METHOD during the processing of a DSO_load() call, and is exposed so + * that caller-created DSO_METHODs can do the same thing. A non-NULL return + * value will need to be OPENSSL_free()'d. + */ +char *DSO_convert_filename(DSO *dso, const char *filename); +/* + * This function will invoke the DSO's merger callback to merge two file + * specifications, or if the callback isn't set it will instead use the + * DSO_METHOD's merger. A non-NULL return value will need to be + * OPENSSL_free()'d. + */ +char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2); +/* + * If the DSO is currently loaded, this returns the filename that it was + * loaded under, otherwise it returns NULL. So it is also useful as a test as + * to whether the DSO is currently loaded. NB: This will not necessarily + * return the same value as DSO_convert_filename(dso, dso->filename), because + * the DSO_METHOD's load function may have tried a variety of filenames (with + * and/or without the aid of the converters) before settling on the one it + * actually loaded. + */ +const char *DSO_get_loaded_filename(DSO *dso); + +void DSO_set_default_method(DSO_METHOD *meth); +DSO_METHOD *DSO_get_default_method(void); +DSO_METHOD *DSO_get_method(DSO *dso); +DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth); + +/* + * The all-singing all-dancing load function, you normally pass NULL for the + * first and third parameters. Use DSO_up and DSO_free for subsequent + * reference count handling. Any flags passed in will be set in the + * constructed DSO after its init() function but before the load operation. + * If 'dso' is non-NULL, 'flags' is ignored. + */ +DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags); + +/* This function binds to a variable inside a shared library. */ +void *DSO_bind_var(DSO *dso, const char *symname); + +/* This function binds to a function inside a shared library. */ +DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname); + +/* + * This method is the default, but will beg, borrow, or steal whatever method + * should be the default on any particular platform (including + * DSO_METH_null() if necessary). + */ +DSO_METHOD *DSO_METHOD_openssl(void); + +/* + * This method is defined for all platforms - if a platform has no DSO + * support then this will be the only method! + */ +DSO_METHOD *DSO_METHOD_null(void); + +/* + * If DSO_DLFCN is defined, the standard dlfcn.h-style functions (dlopen, + * dlclose, dlsym, etc) will be used and incorporated into this method. If + * not, this method will return NULL. + */ +DSO_METHOD *DSO_METHOD_dlfcn(void); + +/* + * If DSO_DL is defined, the standard dl.h-style functions (shl_load, + * shl_unload, shl_findsym, etc) will be used and incorporated into this + * method. If not, this method will return NULL. + */ +DSO_METHOD *DSO_METHOD_dl(void); + +/* If WIN32 is defined, use DLLs. If not, return NULL. */ +DSO_METHOD *DSO_METHOD_win32(void); + +/* If VMS is defined, use shared images. If not, return NULL. */ +DSO_METHOD *DSO_METHOD_vms(void); + +/* + * This function writes null-terminated pathname of DSO module containing + * 'addr' into 'sz' large caller-provided 'path' and returns the number of + * characters [including trailing zero] written to it. If 'sz' is 0 or + * negative, 'path' is ignored and required amount of charachers [including + * trailing zero] to accomodate pathname is returned. If 'addr' is NULL, then + * pathname of cryptolib itself is returned. Negative or zero return value + * denotes error. + */ +int DSO_pathbyaddr(void *addr, char *path, int sz); + +/* + * This function should be used with caution! It looks up symbols in *all* + * loaded modules and if module gets unloaded by somebody else attempt to + * dereference the pointer is doomed to have fatal consequences. Primary + * usage for this function is to probe *core* system functionality, e.g. + * check if getnameinfo(3) is available at run-time without bothering about + * OS-specific details such as libc.so.versioning or where does it actually + * reside: in libc itself or libsocket. + */ +void *DSO_global_lookup(const char *name); + +/* If BeOS is defined, use shared images. If not, return NULL. */ +DSO_METHOD *DSO_METHOD_beos(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_DSO_strings(void); + +/* Error codes for the DSO functions. */ + +/* Function codes. */ +# define DSO_F_BEOS_BIND_FUNC 144 +# define DSO_F_BEOS_BIND_VAR 145 +# define DSO_F_BEOS_LOAD 146 +# define DSO_F_BEOS_NAME_CONVERTER 147 +# define DSO_F_BEOS_UNLOAD 148 +# define DSO_F_DLFCN_BIND_FUNC 100 +# define DSO_F_DLFCN_BIND_VAR 101 +# define DSO_F_DLFCN_LOAD 102 +# define DSO_F_DLFCN_MERGER 130 +# define DSO_F_DLFCN_NAME_CONVERTER 123 +# define DSO_F_DLFCN_UNLOAD 103 +# define DSO_F_DL_BIND_FUNC 104 +# define DSO_F_DL_BIND_VAR 105 +# define DSO_F_DL_LOAD 106 +# define DSO_F_DL_MERGER 131 +# define DSO_F_DL_NAME_CONVERTER 124 +# define DSO_F_DL_UNLOAD 107 +# define DSO_F_DSO_BIND_FUNC 108 +# define DSO_F_DSO_BIND_VAR 109 +# define DSO_F_DSO_CONVERT_FILENAME 126 +# define DSO_F_DSO_CTRL 110 +# define DSO_F_DSO_FREE 111 +# define DSO_F_DSO_GET_FILENAME 127 +# define DSO_F_DSO_GET_LOADED_FILENAME 128 +# define DSO_F_DSO_GLOBAL_LOOKUP 139 +# define DSO_F_DSO_LOAD 112 +# define DSO_F_DSO_MERGE 132 +# define DSO_F_DSO_NEW_METHOD 113 +# define DSO_F_DSO_PATHBYADDR 140 +# define DSO_F_DSO_SET_FILENAME 129 +# define DSO_F_DSO_SET_NAME_CONVERTER 122 +# define DSO_F_DSO_UP_REF 114 +# define DSO_F_GLOBAL_LOOKUP_FUNC 138 +# define DSO_F_PATHBYADDR 137 +# define DSO_F_VMS_BIND_SYM 115 +# define DSO_F_VMS_LOAD 116 +# define DSO_F_VMS_MERGER 133 +# define DSO_F_VMS_UNLOAD 117 +# define DSO_F_WIN32_BIND_FUNC 118 +# define DSO_F_WIN32_BIND_VAR 119 +# define DSO_F_WIN32_GLOBALLOOKUP 142 +# define DSO_F_WIN32_GLOBALLOOKUP_FUNC 143 +# define DSO_F_WIN32_JOINER 135 +# define DSO_F_WIN32_LOAD 120 +# define DSO_F_WIN32_MERGER 134 +# define DSO_F_WIN32_NAME_CONVERTER 125 +# define DSO_F_WIN32_PATHBYADDR 141 +# define DSO_F_WIN32_SPLITTER 136 +# define DSO_F_WIN32_UNLOAD 121 + +/* Reason codes. */ +# define DSO_R_CTRL_FAILED 100 +# define DSO_R_DSO_ALREADY_LOADED 110 +# define DSO_R_EMPTY_FILE_STRUCTURE 113 +# define DSO_R_FAILURE 114 +# define DSO_R_FILENAME_TOO_BIG 101 +# define DSO_R_FINISH_FAILED 102 +# define DSO_R_INCORRECT_FILE_SYNTAX 115 +# define DSO_R_LOAD_FAILED 103 +# define DSO_R_NAME_TRANSLATION_FAILED 109 +# define DSO_R_NO_FILENAME 111 +# define DSO_R_NO_FILE_SPECIFICATION 116 +# define DSO_R_NULL_HANDLE 104 +# define DSO_R_SET_FILENAME_FAILED 112 +# define DSO_R_STACK_ERROR 105 +# define DSO_R_SYM_FAILURE 106 +# define DSO_R_UNLOAD_FAILED 107 +# define DSO_R_UNSUPPORTED 108 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/dtls1.h b/openssl/1.0/include/openssl/dtls1.h new file mode 100644 index 0000000..30bbcf2 --- /dev/null +++ b/openssl/1.0/include/openssl/dtls1.h @@ -0,0 +1,272 @@ +/* ssl/dtls1.h */ +/* + * DTLS implementation written by Nagendra Modadugu + * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. + */ +/* ==================================================================== + * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_DTLS1_H +# define HEADER_DTLS1_H + +# include +# include +# ifdef OPENSSL_SYS_VMS +# include +# include +# endif +# ifdef OPENSSL_SYS_WIN32 +/* Needed for struct timeval */ +# include +# elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_) +# include +# else +# if defined(OPENSSL_SYS_VXWORKS) +# include +# else +# include +# endif +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define DTLS1_VERSION 0xFEFF +# define DTLS1_2_VERSION 0xFEFD +# define DTLS_MAX_VERSION DTLS1_2_VERSION +# define DTLS1_VERSION_MAJOR 0xFE + +# define DTLS1_BAD_VER 0x0100 + +/* Special value for method supporting multiple versions */ +# define DTLS_ANY_VERSION 0x1FFFF + +# if 0 +/* this alert description is not specified anywhere... */ +# define DTLS1_AD_MISSING_HANDSHAKE_MESSAGE 110 +# endif + +/* lengths of messages */ +# define DTLS1_COOKIE_LENGTH 256 + +# define DTLS1_RT_HEADER_LENGTH 13 + +# define DTLS1_HM_HEADER_LENGTH 12 + +# define DTLS1_HM_BAD_FRAGMENT -2 +# define DTLS1_HM_FRAGMENT_RETRY -3 + +# define DTLS1_CCS_HEADER_LENGTH 1 + +# ifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE +# define DTLS1_AL_HEADER_LENGTH 7 +# else +# define DTLS1_AL_HEADER_LENGTH 2 +# endif + +# ifndef OPENSSL_NO_SSL_INTERN + +# ifndef OPENSSL_NO_SCTP +# define DTLS1_SCTP_AUTH_LABEL "EXPORTER_DTLS_OVER_SCTP" +# endif + +/* Max MTU overhead we know about so far is 40 for IPv6 + 8 for UDP */ +# define DTLS1_MAX_MTU_OVERHEAD 48 + +typedef struct dtls1_bitmap_st { + unsigned long map; /* track 32 packets on 32-bit systems and 64 + * - on 64-bit systems */ + unsigned char max_seq_num[8]; /* max record number seen so far, 64-bit + * value in big-endian encoding */ +} DTLS1_BITMAP; + +struct dtls1_retransmit_state { + EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ + EVP_MD_CTX *write_hash; /* used for mac generation */ +# ifndef OPENSSL_NO_COMP + COMP_CTX *compress; /* compression */ +# else + char *compress; +# endif + SSL_SESSION *session; + unsigned short epoch; +}; + +struct hm_header_st { + unsigned char type; + unsigned long msg_len; + unsigned short seq; + unsigned long frag_off; + unsigned long frag_len; + unsigned int is_ccs; + struct dtls1_retransmit_state saved_retransmit_state; +}; + +struct ccs_header_st { + unsigned char type; + unsigned short seq; +}; + +struct dtls1_timeout_st { + /* Number of read timeouts so far */ + unsigned int read_timeouts; + /* Number of write timeouts so far */ + unsigned int write_timeouts; + /* Number of alerts received so far */ + unsigned int num_alerts; +}; + +typedef struct record_pqueue_st { + unsigned short epoch; + pqueue q; +} record_pqueue; + +typedef struct hm_fragment_st { + struct hm_header_st msg_header; + unsigned char *fragment; + unsigned char *reassembly; +} hm_fragment; + +typedef struct dtls1_state_st { + unsigned int send_cookie; + unsigned char cookie[DTLS1_COOKIE_LENGTH]; + unsigned char rcvd_cookie[DTLS1_COOKIE_LENGTH]; + unsigned int cookie_len; + /* + * The current data and handshake epoch. This is initially + * undefined, and starts at zero once the initial handshake is + * completed + */ + unsigned short r_epoch; + unsigned short w_epoch; + /* records being received in the current epoch */ + DTLS1_BITMAP bitmap; + /* renegotiation starts a new set of sequence numbers */ + DTLS1_BITMAP next_bitmap; + /* handshake message numbers */ + unsigned short handshake_write_seq; + unsigned short next_handshake_write_seq; + unsigned short handshake_read_seq; + /* save last sequence number for retransmissions */ + unsigned char last_write_sequence[8]; + /* Received handshake records (processed and unprocessed) */ + record_pqueue unprocessed_rcds; + record_pqueue processed_rcds; + /* Buffered handshake messages */ + pqueue buffered_messages; + /* Buffered (sent) handshake records */ + pqueue sent_messages; + /* + * Buffered application records. Only for records between CCS and + * Finished to prevent either protocol violation or unnecessary message + * loss. + */ + record_pqueue buffered_app_data; + /* Is set when listening for new connections with dtls1_listen() */ + unsigned int listen; + unsigned int link_mtu; /* max on-the-wire DTLS packet size */ + unsigned int mtu; /* max DTLS packet size */ + struct hm_header_st w_msg_hdr; + struct hm_header_st r_msg_hdr; + struct dtls1_timeout_st timeout; + /* + * Indicates when the last handshake msg or heartbeat sent will timeout + */ + struct timeval next_timeout; + /* Timeout duration */ + unsigned short timeout_duration; + /* + * storage for Alert/Handshake protocol data received but not yet + * processed by ssl3_read_bytes: + */ + unsigned char alert_fragment[DTLS1_AL_HEADER_LENGTH]; + unsigned int alert_fragment_len; + unsigned char handshake_fragment[DTLS1_HM_HEADER_LENGTH]; + unsigned int handshake_fragment_len; + unsigned int retransmitting; + /* + * Set when the handshake is ready to process peer's ChangeCipherSpec message. + * Cleared after the message has been processed. + */ + unsigned int change_cipher_spec_ok; +# ifndef OPENSSL_NO_SCTP + /* used when SSL_ST_XX_FLUSH is entered */ + int next_state; + int shutdown_received; +# endif +} DTLS1_STATE; + +typedef struct dtls1_record_data_st { + unsigned char *packet; + unsigned int packet_length; + SSL3_BUFFER rbuf; + SSL3_RECORD rrec; +# ifndef OPENSSL_NO_SCTP + struct bio_dgram_sctp_rcvinfo recordinfo; +# endif +} DTLS1_RECORD_DATA; + +# endif + +/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ +# define DTLS1_TMO_READ_COUNT 2 +# define DTLS1_TMO_WRITE_COUNT 2 + +# define DTLS1_TMO_ALERT_COUNT 12 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/e_os2.h b/openssl/1.0/include/openssl/e_os2.h new file mode 100644 index 0000000..7be9989 --- /dev/null +++ b/openssl/1.0/include/openssl/e_os2.h @@ -0,0 +1,328 @@ +/* e_os2.h */ +/* ==================================================================== + * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#include + +#ifndef HEADER_E_OS2_H +# define HEADER_E_OS2_H + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** + * Detect operating systems. This probably needs completing. + * The result is that at least one OPENSSL_SYS_os macro should be defined. + * However, if none is defined, Unix is assumed. + **/ + +# define OPENSSL_SYS_UNIX + +/* ---------------------- Macintosh, before MacOS X ----------------------- */ +# if defined(__MWERKS__) && defined(macintosh) || defined(OPENSSL_SYSNAME_MAC) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_MACINTOSH_CLASSIC +# endif + +/* ---------------------- NetWare ----------------------------------------- */ +# if defined(NETWARE) || defined(OPENSSL_SYSNAME_NETWARE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_NETWARE +# endif + +/* --------------------- Microsoft operating systems ---------------------- */ + +/* + * Note that MSDOS actually denotes 32-bit environments running on top of + * MS-DOS, such as DJGPP one. + */ +# if defined(OPENSSL_SYSNAME_MSDOS) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_MSDOS +# endif + +/* + * For 32 bit environment, there seems to be the CygWin environment and then + * all the others that try to do the same thing Microsoft does... + */ +# if defined(OPENSSL_SYSNAME_UWIN) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32_UWIN +# else +# if defined(__CYGWIN__) || defined(OPENSSL_SYSNAME_CYGWIN) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32_CYGWIN +# else +# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32 +# endif +# if defined(_WIN64) || defined(OPENSSL_SYSNAME_WIN64) +# undef OPENSSL_SYS_UNIX +# if !defined(OPENSSL_SYS_WIN64) +# define OPENSSL_SYS_WIN64 +# endif +# endif +# if defined(OPENSSL_SYSNAME_WINNT) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINNT +# endif +# if defined(OPENSSL_SYSNAME_WINCE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINCE +# endif +# endif +# endif + +/* Anything that tries to look like Microsoft is "Windows" */ +# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_SYS_MSDOS +# define OPENSSL_SYS_MSDOS +# endif +# endif + +/* + * DLL settings. This part is a bit tough, because it's up to the + * application implementor how he or she will link the application, so it + * requires some macro to be used. + */ +# ifdef OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_OPT_WINDLL +# if defined(_WINDLL) /* This is used when building OpenSSL to + * indicate that DLL linkage should be used */ +# define OPENSSL_OPT_WINDLL +# endif +# endif +# endif + +/* ------------------------------- OpenVMS -------------------------------- */ +# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYSNAME_VMS) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_VMS +# if defined(__DECC) +# define OPENSSL_SYS_VMS_DECC +# elif defined(__DECCXX) +# define OPENSSL_SYS_VMS_DECC +# define OPENSSL_SYS_VMS_DECCXX +# else +# define OPENSSL_SYS_VMS_NODECC +# endif +# endif + +/* -------------------------------- OS/2 ---------------------------------- */ +# if defined(__EMX__) || defined(__OS2__) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_OS2 +# endif + +/* -------------------------------- Unix ---------------------------------- */ +# ifdef OPENSSL_SYS_UNIX +# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX) +# define OPENSSL_SYS_LINUX +# endif +# ifdef OPENSSL_SYSNAME_MPE +# define OPENSSL_SYS_MPE +# endif +# ifdef OPENSSL_SYSNAME_SNI +# define OPENSSL_SYS_SNI +# endif +# ifdef OPENSSL_SYSNAME_ULTRASPARC +# define OPENSSL_SYS_ULTRASPARC +# endif +# ifdef OPENSSL_SYSNAME_NEWS4 +# define OPENSSL_SYS_NEWS4 +# endif +# ifdef OPENSSL_SYSNAME_MACOSX +# define OPENSSL_SYS_MACOSX +# endif +# ifdef OPENSSL_SYSNAME_MACOSX_RHAPSODY +# define OPENSSL_SYS_MACOSX_RHAPSODY +# define OPENSSL_SYS_MACOSX +# endif +# ifdef OPENSSL_SYSNAME_SUNOS +# define OPENSSL_SYS_SUNOS +# endif +# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY) +# define OPENSSL_SYS_CRAY +# endif +# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX) +# define OPENSSL_SYS_AIX +# endif +# endif + +/* -------------------------------- VOS ----------------------------------- */ +# if defined(__VOS__) || defined(OPENSSL_SYSNAME_VOS) +# define OPENSSL_SYS_VOS +# ifdef __HPPA__ +# define OPENSSL_SYS_VOS_HPPA +# endif +# ifdef __IA32__ +# define OPENSSL_SYS_VOS_IA32 +# endif +# endif + +/* ------------------------------ VxWorks --------------------------------- */ +# ifdef OPENSSL_SYSNAME_VXWORKS +# define OPENSSL_SYS_VXWORKS +# endif + +/* -------------------------------- BeOS ---------------------------------- */ +# if defined(__BEOS__) +# define OPENSSL_SYS_BEOS +# include +# if defined(BONE_VERSION) +# define OPENSSL_SYS_BEOS_BONE +# else +# define OPENSSL_SYS_BEOS_R5 +# endif +# endif + +/** + * That's it for OS-specific stuff + *****************************************************************************/ + +/* Specials for I/O an exit */ +# ifdef OPENSSL_SYS_MSDOS +# define OPENSSL_UNISTD_IO +# define OPENSSL_DECLARE_EXIT extern void exit(int); +# else +# define OPENSSL_UNISTD_IO OPENSSL_UNISTD +# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ +# endif + +/*- + * Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare + * certain global symbols that, with some compilers under VMS, have to be + * defined and declared explicitely with globaldef and globalref. + * Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare + * DLL exports and imports for compilers under Win32. These are a little + * more complicated to use. Basically, for any library that exports some + * global variables, the following code must be present in the header file + * that declares them, before OPENSSL_EXTERN is used: + * + * #ifdef SOME_BUILD_FLAG_MACRO + * # undef OPENSSL_EXTERN + * # define OPENSSL_EXTERN OPENSSL_EXPORT + * #endif + * + * The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL + * have some generally sensible values, and for OPENSSL_EXTERN to have the + * value OPENSSL_IMPORT. + */ + +# if defined(OPENSSL_SYS_VMS_NODECC) +# define OPENSSL_EXPORT globalref +# define OPENSSL_IMPORT globalref +# define OPENSSL_GLOBAL globaldef +# elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) +# define OPENSSL_EXPORT extern __declspec(dllexport) +# define OPENSSL_IMPORT extern __declspec(dllimport) +# define OPENSSL_GLOBAL +# else +# define OPENSSL_EXPORT extern +# define OPENSSL_IMPORT extern +# define OPENSSL_GLOBAL +# endif +# define OPENSSL_EXTERN OPENSSL_IMPORT + +/*- + * Macros to allow global variables to be reached through function calls when + * required (if a shared library version requires it, for example. + * The way it's done allows definitions like this: + * + * // in foobar.c + * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) + * // in foobar.h + * OPENSSL_DECLARE_GLOBAL(int,foobar); + * #define foobar OPENSSL_GLOBAL_REF(foobar) + */ +# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ + type *_shadow_##name(void) \ + { static type _hide_##name=value; return &_hide_##name; } +# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) +# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) +# else +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) OPENSSL_GLOBAL type _shadow_##name=value; +# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name +# define OPENSSL_GLOBAL_REF(name) _shadow_##name +# endif + +# if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && macintosh==1 && !defined(MAC_OS_GUSI_SOURCE) +# define ossl_ssize_t long +# endif + +# ifdef OPENSSL_SYS_MSDOS +# define ossl_ssize_t long +# endif + +# if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) || defined(OPENSSL_SYS_SUNOS) +# define ssize_t int +# endif + +# if defined(__ultrix) && !defined(ssize_t) +# define ossl_ssize_t int +# endif + +# ifndef ossl_ssize_t +# define ossl_ssize_t ssize_t +# endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ebcdic.h b/openssl/1.0/include/openssl/ebcdic.h new file mode 100644 index 0000000..4cbdfeb --- /dev/null +++ b/openssl/1.0/include/openssl/ebcdic.h @@ -0,0 +1,26 @@ +/* crypto/ebcdic.h */ + +#ifndef HEADER_EBCDIC_H +# define HEADER_EBCDIC_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Avoid name clashes with other applications */ +# define os_toascii _openssl_os_toascii +# define os_toebcdic _openssl_os_toebcdic +# define ebcdic2ascii _openssl_ebcdic2ascii +# define ascii2ebcdic _openssl_ascii2ebcdic + +extern const unsigned char os_toascii[256]; +extern const unsigned char os_toebcdic[256]; +void *ebcdic2ascii(void *dest, const void *srce, size_t count); +void *ascii2ebcdic(void *dest, const void *srce, size_t count); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ec.h b/openssl/1.0/include/openssl/ec.h new file mode 100644 index 0000000..81e6faf --- /dev/null +++ b/openssl/1.0/include/openssl/ec.h @@ -0,0 +1,1282 @@ +/* crypto/ec/ec.h */ +/* + * Originally written by Bodo Moeller for the OpenSSL project. + */ +/** + * \file crypto/ec/ec.h Include file for the OpenSSL EC functions + * \author Originally written by Bodo Moeller for the OpenSSL project + */ +/* ==================================================================== + * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * The elliptic curve binary polynomial software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * + */ + +#ifndef HEADER_EC_H +# define HEADER_EC_H + +# include + +# ifdef OPENSSL_NO_EC +# error EC is disabled. +# endif + +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifdef __cplusplus +extern "C" { +# elif defined(__SUNPRO_C) +# if __SUNPRO_C >= 0x520 +# pragma error_messages (off,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) +# endif +# endif + +# ifndef OPENSSL_ECC_MAX_FIELD_BITS +# define OPENSSL_ECC_MAX_FIELD_BITS 661 +# endif + +/** Enum for the point conversion form as defined in X9.62 (ECDSA) + * for the encoding of a elliptic curve point (x,y) */ +typedef enum { + /** the point is encoded as z||x, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_COMPRESSED = 2, + /** the point is encoded as z||x||y, where z is the octet 0x04 */ + POINT_CONVERSION_UNCOMPRESSED = 4, + /** the point is encoded as z||x||y, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_HYBRID = 6 +} point_conversion_form_t; + +typedef struct ec_method_st EC_METHOD; + +typedef struct ec_group_st + /*- + EC_METHOD *meth; + -- field definition + -- curve coefficients + -- optional generator with associated information (order, cofactor) + -- optional extra data (precomputed table for fast computation of multiples of generator) + -- ASN1 stuff + */ + EC_GROUP; + +typedef struct ec_point_st EC_POINT; + +/********************************************************************/ +/* EC_METHODs for curves over GF(p) */ +/********************************************************************/ + +/** Returns the basic GFp ec methods which provides the basis for the + * optimized methods. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_simple_method(void); + +/** Returns GFp methods using montgomery multiplication. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_mont_method(void); + +/** Returns GFp methods using optimized methods for NIST recommended curves + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nist_method(void); + +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +/** Returns 64-bit optimized methods for nistp224 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp224_method(void); + +/** Returns 64-bit optimized methods for nistp256 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp256_method(void); + +/** Returns 64-bit optimized methods for nistp521 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp521_method(void); +# endif + +# ifndef OPENSSL_NO_EC2M +/********************************************************************/ +/* EC_METHOD for curves over GF(2^m) */ +/********************************************************************/ + +/** Returns the basic GF2m ec method + * \return EC_METHOD object + */ +const EC_METHOD *EC_GF2m_simple_method(void); + +# endif + +/********************************************************************/ +/* EC_GROUP functions */ +/********************************************************************/ + +/** Creates a new EC_GROUP object + * \param meth EC_METHOD to use + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); + +/** Frees a EC_GROUP object + * \param group EC_GROUP object to be freed. + */ +void EC_GROUP_free(EC_GROUP *group); + +/** Clears and frees a EC_GROUP object + * \param group EC_GROUP object to be cleared and freed. + */ +void EC_GROUP_clear_free(EC_GROUP *group); + +/** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. + * \param dst destination EC_GROUP object + * \param src source EC_GROUP object + * \return 1 on success and 0 if an error occurred. + */ +int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); + +/** Creates a new EC_GROUP object and copies the copies the content + * form src to the newly created EC_KEY object + * \param src source EC_GROUP object + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); + +/** Returns the EC_METHOD of the EC_GROUP object. + * \param group EC_GROUP object + * \return EC_METHOD used in this EC_GROUP object. + */ +const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); + +/** Returns the field type of the EC_METHOD. + * \param meth EC_METHOD object + * \return NID of the underlying field type OID. + */ +int EC_METHOD_get_field_type(const EC_METHOD *meth); + +/** Sets the generator and it's order/cofactor of a EC_GROUP object. + * \param group EC_GROUP object + * \param generator EC_POINT object with the generator. + * \param order the order of the group generated by the generator. + * \param cofactor the index of the sub-group generated by the generator + * in the group of all points on the elliptic curve. + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, + const BIGNUM *order, const BIGNUM *cofactor); + +/** Returns the generator of a EC_GROUP object. + * \param group EC_GROUP object + * \return the currently used generator (possibly NULL). + */ +const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); + +/** Returns the montgomery data for order(Generator) + * \param group EC_GROUP object + * \return the currently used generator (possibly NULL). +*/ +BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group); + +/** Gets the order of a EC_GROUP + * \param group EC_GROUP object + * \param order BIGNUM to which the order is copied + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); + +/** Gets the cofactor of a EC_GROUP + * \param group EC_GROUP object + * \param cofactor BIGNUM to which the cofactor is copied + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, + BN_CTX *ctx); + +/** Sets the name of a EC_GROUP object + * \param group EC_GROUP object + * \param nid NID of the curve name OID + */ +void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); + +/** Returns the curve name of a EC_GROUP object + * \param group EC_GROUP object + * \return NID of the curve name OID or 0 if not set. + */ +int EC_GROUP_get_curve_name(const EC_GROUP *group); + +void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); +int EC_GROUP_get_asn1_flag(const EC_GROUP *group); + +void EC_GROUP_set_point_conversion_form(EC_GROUP *group, + point_conversion_form_t form); +point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); + +unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); +size_t EC_GROUP_get_seed_len(const EC_GROUP *); +size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); + +/** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b + * \param group EC_GROUP object + * \param p BIGNUM with the prime number + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); + +/** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b + * \param group EC_GROUP object + * \param p BIGNUM for the prime number + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, + BIGNUM *b, BN_CTX *ctx); + +# ifndef OPENSSL_NO_EC2M +/** Sets the parameter of a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b + * \param group EC_GROUP object + * \param p BIGNUM with the polynomial defining the underlying field + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); + +/** Gets the parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b + * \param group EC_GROUP object + * \param p BIGNUM for the polynomial defining the underlying field + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, + BIGNUM *b, BN_CTX *ctx); +# endif +/** Returns the number of bits needed to represent a field element + * \param group EC_GROUP object + * \return number of bits needed to represent a field element + */ +int EC_GROUP_get_degree(const EC_GROUP *group); + +/** Checks whether the parameter in the EC_GROUP define a valid ec group + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if group is a valid ec group and 0 otherwise + */ +int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); + +/** Checks whether the discriminant of the elliptic curve is zero or not + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if the discriminant is not zero and 0 otherwise + */ +int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); + +/** Compares two EC_GROUP objects + * \param a first EC_GROUP object + * \param b second EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 0 if both groups are equal and 1 otherwise + */ +int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); + +/* + * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after + * choosing an appropriate EC_METHOD + */ + +/** Creates a new EC_GROUP object with the specified parameters defined + * over GFp (defined by the equation y^2 = x^3 + a*x + b) + * \param p BIGNUM with the prime number + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# ifndef OPENSSL_NO_EC2M +/** Creates a new EC_GROUP object with the specified parameters defined + * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) + * \param p BIGNUM with the polynomial defining the underlying field + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# endif +/** Creates a EC_GROUP object with a curve specified by a NID + * \param nid NID of the OID of the curve name + * \return newly created EC_GROUP object with specified curve or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_by_curve_name(int nid); + +/********************************************************************/ +/* handling of internal curves */ +/********************************************************************/ + +typedef struct { + int nid; + const char *comment; +} EC_builtin_curve; + +/* + * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all + * available curves or zero if a error occurred. In case r ist not zero + * nitems EC_builtin_curve structures are filled with the data of the first + * nitems internal groups + */ +size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); + +const char *EC_curve_nid2nist(int nid); +int EC_curve_nist2nid(const char *name); + +/********************************************************************/ +/* EC_POINT functions */ +/********************************************************************/ + +/** Creates a new EC_POINT object for the specified EC_GROUP + * \param group EC_GROUP the underlying EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_new(const EC_GROUP *group); + +/** Frees a EC_POINT object + * \param point EC_POINT object to be freed + */ +void EC_POINT_free(EC_POINT *point); + +/** Clears and frees a EC_POINT object + * \param point EC_POINT object to be cleared and freed + */ +void EC_POINT_clear_free(EC_POINT *point); + +/** Copies EC_POINT object + * \param dst destination EC_POINT object + * \param src source EC_POINT object + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); + +/** Creates a new EC_POINT object and copies the content of the supplied + * EC_POINT + * \param src source EC_POINT object + * \param group underlying the EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); + +/** Returns the EC_METHOD used in EC_POINT object + * \param point EC_POINT object + * \return the EC_METHOD used + */ +const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); + +/** Sets a point to infinity (neutral element) + * \param group underlying EC_GROUP object + * \param point EC_POINT to set to infinity + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); + +/** Sets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param z BIGNUM with the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + const BIGNUM *y, const BIGNUM *z, + BN_CTX *ctx); + +/** Gets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param z BIGNUM for the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BIGNUM *z, + BN_CTX *ctx); + +/** Sets the affine coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + BN_CTX *ctx); + +/** Gets the affine coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BN_CTX *ctx); + +/** Sets the x9.62 compressed coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + int y_bit, BN_CTX *ctx); +# ifndef OPENSSL_NO_EC2M +/** Sets the affine coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + BN_CTX *ctx); + +/** Gets the affine coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BN_CTX *ctx); + +/** Sets the x9.62 compressed coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + int y_bit, BN_CTX *ctx); +# endif +/** Encodes a EC_POINT object to a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param form point conversion form + * \param buf memory buffer for the result. If NULL the function returns + * required buffer size. + * \param len length of the memory buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ +size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, + unsigned char *buf, size_t len, BN_CTX *ctx); + +/** Decodes a EC_POINT from a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param buf memory buffer with the encoded ec point + * \param len length of the encoded ec point + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, + const unsigned char *buf, size_t len, BN_CTX *ctx); + +/* other interfaces to point2oct/oct2point: */ +BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BIGNUM *, BN_CTX *); +EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, + EC_POINT *, BN_CTX *); +char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BN_CTX *); +EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, + EC_POINT *, BN_CTX *); + +/********************************************************************/ +/* functions for doing EC_POINT arithmetic */ +/********************************************************************/ + +/** Computes the sum of two EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = a + b) + * \param a EC_POINT object with the first summand + * \param b EC_POINT object with the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + const EC_POINT *b, BN_CTX *ctx); + +/** Computes the double of a EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = 2 * a) + * \param a EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + BN_CTX *ctx); + +/** Computes the inverse of a EC_POINT + * \param group underlying EC_GROUP object + * \param a EC_POINT object to be inverted (it's used for the result as well) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); + +/** Checks whether the point is the neutral element of the group + * \param group the underlying EC_GROUP object + * \param p EC_POINT object + * \return 1 if the point is the neutral element and 0 otherwise + */ +int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); + +/** Checks whether the point is on the curve + * \param group underlying EC_GROUP object + * \param point EC_POINT object to check + * \param ctx BN_CTX object (optional) + * \return 1 if point if on the curve and 0 otherwise + */ +int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, + BN_CTX *ctx); + +/** Compares two EC_POINTs + * \param group underlying EC_GROUP object + * \param a first EC_POINT object + * \param b second EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 0 if both points are equal and a value != 0 otherwise + */ +int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, + BN_CTX *ctx); + +int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); +int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, + EC_POINT *points[], BN_CTX *ctx); + +/** Computes r = generator * n sum_{i=0}^{num-1} p[i] * m[i] + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param num number futher summands + * \param p array of size num of EC_POINT objects + * \param m array of size num of BIGNUM objects + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + size_t num, const EC_POINT *p[], const BIGNUM *m[], + BN_CTX *ctx); + +/** Computes r = generator * n + q * m + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param q EC_POINT object with the first factor of the second summand + * \param m BIGNUM with the second factor of the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); + +/** Stores multiples of generator for faster point multiplication + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); + +/** Reports whether a precomputation has been done + * \param group EC_GROUP object + * \return 1 if a pre-computation has been done and 0 otherwise + */ +int EC_GROUP_have_precompute_mult(const EC_GROUP *group); + +/********************************************************************/ +/* ASN1 stuff */ +/********************************************************************/ + +/* + * EC_GROUP_get_basis_type() returns the NID of the basis type used to + * represent the field elements + */ +int EC_GROUP_get_basis_type(const EC_GROUP *); +# ifndef OPENSSL_NO_EC2M +int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); +int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, + unsigned int *k2, unsigned int *k3); +# endif + +# define OPENSSL_EC_NAMED_CURVE 0x001 + +typedef struct ecpk_parameters_st ECPKPARAMETERS; + +EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); +int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); + +# define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) +# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) +# define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ + (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) +# define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ + (unsigned char *)(x)) + +# ifndef OPENSSL_NO_BIO +int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); +# endif +# ifndef OPENSSL_NO_FP_API +int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); +# endif + +/********************************************************************/ +/* EC_KEY functions */ +/********************************************************************/ + +typedef struct ec_key_st EC_KEY; + +/* some values for the encoding_flag */ +# define EC_PKEY_NO_PARAMETERS 0x001 +# define EC_PKEY_NO_PUBKEY 0x002 + +/* some values for the flags field */ +# define EC_FLAG_NON_FIPS_ALLOW 0x1 +# define EC_FLAG_FIPS_CHECKED 0x2 + +/** Creates a new EC_KEY object. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new(void); + +int EC_KEY_get_flags(const EC_KEY *key); + +void EC_KEY_set_flags(EC_KEY *key, int flags); + +void EC_KEY_clear_flags(EC_KEY *key, int flags); + +/** Creates a new EC_KEY object using a named curve as underlying + * EC_GROUP object. + * \param nid NID of the named curve. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new_by_curve_name(int nid); + +/** Frees a EC_KEY object. + * \param key EC_KEY object to be freed. + */ +void EC_KEY_free(EC_KEY *key); + +/** Copies a EC_KEY object. + * \param dst destination EC_KEY object + * \param src src EC_KEY object + * \return dst or NULL if an error occurred. + */ +EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); + +/** Creates a new EC_KEY object and copies the content from src to it. + * \param src the source EC_KEY object + * \return newly created EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_dup(const EC_KEY *src); + +/** Increases the internal reference count of a EC_KEY object. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_up_ref(EC_KEY *key); + +/** Returns the EC_GROUP object of a EC_KEY object + * \param key EC_KEY object + * \return the EC_GROUP object (possibly NULL). + */ +const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); + +/** Sets the EC_GROUP of a EC_KEY object. + * \param key EC_KEY object + * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY + * object will use an own copy of the EC_GROUP). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); + +/** Returns the private key of a EC_KEY object. + * \param key EC_KEY object + * \return a BIGNUM with the private key (possibly NULL). + */ +const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); + +/** Sets the private key of a EC_KEY object. + * \param key EC_KEY object + * \param prv BIGNUM with the private key (note: the EC_KEY object + * will use an own copy of the BIGNUM). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); + +/** Returns the public key of a EC_KEY object. + * \param key the EC_KEY object + * \return a EC_POINT object with the public key (possibly NULL) + */ +const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); + +/** Sets the public key of a EC_KEY object. + * \param key EC_KEY object + * \param pub EC_POINT object with the public key (note: the EC_KEY object + * will use an own copy of the EC_POINT object). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); + +unsigned EC_KEY_get_enc_flags(const EC_KEY *key); +void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); +point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); +void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); +/* functions to set/get method specific data */ +void *EC_KEY_get_key_method_data(EC_KEY *key, + void *(*dup_func) (void *), + void (*free_func) (void *), + void (*clear_free_func) (void *)); +/** Sets the key method data of an EC_KEY object, if none has yet been set. + * \param key EC_KEY object + * \param data opaque data to install. + * \param dup_func a function that duplicates |data|. + * \param free_func a function that frees |data|. + * \param clear_free_func a function that wipes and frees |data|. + * \return the previously set data pointer, or NULL if |data| was inserted. + */ +void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, + void *(*dup_func) (void *), + void (*free_func) (void *), + void (*clear_free_func) (void *)); +/* wrapper functions for the underlying EC_GROUP object */ +void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); + +/** Creates a table of pre-computed multiples of the generator to + * accelerate further EC_KEY operations. + * \param key EC_KEY object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); + +/** Creates a new ec private (and optional a new public) key. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_generate_key(EC_KEY *key); + +/** Verifies that a private and/or public key is valid. + * \param key the EC_KEY object + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_check_key(const EC_KEY *key); + +/** Sets a public key from affine coordindates performing + * neccessary NIST PKV tests. + * \param key the EC_KEY object + * \param x public key x coordinate + * \param y public key y coordinate + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, + BIGNUM *y); + +/********************************************************************/ +/* de- and encoding functions for SEC1 ECPrivateKey */ +/********************************************************************/ + +/** Decodes a private key from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded private key + * \param len length of the DER encoded private key + * \return the decoded private key or NULL if an error occurred. + */ +EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a private key object and stores the result in a buffer. + * \param key the EC_KEY object to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC parameters */ +/********************************************************************/ + +/** Decodes ec parameter from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded ec parameters + * \param len length of the DER encoded ec parameters + * \return a EC_KEY object with the decoded parameters or NULL if an error + * occurred. + */ +EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes ec parameter and stores the result in a buffer. + * \param key the EC_KEY object with ec paramters to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECParameters(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC public key */ +/* (octet string, not DER -- hence 'o2i' and 'i2o') */ +/********************************************************************/ + +/** Decodes a ec public key from a octet string. + * \param key a pointer to a EC_KEY object which should be used + * \param in memory buffer with the encoded public key + * \param len length of the encoded public key + * \return EC_KEY object with decoded public key or NULL if an error + * occurred. + */ +EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a ec public key in an octet string. + * \param key the EC_KEY object with the public key + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred + */ +int i2o_ECPublicKey(EC_KEY *key, unsigned char **out); + +# ifndef OPENSSL_NO_BIO +/** Prints out the ec parameters on human readable form. + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print(BIO *bp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); + +# endif +# ifndef OPENSSL_NO_FP_API +/** Prints out the ec parameters on human readable form. + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print_fp(FILE *fp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); + +# endif + +# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) + +# ifndef __cplusplus +# if defined(__SUNPRO_C) +# if __SUNPRO_C >= 0x520 +# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) +# endif +# endif +# endif + +# define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) + +# define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) + +# define EVP_PKEY_CTX_set_ecdh_cofactor_mode(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, flag, NULL) + +# define EVP_PKEY_CTX_get_ecdh_cofactor_mode(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_ecdh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set_ecdh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, 0, (void *)plen) + +# define EVP_PKEY_CTX_set0_ecdh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_UKM, plen, (void *)p) + +# define EVP_PKEY_CTX_get0_ecdh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_UKM, 0, (void *)p) + +# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) +/* KDF types */ +# define EVP_PKEY_ECDH_KDF_NONE 1 +# define EVP_PKEY_ECDH_KDF_X9_62 2 + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_EC_strings(void); + +/* Error codes for the EC functions. */ + +/* Function codes. */ +# define EC_F_BN_TO_FELEM 224 +# define EC_F_COMPUTE_WNAF 143 +# define EC_F_D2I_ECPARAMETERS 144 +# define EC_F_D2I_ECPKPARAMETERS 145 +# define EC_F_D2I_ECPRIVATEKEY 146 +# define EC_F_DO_EC_KEY_PRINT 221 +# define EC_F_ECDH_CMS_DECRYPT 238 +# define EC_F_ECDH_CMS_SET_SHARED_INFO 239 +# define EC_F_ECKEY_PARAM2TYPE 223 +# define EC_F_ECKEY_PARAM_DECODE 212 +# define EC_F_ECKEY_PRIV_DECODE 213 +# define EC_F_ECKEY_PRIV_ENCODE 214 +# define EC_F_ECKEY_PUB_DECODE 215 +# define EC_F_ECKEY_PUB_ENCODE 216 +# define EC_F_ECKEY_TYPE2PARAM 220 +# define EC_F_ECPARAMETERS_PRINT 147 +# define EC_F_ECPARAMETERS_PRINT_FP 148 +# define EC_F_ECPKPARAMETERS_PRINT 149 +# define EC_F_ECPKPARAMETERS_PRINT_FP 150 +# define EC_F_ECP_NISTZ256_GET_AFFINE 240 +# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 243 +# define EC_F_ECP_NISTZ256_POINTS_MUL 241 +# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 244 +# define EC_F_ECP_NISTZ256_SET_WORDS 245 +# define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 +# define EC_F_ECP_NIST_MOD_192 203 +# define EC_F_ECP_NIST_MOD_224 204 +# define EC_F_ECP_NIST_MOD_256 205 +# define EC_F_ECP_NIST_MOD_521 206 +# define EC_F_EC_ASN1_GROUP2CURVE 153 +# define EC_F_EC_ASN1_GROUP2FIELDID 154 +# define EC_F_EC_ASN1_GROUP2PARAMETERS 155 +# define EC_F_EC_ASN1_GROUP2PKPARAMETERS 156 +# define EC_F_EC_ASN1_PARAMETERS2GROUP 157 +# define EC_F_EC_ASN1_PKPARAMETERS2GROUP 158 +# define EC_F_EC_EX_DATA_SET_DATA 211 +# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 +# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 +# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 +# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 +# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 +# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 +# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 +# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 +# define EC_F_EC_GFP_MONT_FIELD_DECODE 133 +# define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 +# define EC_F_EC_GFP_MONT_FIELD_MUL 131 +# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 +# define EC_F_EC_GFP_MONT_FIELD_SQR 132 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE_GFP 135 +# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 +# define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 +# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 +# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 +# define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 +# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 +# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 +# define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 +# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 +# define EC_F_EC_GFP_NIST_FIELD_MUL 200 +# define EC_F_EC_GFP_NIST_FIELD_SQR 201 +# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 +# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE_GFP 100 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_GENERATOR 101 +# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 +# define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 +# define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 +# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES_GFP 105 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES_GFP 128 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES_GFP 129 +# define EC_F_EC_GROUP_CHECK 170 +# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 +# define EC_F_EC_GROUP_COPY 106 +# define EC_F_EC_GROUP_GET0_GENERATOR 139 +# define EC_F_EC_GROUP_GET_COFACTOR 140 +# define EC_F_EC_GROUP_GET_CURVE_GF2M 172 +# define EC_F_EC_GROUP_GET_CURVE_GFP 130 +# define EC_F_EC_GROUP_GET_DEGREE 173 +# define EC_F_EC_GROUP_GET_ORDER 141 +# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 +# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 +# define EC_F_EC_GROUP_NEW 108 +# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 +# define EC_F_EC_GROUP_NEW_FROM_DATA 175 +# define EC_F_EC_GROUP_PRECOMPUTE_MULT 142 +# define EC_F_EC_GROUP_SET_CURVE_GF2M 176 +# define EC_F_EC_GROUP_SET_CURVE_GFP 109 +# define EC_F_EC_GROUP_SET_EXTRA_DATA 110 +# define EC_F_EC_GROUP_SET_GENERATOR 111 +# define EC_F_EC_KEY_CHECK_KEY 177 +# define EC_F_EC_KEY_COPY 178 +# define EC_F_EC_KEY_GENERATE_KEY 179 +# define EC_F_EC_KEY_NEW 182 +# define EC_F_EC_KEY_PRINT 180 +# define EC_F_EC_KEY_PRINT_FP 181 +# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 +# define EC_F_EC_POINTS_MAKE_AFFINE 136 +# define EC_F_EC_POINT_ADD 112 +# define EC_F_EC_POINT_CMP 113 +# define EC_F_EC_POINT_COPY 114 +# define EC_F_EC_POINT_DBL 115 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 +# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 +# define EC_F_EC_POINT_INVERT 210 +# define EC_F_EC_POINT_IS_AT_INFINITY 118 +# define EC_F_EC_POINT_IS_ON_CURVE 119 +# define EC_F_EC_POINT_MAKE_AFFINE 120 +# define EC_F_EC_POINT_MUL 184 +# define EC_F_EC_POINT_NEW 121 +# define EC_F_EC_POINT_OCT2POINT 122 +# define EC_F_EC_POINT_POINT2OCT 123 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 +# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 +# define EC_F_EC_POINT_SET_TO_INFINITY 127 +# define EC_F_EC_PRE_COMP_DUP 207 +# define EC_F_EC_PRE_COMP_NEW 196 +# define EC_F_EC_WNAF_MUL 187 +# define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 +# define EC_F_I2D_ECPARAMETERS 190 +# define EC_F_I2D_ECPKPARAMETERS 191 +# define EC_F_I2D_ECPRIVATEKEY 192 +# define EC_F_I2O_ECPUBLICKEY 151 +# define EC_F_NISTP224_PRE_COMP_NEW 227 +# define EC_F_NISTP256_PRE_COMP_NEW 236 +# define EC_F_NISTP521_PRE_COMP_NEW 237 +# define EC_F_O2I_ECPUBLICKEY 152 +# define EC_F_OLD_EC_PRIV_DECODE 222 +# define EC_F_PKEY_EC_CTRL 197 +# define EC_F_PKEY_EC_CTRL_STR 198 +# define EC_F_PKEY_EC_DERIVE 217 +# define EC_F_PKEY_EC_KEYGEN 199 +# define EC_F_PKEY_EC_PARAMGEN 219 +# define EC_F_PKEY_EC_SIGN 218 + +/* Reason codes. */ +# define EC_R_ASN1_ERROR 115 +# define EC_R_ASN1_UNKNOWN_FIELD 116 +# define EC_R_BIGNUM_OUT_OF_RANGE 144 +# define EC_R_BUFFER_TOO_SMALL 100 +# define EC_R_COORDINATES_OUT_OF_RANGE 146 +# define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 +# define EC_R_DECODE_ERROR 142 +# define EC_R_DISCRIMINANT_IS_ZERO 118 +# define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 +# define EC_R_FIELD_TOO_LARGE 143 +# define EC_R_GF2M_NOT_SUPPORTED 147 +# define EC_R_GROUP2PKPARAMETERS_FAILURE 120 +# define EC_R_I2D_ECPKPARAMETERS_FAILURE 121 +# define EC_R_INCOMPATIBLE_OBJECTS 101 +# define EC_R_INVALID_ARGUMENT 112 +# define EC_R_INVALID_COMPRESSED_POINT 110 +# define EC_R_INVALID_COMPRESSION_BIT 109 +# define EC_R_INVALID_CURVE 141 +# define EC_R_INVALID_DIGEST 151 +# define EC_R_INVALID_DIGEST_TYPE 138 +# define EC_R_INVALID_ENCODING 102 +# define EC_R_INVALID_FIELD 103 +# define EC_R_INVALID_FORM 104 +# define EC_R_INVALID_GROUP_ORDER 122 +# define EC_R_INVALID_PENTANOMIAL_BASIS 132 +# define EC_R_INVALID_PRIVATE_KEY 123 +# define EC_R_INVALID_TRINOMIAL_BASIS 137 +# define EC_R_KDF_PARAMETER_ERROR 148 +# define EC_R_KEYS_NOT_SET 140 +# define EC_R_MISSING_PARAMETERS 124 +# define EC_R_MISSING_PRIVATE_KEY 125 +# define EC_R_NOT_A_NIST_PRIME 135 +# define EC_R_NOT_A_SUPPORTED_NIST_PRIME 136 +# define EC_R_NOT_IMPLEMENTED 126 +# define EC_R_NOT_INITIALIZED 111 +# define EC_R_NO_FIELD_MOD 133 +# define EC_R_NO_PARAMETERS_SET 139 +# define EC_R_PASSED_NULL_PARAMETER 134 +# define EC_R_PEER_KEY_ERROR 149 +# define EC_R_PKPARAMETERS2GROUP_FAILURE 127 +# define EC_R_POINT_AT_INFINITY 106 +# define EC_R_POINT_IS_NOT_ON_CURVE 107 +# define EC_R_SHARED_INFO_ERROR 150 +# define EC_R_SLOT_FULL 108 +# define EC_R_UNDEFINED_GENERATOR 113 +# define EC_R_UNDEFINED_ORDER 128 +# define EC_R_UNKNOWN_GROUP 129 +# define EC_R_UNKNOWN_ORDER 114 +# define EC_R_UNSUPPORTED_FIELD 131 +# define EC_R_WRONG_CURVE_PARAMETERS 145 +# define EC_R_WRONG_ORDER 130 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ecdh.h b/openssl/1.0/include/openssl/ecdh.h new file mode 100644 index 0000000..25348b3 --- /dev/null +++ b/openssl/1.0/include/openssl/ecdh.h @@ -0,0 +1,134 @@ +/* crypto/ecdh/ecdh.h */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * The Elliptic Curve Public-Key Crypto Library (ECC Code) included + * herein is developed by SUN MICROSYSTEMS, INC., and is contributed + * to the OpenSSL project. + * + * The ECC Code is licensed pursuant to the OpenSSL open source + * license provided below. + * + * The ECDH software is originally written by Douglas Stebila of + * Sun Microsystems Laboratories. + * + */ +/* ==================================================================== + * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ECDH_H +# define HEADER_ECDH_H + +# include + +# ifdef OPENSSL_NO_ECDH +# error ECDH is disabled. +# endif + +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define EC_FLAG_COFACTOR_ECDH 0x1000 + +const ECDH_METHOD *ECDH_OpenSSL(void); + +void ECDH_set_default_method(const ECDH_METHOD *); +const ECDH_METHOD *ECDH_get_default_method(void); +int ECDH_set_method(EC_KEY *, const ECDH_METHOD *); + +int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, + EC_KEY *ecdh, void *(*KDF) (const void *in, size_t inlen, + void *out, size_t *outlen)); + +int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new + *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg); +void *ECDH_get_ex_data(EC_KEY *d, int idx); + +int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + const unsigned char *sinfo, size_t sinfolen, + const EVP_MD *md); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ECDH_strings(void); + +/* Error codes for the ECDH functions. */ + +/* Function codes. */ +# define ECDH_F_ECDH_CHECK 102 +# define ECDH_F_ECDH_COMPUTE_KEY 100 +# define ECDH_F_ECDH_DATA_NEW_METHOD 101 + +/* Reason codes. */ +# define ECDH_R_KDF_FAILED 102 +# define ECDH_R_NON_FIPS_METHOD 103 +# define ECDH_R_NO_PRIVATE_VALUE 100 +# define ECDH_R_POINT_ARITHMETIC_FAILURE 101 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ecdsa.h b/openssl/1.0/include/openssl/ecdsa.h new file mode 100644 index 0000000..a6f0930 --- /dev/null +++ b/openssl/1.0/include/openssl/ecdsa.h @@ -0,0 +1,335 @@ +/* crypto/ecdsa/ecdsa.h */ +/** + * \file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions + * \author Written by Nils Larsch for the OpenSSL project + */ +/* ==================================================================== + * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ECDSA_H +# define HEADER_ECDSA_H + +# include + +# ifdef OPENSSL_NO_ECDSA +# error ECDSA is disabled. +# endif + +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ECDSA_SIG_st { + BIGNUM *r; + BIGNUM *s; +} ECDSA_SIG; + +/** Allocates and initialize a ECDSA_SIG structure + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_SIG_new(void); + +/** frees a ECDSA_SIG structure + * \param sig pointer to the ECDSA_SIG structure + */ +void ECDSA_SIG_free(ECDSA_SIG *sig); + +/** DER encode content of ECDSA_SIG object (note: this function modifies *pp + * (*pp += length of the DER encoded signature)). + * \param sig pointer to the ECDSA_SIG object + * \param pp pointer to a unsigned char pointer for the output or NULL + * \return the length of the DER encoded ECDSA_SIG object or 0 + */ +int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); + +/** Decodes a DER encoded ECDSA signature (note: this function changes *pp + * (*pp += len)). + * \param sig pointer to ECDSA_SIG pointer (may be NULL) + * \param pp memory buffer with the DER encoded signature + * \param len length of the buffer + * \return pointer to the decoded ECDSA_SIG structure (or NULL) + */ +ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); + +/** Computes the ECDSA signature of the given hash value using + * the supplied private key and returns the created signature. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, + EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optioanl), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, + const BIGNUM *kinv, const BIGNUM *rp, + EC_KEY *eckey); + +/** Verifies that the supplied signature is a valid ECDSA + * signature of the supplied hash value using the supplied public key. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param sig ECDSA_SIG structure + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, + const ECDSA_SIG *sig, EC_KEY *eckey); + +const ECDSA_METHOD *ECDSA_OpenSSL(void); + +/** Sets the default ECDSA method + * \param meth new default ECDSA_METHOD + */ +void ECDSA_set_default_method(const ECDSA_METHOD *meth); + +/** Returns the default ECDSA method + * \return pointer to ECDSA_METHOD structure containing the default method + */ +const ECDSA_METHOD *ECDSA_get_default_method(void); + +/** Sets method to be used for the ECDSA operations + * \param eckey EC_KEY object + * \param meth new method + * \return 1 on success and 0 otherwise + */ +int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth); + +/** Returns the maximum length of the DER encoded signature + * \param eckey EC_KEY object + * \return numbers of bytes required for the DER encoded signature + */ +int ECDSA_size(const EC_KEY *eckey); + +/** Precompute parts of the signing operation + * \param eckey EC_KEY object containing a private EC key + * \param ctx BN_CTX object (optional) + * \param kinv BIGNUM pointer for the inverse of k + * \param rp BIGNUM pointer for x coordinate of k * generator + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig memory for the DER encoded created signature + * \param siglen pointer to the length of the returned signature + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig buffer to hold the DER encoded signature + * \param siglen pointer to the length of the returned signature + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optioanl), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); + +/** Verifies that the given signature is valid ECDSA signature + * of the supplied hash value using the specified public key. + * \param type this parameter is ignored + * \param dgst pointer to the hash value + * \param dgstlen length of the hash value + * \param sig pointer to the DER encoded signature + * \param siglen length of the DER encoded signature + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, + const unsigned char *sig, int siglen, EC_KEY *eckey); + +/* the standard ex_data functions */ +int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new + *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int ECDSA_set_ex_data(EC_KEY *d, int idx, void *arg); +void *ECDSA_get_ex_data(EC_KEY *d, int idx); + +/** Allocates and initialize a ECDSA_METHOD structure + * \param ecdsa_method pointer to ECDSA_METHOD to copy. (May be NULL) + * \return pointer to a ECDSA_METHOD structure or NULL if an error occurred + */ + +ECDSA_METHOD *ECDSA_METHOD_new(const ECDSA_METHOD *ecdsa_method); + +/** frees a ECDSA_METHOD structure + * \param ecdsa_method pointer to the ECDSA_METHOD structure + */ +void ECDSA_METHOD_free(ECDSA_METHOD *ecdsa_method); + +/** Sets application specific data in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param app application specific data to set + */ + +void ECDSA_METHOD_set_app_data(ECDSA_METHOD *ecdsa_method, void *app); + +/** Returns application specific data from a ECDSA_METHOD structure + * \param ecdsa_method pointer to ECDSA_METHOD structure + * \return pointer to application specific data. + */ + +void *ECDSA_METHOD_get_app_data(ECDSA_METHOD *ecdsa_method); + +/** Set the ECDSA_do_sign function in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param ecdsa_do_sign a funtion of type ECDSA_do_sign + */ + +void ECDSA_METHOD_set_sign(ECDSA_METHOD *ecdsa_method, + ECDSA_SIG *(*ecdsa_do_sign) (const unsigned char + *dgst, int dgst_len, + const BIGNUM *inv, + const BIGNUM *rp, + EC_KEY *eckey)); + +/** Set the ECDSA_sign_setup function in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param ecdsa_sign_setup a funtion of type ECDSA_sign_setup + */ + +void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *ecdsa_method, + int (*ecdsa_sign_setup) (EC_KEY *eckey, + BN_CTX *ctx, + BIGNUM **kinv, + BIGNUM **r)); + +/** Set the ECDSA_do_verify function in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param ecdsa_do_verify a funtion of type ECDSA_do_verify + */ + +void ECDSA_METHOD_set_verify(ECDSA_METHOD *ecdsa_method, + int (*ecdsa_do_verify) (const unsigned char + *dgst, int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); + +void ECDSA_METHOD_set_flags(ECDSA_METHOD *ecdsa_method, int flags); + +/** Set the flags field in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param flags flags value to set + */ + +void ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name); + +/** Set the name field in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param name name to set + */ + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ECDSA_strings(void); + +/* Error codes for the ECDSA functions. */ + +/* Function codes. */ +# define ECDSA_F_ECDSA_CHECK 104 +# define ECDSA_F_ECDSA_DATA_NEW_METHOD 100 +# define ECDSA_F_ECDSA_DO_SIGN 101 +# define ECDSA_F_ECDSA_DO_VERIFY 102 +# define ECDSA_F_ECDSA_METHOD_NEW 105 +# define ECDSA_F_ECDSA_SIGN_SETUP 103 + +/* Reason codes. */ +# define ECDSA_R_BAD_SIGNATURE 100 +# define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 101 +# define ECDSA_R_ERR_EC_LIB 102 +# define ECDSA_R_MISSING_PARAMETERS 103 +# define ECDSA_R_NEED_NEW_SETUP_VALUES 106 +# define ECDSA_R_NON_FIPS_METHOD 107 +# define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 104 +# define ECDSA_R_SIGNATURE_MALLOC_FAILED 105 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/engine.h b/openssl/1.0/include/openssl/engine.h new file mode 100644 index 0000000..bd7b591 --- /dev/null +++ b/openssl/1.0/include/openssl/engine.h @@ -0,0 +1,960 @@ +/* openssl/engine.h */ +/* + * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project + * 2000. + */ +/* ==================================================================== + * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_ENGINE_H +# define HEADER_ENGINE_H + +# include + +# ifdef OPENSSL_NO_ENGINE +# error ENGINE is disabled. +# endif + +# ifndef OPENSSL_NO_DEPRECATED +# include +# ifndef OPENSSL_NO_RSA +# include +# endif +# ifndef OPENSSL_NO_DSA +# include +# endif +# ifndef OPENSSL_NO_DH +# include +# endif +# ifndef OPENSSL_NO_ECDH +# include +# endif +# ifndef OPENSSL_NO_ECDSA +# include +# endif +# include +# include +# include +# endif + +# include +# include + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * These flags are used to control combinations of algorithm (methods) by + * bitwise "OR"ing. + */ +# define ENGINE_METHOD_RSA (unsigned int)0x0001 +# define ENGINE_METHOD_DSA (unsigned int)0x0002 +# define ENGINE_METHOD_DH (unsigned int)0x0004 +# define ENGINE_METHOD_RAND (unsigned int)0x0008 +# define ENGINE_METHOD_ECDH (unsigned int)0x0010 +# define ENGINE_METHOD_ECDSA (unsigned int)0x0020 +# define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 +# define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 +# define ENGINE_METHOD_STORE (unsigned int)0x0100 +# define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200 +# define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400 +/* Obvious all-or-nothing cases. */ +# define ENGINE_METHOD_ALL (unsigned int)0xFFFF +# define ENGINE_METHOD_NONE (unsigned int)0x0000 + +/* + * This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used + * internally to control registration of ENGINE implementations, and can be + * set by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to + * initialise registered ENGINEs if they are not already initialised. + */ +# define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001 + +/* ENGINE flags that can be set by ENGINE_set_flags(). */ +/* Not used */ +/* #define ENGINE_FLAGS_MALLOCED 0x0001 */ + +/* + * This flag is for ENGINEs that wish to handle the various 'CMD'-related + * control commands on their own. Without this flag, ENGINE_ctrl() handles + * these control commands on behalf of the ENGINE using their "cmd_defns" + * data. + */ +# define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002 + +/* + * This flag is for ENGINEs who return new duplicate structures when found + * via "ENGINE_by_id()". When an ENGINE must store state (eg. if + * ENGINE_ctrl() commands are called in sequence as part of some stateful + * process like key-generation setup and execution), it can set this flag - + * then each attempt to obtain the ENGINE will result in it being copied into + * a new structure. Normally, ENGINEs don't declare this flag so + * ENGINE_by_id() just increments the existing ENGINE's structural reference + * count. + */ +# define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 + +/* + * This flag if for an ENGINE that does not want its methods registered as + * part of ENGINE_register_all_complete() for example if the methods are not + * usable as default methods. + */ + +# define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 + +/* + * ENGINEs can support their own command types, and these flags are used in + * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input + * each command expects. Currently only numeric and string input is + * supported. If a control command supports none of the _NUMERIC, _STRING, or + * _NO_INPUT options, then it is regarded as an "internal" control command - + * and not for use in config setting situations. As such, they're not + * available to the ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() + * access. Changes to this list of 'command types' should be reflected + * carefully in ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). + */ + +/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */ +# define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001 +/* + * accepts string input (cast from 'void*' to 'const char *', 4th parameter + * to ENGINE_ctrl) + */ +# define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002 +/* + * Indicates that the control command takes *no* input. Ie. the control + * command is unparameterised. + */ +# define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004 +/* + * Indicates that the control command is internal. This control command won't + * be shown in any output, and is only usable through the ENGINE_ctrl_cmd() + * function. + */ +# define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008 + +/* + * NB: These 3 control commands are deprecated and should not be used. + * ENGINEs relying on these commands should compile conditional support for + * compatibility (eg. if these symbols are defined) but should also migrate + * the same functionality to their own ENGINE-specific control functions that + * can be "discovered" by calling applications. The fact these control + * commands wouldn't be "executable" (ie. usable by text-based config) + * doesn't change the fact that application code can find and use them + * without requiring per-ENGINE hacking. + */ + +/* + * These flags are used to tell the ctrl function what should be done. All + * command numbers are shared between all engines, even if some don't make + * sense to some engines. In such a case, they do nothing but return the + * error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. + */ +# define ENGINE_CTRL_SET_LOGSTREAM 1 +# define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2 +# define ENGINE_CTRL_HUP 3/* Close and reinitialise + * any handles/connections + * etc. */ +# define ENGINE_CTRL_SET_USER_INTERFACE 4/* Alternative to callback */ +# define ENGINE_CTRL_SET_CALLBACK_DATA 5/* User-specific data, used + * when calling the password + * callback and the user + * interface */ +# define ENGINE_CTRL_LOAD_CONFIGURATION 6/* Load a configuration, + * given a string that + * represents a file name + * or so */ +# define ENGINE_CTRL_LOAD_SECTION 7/* Load data from a given + * section in the already + * loaded configuration */ + +/* + * These control commands allow an application to deal with an arbitrary + * engine in a dynamic way. Warn: Negative return values indicate errors FOR + * THESE COMMANDS because zero is used to indicate 'end-of-list'. Other + * commands, including ENGINE-specific command types, return zero for an + * error. An ENGINE can choose to implement these ctrl functions, and can + * internally manage things however it chooses - it does so by setting the + * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise + * the ENGINE_ctrl() code handles this on the ENGINE's behalf using the + * cmd_defns data (set using ENGINE_set_cmd_defns()). This means an ENGINE's + * ctrl() handler need only implement its own commands - the above "meta" + * commands will be taken care of. + */ + +/* + * Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", + * then all the remaining control commands will return failure, so it is + * worth checking this first if the caller is trying to "discover" the + * engine's capabilities and doesn't want errors generated unnecessarily. + */ +# define ENGINE_CTRL_HAS_CTRL_FUNCTION 10 +/* + * Returns a positive command number for the first command supported by the + * engine. Returns zero if no ctrl commands are supported. + */ +# define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11 +/* + * The 'long' argument specifies a command implemented by the engine, and the + * return value is the next command supported, or zero if there are no more. + */ +# define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12 +/* + * The 'void*' argument is a command name (cast from 'const char *'), and the + * return value is the command that corresponds to it. + */ +# define ENGINE_CTRL_GET_CMD_FROM_NAME 13 +/* + * The next two allow a command to be converted into its corresponding string + * form. In each case, the 'long' argument supplies the command. In the + * NAME_LEN case, the return value is the length of the command name (not + * counting a trailing EOL). In the NAME case, the 'void*' argument must be a + * string buffer large enough, and it will be populated with the name of the + * command (WITH a trailing EOL). + */ +# define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14 +# define ENGINE_CTRL_GET_NAME_FROM_CMD 15 +/* The next two are similar but give a "short description" of a command. */ +# define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16 +# define ENGINE_CTRL_GET_DESC_FROM_CMD 17 +/* + * With this command, the return value is the OR'd combination of + * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given + * engine-specific ctrl command expects. + */ +# define ENGINE_CTRL_GET_CMD_FLAGS 18 + +/* + * ENGINE implementations should start the numbering of their own control + * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). + */ +# define ENGINE_CMD_BASE 200 + +/* + * NB: These 2 nCipher "chil" control commands are deprecated, and their + * functionality is now available through ENGINE-specific control commands + * (exposed through the above-mentioned 'CMD'-handling). Code using these 2 + * commands should be migrated to the more general command handling before + * these are removed. + */ + +/* Flags specific to the nCipher "chil" engine */ +# define ENGINE_CTRL_CHIL_SET_FORKCHECK 100 + /* + * Depending on the value of the (long)i argument, this sets or + * unsets the SimpleForkCheck flag in the CHIL API to enable or + * disable checking and workarounds for applications that fork(). + */ +# define ENGINE_CTRL_CHIL_NO_LOCKING 101 + /* + * This prevents the initialisation function from providing mutex + * callbacks to the nCipher library. + */ + +/* + * If an ENGINE supports its own specific control commands and wishes the + * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on + * its behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN + * entries to ENGINE_set_cmd_defns(). It should also implement a ctrl() + * handler that supports the stated commands (ie. the "cmd_num" entries as + * described by the array). NB: The array must be ordered in increasing order + * of cmd_num. "null-terminated" means that the last ENGINE_CMD_DEFN element + * has cmd_num set to zero and/or cmd_name set to NULL. + */ +typedef struct ENGINE_CMD_DEFN_st { + unsigned int cmd_num; /* The command number */ + const char *cmd_name; /* The command name itself */ + const char *cmd_desc; /* A short description of the command */ + unsigned int cmd_flags; /* The input the command expects */ +} ENGINE_CMD_DEFN; + +/* Generic function pointer */ +typedef int (*ENGINE_GEN_FUNC_PTR) (void); +/* Generic function pointer taking no arguments */ +typedef int (*ENGINE_GEN_INT_FUNC_PTR) (ENGINE *); +/* Specific control function pointer */ +typedef int (*ENGINE_CTRL_FUNC_PTR) (ENGINE *, int, long, void *, + void (*f) (void)); +/* Generic load_key function pointer */ +typedef EVP_PKEY *(*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *, + UI_METHOD *ui_method, + void *callback_data); +typedef int (*ENGINE_SSL_CLIENT_CERT_PTR) (ENGINE *, SSL *ssl, + STACK_OF(X509_NAME) *ca_dn, + X509 **pcert, EVP_PKEY **pkey, + STACK_OF(X509) **pother, + UI_METHOD *ui_method, + void *callback_data); +/*- + * These callback types are for an ENGINE's handler for cipher and digest logic. + * These handlers have these prototypes; + * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid); + * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid); + * Looking at how to implement these handlers in the case of cipher support, if + * the framework wants the EVP_CIPHER for 'nid', it will call; + * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure) + * If the framework wants a list of supported 'nid's, it will call; + * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error) + */ +/* + * Returns to a pointer to the array of supported cipher 'nid's. If the + * second parameter is non-NULL it is set to the size of the returned array. + */ +typedef int (*ENGINE_CIPHERS_PTR) (ENGINE *, const EVP_CIPHER **, + const int **, int); +typedef int (*ENGINE_DIGESTS_PTR) (ENGINE *, const EVP_MD **, const int **, + int); +typedef int (*ENGINE_PKEY_METHS_PTR) (ENGINE *, EVP_PKEY_METHOD **, + const int **, int); +typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **, + const int **, int); +/* + * STRUCTURE functions ... all of these functions deal with pointers to + * ENGINE structures where the pointers have a "structural reference". This + * means that their reference is to allowed access to the structure but it + * does not imply that the structure is functional. To simply increment or + * decrement the structural reference count, use ENGINE_by_id and + * ENGINE_free. NB: This is not required when iterating using ENGINE_get_next + * as it will automatically decrement the structural reference count of the + * "current" ENGINE and increment the structural reference count of the + * ENGINE it returns (unless it is NULL). + */ + +/* Get the first/last "ENGINE" type available. */ +ENGINE *ENGINE_get_first(void); +ENGINE *ENGINE_get_last(void); +/* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ +ENGINE *ENGINE_get_next(ENGINE *e); +ENGINE *ENGINE_get_prev(ENGINE *e); +/* Add another "ENGINE" type into the array. */ +int ENGINE_add(ENGINE *e); +/* Remove an existing "ENGINE" type from the array. */ +int ENGINE_remove(ENGINE *e); +/* Retrieve an engine from the list by its unique "id" value. */ +ENGINE *ENGINE_by_id(const char *id); +/* Add all the built-in engines. */ +void ENGINE_load_openssl(void); +void ENGINE_load_dynamic(void); +# ifndef OPENSSL_NO_STATIC_ENGINE +void ENGINE_load_4758cca(void); +void ENGINE_load_aep(void); +void ENGINE_load_atalla(void); +void ENGINE_load_chil(void); +void ENGINE_load_cswift(void); +void ENGINE_load_nuron(void); +void ENGINE_load_sureware(void); +void ENGINE_load_ubsec(void); +void ENGINE_load_padlock(void); +void ENGINE_load_capi(void); +# ifndef OPENSSL_NO_GMP +void ENGINE_load_gmp(void); +# endif +# ifndef OPENSSL_NO_GOST +void ENGINE_load_gost(void); +# endif +# endif +void ENGINE_load_cryptodev(void); +void ENGINE_load_rdrand(void); +void ENGINE_load_builtin_engines(void); + +/* + * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation + * "registry" handling. + */ +unsigned int ENGINE_get_table_flags(void); +void ENGINE_set_table_flags(unsigned int flags); + +/*- Manage registration of ENGINEs per "table". For each type, there are 3 + * functions; + * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one) + * ENGINE_unregister_***(e) - unregister the implementation from 'e' + * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list + * Cleanup is automatically registered from each table when required, so + * ENGINE_cleanup() will reverse any "register" operations. + */ + +int ENGINE_register_RSA(ENGINE *e); +void ENGINE_unregister_RSA(ENGINE *e); +void ENGINE_register_all_RSA(void); + +int ENGINE_register_DSA(ENGINE *e); +void ENGINE_unregister_DSA(ENGINE *e); +void ENGINE_register_all_DSA(void); + +int ENGINE_register_ECDH(ENGINE *e); +void ENGINE_unregister_ECDH(ENGINE *e); +void ENGINE_register_all_ECDH(void); + +int ENGINE_register_ECDSA(ENGINE *e); +void ENGINE_unregister_ECDSA(ENGINE *e); +void ENGINE_register_all_ECDSA(void); + +int ENGINE_register_DH(ENGINE *e); +void ENGINE_unregister_DH(ENGINE *e); +void ENGINE_register_all_DH(void); + +int ENGINE_register_RAND(ENGINE *e); +void ENGINE_unregister_RAND(ENGINE *e); +void ENGINE_register_all_RAND(void); + +int ENGINE_register_STORE(ENGINE *e); +void ENGINE_unregister_STORE(ENGINE *e); +void ENGINE_register_all_STORE(void); + +int ENGINE_register_ciphers(ENGINE *e); +void ENGINE_unregister_ciphers(ENGINE *e); +void ENGINE_register_all_ciphers(void); + +int ENGINE_register_digests(ENGINE *e); +void ENGINE_unregister_digests(ENGINE *e); +void ENGINE_register_all_digests(void); + +int ENGINE_register_pkey_meths(ENGINE *e); +void ENGINE_unregister_pkey_meths(ENGINE *e); +void ENGINE_register_all_pkey_meths(void); + +int ENGINE_register_pkey_asn1_meths(ENGINE *e); +void ENGINE_unregister_pkey_asn1_meths(ENGINE *e); +void ENGINE_register_all_pkey_asn1_meths(void); + +/* + * These functions register all support from the above categories. Note, use + * of these functions can result in static linkage of code your application + * may not need. If you only need a subset of functionality, consider using + * more selective initialisation. + */ +int ENGINE_register_complete(ENGINE *e); +int ENGINE_register_all_complete(void); + +/* + * Send parametrised control commands to the engine. The possibilities to + * send down an integer, a pointer to data or a function pointer are + * provided. Any of the parameters may or may not be NULL, depending on the + * command number. In actuality, this function only requires a structural + * (rather than functional) reference to an engine, but many control commands + * may require the engine be functional. The caller should be aware of trying + * commands that require an operational ENGINE, and only use functional + * references in such situations. + */ +int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)); + +/* + * This function tests if an ENGINE-specific command is usable as a + * "setting". Eg. in an application's config file that gets processed through + * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to + * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl(). + */ +int ENGINE_cmd_is_executable(ENGINE *e, int cmd); + +/* + * This function works like ENGINE_ctrl() with the exception of taking a + * command name instead of a command number, and can handle optional + * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation + * on how to use the cmd_name and cmd_optional. + */ +int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, + long i, void *p, void (*f) (void), int cmd_optional); + +/* + * This function passes a command-name and argument to an ENGINE. The + * cmd_name is converted to a command number and the control command is + * called using 'arg' as an argument (unless the ENGINE doesn't support such + * a command, in which case no control command is called). The command is + * checked for input flags, and if necessary the argument will be converted + * to a numeric value. If cmd_optional is non-zero, then if the ENGINE + * doesn't support the given cmd_name the return value will be success + * anyway. This function is intended for applications to use so that users + * (or config files) can supply engine-specific config data to the ENGINE at + * run-time to control behaviour of specific engines. As such, it shouldn't + * be used for calling ENGINE_ctrl() functions that return data, deal with + * binary data, or that are otherwise supposed to be used directly through + * ENGINE_ctrl() in application code. Any "return" data from an ENGINE_ctrl() + * operation in this function will be lost - the return value is interpreted + * as failure if the return value is zero, success otherwise, and this + * function returns a boolean value as a result. In other words, vendors of + * 'ENGINE'-enabled devices should write ENGINE implementations with + * parameterisations that work in this scheme, so that compliant ENGINE-based + * applications can work consistently with the same configuration for the + * same ENGINE-enabled devices, across applications. + */ +int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, + int cmd_optional); + +/* + * These functions are useful for manufacturing new ENGINE structures. They + * don't address reference counting at all - one uses them to populate an + * ENGINE structure with personalised implementations of things prior to + * using it directly or adding it to the builtin ENGINE list in OpenSSL. + * These are also here so that the ENGINE structure doesn't have to be + * exposed and break binary compatibility! + */ +ENGINE *ENGINE_new(void); +int ENGINE_free(ENGINE *e); +int ENGINE_up_ref(ENGINE *e); +int ENGINE_set_id(ENGINE *e, const char *id); +int ENGINE_set_name(ENGINE *e, const char *name); +int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); +int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); +int ENGINE_set_ECDH(ENGINE *e, const ECDH_METHOD *ecdh_meth); +int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth); +int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); +int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); +int ENGINE_set_STORE(ENGINE *e, const STORE_METHOD *store_meth); +int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); +int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); +int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); +int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f); +int ENGINE_set_load_privkey_function(ENGINE *e, + ENGINE_LOAD_KEY_PTR loadpriv_f); +int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f); +int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, + ENGINE_SSL_CLIENT_CERT_PTR + loadssl_f); +int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f); +int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f); +int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f); +int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f); +int ENGINE_set_flags(ENGINE *e, int flags); +int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); +/* These functions allow control over any per-structure ENGINE data. */ +int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); +void *ENGINE_get_ex_data(const ENGINE *e, int idx); + +/* + * This function cleans up anything that needs it. Eg. the ENGINE_add() + * function automatically ensures the list cleanup function is registered to + * be called from ENGINE_cleanup(). Similarly, all ENGINE_register_*** + * functions ensure ENGINE_cleanup() will clean up after them. + */ +void ENGINE_cleanup(void); + +/* + * These return values from within the ENGINE structure. These can be useful + * with functional references as well as structural references - it depends + * which you obtained. Using the result for functional purposes if you only + * obtained a structural reference may be problematic! + */ +const char *ENGINE_get_id(const ENGINE *e); +const char *ENGINE_get_name(const ENGINE *e); +const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); +const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); +const ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e); +const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e); +const DH_METHOD *ENGINE_get_DH(const ENGINE *e); +const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); +const STORE_METHOD *ENGINE_get_STORE(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e); +ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e); +ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE + *e); +ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e); +ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e); +ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e); +ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e); +const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); +const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid); +const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, + const char *str, + int len); +const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, + const char *str, + int len); +const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e); +int ENGINE_get_flags(const ENGINE *e); + +/* + * FUNCTIONAL functions. These functions deal with ENGINE structures that + * have (or will) be initialised for use. Broadly speaking, the structural + * functions are useful for iterating the list of available engine types, + * creating new engine types, and other "list" operations. These functions + * actually deal with ENGINEs that are to be used. As such these functions + * can fail (if applicable) when particular engines are unavailable - eg. if + * a hardware accelerator is not attached or not functioning correctly. Each + * ENGINE has 2 reference counts; structural and functional. Every time a + * functional reference is obtained or released, a corresponding structural + * reference is automatically obtained or released too. + */ + +/* + * Initialise a engine type for use (or up its reference count if it's + * already in use). This will fail if the engine is not currently operational + * and cannot initialise. + */ +int ENGINE_init(ENGINE *e); +/* + * Free a functional reference to a engine type. This does not require a + * corresponding call to ENGINE_free as it also releases a structural + * reference. + */ +int ENGINE_finish(ENGINE *e); + +/* + * The following functions handle keys that are stored in some secondary + * location, handled by the engine. The storage may be on a card or + * whatever. + */ +EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, + STACK_OF(X509_NAME) *ca_dn, X509 **pcert, + EVP_PKEY **ppkey, STACK_OF(X509) **pother, + UI_METHOD *ui_method, void *callback_data); + +/* + * This returns a pointer for the current ENGINE structure that is (by + * default) performing any RSA operations. The value returned is an + * incremented reference, so it should be free'd (ENGINE_finish) before it is + * discarded. + */ +ENGINE *ENGINE_get_default_RSA(void); +/* Same for the other "methods" */ +ENGINE *ENGINE_get_default_DSA(void); +ENGINE *ENGINE_get_default_ECDH(void); +ENGINE *ENGINE_get_default_ECDSA(void); +ENGINE *ENGINE_get_default_DH(void); +ENGINE *ENGINE_get_default_RAND(void); +/* + * These functions can be used to get a functional reference to perform + * ciphering or digesting corresponding to "nid". + */ +ENGINE *ENGINE_get_cipher_engine(int nid); +ENGINE *ENGINE_get_digest_engine(int nid); +ENGINE *ENGINE_get_pkey_meth_engine(int nid); +ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid); + +/* + * This sets a new default ENGINE structure for performing RSA operations. If + * the result is non-zero (success) then the ENGINE structure will have had + * its reference count up'd so the caller should still free their own + * reference 'e'. + */ +int ENGINE_set_default_RSA(ENGINE *e); +int ENGINE_set_default_string(ENGINE *e, const char *def_list); +/* Same for the other "methods" */ +int ENGINE_set_default_DSA(ENGINE *e); +int ENGINE_set_default_ECDH(ENGINE *e); +int ENGINE_set_default_ECDSA(ENGINE *e); +int ENGINE_set_default_DH(ENGINE *e); +int ENGINE_set_default_RAND(ENGINE *e); +int ENGINE_set_default_ciphers(ENGINE *e); +int ENGINE_set_default_digests(ENGINE *e); +int ENGINE_set_default_pkey_meths(ENGINE *e); +int ENGINE_set_default_pkey_asn1_meths(ENGINE *e); + +/* + * The combination "set" - the flags are bitwise "OR"d from the + * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()" + * function, this function can result in unnecessary static linkage. If your + * application requires only specific functionality, consider using more + * selective functions. + */ +int ENGINE_set_default(ENGINE *e, unsigned int flags); + +void ENGINE_add_conf_module(void); + +/* Deprecated functions ... */ +/* int ENGINE_clear_defaults(void); */ + +/**************************/ +/* DYNAMIC ENGINE SUPPORT */ +/**************************/ + +/* Binary/behaviour compatibility levels */ +# define OSSL_DYNAMIC_VERSION (unsigned long)0x00020000 +/* + * Binary versions older than this are too old for us (whether we're a loader + * or a loadee) + */ +# define OSSL_DYNAMIC_OLDEST (unsigned long)0x00020000 + +/* + * When compiling an ENGINE entirely as an external shared library, loadable + * by the "dynamic" ENGINE, these types are needed. The 'dynamic_fns' + * structure type provides the calling application's (or library's) error + * functionality and memory management function pointers to the loaded + * library. These should be used/set in the loaded library code so that the + * loading application's 'state' will be used/changed in all operations. The + * 'static_state' pointer allows the loaded library to know if it shares the + * same static data as the calling application (or library), and thus whether + * these callbacks need to be set or not. + */ +typedef void *(*dyn_MEM_malloc_cb) (size_t); +typedef void *(*dyn_MEM_realloc_cb) (void *, size_t); +typedef void (*dyn_MEM_free_cb) (void *); +typedef struct st_dynamic_MEM_fns { + dyn_MEM_malloc_cb malloc_cb; + dyn_MEM_realloc_cb realloc_cb; + dyn_MEM_free_cb free_cb; +} dynamic_MEM_fns; +/* + * FIXME: Perhaps the memory and locking code (crypto.h) should declare and + * use these types so we (and any other dependant code) can simplify a bit?? + */ +typedef void (*dyn_lock_locking_cb) (int, int, const char *, int); +typedef int (*dyn_lock_add_lock_cb) (int *, int, int, const char *, int); +typedef struct CRYPTO_dynlock_value *(*dyn_dynlock_create_cb) (const char *, + int); +typedef void (*dyn_dynlock_lock_cb) (int, struct CRYPTO_dynlock_value *, + const char *, int); +typedef void (*dyn_dynlock_destroy_cb) (struct CRYPTO_dynlock_value *, + const char *, int); +typedef struct st_dynamic_LOCK_fns { + dyn_lock_locking_cb lock_locking_cb; + dyn_lock_add_lock_cb lock_add_lock_cb; + dyn_dynlock_create_cb dynlock_create_cb; + dyn_dynlock_lock_cb dynlock_lock_cb; + dyn_dynlock_destroy_cb dynlock_destroy_cb; +} dynamic_LOCK_fns; +/* The top-level structure */ +typedef struct st_dynamic_fns { + void *static_state; + const ERR_FNS *err_fns; + const CRYPTO_EX_DATA_IMPL *ex_data_fns; + dynamic_MEM_fns mem_fns; + dynamic_LOCK_fns lock_fns; +} dynamic_fns; + +/* + * The version checking function should be of this prototype. NB: The + * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading + * code. If this function returns zero, it indicates a (potential) version + * incompatibility and the loaded library doesn't believe it can proceed. + * Otherwise, the returned value is the (latest) version supported by the + * loading library. The loader may still decide that the loaded code's + * version is unsatisfactory and could veto the load. The function is + * expected to be implemented with the symbol name "v_check", and a default + * implementation can be fully instantiated with + * IMPLEMENT_DYNAMIC_CHECK_FN(). + */ +typedef unsigned long (*dynamic_v_check_fn) (unsigned long ossl_version); +# define IMPLEMENT_DYNAMIC_CHECK_FN() \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ + if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ + return 0; } + +/* + * This function is passed the ENGINE structure to initialise with its own + * function and command settings. It should not adjust the structural or + * functional reference counts. If this function returns zero, (a) the load + * will be aborted, (b) the previous ENGINE state will be memcpy'd back onto + * the structure, and (c) the shared library will be unloaded. So + * implementations should do their own internal cleanup in failure + * circumstances otherwise they could leak. The 'id' parameter, if non-NULL, + * represents the ENGINE id that the loader is looking for. If this is NULL, + * the shared library can choose to return failure or to initialise a + * 'default' ENGINE. If non-NULL, the shared library must initialise only an + * ENGINE matching the passed 'id'. The function is expected to be + * implemented with the symbol name "bind_engine". A standard implementation + * can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter + * 'fn' is a callback function that populates the ENGINE structure and + * returns an int value (zero for failure). 'fn' should have prototype; + * [static] int fn(ENGINE *e, const char *id); + */ +typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, + const dynamic_fns *fns); +# define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ + if(ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ + if(!CRYPTO_set_mem_functions(fns->mem_fns.malloc_cb, \ + fns->mem_fns.realloc_cb, fns->mem_fns.free_cb)) \ + return 0; \ + CRYPTO_set_locking_callback(fns->lock_fns.lock_locking_cb); \ + CRYPTO_set_add_lock_callback(fns->lock_fns.lock_add_lock_cb); \ + CRYPTO_set_dynlock_create_callback(fns->lock_fns.dynlock_create_cb); \ + CRYPTO_set_dynlock_lock_callback(fns->lock_fns.dynlock_lock_cb); \ + CRYPTO_set_dynlock_destroy_callback(fns->lock_fns.dynlock_destroy_cb); \ + if(!CRYPTO_set_ex_data_implementation(fns->ex_data_fns)) \ + return 0; \ + if(!ERR_set_implementation(fns->err_fns)) return 0; \ + skip_cbs: \ + if(!fn(e,id)) return 0; \ + return 1; } + +/* + * If the loading application (or library) and the loaded ENGINE library + * share the same static data (eg. they're both dynamically linked to the + * same libcrypto.so) we need a way to avoid trying to set system callbacks - + * this would fail, and for the same reason that it's unnecessary to try. If + * the loaded ENGINE has (or gets from through the loader) its own copy of + * the libcrypto static data, we will need to set the callbacks. The easiest + * way to detect this is to have a function that returns a pointer to some + * static data and let the loading application and loaded ENGINE compare + * their respective values. + */ +void *ENGINE_get_static_state(void); + +# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV) +void ENGINE_setup_bsd_cryptodev(void); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ENGINE_strings(void); + +/* Error codes for the ENGINE functions. */ + +/* Function codes. */ +# define ENGINE_F_DYNAMIC_CTRL 180 +# define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 +# define ENGINE_F_DYNAMIC_LOAD 182 +# define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 +# define ENGINE_F_ENGINE_ADD 105 +# define ENGINE_F_ENGINE_BY_ID 106 +# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 +# define ENGINE_F_ENGINE_CTRL 142 +# define ENGINE_F_ENGINE_CTRL_CMD 178 +# define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 +# define ENGINE_F_ENGINE_FINISH 107 +# define ENGINE_F_ENGINE_FREE_UTIL 108 +# define ENGINE_F_ENGINE_GET_CIPHER 185 +# define ENGINE_F_ENGINE_GET_DEFAULT_TYPE 177 +# define ENGINE_F_ENGINE_GET_DIGEST 186 +# define ENGINE_F_ENGINE_GET_NEXT 115 +# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 +# define ENGINE_F_ENGINE_GET_PKEY_METH 192 +# define ENGINE_F_ENGINE_GET_PREV 116 +# define ENGINE_F_ENGINE_INIT 119 +# define ENGINE_F_ENGINE_LIST_ADD 120 +# define ENGINE_F_ENGINE_LIST_REMOVE 121 +# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 +# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 +# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 +# define ENGINE_F_ENGINE_NEW 122 +# define ENGINE_F_ENGINE_REMOVE 123 +# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 +# define ENGINE_F_ENGINE_SET_DEFAULT_TYPE 126 +# define ENGINE_F_ENGINE_SET_ID 129 +# define ENGINE_F_ENGINE_SET_NAME 130 +# define ENGINE_F_ENGINE_TABLE_REGISTER 184 +# define ENGINE_F_ENGINE_UNLOAD_KEY 152 +# define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 +# define ENGINE_F_ENGINE_UP_REF 190 +# define ENGINE_F_INT_CTRL_HELPER 172 +# define ENGINE_F_INT_ENGINE_CONFIGURE 188 +# define ENGINE_F_INT_ENGINE_MODULE_INIT 187 +# define ENGINE_F_LOG_MESSAGE 141 + +/* Reason codes. */ +# define ENGINE_R_ALREADY_LOADED 100 +# define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133 +# define ENGINE_R_CMD_NOT_EXECUTABLE 134 +# define ENGINE_R_COMMAND_TAKES_INPUT 135 +# define ENGINE_R_COMMAND_TAKES_NO_INPUT 136 +# define ENGINE_R_CONFLICTING_ENGINE_ID 103 +# define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119 +# define ENGINE_R_DH_NOT_IMPLEMENTED 139 +# define ENGINE_R_DSA_NOT_IMPLEMENTED 140 +# define ENGINE_R_DSO_FAILURE 104 +# define ENGINE_R_DSO_NOT_FOUND 132 +# define ENGINE_R_ENGINES_SECTION_ERROR 148 +# define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102 +# define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105 +# define ENGINE_R_ENGINE_SECTION_ERROR 149 +# define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128 +# define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129 +# define ENGINE_R_FINISH_FAILED 106 +# define ENGINE_R_GET_HANDLE_FAILED 107 +# define ENGINE_R_ID_OR_NAME_MISSING 108 +# define ENGINE_R_INIT_FAILED 109 +# define ENGINE_R_INTERNAL_LIST_ERROR 110 +# define ENGINE_R_INVALID_ARGUMENT 143 +# define ENGINE_R_INVALID_CMD_NAME 137 +# define ENGINE_R_INVALID_CMD_NUMBER 138 +# define ENGINE_R_INVALID_INIT_VALUE 151 +# define ENGINE_R_INVALID_STRING 150 +# define ENGINE_R_NOT_INITIALISED 117 +# define ENGINE_R_NOT_LOADED 112 +# define ENGINE_R_NO_CONTROL_FUNCTION 120 +# define ENGINE_R_NO_INDEX 144 +# define ENGINE_R_NO_LOAD_FUNCTION 125 +# define ENGINE_R_NO_REFERENCE 130 +# define ENGINE_R_NO_SUCH_ENGINE 116 +# define ENGINE_R_NO_UNLOAD_FUNCTION 126 +# define ENGINE_R_PROVIDE_PARAMETERS 113 +# define ENGINE_R_RSA_NOT_IMPLEMENTED 141 +# define ENGINE_R_UNIMPLEMENTED_CIPHER 146 +# define ENGINE_R_UNIMPLEMENTED_DIGEST 147 +# define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101 +# define ENGINE_R_VERSION_INCOMPATIBILITY 145 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/err.h b/openssl/1.0/include/openssl/err.h new file mode 100644 index 0000000..f423656 --- /dev/null +++ b/openssl/1.0/include/openssl/err.h @@ -0,0 +1,390 @@ +/* crypto/err/err.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_ERR_H +# define HEADER_ERR_H + +# include + +# ifndef OPENSSL_NO_FP_API +# include +# include +# endif + +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# ifndef OPENSSL_NO_LHASH +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_NO_ERR +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) +# else +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) +# endif + +# include + +# define ERR_TXT_MALLOCED 0x01 +# define ERR_TXT_STRING 0x02 + +# define ERR_FLAG_MARK 0x01 + +# define ERR_NUM_ERRORS 16 +typedef struct err_state_st { + CRYPTO_THREADID tid; + int err_flags[ERR_NUM_ERRORS]; + unsigned long err_buffer[ERR_NUM_ERRORS]; + char *err_data[ERR_NUM_ERRORS]; + int err_data_flags[ERR_NUM_ERRORS]; + const char *err_file[ERR_NUM_ERRORS]; + int err_line[ERR_NUM_ERRORS]; + int top, bottom; +} ERR_STATE; + +/* library */ +# define ERR_LIB_NONE 1 +# define ERR_LIB_SYS 2 +# define ERR_LIB_BN 3 +# define ERR_LIB_RSA 4 +# define ERR_LIB_DH 5 +# define ERR_LIB_EVP 6 +# define ERR_LIB_BUF 7 +# define ERR_LIB_OBJ 8 +# define ERR_LIB_PEM 9 +# define ERR_LIB_DSA 10 +# define ERR_LIB_X509 11 +/* #define ERR_LIB_METH 12 */ +# define ERR_LIB_ASN1 13 +# define ERR_LIB_CONF 14 +# define ERR_LIB_CRYPTO 15 +# define ERR_LIB_EC 16 +# define ERR_LIB_SSL 20 +/* #define ERR_LIB_SSL23 21 */ +/* #define ERR_LIB_SSL2 22 */ +/* #define ERR_LIB_SSL3 23 */ +/* #define ERR_LIB_RSAREF 30 */ +/* #define ERR_LIB_PROXY 31 */ +# define ERR_LIB_BIO 32 +# define ERR_LIB_PKCS7 33 +# define ERR_LIB_X509V3 34 +# define ERR_LIB_PKCS12 35 +# define ERR_LIB_RAND 36 +# define ERR_LIB_DSO 37 +# define ERR_LIB_ENGINE 38 +# define ERR_LIB_OCSP 39 +# define ERR_LIB_UI 40 +# define ERR_LIB_COMP 41 +# define ERR_LIB_ECDSA 42 +# define ERR_LIB_ECDH 43 +# define ERR_LIB_STORE 44 +# define ERR_LIB_FIPS 45 +# define ERR_LIB_CMS 46 +# define ERR_LIB_TS 47 +# define ERR_LIB_HMAC 48 +# define ERR_LIB_JPAKE 49 + +# define ERR_LIB_USER 128 + +# define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),__FILE__,__LINE__) +# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__) +# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__) +# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__) +# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__) +# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__) +# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__) +# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__) +# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__) +# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__) +# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__) +# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__) +# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__) +# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__) +# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__) +# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__) +# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__) +# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__) +# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__) +# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__) +# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__) +# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__) +# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__) +# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__) +# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__) +# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__) +# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__) +# define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__) +# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__) +# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__) +# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__) +# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__) +# define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__) + +/* + * Borland C seems too stupid to be able to shift and do longs in the + * pre-processor :-( + */ +# define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \ + ((((unsigned long)f)&0xfffL)*0x1000)| \ + ((((unsigned long)r)&0xfffL))) +# define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL) +# define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL) +# define ERR_GET_REASON(l) (int)((l)&0xfffL) +# define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL) + +/* OS functions */ +# define SYS_F_FOPEN 1 +# define SYS_F_CONNECT 2 +# define SYS_F_GETSERVBYNAME 3 +# define SYS_F_SOCKET 4 +# define SYS_F_IOCTLSOCKET 5 +# define SYS_F_BIND 6 +# define SYS_F_LISTEN 7 +# define SYS_F_ACCEPT 8 +# define SYS_F_WSASTARTUP 9/* Winsock stuff */ +# define SYS_F_OPENDIR 10 +# define SYS_F_FREAD 11 +# define SYS_F_FFLUSH 18 + +/* reasons */ +# define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */ +# define ERR_R_BN_LIB ERR_LIB_BN/* 3 */ +# define ERR_R_RSA_LIB ERR_LIB_RSA/* 4 */ +# define ERR_R_DH_LIB ERR_LIB_DH/* 5 */ +# define ERR_R_EVP_LIB ERR_LIB_EVP/* 6 */ +# define ERR_R_BUF_LIB ERR_LIB_BUF/* 7 */ +# define ERR_R_OBJ_LIB ERR_LIB_OBJ/* 8 */ +# define ERR_R_PEM_LIB ERR_LIB_PEM/* 9 */ +# define ERR_R_DSA_LIB ERR_LIB_DSA/* 10 */ +# define ERR_R_X509_LIB ERR_LIB_X509/* 11 */ +# define ERR_R_ASN1_LIB ERR_LIB_ASN1/* 13 */ +# define ERR_R_CONF_LIB ERR_LIB_CONF/* 14 */ +# define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO/* 15 */ +# define ERR_R_EC_LIB ERR_LIB_EC/* 16 */ +# define ERR_R_SSL_LIB ERR_LIB_SSL/* 20 */ +# define ERR_R_BIO_LIB ERR_LIB_BIO/* 32 */ +# define ERR_R_PKCS7_LIB ERR_LIB_PKCS7/* 33 */ +# define ERR_R_X509V3_LIB ERR_LIB_X509V3/* 34 */ +# define ERR_R_PKCS12_LIB ERR_LIB_PKCS12/* 35 */ +# define ERR_R_RAND_LIB ERR_LIB_RAND/* 36 */ +# define ERR_R_DSO_LIB ERR_LIB_DSO/* 37 */ +# define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */ +# define ERR_R_OCSP_LIB ERR_LIB_OCSP/* 39 */ +# define ERR_R_UI_LIB ERR_LIB_UI/* 40 */ +# define ERR_R_COMP_LIB ERR_LIB_COMP/* 41 */ +# define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */ +# define ERR_R_ECDH_LIB ERR_LIB_ECDH/* 43 */ +# define ERR_R_STORE_LIB ERR_LIB_STORE/* 44 */ +# define ERR_R_TS_LIB ERR_LIB_TS/* 45 */ + +# define ERR_R_NESTED_ASN1_ERROR 58 +# define ERR_R_BAD_ASN1_OBJECT_HEADER 59 +# define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60 +# define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61 +# define ERR_R_ASN1_LENGTH_MISMATCH 62 +# define ERR_R_MISSING_ASN1_EOS 63 + +/* fatal error */ +# define ERR_R_FATAL 64 +# define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) +# define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) +# define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) +# define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) +# define ERR_R_DISABLED (5|ERR_R_FATAL) + +/* + * 99 is the maximum possible ERR_R_... code, higher values are reserved for + * the individual libraries + */ + +typedef struct ERR_string_data_st { + unsigned long error; + const char *string; +} ERR_STRING_DATA; + +void ERR_put_error(int lib, int func, int reason, const char *file, int line); +void ERR_set_error_data(char *data, int flags); + +unsigned long ERR_get_error(void); +unsigned long ERR_get_error_line(const char **file, int *line); +unsigned long ERR_get_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_error(void); +unsigned long ERR_peek_error_line(const char **file, int *line); +unsigned long ERR_peek_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_last_error(void); +unsigned long ERR_peek_last_error_line(const char **file, int *line); +unsigned long ERR_peek_last_error_line_data(const char **file, int *line, + const char **data, int *flags); +void ERR_clear_error(void); +char *ERR_error_string(unsigned long e, char *buf); +void ERR_error_string_n(unsigned long e, char *buf, size_t len); +const char *ERR_lib_error_string(unsigned long e); +const char *ERR_func_error_string(unsigned long e); +const char *ERR_reason_error_string(unsigned long e); +void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), + void *u); +# ifndef OPENSSL_NO_FP_API +void ERR_print_errors_fp(FILE *fp); +# endif +# ifndef OPENSSL_NO_BIO +void ERR_print_errors(BIO *bp); +# endif +void ERR_add_error_data(int num, ...); +void ERR_add_error_vdata(int num, va_list args); +void ERR_load_strings(int lib, ERR_STRING_DATA str[]); +void ERR_unload_strings(int lib, ERR_STRING_DATA str[]); +void ERR_load_ERR_strings(void); +void ERR_load_crypto_strings(void); +void ERR_free_strings(void); + +void ERR_remove_thread_state(const CRYPTO_THREADID *tid); +# ifndef OPENSSL_NO_DEPRECATED +void ERR_remove_state(unsigned long pid); /* if zero we look it up */ +# endif +ERR_STATE *ERR_get_state(void); + +# ifndef OPENSSL_NO_LHASH +LHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void); +LHASH_OF(ERR_STATE) *ERR_get_err_state_table(void); +void ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash); +# endif + +int ERR_get_next_error_library(void); + +int ERR_set_mark(void); +int ERR_pop_to_mark(void); + +/* Already defined in ossl_typ.h */ +/* typedef struct st_ERR_FNS ERR_FNS; */ +/* + * An application can use this function and provide the return value to + * loaded modules that should use the application's ERR state/functionality + */ +const ERR_FNS *ERR_get_implementation(void); +/* + * A loaded module should call this function prior to any ERR operations + * using the application's "ERR_FNS". + */ +int ERR_set_implementation(const ERR_FNS *fns); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/evp.h b/openssl/1.0/include/openssl/evp.h new file mode 100644 index 0000000..cf1de15 --- /dev/null +++ b/openssl/1.0/include/openssl/evp.h @@ -0,0 +1,1628 @@ +/* crypto/evp/evp.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ENVELOPE_H +# define HEADER_ENVELOPE_H + +# ifdef OPENSSL_ALGORITHM_DEFINES +# include +# else +# define OPENSSL_ALGORITHM_DEFINES +# include +# undef OPENSSL_ALGORITHM_DEFINES +# endif + +# include + +# include + +# ifndef OPENSSL_NO_BIO +# include +# endif + +/*- +#define EVP_RC2_KEY_SIZE 16 +#define EVP_RC4_KEY_SIZE 16 +#define EVP_BLOWFISH_KEY_SIZE 16 +#define EVP_CAST5_KEY_SIZE 16 +#define EVP_RC5_32_12_16_KEY_SIZE 16 +*/ +# define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ +# define EVP_MAX_KEY_LENGTH 64 +# define EVP_MAX_IV_LENGTH 16 +# define EVP_MAX_BLOCK_LENGTH 32 + +# define PKCS5_SALT_LEN 8 +/* Default PKCS#5 iteration count */ +# define PKCS5_DEFAULT_ITER 2048 + +# include + +# define EVP_PK_RSA 0x0001 +# define EVP_PK_DSA 0x0002 +# define EVP_PK_DH 0x0004 +# define EVP_PK_EC 0x0008 +# define EVP_PKT_SIGN 0x0010 +# define EVP_PKT_ENC 0x0020 +# define EVP_PKT_EXCH 0x0040 +# define EVP_PKS_RSA 0x0100 +# define EVP_PKS_DSA 0x0200 +# define EVP_PKS_EC 0x0400 + +# define EVP_PKEY_NONE NID_undef +# define EVP_PKEY_RSA NID_rsaEncryption +# define EVP_PKEY_RSA2 NID_rsa +# define EVP_PKEY_DSA NID_dsa +# define EVP_PKEY_DSA1 NID_dsa_2 +# define EVP_PKEY_DSA2 NID_dsaWithSHA +# define EVP_PKEY_DSA3 NID_dsaWithSHA1 +# define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 +# define EVP_PKEY_DH NID_dhKeyAgreement +# define EVP_PKEY_DHX NID_dhpublicnumber +# define EVP_PKEY_EC NID_X9_62_id_ecPublicKey +# define EVP_PKEY_HMAC NID_hmac +# define EVP_PKEY_CMAC NID_cmac + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Type needs to be a bit field Sub-type needs to be for variations on the + * method, as in, can it do arbitrary encryption.... + */ +struct evp_pkey_st { + int type; + int save_type; + int references; + const EVP_PKEY_ASN1_METHOD *ameth; + ENGINE *engine; + union { + char *ptr; +# ifndef OPENSSL_NO_RSA + struct rsa_st *rsa; /* RSA */ +# endif +# ifndef OPENSSL_NO_DSA + struct dsa_st *dsa; /* DSA */ +# endif +# ifndef OPENSSL_NO_DH + struct dh_st *dh; /* DH */ +# endif +# ifndef OPENSSL_NO_EC + struct ec_key_st *ec; /* ECC */ +# endif + } pkey; + int save_parameters; + STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ +} /* EVP_PKEY */ ; + +# define EVP_PKEY_MO_SIGN 0x0001 +# define EVP_PKEY_MO_VERIFY 0x0002 +# define EVP_PKEY_MO_ENCRYPT 0x0004 +# define EVP_PKEY_MO_DECRYPT 0x0008 + +# ifndef EVP_MD +struct env_md_st { + int type; + int pkey_type; + int md_size; + unsigned long flags; + int (*init) (EVP_MD_CTX *ctx); + int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); + int (*final) (EVP_MD_CTX *ctx, unsigned char *md); + int (*copy) (EVP_MD_CTX *to, const EVP_MD_CTX *from); + int (*cleanup) (EVP_MD_CTX *ctx); + /* FIXME: prototype these some day */ + int (*sign) (int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, void *key); + int (*verify) (int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, + void *key); + int required_pkey_type[5]; /* EVP_PKEY_xxx */ + int block_size; + int ctx_size; /* how big does the ctx->md_data need to be */ + /* control function */ + int (*md_ctrl) (EVP_MD_CTX *ctx, int cmd, int p1, void *p2); +} /* EVP_MD */ ; + +typedef int evp_sign_method(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigret, + unsigned int *siglen, void *key); +typedef int evp_verify_method(int type, const unsigned char *m, + unsigned int m_length, + const unsigned char *sigbuf, + unsigned int siglen, void *key); + +/* digest can only handle a single block */ +# define EVP_MD_FLAG_ONESHOT 0x0001 + +/* + * digest is a "clone" digest used + * which is a copy of an existing + * one for a specific public key type. + * EVP_dss1() etc + */ +# define EVP_MD_FLAG_PKEY_DIGEST 0x0002 + +/* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */ + +# define EVP_MD_FLAG_PKEY_METHOD_SIGNATURE 0x0004 + +/* DigestAlgorithmIdentifier flags... */ + +# define EVP_MD_FLAG_DIGALGID_MASK 0x0018 + +/* NULL or absent parameter accepted. Use NULL */ + +# define EVP_MD_FLAG_DIGALGID_NULL 0x0000 + +/* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ + +# define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 + +/* Custom handling via ctrl */ + +# define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 + +/* Note if suitable for use in FIPS mode */ +# define EVP_MD_FLAG_FIPS 0x0400 + +/* Digest ctrls */ + +# define EVP_MD_CTRL_DIGALGID 0x1 +# define EVP_MD_CTRL_MICALG 0x2 + +/* Minimum Algorithm specific ctrl value */ + +# define EVP_MD_CTRL_ALG_CTRL 0x1000 + +# define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} + +# ifndef OPENSSL_NO_DSA +# define EVP_PKEY_DSA_method (evp_sign_method *)DSA_sign, \ + (evp_verify_method *)DSA_verify, \ + {EVP_PKEY_DSA,EVP_PKEY_DSA2,EVP_PKEY_DSA3, \ + EVP_PKEY_DSA4,0} +# else +# define EVP_PKEY_DSA_method EVP_PKEY_NULL_method +# endif + +# ifndef OPENSSL_NO_ECDSA +# define EVP_PKEY_ECDSA_method (evp_sign_method *)ECDSA_sign, \ + (evp_verify_method *)ECDSA_verify, \ + {EVP_PKEY_EC,0,0,0} +# else +# define EVP_PKEY_ECDSA_method EVP_PKEY_NULL_method +# endif + +# ifndef OPENSSL_NO_RSA +# define EVP_PKEY_RSA_method (evp_sign_method *)RSA_sign, \ + (evp_verify_method *)RSA_verify, \ + {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} +# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method \ + (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, \ + (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, \ + {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} +# else +# define EVP_PKEY_RSA_method EVP_PKEY_NULL_method +# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method EVP_PKEY_NULL_method +# endif + +# endif /* !EVP_MD */ + +struct env_md_ctx_st { + const EVP_MD *digest; + ENGINE *engine; /* functional reference if 'digest' is + * ENGINE-provided */ + unsigned long flags; + void *md_data; + /* Public key context for sign/verify */ + EVP_PKEY_CTX *pctx; + /* Update function: usually copied from EVP_MD */ + int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); +} /* EVP_MD_CTX */ ; + +/* values for EVP_MD_CTX flags */ + +# define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be + * called once only */ +# define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been + * cleaned */ +# define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data + * in EVP_MD_CTX_cleanup */ +/* + * FIPS and pad options are ignored in 1.0.0, definitions are here so we + * don't accidentally reuse the values for other purposes. + */ + +# define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008/* Allow use of non FIPS + * digest in FIPS mode */ + +/* + * The following PAD options are also currently ignored in 1.0.0, digest + * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() + * instead. + */ +# define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */ +# define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */ +# define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */ +# define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */ + +# define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */ + +struct evp_cipher_st { + int nid; + int block_size; + /* Default value for variable length ciphers */ + int key_len; + int iv_len; + /* Various flags */ + unsigned long flags; + /* init key */ + int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key, + const unsigned char *iv, int enc); + /* encrypt/decrypt data */ + int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out, + const unsigned char *in, size_t inl); + /* cleanup ctx */ + int (*cleanup) (EVP_CIPHER_CTX *); + /* how big ctx->cipher_data needs to be */ + int ctx_size; + /* Populate a ASN1_TYPE with parameters */ + int (*set_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); + /* Get parameters from a ASN1_TYPE */ + int (*get_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); + /* Miscellaneous operations */ + int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr); + /* Application data */ + void *app_data; +} /* EVP_CIPHER */ ; + +/* Values for cipher flags */ + +/* Modes for ciphers */ + +# define EVP_CIPH_STREAM_CIPHER 0x0 +# define EVP_CIPH_ECB_MODE 0x1 +# define EVP_CIPH_CBC_MODE 0x2 +# define EVP_CIPH_CFB_MODE 0x3 +# define EVP_CIPH_OFB_MODE 0x4 +# define EVP_CIPH_CTR_MODE 0x5 +# define EVP_CIPH_GCM_MODE 0x6 +# define EVP_CIPH_CCM_MODE 0x7 +# define EVP_CIPH_XTS_MODE 0x10001 +# define EVP_CIPH_WRAP_MODE 0x10002 +# define EVP_CIPH_MODE 0xF0007 +/* Set if variable length cipher */ +# define EVP_CIPH_VARIABLE_LENGTH 0x8 +/* Set if the iv handling should be done by the cipher itself */ +# define EVP_CIPH_CUSTOM_IV 0x10 +/* Set if the cipher's init() function should be called if key is NULL */ +# define EVP_CIPH_ALWAYS_CALL_INIT 0x20 +/* Call ctrl() to init cipher parameters */ +# define EVP_CIPH_CTRL_INIT 0x40 +/* Don't use standard key length function */ +# define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80 +/* Don't use standard block padding */ +# define EVP_CIPH_NO_PADDING 0x100 +/* cipher handles random key generation */ +# define EVP_CIPH_RAND_KEY 0x200 +/* cipher has its own additional copying logic */ +# define EVP_CIPH_CUSTOM_COPY 0x400 +/* Allow use default ASN1 get/set iv */ +# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 +/* Buffer length in bits not bytes: CFB1 mode only */ +# define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 +/* Note if suitable for use in FIPS mode */ +# define EVP_CIPH_FLAG_FIPS 0x4000 +/* Allow non FIPS cipher in FIPS mode */ +# define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000 +/* + * Cipher handles any and all padding logic as well as finalisation. + */ +# define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000 +# define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000 +# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000 + +/* + * Cipher context flag to indicate we can handle wrap mode: if allowed in + * older applications it could overflow buffers. + */ + +# define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1 + +/* ctrl() values */ + +# define EVP_CTRL_INIT 0x0 +# define EVP_CTRL_SET_KEY_LENGTH 0x1 +# define EVP_CTRL_GET_RC2_KEY_BITS 0x2 +# define EVP_CTRL_SET_RC2_KEY_BITS 0x3 +# define EVP_CTRL_GET_RC5_ROUNDS 0x4 +# define EVP_CTRL_SET_RC5_ROUNDS 0x5 +# define EVP_CTRL_RAND_KEY 0x6 +# define EVP_CTRL_PBE_PRF_NID 0x7 +# define EVP_CTRL_COPY 0x8 +# define EVP_CTRL_GCM_SET_IVLEN 0x9 +# define EVP_CTRL_GCM_GET_TAG 0x10 +# define EVP_CTRL_GCM_SET_TAG 0x11 +# define EVP_CTRL_GCM_SET_IV_FIXED 0x12 +# define EVP_CTRL_GCM_IV_GEN 0x13 +# define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN +# define EVP_CTRL_CCM_GET_TAG EVP_CTRL_GCM_GET_TAG +# define EVP_CTRL_CCM_SET_TAG EVP_CTRL_GCM_SET_TAG +# define EVP_CTRL_CCM_SET_L 0x14 +# define EVP_CTRL_CCM_SET_MSGLEN 0x15 +/* + * AEAD cipher deduces payload length and returns number of bytes required to + * store MAC and eventual padding. Subsequent call to EVP_Cipher even + * appends/verifies MAC. + */ +# define EVP_CTRL_AEAD_TLS1_AAD 0x16 +/* Used by composite AEAD ciphers, no-op in GCM, CCM... */ +# define EVP_CTRL_AEAD_SET_MAC_KEY 0x17 +/* Set the GCM invocation field, decrypt only */ +# define EVP_CTRL_GCM_SET_IV_INV 0x18 + +# define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19 +# define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a +# define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b +# define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c + +/* RFC 5246 defines additional data to be 13 bytes in length */ +# define EVP_AEAD_TLS1_AAD_LEN 13 + +typedef struct { + unsigned char *out; + const unsigned char *inp; + size_t len; + unsigned int interleave; +} EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM; + +/* GCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +# define EVP_GCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +# define EVP_GCM_TLS_EXPLICIT_IV_LEN 8 +/* Length of tag for TLS */ +# define EVP_GCM_TLS_TAG_LEN 16 + +typedef struct evp_cipher_info_st { + const EVP_CIPHER *cipher; + unsigned char iv[EVP_MAX_IV_LENGTH]; +} EVP_CIPHER_INFO; + +struct evp_cipher_ctx_st { + const EVP_CIPHER *cipher; + ENGINE *engine; /* functional reference if 'cipher' is + * ENGINE-provided */ + int encrypt; /* encrypt or decrypt */ + int buf_len; /* number we have left */ + unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */ + unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */ + unsigned char buf[EVP_MAX_BLOCK_LENGTH]; /* saved partial block */ + int num; /* used by cfb/ofb/ctr mode */ + void *app_data; /* application stuff */ + int key_len; /* May change for variable length cipher */ + unsigned long flags; /* Various flags */ + void *cipher_data; /* per EVP data */ + int final_used; + int block_mask; + unsigned char final[EVP_MAX_BLOCK_LENGTH]; /* possible final block */ +} /* EVP_CIPHER_CTX */ ; + +typedef struct evp_Encode_Ctx_st { + /* number saved in a partial encode/decode */ + int num; + /* + * The length is either the output line length (in input bytes) or the + * shortest input line length that is ok. Once decoding begins, the + * length is adjusted up each time a longer line is decoded + */ + int length; + /* data to encode */ + unsigned char enc_data[80]; + /* number read on current line */ + int line_num; + int expect_nl; +} EVP_ENCODE_CTX; + +/* Password based encryption function */ +typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, + int passlen, ASN1_TYPE *param, + const EVP_CIPHER *cipher, const EVP_MD *md, + int en_de); + +# ifndef OPENSSL_NO_RSA +# define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ + (char *)(rsa)) +# endif + +# ifndef OPENSSL_NO_DSA +# define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ + (char *)(dsa)) +# endif + +# ifndef OPENSSL_NO_DH +# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ + (char *)(dh)) +# endif + +# ifndef OPENSSL_NO_EC +# define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ + (char *)(eckey)) +# endif + +/* Add some extra combinations */ +# define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) +# define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) +# define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) +# define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) + +int EVP_MD_type(const EVP_MD *md); +# define EVP_MD_nid(e) EVP_MD_type(e) +# define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) +int EVP_MD_pkey_type(const EVP_MD *md); +int EVP_MD_size(const EVP_MD *md); +int EVP_MD_block_size(const EVP_MD *md); +unsigned long EVP_MD_flags(const EVP_MD *md); + +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); +# define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) + +int EVP_CIPHER_nid(const EVP_CIPHER *cipher); +# define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) +int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); +int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); +int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); +unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); +# define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) + +const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); +void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); +void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); +# define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) +unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); +# define EVP_CIPHER_CTX_mode(e) (EVP_CIPHER_CTX_flags(e) & EVP_CIPH_MODE) + +# define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80) +# define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80) + +# define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_SignInit(a,b) EVP_DigestInit(a,b) +# define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_VerifyInit(a,b) EVP_DigestInit(a,b) +# define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) +# define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) +# define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) + +# ifdef CONST_STRICT +void BIO_set_md(BIO *, const EVP_MD *md); +# else +# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md) +# endif +# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp) +# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp) +# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp) +# define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) +# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp) + +int EVP_Cipher(EVP_CIPHER_CTX *c, + unsigned char *out, const unsigned char *in, unsigned int inl); + +# define EVP_add_cipher_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_add_digest_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_delete_cipher_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS); +# define EVP_delete_digest_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); + +void EVP_MD_CTX_init(EVP_MD_CTX *ctx); +int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); +EVP_MD_CTX *EVP_MD_CTX_create(void); +void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); +int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); +void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); +void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); +int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); +int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); +int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); +int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); +int EVP_Digest(const void *data, size_t count, + unsigned char *md, unsigned int *size, const EVP_MD *type, + ENGINE *impl); + +int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); +int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); +int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); + +int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); +int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, + const char *prompt, int verify); +void EVP_set_pw_prompt(const char *prompt); +char *EVP_get_pw_prompt(void); + +int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, + const unsigned char *salt, const unsigned char *data, + int datal, int count, unsigned char *key, + unsigned char *iv); + +void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); +void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); +int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); + +int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, + const unsigned char *iv); +int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, + const unsigned char *iv); +int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); +int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); + +int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv, + int enc); +int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, + const unsigned char *iv, int enc); +int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); +int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); + +int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, + EVP_PKEY *pkey); + +int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, + unsigned int siglen, EVP_PKEY *pkey); + +int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +int EVP_DigestSignFinal(EVP_MD_CTX *ctx, + unsigned char *sigret, size_t *siglen); + +int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, + const unsigned char *sig, size_t siglen); + +int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + const unsigned char *ek, int ekl, const unsigned char *iv, + EVP_PKEY *priv); +int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + unsigned char **ek, int *ekl, unsigned char *iv, + EVP_PKEY **pubk, int npubk); +int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); +void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); + +void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); +int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned + char *out, int *outl); +int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); + +void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); +int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); +EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); +void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); +int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); +int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); +int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); +int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); + +# ifndef OPENSSL_NO_BIO +BIO_METHOD *BIO_f_md(void); +BIO_METHOD *BIO_f_base64(void); +BIO_METHOD *BIO_f_cipher(void); +BIO_METHOD *BIO_f_reliable(void); +void BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, + const unsigned char *i, int enc); +# endif + +const EVP_MD *EVP_md_null(void); +# ifndef OPENSSL_NO_MD2 +const EVP_MD *EVP_md2(void); +# endif +# ifndef OPENSSL_NO_MD4 +const EVP_MD *EVP_md4(void); +# endif +# ifndef OPENSSL_NO_MD5 +const EVP_MD *EVP_md5(void); +# endif +# ifndef OPENSSL_NO_SHA +const EVP_MD *EVP_sha(void); +const EVP_MD *EVP_sha1(void); +const EVP_MD *EVP_dss(void); +const EVP_MD *EVP_dss1(void); +const EVP_MD *EVP_ecdsa(void); +# endif +# ifndef OPENSSL_NO_SHA256 +const EVP_MD *EVP_sha224(void); +const EVP_MD *EVP_sha256(void); +# endif +# ifndef OPENSSL_NO_SHA512 +const EVP_MD *EVP_sha384(void); +const EVP_MD *EVP_sha512(void); +# endif +# ifndef OPENSSL_NO_MDC2 +const EVP_MD *EVP_mdc2(void); +# endif +# ifndef OPENSSL_NO_RIPEMD +const EVP_MD *EVP_ripemd160(void); +# endif +# ifndef OPENSSL_NO_WHIRLPOOL +const EVP_MD *EVP_whirlpool(void); +# endif +const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ +# ifndef OPENSSL_NO_DES +const EVP_CIPHER *EVP_des_ecb(void); +const EVP_CIPHER *EVP_des_ede(void); +const EVP_CIPHER *EVP_des_ede3(void); +const EVP_CIPHER *EVP_des_ede_ecb(void); +const EVP_CIPHER *EVP_des_ede3_ecb(void); +const EVP_CIPHER *EVP_des_cfb64(void); +# define EVP_des_cfb EVP_des_cfb64 +const EVP_CIPHER *EVP_des_cfb1(void); +const EVP_CIPHER *EVP_des_cfb8(void); +const EVP_CIPHER *EVP_des_ede_cfb64(void); +# define EVP_des_ede_cfb EVP_des_ede_cfb64 +# if 0 +const EVP_CIPHER *EVP_des_ede_cfb1(void); +const EVP_CIPHER *EVP_des_ede_cfb8(void); +# endif +const EVP_CIPHER *EVP_des_ede3_cfb64(void); +# define EVP_des_ede3_cfb EVP_des_ede3_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb1(void); +const EVP_CIPHER *EVP_des_ede3_cfb8(void); +const EVP_CIPHER *EVP_des_ofb(void); +const EVP_CIPHER *EVP_des_ede_ofb(void); +const EVP_CIPHER *EVP_des_ede3_ofb(void); +const EVP_CIPHER *EVP_des_cbc(void); +const EVP_CIPHER *EVP_des_ede_cbc(void); +const EVP_CIPHER *EVP_des_ede3_cbc(void); +const EVP_CIPHER *EVP_desx_cbc(void); +const EVP_CIPHER *EVP_des_ede3_wrap(void); +/* + * This should now be supported through the dev_crypto ENGINE. But also, why + * are rc4 and md5 declarations made here inside a "NO_DES" precompiler + * branch? + */ +# if 0 +# ifdef OPENSSL_OPENBSD_DEV_CRYPTO +const EVP_CIPHER *EVP_dev_crypto_des_ede3_cbc(void); +const EVP_CIPHER *EVP_dev_crypto_rc4(void); +const EVP_MD *EVP_dev_crypto_md5(void); +# endif +# endif +# endif +# ifndef OPENSSL_NO_RC4 +const EVP_CIPHER *EVP_rc4(void); +const EVP_CIPHER *EVP_rc4_40(void); +# ifndef OPENSSL_NO_MD5 +const EVP_CIPHER *EVP_rc4_hmac_md5(void); +# endif +# endif +# ifndef OPENSSL_NO_IDEA +const EVP_CIPHER *EVP_idea_ecb(void); +const EVP_CIPHER *EVP_idea_cfb64(void); +# define EVP_idea_cfb EVP_idea_cfb64 +const EVP_CIPHER *EVP_idea_ofb(void); +const EVP_CIPHER *EVP_idea_cbc(void); +# endif +# ifndef OPENSSL_NO_RC2 +const EVP_CIPHER *EVP_rc2_ecb(void); +const EVP_CIPHER *EVP_rc2_cbc(void); +const EVP_CIPHER *EVP_rc2_40_cbc(void); +const EVP_CIPHER *EVP_rc2_64_cbc(void); +const EVP_CIPHER *EVP_rc2_cfb64(void); +# define EVP_rc2_cfb EVP_rc2_cfb64 +const EVP_CIPHER *EVP_rc2_ofb(void); +# endif +# ifndef OPENSSL_NO_BF +const EVP_CIPHER *EVP_bf_ecb(void); +const EVP_CIPHER *EVP_bf_cbc(void); +const EVP_CIPHER *EVP_bf_cfb64(void); +# define EVP_bf_cfb EVP_bf_cfb64 +const EVP_CIPHER *EVP_bf_ofb(void); +# endif +# ifndef OPENSSL_NO_CAST +const EVP_CIPHER *EVP_cast5_ecb(void); +const EVP_CIPHER *EVP_cast5_cbc(void); +const EVP_CIPHER *EVP_cast5_cfb64(void); +# define EVP_cast5_cfb EVP_cast5_cfb64 +const EVP_CIPHER *EVP_cast5_ofb(void); +# endif +# ifndef OPENSSL_NO_RC5 +const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void); +const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void); +const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void); +# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64 +const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void); +# endif +# ifndef OPENSSL_NO_AES +const EVP_CIPHER *EVP_aes_128_ecb(void); +const EVP_CIPHER *EVP_aes_128_cbc(void); +const EVP_CIPHER *EVP_aes_128_cfb1(void); +const EVP_CIPHER *EVP_aes_128_cfb8(void); +const EVP_CIPHER *EVP_aes_128_cfb128(void); +# define EVP_aes_128_cfb EVP_aes_128_cfb128 +const EVP_CIPHER *EVP_aes_128_ofb(void); +const EVP_CIPHER *EVP_aes_128_ctr(void); +const EVP_CIPHER *EVP_aes_128_ccm(void); +const EVP_CIPHER *EVP_aes_128_gcm(void); +const EVP_CIPHER *EVP_aes_128_xts(void); +const EVP_CIPHER *EVP_aes_128_wrap(void); +const EVP_CIPHER *EVP_aes_192_ecb(void); +const EVP_CIPHER *EVP_aes_192_cbc(void); +const EVP_CIPHER *EVP_aes_192_cfb1(void); +const EVP_CIPHER *EVP_aes_192_cfb8(void); +const EVP_CIPHER *EVP_aes_192_cfb128(void); +# define EVP_aes_192_cfb EVP_aes_192_cfb128 +const EVP_CIPHER *EVP_aes_192_ofb(void); +const EVP_CIPHER *EVP_aes_192_ctr(void); +const EVP_CIPHER *EVP_aes_192_ccm(void); +const EVP_CIPHER *EVP_aes_192_gcm(void); +const EVP_CIPHER *EVP_aes_192_wrap(void); +const EVP_CIPHER *EVP_aes_256_ecb(void); +const EVP_CIPHER *EVP_aes_256_cbc(void); +const EVP_CIPHER *EVP_aes_256_cfb1(void); +const EVP_CIPHER *EVP_aes_256_cfb8(void); +const EVP_CIPHER *EVP_aes_256_cfb128(void); +# define EVP_aes_256_cfb EVP_aes_256_cfb128 +const EVP_CIPHER *EVP_aes_256_ofb(void); +const EVP_CIPHER *EVP_aes_256_ctr(void); +const EVP_CIPHER *EVP_aes_256_ccm(void); +const EVP_CIPHER *EVP_aes_256_gcm(void); +const EVP_CIPHER *EVP_aes_256_xts(void); +const EVP_CIPHER *EVP_aes_256_wrap(void); +# if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1) +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); +# endif +# ifndef OPENSSL_NO_SHA256 +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); +# endif +# endif +# ifndef OPENSSL_NO_CAMELLIA +const EVP_CIPHER *EVP_camellia_128_ecb(void); +const EVP_CIPHER *EVP_camellia_128_cbc(void); +const EVP_CIPHER *EVP_camellia_128_cfb1(void); +const EVP_CIPHER *EVP_camellia_128_cfb8(void); +const EVP_CIPHER *EVP_camellia_128_cfb128(void); +# define EVP_camellia_128_cfb EVP_camellia_128_cfb128 +const EVP_CIPHER *EVP_camellia_128_ofb(void); +const EVP_CIPHER *EVP_camellia_192_ecb(void); +const EVP_CIPHER *EVP_camellia_192_cbc(void); +const EVP_CIPHER *EVP_camellia_192_cfb1(void); +const EVP_CIPHER *EVP_camellia_192_cfb8(void); +const EVP_CIPHER *EVP_camellia_192_cfb128(void); +# define EVP_camellia_192_cfb EVP_camellia_192_cfb128 +const EVP_CIPHER *EVP_camellia_192_ofb(void); +const EVP_CIPHER *EVP_camellia_256_ecb(void); +const EVP_CIPHER *EVP_camellia_256_cbc(void); +const EVP_CIPHER *EVP_camellia_256_cfb1(void); +const EVP_CIPHER *EVP_camellia_256_cfb8(void); +const EVP_CIPHER *EVP_camellia_256_cfb128(void); +# define EVP_camellia_256_cfb EVP_camellia_256_cfb128 +const EVP_CIPHER *EVP_camellia_256_ofb(void); +# endif + +# ifndef OPENSSL_NO_SEED +const EVP_CIPHER *EVP_seed_ecb(void); +const EVP_CIPHER *EVP_seed_cbc(void); +const EVP_CIPHER *EVP_seed_cfb128(void); +# define EVP_seed_cfb EVP_seed_cfb128 +const EVP_CIPHER *EVP_seed_ofb(void); +# endif + +void OPENSSL_add_all_algorithms_noconf(void); +void OPENSSL_add_all_algorithms_conf(void); + +# ifdef OPENSSL_LOAD_CONF +# define OpenSSL_add_all_algorithms() \ + OPENSSL_add_all_algorithms_conf() +# else +# define OpenSSL_add_all_algorithms() \ + OPENSSL_add_all_algorithms_noconf() +# endif + +void OpenSSL_add_all_ciphers(void); +void OpenSSL_add_all_digests(void); +# define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() +# define SSLeay_add_all_ciphers() OpenSSL_add_all_ciphers() +# define SSLeay_add_all_digests() OpenSSL_add_all_digests() + +int EVP_add_cipher(const EVP_CIPHER *cipher); +int EVP_add_digest(const EVP_MD *digest); + +const EVP_CIPHER *EVP_get_cipherbyname(const char *name); +const EVP_MD *EVP_get_digestbyname(const char *name); +void EVP_cleanup(void); + +void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_CIPHER_do_all_sorted(void (*fn) + (const EVP_CIPHER *ciph, const char *from, + const char *to, void *x), void *arg); + +void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_MD_do_all_sorted(void (*fn) + (const EVP_MD *ciph, const char *from, + const char *to, void *x), void *arg); + +int EVP_PKEY_decrypt_old(unsigned char *dec_key, + const unsigned char *enc_key, int enc_key_len, + EVP_PKEY *private_key); +int EVP_PKEY_encrypt_old(unsigned char *enc_key, + const unsigned char *key, int key_len, + EVP_PKEY *pub_key); +int EVP_PKEY_type(int type); +int EVP_PKEY_id(const EVP_PKEY *pkey); +int EVP_PKEY_base_id(const EVP_PKEY *pkey); +int EVP_PKEY_bits(EVP_PKEY *pkey); +int EVP_PKEY_size(EVP_PKEY *pkey); +int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); +int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); +int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); +void *EVP_PKEY_get0(EVP_PKEY *pkey); + +# ifndef OPENSSL_NO_RSA +struct rsa_st; +int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); +struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DSA +struct dsa_st; +int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); +struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DH +struct dh_st; +int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); +struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_EC +struct ec_key_st; +int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); +struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); +# endif + +EVP_PKEY *EVP_PKEY_new(void); +void EVP_PKEY_free(EVP_PKEY *pkey); + +EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); + +EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); + +int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); +int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); +int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode); +int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); + +int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); + +int EVP_CIPHER_type(const EVP_CIPHER *ctx); + +/* calls methods */ +int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* These are used by EVP_CIPHER methods */ +int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* PKCS5 password based encryption */ +int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); +int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + int keylen, unsigned char *out); +int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + const EVP_MD *digest, int keylen, unsigned char *out); +int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); + +void PKCS5_PBE_add(void); + +int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, + ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); + +/* PBE type */ + +/* Can appear as the outermost AlgorithmIdentifier */ +# define EVP_PBE_TYPE_OUTER 0x0 +/* Is an PRF type OID */ +# define EVP_PBE_TYPE_PRF 0x1 + +int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, + int md_nid, EVP_PBE_KEYGEN *keygen); +int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, + EVP_PBE_KEYGEN *keygen); +int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, + EVP_PBE_KEYGEN **pkeygen); +void EVP_PBE_cleanup(void); + +# define ASN1_PKEY_ALIAS 0x1 +# define ASN1_PKEY_DYNAMIC 0x2 +# define ASN1_PKEY_SIGPARAM_NULL 0x4 + +# define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 +# define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 +# define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 +# define ASN1_PKEY_CTRL_CMS_SIGN 0x5 +# define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 +# define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8 + +int EVP_PKEY_asn1_get_count(void); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, + const char *str, int len); +int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); +int EVP_PKEY_asn1_add_alias(int to, int from); +int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, + int *ppkey_flags, const char **pinfo, + const char **ppem_str, + const EVP_PKEY_ASN1_METHOD *ameth); + +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(EVP_PKEY *pkey); +EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, + const char *pem_str, + const char *info); +void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, + const EVP_PKEY_ASN1_METHOD *src); +void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); +void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, + int (*pub_decode) (EVP_PKEY *pk, + X509_PUBKEY *pub), + int (*pub_encode) (X509_PUBKEY *pub, + const EVP_PKEY *pk), + int (*pub_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*pub_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx), + int (*pkey_size) (const EVP_PKEY *pk), + int (*pkey_bits) (const EVP_PKEY *pk)); +void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, + int (*priv_decode) (EVP_PKEY *pk, + PKCS8_PRIV_KEY_INFO + *p8inf), + int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, + const EVP_PKEY *pk), + int (*priv_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); +void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, + int (*param_decode) (EVP_PKEY *pkey, + const unsigned char **pder, + int derlen), + int (*param_encode) (const EVP_PKEY *pkey, + unsigned char **pder), + int (*param_missing) (const EVP_PKEY *pk), + int (*param_copy) (EVP_PKEY *to, + const EVP_PKEY *from), + int (*param_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*param_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); + +void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, + void (*pkey_free) (EVP_PKEY *pkey)); +void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_ctrl) (EVP_PKEY *pkey, int op, + long arg1, void *arg2)); +void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, + int (*item_verify) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *a, + ASN1_BIT_STRING *sig, + EVP_PKEY *pkey), + int (*item_sign) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *alg1, + X509_ALGOR *alg2, + ASN1_BIT_STRING *sig)); + +# define EVP_PKEY_OP_UNDEFINED 0 +# define EVP_PKEY_OP_PARAMGEN (1<<1) +# define EVP_PKEY_OP_KEYGEN (1<<2) +# define EVP_PKEY_OP_SIGN (1<<3) +# define EVP_PKEY_OP_VERIFY (1<<4) +# define EVP_PKEY_OP_VERIFYRECOVER (1<<5) +# define EVP_PKEY_OP_SIGNCTX (1<<6) +# define EVP_PKEY_OP_VERIFYCTX (1<<7) +# define EVP_PKEY_OP_ENCRYPT (1<<8) +# define EVP_PKEY_OP_DECRYPT (1<<9) +# define EVP_PKEY_OP_DERIVE (1<<10) + +# define EVP_PKEY_OP_TYPE_SIG \ + (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ + | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) + +# define EVP_PKEY_OP_TYPE_CRYPT \ + (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) + +# define EVP_PKEY_OP_TYPE_NOGEN \ + (EVP_PKEY_OP_SIG | EVP_PKEY_OP_CRYPT | EVP_PKEY_OP_DERIVE) + +# define EVP_PKEY_OP_TYPE_GEN \ + (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) + +# define EVP_PKEY_CTX_set_signature_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_GET_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTRL_MD 1 +# define EVP_PKEY_CTRL_PEER_KEY 2 + +# define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 +# define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 + +# define EVP_PKEY_CTRL_PKCS7_SIGN 5 + +# define EVP_PKEY_CTRL_SET_MAC_KEY 6 + +# define EVP_PKEY_CTRL_DIGESTINIT 7 + +/* Used by GOST key encryption in TLS */ +# define EVP_PKEY_CTRL_SET_IV 8 + +# define EVP_PKEY_CTRL_CMS_ENCRYPT 9 +# define EVP_PKEY_CTRL_CMS_DECRYPT 10 +# define EVP_PKEY_CTRL_CMS_SIGN 11 + +# define EVP_PKEY_CTRL_CIPHER 12 + +# define EVP_PKEY_CTRL_GET_MD 13 + +# define EVP_PKEY_ALG_CTRL 0x1000 + +# define EVP_PKEY_FLAG_AUTOARGLEN 2 +/* + * Method handles all operations: don't assume any digest related defaults. + */ +# define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4 + +const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); +EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags); +void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, + const EVP_PKEY_METHOD *meth); +void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); +void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); +int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); + +EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, + int cmd, int p1, void *p2); +int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, + const char *value); + +int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); + +EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, + const unsigned char *key, int keylen); + +void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); +EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); + +EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); + +void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, + const unsigned char *sig, size_t siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, + unsigned char *rout, size_t *routlen, + const unsigned char *sig, size_t siglen); +int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); +int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); + +int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); +int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); + +typedef int EVP_PKEY_gen_cb (EVP_PKEY_CTX *ctx); + +int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); +int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); + +void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); +EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); + +void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, + int (*init) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, + int (*copy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, + void (*cleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, + int (*paramgen_init) (EVP_PKEY_CTX *ctx), + int (*paramgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, + int (*keygen_init) (EVP_PKEY_CTX *ctx), + int (*keygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, + int (*sign_init) (EVP_PKEY_CTX *ctx), + int (*sign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, + int (*verify_init) (EVP_PKEY_CTX *ctx), + int (*verify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, + int (*verify_recover_init) (EVP_PKEY_CTX + *ctx), + int (*verify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, + int (*signctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*signctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, + int (*verifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*verifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, + int (*encrypt_init) (EVP_PKEY_CTX *ctx), + int (*encryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, + int (*decrypt_init) (EVP_PKEY_CTX *ctx), + int (*decrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, + int (*derive_init) (EVP_PKEY_CTX *ctx), + int (*derive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, + int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (*ctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, + int (**pinit) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_copy(EVP_PKEY_METHOD *pmeth, + int (**pcopy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_get_cleanup(EVP_PKEY_METHOD *pmeth, + void (**pcleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD *pmeth, + int (**pparamgen_init) (EVP_PKEY_CTX *ctx), + int (**pparamgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth, + int (**pkeygen_init) (EVP_PKEY_CTX *ctx), + int (**pkeygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, + int (**psign_init) (EVP_PKEY_CTX *ctx), + int (**psign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD *pmeth, + int (**pverify_init) (EVP_PKEY_CTX *ctx), + int (**pverify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth, + int (**pverify_recover_init) (EVP_PKEY_CTX + *ctx), + int (**pverify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth, + int (**psignctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**psignctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth, + int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**pverifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth, + int (**pencrypt_init) (EVP_PKEY_CTX *ctx), + int (**pencryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, + int (**pdecrypt_init) (EVP_PKEY_CTX *ctx), + int (**pdecrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth, + int (**pderive_init) (EVP_PKEY_CTX *ctx), + int (**pderive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_get_ctrl(EVP_PKEY_METHOD *pmeth, + int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (**pctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_add_alg_module(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +void ERR_load_EVP_strings(void); + +/* Error codes for the EVP functions. */ + +/* Function codes. */ +# define EVP_F_AESNI_INIT_KEY 165 +# define EVP_F_AESNI_XTS_CIPHER 176 +# define EVP_F_AES_INIT_KEY 133 +# define EVP_F_AES_T4_INIT_KEY 178 +# define EVP_F_AES_XTS 172 +# define EVP_F_AES_XTS_CIPHER 175 +# define EVP_F_ALG_MODULE_INIT 177 +# define EVP_F_CAMELLIA_INIT_KEY 159 +# define EVP_F_CMAC_INIT 173 +# define EVP_F_CMLL_T4_INIT_KEY 179 +# define EVP_F_D2I_PKEY 100 +# define EVP_F_DO_SIGVER_INIT 161 +# define EVP_F_DSAPKEY2PKCS8 134 +# define EVP_F_DSA_PKEY2PKCS8 135 +# define EVP_F_ECDSA_PKEY2PKCS8 129 +# define EVP_F_ECKEY_PKEY2PKCS8 132 +# define EVP_F_EVP_CIPHERINIT_EX 123 +# define EVP_F_EVP_CIPHER_CTX_COPY 163 +# define EVP_F_EVP_CIPHER_CTX_CTRL 124 +# define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 +# define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DIGESTINIT_EX 128 +# define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_MD_CTX_COPY_EX 110 +# define EVP_F_EVP_MD_SIZE 162 +# define EVP_F_EVP_OPENINIT 102 +# define EVP_F_EVP_PBE_ALG_ADD 115 +# define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 +# define EVP_F_EVP_PBE_CIPHERINIT 116 +# define EVP_F_EVP_PKCS82PKEY 111 +# define EVP_F_EVP_PKCS82PKEY_BROKEN 136 +# define EVP_F_EVP_PKEY2PKCS8_BROKEN 113 +# define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 +# define EVP_F_EVP_PKEY_CTX_CTRL 137 +# define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 +# define EVP_F_EVP_PKEY_CTX_DUP 156 +# define EVP_F_EVP_PKEY_DECRYPT 104 +# define EVP_F_EVP_PKEY_DECRYPT_INIT 138 +# define EVP_F_EVP_PKEY_DECRYPT_OLD 151 +# define EVP_F_EVP_PKEY_DERIVE 153 +# define EVP_F_EVP_PKEY_DERIVE_INIT 154 +# define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 +# define EVP_F_EVP_PKEY_ENCRYPT 105 +# define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 +# define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 +# define EVP_F_EVP_PKEY_GET1_DH 119 +# define EVP_F_EVP_PKEY_GET1_DSA 120 +# define EVP_F_EVP_PKEY_GET1_ECDSA 130 +# define EVP_F_EVP_PKEY_GET1_EC_KEY 131 +# define EVP_F_EVP_PKEY_GET1_RSA 121 +# define EVP_F_EVP_PKEY_KEYGEN 146 +# define EVP_F_EVP_PKEY_KEYGEN_INIT 147 +# define EVP_F_EVP_PKEY_NEW 106 +# define EVP_F_EVP_PKEY_PARAMGEN 148 +# define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 +# define EVP_F_EVP_PKEY_SIGN 140 +# define EVP_F_EVP_PKEY_SIGN_INIT 141 +# define EVP_F_EVP_PKEY_VERIFY 142 +# define EVP_F_EVP_PKEY_VERIFY_INIT 143 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 +# define EVP_F_EVP_RIJNDAEL 126 +# define EVP_F_EVP_SIGNFINAL 107 +# define EVP_F_EVP_VERIFYFINAL 108 +# define EVP_F_FIPS_CIPHERINIT 166 +# define EVP_F_FIPS_CIPHER_CTX_COPY 170 +# define EVP_F_FIPS_CIPHER_CTX_CTRL 167 +# define EVP_F_FIPS_CIPHER_CTX_SET_KEY_LENGTH 171 +# define EVP_F_FIPS_DIGESTINIT 168 +# define EVP_F_FIPS_MD_CTX_COPY 169 +# define EVP_F_HMAC_INIT_EX 174 +# define EVP_F_INT_CTX_NEW 157 +# define EVP_F_PKCS5_PBE_KEYIVGEN 117 +# define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 +# define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 +# define EVP_F_PKCS8_SET_BROKEN 112 +# define EVP_F_PKEY_SET_TYPE 158 +# define EVP_F_RC2_MAGIC_TO_METH 109 +# define EVP_F_RC5_CTRL 125 + +/* Reason codes. */ +# define EVP_R_AES_IV_SETUP_FAILED 162 +# define EVP_R_AES_KEY_SETUP_FAILED 143 +# define EVP_R_ASN1_LIB 140 +# define EVP_R_BAD_BLOCK_LENGTH 136 +# define EVP_R_BAD_DECRYPT 100 +# define EVP_R_BAD_KEY_LENGTH 137 +# define EVP_R_BN_DECODE_ERROR 112 +# define EVP_R_BN_PUBKEY_ERROR 113 +# define EVP_R_BUFFER_TOO_SMALL 155 +# define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 +# define EVP_R_CIPHER_PARAMETER_ERROR 122 +# define EVP_R_COMMAND_NOT_SUPPORTED 147 +# define EVP_R_CTRL_NOT_IMPLEMENTED 132 +# define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 +# define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 +# define EVP_R_DECODE_ERROR 114 +# define EVP_R_DIFFERENT_KEY_TYPES 101 +# define EVP_R_DIFFERENT_PARAMETERS 153 +# define EVP_R_DISABLED_FOR_FIPS 163 +# define EVP_R_ENCODE_ERROR 115 +# define EVP_R_ERROR_LOADING_SECTION 165 +# define EVP_R_ERROR_SETTING_FIPS_MODE 166 +# define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 +# define EVP_R_EXPECTING_AN_RSA_KEY 127 +# define EVP_R_EXPECTING_A_DH_KEY 128 +# define EVP_R_EXPECTING_A_DSA_KEY 129 +# define EVP_R_EXPECTING_A_ECDSA_KEY 141 +# define EVP_R_EXPECTING_A_EC_KEY 142 +# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 +# define EVP_R_INITIALIZATION_ERROR 134 +# define EVP_R_INPUT_NOT_INITIALIZED 111 +# define EVP_R_INVALID_DIGEST 152 +# define EVP_R_INVALID_FIPS_MODE 168 +# define EVP_R_INVALID_KEY 171 +# define EVP_R_INVALID_KEY_LENGTH 130 +# define EVP_R_INVALID_OPERATION 148 +# define EVP_R_IV_TOO_LARGE 102 +# define EVP_R_KEYGEN_FAILURE 120 +# define EVP_R_MESSAGE_DIGEST_IS_NULL 159 +# define EVP_R_METHOD_NOT_SUPPORTED 144 +# define EVP_R_MISSING_PARAMETERS 103 +# define EVP_R_NO_CIPHER_SET 131 +# define EVP_R_NO_DEFAULT_DIGEST 158 +# define EVP_R_NO_DIGEST_SET 139 +# define EVP_R_NO_DSA_PARAMETERS 116 +# define EVP_R_NO_KEY_SET 154 +# define EVP_R_NO_OPERATION_SET 149 +# define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104 +# define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 +# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 +# define EVP_R_OPERATON_NOT_INITIALIZED 151 +# define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 +# define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 +# define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 +# define EVP_R_PUBLIC_KEY_NOT_RSA 106 +# define EVP_R_TOO_LARGE 164 +# define EVP_R_UNKNOWN_CIPHER 160 +# define EVP_R_UNKNOWN_DIGEST 161 +# define EVP_R_UNKNOWN_OPTION 169 +# define EVP_R_UNKNOWN_PBE_ALGORITHM 121 +# define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 +# define EVP_R_UNSUPPORTED_ALGORITHM 156 +# define EVP_R_UNSUPPORTED_CIPHER 107 +# define EVP_R_UNSUPPORTED_KEYLENGTH 123 +# define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 +# define EVP_R_UNSUPPORTED_KEY_SIZE 108 +# define EVP_R_UNSUPPORTED_PRF 125 +# define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 +# define EVP_R_UNSUPPORTED_SALT_TYPE 126 +# define EVP_R_WRAP_MODE_NOT_ALLOWED 170 +# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 +# define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.0/include/openssl/hmac.h b/openssl/1.0/include/openssl/hmac.h new file mode 100644 index 0000000..b8b55cd --- /dev/null +++ b/openssl/1.0/include/openssl/hmac.h @@ -0,0 +1,109 @@ +/* crypto/hmac/hmac.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +#ifndef HEADER_HMAC_H +# define HEADER_HMAC_H + +# include + +# ifdef OPENSSL_NO_HMAC +# error HMAC is disabled. +# endif + +# include + +# define HMAC_MAX_MD_CBLOCK 128/* largest known is SHA512 */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct hmac_ctx_st { + const EVP_MD *md; + EVP_MD_CTX md_ctx; + EVP_MD_CTX i_ctx; + EVP_MD_CTX o_ctx; + unsigned int key_length; + unsigned char key[HMAC_MAX_MD_CBLOCK]; +} HMAC_CTX; + +# define HMAC_size(e) (EVP_MD_size((e)->md)) + +void HMAC_CTX_init(HMAC_CTX *ctx); +void HMAC_CTX_cleanup(HMAC_CTX *ctx); + +/* deprecated */ +# define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) + +/* deprecated */ +int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md); +int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md, ENGINE *impl); +int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len); +int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len); +unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, + const unsigned char *d, size_t n, unsigned char *md, + unsigned int *md_len); +int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); + +void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/idea.h b/openssl/1.0/include/openssl/idea.h new file mode 100644 index 0000000..6075984 --- /dev/null +++ b/openssl/1.0/include/openssl/idea.h @@ -0,0 +1,105 @@ +/* crypto/idea/idea.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_IDEA_H +# define HEADER_IDEA_H + +# include /* IDEA_INT, OPENSSL_NO_IDEA */ + +# ifdef OPENSSL_NO_IDEA +# error IDEA is disabled. +# endif + +# define IDEA_ENCRYPT 1 +# define IDEA_DECRYPT 0 + +# define IDEA_BLOCK 8 +# define IDEA_KEY_LENGTH 16 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct idea_key_st { + IDEA_INT data[9][6]; +} IDEA_KEY_SCHEDULE; + +const char *idea_options(void); +void idea_ecb_encrypt(const unsigned char *in, unsigned char *out, + IDEA_KEY_SCHEDULE *ks); +# ifdef OPENSSL_FIPS +void private_idea_set_encrypt_key(const unsigned char *key, + IDEA_KEY_SCHEDULE *ks); +# endif +void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); +void idea_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); +void idea_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int enc); +void idea_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num, int enc); +void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num); +void idea_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/krb5_asn.h b/openssl/1.0/include/openssl/krb5_asn.h new file mode 100644 index 0000000..9cf5a26 --- /dev/null +++ b/openssl/1.0/include/openssl/krb5_asn.h @@ -0,0 +1,240 @@ +/* krb5_asn.h */ +/* + * Written by Vern Staats for the OpenSSL project, ** + * using ocsp/{*.h,*asn*.c} as a starting point + */ + +/* ==================================================================== + * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_KRB5_ASN_H +# define HEADER_KRB5_ASN_H + +/* + * #include + */ +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * ASN.1 from Kerberos RFC 1510 + */ + +/*- EncryptedData ::= SEQUENCE { + * etype[0] INTEGER, -- EncryptionType + * kvno[1] INTEGER OPTIONAL, + * cipher[2] OCTET STRING -- ciphertext + * } + */ +typedef struct krb5_encdata_st { + ASN1_INTEGER *etype; + ASN1_INTEGER *kvno; + ASN1_OCTET_STRING *cipher; +} KRB5_ENCDATA; + +DECLARE_STACK_OF(KRB5_ENCDATA) + +/*- PrincipalName ::= SEQUENCE { + * name-type[0] INTEGER, + * name-string[1] SEQUENCE OF GeneralString + * } + */ +typedef struct krb5_princname_st { + ASN1_INTEGER *nametype; + STACK_OF(ASN1_GENERALSTRING) *namestring; +} KRB5_PRINCNAME; + +DECLARE_STACK_OF(KRB5_PRINCNAME) + +/*- Ticket ::= [APPLICATION 1] SEQUENCE { + * tkt-vno[0] INTEGER, + * realm[1] Realm, + * sname[2] PrincipalName, + * enc-part[3] EncryptedData + * } + */ +typedef struct krb5_tktbody_st { + ASN1_INTEGER *tktvno; + ASN1_GENERALSTRING *realm; + KRB5_PRINCNAME *sname; + KRB5_ENCDATA *encdata; +} KRB5_TKTBODY; + +typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET; +DECLARE_STACK_OF(KRB5_TKTBODY) + +/*- AP-REQ ::= [APPLICATION 14] SEQUENCE { + * pvno[0] INTEGER, + * msg-type[1] INTEGER, + * ap-options[2] APOptions, + * ticket[3] Ticket, + * authenticator[4] EncryptedData + * } + * + * APOptions ::= BIT STRING { + * reserved(0), use-session-key(1), mutual-required(2) } + */ +typedef struct krb5_ap_req_st { + ASN1_INTEGER *pvno; + ASN1_INTEGER *msgtype; + ASN1_BIT_STRING *apoptions; + KRB5_TICKET *ticket; + KRB5_ENCDATA *authenticator; +} KRB5_APREQBODY; + +typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ; +DECLARE_STACK_OF(KRB5_APREQBODY) + +/* Authenticator Stuff */ + +/*- Checksum ::= SEQUENCE { + * cksumtype[0] INTEGER, + * checksum[1] OCTET STRING + * } + */ +typedef struct krb5_checksum_st { + ASN1_INTEGER *ctype; + ASN1_OCTET_STRING *checksum; +} KRB5_CHECKSUM; + +DECLARE_STACK_OF(KRB5_CHECKSUM) + +/*- EncryptionKey ::= SEQUENCE { + * keytype[0] INTEGER, + * keyvalue[1] OCTET STRING + * } + */ +typedef struct krb5_encryptionkey_st { + ASN1_INTEGER *ktype; + ASN1_OCTET_STRING *keyvalue; +} KRB5_ENCKEY; + +DECLARE_STACK_OF(KRB5_ENCKEY) + +/*- AuthorizationData ::= SEQUENCE OF SEQUENCE { + * ad-type[0] INTEGER, + * ad-data[1] OCTET STRING + * } + */ +typedef struct krb5_authorization_st { + ASN1_INTEGER *adtype; + ASN1_OCTET_STRING *addata; +} KRB5_AUTHDATA; + +DECLARE_STACK_OF(KRB5_AUTHDATA) + +/*- -- Unencrypted authenticator + * Authenticator ::= [APPLICATION 2] SEQUENCE { + * authenticator-vno[0] INTEGER, + * crealm[1] Realm, + * cname[2] PrincipalName, + * cksum[3] Checksum OPTIONAL, + * cusec[4] INTEGER, + * ctime[5] KerberosTime, + * subkey[6] EncryptionKey OPTIONAL, + * seq-number[7] INTEGER OPTIONAL, + * authorization-data[8] AuthorizationData OPTIONAL + * } + */ +typedef struct krb5_authenticator_st { + ASN1_INTEGER *avno; + ASN1_GENERALSTRING *crealm; + KRB5_PRINCNAME *cname; + KRB5_CHECKSUM *cksum; + ASN1_INTEGER *cusec; + ASN1_GENERALIZEDTIME *ctime; + KRB5_ENCKEY *subkey; + ASN1_INTEGER *seqnum; + KRB5_AUTHDATA *authorization; +} KRB5_AUTHENTBODY; + +typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT; +DECLARE_STACK_OF(KRB5_AUTHENTBODY) + +/*- DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) = + * type *name##_new(void); + * void name##_free(type *a); + * DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) = + * DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) = + * type *d2i_##name(type **a, const unsigned char **in, long len); + * int i2d_##name(type *a, unsigned char **out); + * DECLARE_ASN1_ITEM(itname) = OPENSSL_EXTERN const ASN1_ITEM itname##_it + */ + +DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA) +DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME) +DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY) +DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY) +DECLARE_ASN1_FUNCTIONS(KRB5_TICKET) +DECLARE_ASN1_FUNCTIONS(KRB5_APREQ) + +DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM) +DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY) +DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA) +DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY) +DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT) + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/kssl.h b/openssl/1.0/include/openssl/kssl.h new file mode 100644 index 0000000..ae8a51f --- /dev/null +++ b/openssl/1.0/include/openssl/kssl.h @@ -0,0 +1,197 @@ +/* ssl/kssl.h */ +/* + * Written by Vern Staats for the OpenSSL project + * 2000. project 2000. + */ +/* ==================================================================== + * Copyright (c) 2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +/* + ** 19990701 VRS Started. + */ + +#ifndef KSSL_H +# define KSSL_H + +# include + +# ifndef OPENSSL_NO_KRB5 + +# include +# include +# include +# ifdef OPENSSL_SYS_WIN32 +/* + * These can sometimes get redefined indirectly by krb5 header files after + * they get undefed in ossl_typ.h + */ +# undef X509_NAME +# undef X509_EXTENSIONS +# undef OCSP_REQUEST +# undef OCSP_RESPONSE +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Depending on which KRB5 implementation used, some types from + * the other may be missing. Resolve that here and now + */ +# ifdef KRB5_HEIMDAL +typedef unsigned char krb5_octet; +# define FAR +# else + +# ifndef FAR +# define FAR +# endif + +# endif + +/*- + * Uncomment this to debug kssl problems or + * to trace usage of the Kerberos session key + * + * #define KSSL_DEBUG + */ + +# ifndef KRB5SVC +# define KRB5SVC "host" +# endif + +# ifndef KRB5KEYTAB +# define KRB5KEYTAB "/etc/krb5.keytab" +# endif + +# ifndef KRB5SENDAUTH +# define KRB5SENDAUTH 1 +# endif + +# ifndef KRB5CHECKAUTH +# define KRB5CHECKAUTH 1 +# endif + +# ifndef KSSL_CLOCKSKEW +# define KSSL_CLOCKSKEW 300; +# endif + +# define KSSL_ERR_MAX 255 +typedef struct kssl_err_st { + int reason; + char text[KSSL_ERR_MAX + 1]; +} KSSL_ERR; + +/*- Context for passing + * (1) Kerberos session key to SSL, and + * (2) Config data between application and SSL lib + */ +typedef struct kssl_ctx_st { + /* used by: disposition: */ + char *service_name; /* C,S default ok (kssl) */ + char *service_host; /* C input, REQUIRED */ + char *client_princ; /* S output from krb5 ticket */ + char *keytab_file; /* S NULL (/etc/krb5.keytab) */ + char *cred_cache; /* C NULL (default) */ + krb5_enctype enctype; + int length; + krb5_octet FAR *key; +} KSSL_CTX; + +# define KSSL_CLIENT 1 +# define KSSL_SERVER 2 +# define KSSL_SERVICE 3 +# define KSSL_KEYTAB 4 + +# define KSSL_CTX_OK 0 +# define KSSL_CTX_ERR 1 +# define KSSL_NOMEM 2 + +/* Public (for use by applications that use OpenSSL with Kerberos 5 support */ +krb5_error_code kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text); +KSSL_CTX *kssl_ctx_new(void); +KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx); +void kssl_ctx_show(KSSL_CTX *kssl_ctx); +krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which, + krb5_data *realm, krb5_data *entity, + int nentities); +krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp, + krb5_data *authenp, KSSL_ERR *kssl_err); +krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata, + krb5_ticket_times *ttimes, KSSL_ERR *kssl_err); +krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session); +void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text); +void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data); +krb5_error_code kssl_build_principal_2(krb5_context context, + krb5_principal *princ, int rlen, + const char *realm, int slen, + const char *svc, int hlen, + const char *host); +krb5_error_code kssl_validate_times(krb5_timestamp atime, + krb5_ticket_times *ttimes); +krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp, + krb5_timestamp *atimep, + KSSL_ERR *kssl_err); +unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn); + +void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx); +KSSL_CTX *SSL_get0_kssl_ctx(SSL *s); +char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx); + +#ifdef __cplusplus +} +#endif +# endif /* OPENSSL_NO_KRB5 */ +#endif /* KSSL_H */ diff --git a/openssl/1.0/include/openssl/lhash.h b/openssl/1.0/include/openssl/lhash.h new file mode 100644 index 0000000..b6c328b --- /dev/null +++ b/openssl/1.0/include/openssl/lhash.h @@ -0,0 +1,240 @@ +/* crypto/lhash/lhash.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +/* + * Header for dynamic hash table routines Author - Eric Young + */ + +#ifndef HEADER_LHASH_H +# define HEADER_LHASH_H + +# include +# ifndef OPENSSL_NO_FP_API +# include +# endif + +# ifndef OPENSSL_NO_BIO +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct lhash_node_st { + void *data; + struct lhash_node_st *next; +# ifndef OPENSSL_NO_HASH_COMP + unsigned long hash; +# endif +} LHASH_NODE; + +typedef int (*LHASH_COMP_FN_TYPE) (const void *, const void *); +typedef unsigned long (*LHASH_HASH_FN_TYPE) (const void *); +typedef void (*LHASH_DOALL_FN_TYPE) (void *); +typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); + +/* + * Macros for declaring and implementing type-safe wrappers for LHASH + * callbacks. This way, callbacks can be provided to LHASH structures without + * function pointer casting and the macro-defined callbacks provide + * per-variable casting before deferring to the underlying type-specific + * callbacks. NB: It is possible to place a "static" in front of both the + * DECLARE and IMPLEMENT macros if the functions are strictly internal. + */ + +/* First: "hash" functions */ +# define DECLARE_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *); +# define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *arg) { \ + const o_type *a = arg; \ + return name##_hash(a); } +# define LHASH_HASH_FN(name) name##_LHASH_HASH + +/* Second: "compare" functions */ +# define DECLARE_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *, const void *); +# define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ + const o_type *a = arg1; \ + const o_type *b = arg2; \ + return name##_cmp(a,b); } +# define LHASH_COMP_FN(name) name##_LHASH_COMP + +/* Third: "doall" functions */ +# define DECLARE_LHASH_DOALL_FN(name, o_type) \ + void name##_LHASH_DOALL(void *); +# define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \ + void name##_LHASH_DOALL(void *arg) { \ + o_type *a = arg; \ + name##_doall(a); } +# define LHASH_DOALL_FN(name) name##_LHASH_DOALL + +/* Fourth: "doall_arg" functions */ +# define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *, void *); +# define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ + o_type *a = arg1; \ + a_type *b = arg2; \ + name##_doall_arg(a, b); } +# define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG + +typedef struct lhash_st { + LHASH_NODE **b; + LHASH_COMP_FN_TYPE comp; + LHASH_HASH_FN_TYPE hash; + unsigned int num_nodes; + unsigned int num_alloc_nodes; + unsigned int p; + unsigned int pmax; + unsigned long up_load; /* load times 256 */ + unsigned long down_load; /* load times 256 */ + unsigned long num_items; + unsigned long num_expands; + unsigned long num_expand_reallocs; + unsigned long num_contracts; + unsigned long num_contract_reallocs; + unsigned long num_hash_calls; + unsigned long num_comp_calls; + unsigned long num_insert; + unsigned long num_replace; + unsigned long num_delete; + unsigned long num_no_delete; + unsigned long num_retrieve; + unsigned long num_retrieve_miss; + unsigned long num_hash_comps; + int error; +} _LHASH; /* Do not use _LHASH directly, use LHASH_OF + * and friends */ + +# define LH_LOAD_MULT 256 + +/* + * Indicates a malloc() error in the last call, this is only bad in + * lh_insert(). + */ +# define lh_error(lh) ((lh)->error) + +_LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); +void lh_free(_LHASH *lh); +void *lh_insert(_LHASH *lh, void *data); +void *lh_delete(_LHASH *lh, const void *data); +void *lh_retrieve(_LHASH *lh, const void *data); +void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func); +void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); +unsigned long lh_strhash(const char *c); +unsigned long lh_num_items(const _LHASH *lh); + +# ifndef OPENSSL_NO_FP_API +void lh_stats(const _LHASH *lh, FILE *out); +void lh_node_stats(const _LHASH *lh, FILE *out); +void lh_node_usage_stats(const _LHASH *lh, FILE *out); +# endif + +# ifndef OPENSSL_NO_BIO +void lh_stats_bio(const _LHASH *lh, BIO *out); +void lh_node_stats_bio(const _LHASH *lh, BIO *out); +void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); +# endif + +/* Type checking... */ + +# define LHASH_OF(type) struct lhash_st_##type + +# define DECLARE_LHASH_OF(type) LHASH_OF(type) { int dummy; } + +# define CHECKED_LHASH_OF(type,lh) \ + ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh)) + +/* Define wrapper functions. */ +# define LHM_lh_new(type, name) \ + ((LHASH_OF(type) *)lh_new(LHASH_HASH_FN(name), LHASH_COMP_FN(name))) +# define LHM_lh_error(type, lh) \ + lh_error(CHECKED_LHASH_OF(type,lh)) +# define LHM_lh_insert(type, lh, inst) \ + ((type *)lh_insert(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +# define LHM_lh_retrieve(type, lh, inst) \ + ((type *)lh_retrieve(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +# define LHM_lh_delete(type, lh, inst) \ + ((type *)lh_delete(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +# define LHM_lh_doall(type, lh,fn) lh_doall(CHECKED_LHASH_OF(type, lh), fn) +# define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \ + lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) +# define LHM_lh_num_items(type, lh) lh_num_items(CHECKED_LHASH_OF(type, lh)) +# define LHM_lh_down_load(type, lh) (CHECKED_LHASH_OF(type, lh)->down_load) +# define LHM_lh_node_stats_bio(type, lh, out) \ + lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out) +# define LHM_lh_node_usage_stats_bio(type, lh, out) \ + lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out) +# define LHM_lh_stats_bio(type, lh, out) \ + lh_stats_bio(CHECKED_LHASH_OF(type, lh), out) +# define LHM_lh_free(type, lh) lh_free(CHECKED_LHASH_OF(type, lh)) + +DECLARE_LHASH_OF(OPENSSL_STRING); +DECLARE_LHASH_OF(OPENSSL_CSTRING); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/md4.h b/openssl/1.0/include/openssl/md4.h new file mode 100644 index 0000000..11fd712 --- /dev/null +++ b/openssl/1.0/include/openssl/md4.h @@ -0,0 +1,119 @@ +/* crypto/md4/md4.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_MD4_H +# define HEADER_MD4_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_MD4 +# error MD4 is disabled. +# endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD4_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! MD4_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define MD4_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define MD4_LONG unsigned long +# define MD4_LONG_LOG2 3 +/* + * _CRAY note. I could declare short, but I have no idea what impact + * does it have on performance on none-T3E machines. I could declare + * int, but at least on C90 sizeof(int) can be chosen at compile time. + * So I've chosen long... + * + */ +# else +# define MD4_LONG unsigned int +# endif + +# define MD4_CBLOCK 64 +# define MD4_LBLOCK (MD4_CBLOCK/4) +# define MD4_DIGEST_LENGTH 16 + +typedef struct MD4state_st { + MD4_LONG A, B, C, D; + MD4_LONG Nl, Nh; + MD4_LONG data[MD4_LBLOCK]; + unsigned int num; +} MD4_CTX; + +# ifdef OPENSSL_FIPS +int private_MD4_Init(MD4_CTX *c); +# endif +int MD4_Init(MD4_CTX *c); +int MD4_Update(MD4_CTX *c, const void *data, size_t len); +int MD4_Final(unsigned char *md, MD4_CTX *c); +unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); +void MD4_Transform(MD4_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/md5.h b/openssl/1.0/include/openssl/md5.h new file mode 100644 index 0000000..2659038 --- /dev/null +++ b/openssl/1.0/include/openssl/md5.h @@ -0,0 +1,119 @@ +/* crypto/md5/md5.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_MD5_H +# define HEADER_MD5_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_MD5 +# error MD5 is disabled. +# endif + +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! MD5_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define MD5_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define MD5_LONG unsigned long +# define MD5_LONG_LOG2 3 +/* + * _CRAY note. I could declare short, but I have no idea what impact + * does it have on performance on none-T3E machines. I could declare + * int, but at least on C90 sizeof(int) can be chosen at compile time. + * So I've chosen long... + * + */ +# else +# define MD5_LONG unsigned int +# endif + +# define MD5_CBLOCK 64 +# define MD5_LBLOCK (MD5_CBLOCK/4) +# define MD5_DIGEST_LENGTH 16 + +typedef struct MD5state_st { + MD5_LONG A, B, C, D; + MD5_LONG Nl, Nh; + MD5_LONG data[MD5_LBLOCK]; + unsigned int num; +} MD5_CTX; + +# ifdef OPENSSL_FIPS +int private_MD5_Init(MD5_CTX *c); +# endif +int MD5_Init(MD5_CTX *c); +int MD5_Update(MD5_CTX *c, const void *data, size_t len); +int MD5_Final(unsigned char *md, MD5_CTX *c); +unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); +void MD5_Transform(MD5_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/mdc2.h b/openssl/1.0/include/openssl/mdc2.h new file mode 100644 index 0000000..7efe53b --- /dev/null +++ b/openssl/1.0/include/openssl/mdc2.h @@ -0,0 +1,94 @@ +/* crypto/mdc2/mdc2.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_MDC2_H +# define HEADER_MDC2_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_MDC2 +# error MDC2 is disabled. +# endif + +# define MDC2_BLOCK 8 +# define MDC2_DIGEST_LENGTH 16 + +typedef struct mdc2_ctx_st { + unsigned int num; + unsigned char data[MDC2_BLOCK]; + DES_cblock h, hh; + int pad_type; /* either 1 or 2, default 1 */ +} MDC2_CTX; + +# ifdef OPENSSL_FIPS +int private_MDC2_Init(MDC2_CTX *c); +# endif +int MDC2_Init(MDC2_CTX *c); +int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); +int MDC2_Final(unsigned char *md, MDC2_CTX *c); +unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/modes.h b/openssl/1.0/include/openssl/modes.h new file mode 100644 index 0000000..fd48849 --- /dev/null +++ b/openssl/1.0/include/openssl/modes.h @@ -0,0 +1,163 @@ +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Rights for redistribution and usage in source and binary + * forms are granted according to the OpenSSL license. + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif +typedef void (*block128_f) (const unsigned char in[16], + unsigned char out[16], const void *key); + +typedef void (*cbc128_f) (const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int enc); + +typedef void (*ctr128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16]); + +typedef void (*ccm128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16], + unsigned char cmac[16]); + +void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); +void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); + +void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], unsigned int *num, + block128_f block); + +void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], + unsigned int *num, ctr128_f ctr); + +void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + block128_f block); + +void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, + size_t bits, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); + +size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +typedef struct gcm128_context GCM128_CONTEXT; + +GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); +void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block); +void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, + size_t len); +int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); +void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); + +typedef struct ccm128_context CCM128_CONTEXT; + +void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, + unsigned int M, unsigned int L, void *key, + block128_f block); +int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, const unsigned char *nonce, + size_t nlen, size_t mlen); +void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, const unsigned char *aad, + size_t alen); +int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); + +typedef struct xts128_context XTS128_CONTEXT; + +int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, + const unsigned char iv[16], + const unsigned char *inp, unsigned char *out, + size_t len, int enc); + +size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); + +size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); + +#ifdef __cplusplus +} +#endif diff --git a/openssl/1.0/include/openssl/obj_mac.h b/openssl/1.0/include/openssl/obj_mac.h new file mode 100644 index 0000000..779c309 --- /dev/null +++ b/openssl/1.0/include/openssl/obj_mac.h @@ -0,0 +1,4194 @@ +/* crypto/objects/obj_mac.h */ + +/* + * THIS FILE IS GENERATED FROM objects.txt by objects.pl via the following + * command: perl objects.pl objects.txt obj_mac.num obj_mac.h + */ + +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#define SN_undef "UNDEF" +#define LN_undef "undefined" +#define NID_undef 0 +#define OBJ_undef 0L + +#define SN_itu_t "ITU-T" +#define LN_itu_t "itu-t" +#define NID_itu_t 645 +#define OBJ_itu_t 0L + +#define NID_ccitt 404 +#define OBJ_ccitt OBJ_itu_t + +#define SN_iso "ISO" +#define LN_iso "iso" +#define NID_iso 181 +#define OBJ_iso 1L + +#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" +#define LN_joint_iso_itu_t "joint-iso-itu-t" +#define NID_joint_iso_itu_t 646 +#define OBJ_joint_iso_itu_t 2L + +#define NID_joint_iso_ccitt 393 +#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t + +#define SN_member_body "member-body" +#define LN_member_body "ISO Member Body" +#define NID_member_body 182 +#define OBJ_member_body OBJ_iso,2L + +#define SN_identified_organization "identified-organization" +#define NID_identified_organization 676 +#define OBJ_identified_organization OBJ_iso,3L + +#define SN_hmac_md5 "HMAC-MD5" +#define LN_hmac_md5 "hmac-md5" +#define NID_hmac_md5 780 +#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L + +#define SN_hmac_sha1 "HMAC-SHA1" +#define LN_hmac_sha1 "hmac-sha1" +#define NID_hmac_sha1 781 +#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L + +#define SN_certicom_arc "certicom-arc" +#define NID_certicom_arc 677 +#define OBJ_certicom_arc OBJ_identified_organization,132L + +#define SN_international_organizations "international-organizations" +#define LN_international_organizations "International Organizations" +#define NID_international_organizations 647 +#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L + +#define SN_wap "wap" +#define NID_wap 678 +#define OBJ_wap OBJ_international_organizations,43L + +#define SN_wap_wsg "wap-wsg" +#define NID_wap_wsg 679 +#define OBJ_wap_wsg OBJ_wap,1L + +#define SN_selected_attribute_types "selected-attribute-types" +#define LN_selected_attribute_types "Selected Attribute Types" +#define NID_selected_attribute_types 394 +#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L + +#define SN_clearance "clearance" +#define NID_clearance 395 +#define OBJ_clearance OBJ_selected_attribute_types,55L + +#define SN_ISO_US "ISO-US" +#define LN_ISO_US "ISO US Member Body" +#define NID_ISO_US 183 +#define OBJ_ISO_US OBJ_member_body,840L + +#define SN_X9_57 "X9-57" +#define LN_X9_57 "X9.57" +#define NID_X9_57 184 +#define OBJ_X9_57 OBJ_ISO_US,10040L + +#define SN_X9cm "X9cm" +#define LN_X9cm "X9.57 CM ?" +#define NID_X9cm 185 +#define OBJ_X9cm OBJ_X9_57,4L + +#define SN_dsa "DSA" +#define LN_dsa "dsaEncryption" +#define NID_dsa 116 +#define OBJ_dsa OBJ_X9cm,1L + +#define SN_dsaWithSHA1 "DSA-SHA1" +#define LN_dsaWithSHA1 "dsaWithSHA1" +#define NID_dsaWithSHA1 113 +#define OBJ_dsaWithSHA1 OBJ_X9cm,3L + +#define SN_ansi_X9_62 "ansi-X9-62" +#define LN_ansi_X9_62 "ANSI X9.62" +#define NID_ansi_X9_62 405 +#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L + +#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L + +#define SN_X9_62_prime_field "prime-field" +#define NID_X9_62_prime_field 406 +#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L + +#define SN_X9_62_characteristic_two_field "characteristic-two-field" +#define NID_X9_62_characteristic_two_field 407 +#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L + +#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" +#define NID_X9_62_id_characteristic_two_basis 680 +#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L + +#define SN_X9_62_onBasis "onBasis" +#define NID_X9_62_onBasis 681 +#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L + +#define SN_X9_62_tpBasis "tpBasis" +#define NID_X9_62_tpBasis 682 +#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L + +#define SN_X9_62_ppBasis "ppBasis" +#define NID_X9_62_ppBasis 683 +#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L + +#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L + +#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" +#define NID_X9_62_id_ecPublicKey 408 +#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L + +#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L + +#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L + +#define SN_X9_62_c2pnb163v1 "c2pnb163v1" +#define NID_X9_62_c2pnb163v1 684 +#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L + +#define SN_X9_62_c2pnb163v2 "c2pnb163v2" +#define NID_X9_62_c2pnb163v2 685 +#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L + +#define SN_X9_62_c2pnb163v3 "c2pnb163v3" +#define NID_X9_62_c2pnb163v3 686 +#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L + +#define SN_X9_62_c2pnb176v1 "c2pnb176v1" +#define NID_X9_62_c2pnb176v1 687 +#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L + +#define SN_X9_62_c2tnb191v1 "c2tnb191v1" +#define NID_X9_62_c2tnb191v1 688 +#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L + +#define SN_X9_62_c2tnb191v2 "c2tnb191v2" +#define NID_X9_62_c2tnb191v2 689 +#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L + +#define SN_X9_62_c2tnb191v3 "c2tnb191v3" +#define NID_X9_62_c2tnb191v3 690 +#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L + +#define SN_X9_62_c2onb191v4 "c2onb191v4" +#define NID_X9_62_c2onb191v4 691 +#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L + +#define SN_X9_62_c2onb191v5 "c2onb191v5" +#define NID_X9_62_c2onb191v5 692 +#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L + +#define SN_X9_62_c2pnb208w1 "c2pnb208w1" +#define NID_X9_62_c2pnb208w1 693 +#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L + +#define SN_X9_62_c2tnb239v1 "c2tnb239v1" +#define NID_X9_62_c2tnb239v1 694 +#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L + +#define SN_X9_62_c2tnb239v2 "c2tnb239v2" +#define NID_X9_62_c2tnb239v2 695 +#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L + +#define SN_X9_62_c2tnb239v3 "c2tnb239v3" +#define NID_X9_62_c2tnb239v3 696 +#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L + +#define SN_X9_62_c2onb239v4 "c2onb239v4" +#define NID_X9_62_c2onb239v4 697 +#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L + +#define SN_X9_62_c2onb239v5 "c2onb239v5" +#define NID_X9_62_c2onb239v5 698 +#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L + +#define SN_X9_62_c2pnb272w1 "c2pnb272w1" +#define NID_X9_62_c2pnb272w1 699 +#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L + +#define SN_X9_62_c2pnb304w1 "c2pnb304w1" +#define NID_X9_62_c2pnb304w1 700 +#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L + +#define SN_X9_62_c2tnb359v1 "c2tnb359v1" +#define NID_X9_62_c2tnb359v1 701 +#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L + +#define SN_X9_62_c2pnb368w1 "c2pnb368w1" +#define NID_X9_62_c2pnb368w1 702 +#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L + +#define SN_X9_62_c2tnb431r1 "c2tnb431r1" +#define NID_X9_62_c2tnb431r1 703 +#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L + +#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L + +#define SN_X9_62_prime192v1 "prime192v1" +#define NID_X9_62_prime192v1 409 +#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L + +#define SN_X9_62_prime192v2 "prime192v2" +#define NID_X9_62_prime192v2 410 +#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L + +#define SN_X9_62_prime192v3 "prime192v3" +#define NID_X9_62_prime192v3 411 +#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L + +#define SN_X9_62_prime239v1 "prime239v1" +#define NID_X9_62_prime239v1 412 +#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L + +#define SN_X9_62_prime239v2 "prime239v2" +#define NID_X9_62_prime239v2 413 +#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L + +#define SN_X9_62_prime239v3 "prime239v3" +#define NID_X9_62_prime239v3 414 +#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L + +#define SN_X9_62_prime256v1 "prime256v1" +#define NID_X9_62_prime256v1 415 +#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L + +#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L + +#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" +#define NID_ecdsa_with_SHA1 416 +#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L + +#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" +#define NID_ecdsa_with_Recommended 791 +#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L + +#define SN_ecdsa_with_Specified "ecdsa-with-Specified" +#define NID_ecdsa_with_Specified 792 +#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L + +#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" +#define NID_ecdsa_with_SHA224 793 +#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L + +#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" +#define NID_ecdsa_with_SHA256 794 +#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L + +#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" +#define NID_ecdsa_with_SHA384 795 +#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L + +#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" +#define NID_ecdsa_with_SHA512 796 +#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L + +#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L + +#define SN_secp112r1 "secp112r1" +#define NID_secp112r1 704 +#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L + +#define SN_secp112r2 "secp112r2" +#define NID_secp112r2 705 +#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L + +#define SN_secp128r1 "secp128r1" +#define NID_secp128r1 706 +#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L + +#define SN_secp128r2 "secp128r2" +#define NID_secp128r2 707 +#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L + +#define SN_secp160k1 "secp160k1" +#define NID_secp160k1 708 +#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L + +#define SN_secp160r1 "secp160r1" +#define NID_secp160r1 709 +#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L + +#define SN_secp160r2 "secp160r2" +#define NID_secp160r2 710 +#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L + +#define SN_secp192k1 "secp192k1" +#define NID_secp192k1 711 +#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L + +#define SN_secp224k1 "secp224k1" +#define NID_secp224k1 712 +#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L + +#define SN_secp224r1 "secp224r1" +#define NID_secp224r1 713 +#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L + +#define SN_secp256k1 "secp256k1" +#define NID_secp256k1 714 +#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L + +#define SN_secp384r1 "secp384r1" +#define NID_secp384r1 715 +#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L + +#define SN_secp521r1 "secp521r1" +#define NID_secp521r1 716 +#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L + +#define SN_sect113r1 "sect113r1" +#define NID_sect113r1 717 +#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L + +#define SN_sect113r2 "sect113r2" +#define NID_sect113r2 718 +#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L + +#define SN_sect131r1 "sect131r1" +#define NID_sect131r1 719 +#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L + +#define SN_sect131r2 "sect131r2" +#define NID_sect131r2 720 +#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L + +#define SN_sect163k1 "sect163k1" +#define NID_sect163k1 721 +#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L + +#define SN_sect163r1 "sect163r1" +#define NID_sect163r1 722 +#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L + +#define SN_sect163r2 "sect163r2" +#define NID_sect163r2 723 +#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L + +#define SN_sect193r1 "sect193r1" +#define NID_sect193r1 724 +#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L + +#define SN_sect193r2 "sect193r2" +#define NID_sect193r2 725 +#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L + +#define SN_sect233k1 "sect233k1" +#define NID_sect233k1 726 +#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L + +#define SN_sect233r1 "sect233r1" +#define NID_sect233r1 727 +#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L + +#define SN_sect239k1 "sect239k1" +#define NID_sect239k1 728 +#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L + +#define SN_sect283k1 "sect283k1" +#define NID_sect283k1 729 +#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L + +#define SN_sect283r1 "sect283r1" +#define NID_sect283r1 730 +#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L + +#define SN_sect409k1 "sect409k1" +#define NID_sect409k1 731 +#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L + +#define SN_sect409r1 "sect409r1" +#define NID_sect409r1 732 +#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L + +#define SN_sect571k1 "sect571k1" +#define NID_sect571k1 733 +#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L + +#define SN_sect571r1 "sect571r1" +#define NID_sect571r1 734 +#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L + +#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L + +#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" +#define NID_wap_wsg_idm_ecid_wtls1 735 +#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L + +#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" +#define NID_wap_wsg_idm_ecid_wtls3 736 +#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L + +#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" +#define NID_wap_wsg_idm_ecid_wtls4 737 +#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L + +#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" +#define NID_wap_wsg_idm_ecid_wtls5 738 +#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L + +#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" +#define NID_wap_wsg_idm_ecid_wtls6 739 +#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L + +#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" +#define NID_wap_wsg_idm_ecid_wtls7 740 +#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L + +#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" +#define NID_wap_wsg_idm_ecid_wtls8 741 +#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L + +#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" +#define NID_wap_wsg_idm_ecid_wtls9 742 +#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L + +#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" +#define NID_wap_wsg_idm_ecid_wtls10 743 +#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L + +#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" +#define NID_wap_wsg_idm_ecid_wtls11 744 +#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L + +#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" +#define NID_wap_wsg_idm_ecid_wtls12 745 +#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L + +#define SN_cast5_cbc "CAST5-CBC" +#define LN_cast5_cbc "cast5-cbc" +#define NID_cast5_cbc 108 +#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L + +#define SN_cast5_ecb "CAST5-ECB" +#define LN_cast5_ecb "cast5-ecb" +#define NID_cast5_ecb 109 + +#define SN_cast5_cfb64 "CAST5-CFB" +#define LN_cast5_cfb64 "cast5-cfb" +#define NID_cast5_cfb64 110 + +#define SN_cast5_ofb64 "CAST5-OFB" +#define LN_cast5_ofb64 "cast5-ofb" +#define NID_cast5_ofb64 111 + +#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +#define NID_pbeWithMD5AndCast5_CBC 112 +#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L + +#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" +#define LN_id_PasswordBasedMAC "password based MAC" +#define NID_id_PasswordBasedMAC 782 +#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L + +#define SN_id_DHBasedMac "id-DHBasedMac" +#define LN_id_DHBasedMac "Diffie-Hellman based MAC" +#define NID_id_DHBasedMac 783 +#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L + +#define SN_rsadsi "rsadsi" +#define LN_rsadsi "RSA Data Security, Inc." +#define NID_rsadsi 1 +#define OBJ_rsadsi OBJ_ISO_US,113549L + +#define SN_pkcs "pkcs" +#define LN_pkcs "RSA Data Security, Inc. PKCS" +#define NID_pkcs 2 +#define OBJ_pkcs OBJ_rsadsi,1L + +#define SN_pkcs1 "pkcs1" +#define NID_pkcs1 186 +#define OBJ_pkcs1 OBJ_pkcs,1L + +#define LN_rsaEncryption "rsaEncryption" +#define NID_rsaEncryption 6 +#define OBJ_rsaEncryption OBJ_pkcs1,1L + +#define SN_md2WithRSAEncryption "RSA-MD2" +#define LN_md2WithRSAEncryption "md2WithRSAEncryption" +#define NID_md2WithRSAEncryption 7 +#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L + +#define SN_md4WithRSAEncryption "RSA-MD4" +#define LN_md4WithRSAEncryption "md4WithRSAEncryption" +#define NID_md4WithRSAEncryption 396 +#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L + +#define SN_md5WithRSAEncryption "RSA-MD5" +#define LN_md5WithRSAEncryption "md5WithRSAEncryption" +#define NID_md5WithRSAEncryption 8 +#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L + +#define SN_sha1WithRSAEncryption "RSA-SHA1" +#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +#define NID_sha1WithRSAEncryption 65 +#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L + +#define SN_rsaesOaep "RSAES-OAEP" +#define LN_rsaesOaep "rsaesOaep" +#define NID_rsaesOaep 919 +#define OBJ_rsaesOaep OBJ_pkcs1,7L + +#define SN_mgf1 "MGF1" +#define LN_mgf1 "mgf1" +#define NID_mgf1 911 +#define OBJ_mgf1 OBJ_pkcs1,8L + +#define SN_pSpecified "PSPECIFIED" +#define LN_pSpecified "pSpecified" +#define NID_pSpecified 935 +#define OBJ_pSpecified OBJ_pkcs1,9L + +#define SN_rsassaPss "RSASSA-PSS" +#define LN_rsassaPss "rsassaPss" +#define NID_rsassaPss 912 +#define OBJ_rsassaPss OBJ_pkcs1,10L + +#define SN_sha256WithRSAEncryption "RSA-SHA256" +#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" +#define NID_sha256WithRSAEncryption 668 +#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L + +#define SN_sha384WithRSAEncryption "RSA-SHA384" +#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" +#define NID_sha384WithRSAEncryption 669 +#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L + +#define SN_sha512WithRSAEncryption "RSA-SHA512" +#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" +#define NID_sha512WithRSAEncryption 670 +#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L + +#define SN_sha224WithRSAEncryption "RSA-SHA224" +#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" +#define NID_sha224WithRSAEncryption 671 +#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L + +#define SN_pkcs3 "pkcs3" +#define NID_pkcs3 27 +#define OBJ_pkcs3 OBJ_pkcs,3L + +#define LN_dhKeyAgreement "dhKeyAgreement" +#define NID_dhKeyAgreement 28 +#define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +#define SN_pkcs5 "pkcs5" +#define NID_pkcs5 187 +#define OBJ_pkcs5 OBJ_pkcs,5L + +#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +#define NID_pbeWithMD2AndDES_CBC 9 +#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L + +#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +#define NID_pbeWithMD5AndDES_CBC 10 +#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L + +#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +#define NID_pbeWithMD2AndRC2_CBC 168 +#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L + +#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +#define NID_pbeWithMD5AndRC2_CBC 169 +#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L + +#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +#define NID_pbeWithSHA1AndDES_CBC 170 +#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L + +#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +#define NID_pbeWithSHA1AndRC2_CBC 68 +#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L + +#define LN_id_pbkdf2 "PBKDF2" +#define NID_id_pbkdf2 69 +#define OBJ_id_pbkdf2 OBJ_pkcs5,12L + +#define LN_pbes2 "PBES2" +#define NID_pbes2 161 +#define OBJ_pbes2 OBJ_pkcs5,13L + +#define LN_pbmac1 "PBMAC1" +#define NID_pbmac1 162 +#define OBJ_pbmac1 OBJ_pkcs5,14L + +#define SN_pkcs7 "pkcs7" +#define NID_pkcs7 20 +#define OBJ_pkcs7 OBJ_pkcs,7L + +#define LN_pkcs7_data "pkcs7-data" +#define NID_pkcs7_data 21 +#define OBJ_pkcs7_data OBJ_pkcs7,1L + +#define LN_pkcs7_signed "pkcs7-signedData" +#define NID_pkcs7_signed 22 +#define OBJ_pkcs7_signed OBJ_pkcs7,2L + +#define LN_pkcs7_enveloped "pkcs7-envelopedData" +#define NID_pkcs7_enveloped 23 +#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +#define NID_pkcs7_signedAndEnveloped 24 +#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +#define LN_pkcs7_digest "pkcs7-digestData" +#define NID_pkcs7_digest 25 +#define OBJ_pkcs7_digest OBJ_pkcs7,5L + +#define LN_pkcs7_encrypted "pkcs7-encryptedData" +#define NID_pkcs7_encrypted 26 +#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +#define SN_pkcs9 "pkcs9" +#define NID_pkcs9 47 +#define OBJ_pkcs9 OBJ_pkcs,9L + +#define LN_pkcs9_emailAddress "emailAddress" +#define NID_pkcs9_emailAddress 48 +#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +#define LN_pkcs9_unstructuredName "unstructuredName" +#define NID_pkcs9_unstructuredName 49 +#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +#define LN_pkcs9_contentType "contentType" +#define NID_pkcs9_contentType 50 +#define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +#define LN_pkcs9_messageDigest "messageDigest" +#define NID_pkcs9_messageDigest 51 +#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +#define LN_pkcs9_signingTime "signingTime" +#define NID_pkcs9_signingTime 52 +#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +#define LN_pkcs9_countersignature "countersignature" +#define NID_pkcs9_countersignature 53 +#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +#define LN_pkcs9_challengePassword "challengePassword" +#define NID_pkcs9_challengePassword 54 +#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +#define LN_pkcs9_unstructuredAddress "unstructuredAddress" +#define NID_pkcs9_unstructuredAddress 55 +#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +#define NID_pkcs9_extCertAttributes 56 +#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +#define SN_ext_req "extReq" +#define LN_ext_req "Extension Request" +#define NID_ext_req 172 +#define OBJ_ext_req OBJ_pkcs9,14L + +#define SN_SMIMECapabilities "SMIME-CAPS" +#define LN_SMIMECapabilities "S/MIME Capabilities" +#define NID_SMIMECapabilities 167 +#define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +#define SN_SMIME "SMIME" +#define LN_SMIME "S/MIME" +#define NID_SMIME 188 +#define OBJ_SMIME OBJ_pkcs9,16L + +#define SN_id_smime_mod "id-smime-mod" +#define NID_id_smime_mod 189 +#define OBJ_id_smime_mod OBJ_SMIME,0L + +#define SN_id_smime_ct "id-smime-ct" +#define NID_id_smime_ct 190 +#define OBJ_id_smime_ct OBJ_SMIME,1L + +#define SN_id_smime_aa "id-smime-aa" +#define NID_id_smime_aa 191 +#define OBJ_id_smime_aa OBJ_SMIME,2L + +#define SN_id_smime_alg "id-smime-alg" +#define NID_id_smime_alg 192 +#define OBJ_id_smime_alg OBJ_SMIME,3L + +#define SN_id_smime_cd "id-smime-cd" +#define NID_id_smime_cd 193 +#define OBJ_id_smime_cd OBJ_SMIME,4L + +#define SN_id_smime_spq "id-smime-spq" +#define NID_id_smime_spq 194 +#define OBJ_id_smime_spq OBJ_SMIME,5L + +#define SN_id_smime_cti "id-smime-cti" +#define NID_id_smime_cti 195 +#define OBJ_id_smime_cti OBJ_SMIME,6L + +#define SN_id_smime_mod_cms "id-smime-mod-cms" +#define NID_id_smime_mod_cms 196 +#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L + +#define SN_id_smime_mod_ess "id-smime-mod-ess" +#define NID_id_smime_mod_ess 197 +#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L + +#define SN_id_smime_mod_oid "id-smime-mod-oid" +#define NID_id_smime_mod_oid 198 +#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L + +#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" +#define NID_id_smime_mod_msg_v3 199 +#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L + +#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" +#define NID_id_smime_mod_ets_eSignature_88 200 +#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L + +#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" +#define NID_id_smime_mod_ets_eSignature_97 201 +#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L + +#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" +#define NID_id_smime_mod_ets_eSigPolicy_88 202 +#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L + +#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" +#define NID_id_smime_mod_ets_eSigPolicy_97 203 +#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L + +#define SN_id_smime_ct_receipt "id-smime-ct-receipt" +#define NID_id_smime_ct_receipt 204 +#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L + +#define SN_id_smime_ct_authData "id-smime-ct-authData" +#define NID_id_smime_ct_authData 205 +#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L + +#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" +#define NID_id_smime_ct_publishCert 206 +#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L + +#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" +#define NID_id_smime_ct_TSTInfo 207 +#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L + +#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" +#define NID_id_smime_ct_TDTInfo 208 +#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L + +#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" +#define NID_id_smime_ct_contentInfo 209 +#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L + +#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" +#define NID_id_smime_ct_DVCSRequestData 210 +#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L + +#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" +#define NID_id_smime_ct_DVCSResponseData 211 +#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L + +#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" +#define NID_id_smime_ct_compressedData 786 +#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L + +#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" +#define NID_id_ct_asciiTextWithCRLF 787 +#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L + +#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" +#define NID_id_smime_aa_receiptRequest 212 +#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L + +#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" +#define NID_id_smime_aa_securityLabel 213 +#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L + +#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" +#define NID_id_smime_aa_mlExpandHistory 214 +#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L + +#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" +#define NID_id_smime_aa_contentHint 215 +#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L + +#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" +#define NID_id_smime_aa_msgSigDigest 216 +#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L + +#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" +#define NID_id_smime_aa_encapContentType 217 +#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L + +#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" +#define NID_id_smime_aa_contentIdentifier 218 +#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L + +#define SN_id_smime_aa_macValue "id-smime-aa-macValue" +#define NID_id_smime_aa_macValue 219 +#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L + +#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" +#define NID_id_smime_aa_equivalentLabels 220 +#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L + +#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" +#define NID_id_smime_aa_contentReference 221 +#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L + +#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" +#define NID_id_smime_aa_encrypKeyPref 222 +#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L + +#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" +#define NID_id_smime_aa_signingCertificate 223 +#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L + +#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" +#define NID_id_smime_aa_smimeEncryptCerts 224 +#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L + +#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" +#define NID_id_smime_aa_timeStampToken 225 +#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L + +#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" +#define NID_id_smime_aa_ets_sigPolicyId 226 +#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L + +#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" +#define NID_id_smime_aa_ets_commitmentType 227 +#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L + +#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" +#define NID_id_smime_aa_ets_signerLocation 228 +#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L + +#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" +#define NID_id_smime_aa_ets_signerAttr 229 +#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L + +#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" +#define NID_id_smime_aa_ets_otherSigCert 230 +#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L + +#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" +#define NID_id_smime_aa_ets_contentTimestamp 231 +#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L + +#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" +#define NID_id_smime_aa_ets_CertificateRefs 232 +#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L + +#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" +#define NID_id_smime_aa_ets_RevocationRefs 233 +#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L + +#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" +#define NID_id_smime_aa_ets_certValues 234 +#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L + +#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" +#define NID_id_smime_aa_ets_revocationValues 235 +#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L + +#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" +#define NID_id_smime_aa_ets_escTimeStamp 236 +#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L + +#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" +#define NID_id_smime_aa_ets_certCRLTimestamp 237 +#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L + +#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" +#define NID_id_smime_aa_ets_archiveTimeStamp 238 +#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L + +#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" +#define NID_id_smime_aa_signatureType 239 +#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L + +#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" +#define NID_id_smime_aa_dvcs_dvc 240 +#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L + +#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" +#define NID_id_smime_alg_ESDHwith3DES 241 +#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L + +#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" +#define NID_id_smime_alg_ESDHwithRC2 242 +#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L + +#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" +#define NID_id_smime_alg_3DESwrap 243 +#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L + +#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" +#define NID_id_smime_alg_RC2wrap 244 +#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L + +#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" +#define NID_id_smime_alg_ESDH 245 +#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L + +#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" +#define NID_id_smime_alg_CMS3DESwrap 246 +#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L + +#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" +#define NID_id_smime_alg_CMSRC2wrap 247 +#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L + +#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" +#define NID_id_alg_PWRI_KEK 893 +#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L + +#define SN_id_smime_cd_ldap "id-smime-cd-ldap" +#define NID_id_smime_cd_ldap 248 +#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L + +#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" +#define NID_id_smime_spq_ets_sqt_uri 249 +#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L + +#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" +#define NID_id_smime_spq_ets_sqt_unotice 250 +#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L + +#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" +#define NID_id_smime_cti_ets_proofOfOrigin 251 +#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L + +#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" +#define NID_id_smime_cti_ets_proofOfReceipt 252 +#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L + +#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" +#define NID_id_smime_cti_ets_proofOfDelivery 253 +#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L + +#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" +#define NID_id_smime_cti_ets_proofOfSender 254 +#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L + +#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" +#define NID_id_smime_cti_ets_proofOfApproval 255 +#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L + +#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" +#define NID_id_smime_cti_ets_proofOfCreation 256 +#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L + +#define LN_friendlyName "friendlyName" +#define NID_friendlyName 156 +#define OBJ_friendlyName OBJ_pkcs9,20L + +#define LN_localKeyID "localKeyID" +#define NID_localKeyID 157 +#define OBJ_localKeyID OBJ_pkcs9,21L + +#define SN_ms_csp_name "CSPName" +#define LN_ms_csp_name "Microsoft CSP Name" +#define NID_ms_csp_name 417 +#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L + +#define SN_LocalKeySet "LocalKeySet" +#define LN_LocalKeySet "Microsoft Local Key set" +#define NID_LocalKeySet 856 +#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L + +#define OBJ_certTypes OBJ_pkcs9,22L + +#define LN_x509Certificate "x509Certificate" +#define NID_x509Certificate 158 +#define OBJ_x509Certificate OBJ_certTypes,1L + +#define LN_sdsiCertificate "sdsiCertificate" +#define NID_sdsiCertificate 159 +#define OBJ_sdsiCertificate OBJ_certTypes,2L + +#define OBJ_crlTypes OBJ_pkcs9,23L + +#define LN_x509Crl "x509Crl" +#define NID_x509Crl 160 +#define OBJ_x509Crl OBJ_crlTypes,1L + +#define OBJ_pkcs12 OBJ_pkcs,12L + +#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L + +#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +#define NID_pbe_WithSHA1And128BitRC4 144 +#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L + +#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +#define NID_pbe_WithSHA1And40BitRC4 145 +#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L + +#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L + +#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L + +#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +#define NID_pbe_WithSHA1And128BitRC2_CBC 148 +#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L + +#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +#define NID_pbe_WithSHA1And40BitRC2_CBC 149 +#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L + +#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L + +#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L + +#define LN_keyBag "keyBag" +#define NID_keyBag 150 +#define OBJ_keyBag OBJ_pkcs12_BagIds,1L + +#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +#define NID_pkcs8ShroudedKeyBag 151 +#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L + +#define LN_certBag "certBag" +#define NID_certBag 152 +#define OBJ_certBag OBJ_pkcs12_BagIds,3L + +#define LN_crlBag "crlBag" +#define NID_crlBag 153 +#define OBJ_crlBag OBJ_pkcs12_BagIds,4L + +#define LN_secretBag "secretBag" +#define NID_secretBag 154 +#define OBJ_secretBag OBJ_pkcs12_BagIds,5L + +#define LN_safeContentsBag "safeContentsBag" +#define NID_safeContentsBag 155 +#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L + +#define SN_md2 "MD2" +#define LN_md2 "md2" +#define NID_md2 3 +#define OBJ_md2 OBJ_rsadsi,2L,2L + +#define SN_md4 "MD4" +#define LN_md4 "md4" +#define NID_md4 257 +#define OBJ_md4 OBJ_rsadsi,2L,4L + +#define SN_md5 "MD5" +#define LN_md5 "md5" +#define NID_md5 4 +#define OBJ_md5 OBJ_rsadsi,2L,5L + +#define SN_md5_sha1 "MD5-SHA1" +#define LN_md5_sha1 "md5-sha1" +#define NID_md5_sha1 114 + +#define LN_hmacWithMD5 "hmacWithMD5" +#define NID_hmacWithMD5 797 +#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L + +#define LN_hmacWithSHA1 "hmacWithSHA1" +#define NID_hmacWithSHA1 163 +#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +#define LN_hmacWithSHA224 "hmacWithSHA224" +#define NID_hmacWithSHA224 798 +#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L + +#define LN_hmacWithSHA256 "hmacWithSHA256" +#define NID_hmacWithSHA256 799 +#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L + +#define LN_hmacWithSHA384 "hmacWithSHA384" +#define NID_hmacWithSHA384 800 +#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L + +#define LN_hmacWithSHA512 "hmacWithSHA512" +#define NID_hmacWithSHA512 801 +#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L + +#define SN_rc2_cbc "RC2-CBC" +#define LN_rc2_cbc "rc2-cbc" +#define NID_rc2_cbc 37 +#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +#define SN_rc2_ecb "RC2-ECB" +#define LN_rc2_ecb "rc2-ecb" +#define NID_rc2_ecb 38 + +#define SN_rc2_cfb64 "RC2-CFB" +#define LN_rc2_cfb64 "rc2-cfb" +#define NID_rc2_cfb64 39 + +#define SN_rc2_ofb64 "RC2-OFB" +#define LN_rc2_ofb64 "rc2-ofb" +#define NID_rc2_ofb64 40 + +#define SN_rc2_40_cbc "RC2-40-CBC" +#define LN_rc2_40_cbc "rc2-40-cbc" +#define NID_rc2_40_cbc 98 + +#define SN_rc2_64_cbc "RC2-64-CBC" +#define LN_rc2_64_cbc "rc2-64-cbc" +#define NID_rc2_64_cbc 166 + +#define SN_rc4 "RC4" +#define LN_rc4 "rc4" +#define NID_rc4 5 +#define OBJ_rc4 OBJ_rsadsi,3L,4L + +#define SN_rc4_40 "RC4-40" +#define LN_rc4_40 "rc4-40" +#define NID_rc4_40 97 + +#define SN_des_ede3_cbc "DES-EDE3-CBC" +#define LN_des_ede3_cbc "des-ede3-cbc" +#define NID_des_ede3_cbc 44 +#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +#define SN_rc5_cbc "RC5-CBC" +#define LN_rc5_cbc "rc5-cbc" +#define NID_rc5_cbc 120 +#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +#define SN_rc5_ecb "RC5-ECB" +#define LN_rc5_ecb "rc5-ecb" +#define NID_rc5_ecb 121 + +#define SN_rc5_cfb64 "RC5-CFB" +#define LN_rc5_cfb64 "rc5-cfb" +#define NID_rc5_cfb64 122 + +#define SN_rc5_ofb64 "RC5-OFB" +#define LN_rc5_ofb64 "rc5-ofb" +#define NID_rc5_ofb64 123 + +#define SN_ms_ext_req "msExtReq" +#define LN_ms_ext_req "Microsoft Extension Request" +#define NID_ms_ext_req 171 +#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +#define SN_ms_code_ind "msCodeInd" +#define LN_ms_code_ind "Microsoft Individual Code Signing" +#define NID_ms_code_ind 134 +#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +#define SN_ms_code_com "msCodeCom" +#define LN_ms_code_com "Microsoft Commercial Code Signing" +#define NID_ms_code_com 135 +#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +#define SN_ms_ctl_sign "msCTLSign" +#define LN_ms_ctl_sign "Microsoft Trust List Signing" +#define NID_ms_ctl_sign 136 +#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +#define SN_ms_sgc "msSGC" +#define LN_ms_sgc "Microsoft Server Gated Crypto" +#define NID_ms_sgc 137 +#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +#define SN_ms_efs "msEFS" +#define LN_ms_efs "Microsoft Encrypted File System" +#define NID_ms_efs 138 +#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +#define SN_ms_smartcard_login "msSmartcardLogin" +#define LN_ms_smartcard_login "Microsoft Smartcardlogin" +#define NID_ms_smartcard_login 648 +#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L + +#define SN_ms_upn "msUPN" +#define LN_ms_upn "Microsoft Universal Principal Name" +#define NID_ms_upn 649 +#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L + +#define SN_idea_cbc "IDEA-CBC" +#define LN_idea_cbc "idea-cbc" +#define NID_idea_cbc 34 +#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +#define SN_idea_ecb "IDEA-ECB" +#define LN_idea_ecb "idea-ecb" +#define NID_idea_ecb 36 + +#define SN_idea_cfb64 "IDEA-CFB" +#define LN_idea_cfb64 "idea-cfb" +#define NID_idea_cfb64 35 + +#define SN_idea_ofb64 "IDEA-OFB" +#define LN_idea_ofb64 "idea-ofb" +#define NID_idea_ofb64 46 + +#define SN_bf_cbc "BF-CBC" +#define LN_bf_cbc "bf-cbc" +#define NID_bf_cbc 91 +#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +#define SN_bf_ecb "BF-ECB" +#define LN_bf_ecb "bf-ecb" +#define NID_bf_ecb 92 + +#define SN_bf_cfb64 "BF-CFB" +#define LN_bf_cfb64 "bf-cfb" +#define NID_bf_cfb64 93 + +#define SN_bf_ofb64 "BF-OFB" +#define LN_bf_ofb64 "bf-ofb" +#define NID_bf_ofb64 94 + +#define SN_id_pkix "PKIX" +#define NID_id_pkix 127 +#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +#define SN_id_pkix_mod "id-pkix-mod" +#define NID_id_pkix_mod 258 +#define OBJ_id_pkix_mod OBJ_id_pkix,0L + +#define SN_id_pe "id-pe" +#define NID_id_pe 175 +#define OBJ_id_pe OBJ_id_pkix,1L + +#define SN_id_qt "id-qt" +#define NID_id_qt 259 +#define OBJ_id_qt OBJ_id_pkix,2L + +#define SN_id_kp "id-kp" +#define NID_id_kp 128 +#define OBJ_id_kp OBJ_id_pkix,3L + +#define SN_id_it "id-it" +#define NID_id_it 260 +#define OBJ_id_it OBJ_id_pkix,4L + +#define SN_id_pkip "id-pkip" +#define NID_id_pkip 261 +#define OBJ_id_pkip OBJ_id_pkix,5L + +#define SN_id_alg "id-alg" +#define NID_id_alg 262 +#define OBJ_id_alg OBJ_id_pkix,6L + +#define SN_id_cmc "id-cmc" +#define NID_id_cmc 263 +#define OBJ_id_cmc OBJ_id_pkix,7L + +#define SN_id_on "id-on" +#define NID_id_on 264 +#define OBJ_id_on OBJ_id_pkix,8L + +#define SN_id_pda "id-pda" +#define NID_id_pda 265 +#define OBJ_id_pda OBJ_id_pkix,9L + +#define SN_id_aca "id-aca" +#define NID_id_aca 266 +#define OBJ_id_aca OBJ_id_pkix,10L + +#define SN_id_qcs "id-qcs" +#define NID_id_qcs 267 +#define OBJ_id_qcs OBJ_id_pkix,11L + +#define SN_id_cct "id-cct" +#define NID_id_cct 268 +#define OBJ_id_cct OBJ_id_pkix,12L + +#define SN_id_ppl "id-ppl" +#define NID_id_ppl 662 +#define OBJ_id_ppl OBJ_id_pkix,21L + +#define SN_id_ad "id-ad" +#define NID_id_ad 176 +#define OBJ_id_ad OBJ_id_pkix,48L + +#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" +#define NID_id_pkix1_explicit_88 269 +#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L + +#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" +#define NID_id_pkix1_implicit_88 270 +#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L + +#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" +#define NID_id_pkix1_explicit_93 271 +#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L + +#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" +#define NID_id_pkix1_implicit_93 272 +#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L + +#define SN_id_mod_crmf "id-mod-crmf" +#define NID_id_mod_crmf 273 +#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L + +#define SN_id_mod_cmc "id-mod-cmc" +#define NID_id_mod_cmc 274 +#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L + +#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" +#define NID_id_mod_kea_profile_88 275 +#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L + +#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" +#define NID_id_mod_kea_profile_93 276 +#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L + +#define SN_id_mod_cmp "id-mod-cmp" +#define NID_id_mod_cmp 277 +#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L + +#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" +#define NID_id_mod_qualified_cert_88 278 +#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L + +#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" +#define NID_id_mod_qualified_cert_93 279 +#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L + +#define SN_id_mod_attribute_cert "id-mod-attribute-cert" +#define NID_id_mod_attribute_cert 280 +#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L + +#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" +#define NID_id_mod_timestamp_protocol 281 +#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L + +#define SN_id_mod_ocsp "id-mod-ocsp" +#define NID_id_mod_ocsp 282 +#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L + +#define SN_id_mod_dvcs "id-mod-dvcs" +#define NID_id_mod_dvcs 283 +#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L + +#define SN_id_mod_cmp2000 "id-mod-cmp2000" +#define NID_id_mod_cmp2000 284 +#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L + +#define SN_info_access "authorityInfoAccess" +#define LN_info_access "Authority Information Access" +#define NID_info_access 177 +#define OBJ_info_access OBJ_id_pe,1L + +#define SN_biometricInfo "biometricInfo" +#define LN_biometricInfo "Biometric Info" +#define NID_biometricInfo 285 +#define OBJ_biometricInfo OBJ_id_pe,2L + +#define SN_qcStatements "qcStatements" +#define NID_qcStatements 286 +#define OBJ_qcStatements OBJ_id_pe,3L + +#define SN_ac_auditEntity "ac-auditEntity" +#define NID_ac_auditEntity 287 +#define OBJ_ac_auditEntity OBJ_id_pe,4L + +#define SN_ac_targeting "ac-targeting" +#define NID_ac_targeting 288 +#define OBJ_ac_targeting OBJ_id_pe,5L + +#define SN_aaControls "aaControls" +#define NID_aaControls 289 +#define OBJ_aaControls OBJ_id_pe,6L + +#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" +#define NID_sbgp_ipAddrBlock 290 +#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L + +#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" +#define NID_sbgp_autonomousSysNum 291 +#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L + +#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" +#define NID_sbgp_routerIdentifier 292 +#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L + +#define SN_ac_proxying "ac-proxying" +#define NID_ac_proxying 397 +#define OBJ_ac_proxying OBJ_id_pe,10L + +#define SN_sinfo_access "subjectInfoAccess" +#define LN_sinfo_access "Subject Information Access" +#define NID_sinfo_access 398 +#define OBJ_sinfo_access OBJ_id_pe,11L + +#define SN_proxyCertInfo "proxyCertInfo" +#define LN_proxyCertInfo "Proxy Certificate Information" +#define NID_proxyCertInfo 663 +#define OBJ_proxyCertInfo OBJ_id_pe,14L + +#define SN_id_qt_cps "id-qt-cps" +#define LN_id_qt_cps "Policy Qualifier CPS" +#define NID_id_qt_cps 164 +#define OBJ_id_qt_cps OBJ_id_qt,1L + +#define SN_id_qt_unotice "id-qt-unotice" +#define LN_id_qt_unotice "Policy Qualifier User Notice" +#define NID_id_qt_unotice 165 +#define OBJ_id_qt_unotice OBJ_id_qt,2L + +#define SN_textNotice "textNotice" +#define NID_textNotice 293 +#define OBJ_textNotice OBJ_id_qt,3L + +#define SN_server_auth "serverAuth" +#define LN_server_auth "TLS Web Server Authentication" +#define NID_server_auth 129 +#define OBJ_server_auth OBJ_id_kp,1L + +#define SN_client_auth "clientAuth" +#define LN_client_auth "TLS Web Client Authentication" +#define NID_client_auth 130 +#define OBJ_client_auth OBJ_id_kp,2L + +#define SN_code_sign "codeSigning" +#define LN_code_sign "Code Signing" +#define NID_code_sign 131 +#define OBJ_code_sign OBJ_id_kp,3L + +#define SN_email_protect "emailProtection" +#define LN_email_protect "E-mail Protection" +#define NID_email_protect 132 +#define OBJ_email_protect OBJ_id_kp,4L + +#define SN_ipsecEndSystem "ipsecEndSystem" +#define LN_ipsecEndSystem "IPSec End System" +#define NID_ipsecEndSystem 294 +#define OBJ_ipsecEndSystem OBJ_id_kp,5L + +#define SN_ipsecTunnel "ipsecTunnel" +#define LN_ipsecTunnel "IPSec Tunnel" +#define NID_ipsecTunnel 295 +#define OBJ_ipsecTunnel OBJ_id_kp,6L + +#define SN_ipsecUser "ipsecUser" +#define LN_ipsecUser "IPSec User" +#define NID_ipsecUser 296 +#define OBJ_ipsecUser OBJ_id_kp,7L + +#define SN_time_stamp "timeStamping" +#define LN_time_stamp "Time Stamping" +#define NID_time_stamp 133 +#define OBJ_time_stamp OBJ_id_kp,8L + +#define SN_OCSP_sign "OCSPSigning" +#define LN_OCSP_sign "OCSP Signing" +#define NID_OCSP_sign 180 +#define OBJ_OCSP_sign OBJ_id_kp,9L + +#define SN_dvcs "DVCS" +#define LN_dvcs "dvcs" +#define NID_dvcs 297 +#define OBJ_dvcs OBJ_id_kp,10L + +#define SN_id_it_caProtEncCert "id-it-caProtEncCert" +#define NID_id_it_caProtEncCert 298 +#define OBJ_id_it_caProtEncCert OBJ_id_it,1L + +#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" +#define NID_id_it_signKeyPairTypes 299 +#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L + +#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" +#define NID_id_it_encKeyPairTypes 300 +#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L + +#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" +#define NID_id_it_preferredSymmAlg 301 +#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L + +#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" +#define NID_id_it_caKeyUpdateInfo 302 +#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L + +#define SN_id_it_currentCRL "id-it-currentCRL" +#define NID_id_it_currentCRL 303 +#define OBJ_id_it_currentCRL OBJ_id_it,6L + +#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" +#define NID_id_it_unsupportedOIDs 304 +#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L + +#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" +#define NID_id_it_subscriptionRequest 305 +#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L + +#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" +#define NID_id_it_subscriptionResponse 306 +#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L + +#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" +#define NID_id_it_keyPairParamReq 307 +#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L + +#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" +#define NID_id_it_keyPairParamRep 308 +#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L + +#define SN_id_it_revPassphrase "id-it-revPassphrase" +#define NID_id_it_revPassphrase 309 +#define OBJ_id_it_revPassphrase OBJ_id_it,12L + +#define SN_id_it_implicitConfirm "id-it-implicitConfirm" +#define NID_id_it_implicitConfirm 310 +#define OBJ_id_it_implicitConfirm OBJ_id_it,13L + +#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" +#define NID_id_it_confirmWaitTime 311 +#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L + +#define SN_id_it_origPKIMessage "id-it-origPKIMessage" +#define NID_id_it_origPKIMessage 312 +#define OBJ_id_it_origPKIMessage OBJ_id_it,15L + +#define SN_id_it_suppLangTags "id-it-suppLangTags" +#define NID_id_it_suppLangTags 784 +#define OBJ_id_it_suppLangTags OBJ_id_it,16L + +#define SN_id_regCtrl "id-regCtrl" +#define NID_id_regCtrl 313 +#define OBJ_id_regCtrl OBJ_id_pkip,1L + +#define SN_id_regInfo "id-regInfo" +#define NID_id_regInfo 314 +#define OBJ_id_regInfo OBJ_id_pkip,2L + +#define SN_id_regCtrl_regToken "id-regCtrl-regToken" +#define NID_id_regCtrl_regToken 315 +#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L + +#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" +#define NID_id_regCtrl_authenticator 316 +#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L + +#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" +#define NID_id_regCtrl_pkiPublicationInfo 317 +#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L + +#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" +#define NID_id_regCtrl_pkiArchiveOptions 318 +#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L + +#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" +#define NID_id_regCtrl_oldCertID 319 +#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L + +#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" +#define NID_id_regCtrl_protocolEncrKey 320 +#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L + +#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" +#define NID_id_regInfo_utf8Pairs 321 +#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L + +#define SN_id_regInfo_certReq "id-regInfo-certReq" +#define NID_id_regInfo_certReq 322 +#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L + +#define SN_id_alg_des40 "id-alg-des40" +#define NID_id_alg_des40 323 +#define OBJ_id_alg_des40 OBJ_id_alg,1L + +#define SN_id_alg_noSignature "id-alg-noSignature" +#define NID_id_alg_noSignature 324 +#define OBJ_id_alg_noSignature OBJ_id_alg,2L + +#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" +#define NID_id_alg_dh_sig_hmac_sha1 325 +#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L + +#define SN_id_alg_dh_pop "id-alg-dh-pop" +#define NID_id_alg_dh_pop 326 +#define OBJ_id_alg_dh_pop OBJ_id_alg,4L + +#define SN_id_cmc_statusInfo "id-cmc-statusInfo" +#define NID_id_cmc_statusInfo 327 +#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L + +#define SN_id_cmc_identification "id-cmc-identification" +#define NID_id_cmc_identification 328 +#define OBJ_id_cmc_identification OBJ_id_cmc,2L + +#define SN_id_cmc_identityProof "id-cmc-identityProof" +#define NID_id_cmc_identityProof 329 +#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L + +#define SN_id_cmc_dataReturn "id-cmc-dataReturn" +#define NID_id_cmc_dataReturn 330 +#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L + +#define SN_id_cmc_transactionId "id-cmc-transactionId" +#define NID_id_cmc_transactionId 331 +#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L + +#define SN_id_cmc_senderNonce "id-cmc-senderNonce" +#define NID_id_cmc_senderNonce 332 +#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L + +#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" +#define NID_id_cmc_recipientNonce 333 +#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L + +#define SN_id_cmc_addExtensions "id-cmc-addExtensions" +#define NID_id_cmc_addExtensions 334 +#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L + +#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" +#define NID_id_cmc_encryptedPOP 335 +#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L + +#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" +#define NID_id_cmc_decryptedPOP 336 +#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L + +#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" +#define NID_id_cmc_lraPOPWitness 337 +#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L + +#define SN_id_cmc_getCert "id-cmc-getCert" +#define NID_id_cmc_getCert 338 +#define OBJ_id_cmc_getCert OBJ_id_cmc,15L + +#define SN_id_cmc_getCRL "id-cmc-getCRL" +#define NID_id_cmc_getCRL 339 +#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L + +#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" +#define NID_id_cmc_revokeRequest 340 +#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L + +#define SN_id_cmc_regInfo "id-cmc-regInfo" +#define NID_id_cmc_regInfo 341 +#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L + +#define SN_id_cmc_responseInfo "id-cmc-responseInfo" +#define NID_id_cmc_responseInfo 342 +#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L + +#define SN_id_cmc_queryPending "id-cmc-queryPending" +#define NID_id_cmc_queryPending 343 +#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L + +#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" +#define NID_id_cmc_popLinkRandom 344 +#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L + +#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" +#define NID_id_cmc_popLinkWitness 345 +#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L + +#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" +#define NID_id_cmc_confirmCertAcceptance 346 +#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L + +#define SN_id_on_personalData "id-on-personalData" +#define NID_id_on_personalData 347 +#define OBJ_id_on_personalData OBJ_id_on,1L + +#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" +#define LN_id_on_permanentIdentifier "Permanent Identifier" +#define NID_id_on_permanentIdentifier 858 +#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L + +#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" +#define NID_id_pda_dateOfBirth 348 +#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L + +#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" +#define NID_id_pda_placeOfBirth 349 +#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L + +#define SN_id_pda_gender "id-pda-gender" +#define NID_id_pda_gender 351 +#define OBJ_id_pda_gender OBJ_id_pda,3L + +#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" +#define NID_id_pda_countryOfCitizenship 352 +#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L + +#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" +#define NID_id_pda_countryOfResidence 353 +#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L + +#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" +#define NID_id_aca_authenticationInfo 354 +#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L + +#define SN_id_aca_accessIdentity "id-aca-accessIdentity" +#define NID_id_aca_accessIdentity 355 +#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L + +#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" +#define NID_id_aca_chargingIdentity 356 +#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L + +#define SN_id_aca_group "id-aca-group" +#define NID_id_aca_group 357 +#define OBJ_id_aca_group OBJ_id_aca,4L + +#define SN_id_aca_role "id-aca-role" +#define NID_id_aca_role 358 +#define OBJ_id_aca_role OBJ_id_aca,5L + +#define SN_id_aca_encAttrs "id-aca-encAttrs" +#define NID_id_aca_encAttrs 399 +#define OBJ_id_aca_encAttrs OBJ_id_aca,6L + +#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" +#define NID_id_qcs_pkixQCSyntax_v1 359 +#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L + +#define SN_id_cct_crs "id-cct-crs" +#define NID_id_cct_crs 360 +#define OBJ_id_cct_crs OBJ_id_cct,1L + +#define SN_id_cct_PKIData "id-cct-PKIData" +#define NID_id_cct_PKIData 361 +#define OBJ_id_cct_PKIData OBJ_id_cct,2L + +#define SN_id_cct_PKIResponse "id-cct-PKIResponse" +#define NID_id_cct_PKIResponse 362 +#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L + +#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" +#define LN_id_ppl_anyLanguage "Any language" +#define NID_id_ppl_anyLanguage 664 +#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L + +#define SN_id_ppl_inheritAll "id-ppl-inheritAll" +#define LN_id_ppl_inheritAll "Inherit all" +#define NID_id_ppl_inheritAll 665 +#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L + +#define SN_Independent "id-ppl-independent" +#define LN_Independent "Independent" +#define NID_Independent 667 +#define OBJ_Independent OBJ_id_ppl,2L + +#define SN_ad_OCSP "OCSP" +#define LN_ad_OCSP "OCSP" +#define NID_ad_OCSP 178 +#define OBJ_ad_OCSP OBJ_id_ad,1L + +#define SN_ad_ca_issuers "caIssuers" +#define LN_ad_ca_issuers "CA Issuers" +#define NID_ad_ca_issuers 179 +#define OBJ_ad_ca_issuers OBJ_id_ad,2L + +#define SN_ad_timeStamping "ad_timestamping" +#define LN_ad_timeStamping "AD Time Stamping" +#define NID_ad_timeStamping 363 +#define OBJ_ad_timeStamping OBJ_id_ad,3L + +#define SN_ad_dvcs "AD_DVCS" +#define LN_ad_dvcs "ad dvcs" +#define NID_ad_dvcs 364 +#define OBJ_ad_dvcs OBJ_id_ad,4L + +#define SN_caRepository "caRepository" +#define LN_caRepository "CA Repository" +#define NID_caRepository 785 +#define OBJ_caRepository OBJ_id_ad,5L + +#define OBJ_id_pkix_OCSP OBJ_ad_OCSP + +#define SN_id_pkix_OCSP_basic "basicOCSPResponse" +#define LN_id_pkix_OCSP_basic "Basic OCSP Response" +#define NID_id_pkix_OCSP_basic 365 +#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L + +#define SN_id_pkix_OCSP_Nonce "Nonce" +#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" +#define NID_id_pkix_OCSP_Nonce 366 +#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L + +#define SN_id_pkix_OCSP_CrlID "CrlID" +#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" +#define NID_id_pkix_OCSP_CrlID 367 +#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L + +#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" +#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" +#define NID_id_pkix_OCSP_acceptableResponses 368 +#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L + +#define SN_id_pkix_OCSP_noCheck "noCheck" +#define LN_id_pkix_OCSP_noCheck "OCSP No Check" +#define NID_id_pkix_OCSP_noCheck 369 +#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L + +#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" +#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" +#define NID_id_pkix_OCSP_archiveCutoff 370 +#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L + +#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" +#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" +#define NID_id_pkix_OCSP_serviceLocator 371 +#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L + +#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" +#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" +#define NID_id_pkix_OCSP_extendedStatus 372 +#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L + +#define SN_id_pkix_OCSP_valid "valid" +#define NID_id_pkix_OCSP_valid 373 +#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L + +#define SN_id_pkix_OCSP_path "path" +#define NID_id_pkix_OCSP_path 374 +#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L + +#define SN_id_pkix_OCSP_trustRoot "trustRoot" +#define LN_id_pkix_OCSP_trustRoot "Trust Root" +#define NID_id_pkix_OCSP_trustRoot 375 +#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L + +#define SN_algorithm "algorithm" +#define LN_algorithm "algorithm" +#define NID_algorithm 376 +#define OBJ_algorithm 1L,3L,14L,3L,2L + +#define SN_md5WithRSA "RSA-NP-MD5" +#define LN_md5WithRSA "md5WithRSA" +#define NID_md5WithRSA 104 +#define OBJ_md5WithRSA OBJ_algorithm,3L + +#define SN_des_ecb "DES-ECB" +#define LN_des_ecb "des-ecb" +#define NID_des_ecb 29 +#define OBJ_des_ecb OBJ_algorithm,6L + +#define SN_des_cbc "DES-CBC" +#define LN_des_cbc "des-cbc" +#define NID_des_cbc 31 +#define OBJ_des_cbc OBJ_algorithm,7L + +#define SN_des_ofb64 "DES-OFB" +#define LN_des_ofb64 "des-ofb" +#define NID_des_ofb64 45 +#define OBJ_des_ofb64 OBJ_algorithm,8L + +#define SN_des_cfb64 "DES-CFB" +#define LN_des_cfb64 "des-cfb" +#define NID_des_cfb64 30 +#define OBJ_des_cfb64 OBJ_algorithm,9L + +#define SN_rsaSignature "rsaSignature" +#define NID_rsaSignature 377 +#define OBJ_rsaSignature OBJ_algorithm,11L + +#define SN_dsa_2 "DSA-old" +#define LN_dsa_2 "dsaEncryption-old" +#define NID_dsa_2 67 +#define OBJ_dsa_2 OBJ_algorithm,12L + +#define SN_dsaWithSHA "DSA-SHA" +#define LN_dsaWithSHA "dsaWithSHA" +#define NID_dsaWithSHA 66 +#define OBJ_dsaWithSHA OBJ_algorithm,13L + +#define SN_shaWithRSAEncryption "RSA-SHA" +#define LN_shaWithRSAEncryption "shaWithRSAEncryption" +#define NID_shaWithRSAEncryption 42 +#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +#define SN_des_ede_ecb "DES-EDE" +#define LN_des_ede_ecb "des-ede" +#define NID_des_ede_ecb 32 +#define OBJ_des_ede_ecb OBJ_algorithm,17L + +#define SN_des_ede3_ecb "DES-EDE3" +#define LN_des_ede3_ecb "des-ede3" +#define NID_des_ede3_ecb 33 + +#define SN_des_ede_cbc "DES-EDE-CBC" +#define LN_des_ede_cbc "des-ede-cbc" +#define NID_des_ede_cbc 43 + +#define SN_des_ede_cfb64 "DES-EDE-CFB" +#define LN_des_ede_cfb64 "des-ede-cfb" +#define NID_des_ede_cfb64 60 + +#define SN_des_ede3_cfb64 "DES-EDE3-CFB" +#define LN_des_ede3_cfb64 "des-ede3-cfb" +#define NID_des_ede3_cfb64 61 + +#define SN_des_ede_ofb64 "DES-EDE-OFB" +#define LN_des_ede_ofb64 "des-ede-ofb" +#define NID_des_ede_ofb64 62 + +#define SN_des_ede3_ofb64 "DES-EDE3-OFB" +#define LN_des_ede3_ofb64 "des-ede3-ofb" +#define NID_des_ede3_ofb64 63 + +#define SN_desx_cbc "DESX-CBC" +#define LN_desx_cbc "desx-cbc" +#define NID_desx_cbc 80 + +#define SN_sha "SHA" +#define LN_sha "sha" +#define NID_sha 41 +#define OBJ_sha OBJ_algorithm,18L + +#define SN_sha1 "SHA1" +#define LN_sha1 "sha1" +#define NID_sha1 64 +#define OBJ_sha1 OBJ_algorithm,26L + +#define SN_dsaWithSHA1_2 "DSA-SHA1-old" +#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +#define NID_dsaWithSHA1_2 70 +#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +#define SN_sha1WithRSA "RSA-SHA1-2" +#define LN_sha1WithRSA "sha1WithRSA" +#define NID_sha1WithRSA 115 +#define OBJ_sha1WithRSA OBJ_algorithm,29L + +#define SN_ripemd160 "RIPEMD160" +#define LN_ripemd160 "ripemd160" +#define NID_ripemd160 117 +#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +#define SN_ripemd160WithRSA "RSA-RIPEMD160" +#define LN_ripemd160WithRSA "ripemd160WithRSA" +#define NID_ripemd160WithRSA 119 +#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +#define SN_sxnet "SXNetID" +#define LN_sxnet "Strong Extranet ID" +#define NID_sxnet 143 +#define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +#define SN_X500 "X500" +#define LN_X500 "directory services (X.500)" +#define NID_X500 11 +#define OBJ_X500 2L,5L + +#define SN_X509 "X509" +#define NID_X509 12 +#define OBJ_X509 OBJ_X500,4L + +#define SN_commonName "CN" +#define LN_commonName "commonName" +#define NID_commonName 13 +#define OBJ_commonName OBJ_X509,3L + +#define SN_surname "SN" +#define LN_surname "surname" +#define NID_surname 100 +#define OBJ_surname OBJ_X509,4L + +#define LN_serialNumber "serialNumber" +#define NID_serialNumber 105 +#define OBJ_serialNumber OBJ_X509,5L + +#define SN_countryName "C" +#define LN_countryName "countryName" +#define NID_countryName 14 +#define OBJ_countryName OBJ_X509,6L + +#define SN_localityName "L" +#define LN_localityName "localityName" +#define NID_localityName 15 +#define OBJ_localityName OBJ_X509,7L + +#define SN_stateOrProvinceName "ST" +#define LN_stateOrProvinceName "stateOrProvinceName" +#define NID_stateOrProvinceName 16 +#define OBJ_stateOrProvinceName OBJ_X509,8L + +#define SN_streetAddress "street" +#define LN_streetAddress "streetAddress" +#define NID_streetAddress 660 +#define OBJ_streetAddress OBJ_X509,9L + +#define SN_organizationName "O" +#define LN_organizationName "organizationName" +#define NID_organizationName 17 +#define OBJ_organizationName OBJ_X509,10L + +#define SN_organizationalUnitName "OU" +#define LN_organizationalUnitName "organizationalUnitName" +#define NID_organizationalUnitName 18 +#define OBJ_organizationalUnitName OBJ_X509,11L + +#define SN_title "title" +#define LN_title "title" +#define NID_title 106 +#define OBJ_title OBJ_X509,12L + +#define LN_description "description" +#define NID_description 107 +#define OBJ_description OBJ_X509,13L + +#define LN_searchGuide "searchGuide" +#define NID_searchGuide 859 +#define OBJ_searchGuide OBJ_X509,14L + +#define LN_businessCategory "businessCategory" +#define NID_businessCategory 860 +#define OBJ_businessCategory OBJ_X509,15L + +#define LN_postalAddress "postalAddress" +#define NID_postalAddress 861 +#define OBJ_postalAddress OBJ_X509,16L + +#define LN_postalCode "postalCode" +#define NID_postalCode 661 +#define OBJ_postalCode OBJ_X509,17L + +#define LN_postOfficeBox "postOfficeBox" +#define NID_postOfficeBox 862 +#define OBJ_postOfficeBox OBJ_X509,18L + +#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" +#define NID_physicalDeliveryOfficeName 863 +#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L + +#define LN_telephoneNumber "telephoneNumber" +#define NID_telephoneNumber 864 +#define OBJ_telephoneNumber OBJ_X509,20L + +#define LN_telexNumber "telexNumber" +#define NID_telexNumber 865 +#define OBJ_telexNumber OBJ_X509,21L + +#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" +#define NID_teletexTerminalIdentifier 866 +#define OBJ_teletexTerminalIdentifier OBJ_X509,22L + +#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" +#define NID_facsimileTelephoneNumber 867 +#define OBJ_facsimileTelephoneNumber OBJ_X509,23L + +#define LN_x121Address "x121Address" +#define NID_x121Address 868 +#define OBJ_x121Address OBJ_X509,24L + +#define LN_internationaliSDNNumber "internationaliSDNNumber" +#define NID_internationaliSDNNumber 869 +#define OBJ_internationaliSDNNumber OBJ_X509,25L + +#define LN_registeredAddress "registeredAddress" +#define NID_registeredAddress 870 +#define OBJ_registeredAddress OBJ_X509,26L + +#define LN_destinationIndicator "destinationIndicator" +#define NID_destinationIndicator 871 +#define OBJ_destinationIndicator OBJ_X509,27L + +#define LN_preferredDeliveryMethod "preferredDeliveryMethod" +#define NID_preferredDeliveryMethod 872 +#define OBJ_preferredDeliveryMethod OBJ_X509,28L + +#define LN_presentationAddress "presentationAddress" +#define NID_presentationAddress 873 +#define OBJ_presentationAddress OBJ_X509,29L + +#define LN_supportedApplicationContext "supportedApplicationContext" +#define NID_supportedApplicationContext 874 +#define OBJ_supportedApplicationContext OBJ_X509,30L + +#define SN_member "member" +#define NID_member 875 +#define OBJ_member OBJ_X509,31L + +#define SN_owner "owner" +#define NID_owner 876 +#define OBJ_owner OBJ_X509,32L + +#define LN_roleOccupant "roleOccupant" +#define NID_roleOccupant 877 +#define OBJ_roleOccupant OBJ_X509,33L + +#define SN_seeAlso "seeAlso" +#define NID_seeAlso 878 +#define OBJ_seeAlso OBJ_X509,34L + +#define LN_userPassword "userPassword" +#define NID_userPassword 879 +#define OBJ_userPassword OBJ_X509,35L + +#define LN_userCertificate "userCertificate" +#define NID_userCertificate 880 +#define OBJ_userCertificate OBJ_X509,36L + +#define LN_cACertificate "cACertificate" +#define NID_cACertificate 881 +#define OBJ_cACertificate OBJ_X509,37L + +#define LN_authorityRevocationList "authorityRevocationList" +#define NID_authorityRevocationList 882 +#define OBJ_authorityRevocationList OBJ_X509,38L + +#define LN_certificateRevocationList "certificateRevocationList" +#define NID_certificateRevocationList 883 +#define OBJ_certificateRevocationList OBJ_X509,39L + +#define LN_crossCertificatePair "crossCertificatePair" +#define NID_crossCertificatePair 884 +#define OBJ_crossCertificatePair OBJ_X509,40L + +#define SN_name "name" +#define LN_name "name" +#define NID_name 173 +#define OBJ_name OBJ_X509,41L + +#define SN_givenName "GN" +#define LN_givenName "givenName" +#define NID_givenName 99 +#define OBJ_givenName OBJ_X509,42L + +#define SN_initials "initials" +#define LN_initials "initials" +#define NID_initials 101 +#define OBJ_initials OBJ_X509,43L + +#define LN_generationQualifier "generationQualifier" +#define NID_generationQualifier 509 +#define OBJ_generationQualifier OBJ_X509,44L + +#define LN_x500UniqueIdentifier "x500UniqueIdentifier" +#define NID_x500UniqueIdentifier 503 +#define OBJ_x500UniqueIdentifier OBJ_X509,45L + +#define SN_dnQualifier "dnQualifier" +#define LN_dnQualifier "dnQualifier" +#define NID_dnQualifier 174 +#define OBJ_dnQualifier OBJ_X509,46L + +#define LN_enhancedSearchGuide "enhancedSearchGuide" +#define NID_enhancedSearchGuide 885 +#define OBJ_enhancedSearchGuide OBJ_X509,47L + +#define LN_protocolInformation "protocolInformation" +#define NID_protocolInformation 886 +#define OBJ_protocolInformation OBJ_X509,48L + +#define LN_distinguishedName "distinguishedName" +#define NID_distinguishedName 887 +#define OBJ_distinguishedName OBJ_X509,49L + +#define LN_uniqueMember "uniqueMember" +#define NID_uniqueMember 888 +#define OBJ_uniqueMember OBJ_X509,50L + +#define LN_houseIdentifier "houseIdentifier" +#define NID_houseIdentifier 889 +#define OBJ_houseIdentifier OBJ_X509,51L + +#define LN_supportedAlgorithms "supportedAlgorithms" +#define NID_supportedAlgorithms 890 +#define OBJ_supportedAlgorithms OBJ_X509,52L + +#define LN_deltaRevocationList "deltaRevocationList" +#define NID_deltaRevocationList 891 +#define OBJ_deltaRevocationList OBJ_X509,53L + +#define SN_dmdName "dmdName" +#define NID_dmdName 892 +#define OBJ_dmdName OBJ_X509,54L + +#define LN_pseudonym "pseudonym" +#define NID_pseudonym 510 +#define OBJ_pseudonym OBJ_X509,65L + +#define SN_role "role" +#define LN_role "role" +#define NID_role 400 +#define OBJ_role OBJ_X509,72L + +#define SN_X500algorithms "X500algorithms" +#define LN_X500algorithms "directory services - algorithms" +#define NID_X500algorithms 378 +#define OBJ_X500algorithms OBJ_X500,8L + +#define SN_rsa "RSA" +#define LN_rsa "rsa" +#define NID_rsa 19 +#define OBJ_rsa OBJ_X500algorithms,1L,1L + +#define SN_mdc2WithRSA "RSA-MDC2" +#define LN_mdc2WithRSA "mdc2WithRSA" +#define NID_mdc2WithRSA 96 +#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L + +#define SN_mdc2 "MDC2" +#define LN_mdc2 "mdc2" +#define NID_mdc2 95 +#define OBJ_mdc2 OBJ_X500algorithms,3L,101L + +#define SN_id_ce "id-ce" +#define NID_id_ce 81 +#define OBJ_id_ce OBJ_X500,29L + +#define SN_subject_directory_attributes "subjectDirectoryAttributes" +#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" +#define NID_subject_directory_attributes 769 +#define OBJ_subject_directory_attributes OBJ_id_ce,9L + +#define SN_subject_key_identifier "subjectKeyIdentifier" +#define LN_subject_key_identifier "X509v3 Subject Key Identifier" +#define NID_subject_key_identifier 82 +#define OBJ_subject_key_identifier OBJ_id_ce,14L + +#define SN_key_usage "keyUsage" +#define LN_key_usage "X509v3 Key Usage" +#define NID_key_usage 83 +#define OBJ_key_usage OBJ_id_ce,15L + +#define SN_private_key_usage_period "privateKeyUsagePeriod" +#define LN_private_key_usage_period "X509v3 Private Key Usage Period" +#define NID_private_key_usage_period 84 +#define OBJ_private_key_usage_period OBJ_id_ce,16L + +#define SN_subject_alt_name "subjectAltName" +#define LN_subject_alt_name "X509v3 Subject Alternative Name" +#define NID_subject_alt_name 85 +#define OBJ_subject_alt_name OBJ_id_ce,17L + +#define SN_issuer_alt_name "issuerAltName" +#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +#define NID_issuer_alt_name 86 +#define OBJ_issuer_alt_name OBJ_id_ce,18L + +#define SN_basic_constraints "basicConstraints" +#define LN_basic_constraints "X509v3 Basic Constraints" +#define NID_basic_constraints 87 +#define OBJ_basic_constraints OBJ_id_ce,19L + +#define SN_crl_number "crlNumber" +#define LN_crl_number "X509v3 CRL Number" +#define NID_crl_number 88 +#define OBJ_crl_number OBJ_id_ce,20L + +#define SN_crl_reason "CRLReason" +#define LN_crl_reason "X509v3 CRL Reason Code" +#define NID_crl_reason 141 +#define OBJ_crl_reason OBJ_id_ce,21L + +#define SN_invalidity_date "invalidityDate" +#define LN_invalidity_date "Invalidity Date" +#define NID_invalidity_date 142 +#define OBJ_invalidity_date OBJ_id_ce,24L + +#define SN_delta_crl "deltaCRL" +#define LN_delta_crl "X509v3 Delta CRL Indicator" +#define NID_delta_crl 140 +#define OBJ_delta_crl OBJ_id_ce,27L + +#define SN_issuing_distribution_point "issuingDistributionPoint" +#define LN_issuing_distribution_point "X509v3 Issuing Distrubution Point" +#define NID_issuing_distribution_point 770 +#define OBJ_issuing_distribution_point OBJ_id_ce,28L + +#define SN_certificate_issuer "certificateIssuer" +#define LN_certificate_issuer "X509v3 Certificate Issuer" +#define NID_certificate_issuer 771 +#define OBJ_certificate_issuer OBJ_id_ce,29L + +#define SN_name_constraints "nameConstraints" +#define LN_name_constraints "X509v3 Name Constraints" +#define NID_name_constraints 666 +#define OBJ_name_constraints OBJ_id_ce,30L + +#define SN_crl_distribution_points "crlDistributionPoints" +#define LN_crl_distribution_points "X509v3 CRL Distribution Points" +#define NID_crl_distribution_points 103 +#define OBJ_crl_distribution_points OBJ_id_ce,31L + +#define SN_certificate_policies "certificatePolicies" +#define LN_certificate_policies "X509v3 Certificate Policies" +#define NID_certificate_policies 89 +#define OBJ_certificate_policies OBJ_id_ce,32L + +#define SN_any_policy "anyPolicy" +#define LN_any_policy "X509v3 Any Policy" +#define NID_any_policy 746 +#define OBJ_any_policy OBJ_certificate_policies,0L + +#define SN_policy_mappings "policyMappings" +#define LN_policy_mappings "X509v3 Policy Mappings" +#define NID_policy_mappings 747 +#define OBJ_policy_mappings OBJ_id_ce,33L + +#define SN_authority_key_identifier "authorityKeyIdentifier" +#define LN_authority_key_identifier "X509v3 Authority Key Identifier" +#define NID_authority_key_identifier 90 +#define OBJ_authority_key_identifier OBJ_id_ce,35L + +#define SN_policy_constraints "policyConstraints" +#define LN_policy_constraints "X509v3 Policy Constraints" +#define NID_policy_constraints 401 +#define OBJ_policy_constraints OBJ_id_ce,36L + +#define SN_ext_key_usage "extendedKeyUsage" +#define LN_ext_key_usage "X509v3 Extended Key Usage" +#define NID_ext_key_usage 126 +#define OBJ_ext_key_usage OBJ_id_ce,37L + +#define SN_freshest_crl "freshestCRL" +#define LN_freshest_crl "X509v3 Freshest CRL" +#define NID_freshest_crl 857 +#define OBJ_freshest_crl OBJ_id_ce,46L + +#define SN_inhibit_any_policy "inhibitAnyPolicy" +#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" +#define NID_inhibit_any_policy 748 +#define OBJ_inhibit_any_policy OBJ_id_ce,54L + +#define SN_target_information "targetInformation" +#define LN_target_information "X509v3 AC Targeting" +#define NID_target_information 402 +#define OBJ_target_information OBJ_id_ce,55L + +#define SN_no_rev_avail "noRevAvail" +#define LN_no_rev_avail "X509v3 No Revocation Available" +#define NID_no_rev_avail 403 +#define OBJ_no_rev_avail OBJ_id_ce,56L + +#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" +#define LN_anyExtendedKeyUsage "Any Extended Key Usage" +#define NID_anyExtendedKeyUsage 910 +#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L + +#define SN_netscape "Netscape" +#define LN_netscape "Netscape Communications Corp." +#define NID_netscape 57 +#define OBJ_netscape 2L,16L,840L,1L,113730L + +#define SN_netscape_cert_extension "nsCertExt" +#define LN_netscape_cert_extension "Netscape Certificate Extension" +#define NID_netscape_cert_extension 58 +#define OBJ_netscape_cert_extension OBJ_netscape,1L + +#define SN_netscape_data_type "nsDataType" +#define LN_netscape_data_type "Netscape Data Type" +#define NID_netscape_data_type 59 +#define OBJ_netscape_data_type OBJ_netscape,2L + +#define SN_netscape_cert_type "nsCertType" +#define LN_netscape_cert_type "Netscape Cert Type" +#define NID_netscape_cert_type 71 +#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +#define SN_netscape_base_url "nsBaseUrl" +#define LN_netscape_base_url "Netscape Base Url" +#define NID_netscape_base_url 72 +#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +#define SN_netscape_revocation_url "nsRevocationUrl" +#define LN_netscape_revocation_url "Netscape Revocation Url" +#define NID_netscape_revocation_url 73 +#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +#define NID_netscape_ca_revocation_url 74 +#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +#define SN_netscape_renewal_url "nsRenewalUrl" +#define LN_netscape_renewal_url "Netscape Renewal Url" +#define NID_netscape_renewal_url 75 +#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +#define SN_netscape_ca_policy_url "nsCaPolicyUrl" +#define LN_netscape_ca_policy_url "Netscape CA Policy Url" +#define NID_netscape_ca_policy_url 76 +#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +#define SN_netscape_ssl_server_name "nsSslServerName" +#define LN_netscape_ssl_server_name "Netscape SSL Server Name" +#define NID_netscape_ssl_server_name 77 +#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +#define SN_netscape_comment "nsComment" +#define LN_netscape_comment "Netscape Comment" +#define NID_netscape_comment 78 +#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +#define SN_netscape_cert_sequence "nsCertSequence" +#define LN_netscape_cert_sequence "Netscape Certificate Sequence" +#define NID_netscape_cert_sequence 79 +#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +#define SN_ns_sgc "nsSGC" +#define LN_ns_sgc "Netscape Server Gated Crypto" +#define NID_ns_sgc 139 +#define OBJ_ns_sgc OBJ_netscape,4L,1L + +#define SN_org "ORG" +#define LN_org "org" +#define NID_org 379 +#define OBJ_org OBJ_iso,3L + +#define SN_dod "DOD" +#define LN_dod "dod" +#define NID_dod 380 +#define OBJ_dod OBJ_org,6L + +#define SN_iana "IANA" +#define LN_iana "iana" +#define NID_iana 381 +#define OBJ_iana OBJ_dod,1L + +#define OBJ_internet OBJ_iana + +#define SN_Directory "directory" +#define LN_Directory "Directory" +#define NID_Directory 382 +#define OBJ_Directory OBJ_internet,1L + +#define SN_Management "mgmt" +#define LN_Management "Management" +#define NID_Management 383 +#define OBJ_Management OBJ_internet,2L + +#define SN_Experimental "experimental" +#define LN_Experimental "Experimental" +#define NID_Experimental 384 +#define OBJ_Experimental OBJ_internet,3L + +#define SN_Private "private" +#define LN_Private "Private" +#define NID_Private 385 +#define OBJ_Private OBJ_internet,4L + +#define SN_Security "security" +#define LN_Security "Security" +#define NID_Security 386 +#define OBJ_Security OBJ_internet,5L + +#define SN_SNMPv2 "snmpv2" +#define LN_SNMPv2 "SNMPv2" +#define NID_SNMPv2 387 +#define OBJ_SNMPv2 OBJ_internet,6L + +#define LN_Mail "Mail" +#define NID_Mail 388 +#define OBJ_Mail OBJ_internet,7L + +#define SN_Enterprises "enterprises" +#define LN_Enterprises "Enterprises" +#define NID_Enterprises 389 +#define OBJ_Enterprises OBJ_Private,1L + +#define SN_dcObject "dcobject" +#define LN_dcObject "dcObject" +#define NID_dcObject 390 +#define OBJ_dcObject OBJ_Enterprises,1466L,344L + +#define SN_mime_mhs "mime-mhs" +#define LN_mime_mhs "MIME MHS" +#define NID_mime_mhs 504 +#define OBJ_mime_mhs OBJ_Mail,1L + +#define SN_mime_mhs_headings "mime-mhs-headings" +#define LN_mime_mhs_headings "mime-mhs-headings" +#define NID_mime_mhs_headings 505 +#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L + +#define SN_mime_mhs_bodies "mime-mhs-bodies" +#define LN_mime_mhs_bodies "mime-mhs-bodies" +#define NID_mime_mhs_bodies 506 +#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L + +#define SN_id_hex_partial_message "id-hex-partial-message" +#define LN_id_hex_partial_message "id-hex-partial-message" +#define NID_id_hex_partial_message 507 +#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L + +#define SN_id_hex_multipart_message "id-hex-multipart-message" +#define LN_id_hex_multipart_message "id-hex-multipart-message" +#define NID_id_hex_multipart_message 508 +#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L + +#define SN_rle_compression "RLE" +#define LN_rle_compression "run length compression" +#define NID_rle_compression 124 +#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L + +#define SN_zlib_compression "ZLIB" +#define LN_zlib_compression "zlib compression" +#define NID_zlib_compression 125 +#define OBJ_zlib_compression OBJ_id_smime_alg,8L + +#define OBJ_csor 2L,16L,840L,1L,101L,3L + +#define OBJ_nistAlgorithms OBJ_csor,4L + +#define OBJ_aes OBJ_nistAlgorithms,1L + +#define SN_aes_128_ecb "AES-128-ECB" +#define LN_aes_128_ecb "aes-128-ecb" +#define NID_aes_128_ecb 418 +#define OBJ_aes_128_ecb OBJ_aes,1L + +#define SN_aes_128_cbc "AES-128-CBC" +#define LN_aes_128_cbc "aes-128-cbc" +#define NID_aes_128_cbc 419 +#define OBJ_aes_128_cbc OBJ_aes,2L + +#define SN_aes_128_ofb128 "AES-128-OFB" +#define LN_aes_128_ofb128 "aes-128-ofb" +#define NID_aes_128_ofb128 420 +#define OBJ_aes_128_ofb128 OBJ_aes,3L + +#define SN_aes_128_cfb128 "AES-128-CFB" +#define LN_aes_128_cfb128 "aes-128-cfb" +#define NID_aes_128_cfb128 421 +#define OBJ_aes_128_cfb128 OBJ_aes,4L + +#define SN_id_aes128_wrap "id-aes128-wrap" +#define NID_id_aes128_wrap 788 +#define OBJ_id_aes128_wrap OBJ_aes,5L + +#define SN_aes_128_gcm "id-aes128-GCM" +#define LN_aes_128_gcm "aes-128-gcm" +#define NID_aes_128_gcm 895 +#define OBJ_aes_128_gcm OBJ_aes,6L + +#define SN_aes_128_ccm "id-aes128-CCM" +#define LN_aes_128_ccm "aes-128-ccm" +#define NID_aes_128_ccm 896 +#define OBJ_aes_128_ccm OBJ_aes,7L + +#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" +#define NID_id_aes128_wrap_pad 897 +#define OBJ_id_aes128_wrap_pad OBJ_aes,8L + +#define SN_aes_192_ecb "AES-192-ECB" +#define LN_aes_192_ecb "aes-192-ecb" +#define NID_aes_192_ecb 422 +#define OBJ_aes_192_ecb OBJ_aes,21L + +#define SN_aes_192_cbc "AES-192-CBC" +#define LN_aes_192_cbc "aes-192-cbc" +#define NID_aes_192_cbc 423 +#define OBJ_aes_192_cbc OBJ_aes,22L + +#define SN_aes_192_ofb128 "AES-192-OFB" +#define LN_aes_192_ofb128 "aes-192-ofb" +#define NID_aes_192_ofb128 424 +#define OBJ_aes_192_ofb128 OBJ_aes,23L + +#define SN_aes_192_cfb128 "AES-192-CFB" +#define LN_aes_192_cfb128 "aes-192-cfb" +#define NID_aes_192_cfb128 425 +#define OBJ_aes_192_cfb128 OBJ_aes,24L + +#define SN_id_aes192_wrap "id-aes192-wrap" +#define NID_id_aes192_wrap 789 +#define OBJ_id_aes192_wrap OBJ_aes,25L + +#define SN_aes_192_gcm "id-aes192-GCM" +#define LN_aes_192_gcm "aes-192-gcm" +#define NID_aes_192_gcm 898 +#define OBJ_aes_192_gcm OBJ_aes,26L + +#define SN_aes_192_ccm "id-aes192-CCM" +#define LN_aes_192_ccm "aes-192-ccm" +#define NID_aes_192_ccm 899 +#define OBJ_aes_192_ccm OBJ_aes,27L + +#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" +#define NID_id_aes192_wrap_pad 900 +#define OBJ_id_aes192_wrap_pad OBJ_aes,28L + +#define SN_aes_256_ecb "AES-256-ECB" +#define LN_aes_256_ecb "aes-256-ecb" +#define NID_aes_256_ecb 426 +#define OBJ_aes_256_ecb OBJ_aes,41L + +#define SN_aes_256_cbc "AES-256-CBC" +#define LN_aes_256_cbc "aes-256-cbc" +#define NID_aes_256_cbc 427 +#define OBJ_aes_256_cbc OBJ_aes,42L + +#define SN_aes_256_ofb128 "AES-256-OFB" +#define LN_aes_256_ofb128 "aes-256-ofb" +#define NID_aes_256_ofb128 428 +#define OBJ_aes_256_ofb128 OBJ_aes,43L + +#define SN_aes_256_cfb128 "AES-256-CFB" +#define LN_aes_256_cfb128 "aes-256-cfb" +#define NID_aes_256_cfb128 429 +#define OBJ_aes_256_cfb128 OBJ_aes,44L + +#define SN_id_aes256_wrap "id-aes256-wrap" +#define NID_id_aes256_wrap 790 +#define OBJ_id_aes256_wrap OBJ_aes,45L + +#define SN_aes_256_gcm "id-aes256-GCM" +#define LN_aes_256_gcm "aes-256-gcm" +#define NID_aes_256_gcm 901 +#define OBJ_aes_256_gcm OBJ_aes,46L + +#define SN_aes_256_ccm "id-aes256-CCM" +#define LN_aes_256_ccm "aes-256-ccm" +#define NID_aes_256_ccm 902 +#define OBJ_aes_256_ccm OBJ_aes,47L + +#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" +#define NID_id_aes256_wrap_pad 903 +#define OBJ_id_aes256_wrap_pad OBJ_aes,48L + +#define SN_aes_128_cfb1 "AES-128-CFB1" +#define LN_aes_128_cfb1 "aes-128-cfb1" +#define NID_aes_128_cfb1 650 + +#define SN_aes_192_cfb1 "AES-192-CFB1" +#define LN_aes_192_cfb1 "aes-192-cfb1" +#define NID_aes_192_cfb1 651 + +#define SN_aes_256_cfb1 "AES-256-CFB1" +#define LN_aes_256_cfb1 "aes-256-cfb1" +#define NID_aes_256_cfb1 652 + +#define SN_aes_128_cfb8 "AES-128-CFB8" +#define LN_aes_128_cfb8 "aes-128-cfb8" +#define NID_aes_128_cfb8 653 + +#define SN_aes_192_cfb8 "AES-192-CFB8" +#define LN_aes_192_cfb8 "aes-192-cfb8" +#define NID_aes_192_cfb8 654 + +#define SN_aes_256_cfb8 "AES-256-CFB8" +#define LN_aes_256_cfb8 "aes-256-cfb8" +#define NID_aes_256_cfb8 655 + +#define SN_aes_128_ctr "AES-128-CTR" +#define LN_aes_128_ctr "aes-128-ctr" +#define NID_aes_128_ctr 904 + +#define SN_aes_192_ctr "AES-192-CTR" +#define LN_aes_192_ctr "aes-192-ctr" +#define NID_aes_192_ctr 905 + +#define SN_aes_256_ctr "AES-256-CTR" +#define LN_aes_256_ctr "aes-256-ctr" +#define NID_aes_256_ctr 906 + +#define SN_aes_128_xts "AES-128-XTS" +#define LN_aes_128_xts "aes-128-xts" +#define NID_aes_128_xts 913 + +#define SN_aes_256_xts "AES-256-XTS" +#define LN_aes_256_xts "aes-256-xts" +#define NID_aes_256_xts 914 + +#define SN_des_cfb1 "DES-CFB1" +#define LN_des_cfb1 "des-cfb1" +#define NID_des_cfb1 656 + +#define SN_des_cfb8 "DES-CFB8" +#define LN_des_cfb8 "des-cfb8" +#define NID_des_cfb8 657 + +#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" +#define LN_des_ede3_cfb1 "des-ede3-cfb1" +#define NID_des_ede3_cfb1 658 + +#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" +#define LN_des_ede3_cfb8 "des-ede3-cfb8" +#define NID_des_ede3_cfb8 659 + +#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L + +#define SN_sha256 "SHA256" +#define LN_sha256 "sha256" +#define NID_sha256 672 +#define OBJ_sha256 OBJ_nist_hashalgs,1L + +#define SN_sha384 "SHA384" +#define LN_sha384 "sha384" +#define NID_sha384 673 +#define OBJ_sha384 OBJ_nist_hashalgs,2L + +#define SN_sha512 "SHA512" +#define LN_sha512 "sha512" +#define NID_sha512 674 +#define OBJ_sha512 OBJ_nist_hashalgs,3L + +#define SN_sha224 "SHA224" +#define LN_sha224 "sha224" +#define NID_sha224 675 +#define OBJ_sha224 OBJ_nist_hashalgs,4L + +#define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L + +#define SN_dsa_with_SHA224 "dsa_with_SHA224" +#define NID_dsa_with_SHA224 802 +#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L + +#define SN_dsa_with_SHA256 "dsa_with_SHA256" +#define NID_dsa_with_SHA256 803 +#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L + +#define SN_hold_instruction_code "holdInstructionCode" +#define LN_hold_instruction_code "Hold Instruction Code" +#define NID_hold_instruction_code 430 +#define OBJ_hold_instruction_code OBJ_id_ce,23L + +#define OBJ_holdInstruction OBJ_X9_57,2L + +#define SN_hold_instruction_none "holdInstructionNone" +#define LN_hold_instruction_none "Hold Instruction None" +#define NID_hold_instruction_none 431 +#define OBJ_hold_instruction_none OBJ_holdInstruction,1L + +#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" +#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" +#define NID_hold_instruction_call_issuer 432 +#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L + +#define SN_hold_instruction_reject "holdInstructionReject" +#define LN_hold_instruction_reject "Hold Instruction Reject" +#define NID_hold_instruction_reject 433 +#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L + +#define SN_data "data" +#define NID_data 434 +#define OBJ_data OBJ_itu_t,9L + +#define SN_pss "pss" +#define NID_pss 435 +#define OBJ_pss OBJ_data,2342L + +#define SN_ucl "ucl" +#define NID_ucl 436 +#define OBJ_ucl OBJ_pss,19200300L + +#define SN_pilot "pilot" +#define NID_pilot 437 +#define OBJ_pilot OBJ_ucl,100L + +#define LN_pilotAttributeType "pilotAttributeType" +#define NID_pilotAttributeType 438 +#define OBJ_pilotAttributeType OBJ_pilot,1L + +#define LN_pilotAttributeSyntax "pilotAttributeSyntax" +#define NID_pilotAttributeSyntax 439 +#define OBJ_pilotAttributeSyntax OBJ_pilot,3L + +#define LN_pilotObjectClass "pilotObjectClass" +#define NID_pilotObjectClass 440 +#define OBJ_pilotObjectClass OBJ_pilot,4L + +#define LN_pilotGroups "pilotGroups" +#define NID_pilotGroups 441 +#define OBJ_pilotGroups OBJ_pilot,10L + +#define LN_iA5StringSyntax "iA5StringSyntax" +#define NID_iA5StringSyntax 442 +#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L + +#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" +#define NID_caseIgnoreIA5StringSyntax 443 +#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L + +#define LN_pilotObject "pilotObject" +#define NID_pilotObject 444 +#define OBJ_pilotObject OBJ_pilotObjectClass,3L + +#define LN_pilotPerson "pilotPerson" +#define NID_pilotPerson 445 +#define OBJ_pilotPerson OBJ_pilotObjectClass,4L + +#define SN_account "account" +#define NID_account 446 +#define OBJ_account OBJ_pilotObjectClass,5L + +#define SN_document "document" +#define NID_document 447 +#define OBJ_document OBJ_pilotObjectClass,6L + +#define SN_room "room" +#define NID_room 448 +#define OBJ_room OBJ_pilotObjectClass,7L + +#define LN_documentSeries "documentSeries" +#define NID_documentSeries 449 +#define OBJ_documentSeries OBJ_pilotObjectClass,9L + +#define SN_Domain "domain" +#define LN_Domain "Domain" +#define NID_Domain 392 +#define OBJ_Domain OBJ_pilotObjectClass,13L + +#define LN_rFC822localPart "rFC822localPart" +#define NID_rFC822localPart 450 +#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L + +#define LN_dNSDomain "dNSDomain" +#define NID_dNSDomain 451 +#define OBJ_dNSDomain OBJ_pilotObjectClass,15L + +#define LN_domainRelatedObject "domainRelatedObject" +#define NID_domainRelatedObject 452 +#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L + +#define LN_friendlyCountry "friendlyCountry" +#define NID_friendlyCountry 453 +#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L + +#define LN_simpleSecurityObject "simpleSecurityObject" +#define NID_simpleSecurityObject 454 +#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L + +#define LN_pilotOrganization "pilotOrganization" +#define NID_pilotOrganization 455 +#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L + +#define LN_pilotDSA "pilotDSA" +#define NID_pilotDSA 456 +#define OBJ_pilotDSA OBJ_pilotObjectClass,21L + +#define LN_qualityLabelledData "qualityLabelledData" +#define NID_qualityLabelledData 457 +#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L + +#define SN_userId "UID" +#define LN_userId "userId" +#define NID_userId 458 +#define OBJ_userId OBJ_pilotAttributeType,1L + +#define LN_textEncodedORAddress "textEncodedORAddress" +#define NID_textEncodedORAddress 459 +#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L + +#define SN_rfc822Mailbox "mail" +#define LN_rfc822Mailbox "rfc822Mailbox" +#define NID_rfc822Mailbox 460 +#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L + +#define SN_info "info" +#define NID_info 461 +#define OBJ_info OBJ_pilotAttributeType,4L + +#define LN_favouriteDrink "favouriteDrink" +#define NID_favouriteDrink 462 +#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L + +#define LN_roomNumber "roomNumber" +#define NID_roomNumber 463 +#define OBJ_roomNumber OBJ_pilotAttributeType,6L + +#define SN_photo "photo" +#define NID_photo 464 +#define OBJ_photo OBJ_pilotAttributeType,7L + +#define LN_userClass "userClass" +#define NID_userClass 465 +#define OBJ_userClass OBJ_pilotAttributeType,8L + +#define SN_host "host" +#define NID_host 466 +#define OBJ_host OBJ_pilotAttributeType,9L + +#define SN_manager "manager" +#define NID_manager 467 +#define OBJ_manager OBJ_pilotAttributeType,10L + +#define LN_documentIdentifier "documentIdentifier" +#define NID_documentIdentifier 468 +#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L + +#define LN_documentTitle "documentTitle" +#define NID_documentTitle 469 +#define OBJ_documentTitle OBJ_pilotAttributeType,12L + +#define LN_documentVersion "documentVersion" +#define NID_documentVersion 470 +#define OBJ_documentVersion OBJ_pilotAttributeType,13L + +#define LN_documentAuthor "documentAuthor" +#define NID_documentAuthor 471 +#define OBJ_documentAuthor OBJ_pilotAttributeType,14L + +#define LN_documentLocation "documentLocation" +#define NID_documentLocation 472 +#define OBJ_documentLocation OBJ_pilotAttributeType,15L + +#define LN_homeTelephoneNumber "homeTelephoneNumber" +#define NID_homeTelephoneNumber 473 +#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L + +#define SN_secretary "secretary" +#define NID_secretary 474 +#define OBJ_secretary OBJ_pilotAttributeType,21L + +#define LN_otherMailbox "otherMailbox" +#define NID_otherMailbox 475 +#define OBJ_otherMailbox OBJ_pilotAttributeType,22L + +#define LN_lastModifiedTime "lastModifiedTime" +#define NID_lastModifiedTime 476 +#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L + +#define LN_lastModifiedBy "lastModifiedBy" +#define NID_lastModifiedBy 477 +#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L + +#define SN_domainComponent "DC" +#define LN_domainComponent "domainComponent" +#define NID_domainComponent 391 +#define OBJ_domainComponent OBJ_pilotAttributeType,25L + +#define LN_aRecord "aRecord" +#define NID_aRecord 478 +#define OBJ_aRecord OBJ_pilotAttributeType,26L + +#define LN_pilotAttributeType27 "pilotAttributeType27" +#define NID_pilotAttributeType27 479 +#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L + +#define LN_mXRecord "mXRecord" +#define NID_mXRecord 480 +#define OBJ_mXRecord OBJ_pilotAttributeType,28L + +#define LN_nSRecord "nSRecord" +#define NID_nSRecord 481 +#define OBJ_nSRecord OBJ_pilotAttributeType,29L + +#define LN_sOARecord "sOARecord" +#define NID_sOARecord 482 +#define OBJ_sOARecord OBJ_pilotAttributeType,30L + +#define LN_cNAMERecord "cNAMERecord" +#define NID_cNAMERecord 483 +#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L + +#define LN_associatedDomain "associatedDomain" +#define NID_associatedDomain 484 +#define OBJ_associatedDomain OBJ_pilotAttributeType,37L + +#define LN_associatedName "associatedName" +#define NID_associatedName 485 +#define OBJ_associatedName OBJ_pilotAttributeType,38L + +#define LN_homePostalAddress "homePostalAddress" +#define NID_homePostalAddress 486 +#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L + +#define LN_personalTitle "personalTitle" +#define NID_personalTitle 487 +#define OBJ_personalTitle OBJ_pilotAttributeType,40L + +#define LN_mobileTelephoneNumber "mobileTelephoneNumber" +#define NID_mobileTelephoneNumber 488 +#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L + +#define LN_pagerTelephoneNumber "pagerTelephoneNumber" +#define NID_pagerTelephoneNumber 489 +#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L + +#define LN_friendlyCountryName "friendlyCountryName" +#define NID_friendlyCountryName 490 +#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L + +#define LN_organizationalStatus "organizationalStatus" +#define NID_organizationalStatus 491 +#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L + +#define LN_janetMailbox "janetMailbox" +#define NID_janetMailbox 492 +#define OBJ_janetMailbox OBJ_pilotAttributeType,46L + +#define LN_mailPreferenceOption "mailPreferenceOption" +#define NID_mailPreferenceOption 493 +#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L + +#define LN_buildingName "buildingName" +#define NID_buildingName 494 +#define OBJ_buildingName OBJ_pilotAttributeType,48L + +#define LN_dSAQuality "dSAQuality" +#define NID_dSAQuality 495 +#define OBJ_dSAQuality OBJ_pilotAttributeType,49L + +#define LN_singleLevelQuality "singleLevelQuality" +#define NID_singleLevelQuality 496 +#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L + +#define LN_subtreeMinimumQuality "subtreeMinimumQuality" +#define NID_subtreeMinimumQuality 497 +#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L + +#define LN_subtreeMaximumQuality "subtreeMaximumQuality" +#define NID_subtreeMaximumQuality 498 +#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L + +#define LN_personalSignature "personalSignature" +#define NID_personalSignature 499 +#define OBJ_personalSignature OBJ_pilotAttributeType,53L + +#define LN_dITRedirect "dITRedirect" +#define NID_dITRedirect 500 +#define OBJ_dITRedirect OBJ_pilotAttributeType,54L + +#define SN_audio "audio" +#define NID_audio 501 +#define OBJ_audio OBJ_pilotAttributeType,55L + +#define LN_documentPublisher "documentPublisher" +#define NID_documentPublisher 502 +#define OBJ_documentPublisher OBJ_pilotAttributeType,56L + +#define SN_id_set "id-set" +#define LN_id_set "Secure Electronic Transactions" +#define NID_id_set 512 +#define OBJ_id_set OBJ_international_organizations,42L + +#define SN_set_ctype "set-ctype" +#define LN_set_ctype "content types" +#define NID_set_ctype 513 +#define OBJ_set_ctype OBJ_id_set,0L + +#define SN_set_msgExt "set-msgExt" +#define LN_set_msgExt "message extensions" +#define NID_set_msgExt 514 +#define OBJ_set_msgExt OBJ_id_set,1L + +#define SN_set_attr "set-attr" +#define NID_set_attr 515 +#define OBJ_set_attr OBJ_id_set,3L + +#define SN_set_policy "set-policy" +#define NID_set_policy 516 +#define OBJ_set_policy OBJ_id_set,5L + +#define SN_set_certExt "set-certExt" +#define LN_set_certExt "certificate extensions" +#define NID_set_certExt 517 +#define OBJ_set_certExt OBJ_id_set,7L + +#define SN_set_brand "set-brand" +#define NID_set_brand 518 +#define OBJ_set_brand OBJ_id_set,8L + +#define SN_setct_PANData "setct-PANData" +#define NID_setct_PANData 519 +#define OBJ_setct_PANData OBJ_set_ctype,0L + +#define SN_setct_PANToken "setct-PANToken" +#define NID_setct_PANToken 520 +#define OBJ_setct_PANToken OBJ_set_ctype,1L + +#define SN_setct_PANOnly "setct-PANOnly" +#define NID_setct_PANOnly 521 +#define OBJ_setct_PANOnly OBJ_set_ctype,2L + +#define SN_setct_OIData "setct-OIData" +#define NID_setct_OIData 522 +#define OBJ_setct_OIData OBJ_set_ctype,3L + +#define SN_setct_PI "setct-PI" +#define NID_setct_PI 523 +#define OBJ_setct_PI OBJ_set_ctype,4L + +#define SN_setct_PIData "setct-PIData" +#define NID_setct_PIData 524 +#define OBJ_setct_PIData OBJ_set_ctype,5L + +#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" +#define NID_setct_PIDataUnsigned 525 +#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L + +#define SN_setct_HODInput "setct-HODInput" +#define NID_setct_HODInput 526 +#define OBJ_setct_HODInput OBJ_set_ctype,7L + +#define SN_setct_AuthResBaggage "setct-AuthResBaggage" +#define NID_setct_AuthResBaggage 527 +#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L + +#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" +#define NID_setct_AuthRevReqBaggage 528 +#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L + +#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" +#define NID_setct_AuthRevResBaggage 529 +#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L + +#define SN_setct_CapTokenSeq "setct-CapTokenSeq" +#define NID_setct_CapTokenSeq 530 +#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L + +#define SN_setct_PInitResData "setct-PInitResData" +#define NID_setct_PInitResData 531 +#define OBJ_setct_PInitResData OBJ_set_ctype,12L + +#define SN_setct_PI_TBS "setct-PI-TBS" +#define NID_setct_PI_TBS 532 +#define OBJ_setct_PI_TBS OBJ_set_ctype,13L + +#define SN_setct_PResData "setct-PResData" +#define NID_setct_PResData 533 +#define OBJ_setct_PResData OBJ_set_ctype,14L + +#define SN_setct_AuthReqTBS "setct-AuthReqTBS" +#define NID_setct_AuthReqTBS 534 +#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L + +#define SN_setct_AuthResTBS "setct-AuthResTBS" +#define NID_setct_AuthResTBS 535 +#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L + +#define SN_setct_AuthResTBSX "setct-AuthResTBSX" +#define NID_setct_AuthResTBSX 536 +#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L + +#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" +#define NID_setct_AuthTokenTBS 537 +#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L + +#define SN_setct_CapTokenData "setct-CapTokenData" +#define NID_setct_CapTokenData 538 +#define OBJ_setct_CapTokenData OBJ_set_ctype,20L + +#define SN_setct_CapTokenTBS "setct-CapTokenTBS" +#define NID_setct_CapTokenTBS 539 +#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L + +#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" +#define NID_setct_AcqCardCodeMsg 540 +#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L + +#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" +#define NID_setct_AuthRevReqTBS 541 +#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L + +#define SN_setct_AuthRevResData "setct-AuthRevResData" +#define NID_setct_AuthRevResData 542 +#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L + +#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" +#define NID_setct_AuthRevResTBS 543 +#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L + +#define SN_setct_CapReqTBS "setct-CapReqTBS" +#define NID_setct_CapReqTBS 544 +#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L + +#define SN_setct_CapReqTBSX "setct-CapReqTBSX" +#define NID_setct_CapReqTBSX 545 +#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L + +#define SN_setct_CapResData "setct-CapResData" +#define NID_setct_CapResData 546 +#define OBJ_setct_CapResData OBJ_set_ctype,28L + +#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" +#define NID_setct_CapRevReqTBS 547 +#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L + +#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" +#define NID_setct_CapRevReqTBSX 548 +#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L + +#define SN_setct_CapRevResData "setct-CapRevResData" +#define NID_setct_CapRevResData 549 +#define OBJ_setct_CapRevResData OBJ_set_ctype,31L + +#define SN_setct_CredReqTBS "setct-CredReqTBS" +#define NID_setct_CredReqTBS 550 +#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L + +#define SN_setct_CredReqTBSX "setct-CredReqTBSX" +#define NID_setct_CredReqTBSX 551 +#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L + +#define SN_setct_CredResData "setct-CredResData" +#define NID_setct_CredResData 552 +#define OBJ_setct_CredResData OBJ_set_ctype,34L + +#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" +#define NID_setct_CredRevReqTBS 553 +#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L + +#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" +#define NID_setct_CredRevReqTBSX 554 +#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L + +#define SN_setct_CredRevResData "setct-CredRevResData" +#define NID_setct_CredRevResData 555 +#define OBJ_setct_CredRevResData OBJ_set_ctype,37L + +#define SN_setct_PCertReqData "setct-PCertReqData" +#define NID_setct_PCertReqData 556 +#define OBJ_setct_PCertReqData OBJ_set_ctype,38L + +#define SN_setct_PCertResTBS "setct-PCertResTBS" +#define NID_setct_PCertResTBS 557 +#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L + +#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" +#define NID_setct_BatchAdminReqData 558 +#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L + +#define SN_setct_BatchAdminResData "setct-BatchAdminResData" +#define NID_setct_BatchAdminResData 559 +#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L + +#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" +#define NID_setct_CardCInitResTBS 560 +#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L + +#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" +#define NID_setct_MeAqCInitResTBS 561 +#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L + +#define SN_setct_RegFormResTBS "setct-RegFormResTBS" +#define NID_setct_RegFormResTBS 562 +#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L + +#define SN_setct_CertReqData "setct-CertReqData" +#define NID_setct_CertReqData 563 +#define OBJ_setct_CertReqData OBJ_set_ctype,45L + +#define SN_setct_CertReqTBS "setct-CertReqTBS" +#define NID_setct_CertReqTBS 564 +#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L + +#define SN_setct_CertResData "setct-CertResData" +#define NID_setct_CertResData 565 +#define OBJ_setct_CertResData OBJ_set_ctype,47L + +#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" +#define NID_setct_CertInqReqTBS 566 +#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L + +#define SN_setct_ErrorTBS "setct-ErrorTBS" +#define NID_setct_ErrorTBS 567 +#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L + +#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" +#define NID_setct_PIDualSignedTBE 568 +#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L + +#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" +#define NID_setct_PIUnsignedTBE 569 +#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L + +#define SN_setct_AuthReqTBE "setct-AuthReqTBE" +#define NID_setct_AuthReqTBE 570 +#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L + +#define SN_setct_AuthResTBE "setct-AuthResTBE" +#define NID_setct_AuthResTBE 571 +#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L + +#define SN_setct_AuthResTBEX "setct-AuthResTBEX" +#define NID_setct_AuthResTBEX 572 +#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L + +#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" +#define NID_setct_AuthTokenTBE 573 +#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L + +#define SN_setct_CapTokenTBE "setct-CapTokenTBE" +#define NID_setct_CapTokenTBE 574 +#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L + +#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" +#define NID_setct_CapTokenTBEX 575 +#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L + +#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" +#define NID_setct_AcqCardCodeMsgTBE 576 +#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L + +#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" +#define NID_setct_AuthRevReqTBE 577 +#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L + +#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" +#define NID_setct_AuthRevResTBE 578 +#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L + +#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" +#define NID_setct_AuthRevResTBEB 579 +#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L + +#define SN_setct_CapReqTBE "setct-CapReqTBE" +#define NID_setct_CapReqTBE 580 +#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L + +#define SN_setct_CapReqTBEX "setct-CapReqTBEX" +#define NID_setct_CapReqTBEX 581 +#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L + +#define SN_setct_CapResTBE "setct-CapResTBE" +#define NID_setct_CapResTBE 582 +#define OBJ_setct_CapResTBE OBJ_set_ctype,64L + +#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" +#define NID_setct_CapRevReqTBE 583 +#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L + +#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" +#define NID_setct_CapRevReqTBEX 584 +#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L + +#define SN_setct_CapRevResTBE "setct-CapRevResTBE" +#define NID_setct_CapRevResTBE 585 +#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L + +#define SN_setct_CredReqTBE "setct-CredReqTBE" +#define NID_setct_CredReqTBE 586 +#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L + +#define SN_setct_CredReqTBEX "setct-CredReqTBEX" +#define NID_setct_CredReqTBEX 587 +#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L + +#define SN_setct_CredResTBE "setct-CredResTBE" +#define NID_setct_CredResTBE 588 +#define OBJ_setct_CredResTBE OBJ_set_ctype,70L + +#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" +#define NID_setct_CredRevReqTBE 589 +#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L + +#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" +#define NID_setct_CredRevReqTBEX 590 +#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L + +#define SN_setct_CredRevResTBE "setct-CredRevResTBE" +#define NID_setct_CredRevResTBE 591 +#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L + +#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" +#define NID_setct_BatchAdminReqTBE 592 +#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L + +#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" +#define NID_setct_BatchAdminResTBE 593 +#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L + +#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" +#define NID_setct_RegFormReqTBE 594 +#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L + +#define SN_setct_CertReqTBE "setct-CertReqTBE" +#define NID_setct_CertReqTBE 595 +#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L + +#define SN_setct_CertReqTBEX "setct-CertReqTBEX" +#define NID_setct_CertReqTBEX 596 +#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L + +#define SN_setct_CertResTBE "setct-CertResTBE" +#define NID_setct_CertResTBE 597 +#define OBJ_setct_CertResTBE OBJ_set_ctype,79L + +#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" +#define NID_setct_CRLNotificationTBS 598 +#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L + +#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" +#define NID_setct_CRLNotificationResTBS 599 +#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L + +#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" +#define NID_setct_BCIDistributionTBS 600 +#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L + +#define SN_setext_genCrypt "setext-genCrypt" +#define LN_setext_genCrypt "generic cryptogram" +#define NID_setext_genCrypt 601 +#define OBJ_setext_genCrypt OBJ_set_msgExt,1L + +#define SN_setext_miAuth "setext-miAuth" +#define LN_setext_miAuth "merchant initiated auth" +#define NID_setext_miAuth 602 +#define OBJ_setext_miAuth OBJ_set_msgExt,3L + +#define SN_setext_pinSecure "setext-pinSecure" +#define NID_setext_pinSecure 603 +#define OBJ_setext_pinSecure OBJ_set_msgExt,4L + +#define SN_setext_pinAny "setext-pinAny" +#define NID_setext_pinAny 604 +#define OBJ_setext_pinAny OBJ_set_msgExt,5L + +#define SN_setext_track2 "setext-track2" +#define NID_setext_track2 605 +#define OBJ_setext_track2 OBJ_set_msgExt,7L + +#define SN_setext_cv "setext-cv" +#define LN_setext_cv "additional verification" +#define NID_setext_cv 606 +#define OBJ_setext_cv OBJ_set_msgExt,8L + +#define SN_set_policy_root "set-policy-root" +#define NID_set_policy_root 607 +#define OBJ_set_policy_root OBJ_set_policy,0L + +#define SN_setCext_hashedRoot "setCext-hashedRoot" +#define NID_setCext_hashedRoot 608 +#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L + +#define SN_setCext_certType "setCext-certType" +#define NID_setCext_certType 609 +#define OBJ_setCext_certType OBJ_set_certExt,1L + +#define SN_setCext_merchData "setCext-merchData" +#define NID_setCext_merchData 610 +#define OBJ_setCext_merchData OBJ_set_certExt,2L + +#define SN_setCext_cCertRequired "setCext-cCertRequired" +#define NID_setCext_cCertRequired 611 +#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L + +#define SN_setCext_tunneling "setCext-tunneling" +#define NID_setCext_tunneling 612 +#define OBJ_setCext_tunneling OBJ_set_certExt,4L + +#define SN_setCext_setExt "setCext-setExt" +#define NID_setCext_setExt 613 +#define OBJ_setCext_setExt OBJ_set_certExt,5L + +#define SN_setCext_setQualf "setCext-setQualf" +#define NID_setCext_setQualf 614 +#define OBJ_setCext_setQualf OBJ_set_certExt,6L + +#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" +#define NID_setCext_PGWYcapabilities 615 +#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L + +#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" +#define NID_setCext_TokenIdentifier 616 +#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L + +#define SN_setCext_Track2Data "setCext-Track2Data" +#define NID_setCext_Track2Data 617 +#define OBJ_setCext_Track2Data OBJ_set_certExt,9L + +#define SN_setCext_TokenType "setCext-TokenType" +#define NID_setCext_TokenType 618 +#define OBJ_setCext_TokenType OBJ_set_certExt,10L + +#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" +#define NID_setCext_IssuerCapabilities 619 +#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L + +#define SN_setAttr_Cert "setAttr-Cert" +#define NID_setAttr_Cert 620 +#define OBJ_setAttr_Cert OBJ_set_attr,0L + +#define SN_setAttr_PGWYcap "setAttr-PGWYcap" +#define LN_setAttr_PGWYcap "payment gateway capabilities" +#define NID_setAttr_PGWYcap 621 +#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L + +#define SN_setAttr_TokenType "setAttr-TokenType" +#define NID_setAttr_TokenType 622 +#define OBJ_setAttr_TokenType OBJ_set_attr,2L + +#define SN_setAttr_IssCap "setAttr-IssCap" +#define LN_setAttr_IssCap "issuer capabilities" +#define NID_setAttr_IssCap 623 +#define OBJ_setAttr_IssCap OBJ_set_attr,3L + +#define SN_set_rootKeyThumb "set-rootKeyThumb" +#define NID_set_rootKeyThumb 624 +#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L + +#define SN_set_addPolicy "set-addPolicy" +#define NID_set_addPolicy 625 +#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L + +#define SN_setAttr_Token_EMV "setAttr-Token-EMV" +#define NID_setAttr_Token_EMV 626 +#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L + +#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" +#define NID_setAttr_Token_B0Prime 627 +#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L + +#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" +#define NID_setAttr_IssCap_CVM 628 +#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L + +#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" +#define NID_setAttr_IssCap_T2 629 +#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L + +#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" +#define NID_setAttr_IssCap_Sig 630 +#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L + +#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" +#define LN_setAttr_GenCryptgrm "generate cryptogram" +#define NID_setAttr_GenCryptgrm 631 +#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L + +#define SN_setAttr_T2Enc "setAttr-T2Enc" +#define LN_setAttr_T2Enc "encrypted track 2" +#define NID_setAttr_T2Enc 632 +#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L + +#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" +#define LN_setAttr_T2cleartxt "cleartext track 2" +#define NID_setAttr_T2cleartxt 633 +#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L + +#define SN_setAttr_TokICCsig "setAttr-TokICCsig" +#define LN_setAttr_TokICCsig "ICC or token signature" +#define NID_setAttr_TokICCsig 634 +#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L + +#define SN_setAttr_SecDevSig "setAttr-SecDevSig" +#define LN_setAttr_SecDevSig "secure device signature" +#define NID_setAttr_SecDevSig 635 +#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L + +#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" +#define NID_set_brand_IATA_ATA 636 +#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L + +#define SN_set_brand_Diners "set-brand-Diners" +#define NID_set_brand_Diners 637 +#define OBJ_set_brand_Diners OBJ_set_brand,30L + +#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" +#define NID_set_brand_AmericanExpress 638 +#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L + +#define SN_set_brand_JCB "set-brand-JCB" +#define NID_set_brand_JCB 639 +#define OBJ_set_brand_JCB OBJ_set_brand,35L + +#define SN_set_brand_Visa "set-brand-Visa" +#define NID_set_brand_Visa 640 +#define OBJ_set_brand_Visa OBJ_set_brand,4L + +#define SN_set_brand_MasterCard "set-brand-MasterCard" +#define NID_set_brand_MasterCard 641 +#define OBJ_set_brand_MasterCard OBJ_set_brand,5L + +#define SN_set_brand_Novus "set-brand-Novus" +#define NID_set_brand_Novus 642 +#define OBJ_set_brand_Novus OBJ_set_brand,6011L + +#define SN_des_cdmf "DES-CDMF" +#define LN_des_cdmf "des-cdmf" +#define NID_des_cdmf 643 +#define OBJ_des_cdmf OBJ_rsadsi,3L,10L + +#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" +#define NID_rsaOAEPEncryptionSET 644 +#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L + +#define SN_ipsec3 "Oakley-EC2N-3" +#define LN_ipsec3 "ipsec3" +#define NID_ipsec3 749 + +#define SN_ipsec4 "Oakley-EC2N-4" +#define LN_ipsec4 "ipsec4" +#define NID_ipsec4 750 + +#define SN_whirlpool "whirlpool" +#define NID_whirlpool 804 +#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L + +#define SN_cryptopro "cryptopro" +#define NID_cryptopro 805 +#define OBJ_cryptopro OBJ_member_body,643L,2L,2L + +#define SN_cryptocom "cryptocom" +#define NID_cryptocom 806 +#define OBJ_cryptocom OBJ_member_body,643L,2L,9L + +#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" +#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" +#define NID_id_GostR3411_94_with_GostR3410_2001 807 +#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L + +#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" +#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" +#define NID_id_GostR3411_94_with_GostR3410_94 808 +#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L + +#define SN_id_GostR3411_94 "md_gost94" +#define LN_id_GostR3411_94 "GOST R 34.11-94" +#define NID_id_GostR3411_94 809 +#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L + +#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" +#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" +#define NID_id_HMACGostR3411_94 810 +#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L + +#define SN_id_GostR3410_2001 "gost2001" +#define LN_id_GostR3410_2001 "GOST R 34.10-2001" +#define NID_id_GostR3410_2001 811 +#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L + +#define SN_id_GostR3410_94 "gost94" +#define LN_id_GostR3410_94 "GOST R 34.10-94" +#define NID_id_GostR3410_94 812 +#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L + +#define SN_id_Gost28147_89 "gost89" +#define LN_id_Gost28147_89 "GOST 28147-89" +#define NID_id_Gost28147_89 813 +#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L + +#define SN_gost89_cnt "gost89-cnt" +#define NID_gost89_cnt 814 + +#define SN_id_Gost28147_89_MAC "gost-mac" +#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" +#define NID_id_Gost28147_89_MAC 815 +#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L + +#define SN_id_GostR3411_94_prf "prf-gostr3411-94" +#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" +#define NID_id_GostR3411_94_prf 816 +#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L + +#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" +#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" +#define NID_id_GostR3410_2001DH 817 +#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L + +#define SN_id_GostR3410_94DH "id-GostR3410-94DH" +#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" +#define NID_id_GostR3410_94DH 818 +#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L + +#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" +#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 +#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L + +#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" +#define NID_id_Gost28147_89_None_KeyMeshing 820 +#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L + +#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" +#define NID_id_GostR3411_94_TestParamSet 821 +#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L + +#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" +#define NID_id_GostR3411_94_CryptoProParamSet 822 +#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L + +#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" +#define NID_id_Gost28147_89_TestParamSet 823 +#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L + +#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 +#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L + +#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 +#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L + +#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 +#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L + +#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 +#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L + +#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 +#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L + +#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" +#define NID_id_GostR3410_94_TestParamSet 831 +#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L + +#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 +#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L + +#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 +#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L + +#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 +#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L + +#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 +#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L + +#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 +#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L + +#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 +#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L + +#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 +#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L + +#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" +#define NID_id_GostR3410_2001_TestParamSet 839 +#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L + +#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 +#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L + +#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 +#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L + +#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 +#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L + +#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 +#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L + +#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 +#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L + +#define SN_id_GostR3410_94_a "id-GostR3410-94-a" +#define NID_id_GostR3410_94_a 845 +#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L + +#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" +#define NID_id_GostR3410_94_aBis 846 +#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L + +#define SN_id_GostR3410_94_b "id-GostR3410-94-b" +#define NID_id_GostR3410_94_b 847 +#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L + +#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" +#define NID_id_GostR3410_94_bBis 848 +#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L + +#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" +#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" +#define NID_id_Gost28147_89_cc 849 +#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L + +#define SN_id_GostR3410_94_cc "gost94cc" +#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" +#define NID_id_GostR3410_94_cc 850 +#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L + +#define SN_id_GostR3410_2001_cc "gost2001cc" +#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" +#define NID_id_GostR3410_2001_cc 851 +#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L + +#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" +#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 +#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L + +#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" +#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 +#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L + +#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" +#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" +#define NID_id_GostR3410_2001_ParamSet_cc 854 +#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L + +#define SN_camellia_128_cbc "CAMELLIA-128-CBC" +#define LN_camellia_128_cbc "camellia-128-cbc" +#define NID_camellia_128_cbc 751 +#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L + +#define SN_camellia_192_cbc "CAMELLIA-192-CBC" +#define LN_camellia_192_cbc "camellia-192-cbc" +#define NID_camellia_192_cbc 752 +#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L + +#define SN_camellia_256_cbc "CAMELLIA-256-CBC" +#define LN_camellia_256_cbc "camellia-256-cbc" +#define NID_camellia_256_cbc 753 +#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L + +#define SN_id_camellia128_wrap "id-camellia128-wrap" +#define NID_id_camellia128_wrap 907 +#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L + +#define SN_id_camellia192_wrap "id-camellia192-wrap" +#define NID_id_camellia192_wrap 908 +#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L + +#define SN_id_camellia256_wrap "id-camellia256-wrap" +#define NID_id_camellia256_wrap 909 +#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L + +#define OBJ_ntt_ds 0L,3L,4401L,5L + +#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L + +#define SN_camellia_128_ecb "CAMELLIA-128-ECB" +#define LN_camellia_128_ecb "camellia-128-ecb" +#define NID_camellia_128_ecb 754 +#define OBJ_camellia_128_ecb OBJ_camellia,1L + +#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" +#define LN_camellia_128_ofb128 "camellia-128-ofb" +#define NID_camellia_128_ofb128 766 +#define OBJ_camellia_128_ofb128 OBJ_camellia,3L + +#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" +#define LN_camellia_128_cfb128 "camellia-128-cfb" +#define NID_camellia_128_cfb128 757 +#define OBJ_camellia_128_cfb128 OBJ_camellia,4L + +#define SN_camellia_192_ecb "CAMELLIA-192-ECB" +#define LN_camellia_192_ecb "camellia-192-ecb" +#define NID_camellia_192_ecb 755 +#define OBJ_camellia_192_ecb OBJ_camellia,21L + +#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" +#define LN_camellia_192_ofb128 "camellia-192-ofb" +#define NID_camellia_192_ofb128 767 +#define OBJ_camellia_192_ofb128 OBJ_camellia,23L + +#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" +#define LN_camellia_192_cfb128 "camellia-192-cfb" +#define NID_camellia_192_cfb128 758 +#define OBJ_camellia_192_cfb128 OBJ_camellia,24L + +#define SN_camellia_256_ecb "CAMELLIA-256-ECB" +#define LN_camellia_256_ecb "camellia-256-ecb" +#define NID_camellia_256_ecb 756 +#define OBJ_camellia_256_ecb OBJ_camellia,41L + +#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" +#define LN_camellia_256_ofb128 "camellia-256-ofb" +#define NID_camellia_256_ofb128 768 +#define OBJ_camellia_256_ofb128 OBJ_camellia,43L + +#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" +#define LN_camellia_256_cfb128 "camellia-256-cfb" +#define NID_camellia_256_cfb128 759 +#define OBJ_camellia_256_cfb128 OBJ_camellia,44L + +#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" +#define LN_camellia_128_cfb1 "camellia-128-cfb1" +#define NID_camellia_128_cfb1 760 + +#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" +#define LN_camellia_192_cfb1 "camellia-192-cfb1" +#define NID_camellia_192_cfb1 761 + +#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" +#define LN_camellia_256_cfb1 "camellia-256-cfb1" +#define NID_camellia_256_cfb1 762 + +#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" +#define LN_camellia_128_cfb8 "camellia-128-cfb8" +#define NID_camellia_128_cfb8 763 + +#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" +#define LN_camellia_192_cfb8 "camellia-192-cfb8" +#define NID_camellia_192_cfb8 764 + +#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" +#define LN_camellia_256_cfb8 "camellia-256-cfb8" +#define NID_camellia_256_cfb8 765 + +#define SN_kisa "KISA" +#define LN_kisa "kisa" +#define NID_kisa 773 +#define OBJ_kisa OBJ_member_body,410L,200004L + +#define SN_seed_ecb "SEED-ECB" +#define LN_seed_ecb "seed-ecb" +#define NID_seed_ecb 776 +#define OBJ_seed_ecb OBJ_kisa,1L,3L + +#define SN_seed_cbc "SEED-CBC" +#define LN_seed_cbc "seed-cbc" +#define NID_seed_cbc 777 +#define OBJ_seed_cbc OBJ_kisa,1L,4L + +#define SN_seed_cfb128 "SEED-CFB" +#define LN_seed_cfb128 "seed-cfb" +#define NID_seed_cfb128 779 +#define OBJ_seed_cfb128 OBJ_kisa,1L,5L + +#define SN_seed_ofb128 "SEED-OFB" +#define LN_seed_ofb128 "seed-ofb" +#define NID_seed_ofb128 778 +#define OBJ_seed_ofb128 OBJ_kisa,1L,6L + +#define SN_hmac "HMAC" +#define LN_hmac "hmac" +#define NID_hmac 855 + +#define SN_cmac "CMAC" +#define LN_cmac "cmac" +#define NID_cmac 894 + +#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" +#define LN_rc4_hmac_md5 "rc4-hmac-md5" +#define NID_rc4_hmac_md5 915 + +#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" +#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" +#define NID_aes_128_cbc_hmac_sha1 916 + +#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" +#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" +#define NID_aes_192_cbc_hmac_sha1 917 + +#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" +#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" +#define NID_aes_256_cbc_hmac_sha1 918 + +#define SN_aes_128_cbc_hmac_sha256 "AES-128-CBC-HMAC-SHA256" +#define LN_aes_128_cbc_hmac_sha256 "aes-128-cbc-hmac-sha256" +#define NID_aes_128_cbc_hmac_sha256 948 + +#define SN_aes_192_cbc_hmac_sha256 "AES-192-CBC-HMAC-SHA256" +#define LN_aes_192_cbc_hmac_sha256 "aes-192-cbc-hmac-sha256" +#define NID_aes_192_cbc_hmac_sha256 949 + +#define SN_aes_256_cbc_hmac_sha256 "AES-256-CBC-HMAC-SHA256" +#define LN_aes_256_cbc_hmac_sha256 "aes-256-cbc-hmac-sha256" +#define NID_aes_256_cbc_hmac_sha256 950 + +#define SN_dhpublicnumber "dhpublicnumber" +#define LN_dhpublicnumber "X9.42 DH" +#define NID_dhpublicnumber 920 +#define OBJ_dhpublicnumber OBJ_ISO_US,10046L,2L,1L + +#define SN_brainpoolP160r1 "brainpoolP160r1" +#define NID_brainpoolP160r1 921 +#define OBJ_brainpoolP160r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,1L + +#define SN_brainpoolP160t1 "brainpoolP160t1" +#define NID_brainpoolP160t1 922 +#define OBJ_brainpoolP160t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,2L + +#define SN_brainpoolP192r1 "brainpoolP192r1" +#define NID_brainpoolP192r1 923 +#define OBJ_brainpoolP192r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,3L + +#define SN_brainpoolP192t1 "brainpoolP192t1" +#define NID_brainpoolP192t1 924 +#define OBJ_brainpoolP192t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,4L + +#define SN_brainpoolP224r1 "brainpoolP224r1" +#define NID_brainpoolP224r1 925 +#define OBJ_brainpoolP224r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,5L + +#define SN_brainpoolP224t1 "brainpoolP224t1" +#define NID_brainpoolP224t1 926 +#define OBJ_brainpoolP224t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,6L + +#define SN_brainpoolP256r1 "brainpoolP256r1" +#define NID_brainpoolP256r1 927 +#define OBJ_brainpoolP256r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,7L + +#define SN_brainpoolP256t1 "brainpoolP256t1" +#define NID_brainpoolP256t1 928 +#define OBJ_brainpoolP256t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,8L + +#define SN_brainpoolP320r1 "brainpoolP320r1" +#define NID_brainpoolP320r1 929 +#define OBJ_brainpoolP320r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,9L + +#define SN_brainpoolP320t1 "brainpoolP320t1" +#define NID_brainpoolP320t1 930 +#define OBJ_brainpoolP320t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,10L + +#define SN_brainpoolP384r1 "brainpoolP384r1" +#define NID_brainpoolP384r1 931 +#define OBJ_brainpoolP384r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,11L + +#define SN_brainpoolP384t1 "brainpoolP384t1" +#define NID_brainpoolP384t1 932 +#define OBJ_brainpoolP384t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,12L + +#define SN_brainpoolP512r1 "brainpoolP512r1" +#define NID_brainpoolP512r1 933 +#define OBJ_brainpoolP512r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,13L + +#define SN_brainpoolP512t1 "brainpoolP512t1" +#define NID_brainpoolP512t1 934 +#define OBJ_brainpoolP512t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,14L + +#define OBJ_x9_63_scheme 1L,3L,133L,16L,840L,63L,0L + +#define OBJ_secg_scheme OBJ_certicom_arc,1L + +#define SN_dhSinglePass_stdDH_sha1kdf_scheme "dhSinglePass-stdDH-sha1kdf-scheme" +#define NID_dhSinglePass_stdDH_sha1kdf_scheme 936 +#define OBJ_dhSinglePass_stdDH_sha1kdf_scheme OBJ_x9_63_scheme,2L + +#define SN_dhSinglePass_stdDH_sha224kdf_scheme "dhSinglePass-stdDH-sha224kdf-scheme" +#define NID_dhSinglePass_stdDH_sha224kdf_scheme 937 +#define OBJ_dhSinglePass_stdDH_sha224kdf_scheme OBJ_secg_scheme,11L,0L + +#define SN_dhSinglePass_stdDH_sha256kdf_scheme "dhSinglePass-stdDH-sha256kdf-scheme" +#define NID_dhSinglePass_stdDH_sha256kdf_scheme 938 +#define OBJ_dhSinglePass_stdDH_sha256kdf_scheme OBJ_secg_scheme,11L,1L + +#define SN_dhSinglePass_stdDH_sha384kdf_scheme "dhSinglePass-stdDH-sha384kdf-scheme" +#define NID_dhSinglePass_stdDH_sha384kdf_scheme 939 +#define OBJ_dhSinglePass_stdDH_sha384kdf_scheme OBJ_secg_scheme,11L,2L + +#define SN_dhSinglePass_stdDH_sha512kdf_scheme "dhSinglePass-stdDH-sha512kdf-scheme" +#define NID_dhSinglePass_stdDH_sha512kdf_scheme 940 +#define OBJ_dhSinglePass_stdDH_sha512kdf_scheme OBJ_secg_scheme,11L,3L + +#define SN_dhSinglePass_cofactorDH_sha1kdf_scheme "dhSinglePass-cofactorDH-sha1kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha1kdf_scheme 941 +#define OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme OBJ_x9_63_scheme,3L + +#define SN_dhSinglePass_cofactorDH_sha224kdf_scheme "dhSinglePass-cofactorDH-sha224kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha224kdf_scheme 942 +#define OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme OBJ_secg_scheme,14L,0L + +#define SN_dhSinglePass_cofactorDH_sha256kdf_scheme "dhSinglePass-cofactorDH-sha256kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha256kdf_scheme 943 +#define OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme OBJ_secg_scheme,14L,1L + +#define SN_dhSinglePass_cofactorDH_sha384kdf_scheme "dhSinglePass-cofactorDH-sha384kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha384kdf_scheme 944 +#define OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme OBJ_secg_scheme,14L,2L + +#define SN_dhSinglePass_cofactorDH_sha512kdf_scheme "dhSinglePass-cofactorDH-sha512kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha512kdf_scheme 945 +#define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme OBJ_secg_scheme,14L,3L + +#define SN_dh_std_kdf "dh-std-kdf" +#define NID_dh_std_kdf 946 + +#define SN_dh_cofactor_kdf "dh-cofactor-kdf" +#define NID_dh_cofactor_kdf 947 + +#define SN_ct_precert_scts "ct_precert_scts" +#define LN_ct_precert_scts "CT Precertificate SCTs" +#define NID_ct_precert_scts 951 +#define OBJ_ct_precert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,2L + +#define SN_ct_precert_poison "ct_precert_poison" +#define LN_ct_precert_poison "CT Precertificate Poison" +#define NID_ct_precert_poison 952 +#define OBJ_ct_precert_poison 1L,3L,6L,1L,4L,1L,11129L,2L,4L,3L + +#define SN_ct_precert_signer "ct_precert_signer" +#define LN_ct_precert_signer "CT Precertificate Signer" +#define NID_ct_precert_signer 953 +#define OBJ_ct_precert_signer 1L,3L,6L,1L,4L,1L,11129L,2L,4L,4L + +#define SN_ct_cert_scts "ct_cert_scts" +#define LN_ct_cert_scts "CT Certificate SCTs" +#define NID_ct_cert_scts 954 +#define OBJ_ct_cert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L + +#define SN_jurisdictionLocalityName "jurisdictionL" +#define LN_jurisdictionLocalityName "jurisdictionLocalityName" +#define NID_jurisdictionLocalityName 955 +#define OBJ_jurisdictionLocalityName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L + +#define SN_jurisdictionStateOrProvinceName "jurisdictionST" +#define LN_jurisdictionStateOrProvinceName "jurisdictionStateOrProvinceName" +#define NID_jurisdictionStateOrProvinceName 956 +#define OBJ_jurisdictionStateOrProvinceName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L + +#define SN_jurisdictionCountryName "jurisdictionC" +#define LN_jurisdictionCountryName "jurisdictionCountryName" +#define NID_jurisdictionCountryName 957 +#define OBJ_jurisdictionCountryName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L diff --git a/openssl/1.0/include/openssl/objects.h b/openssl/1.0/include/openssl/objects.h new file mode 100644 index 0000000..b8dafa8 --- /dev/null +++ b/openssl/1.0/include/openssl/objects.h @@ -0,0 +1,1143 @@ +/* crypto/objects/objects.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_OBJECTS_H +# define HEADER_OBJECTS_H + +# define USE_OBJ_MAC + +# ifdef USE_OBJ_MAC +# include +# else +# define SN_undef "UNDEF" +# define LN_undef "undefined" +# define NID_undef 0 +# define OBJ_undef 0L + +# define SN_Algorithm "Algorithm" +# define LN_algorithm "algorithm" +# define NID_algorithm 38 +# define OBJ_algorithm 1L,3L,14L,3L,2L + +# define LN_rsadsi "rsadsi" +# define NID_rsadsi 1 +# define OBJ_rsadsi 1L,2L,840L,113549L + +# define LN_pkcs "pkcs" +# define NID_pkcs 2 +# define OBJ_pkcs OBJ_rsadsi,1L + +# define SN_md2 "MD2" +# define LN_md2 "md2" +# define NID_md2 3 +# define OBJ_md2 OBJ_rsadsi,2L,2L + +# define SN_md5 "MD5" +# define LN_md5 "md5" +# define NID_md5 4 +# define OBJ_md5 OBJ_rsadsi,2L,5L + +# define SN_rc4 "RC4" +# define LN_rc4 "rc4" +# define NID_rc4 5 +# define OBJ_rc4 OBJ_rsadsi,3L,4L + +# define LN_rsaEncryption "rsaEncryption" +# define NID_rsaEncryption 6 +# define OBJ_rsaEncryption OBJ_pkcs,1L,1L + +# define SN_md2WithRSAEncryption "RSA-MD2" +# define LN_md2WithRSAEncryption "md2WithRSAEncryption" +# define NID_md2WithRSAEncryption 7 +# define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L + +# define SN_md5WithRSAEncryption "RSA-MD5" +# define LN_md5WithRSAEncryption "md5WithRSAEncryption" +# define NID_md5WithRSAEncryption 8 +# define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L + +# define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +# define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +# define NID_pbeWithMD2AndDES_CBC 9 +# define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L + +# define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +# define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +# define NID_pbeWithMD5AndDES_CBC 10 +# define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L + +# define LN_X500 "X500" +# define NID_X500 11 +# define OBJ_X500 2L,5L + +# define LN_X509 "X509" +# define NID_X509 12 +# define OBJ_X509 OBJ_X500,4L + +# define SN_commonName "CN" +# define LN_commonName "commonName" +# define NID_commonName 13 +# define OBJ_commonName OBJ_X509,3L + +# define SN_countryName "C" +# define LN_countryName "countryName" +# define NID_countryName 14 +# define OBJ_countryName OBJ_X509,6L + +# define SN_localityName "L" +# define LN_localityName "localityName" +# define NID_localityName 15 +# define OBJ_localityName OBJ_X509,7L + +/* Postal Address? PA */ + +/* should be "ST" (rfc1327) but MS uses 'S' */ +# define SN_stateOrProvinceName "ST" +# define LN_stateOrProvinceName "stateOrProvinceName" +# define NID_stateOrProvinceName 16 +# define OBJ_stateOrProvinceName OBJ_X509,8L + +# define SN_organizationName "O" +# define LN_organizationName "organizationName" +# define NID_organizationName 17 +# define OBJ_organizationName OBJ_X509,10L + +# define SN_organizationalUnitName "OU" +# define LN_organizationalUnitName "organizationalUnitName" +# define NID_organizationalUnitName 18 +# define OBJ_organizationalUnitName OBJ_X509,11L + +# define SN_rsa "RSA" +# define LN_rsa "rsa" +# define NID_rsa 19 +# define OBJ_rsa OBJ_X500,8L,1L,1L + +# define LN_pkcs7 "pkcs7" +# define NID_pkcs7 20 +# define OBJ_pkcs7 OBJ_pkcs,7L + +# define LN_pkcs7_data "pkcs7-data" +# define NID_pkcs7_data 21 +# define OBJ_pkcs7_data OBJ_pkcs7,1L + +# define LN_pkcs7_signed "pkcs7-signedData" +# define NID_pkcs7_signed 22 +# define OBJ_pkcs7_signed OBJ_pkcs7,2L + +# define LN_pkcs7_enveloped "pkcs7-envelopedData" +# define NID_pkcs7_enveloped 23 +# define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +# define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +# define NID_pkcs7_signedAndEnveloped 24 +# define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +# define LN_pkcs7_digest "pkcs7-digestData" +# define NID_pkcs7_digest 25 +# define OBJ_pkcs7_digest OBJ_pkcs7,5L + +# define LN_pkcs7_encrypted "pkcs7-encryptedData" +# define NID_pkcs7_encrypted 26 +# define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +# define LN_pkcs3 "pkcs3" +# define NID_pkcs3 27 +# define OBJ_pkcs3 OBJ_pkcs,3L + +# define LN_dhKeyAgreement "dhKeyAgreement" +# define NID_dhKeyAgreement 28 +# define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +# define SN_des_ecb "DES-ECB" +# define LN_des_ecb "des-ecb" +# define NID_des_ecb 29 +# define OBJ_des_ecb OBJ_algorithm,6L + +# define SN_des_cfb64 "DES-CFB" +# define LN_des_cfb64 "des-cfb" +# define NID_des_cfb64 30 +/* IV + num */ +# define OBJ_des_cfb64 OBJ_algorithm,9L + +# define SN_des_cbc "DES-CBC" +# define LN_des_cbc "des-cbc" +# define NID_des_cbc 31 +/* IV */ +# define OBJ_des_cbc OBJ_algorithm,7L + +# define SN_des_ede "DES-EDE" +# define LN_des_ede "des-ede" +# define NID_des_ede 32 +/* ?? */ +# define OBJ_des_ede OBJ_algorithm,17L + +# define SN_des_ede3 "DES-EDE3" +# define LN_des_ede3 "des-ede3" +# define NID_des_ede3 33 + +# define SN_idea_cbc "IDEA-CBC" +# define LN_idea_cbc "idea-cbc" +# define NID_idea_cbc 34 +# define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +# define SN_idea_cfb64 "IDEA-CFB" +# define LN_idea_cfb64 "idea-cfb" +# define NID_idea_cfb64 35 + +# define SN_idea_ecb "IDEA-ECB" +# define LN_idea_ecb "idea-ecb" +# define NID_idea_ecb 36 + +# define SN_rc2_cbc "RC2-CBC" +# define LN_rc2_cbc "rc2-cbc" +# define NID_rc2_cbc 37 +# define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +# define SN_rc2_ecb "RC2-ECB" +# define LN_rc2_ecb "rc2-ecb" +# define NID_rc2_ecb 38 + +# define SN_rc2_cfb64 "RC2-CFB" +# define LN_rc2_cfb64 "rc2-cfb" +# define NID_rc2_cfb64 39 + +# define SN_rc2_ofb64 "RC2-OFB" +# define LN_rc2_ofb64 "rc2-ofb" +# define NID_rc2_ofb64 40 + +# define SN_sha "SHA" +# define LN_sha "sha" +# define NID_sha 41 +# define OBJ_sha OBJ_algorithm,18L + +# define SN_shaWithRSAEncryption "RSA-SHA" +# define LN_shaWithRSAEncryption "shaWithRSAEncryption" +# define NID_shaWithRSAEncryption 42 +# define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +# define SN_des_ede_cbc "DES-EDE-CBC" +# define LN_des_ede_cbc "des-ede-cbc" +# define NID_des_ede_cbc 43 + +# define SN_des_ede3_cbc "DES-EDE3-CBC" +# define LN_des_ede3_cbc "des-ede3-cbc" +# define NID_des_ede3_cbc 44 +# define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +# define SN_des_ofb64 "DES-OFB" +# define LN_des_ofb64 "des-ofb" +# define NID_des_ofb64 45 +# define OBJ_des_ofb64 OBJ_algorithm,8L + +# define SN_idea_ofb64 "IDEA-OFB" +# define LN_idea_ofb64 "idea-ofb" +# define NID_idea_ofb64 46 + +# define LN_pkcs9 "pkcs9" +# define NID_pkcs9 47 +# define OBJ_pkcs9 OBJ_pkcs,9L + +# define SN_pkcs9_emailAddress "Email" +# define LN_pkcs9_emailAddress "emailAddress" +# define NID_pkcs9_emailAddress 48 +# define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +# define LN_pkcs9_unstructuredName "unstructuredName" +# define NID_pkcs9_unstructuredName 49 +# define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +# define LN_pkcs9_contentType "contentType" +# define NID_pkcs9_contentType 50 +# define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +# define LN_pkcs9_messageDigest "messageDigest" +# define NID_pkcs9_messageDigest 51 +# define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +# define LN_pkcs9_signingTime "signingTime" +# define NID_pkcs9_signingTime 52 +# define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +# define LN_pkcs9_countersignature "countersignature" +# define NID_pkcs9_countersignature 53 +# define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +# define LN_pkcs9_challengePassword "challengePassword" +# define NID_pkcs9_challengePassword 54 +# define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +# define LN_pkcs9_unstructuredAddress "unstructuredAddress" +# define NID_pkcs9_unstructuredAddress 55 +# define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +# define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +# define NID_pkcs9_extCertAttributes 56 +# define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +# define SN_netscape "Netscape" +# define LN_netscape "Netscape Communications Corp." +# define NID_netscape 57 +# define OBJ_netscape 2L,16L,840L,1L,113730L + +# define SN_netscape_cert_extension "nsCertExt" +# define LN_netscape_cert_extension "Netscape Certificate Extension" +# define NID_netscape_cert_extension 58 +# define OBJ_netscape_cert_extension OBJ_netscape,1L + +# define SN_netscape_data_type "nsDataType" +# define LN_netscape_data_type "Netscape Data Type" +# define NID_netscape_data_type 59 +# define OBJ_netscape_data_type OBJ_netscape,2L + +# define SN_des_ede_cfb64 "DES-EDE-CFB" +# define LN_des_ede_cfb64 "des-ede-cfb" +# define NID_des_ede_cfb64 60 + +# define SN_des_ede3_cfb64 "DES-EDE3-CFB" +# define LN_des_ede3_cfb64 "des-ede3-cfb" +# define NID_des_ede3_cfb64 61 + +# define SN_des_ede_ofb64 "DES-EDE-OFB" +# define LN_des_ede_ofb64 "des-ede-ofb" +# define NID_des_ede_ofb64 62 + +# define SN_des_ede3_ofb64 "DES-EDE3-OFB" +# define LN_des_ede3_ofb64 "des-ede3-ofb" +# define NID_des_ede3_ofb64 63 + +/* I'm not sure about the object ID */ +# define SN_sha1 "SHA1" +# define LN_sha1 "sha1" +# define NID_sha1 64 +# define OBJ_sha1 OBJ_algorithm,26L +/* 28 Jun 1996 - eay */ +/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */ + +# define SN_sha1WithRSAEncryption "RSA-SHA1" +# define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +# define NID_sha1WithRSAEncryption 65 +# define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L + +# define SN_dsaWithSHA "DSA-SHA" +# define LN_dsaWithSHA "dsaWithSHA" +# define NID_dsaWithSHA 66 +# define OBJ_dsaWithSHA OBJ_algorithm,13L + +# define SN_dsa_2 "DSA-old" +# define LN_dsa_2 "dsaEncryption-old" +# define NID_dsa_2 67 +# define OBJ_dsa_2 OBJ_algorithm,12L + +/* proposed by microsoft to RSA */ +# define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +# define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +# define NID_pbeWithSHA1AndRC2_CBC 68 +# define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L + +/* + * proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now defined + * explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something completely + * different. + */ +# define LN_id_pbkdf2 "PBKDF2" +# define NID_id_pbkdf2 69 +# define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L + +# define SN_dsaWithSHA1_2 "DSA-SHA1-old" +# define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +# define NID_dsaWithSHA1_2 70 +/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ +# define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +# define SN_netscape_cert_type "nsCertType" +# define LN_netscape_cert_type "Netscape Cert Type" +# define NID_netscape_cert_type 71 +# define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +# define SN_netscape_base_url "nsBaseUrl" +# define LN_netscape_base_url "Netscape Base Url" +# define NID_netscape_base_url 72 +# define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +# define SN_netscape_revocation_url "nsRevocationUrl" +# define LN_netscape_revocation_url "Netscape Revocation Url" +# define NID_netscape_revocation_url 73 +# define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +# define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +# define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +# define NID_netscape_ca_revocation_url 74 +# define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +# define SN_netscape_renewal_url "nsRenewalUrl" +# define LN_netscape_renewal_url "Netscape Renewal Url" +# define NID_netscape_renewal_url 75 +# define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +# define SN_netscape_ca_policy_url "nsCaPolicyUrl" +# define LN_netscape_ca_policy_url "Netscape CA Policy Url" +# define NID_netscape_ca_policy_url 76 +# define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +# define SN_netscape_ssl_server_name "nsSslServerName" +# define LN_netscape_ssl_server_name "Netscape SSL Server Name" +# define NID_netscape_ssl_server_name 77 +# define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +# define SN_netscape_comment "nsComment" +# define LN_netscape_comment "Netscape Comment" +# define NID_netscape_comment 78 +# define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +# define SN_netscape_cert_sequence "nsCertSequence" +# define LN_netscape_cert_sequence "Netscape Certificate Sequence" +# define NID_netscape_cert_sequence 79 +# define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +# define SN_desx_cbc "DESX-CBC" +# define LN_desx_cbc "desx-cbc" +# define NID_desx_cbc 80 + +# define SN_id_ce "id-ce" +# define NID_id_ce 81 +# define OBJ_id_ce 2L,5L,29L + +# define SN_subject_key_identifier "subjectKeyIdentifier" +# define LN_subject_key_identifier "X509v3 Subject Key Identifier" +# define NID_subject_key_identifier 82 +# define OBJ_subject_key_identifier OBJ_id_ce,14L + +# define SN_key_usage "keyUsage" +# define LN_key_usage "X509v3 Key Usage" +# define NID_key_usage 83 +# define OBJ_key_usage OBJ_id_ce,15L + +# define SN_private_key_usage_period "privateKeyUsagePeriod" +# define LN_private_key_usage_period "X509v3 Private Key Usage Period" +# define NID_private_key_usage_period 84 +# define OBJ_private_key_usage_period OBJ_id_ce,16L + +# define SN_subject_alt_name "subjectAltName" +# define LN_subject_alt_name "X509v3 Subject Alternative Name" +# define NID_subject_alt_name 85 +# define OBJ_subject_alt_name OBJ_id_ce,17L + +# define SN_issuer_alt_name "issuerAltName" +# define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +# define NID_issuer_alt_name 86 +# define OBJ_issuer_alt_name OBJ_id_ce,18L + +# define SN_basic_constraints "basicConstraints" +# define LN_basic_constraints "X509v3 Basic Constraints" +# define NID_basic_constraints 87 +# define OBJ_basic_constraints OBJ_id_ce,19L + +# define SN_crl_number "crlNumber" +# define LN_crl_number "X509v3 CRL Number" +# define NID_crl_number 88 +# define OBJ_crl_number OBJ_id_ce,20L + +# define SN_certificate_policies "certificatePolicies" +# define LN_certificate_policies "X509v3 Certificate Policies" +# define NID_certificate_policies 89 +# define OBJ_certificate_policies OBJ_id_ce,32L + +# define SN_authority_key_identifier "authorityKeyIdentifier" +# define LN_authority_key_identifier "X509v3 Authority Key Identifier" +# define NID_authority_key_identifier 90 +# define OBJ_authority_key_identifier OBJ_id_ce,35L + +# define SN_bf_cbc "BF-CBC" +# define LN_bf_cbc "bf-cbc" +# define NID_bf_cbc 91 +# define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +# define SN_bf_ecb "BF-ECB" +# define LN_bf_ecb "bf-ecb" +# define NID_bf_ecb 92 + +# define SN_bf_cfb64 "BF-CFB" +# define LN_bf_cfb64 "bf-cfb" +# define NID_bf_cfb64 93 + +# define SN_bf_ofb64 "BF-OFB" +# define LN_bf_ofb64 "bf-ofb" +# define NID_bf_ofb64 94 + +# define SN_mdc2 "MDC2" +# define LN_mdc2 "mdc2" +# define NID_mdc2 95 +# define OBJ_mdc2 2L,5L,8L,3L,101L +/* An alternative? 1L,3L,14L,3L,2L,19L */ + +# define SN_mdc2WithRSA "RSA-MDC2" +# define LN_mdc2WithRSA "mdc2withRSA" +# define NID_mdc2WithRSA 96 +# define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L + +# define SN_rc4_40 "RC4-40" +# define LN_rc4_40 "rc4-40" +# define NID_rc4_40 97 + +# define SN_rc2_40_cbc "RC2-40-CBC" +# define LN_rc2_40_cbc "rc2-40-cbc" +# define NID_rc2_40_cbc 98 + +# define SN_givenName "G" +# define LN_givenName "givenName" +# define NID_givenName 99 +# define OBJ_givenName OBJ_X509,42L + +# define SN_surname "S" +# define LN_surname "surname" +# define NID_surname 100 +# define OBJ_surname OBJ_X509,4L + +# define SN_initials "I" +# define LN_initials "initials" +# define NID_initials 101 +# define OBJ_initials OBJ_X509,43L + +# define SN_uniqueIdentifier "UID" +# define LN_uniqueIdentifier "uniqueIdentifier" +# define NID_uniqueIdentifier 102 +# define OBJ_uniqueIdentifier OBJ_X509,45L + +# define SN_crl_distribution_points "crlDistributionPoints" +# define LN_crl_distribution_points "X509v3 CRL Distribution Points" +# define NID_crl_distribution_points 103 +# define OBJ_crl_distribution_points OBJ_id_ce,31L + +# define SN_md5WithRSA "RSA-NP-MD5" +# define LN_md5WithRSA "md5WithRSA" +# define NID_md5WithRSA 104 +# define OBJ_md5WithRSA OBJ_algorithm,3L + +# define SN_serialNumber "SN" +# define LN_serialNumber "serialNumber" +# define NID_serialNumber 105 +# define OBJ_serialNumber OBJ_X509,5L + +# define SN_title "T" +# define LN_title "title" +# define NID_title 106 +# define OBJ_title OBJ_X509,12L + +# define SN_description "D" +# define LN_description "description" +# define NID_description 107 +# define OBJ_description OBJ_X509,13L + +/* CAST5 is CAST-128, I'm just sticking with the documentation */ +# define SN_cast5_cbc "CAST5-CBC" +# define LN_cast5_cbc "cast5-cbc" +# define NID_cast5_cbc 108 +# define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L + +# define SN_cast5_ecb "CAST5-ECB" +# define LN_cast5_ecb "cast5-ecb" +# define NID_cast5_ecb 109 + +# define SN_cast5_cfb64 "CAST5-CFB" +# define LN_cast5_cfb64 "cast5-cfb" +# define NID_cast5_cfb64 110 + +# define SN_cast5_ofb64 "CAST5-OFB" +# define LN_cast5_ofb64 "cast5-ofb" +# define NID_cast5_ofb64 111 + +# define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +# define NID_pbeWithMD5AndCast5_CBC 112 +# define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L + +/*- + * This is one sun will soon be using :-( + * id-dsa-with-sha1 ID ::= { + * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } + */ +# define SN_dsaWithSHA1 "DSA-SHA1" +# define LN_dsaWithSHA1 "dsaWithSHA1" +# define NID_dsaWithSHA1 113 +# define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L + +# define NID_md5_sha1 114 +# define SN_md5_sha1 "MD5-SHA1" +# define LN_md5_sha1 "md5-sha1" + +# define SN_sha1WithRSA "RSA-SHA1-2" +# define LN_sha1WithRSA "sha1WithRSA" +# define NID_sha1WithRSA 115 +# define OBJ_sha1WithRSA OBJ_algorithm,29L + +# define SN_dsa "DSA" +# define LN_dsa "dsaEncryption" +# define NID_dsa 116 +# define OBJ_dsa 1L,2L,840L,10040L,4L,1L + +# define SN_ripemd160 "RIPEMD160" +# define LN_ripemd160 "ripemd160" +# define NID_ripemd160 117 +# define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +/* + * The name should actually be rsaSignatureWithripemd160, but I'm going to + * continue using the convention I'm using with the other ciphers + */ +# define SN_ripemd160WithRSA "RSA-RIPEMD160" +# define LN_ripemd160WithRSA "ripemd160WithRSA" +# define NID_ripemd160WithRSA 119 +# define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +/*- + * Taken from rfc2040 + * RC5_CBC_Parameters ::= SEQUENCE { + * version INTEGER (v1_0(16)), + * rounds INTEGER (8..127), + * blockSizeInBits INTEGER (64, 128), + * iv OCTET STRING OPTIONAL + * } + */ +# define SN_rc5_cbc "RC5-CBC" +# define LN_rc5_cbc "rc5-cbc" +# define NID_rc5_cbc 120 +# define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +# define SN_rc5_ecb "RC5-ECB" +# define LN_rc5_ecb "rc5-ecb" +# define NID_rc5_ecb 121 + +# define SN_rc5_cfb64 "RC5-CFB" +# define LN_rc5_cfb64 "rc5-cfb" +# define NID_rc5_cfb64 122 + +# define SN_rc5_ofb64 "RC5-OFB" +# define LN_rc5_ofb64 "rc5-ofb" +# define NID_rc5_ofb64 123 + +# define SN_rle_compression "RLE" +# define LN_rle_compression "run length compression" +# define NID_rle_compression 124 +# define OBJ_rle_compression 1L,1L,1L,1L,666L,1L + +# define SN_zlib_compression "ZLIB" +# define LN_zlib_compression "zlib compression" +# define NID_zlib_compression 125 +# define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L + +# define SN_ext_key_usage "extendedKeyUsage" +# define LN_ext_key_usage "X509v3 Extended Key Usage" +# define NID_ext_key_usage 126 +# define OBJ_ext_key_usage OBJ_id_ce,37 + +# define SN_id_pkix "PKIX" +# define NID_id_pkix 127 +# define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +# define SN_id_kp "id-kp" +# define NID_id_kp 128 +# define OBJ_id_kp OBJ_id_pkix,3L + +/* PKIX extended key usage OIDs */ + +# define SN_server_auth "serverAuth" +# define LN_server_auth "TLS Web Server Authentication" +# define NID_server_auth 129 +# define OBJ_server_auth OBJ_id_kp,1L + +# define SN_client_auth "clientAuth" +# define LN_client_auth "TLS Web Client Authentication" +# define NID_client_auth 130 +# define OBJ_client_auth OBJ_id_kp,2L + +# define SN_code_sign "codeSigning" +# define LN_code_sign "Code Signing" +# define NID_code_sign 131 +# define OBJ_code_sign OBJ_id_kp,3L + +# define SN_email_protect "emailProtection" +# define LN_email_protect "E-mail Protection" +# define NID_email_protect 132 +# define OBJ_email_protect OBJ_id_kp,4L + +# define SN_time_stamp "timeStamping" +# define LN_time_stamp "Time Stamping" +# define NID_time_stamp 133 +# define OBJ_time_stamp OBJ_id_kp,8L + +/* Additional extended key usage OIDs: Microsoft */ + +# define SN_ms_code_ind "msCodeInd" +# define LN_ms_code_ind "Microsoft Individual Code Signing" +# define NID_ms_code_ind 134 +# define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +# define SN_ms_code_com "msCodeCom" +# define LN_ms_code_com "Microsoft Commercial Code Signing" +# define NID_ms_code_com 135 +# define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +# define SN_ms_ctl_sign "msCTLSign" +# define LN_ms_ctl_sign "Microsoft Trust List Signing" +# define NID_ms_ctl_sign 136 +# define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +# define SN_ms_sgc "msSGC" +# define LN_ms_sgc "Microsoft Server Gated Crypto" +# define NID_ms_sgc 137 +# define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +# define SN_ms_efs "msEFS" +# define LN_ms_efs "Microsoft Encrypted File System" +# define NID_ms_efs 138 +# define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +/* Additional usage: Netscape */ + +# define SN_ns_sgc "nsSGC" +# define LN_ns_sgc "Netscape Server Gated Crypto" +# define NID_ns_sgc 139 +# define OBJ_ns_sgc OBJ_netscape,4L,1L + +# define SN_delta_crl "deltaCRL" +# define LN_delta_crl "X509v3 Delta CRL Indicator" +# define NID_delta_crl 140 +# define OBJ_delta_crl OBJ_id_ce,27L + +# define SN_crl_reason "CRLReason" +# define LN_crl_reason "CRL Reason Code" +# define NID_crl_reason 141 +# define OBJ_crl_reason OBJ_id_ce,21L + +# define SN_invalidity_date "invalidityDate" +# define LN_invalidity_date "Invalidity Date" +# define NID_invalidity_date 142 +# define OBJ_invalidity_date OBJ_id_ce,24L + +# define SN_sxnet "SXNetID" +# define LN_sxnet "Strong Extranet ID" +# define NID_sxnet 143 +# define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +/* PKCS12 and related OBJECT IDENTIFIERS */ + +# define OBJ_pkcs12 OBJ_pkcs,12L +# define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 + +# define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +# define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +# define NID_pbe_WithSHA1And128BitRC4 144 +# define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L + +# define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +# define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +# define NID_pbe_WithSHA1And40BitRC4 145 +# define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L + +# define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +# define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +# define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +# define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L + +# define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +# define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +# define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +# define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L + +# define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +# define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +# define NID_pbe_WithSHA1And128BitRC2_CBC 148 +# define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L + +# define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +# define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +# define NID_pbe_WithSHA1And40BitRC2_CBC 149 +# define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L + +# define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L + +# define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L + +# define LN_keyBag "keyBag" +# define NID_keyBag 150 +# define OBJ_keyBag OBJ_pkcs12_BagIds, 1L + +# define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +# define NID_pkcs8ShroudedKeyBag 151 +# define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L + +# define LN_certBag "certBag" +# define NID_certBag 152 +# define OBJ_certBag OBJ_pkcs12_BagIds, 3L + +# define LN_crlBag "crlBag" +# define NID_crlBag 153 +# define OBJ_crlBag OBJ_pkcs12_BagIds, 4L + +# define LN_secretBag "secretBag" +# define NID_secretBag 154 +# define OBJ_secretBag OBJ_pkcs12_BagIds, 5L + +# define LN_safeContentsBag "safeContentsBag" +# define NID_safeContentsBag 155 +# define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L + +# define LN_friendlyName "friendlyName" +# define NID_friendlyName 156 +# define OBJ_friendlyName OBJ_pkcs9, 20L + +# define LN_localKeyID "localKeyID" +# define NID_localKeyID 157 +# define OBJ_localKeyID OBJ_pkcs9, 21L + +# define OBJ_certTypes OBJ_pkcs9, 22L + +# define LN_x509Certificate "x509Certificate" +# define NID_x509Certificate 158 +# define OBJ_x509Certificate OBJ_certTypes, 1L + +# define LN_sdsiCertificate "sdsiCertificate" +# define NID_sdsiCertificate 159 +# define OBJ_sdsiCertificate OBJ_certTypes, 2L + +# define OBJ_crlTypes OBJ_pkcs9, 23L + +# define LN_x509Crl "x509Crl" +# define NID_x509Crl 160 +# define OBJ_x509Crl OBJ_crlTypes, 1L + +/* PKCS#5 v2 OIDs */ + +# define LN_pbes2 "PBES2" +# define NID_pbes2 161 +# define OBJ_pbes2 OBJ_pkcs,5L,13L + +# define LN_pbmac1 "PBMAC1" +# define NID_pbmac1 162 +# define OBJ_pbmac1 OBJ_pkcs,5L,14L + +# define LN_hmacWithSHA1 "hmacWithSHA1" +# define NID_hmacWithSHA1 163 +# define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +/* Policy Qualifier Ids */ + +# define LN_id_qt_cps "Policy Qualifier CPS" +# define SN_id_qt_cps "id-qt-cps" +# define NID_id_qt_cps 164 +# define OBJ_id_qt_cps OBJ_id_pkix,2L,1L + +# define LN_id_qt_unotice "Policy Qualifier User Notice" +# define SN_id_qt_unotice "id-qt-unotice" +# define NID_id_qt_unotice 165 +# define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L + +# define SN_rc2_64_cbc "RC2-64-CBC" +# define LN_rc2_64_cbc "rc2-64-cbc" +# define NID_rc2_64_cbc 166 + +# define SN_SMIMECapabilities "SMIME-CAPS" +# define LN_SMIMECapabilities "S/MIME Capabilities" +# define NID_SMIMECapabilities 167 +# define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +# define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +# define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +# define NID_pbeWithMD2AndRC2_CBC 168 +# define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L + +# define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +# define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +# define NID_pbeWithMD5AndRC2_CBC 169 +# define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L + +# define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +# define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +# define NID_pbeWithSHA1AndDES_CBC 170 +# define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L + +/* Extension request OIDs */ + +# define LN_ms_ext_req "Microsoft Extension Request" +# define SN_ms_ext_req "msExtReq" +# define NID_ms_ext_req 171 +# define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +# define LN_ext_req "Extension Request" +# define SN_ext_req "extReq" +# define NID_ext_req 172 +# define OBJ_ext_req OBJ_pkcs9,14L + +# define SN_name "name" +# define LN_name "name" +# define NID_name 173 +# define OBJ_name OBJ_X509,41L + +# define SN_dnQualifier "dnQualifier" +# define LN_dnQualifier "dnQualifier" +# define NID_dnQualifier 174 +# define OBJ_dnQualifier OBJ_X509,46L + +# define SN_id_pe "id-pe" +# define NID_id_pe 175 +# define OBJ_id_pe OBJ_id_pkix,1L + +# define SN_id_ad "id-ad" +# define NID_id_ad 176 +# define OBJ_id_ad OBJ_id_pkix,48L + +# define SN_info_access "authorityInfoAccess" +# define LN_info_access "Authority Information Access" +# define NID_info_access 177 +# define OBJ_info_access OBJ_id_pe,1L + +# define SN_ad_OCSP "OCSP" +# define LN_ad_OCSP "OCSP" +# define NID_ad_OCSP 178 +# define OBJ_ad_OCSP OBJ_id_ad,1L + +# define SN_ad_ca_issuers "caIssuers" +# define LN_ad_ca_issuers "CA Issuers" +# define NID_ad_ca_issuers 179 +# define OBJ_ad_ca_issuers OBJ_id_ad,2L + +# define SN_OCSP_sign "OCSPSigning" +# define LN_OCSP_sign "OCSP Signing" +# define NID_OCSP_sign 180 +# define OBJ_OCSP_sign OBJ_id_kp,9L +# endif /* USE_OBJ_MAC */ + +# include +# include + +# define OBJ_NAME_TYPE_UNDEF 0x00 +# define OBJ_NAME_TYPE_MD_METH 0x01 +# define OBJ_NAME_TYPE_CIPHER_METH 0x02 +# define OBJ_NAME_TYPE_PKEY_METH 0x03 +# define OBJ_NAME_TYPE_COMP_METH 0x04 +# define OBJ_NAME_TYPE_NUM 0x05 + +# define OBJ_NAME_ALIAS 0x8000 + +# define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 +# define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct obj_name_st { + int type; + int alias; + const char *name; + const char *data; +} OBJ_NAME; + +# define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) + +int OBJ_NAME_init(void); +int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), + int (*cmp_func) (const char *, const char *), + void (*free_func) (const char *, int, const char *)); +const char *OBJ_NAME_get(const char *name, int type); +int OBJ_NAME_add(const char *name, int type, const char *data); +int OBJ_NAME_remove(const char *name, int type); +void OBJ_NAME_cleanup(int type); /* -1 for everything */ +void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), + void *arg); +void OBJ_NAME_do_all_sorted(int type, + void (*fn) (const OBJ_NAME *, void *arg), + void *arg); + +ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_nid2obj(int n); +const char *OBJ_nid2ln(int n); +const char *OBJ_nid2sn(int n); +int OBJ_obj2nid(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); +int OBJ_txt2nid(const char *s); +int OBJ_ln2nid(const char *s); +int OBJ_sn2nid(const char *s); +int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); +const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, + int (*cmp) (const void *, const void *)); +const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, + int size, + int (*cmp) (const void *, const void *), + int flags); + +# define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ + static int nm##_cmp(type1 const *, type2 const *); \ + scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +# define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ + _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) +# define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +/*- + * Unsolved problem: if a type is actually a pointer type, like + * nid_triple is, then its impossible to get a const where you need + * it. Consider: + * + * typedef int nid_triple[3]; + * const void *a_; + * const nid_triple const *a = a_; + * + * The assignement discards a const because what you really want is: + * + * const int const * const *a = a_; + * + * But if you do that, you lose the fact that a is an array of 3 ints, + * which breaks comparison functions. + * + * Thus we end up having to cast, sadly, or unpack the + * declarations. Or, as I finally did in this case, delcare nid_triple + * to be a struct, which it should have been in the first place. + * + * Ben, August 2008. + * + * Also, strictly speaking not all types need be const, but handling + * the non-constness means a lot of complication, and in practice + * comparison routines do always not touch their arguments. + */ + +# define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define OBJ_bsearch(type1,key,type2,base,num,cmp) \ + ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN))) + +# define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ + ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN)),flags) + +int OBJ_new_nid(int num); +int OBJ_add_object(const ASN1_OBJECT *obj); +int OBJ_create(const char *oid, const char *sn, const char *ln); +void OBJ_cleanup(void); +int OBJ_create_objects(BIO *in); + +int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); +int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); +int OBJ_add_sigid(int signid, int dig_id, int pkey_id); +void OBJ_sigid_free(void); + +extern int obj_cleanup_defer; +void check_defer(int nid); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_OBJ_strings(void); + +/* Error codes for the OBJ functions. */ + +/* Function codes. */ +# define OBJ_F_OBJ_ADD_OBJECT 105 +# define OBJ_F_OBJ_CREATE 100 +# define OBJ_F_OBJ_DUP 101 +# define OBJ_F_OBJ_NAME_NEW_INDEX 106 +# define OBJ_F_OBJ_NID2LN 102 +# define OBJ_F_OBJ_NID2OBJ 103 +# define OBJ_F_OBJ_NID2SN 104 + +/* Reason codes. */ +# define OBJ_R_MALLOC_FAILURE 100 +# define OBJ_R_UNKNOWN_NID 101 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ocsp.h b/openssl/1.0/include/openssl/ocsp.h new file mode 100644 index 0000000..ca2ee76 --- /dev/null +++ b/openssl/1.0/include/openssl/ocsp.h @@ -0,0 +1,637 @@ +/* ocsp.h */ +/* + * Written by Tom Titchener for the OpenSSL + * project. + */ + +/* + * History: This file was transfered to Richard Levitte from CertCo by Kathy + * Weinhold in mid-spring 2000 to be included in OpenSSL or released as a + * patch kit. + */ + +/* ==================================================================== + * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_OCSP_H +# define HEADER_OCSP_H + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Various flags and values */ + +# define OCSP_DEFAULT_NONCE_LENGTH 16 + +# define OCSP_NOCERTS 0x1 +# define OCSP_NOINTERN 0x2 +# define OCSP_NOSIGS 0x4 +# define OCSP_NOCHAIN 0x8 +# define OCSP_NOVERIFY 0x10 +# define OCSP_NOEXPLICIT 0x20 +# define OCSP_NOCASIGN 0x40 +# define OCSP_NODELEGATED 0x80 +# define OCSP_NOCHECKS 0x100 +# define OCSP_TRUSTOTHER 0x200 +# define OCSP_RESPID_KEY 0x400 +# define OCSP_NOTIME 0x800 + +/*- CertID ::= SEQUENCE { + * hashAlgorithm AlgorithmIdentifier, + * issuerNameHash OCTET STRING, -- Hash of Issuer's DN + * issuerKeyHash OCTET STRING, -- Hash of Issuers public key (excluding the tag & length fields) + * serialNumber CertificateSerialNumber } + */ +typedef struct ocsp_cert_id_st { + X509_ALGOR *hashAlgorithm; + ASN1_OCTET_STRING *issuerNameHash; + ASN1_OCTET_STRING *issuerKeyHash; + ASN1_INTEGER *serialNumber; +} OCSP_CERTID; + +DECLARE_STACK_OF(OCSP_CERTID) + +/*- Request ::= SEQUENCE { + * reqCert CertID, + * singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_one_request_st { + OCSP_CERTID *reqCert; + STACK_OF(X509_EXTENSION) *singleRequestExtensions; +} OCSP_ONEREQ; + +DECLARE_STACK_OF(OCSP_ONEREQ) +DECLARE_ASN1_SET_OF(OCSP_ONEREQ) + +/*- TBSRequest ::= SEQUENCE { + * version [0] EXPLICIT Version DEFAULT v1, + * requestorName [1] EXPLICIT GeneralName OPTIONAL, + * requestList SEQUENCE OF Request, + * requestExtensions [2] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_req_info_st { + ASN1_INTEGER *version; + GENERAL_NAME *requestorName; + STACK_OF(OCSP_ONEREQ) *requestList; + STACK_OF(X509_EXTENSION) *requestExtensions; +} OCSP_REQINFO; + +/*- Signature ::= SEQUENCE { + * signatureAlgorithm AlgorithmIdentifier, + * signature BIT STRING, + * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } + */ +typedef struct ocsp_signature_st { + X509_ALGOR *signatureAlgorithm; + ASN1_BIT_STRING *signature; + STACK_OF(X509) *certs; +} OCSP_SIGNATURE; + +/*- OCSPRequest ::= SEQUENCE { + * tbsRequest TBSRequest, + * optionalSignature [0] EXPLICIT Signature OPTIONAL } + */ +typedef struct ocsp_request_st { + OCSP_REQINFO *tbsRequest; + OCSP_SIGNATURE *optionalSignature; /* OPTIONAL */ +} OCSP_REQUEST; + +/*- OCSPResponseStatus ::= ENUMERATED { + * successful (0), --Response has valid confirmations + * malformedRequest (1), --Illegal confirmation request + * internalError (2), --Internal error in issuer + * tryLater (3), --Try again later + * --(4) is not used + * sigRequired (5), --Must sign the request + * unauthorized (6) --Request unauthorized + * } + */ +# define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 +# define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 +# define OCSP_RESPONSE_STATUS_INTERNALERROR 2 +# define OCSP_RESPONSE_STATUS_TRYLATER 3 +# define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 +# define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 + +/*- ResponseBytes ::= SEQUENCE { + * responseType OBJECT IDENTIFIER, + * response OCTET STRING } + */ +typedef struct ocsp_resp_bytes_st { + ASN1_OBJECT *responseType; + ASN1_OCTET_STRING *response; +} OCSP_RESPBYTES; + +/*- OCSPResponse ::= SEQUENCE { + * responseStatus OCSPResponseStatus, + * responseBytes [0] EXPLICIT ResponseBytes OPTIONAL } + */ +struct ocsp_response_st { + ASN1_ENUMERATED *responseStatus; + OCSP_RESPBYTES *responseBytes; +}; + +/*- ResponderID ::= CHOICE { + * byName [1] Name, + * byKey [2] KeyHash } + */ +# define V_OCSP_RESPID_NAME 0 +# define V_OCSP_RESPID_KEY 1 +struct ocsp_responder_id_st { + int type; + union { + X509_NAME *byName; + ASN1_OCTET_STRING *byKey; + } value; +}; + +DECLARE_STACK_OF(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) + +/*- KeyHash ::= OCTET STRING --SHA-1 hash of responder's public key + * --(excluding the tag and length fields) + */ + +/*- RevokedInfo ::= SEQUENCE { + * revocationTime GeneralizedTime, + * revocationReason [0] EXPLICIT CRLReason OPTIONAL } + */ +typedef struct ocsp_revoked_info_st { + ASN1_GENERALIZEDTIME *revocationTime; + ASN1_ENUMERATED *revocationReason; +} OCSP_REVOKEDINFO; + +/*- CertStatus ::= CHOICE { + * good [0] IMPLICIT NULL, + * revoked [1] IMPLICIT RevokedInfo, + * unknown [2] IMPLICIT UnknownInfo } + */ +# define V_OCSP_CERTSTATUS_GOOD 0 +# define V_OCSP_CERTSTATUS_REVOKED 1 +# define V_OCSP_CERTSTATUS_UNKNOWN 2 +typedef struct ocsp_cert_status_st { + int type; + union { + ASN1_NULL *good; + OCSP_REVOKEDINFO *revoked; + ASN1_NULL *unknown; + } value; +} OCSP_CERTSTATUS; + +/*- SingleResponse ::= SEQUENCE { + * certID CertID, + * certStatus CertStatus, + * thisUpdate GeneralizedTime, + * nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, + * singleExtensions [1] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_single_response_st { + OCSP_CERTID *certId; + OCSP_CERTSTATUS *certStatus; + ASN1_GENERALIZEDTIME *thisUpdate; + ASN1_GENERALIZEDTIME *nextUpdate; + STACK_OF(X509_EXTENSION) *singleExtensions; +} OCSP_SINGLERESP; + +DECLARE_STACK_OF(OCSP_SINGLERESP) +DECLARE_ASN1_SET_OF(OCSP_SINGLERESP) + +/*- ResponseData ::= SEQUENCE { + * version [0] EXPLICIT Version DEFAULT v1, + * responderID ResponderID, + * producedAt GeneralizedTime, + * responses SEQUENCE OF SingleResponse, + * responseExtensions [1] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_response_data_st { + ASN1_INTEGER *version; + OCSP_RESPID *responderId; + ASN1_GENERALIZEDTIME *producedAt; + STACK_OF(OCSP_SINGLERESP) *responses; + STACK_OF(X509_EXTENSION) *responseExtensions; +} OCSP_RESPDATA; + +/*- BasicOCSPResponse ::= SEQUENCE { + * tbsResponseData ResponseData, + * signatureAlgorithm AlgorithmIdentifier, + * signature BIT STRING, + * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } + */ + /* + * Note 1: The value for "signature" is specified in the OCSP rfc2560 as + * follows: "The value for the signature SHALL be computed on the hash of + * the DER encoding ResponseData." This means that you must hash the + * DER-encoded tbsResponseData, and then run it through a crypto-signing + * function, which will (at least w/RSA) do a hash-'n'-private-encrypt + * operation. This seems a bit odd, but that's the spec. Also note that + * the data structures do not leave anywhere to independently specify the + * algorithm used for the initial hash. So, we look at the + * signature-specification algorithm, and try to do something intelligent. + * -- Kathy Weinhold, CertCo + */ + /* + * Note 2: It seems that the mentioned passage from RFC 2560 (section + * 4.2.1) is open for interpretation. I've done tests against another + * responder, and found that it doesn't do the double hashing that the RFC + * seems to say one should. Therefore, all relevant functions take a flag + * saying which variant should be used. -- Richard Levitte, OpenSSL team + * and CeloCom + */ +typedef struct ocsp_basic_response_st { + OCSP_RESPDATA *tbsResponseData; + X509_ALGOR *signatureAlgorithm; + ASN1_BIT_STRING *signature; + STACK_OF(X509) *certs; +} OCSP_BASICRESP; + +/*- + * CRLReason ::= ENUMERATED { + * unspecified (0), + * keyCompromise (1), + * cACompromise (2), + * affiliationChanged (3), + * superseded (4), + * cessationOfOperation (5), + * certificateHold (6), + * removeFromCRL (8) } + */ +# define OCSP_REVOKED_STATUS_NOSTATUS -1 +# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 +# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 +# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 +# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 +# define OCSP_REVOKED_STATUS_SUPERSEDED 4 +# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 +# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 +# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 + +/*- + * CrlID ::= SEQUENCE { + * crlUrl [0] EXPLICIT IA5String OPTIONAL, + * crlNum [1] EXPLICIT INTEGER OPTIONAL, + * crlTime [2] EXPLICIT GeneralizedTime OPTIONAL } + */ +typedef struct ocsp_crl_id_st { + ASN1_IA5STRING *crlUrl; + ASN1_INTEGER *crlNum; + ASN1_GENERALIZEDTIME *crlTime; +} OCSP_CRLID; + +/*- + * ServiceLocator ::= SEQUENCE { + * issuer Name, + * locator AuthorityInfoAccessSyntax OPTIONAL } + */ +typedef struct ocsp_service_locator_st { + X509_NAME *issuer; + STACK_OF(ACCESS_DESCRIPTION) *locator; +} OCSP_SERVICELOC; + +# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" +# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" + +# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) + +# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) + +# define PEM_read_bio_OCSP_REQUEST(bp,x,cb) (OCSP_REQUEST *)PEM_ASN1_read_bio( \ + (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,bp,(char **)x,cb,NULL) + +# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\ + (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,bp,(char **)x,cb,NULL) + +# define PEM_write_bio_OCSP_REQUEST(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +# define PEM_write_bio_OCSP_RESPONSE(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +# define i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) + +# define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) + +# define OCSP_REQUEST_sign(o,pkey,md) \ + ASN1_item_sign(ASN1_ITEM_rptr(OCSP_REQINFO),\ + o->optionalSignature->signatureAlgorithm,NULL,\ + o->optionalSignature->signature,o->tbsRequest,pkey,md) + +# define OCSP_BASICRESP_sign(o,pkey,md,d) \ + ASN1_item_sign(ASN1_ITEM_rptr(OCSP_RESPDATA),o->signatureAlgorithm,NULL,\ + o->signature,o->tbsResponseData,pkey,md) + +# define OCSP_REQUEST_verify(a,r) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_REQINFO),\ + a->optionalSignature->signatureAlgorithm,\ + a->optionalSignature->signature,a->tbsRequest,r) + +# define OCSP_BASICRESP_verify(a,r,d) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_RESPDATA),\ + a->signatureAlgorithm,a->signature,a->tbsResponseData,r) + +# define ASN1_BIT_STRING_digest(data,type,md,len) \ + ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) + +# define OCSP_CERTSTATUS_dup(cs)\ + (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ + (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) + +OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); + +OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); +OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, + int maxline); +int OCSP_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); +int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); +OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *io, int maxline); +void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); +void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, + const ASN1_ITEM *it); +BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); +int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); +int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, + const char *name, const char *value); + +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, X509 *subject, X509 *issuer); + +OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, + X509_NAME *issuerName, + ASN1_BIT_STRING *issuerKey, + ASN1_INTEGER *serialNumber); + +OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); + +int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); +int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); +int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); +int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); + +int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm); +int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); + +int OCSP_request_sign(OCSP_REQUEST *req, + X509 *signer, + EVP_PKEY *key, + const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); + +int OCSP_response_status(OCSP_RESPONSE *resp); +OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); + +int OCSP_resp_count(OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); +int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); +int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, + int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, + ASN1_GENERALIZEDTIME *nextupd, long sec, long maxsec); + +int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, + X509_STORE *store, unsigned long flags); + +int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath, + int *pssl); + +int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b); +int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); + +int OCSP_request_onereq_count(OCSP_REQUEST *req); +OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); +OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); +int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, + ASN1_OCTET_STRING **pikeyHash, + ASN1_INTEGER **pserial, OCSP_CERTID *cid); +int OCSP_request_is_signed(OCSP_REQUEST *req); +OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, + OCSP_CERTID *cid, + int status, int reason, + ASN1_TIME *revtime, + ASN1_TIME *thisupd, + ASN1_TIME *nextupd); +int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); +int OCSP_basic_sign(OCSP_BASICRESP *brsp, + X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); + +X509_EXTENSION *OCSP_crlID_new(char *url, long *n, char *tim); + +X509_EXTENSION *OCSP_accept_responses_new(char **oids); + +X509_EXTENSION *OCSP_archive_cutoff_new(char *tim); + +X509_EXTENSION *OCSP_url_svcloc_new(X509_NAME *issuer, char **urls); + +int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); +int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); +int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, ASN1_OBJECT *obj, + int lastpos); +int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int lastpos); +X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); +X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); +void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, + int *idx); +int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); + +int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); +int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); +int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, ASN1_OBJECT *obj, int lastpos); +int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); +X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); +X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); +void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); +int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); + +int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); +int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); +int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, ASN1_OBJECT *obj, + int lastpos); +int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); +X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); +void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, + int *idx); +int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); + +int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); +int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int lastpos); +int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, ASN1_OBJECT *obj, + int lastpos); +int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); +X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); +void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, + int *idx); +int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc); + +DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) +DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) +DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) +DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) +DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) +DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) +DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) + +const char *OCSP_response_status_str(long s); +const char *OCSP_cert_status_str(long s); +const char *OCSP_crl_reason_str(long s); + +int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *a, unsigned long flags); +int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags); + +int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, + X509_STORE *st, unsigned long flags); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_OCSP_strings(void); + +/* Error codes for the OCSP functions. */ + +/* Function codes. */ +# define OCSP_F_ASN1_STRING_ENCODE 100 +# define OCSP_F_D2I_OCSP_NONCE 102 +# define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 +# define OCSP_F_OCSP_BASIC_SIGN 104 +# define OCSP_F_OCSP_BASIC_VERIFY 105 +# define OCSP_F_OCSP_CERT_ID_NEW 101 +# define OCSP_F_OCSP_CHECK_DELEGATED 106 +# define OCSP_F_OCSP_CHECK_IDS 107 +# define OCSP_F_OCSP_CHECK_ISSUER 108 +# define OCSP_F_OCSP_CHECK_VALIDITY 115 +# define OCSP_F_OCSP_MATCH_ISSUERID 109 +# define OCSP_F_OCSP_PARSE_URL 114 +# define OCSP_F_OCSP_REQUEST_SIGN 110 +# define OCSP_F_OCSP_REQUEST_VERIFY 116 +# define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 +# define OCSP_F_OCSP_SENDREQ_BIO 112 +# define OCSP_F_OCSP_SENDREQ_NBIO 117 +# define OCSP_F_PARSE_HTTP_LINE1 118 +# define OCSP_F_REQUEST_VERIFY 113 + +/* Reason codes. */ +# define OCSP_R_BAD_DATA 100 +# define OCSP_R_CERTIFICATE_VERIFY_ERROR 101 +# define OCSP_R_DIGEST_ERR 102 +# define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 +# define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 +# define OCSP_R_ERROR_PARSING_URL 121 +# define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 +# define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 +# define OCSP_R_NOT_BASIC_RESPONSE 104 +# define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105 +# define OCSP_R_NO_CONTENT 106 +# define OCSP_R_NO_PUBLIC_KEY 107 +# define OCSP_R_NO_RESPONSE_DATA 108 +# define OCSP_R_NO_REVOKED_TIME 109 +# define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110 +# define OCSP_R_REQUEST_NOT_SIGNED 128 +# define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 +# define OCSP_R_ROOT_CA_NOT_TRUSTED 112 +# define OCSP_R_SERVER_READ_ERROR 113 +# define OCSP_R_SERVER_RESPONSE_ERROR 114 +# define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 +# define OCSP_R_SERVER_WRITE_ERROR 116 +# define OCSP_R_SIGNATURE_FAILURE 117 +# define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 +# define OCSP_R_STATUS_EXPIRED 125 +# define OCSP_R_STATUS_NOT_YET_VALID 126 +# define OCSP_R_STATUS_TOO_OLD 127 +# define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119 +# define OCSP_R_UNKNOWN_NID 120 +# define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/opensslconf.h b/openssl/1.0/include/openssl/opensslconf.h new file mode 100644 index 0000000..ac0ad50 --- /dev/null +++ b/openssl/1.0/include/openssl/opensslconf.h @@ -0,0 +1,270 @@ +/* opensslconf.h */ +/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ + +#ifdef __cplusplus +extern "C" { +#endif +/* OpenSSL was configured with the following options: */ +#ifndef OPENSSL_DOING_MAKEDEPEND + + +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_GMP +# define OPENSSL_NO_GMP +#endif +#ifndef OPENSSL_NO_JPAKE +# define OPENSSL_NO_JPAKE +#endif +#ifndef OPENSSL_NO_KRB5 +# define OPENSSL_NO_KRB5 +#endif +#ifndef OPENSSL_NO_LIBUNBOUND +# define OPENSSL_NO_LIBUNBOUND +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_NO_RFC3779 +# define OPENSSL_NO_RFC3779 +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL2 +# define OPENSSL_NO_SSL2 +#endif +#ifndef OPENSSL_NO_STORE +# define OPENSSL_NO_STORE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif + +#endif /* OPENSSL_DOING_MAKEDEPEND */ + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_NO_DYNAMIC_ENGINE +# define OPENSSL_NO_DYNAMIC_ENGINE +#endif + +/* The OPENSSL_NO_* macros are also defined as NO_* if the application + asks for it. This is a transient feature that is provided for those + who haven't had the time to do the appropriate changes in their + applications. */ +#ifdef OPENSSL_ALGORITHM_DEFINES +# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) +# define NO_EC_NISTP_64_GCC_128 +# endif +# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) +# define NO_GMP +# endif +# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) +# define NO_JPAKE +# endif +# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) +# define NO_KRB5 +# endif +# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) +# define NO_LIBUNBOUND +# endif +# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) +# define NO_MD2 +# endif +# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) +# define NO_RC5 +# endif +# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) +# define NO_RFC3779 +# endif +# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) +# define NO_SCTP +# endif +# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) +# define NO_SSL_TRACE +# endif +# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) +# define NO_SSL2 +# endif +# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) +# define NO_STORE +# endif +# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) +# define NO_UNIT_TEST +# endif +# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) +# define NO_WEAK_SSL_CIPHERS +# endif +#endif + +#define OPENSSL_CPUID_OBJ + +/* crypto/opensslconf.h.in */ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ +#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +#define ENGINESDIR "/usr/local/ssl/lib/engines" +#define OPENSSLDIR "/usr/local/ssl" +#endif +#endif + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) +#define IDEA_INT unsigned int +#endif + +#if defined(HEADER_MD2_H) && !defined(MD2_INT) +#define MD2_INT unsigned int +#endif + +#if defined(HEADER_RC2_H) && !defined(RC2_INT) +/* I need to put in a mod for the alpha - eay */ +#define RC2_INT unsigned int +#endif + +#if defined(HEADER_RC4_H) +#if !defined(RC4_INT) +/* using int types make the structure larger but make the code faster + * on most boxes I have tested - up to %20 faster. */ +/* + * I don't know what does "most" mean, but declaring "int" is a must on: + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +#define RC4_INT unsigned int +#endif +#if !defined(RC4_CHUNK) +/* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +#define RC4_CHUNK unsigned long +#endif +#endif + +#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) +/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ +#ifndef DES_LONG +#define DES_LONG unsigned int +#endif +#endif + +#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) +#define CONFIG_HEADER_BN_H +#undef BN_LLONG + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#define SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#undef THIRTY_TWO_BIT +#endif + +#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) +#define CONFIG_HEADER_RC4_LOCL_H +/* if this is defined data[i] is used instead of *data, this is a %20 + * speedup on x86 */ +#undef RC4_INDEX +#endif + +#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) +#define CONFIG_HEADER_BF_LOCL_H +#undef BF_PTR +#endif /* HEADER_BF_LOCL_H */ + +#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +#define CONFIG_HEADER_DES_LOCL_H +#ifndef DES_DEFAULT_OPTIONS +/* the following is tweaked from a config script, that is why it is a + * protected undef/define */ +#ifndef DES_PTR +#undef DES_PTR +#endif + +/* This helps C compiler generate the correct code for multiple functional + * units. It reduces register dependancies at the expense of 2 more + * registers */ +#ifndef DES_RISC1 +#undef DES_RISC1 +#endif + +#ifndef DES_RISC2 +#undef DES_RISC2 +#endif + +#if defined(DES_RISC1) && defined(DES_RISC2) +#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#endif + +/* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very mucy CPU dependant */ +#ifndef DES_UNROLL +#define DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ +#ifdef __cplusplus +} +#endif diff --git a/openssl/1.0/include/openssl/opensslv.h b/openssl/1.0/include/openssl/opensslv.h new file mode 100644 index 0000000..76a7b00 --- /dev/null +++ b/openssl/1.0/include/openssl/opensslv.h @@ -0,0 +1,97 @@ +#ifndef HEADER_OPENSSLV_H +# define HEADER_OPENSSLV_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*- + * Numeric release version identifier: + * MNNFFPPS: major minor fix patch status + * The status nibble has one of the values 0 for development, 1 to e for betas + * 1 to 14, and f for release. The patch level is exactly that. + * For example: + * 0.9.3-dev 0x00903000 + * 0.9.3-beta1 0x00903001 + * 0.9.3-beta2-dev 0x00903002 + * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) + * 0.9.3 0x0090300f + * 0.9.3a 0x0090301f + * 0.9.4 0x0090400f + * 1.2.3z 0x102031af + * + * For continuity reasons (because 0.9.5 is already out, and is coded + * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level + * part is slightly different, by setting the highest bit. This means + * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start + * with 0x0090600S... + * + * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) + * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for + * major minor fix final patch/beta) + */ +# define OPENSSL_VERSION_NUMBER 0x1000210fL +# ifdef OPENSSL_FIPS +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p-fips 14 Aug 2018" +# else +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p 14 Aug 2018" +# endif +# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT + +/*- + * The macros below are to be used for shared library (.so, .dll, ...) + * versioning. That kind of versioning works a bit differently between + * operating systems. The most usual scheme is to set a major and a minor + * number, and have the runtime loader check that the major number is equal + * to what it was at application link time, while the minor number has to + * be greater or equal to what it was at application link time. With this + * scheme, the version number is usually part of the file name, like this: + * + * libcrypto.so.0.9 + * + * Some unixen also make a softlink with the major verson number only: + * + * libcrypto.so.0 + * + * On Tru64 and IRIX 6.x it works a little bit differently. There, the + * shared library version is stored in the file, and is actually a series + * of versions, separated by colons. The rightmost version present in the + * library when linking an application is stored in the application to be + * matched at run time. When the application is run, a check is done to + * see if the library version stored in the application matches any of the + * versions in the version string of the library itself. + * This version string can be constructed in any way, depending on what + * kind of matching is desired. However, to implement the same scheme as + * the one used in the other unixen, all compatible versions, from lowest + * to highest, should be part of the string. Consecutive builds would + * give the following versions strings: + * + * 3.0 + * 3.0:3.1 + * 3.0:3.1:3.2 + * 4.0 + * 4.0:4.1 + * + * Notice how version 4 is completely incompatible with version, and + * therefore give the breach you can see. + * + * There may be other schemes as well that I haven't yet discovered. + * + * So, here's the way it works here: first of all, the library version + * number doesn't need at all to match the overall OpenSSL version. + * However, it's nice and more understandable if it actually does. + * The current library version is stored in the macro SHLIB_VERSION_NUMBER, + * which is just a piece of text in the format "M.m.e" (Major, minor, edit). + * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, + * we need to keep a history of version numbers, which is done in the + * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and + * should only keep the versions that are binary compatible with the current. + */ +# define SHLIB_VERSION_HISTORY "" +# define SHLIB_VERSION_NUMBER "1.0.0" + + +#ifdef __cplusplus +} +#endif +#endif /* HEADER_OPENSSLV_H */ diff --git a/openssl/1.0/include/openssl/ossl_typ.h b/openssl/1.0/include/openssl/ossl_typ.h new file mode 100644 index 0000000..364d262 --- /dev/null +++ b/openssl/1.0/include/openssl/ossl_typ.h @@ -0,0 +1,213 @@ +/* ==================================================================== + * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_OPENSSL_TYPES_H +# define HEADER_OPENSSL_TYPES_H + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# ifdef NO_ASN1_TYPEDEFS +# define ASN1_INTEGER ASN1_STRING +# define ASN1_ENUMERATED ASN1_STRING +# define ASN1_BIT_STRING ASN1_STRING +# define ASN1_OCTET_STRING ASN1_STRING +# define ASN1_PRINTABLESTRING ASN1_STRING +# define ASN1_T61STRING ASN1_STRING +# define ASN1_IA5STRING ASN1_STRING +# define ASN1_UTCTIME ASN1_STRING +# define ASN1_GENERALIZEDTIME ASN1_STRING +# define ASN1_TIME ASN1_STRING +# define ASN1_GENERALSTRING ASN1_STRING +# define ASN1_UNIVERSALSTRING ASN1_STRING +# define ASN1_BMPSTRING ASN1_STRING +# define ASN1_VISIBLESTRING ASN1_STRING +# define ASN1_UTF8STRING ASN1_STRING +# define ASN1_BOOLEAN int +# define ASN1_NULL int +# else +typedef struct asn1_string_st ASN1_INTEGER; +typedef struct asn1_string_st ASN1_ENUMERATED; +typedef struct asn1_string_st ASN1_BIT_STRING; +typedef struct asn1_string_st ASN1_OCTET_STRING; +typedef struct asn1_string_st ASN1_PRINTABLESTRING; +typedef struct asn1_string_st ASN1_T61STRING; +typedef struct asn1_string_st ASN1_IA5STRING; +typedef struct asn1_string_st ASN1_GENERALSTRING; +typedef struct asn1_string_st ASN1_UNIVERSALSTRING; +typedef struct asn1_string_st ASN1_BMPSTRING; +typedef struct asn1_string_st ASN1_UTCTIME; +typedef struct asn1_string_st ASN1_TIME; +typedef struct asn1_string_st ASN1_GENERALIZEDTIME; +typedef struct asn1_string_st ASN1_VISIBLESTRING; +typedef struct asn1_string_st ASN1_UTF8STRING; +typedef struct asn1_string_st ASN1_STRING; +typedef int ASN1_BOOLEAN; +typedef int ASN1_NULL; +# endif + +typedef struct asn1_object_st ASN1_OBJECT; + +typedef struct ASN1_ITEM_st ASN1_ITEM; +typedef struct asn1_pctx_st ASN1_PCTX; + +# ifdef OPENSSL_SYS_WIN32 +# undef X509_NAME +# undef X509_EXTENSIONS +# undef X509_CERT_PAIR +# undef PKCS7_ISSUER_AND_SERIAL +# undef OCSP_REQUEST +# undef OCSP_RESPONSE +# endif + +# ifdef BIGNUM +# undef BIGNUM +# endif +typedef struct bignum_st BIGNUM; +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_recp_ctx_st BN_RECP_CTX; +typedef struct bn_gencb_st BN_GENCB; + +typedef struct buf_mem_st BUF_MEM; + +typedef struct evp_cipher_st EVP_CIPHER; +typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; +typedef struct env_md_st EVP_MD; +typedef struct env_md_ctx_st EVP_MD_CTX; +typedef struct evp_pkey_st EVP_PKEY; + +typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; + +typedef struct evp_pkey_method_st EVP_PKEY_METHOD; +typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; + +typedef struct dh_st DH; +typedef struct dh_method DH_METHOD; + +typedef struct dsa_st DSA; +typedef struct dsa_method DSA_METHOD; + +typedef struct rsa_st RSA; +typedef struct rsa_meth_st RSA_METHOD; + +typedef struct rand_meth_st RAND_METHOD; + +typedef struct ecdh_method ECDH_METHOD; +typedef struct ecdsa_method ECDSA_METHOD; + +typedef struct x509_st X509; +typedef struct X509_algor_st X509_ALGOR; +typedef struct X509_crl_st X509_CRL; +typedef struct x509_crl_method_st X509_CRL_METHOD; +typedef struct x509_revoked_st X509_REVOKED; +typedef struct X509_name_st X509_NAME; +typedef struct X509_pubkey_st X509_PUBKEY; +typedef struct x509_store_st X509_STORE; +typedef struct x509_store_ctx_st X509_STORE_CTX; + +typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; + +typedef struct v3_ext_ctx X509V3_CTX; +typedef struct conf_st CONF; + +typedef struct store_st STORE; +typedef struct store_method_st STORE_METHOD; + +typedef struct ui_st UI; +typedef struct ui_method_st UI_METHOD; + +typedef struct st_ERR_FNS ERR_FNS; + +typedef struct engine_st ENGINE; +typedef struct ssl_st SSL; +typedef struct ssl_ctx_st SSL_CTX; + +typedef struct comp_method_st COMP_METHOD; + +typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; +typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; +typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; +typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; + +typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; +typedef struct DIST_POINT_st DIST_POINT; +typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; +typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; + + /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */ +# define DECLARE_PKCS12_STACK_OF(type)/* Nothing */ +# define IMPLEMENT_PKCS12_STACK_OF(type)/* Nothing */ + +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; +/* Callback types for crypto.h */ +typedef int CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, + void *from_d, int idx, long argl, void *argp); + +typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; +typedef struct ocsp_response_st OCSP_RESPONSE; +typedef struct ocsp_responder_id_st OCSP_RESPID; + +#ifdef __cplusplus +} +#endif +#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/openssl/1.0/include/openssl/pem.h b/openssl/1.0/include/openssl/pem.h new file mode 100644 index 0000000..9c1d939 --- /dev/null +++ b/openssl/1.0/include/openssl/pem.h @@ -0,0 +1,618 @@ +/* crypto/pem/pem.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_PEM_H +# define HEADER_PEM_H + +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# ifndef OPENSSL_NO_STACK +# include +# endif +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PEM_BUFSIZE 1024 + +# define PEM_OBJ_UNDEF 0 +# define PEM_OBJ_X509 1 +# define PEM_OBJ_X509_REQ 2 +# define PEM_OBJ_CRL 3 +# define PEM_OBJ_SSL_SESSION 4 +# define PEM_OBJ_PRIV_KEY 10 +# define PEM_OBJ_PRIV_RSA 11 +# define PEM_OBJ_PRIV_DSA 12 +# define PEM_OBJ_PRIV_DH 13 +# define PEM_OBJ_PUB_RSA 14 +# define PEM_OBJ_PUB_DSA 15 +# define PEM_OBJ_PUB_DH 16 +# define PEM_OBJ_DHPARAMS 17 +# define PEM_OBJ_DSAPARAMS 18 +# define PEM_OBJ_PRIV_RSA_PUBLIC 19 +# define PEM_OBJ_PRIV_ECDSA 20 +# define PEM_OBJ_PUB_ECDSA 21 +# define PEM_OBJ_ECPARAMETERS 22 + +# define PEM_ERROR 30 +# define PEM_DEK_DES_CBC 40 +# define PEM_DEK_IDEA_CBC 45 +# define PEM_DEK_DES_EDE 50 +# define PEM_DEK_DES_ECB 60 +# define PEM_DEK_RSA 70 +# define PEM_DEK_RSA_MD2 80 +# define PEM_DEK_RSA_MD5 90 + +# define PEM_MD_MD2 NID_md2 +# define PEM_MD_MD5 NID_md5 +# define PEM_MD_SHA NID_sha +# define PEM_MD_MD2_RSA NID_md2WithRSAEncryption +# define PEM_MD_MD5_RSA NID_md5WithRSAEncryption +# define PEM_MD_SHA_RSA NID_sha1WithRSAEncryption + +# define PEM_STRING_X509_OLD "X509 CERTIFICATE" +# define PEM_STRING_X509 "CERTIFICATE" +# define PEM_STRING_X509_PAIR "CERTIFICATE PAIR" +# define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" +# define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" +# define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" +# define PEM_STRING_X509_CRL "X509 CRL" +# define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY" +# define PEM_STRING_PUBLIC "PUBLIC KEY" +# define PEM_STRING_RSA "RSA PRIVATE KEY" +# define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY" +# define PEM_STRING_DSA "DSA PRIVATE KEY" +# define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY" +# define PEM_STRING_PKCS7 "PKCS7" +# define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA" +# define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY" +# define PEM_STRING_PKCS8INF "PRIVATE KEY" +# define PEM_STRING_DHPARAMS "DH PARAMETERS" +# define PEM_STRING_DHXPARAMS "X9.42 DH PARAMETERS" +# define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" +# define PEM_STRING_DSAPARAMS "DSA PARAMETERS" +# define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" +# define PEM_STRING_ECPARAMETERS "EC PARAMETERS" +# define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY" +# define PEM_STRING_PARAMETERS "PARAMETERS" +# define PEM_STRING_CMS "CMS" + + /* + * Note that this structure is initialised by PEM_SealInit and cleaned up + * by PEM_SealFinal (at least for now) + */ +typedef struct PEM_Encode_Seal_st { + EVP_ENCODE_CTX encode; + EVP_MD_CTX md; + EVP_CIPHER_CTX cipher; +} PEM_ENCODE_SEAL_CTX; + +/* enc_type is one off */ +# define PEM_TYPE_ENCRYPTED 10 +# define PEM_TYPE_MIC_ONLY 20 +# define PEM_TYPE_MIC_CLEAR 30 +# define PEM_TYPE_CLEAR 40 + +typedef struct pem_recip_st { + char *name; + X509_NAME *dn; + int cipher; + int key_enc; + /* char iv[8]; unused and wrong size */ +} PEM_USER; + +typedef struct pem_ctx_st { + int type; /* what type of object */ + struct { + int version; + int mode; + } proc_type; + + char *domain; + + struct { + int cipher; + /*- + unused, and wrong size + unsigned char iv[8]; */ + } DEK_info; + + PEM_USER *originator; + + int num_recipient; + PEM_USER **recipient; +/*- + XXX(ben): don#t think this is used! + STACK *x509_chain; / * certificate chain */ + EVP_MD *md; /* signature type */ + + int md_enc; /* is the md encrypted or not? */ + int md_len; /* length of md_data */ + char *md_data; /* message digest, could be pkey encrypted */ + + EVP_CIPHER *dec; /* date encryption cipher */ + int key_len; /* key length */ + unsigned char *key; /* key */ + /*- + unused, and wrong size + unsigned char iv[8]; */ + + int data_enc; /* is the data encrypted */ + int data_len; + unsigned char *data; +} PEM_CTX; + +/* + * These macros make the PEM_read/PEM_write functions easier to maintain and + * write. Now they are all implemented with either: IMPLEMENT_PEM_rw(...) or + * IMPLEMENT_PEM_rw_cb(...) + */ + +# ifdef OPENSSL_NO_FP_API + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ +# else + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ +type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, const type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# endif + +# define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ +type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, const type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_read_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb(name, type, str, asn1) + +/* These are the same except they are for the declarations */ + +# if defined(OPENSSL_NO_FP_API) + +# define DECLARE_PEM_read_fp(name, type) /**/ +# define DECLARE_PEM_write_fp(name, type) /**/ +# define DECLARE_PEM_write_cb_fp(name, type) /**/ +# else + +# define DECLARE_PEM_read_fp(name, type) \ + type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x); + +# define DECLARE_PEM_write_fp_const(name, type) \ + int PEM_write_##name(FILE *fp, const type *x); + +# define DECLARE_PEM_write_cb_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# endif + +# ifndef OPENSSL_NO_BIO +# define DECLARE_PEM_read_bio(name, type) \ + type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x); + +# define DECLARE_PEM_write_bio_const(name, type) \ + int PEM_write_bio_##name(BIO *bp, const type *x); + +# define DECLARE_PEM_write_cb_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# else + +# define DECLARE_PEM_read_bio(name, type) /**/ +# define DECLARE_PEM_write_bio(name, type) /**/ +# define DECLARE_PEM_write_bio_const(name, type) /**/ +# define DECLARE_PEM_write_cb_bio(name, type) /**/ +# endif +# define DECLARE_PEM_write(name, type) \ + DECLARE_PEM_write_bio(name, type) \ + DECLARE_PEM_write_fp(name, type) +# define DECLARE_PEM_write_const(name, type) \ + DECLARE_PEM_write_bio_const(name, type) \ + DECLARE_PEM_write_fp_const(name, type) +# define DECLARE_PEM_write_cb(name, type) \ + DECLARE_PEM_write_cb_bio(name, type) \ + DECLARE_PEM_write_cb_fp(name, type) +# define DECLARE_PEM_read(name, type) \ + DECLARE_PEM_read_bio(name, type) \ + DECLARE_PEM_read_fp(name, type) +# define DECLARE_PEM_rw(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write(name, type) +# define DECLARE_PEM_rw_const(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_const(name, type) +# define DECLARE_PEM_rw_cb(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_cb(name, type) +# if 1 +/* "userdata": new with OpenSSL 0.9.4 */ +typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); +# else +/* OpenSSL 0.9.3, 0.9.3a */ +typedef int pem_password_cb (char *buf, int size, int rwflag); +# endif + +int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); +int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, + pem_password_cb *callback, void *u); + +# ifndef OPENSSL_NO_BIO +int PEM_read_bio(BIO *bp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write_bio(BIO *bp, const char *name, const char *hdr, + const unsigned char *data, long len); +int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, + const char *name, BIO *bp, pem_password_cb *cb, + void *u); +void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, + const EVP_CIPHER *enc, unsigned char *kstr, int klen, + pem_password_cb *cb, void *u); + +STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); +int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cd, void *u); +# endif + +int PEM_read(FILE *fp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write(FILE *fp, const char *name, const char *hdr, + const unsigned char *data, long len); +void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, + void *x, const EVP_CIPHER *enc, unsigned char *kstr, + int klen, pem_password_cb *callback, void *u); +STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); + +int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, + EVP_MD *md_type, unsigned char **ek, int *ekl, + unsigned char *iv, EVP_PKEY **pubk, int npubk); +void PEM_SealUpdate(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *out, int *outl, + unsigned char *in, int inl); +int PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, + unsigned char *out, int *outl, EVP_PKEY *priv); + +void PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); +void PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); +int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, + unsigned int *siglen, EVP_PKEY *pkey); + +/* The default pem_password_cb that's used internally */ +int PEM_def_callback(char *buf, int num, int rwflag, void *userdata); +void PEM_proc_type(char *buf, int type); +void PEM_dek_info(char *buf, const char *type, int len, char *str); + +# include + +DECLARE_PEM_rw(X509, X509) +DECLARE_PEM_rw(X509_AUX, X509) +DECLARE_PEM_rw(X509_CERT_PAIR, X509_CERT_PAIR) +DECLARE_PEM_rw(X509_REQ, X509_REQ) +DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) +DECLARE_PEM_rw(X509_CRL, X509_CRL) +DECLARE_PEM_rw(PKCS7, PKCS7) +DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) +DECLARE_PEM_rw(PKCS8, X509_SIG) +DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) +# ifndef OPENSSL_NO_RSA +DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) +DECLARE_PEM_rw_const(RSAPublicKey, RSA) +DECLARE_PEM_rw(RSA_PUBKEY, RSA) +# endif +# ifndef OPENSSL_NO_DSA +DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) +DECLARE_PEM_rw(DSA_PUBKEY, DSA) +DECLARE_PEM_rw_const(DSAparams, DSA) +# endif +# ifndef OPENSSL_NO_EC +DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) +DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) +DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) +# endif +# ifndef OPENSSL_NO_DH +DECLARE_PEM_rw_const(DHparams, DH) +DECLARE_PEM_write_const(DHxparams, DH) +# endif +DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) +DECLARE_PEM_rw(PUBKEY, EVP_PKEY) + +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, + char *, int, pem_password_cb *, void *); +int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); + +EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cd, + void *u); + +EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); +int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); + +EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PrivateKey_bio(BIO *in); +EVP_PKEY *b2i_PublicKey_bio(BIO *in); +int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); +int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); +# ifndef OPENSSL_NO_RC4 +EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); +int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, + pem_password_cb *cb, void *u); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +void ERR_load_PEM_strings(void); + +/* Error codes for the PEM functions. */ + +/* Function codes. */ +# define PEM_F_B2I_DSS 127 +# define PEM_F_B2I_PVK_BIO 128 +# define PEM_F_B2I_RSA 129 +# define PEM_F_CHECK_BITLEN_DSA 130 +# define PEM_F_CHECK_BITLEN_RSA 131 +# define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 +# define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 +# define PEM_F_DO_B2I 132 +# define PEM_F_DO_B2I_BIO 133 +# define PEM_F_DO_BLOB_HEADER 134 +# define PEM_F_DO_PK8PKEY 126 +# define PEM_F_DO_PK8PKEY_FP 125 +# define PEM_F_DO_PVK_BODY 135 +# define PEM_F_DO_PVK_HEADER 136 +# define PEM_F_I2B_PVK 137 +# define PEM_F_I2B_PVK_BIO 138 +# define PEM_F_LOAD_IV 101 +# define PEM_F_PEM_ASN1_READ 102 +# define PEM_F_PEM_ASN1_READ_BIO 103 +# define PEM_F_PEM_ASN1_WRITE 104 +# define PEM_F_PEM_ASN1_WRITE_BIO 105 +# define PEM_F_PEM_DEF_CALLBACK 100 +# define PEM_F_PEM_DO_HEADER 106 +# define PEM_F_PEM_F_PEM_WRITE_PKCS8PRIVATEKEY 118 +# define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 +# define PEM_F_PEM_PK8PKEY 119 +# define PEM_F_PEM_READ 108 +# define PEM_F_PEM_READ_BIO 109 +# define PEM_F_PEM_READ_BIO_DHPARAMS 141 +# define PEM_F_PEM_READ_BIO_PARAMETERS 140 +# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 +# define PEM_F_PEM_READ_DHPARAMS 142 +# define PEM_F_PEM_READ_PRIVATEKEY 124 +# define PEM_F_PEM_SEALFINAL 110 +# define PEM_F_PEM_SEALINIT 111 +# define PEM_F_PEM_SIGNFINAL 112 +# define PEM_F_PEM_WRITE 113 +# define PEM_F_PEM_WRITE_BIO 114 +# define PEM_F_PEM_WRITE_PRIVATEKEY 139 +# define PEM_F_PEM_X509_INFO_READ 115 +# define PEM_F_PEM_X509_INFO_READ_BIO 116 +# define PEM_F_PEM_X509_INFO_WRITE_BIO 117 + +/* Reason codes. */ +# define PEM_R_BAD_BASE64_DECODE 100 +# define PEM_R_BAD_DECRYPT 101 +# define PEM_R_BAD_END_LINE 102 +# define PEM_R_BAD_IV_CHARS 103 +# define PEM_R_BAD_MAGIC_NUMBER 116 +# define PEM_R_BAD_PASSWORD_READ 104 +# define PEM_R_BAD_VERSION_NUMBER 117 +# define PEM_R_BIO_WRITE_FAILURE 118 +# define PEM_R_CIPHER_IS_NULL 127 +# define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 +# define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 +# define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 +# define PEM_R_HEADER_TOO_LONG 128 +# define PEM_R_INCONSISTENT_HEADER 121 +# define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 +# define PEM_R_KEYBLOB_TOO_SHORT 123 +# define PEM_R_NOT_DEK_INFO 105 +# define PEM_R_NOT_ENCRYPTED 106 +# define PEM_R_NOT_PROC_TYPE 107 +# define PEM_R_NO_START_LINE 108 +# define PEM_R_PROBLEMS_GETTING_PASSWORD 109 +# define PEM_R_PUBLIC_KEY_NO_RSA 110 +# define PEM_R_PVK_DATA_TOO_SHORT 124 +# define PEM_R_PVK_TOO_SHORT 125 +# define PEM_R_READ_KEY 111 +# define PEM_R_SHORT_HEADER 112 +# define PEM_R_UNSUPPORTED_CIPHER 113 +# define PEM_R_UNSUPPORTED_ENCRYPTION 114 +# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.0/include/openssl/pem2.h b/openssl/1.0/include/openssl/pem2.h new file mode 100644 index 0000000..84897d5 --- /dev/null +++ b/openssl/1.0/include/openssl/pem2.h @@ -0,0 +1,70 @@ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +/* + * This header only exists to break a circular dependency between pem and err + * Ben 30 Jan 1999. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef HEADER_PEM_H +void ERR_load_PEM_strings(void); +#endif + +#ifdef __cplusplus +} +#endif diff --git a/openssl/1.0/include/openssl/pkcs12.h b/openssl/1.0/include/openssl/pkcs12.h new file mode 100644 index 0000000..21f1f62 --- /dev/null +++ b/openssl/1.0/include/openssl/pkcs12.h @@ -0,0 +1,342 @@ +/* pkcs12.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project + * 1999. + */ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_PKCS12_H +# define HEADER_PKCS12_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PKCS12_KEY_ID 1 +# define PKCS12_IV_ID 2 +# define PKCS12_MAC_ID 3 + +/* Default iteration count */ +# ifndef PKCS12_DEFAULT_ITER +# define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER +# endif + +# define PKCS12_MAC_KEY_LENGTH 20 + +# define PKCS12_SALT_LEN 8 + +/* Uncomment out next line for unicode password and names, otherwise ASCII */ + +/* + * #define PBE_UNICODE + */ + +# ifdef PBE_UNICODE +# define PKCS12_key_gen PKCS12_key_gen_uni +# define PKCS12_add_friendlyname PKCS12_add_friendlyname_uni +# else +# define PKCS12_key_gen PKCS12_key_gen_asc +# define PKCS12_add_friendlyname PKCS12_add_friendlyname_asc +# endif + +/* MS key usage constants */ + +# define KEY_EX 0x10 +# define KEY_SIG 0x80 + +typedef struct { + X509_SIG *dinfo; + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; /* defaults to 1 */ +} PKCS12_MAC_DATA; + +typedef struct { + ASN1_INTEGER *version; + PKCS12_MAC_DATA *mac; + PKCS7 *authsafes; +} PKCS12; + +typedef struct { + ASN1_OBJECT *type; + union { + struct pkcs12_bag_st *bag; /* secret, crl and certbag */ + struct pkcs8_priv_key_info_st *keybag; /* keybag */ + X509_SIG *shkeybag; /* shrouded key bag */ + STACK_OF(PKCS12_SAFEBAG) *safes; + ASN1_TYPE *other; + } value; + STACK_OF(X509_ATTRIBUTE) *attrib; +} PKCS12_SAFEBAG; + +DECLARE_STACK_OF(PKCS12_SAFEBAG) +DECLARE_ASN1_SET_OF(PKCS12_SAFEBAG) +DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG) + +typedef struct pkcs12_bag_st { + ASN1_OBJECT *type; + union { + ASN1_OCTET_STRING *x509cert; + ASN1_OCTET_STRING *x509crl; + ASN1_OCTET_STRING *octet; + ASN1_IA5STRING *sdsicert; + ASN1_TYPE *other; /* Secret or other bag */ + } value; +} PKCS12_BAGS; + +# define PKCS12_ERROR 0 +# define PKCS12_OK 1 + +/* Compatibility macros */ + +# define M_PKCS12_x5092certbag PKCS12_x5092certbag +# define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag + +# define M_PKCS12_certbag2x509 PKCS12_certbag2x509 +# define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl + +# define M_PKCS12_unpack_p7data PKCS12_unpack_p7data +# define M_PKCS12_pack_authsafes PKCS12_pack_authsafes +# define M_PKCS12_unpack_authsafes PKCS12_unpack_authsafes +# define M_PKCS12_unpack_p7encdata PKCS12_unpack_p7encdata + +# define M_PKCS12_decrypt_skey PKCS12_decrypt_skey +# define M_PKCS8_decrypt PKCS8_decrypt + +# define M_PKCS12_bag_type(bg) OBJ_obj2nid((bg)->type) +# define M_PKCS12_cert_bag_type(bg) OBJ_obj2nid((bg)->value.bag->type) +# define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type + +# define PKCS12_get_attr(bag, attr_nid) \ + PKCS12_get_attr_gen(bag->attrib, attr_nid) + +# define PKCS8_get_attr(p8, attr_nid) \ + PKCS12_get_attr_gen(p8->attributes, attr_nid) + +# define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) + +PKCS12_SAFEBAG *PKCS12_x5092certbag(X509 *x509); +PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl); +X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag); +X509_CRL *PKCS12_certbag2x509crl(PKCS12_SAFEBAG *bag); + +PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, + int nid1, int nid2); +PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8); +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, + int passlen); +PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(PKCS12_SAFEBAG *bag, + const char *pass, int passlen); +X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, + const char *pass, int passlen, unsigned char *salt, + int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8); +PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass, + int passlen, unsigned char *salt, + int saltlen, int iter, + PKCS8_PRIV_KEY_INFO *p8); +PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); +PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + STACK_OF(PKCS12_SAFEBAG) *bags); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, + int passlen); + +int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); +STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12); + +int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, + int namelen); +int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, + const unsigned char *name, int namelen); +int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); +ASN1_TYPE *PKCS12_get_attr_gen(STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid); +char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); +unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, + int passlen, unsigned char *in, int inlen, + unsigned char **data, int *datalen, + int en_de); +void *PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, + const char *pass, int passlen, + ASN1_OCTET_STRING *oct, int zbuf); +ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, + const ASN1_ITEM *it, + const char *pass, int passlen, + void *obj, int zbuf); +PKCS12 *PKCS12_init(int mode); +int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md_type, int en_de); +int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *mac, unsigned int *maclen); +int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); +int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + const EVP_MD *md_type); +int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, + int saltlen, const EVP_MD *md_type); +unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2asc(unsigned char *uni, int unilen); + +DECLARE_ASN1_FUNCTIONS(PKCS12) +DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) +DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) +DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) + +DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) +DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) + +void PKCS12_PBE_add(void); +int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + STACK_OF(X509) **ca); +PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert, + STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter, + int mac_iter, int keytype); + +PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); +PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, + EVP_PKEY *key, int key_usage, int iter, + int key_nid, char *pass); +int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, + int safe_nid, int iter, char *pass); +PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); + +int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); +int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); +PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); +PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); +int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_PKCS12_strings(void); + +/* Error codes for the PKCS12 functions. */ + +/* Function codes. */ +# define PKCS12_F_PARSE_BAG 129 +# define PKCS12_F_PARSE_BAGS 103 +# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME 100 +# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_ASC 127 +# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_UNI 102 +# define PKCS12_F_PKCS12_ADD_LOCALKEYID 104 +# define PKCS12_F_PKCS12_CREATE 105 +# define PKCS12_F_PKCS12_GEN_MAC 107 +# define PKCS12_F_PKCS12_INIT 109 +# define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 +# define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 +# define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 +# define PKCS12_F_PKCS12_KEY_GEN_ASC 110 +# define PKCS12_F_PKCS12_KEY_GEN_UNI 111 +# define PKCS12_F_PKCS12_MAKE_KEYBAG 112 +# define PKCS12_F_PKCS12_MAKE_SHKEYBAG 113 +# define PKCS12_F_PKCS12_NEWPASS 128 +# define PKCS12_F_PKCS12_PACK_P7DATA 114 +# define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 +# define PKCS12_F_PKCS12_PARSE 118 +# define PKCS12_F_PKCS12_PBE_CRYPT 119 +# define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 +# define PKCS12_F_PKCS12_SETUP_MAC 122 +# define PKCS12_F_PKCS12_SET_MAC 123 +# define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 +# define PKCS12_F_PKCS12_UNPACK_P7DATA 131 +# define PKCS12_F_PKCS12_VERIFY_MAC 126 +# define PKCS12_F_PKCS8_ADD_KEYUSAGE 124 +# define PKCS12_F_PKCS8_ENCRYPT 125 + +/* Reason codes. */ +# define PKCS12_R_CANT_PACK_STRUCTURE 100 +# define PKCS12_R_CONTENT_TYPE_NOT_DATA 121 +# define PKCS12_R_DECODE_ERROR 101 +# define PKCS12_R_ENCODE_ERROR 102 +# define PKCS12_R_ENCRYPT_ERROR 103 +# define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120 +# define PKCS12_R_INVALID_NULL_ARGUMENT 104 +# define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105 +# define PKCS12_R_IV_GEN_ERROR 106 +# define PKCS12_R_KEY_GEN_ERROR 107 +# define PKCS12_R_MAC_ABSENT 108 +# define PKCS12_R_MAC_GENERATION_ERROR 109 +# define PKCS12_R_MAC_SETUP_ERROR 110 +# define PKCS12_R_MAC_STRING_SET_ERROR 111 +# define PKCS12_R_MAC_VERIFY_ERROR 112 +# define PKCS12_R_MAC_VERIFY_FAILURE 113 +# define PKCS12_R_PARSE_ERROR 114 +# define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115 +# define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116 +# define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117 +# define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118 +# define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/pkcs7.h b/openssl/1.0/include/openssl/pkcs7.h new file mode 100644 index 0000000..b51b386 --- /dev/null +++ b/openssl/1.0/include/openssl/pkcs7.h @@ -0,0 +1,481 @@ +/* crypto/pkcs7/pkcs7.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_PKCS7_H +# define HEADER_PKCS7_H + +# include +# include +# include + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_SYS_WIN32 +/* Under Win32 thes are defined in wincrypt.h */ +# undef PKCS7_ISSUER_AND_SERIAL +# undef PKCS7_SIGNER_INFO +# endif + +/*- +Encryption_ID DES-CBC +Digest_ID MD5 +Digest_Encryption_ID rsaEncryption +Key_Encryption_ID rsaEncryption +*/ + +typedef struct pkcs7_issuer_and_serial_st { + X509_NAME *issuer; + ASN1_INTEGER *serial; +} PKCS7_ISSUER_AND_SERIAL; + +typedef struct pkcs7_signer_info_st { + ASN1_INTEGER *version; /* version 1 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *digest_alg; + STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ + X509_ALGOR *digest_enc_alg; + ASN1_OCTET_STRING *enc_digest; + STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ + /* The private key to sign with */ + EVP_PKEY *pkey; +} PKCS7_SIGNER_INFO; + +DECLARE_STACK_OF(PKCS7_SIGNER_INFO) +DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) + +typedef struct pkcs7_recip_info_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *key_enc_algor; + ASN1_OCTET_STRING *enc_key; + X509 *cert; /* get the pub-key from this */ +} PKCS7_RECIP_INFO; + +DECLARE_STACK_OF(PKCS7_RECIP_INFO) +DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) + +typedef struct pkcs7_signed_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + struct pkcs7_st *contents; +} PKCS7_SIGNED; +/* + * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about + * merging the two + */ + +typedef struct pkcs7_enc_content_st { + ASN1_OBJECT *content_type; + X509_ALGOR *algorithm; + ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ + const EVP_CIPHER *cipher; +} PKCS7_ENC_CONTENT; + +typedef struct pkcs7_enveloped_st { + ASN1_INTEGER *version; /* version 0 */ + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENVELOPE; + +typedef struct pkcs7_signedandenveloped_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + PKCS7_ENC_CONTENT *enc_data; + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; +} PKCS7_SIGN_ENVELOPE; + +typedef struct pkcs7_digest_st { + ASN1_INTEGER *version; /* version 0 */ + X509_ALGOR *md; /* md used */ + struct pkcs7_st *contents; + ASN1_OCTET_STRING *digest; +} PKCS7_DIGEST; + +typedef struct pkcs7_encrypted_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENCRYPT; + +typedef struct pkcs7_st { + /* + * The following is non NULL if it contains ASN1 encoding of this + * structure + */ + unsigned char *asn1; + long length; +# define PKCS7_S_HEADER 0 +# define PKCS7_S_BODY 1 +# define PKCS7_S_TAIL 2 + int state; /* used during processing */ + int detached; + ASN1_OBJECT *type; + /* content as defined by the type */ + /* + * all encryption/message digests are applied to the 'contents', leaving + * out the 'type' field. + */ + union { + char *ptr; + /* NID_pkcs7_data */ + ASN1_OCTET_STRING *data; + /* NID_pkcs7_signed */ + PKCS7_SIGNED *sign; + /* NID_pkcs7_enveloped */ + PKCS7_ENVELOPE *enveloped; + /* NID_pkcs7_signedAndEnveloped */ + PKCS7_SIGN_ENVELOPE *signed_and_enveloped; + /* NID_pkcs7_digest */ + PKCS7_DIGEST *digest; + /* NID_pkcs7_encrypted */ + PKCS7_ENCRYPT *encrypted; + /* Anything else */ + ASN1_TYPE *other; + } d; +} PKCS7; + +DECLARE_STACK_OF(PKCS7) +DECLARE_ASN1_SET_OF(PKCS7) +DECLARE_PKCS12_STACK_OF(PKCS7) + +# define PKCS7_OP_SET_DETACHED_SIGNATURE 1 +# define PKCS7_OP_GET_DETACHED_SIGNATURE 2 + +# define PKCS7_get_signed_attributes(si) ((si)->auth_attr) +# define PKCS7_get_attributes(si) ((si)->unauth_attr) + +# define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) +# define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) +# define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) +# define PKCS7_type_is_signedAndEnveloped(a) \ + (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) +# define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) +# define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) + +# define PKCS7_set_detached(p,v) \ + PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) +# define PKCS7_get_detached(p) \ + PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) + +# define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) + +/* S/MIME related flags */ + +# define PKCS7_TEXT 0x1 +# define PKCS7_NOCERTS 0x2 +# define PKCS7_NOSIGS 0x4 +# define PKCS7_NOCHAIN 0x8 +# define PKCS7_NOINTERN 0x10 +# define PKCS7_NOVERIFY 0x20 +# define PKCS7_DETACHED 0x40 +# define PKCS7_BINARY 0x80 +# define PKCS7_NOATTR 0x100 +# define PKCS7_NOSMIMECAP 0x200 +# define PKCS7_NOOLDMIMETYPE 0x400 +# define PKCS7_CRLFEOL 0x800 +# define PKCS7_STREAM 0x1000 +# define PKCS7_NOCRL 0x2000 +# define PKCS7_PARTIAL 0x4000 +# define PKCS7_REUSE_DIGEST 0x8000 + +/* Flags: for compatibility with older code */ + +# define SMIME_TEXT PKCS7_TEXT +# define SMIME_NOCERTS PKCS7_NOCERTS +# define SMIME_NOSIGS PKCS7_NOSIGS +# define SMIME_NOCHAIN PKCS7_NOCHAIN +# define SMIME_NOINTERN PKCS7_NOINTERN +# define SMIME_NOVERIFY PKCS7_NOVERIFY +# define SMIME_DETACHED PKCS7_DETACHED +# define SMIME_BINARY PKCS7_BINARY +# define SMIME_NOATTR PKCS7_NOATTR + +DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) + +int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, + const EVP_MD *type, unsigned char *md, + unsigned int *len); +# ifndef OPENSSL_NO_FP_API +PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); +int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); +# endif +PKCS7 *PKCS7_dup(PKCS7 *p7); +PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); +int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); +int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); +int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); + +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) +DECLARE_ASN1_FUNCTIONS(PKCS7) + +DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) +DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) + +DECLARE_ASN1_NDEF_FUNCTION(PKCS7) +DECLARE_ASN1_PRINT_FUNCTION(PKCS7) + +long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); + +int PKCS7_set_type(PKCS7 *p7, int type); +int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); +int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); +int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, + const EVP_MD *dgst); +int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); +int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); +int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); +int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); +int PKCS7_content_new(PKCS7 *p7, int nid); +int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, + BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, + X509 *x509); + +BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); +int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); +BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); + +PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, + EVP_PKEY *pkey, const EVP_MD *dgst); +X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); +STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); + +PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); +void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, + X509_ALGOR **pdig, X509_ALGOR **psig); +void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); +int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); +int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); +int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); +int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); + +PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); +ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, + void *data); +int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, + void *value); +ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); +ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); +int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); + +PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, int flags); + +PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, + X509 *signcert, EVP_PKEY *pkey, + const EVP_MD *md, int flags); + +int PKCS7_final(PKCS7 *p7, BIO *data, int flags); +int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, + BIO *indata, BIO *out, int flags); +STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, + int flags); +PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, + int flags); +int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, + int flags); + +int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, + STACK_OF(X509_ALGOR) *cap); +STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); +int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); + +int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); +int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); +int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, + const unsigned char *md, int mdlen); + +int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); +PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); + +BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_PKCS7_strings(void); + +/* Error codes for the PKCS7 functions. */ + +/* Function codes. */ +# define PKCS7_F_B64_READ_PKCS7 120 +# define PKCS7_F_B64_WRITE_PKCS7 121 +# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 +# define PKCS7_F_I2D_PKCS7_BIO_STREAM 140 +# define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 +# define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 +# define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 +# define PKCS7_F_PKCS7_ADD_CRL 101 +# define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 +# define PKCS7_F_PKCS7_ADD_SIGNATURE 131 +# define PKCS7_F_PKCS7_ADD_SIGNER 103 +# define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 +# define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 +# define PKCS7_F_PKCS7_CTRL 104 +# define PKCS7_F_PKCS7_DATADECODE 112 +# define PKCS7_F_PKCS7_DATAFINAL 128 +# define PKCS7_F_PKCS7_DATAINIT 105 +# define PKCS7_F_PKCS7_DATASIGN 106 +# define PKCS7_F_PKCS7_DATAVERIFY 107 +# define PKCS7_F_PKCS7_DECRYPT 114 +# define PKCS7_F_PKCS7_DECRYPT_RINFO 133 +# define PKCS7_F_PKCS7_ENCODE_RINFO 132 +# define PKCS7_F_PKCS7_ENCRYPT 115 +# define PKCS7_F_PKCS7_FINAL 134 +# define PKCS7_F_PKCS7_FIND_DIGEST 127 +# define PKCS7_F_PKCS7_GET0_SIGNERS 124 +# define PKCS7_F_PKCS7_RECIP_INFO_SET 130 +# define PKCS7_F_PKCS7_SET_CIPHER 108 +# define PKCS7_F_PKCS7_SET_CONTENT 109 +# define PKCS7_F_PKCS7_SET_DIGEST 126 +# define PKCS7_F_PKCS7_SET_TYPE 110 +# define PKCS7_F_PKCS7_SIGN 116 +# define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 +# define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 +# define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 +# define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 +# define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 +# define PKCS7_F_PKCS7_VERIFY 117 +# define PKCS7_F_SMIME_READ_PKCS7 122 +# define PKCS7_F_SMIME_TEXT 123 + +/* Reason codes. */ +# define PKCS7_R_CERTIFICATE_VERIFY_ERROR 117 +# define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 144 +# define PKCS7_R_CIPHER_NOT_INITIALIZED 116 +# define PKCS7_R_CONTENT_AND_DATA_PRESENT 118 +# define PKCS7_R_CTRL_ERROR 152 +# define PKCS7_R_DECODE_ERROR 130 +# define PKCS7_R_DECRYPTED_KEY_IS_WRONG_LENGTH 100 +# define PKCS7_R_DECRYPT_ERROR 119 +# define PKCS7_R_DIGEST_FAILURE 101 +# define PKCS7_R_ENCRYPTION_CTRL_FAILURE 149 +# define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150 +# define PKCS7_R_ERROR_ADDING_RECIPIENT 120 +# define PKCS7_R_ERROR_SETTING_CIPHER 121 +# define PKCS7_R_INVALID_MIME_TYPE 131 +# define PKCS7_R_INVALID_NULL_POINTER 143 +# define PKCS7_R_INVALID_SIGNED_DATA_TYPE 155 +# define PKCS7_R_MIME_NO_CONTENT_TYPE 132 +# define PKCS7_R_MIME_PARSE_ERROR 133 +# define PKCS7_R_MIME_SIG_PARSE_ERROR 134 +# define PKCS7_R_MISSING_CERIPEND_INFO 103 +# define PKCS7_R_NO_CONTENT 122 +# define PKCS7_R_NO_CONTENT_TYPE 135 +# define PKCS7_R_NO_DEFAULT_DIGEST 151 +# define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 +# define PKCS7_R_NO_MULTIPART_BODY_FAILURE 136 +# define PKCS7_R_NO_MULTIPART_BOUNDARY 137 +# define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 +# define PKCS7_R_NO_RECIPIENT_MATCHES_KEY 146 +# define PKCS7_R_NO_SIGNATURES_ON_DATA 123 +# define PKCS7_R_NO_SIGNERS 142 +# define PKCS7_R_NO_SIG_CONTENT_TYPE 138 +# define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE 104 +# define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR 124 +# define PKCS7_R_PKCS7_ADD_SIGNER_ERROR 153 +# define PKCS7_R_PKCS7_DATAFINAL 126 +# define PKCS7_R_PKCS7_DATAFINAL_ERROR 125 +# define PKCS7_R_PKCS7_DATASIGN 145 +# define PKCS7_R_PKCS7_PARSE_ERROR 139 +# define PKCS7_R_PKCS7_SIG_PARSE_ERROR 140 +# define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 127 +# define PKCS7_R_SIGNATURE_FAILURE 105 +# define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND 128 +# define PKCS7_R_SIGNING_CTRL_FAILURE 147 +# define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 148 +# define PKCS7_R_SIG_INVALID_MIME_TYPE 141 +# define PKCS7_R_SMIME_TEXT_ERROR 129 +# define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE 106 +# define PKCS7_R_UNABLE_TO_FIND_MEM_BIO 107 +# define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST 108 +# define PKCS7_R_UNKNOWN_DIGEST_TYPE 109 +# define PKCS7_R_UNKNOWN_OPERATION 110 +# define PKCS7_R_UNSUPPORTED_CIPHER_TYPE 111 +# define PKCS7_R_UNSUPPORTED_CONTENT_TYPE 112 +# define PKCS7_R_WRONG_CONTENT_TYPE 113 +# define PKCS7_R_WRONG_PKCS7_TYPE 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/pqueue.h b/openssl/1.0/include/openssl/pqueue.h new file mode 100644 index 0000000..d40d9c7 --- /dev/null +++ b/openssl/1.0/include/openssl/pqueue.h @@ -0,0 +1,99 @@ +/* crypto/pqueue/pqueue.h */ +/* + * DTLS implementation written by Nagendra Modadugu + * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. + */ +/* ==================================================================== + * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_PQUEUE_H +# define HEADER_PQUEUE_H + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif +typedef struct _pqueue *pqueue; + +typedef struct _pitem { + unsigned char priority[8]; /* 64-bit value in big-endian encoding */ + void *data; + struct _pitem *next; +} pitem; + +typedef struct _pitem *piterator; + +pitem *pitem_new(unsigned char *prio64be, void *data); +void pitem_free(pitem *item); + +pqueue pqueue_new(void); +void pqueue_free(pqueue pq); + +pitem *pqueue_insert(pqueue pq, pitem *item); +pitem *pqueue_peek(pqueue pq); +pitem *pqueue_pop(pqueue pq); +pitem *pqueue_find(pqueue pq, unsigned char *prio64be); +pitem *pqueue_iterator(pqueue pq); +pitem *pqueue_next(piterator *iter); + +void pqueue_print(pqueue pq); +int pqueue_size(pqueue pq); + +#ifdef __cplusplus +} +#endif +#endif /* ! HEADER_PQUEUE_H */ diff --git a/openssl/1.0/include/openssl/rand.h b/openssl/1.0/include/openssl/rand.h new file mode 100644 index 0000000..2553afd --- /dev/null +++ b/openssl/1.0/include/openssl/rand.h @@ -0,0 +1,150 @@ +/* crypto/rand/rand.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RAND_H +# define HEADER_RAND_H + +# include +# include +# include + +# if defined(OPENSSL_SYS_WINDOWS) +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# if defined(OPENSSL_FIPS) +# define FIPS_RAND_SIZE_T size_t +# endif + +/* Already defined in ossl_typ.h */ +/* typedef struct rand_meth_st RAND_METHOD; */ + +struct rand_meth_st { + void (*seed) (const void *buf, int num); + int (*bytes) (unsigned char *buf, int num); + void (*cleanup) (void); + void (*add) (const void *buf, int num, double entropy); + int (*pseudorand) (unsigned char *buf, int num); + int (*status) (void); +}; + +# ifdef BN_DEBUG +extern int rand_predictable; +# endif + +int RAND_set_rand_method(const RAND_METHOD *meth); +const RAND_METHOD *RAND_get_rand_method(void); +# ifndef OPENSSL_NO_ENGINE +int RAND_set_rand_engine(ENGINE *engine); +# endif +RAND_METHOD *RAND_SSLeay(void); +void RAND_cleanup(void); +int RAND_bytes(unsigned char *buf, int num); +int RAND_pseudo_bytes(unsigned char *buf, int num); +void RAND_seed(const void *buf, int num); +void RAND_add(const void *buf, int num, double entropy); +int RAND_load_file(const char *file, long max_bytes); +int RAND_write_file(const char *file); +const char *RAND_file_name(char *file, size_t num); +int RAND_status(void); +int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); +int RAND_egd(const char *path); +int RAND_egd_bytes(const char *path, int bytes); +int RAND_poll(void); + +# if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) + +void RAND_screen(void); +int RAND_event(UINT, WPARAM, LPARAM); + +# endif + +# ifdef OPENSSL_FIPS +void RAND_set_fips_drbg_type(int type, int flags); +int RAND_init_fips(void); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_RAND_strings(void); + +/* Error codes for the RAND functions. */ + +/* Function codes. */ +# define RAND_F_RAND_GET_RAND_METHOD 101 +# define RAND_F_RAND_INIT_FIPS 102 +# define RAND_F_SSLEAY_RAND_BYTES 100 + +/* Reason codes. */ +# define RAND_R_DUAL_EC_DRBG_DISABLED 104 +# define RAND_R_ERROR_INITIALISING_DRBG 102 +# define RAND_R_ERROR_INSTANTIATING_DRBG 103 +# define RAND_R_NO_FIPS_RANDOM_METHOD_SET 101 +# define RAND_R_PRNG_NOT_SEEDED 100 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/rc2.h b/openssl/1.0/include/openssl/rc2.h new file mode 100644 index 0000000..29d02d7 --- /dev/null +++ b/openssl/1.0/include/openssl/rc2.h @@ -0,0 +1,103 @@ +/* crypto/rc2/rc2.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RC2_H +# define HEADER_RC2_H + +# include /* OPENSSL_NO_RC2, RC2_INT */ +# ifdef OPENSSL_NO_RC2 +# error RC2 is disabled. +# endif + +# define RC2_ENCRYPT 1 +# define RC2_DECRYPT 0 + +# define RC2_BLOCK 8 +# define RC2_KEY_LENGTH 16 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc2_key_st { + RC2_INT data[64]; +} RC2_KEY; + +# ifdef OPENSSL_FIPS +void private_RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, + int bits); +# endif +void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); +void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC2_KEY *key, int enc); +void RC2_encrypt(unsigned long *data, RC2_KEY *key); +void RC2_decrypt(unsigned long *data, RC2_KEY *key); +void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + RC2_KEY *ks, unsigned char *iv, int enc); +void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/rc4.h b/openssl/1.0/include/openssl/rc4.h new file mode 100644 index 0000000..39162b1 --- /dev/null +++ b/openssl/1.0/include/openssl/rc4.h @@ -0,0 +1,88 @@ +/* crypto/rc4/rc4.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RC4_H +# define HEADER_RC4_H + +# include /* OPENSSL_NO_RC4, RC4_INT */ +# ifdef OPENSSL_NO_RC4 +# error RC4 is disabled. +# endif + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc4_key_st { + RC4_INT x, y; + RC4_INT data[256]; +} RC4_KEY; + +const char *RC4_options(void); +void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, + unsigned char *outdata); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/ripemd.h b/openssl/1.0/include/openssl/ripemd.h new file mode 100644 index 0000000..b88ef25 --- /dev/null +++ b/openssl/1.0/include/openssl/ripemd.h @@ -0,0 +1,105 @@ +/* crypto/ripemd/ripemd.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RIPEMD_H +# define HEADER_RIPEMD_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_RIPEMD +# error RIPEMD is disabled. +# endif + +# if defined(__LP32__) +# define RIPEMD160_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define RIPEMD160_LONG unsigned long +# define RIPEMD160_LONG_LOG2 3 +# else +# define RIPEMD160_LONG unsigned int +# endif + +# define RIPEMD160_CBLOCK 64 +# define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) +# define RIPEMD160_DIGEST_LENGTH 20 + +typedef struct RIPEMD160state_st { + RIPEMD160_LONG A, B, C, D, E; + RIPEMD160_LONG Nl, Nh; + RIPEMD160_LONG data[RIPEMD160_LBLOCK]; + unsigned int num; +} RIPEMD160_CTX; + +# ifdef OPENSSL_FIPS +int private_RIPEMD160_Init(RIPEMD160_CTX *c); +# endif +int RIPEMD160_Init(RIPEMD160_CTX *c); +int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); +int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); +unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); +void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/rsa.h b/openssl/1.0/include/openssl/rsa.h new file mode 100644 index 0000000..d2ee374 --- /dev/null +++ b/openssl/1.0/include/openssl/rsa.h @@ -0,0 +1,664 @@ +/* crypto/rsa/rsa.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RSA_H +# define HEADER_RSA_H + +# include + +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifdef OPENSSL_NO_RSA +# error RSA is disabled. +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Declared already in ossl_typ.h */ +/* typedef struct rsa_st RSA; */ +/* typedef struct rsa_meth_st RSA_METHOD; */ + +struct rsa_meth_st { + const char *name; + int (*rsa_pub_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + int (*rsa_pub_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + int (*rsa_priv_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + int (*rsa_priv_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + /* Can be null */ + int (*rsa_mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); + /* Can be null */ + int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); + /* called at new */ + int (*init) (RSA *rsa); + /* called at free */ + int (*finish) (RSA *rsa); + /* RSA_METHOD_FLAG_* things */ + int flags; + /* may be needed! */ + char *app_data; + /* + * New sign and verify functions: some libraries don't allow arbitrary + * data to be signed/verified: this allows them to be used. Note: for + * this to work the RSA_public_decrypt() and RSA_private_encrypt() should + * *NOT* be used RSA_sign(), RSA_verify() should be used instead. Note: + * for backwards compatibility this functionality is only enabled if the + * RSA_FLAG_SIGN_VER option is set in 'flags'. + */ + int (*rsa_sign) (int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + const RSA *rsa); + int (*rsa_verify) (int dtype, const unsigned char *m, + unsigned int m_length, const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa); + /* + * If this callback is NULL, the builtin software RSA key-gen will be + * used. This is for behavioural compatibility whilst the code gets + * rewired, but one day it would be nice to assume there are no such + * things as "builtin software" implementations. + */ + int (*rsa_keygen) (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); +}; + +struct rsa_st { + /* + * The first parameter is used to pickup errors where this is passed + * instead of aEVP_PKEY, it is set to 0 + */ + int pad; + long version; + const RSA_METHOD *meth; + /* functional reference if 'meth' is ENGINE-provided */ + ENGINE *engine; + BIGNUM *n; + BIGNUM *e; + BIGNUM *d; + BIGNUM *p; + BIGNUM *q; + BIGNUM *dmp1; + BIGNUM *dmq1; + BIGNUM *iqmp; + /* be careful using this if the RSA structure is shared */ + CRYPTO_EX_DATA ex_data; + int references; + int flags; + /* Used to cache montgomery values */ + BN_MONT_CTX *_method_mod_n; + BN_MONT_CTX *_method_mod_p; + BN_MONT_CTX *_method_mod_q; + /* + * all BIGNUM values are actually in the following data, if it is not + * NULL + */ + char *bignum_data; + BN_BLINDING *blinding; + BN_BLINDING *mt_blinding; +}; + +# ifndef OPENSSL_RSA_MAX_MODULUS_BITS +# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 +# endif + +# ifndef OPENSSL_RSA_SMALL_MODULUS_BITS +# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 +# endif +# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS + +/* exponent limit enforced for "large" modulus only */ +# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 +# endif + +# define RSA_3 0x3L +# define RSA_F4 0x10001L + +# define RSA_METHOD_FLAG_NO_CHECK 0x0001/* don't check pub/private + * match */ + +# define RSA_FLAG_CACHE_PUBLIC 0x0002 +# define RSA_FLAG_CACHE_PRIVATE 0x0004 +# define RSA_FLAG_BLINDING 0x0008 +# define RSA_FLAG_THREAD_SAFE 0x0010 +/* + * This flag means the private key operations will be handled by rsa_mod_exp + * and that they do not depend on the private key components being present: + * for example a key stored in external hardware. Without this flag + * bn_mod_exp gets called when private key components are absent. + */ +# define RSA_FLAG_EXT_PKEY 0x0020 + +/* + * This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify + * functions. + */ +# define RSA_FLAG_SIGN_VER 0x0040 + +/* + * new with 0.9.6j and 0.9.7b; the built-in + * RSA implementation now uses blinding by + * default (ignoring RSA_FLAG_BLINDING), + * but other engines might not need it + */ +# define RSA_FLAG_NO_BLINDING 0x0080 +/* + * new with 0.9.8f; the built-in RSA + * implementation now uses constant time + * operations by default in private key operations, + * e.g., constant time modular exponentiation, + * modular inverse without leaking branches, + * division without leaking branches. This + * flag disables these constant time + * operations and results in faster RSA + * private key operations. + */ +# define RSA_FLAG_NO_CONSTTIME 0x0100 +# ifdef OPENSSL_USE_DEPRECATED +/* deprecated name for the flag*/ +/* + * new with 0.9.7h; the built-in RSA + * implementation now uses constant time + * modular exponentiation for secret exponents + * by default. This flag causes the + * faster variable sliding window method to + * be used for all exponents. + */ +# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME +# endif + +# define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \ + pad, NULL) + +# define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, \ + EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) + +# define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, \ + len, NULL) + +# define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, \ + 0, plen) + +# define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) + +# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) + +# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)l) + +# define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)l) + +# define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) + +# define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) + +# define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) + +# define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) + +# define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) + +# define RSA_PKCS1_PADDING 1 +# define RSA_SSLV23_PADDING 2 +# define RSA_NO_PADDING 3 +# define RSA_PKCS1_OAEP_PADDING 4 +# define RSA_X931_PADDING 5 +/* EVP_PKEY_ only */ +# define RSA_PKCS1_PSS_PADDING 6 + +# define RSA_PKCS1_PADDING_SIZE 11 + +# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) +# define RSA_get_app_data(s) RSA_get_ex_data(s,0) + +RSA *RSA_new(void); +RSA *RSA_new_method(ENGINE *engine); +int RSA_size(const RSA *rsa); + +/* Deprecated version */ +# ifndef OPENSSL_NO_DEPRECATED +RSA *RSA_generate_key(int bits, unsigned long e, void + (*callback) (int, int, void *), void *cb_arg); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* New version */ +int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); + +int RSA_check_key(const RSA *); + /* next 4 return -1 on error */ +int RSA_public_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_public_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +void RSA_free(RSA *r); +/* "up" the RSA object's reference count */ +int RSA_up_ref(RSA *r); + +int RSA_flags(const RSA *r); + +void RSA_set_default_method(const RSA_METHOD *meth); +const RSA_METHOD *RSA_get_default_method(void); +const RSA_METHOD *RSA_get_method(const RSA *rsa); +int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); + +/* This function needs the memory locking malloc callbacks to be installed */ +int RSA_memory_lock(RSA *r); + +/* these are the actual SSLeay RSA functions */ +const RSA_METHOD *RSA_PKCS1_SSLeay(void); + +const RSA_METHOD *RSA_null_method(void); + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) + +typedef struct rsa_pss_params_st { + X509_ALGOR *hashAlgorithm; + X509_ALGOR *maskGenAlgorithm; + ASN1_INTEGER *saltLength; + ASN1_INTEGER *trailerField; +} RSA_PSS_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) + +typedef struct rsa_oaep_params_st { + X509_ALGOR *hashFunc; + X509_ALGOR *maskGenFunc; + X509_ALGOR *pSourceFunc; +} RSA_OAEP_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) + +# ifndef OPENSSL_NO_FP_API +int RSA_print_fp(FILE *fp, const RSA *r, int offset); +# endif + +# ifndef OPENSSL_NO_BIO +int RSA_print(BIO *bp, const RSA *r, int offset); +# endif + +# ifndef OPENSSL_NO_RC4 +int i2d_RSA_NET(const RSA *a, unsigned char **pp, + int (*cb) (char *buf, int len, const char *prompt, + int verify), int sgckey); +RSA *d2i_RSA_NET(RSA **a, const unsigned char **pp, long length, + int (*cb) (char *buf, int len, const char *prompt, + int verify), int sgckey); + +int i2d_Netscape_RSA(const RSA *a, unsigned char **pp, + int (*cb) (char *buf, int len, const char *prompt, + int verify)); +RSA *d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, + int (*cb) (char *buf, int len, const char *prompt, + int verify)); +# endif + +/* + * The following 2 functions sign and verify a X509_SIG ASN1 object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign(int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, RSA *rsa); +int RSA_verify(int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); + +/* + * The following 2 function sign and verify a ASN1_OCTET_STRING object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign_ASN1_OCTET_STRING(int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + RSA *rsa); +int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigbuf, + unsigned int siglen, RSA *rsa); + +int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); +void RSA_blinding_off(RSA *rsa); +BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); + +int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed, + long seedlen, const EVP_MD *dgst); +int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, + const unsigned char *p, int pl); +int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len, + const unsigned char *p, int pl); +int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + const unsigned char *param, int plen, + const EVP_MD *md, const EVP_MD *mgf1md); +int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + int num, const unsigned char *param, + int plen, const EVP_MD *md, + const EVP_MD *mgf1md); +int RSA_padding_add_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_none(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_X931(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_X931_hash_id(int nid); + +int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const unsigned char *EM, + int sLen); +int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, const EVP_MD *Hash, + int sLen); + +int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + const unsigned char *EM, int sLen); + +int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + int sLen); + +int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int RSA_set_ex_data(RSA *r, int idx, void *arg); +void *RSA_get_ex_data(const RSA *r, int idx); + +RSA *RSAPublicKey_dup(RSA *rsa); +RSA *RSAPrivateKey_dup(RSA *rsa); + +/* + * If this flag is set the RSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define RSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define RSA_FLAG_NON_FIPS_ALLOW 0x0400 +/* + * Application has decided PRNG is good enough to generate a key: don't + * check. + */ +# define RSA_FLAG_CHECKED 0x0800 + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_RSA_strings(void); + +/* Error codes for the RSA functions. */ + +/* Function codes. */ +# define RSA_F_CHECK_PADDING_MD 140 +# define RSA_F_DO_RSA_PRINT 146 +# define RSA_F_INT_RSA_VERIFY 145 +# define RSA_F_MEMORY_LOCK 100 +# define RSA_F_OLD_RSA_PRIV_DECODE 147 +# define RSA_F_PKEY_RSA_CTRL 143 +# define RSA_F_PKEY_RSA_CTRL_STR 144 +# define RSA_F_PKEY_RSA_SIGN 142 +# define RSA_F_PKEY_RSA_VERIFY 154 +# define RSA_F_PKEY_RSA_VERIFYRECOVER 141 +# define RSA_F_RSA_ALGOR_TO_MD 157 +# define RSA_F_RSA_BUILTIN_KEYGEN 129 +# define RSA_F_RSA_CHECK_KEY 123 +# define RSA_F_RSA_CMS_DECRYPT 158 +# define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101 +# define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102 +# define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103 +# define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104 +# define RSA_F_RSA_GENERATE_KEY 105 +# define RSA_F_RSA_GENERATE_KEY_EX 155 +# define RSA_F_RSA_ITEM_VERIFY 156 +# define RSA_F_RSA_MEMORY_LOCK 130 +# define RSA_F_RSA_MGF1_TO_MD 159 +# define RSA_F_RSA_NEW_METHOD 106 +# define RSA_F_RSA_NULL 124 +# define RSA_F_RSA_NULL_MOD_EXP 131 +# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 +# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 +# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 +# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 +# define RSA_F_RSA_PADDING_ADD_NONE 107 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 160 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 148 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 +# define RSA_F_RSA_PADDING_ADD_SSLV23 110 +# define RSA_F_RSA_PADDING_ADD_X931 127 +# define RSA_F_RSA_PADDING_CHECK_NONE 111 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1 161 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 +# define RSA_F_RSA_PADDING_CHECK_SSLV23 114 +# define RSA_F_RSA_PADDING_CHECK_X931 128 +# define RSA_F_RSA_PRINT 115 +# define RSA_F_RSA_PRINT_FP 116 +# define RSA_F_RSA_PRIVATE_DECRYPT 150 +# define RSA_F_RSA_PRIVATE_ENCRYPT 151 +# define RSA_F_RSA_PRIV_DECODE 137 +# define RSA_F_RSA_PRIV_ENCODE 138 +# define RSA_F_RSA_PSS_TO_CTX 162 +# define RSA_F_RSA_PUBLIC_DECRYPT 152 +# define RSA_F_RSA_PUBLIC_ENCRYPT 153 +# define RSA_F_RSA_PUB_DECODE 139 +# define RSA_F_RSA_SETUP_BLINDING 136 +# define RSA_F_RSA_SIGN 117 +# define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 +# define RSA_F_RSA_VERIFY 119 +# define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 +# define RSA_F_RSA_VERIFY_PKCS1_PSS 126 +# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 149 + +/* Reason codes. */ +# define RSA_R_ALGORITHM_MISMATCH 100 +# define RSA_R_BAD_E_VALUE 101 +# define RSA_R_BAD_FIXED_HEADER_DECRYPT 102 +# define RSA_R_BAD_PAD_BYTE_COUNT 103 +# define RSA_R_BAD_SIGNATURE 104 +# define RSA_R_BLOCK_TYPE_IS_NOT_01 106 +# define RSA_R_BLOCK_TYPE_IS_NOT_02 107 +# define RSA_R_DATA_GREATER_THAN_MOD_LEN 108 +# define RSA_R_DATA_TOO_LARGE 109 +# define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 +# define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132 +# define RSA_R_DATA_TOO_SMALL 111 +# define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 +# define RSA_R_DIGEST_DOES_NOT_MATCH 166 +# define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 +# define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 +# define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 +# define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 +# define RSA_R_FIRST_OCTET_INVALID 133 +# define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144 +# define RSA_R_INVALID_DIGEST 160 +# define RSA_R_INVALID_DIGEST_LENGTH 143 +# define RSA_R_INVALID_HEADER 137 +# define RSA_R_INVALID_KEYBITS 145 +# define RSA_R_INVALID_LABEL 161 +# define RSA_R_INVALID_MESSAGE_LENGTH 131 +# define RSA_R_INVALID_MGF1_MD 156 +# define RSA_R_INVALID_OAEP_PARAMETERS 162 +# define RSA_R_INVALID_PADDING 138 +# define RSA_R_INVALID_PADDING_MODE 141 +# define RSA_R_INVALID_PSS_PARAMETERS 149 +# define RSA_R_INVALID_PSS_SALTLEN 146 +# define RSA_R_INVALID_SALT_LENGTH 150 +# define RSA_R_INVALID_TRAILER 139 +# define RSA_R_INVALID_X931_DIGEST 142 +# define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 +# define RSA_R_KEY_SIZE_TOO_SMALL 120 +# define RSA_R_LAST_OCTET_INVALID 134 +# define RSA_R_MODULUS_TOO_LARGE 105 +# define RSA_R_NON_FIPS_RSA_METHOD 157 +# define RSA_R_NO_PUBLIC_EXPONENT 140 +# define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 +# define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 +# define RSA_R_OAEP_DECODING_ERROR 121 +# define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 158 +# define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 +# define RSA_R_PADDING_CHECK_FAILED 114 +# define RSA_R_PKCS_DECODING_ERROR 159 +# define RSA_R_P_NOT_PRIME 128 +# define RSA_R_Q_NOT_PRIME 129 +# define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 +# define RSA_R_SLEN_CHECK_FAILED 136 +# define RSA_R_SLEN_RECOVERY_FAILED 135 +# define RSA_R_SSLV3_ROLLBACK_ATTACK 115 +# define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 +# define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 +# define RSA_R_UNKNOWN_DIGEST 163 +# define RSA_R_UNKNOWN_MASK_DIGEST 151 +# define RSA_R_UNKNOWN_PADDING_TYPE 118 +# define RSA_R_UNKNOWN_PSS_DIGEST 152 +# define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 164 +# define RSA_R_UNSUPPORTED_LABEL_SOURCE 165 +# define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153 +# define RSA_R_UNSUPPORTED_MASK_PARAMETER 154 +# define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155 +# define RSA_R_VALUE_MISSING 147 +# define RSA_R_WRONG_SIGNATURE_LENGTH 119 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/safestack.h b/openssl/1.0/include/openssl/safestack.h new file mode 100644 index 0000000..1d4f87e --- /dev/null +++ b/openssl/1.0/include/openssl/safestack.h @@ -0,0 +1,2672 @@ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_SAFESTACK_H +# define HEADER_SAFESTACK_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef CHECKED_PTR_OF +# define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +# endif + +/* + * In C++ we get problems because an explicit cast is needed from (void *) we + * use CHECKED_STACK_OF to ensure the correct type is passed in the macros + * below. + */ + +# define CHECKED_STACK_OF(type, p) \ + ((_STACK*) (1 ? p : (STACK_OF(type)*)0)) + +# define CHECKED_SK_COPY_FUNC(type, p) \ + ((void *(*)(void *)) ((1 ? p : (type *(*)(const type *))0))) + +# define CHECKED_SK_FREE_FUNC(type, p) \ + ((void (*)(void *)) ((1 ? p : (void (*)(type *))0))) + +# define CHECKED_SK_CMP_FUNC(type, p) \ + ((int (*)(const void *, const void *)) \ + ((1 ? p : (int (*)(const type * const *, const type * const *))0))) + +# define STACK_OF(type) struct stack_st_##type +# define PREDECLARE_STACK_OF(type) STACK_OF(type); + +# define DECLARE_STACK_OF(type) \ +STACK_OF(type) \ + { \ + _STACK stack; \ + }; +# define DECLARE_SPECIAL_STACK_OF(type, type2) \ +STACK_OF(type) \ + { \ + _STACK stack; \ + }; + +/* nada (obsolete in new safestack approach)*/ +# define IMPLEMENT_STACK_OF(type) + +/*- + * Strings are special: normally an lhash entry will point to a single + * (somewhat) mutable object. In the case of strings: + * + * a) Instead of a single char, there is an array of chars, NUL-terminated. + * b) The string may have be immutable. + * + * So, they need their own declarations. Especially important for + * type-checking tools, such as Deputy. + * + * In practice, however, it appears to be hard to have a const + * string. For now, I'm settling for dealing with the fact it is a + * string at all. + */ +typedef char *OPENSSL_STRING; + +typedef const char *OPENSSL_CSTRING; + +/* + * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but + * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned + * above, instead of a single char each entry is a NUL-terminated array of + * chars. So, we have to implement STRING specially for STACK_OF. This is + * dealt with in the autogenerated macros below. + */ + +DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) + +/* + * Similarly, we sometimes use a block of characters, NOT nul-terminated. + * These should also be distinguished from "normal" stacks. + */ +typedef void *OPENSSL_BLOCK; +DECLARE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) + +/* + * SKM_sk_... stack macros are internal to safestack.h: never use them + * directly, use sk__... instead + */ +# define SKM_sk_new(type, cmp) \ + ((STACK_OF(type) *)sk_new(CHECKED_SK_CMP_FUNC(type, cmp))) +# define SKM_sk_new_null(type) \ + ((STACK_OF(type) *)sk_new_null()) +# define SKM_sk_free(type, st) \ + sk_free(CHECKED_STACK_OF(type, st)) +# define SKM_sk_num(type, st) \ + sk_num(CHECKED_STACK_OF(type, st)) +# define SKM_sk_value(type, st,i) \ + ((type *)sk_value(CHECKED_STACK_OF(type, st), i)) +# define SKM_sk_set(type, st,i,val) \ + sk_set(CHECKED_STACK_OF(type, st), i, CHECKED_PTR_OF(type, val)) +# define SKM_sk_zero(type, st) \ + sk_zero(CHECKED_STACK_OF(type, st)) +# define SKM_sk_push(type, st, val) \ + sk_push(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +# define SKM_sk_unshift(type, st, val) \ + sk_unshift(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +# define SKM_sk_find(type, st, val) \ + sk_find(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +# define SKM_sk_find_ex(type, st, val) \ + sk_find_ex(CHECKED_STACK_OF(type, st), \ + CHECKED_PTR_OF(type, val)) +# define SKM_sk_delete(type, st, i) \ + (type *)sk_delete(CHECKED_STACK_OF(type, st), i) +# define SKM_sk_delete_ptr(type, st, ptr) \ + (type *)sk_delete_ptr(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, ptr)) +# define SKM_sk_insert(type, st,val, i) \ + sk_insert(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val), i) +# define SKM_sk_set_cmp_func(type, st, cmp) \ + ((int (*)(const type * const *,const type * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(type, st), CHECKED_SK_CMP_FUNC(type, cmp))) +# define SKM_sk_dup(type, st) \ + (STACK_OF(type) *)sk_dup(CHECKED_STACK_OF(type, st)) +# define SKM_sk_pop_free(type, st, free_func) \ + sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func)) +# define SKM_sk_deep_copy(type, st, copy_func, free_func) \ + (STACK_OF(type) *)sk_deep_copy(CHECKED_STACK_OF(type, st), CHECKED_SK_COPY_FUNC(type, copy_func), CHECKED_SK_FREE_FUNC(type, free_func)) +# define SKM_sk_shift(type, st) \ + (type *)sk_shift(CHECKED_STACK_OF(type, st)) +# define SKM_sk_pop(type, st) \ + (type *)sk_pop(CHECKED_STACK_OF(type, st)) +# define SKM_sk_sort(type, st) \ + sk_sort(CHECKED_STACK_OF(type, st)) +# define SKM_sk_is_sorted(type, st) \ + sk_is_sorted(CHECKED_STACK_OF(type, st)) +# define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + (STACK_OF(type) *)d2i_ASN1_SET( \ + (STACK_OF(OPENSSL_BLOCK) **)CHECKED_PTR_OF(STACK_OF(type)*, st), \ + pp, length, \ + CHECKED_D2I_OF(type, d2i_func), \ + CHECKED_SK_FREE_FUNC(type, free_func), \ + ex_tag, ex_class) +# define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ + i2d_ASN1_SET((STACK_OF(OPENSSL_BLOCK) *)CHECKED_STACK_OF(type, st), pp, \ + CHECKED_I2D_OF(type, i2d_func), \ + ex_tag, ex_class, is_set) +# define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ + ASN1_seq_pack(CHECKED_PTR_OF(STACK_OF(type), st), \ + CHECKED_I2D_OF(type, i2d_func), buf, len) +# define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ + (STACK_OF(type) *)ASN1_seq_unpack(buf, len, CHECKED_D2I_OF(type, d2i_func), CHECKED_SK_FREE_FUNC(type, free_func)) +# define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ + (STACK_OF(type) *)PKCS12_decrypt_d2i(algor, \ + CHECKED_D2I_OF(type, d2i_func), \ + CHECKED_SK_FREE_FUNC(type, free_func), \ + pass, passlen, oct, seq) +/* + * This block of defines is updated by util/mkstack.pl, please do not touch! + */ +# define sk_ACCESS_DESCRIPTION_new(cmp) SKM_sk_new(ACCESS_DESCRIPTION, (cmp)) +# define sk_ACCESS_DESCRIPTION_new_null() SKM_sk_new_null(ACCESS_DESCRIPTION) +# define sk_ACCESS_DESCRIPTION_free(st) SKM_sk_free(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_num(st) SKM_sk_num(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_value(st, i) SKM_sk_value(ACCESS_DESCRIPTION, (st), (i)) +# define sk_ACCESS_DESCRIPTION_set(st, i, val) SKM_sk_set(ACCESS_DESCRIPTION, (st), (i), (val)) +# define sk_ACCESS_DESCRIPTION_zero(st) SKM_sk_zero(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_push(st, val) SKM_sk_push(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_unshift(st, val) SKM_sk_unshift(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_find(st, val) SKM_sk_find(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_find_ex(st, val) SKM_sk_find_ex(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_delete(st, i) SKM_sk_delete(ACCESS_DESCRIPTION, (st), (i)) +# define sk_ACCESS_DESCRIPTION_delete_ptr(st, ptr) SKM_sk_delete_ptr(ACCESS_DESCRIPTION, (st), (ptr)) +# define sk_ACCESS_DESCRIPTION_insert(st, val, i) SKM_sk_insert(ACCESS_DESCRIPTION, (st), (val), (i)) +# define sk_ACCESS_DESCRIPTION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ACCESS_DESCRIPTION, (st), (cmp)) +# define sk_ACCESS_DESCRIPTION_dup(st) SKM_sk_dup(ACCESS_DESCRIPTION, st) +# define sk_ACCESS_DESCRIPTION_pop_free(st, free_func) SKM_sk_pop_free(ACCESS_DESCRIPTION, (st), (free_func)) +# define sk_ACCESS_DESCRIPTION_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ACCESS_DESCRIPTION, (st), (copy_func), (free_func)) +# define sk_ACCESS_DESCRIPTION_shift(st) SKM_sk_shift(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_pop(st) SKM_sk_pop(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_sort(st) SKM_sk_sort(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_is_sorted(st) SKM_sk_is_sorted(ACCESS_DESCRIPTION, (st)) +# define sk_ASIdOrRange_new(cmp) SKM_sk_new(ASIdOrRange, (cmp)) +# define sk_ASIdOrRange_new_null() SKM_sk_new_null(ASIdOrRange) +# define sk_ASIdOrRange_free(st) SKM_sk_free(ASIdOrRange, (st)) +# define sk_ASIdOrRange_num(st) SKM_sk_num(ASIdOrRange, (st)) +# define sk_ASIdOrRange_value(st, i) SKM_sk_value(ASIdOrRange, (st), (i)) +# define sk_ASIdOrRange_set(st, i, val) SKM_sk_set(ASIdOrRange, (st), (i), (val)) +# define sk_ASIdOrRange_zero(st) SKM_sk_zero(ASIdOrRange, (st)) +# define sk_ASIdOrRange_push(st, val) SKM_sk_push(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_unshift(st, val) SKM_sk_unshift(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_find(st, val) SKM_sk_find(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_find_ex(st, val) SKM_sk_find_ex(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_delete(st, i) SKM_sk_delete(ASIdOrRange, (st), (i)) +# define sk_ASIdOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASIdOrRange, (st), (ptr)) +# define sk_ASIdOrRange_insert(st, val, i) SKM_sk_insert(ASIdOrRange, (st), (val), (i)) +# define sk_ASIdOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASIdOrRange, (st), (cmp)) +# define sk_ASIdOrRange_dup(st) SKM_sk_dup(ASIdOrRange, st) +# define sk_ASIdOrRange_pop_free(st, free_func) SKM_sk_pop_free(ASIdOrRange, (st), (free_func)) +# define sk_ASIdOrRange_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASIdOrRange, (st), (copy_func), (free_func)) +# define sk_ASIdOrRange_shift(st) SKM_sk_shift(ASIdOrRange, (st)) +# define sk_ASIdOrRange_pop(st) SKM_sk_pop(ASIdOrRange, (st)) +# define sk_ASIdOrRange_sort(st) SKM_sk_sort(ASIdOrRange, (st)) +# define sk_ASIdOrRange_is_sorted(st) SKM_sk_is_sorted(ASIdOrRange, (st)) +# define sk_ASN1_GENERALSTRING_new(cmp) SKM_sk_new(ASN1_GENERALSTRING, (cmp)) +# define sk_ASN1_GENERALSTRING_new_null() SKM_sk_new_null(ASN1_GENERALSTRING) +# define sk_ASN1_GENERALSTRING_free(st) SKM_sk_free(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_num(st) SKM_sk_num(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_value(st, i) SKM_sk_value(ASN1_GENERALSTRING, (st), (i)) +# define sk_ASN1_GENERALSTRING_set(st, i, val) SKM_sk_set(ASN1_GENERALSTRING, (st), (i), (val)) +# define sk_ASN1_GENERALSTRING_zero(st) SKM_sk_zero(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_push(st, val) SKM_sk_push(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_unshift(st, val) SKM_sk_unshift(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_find(st, val) SKM_sk_find(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_find_ex(st, val) SKM_sk_find_ex(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_delete(st, i) SKM_sk_delete(ASN1_GENERALSTRING, (st), (i)) +# define sk_ASN1_GENERALSTRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_GENERALSTRING, (st), (ptr)) +# define sk_ASN1_GENERALSTRING_insert(st, val, i) SKM_sk_insert(ASN1_GENERALSTRING, (st), (val), (i)) +# define sk_ASN1_GENERALSTRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_GENERALSTRING, (st), (cmp)) +# define sk_ASN1_GENERALSTRING_dup(st) SKM_sk_dup(ASN1_GENERALSTRING, st) +# define sk_ASN1_GENERALSTRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_GENERALSTRING, (st), (free_func)) +# define sk_ASN1_GENERALSTRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_GENERALSTRING, (st), (copy_func), (free_func)) +# define sk_ASN1_GENERALSTRING_shift(st) SKM_sk_shift(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_pop(st) SKM_sk_pop(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_sort(st) SKM_sk_sort(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_is_sorted(st) SKM_sk_is_sorted(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_INTEGER_new(cmp) SKM_sk_new(ASN1_INTEGER, (cmp)) +# define sk_ASN1_INTEGER_new_null() SKM_sk_new_null(ASN1_INTEGER) +# define sk_ASN1_INTEGER_free(st) SKM_sk_free(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_num(st) SKM_sk_num(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_value(st, i) SKM_sk_value(ASN1_INTEGER, (st), (i)) +# define sk_ASN1_INTEGER_set(st, i, val) SKM_sk_set(ASN1_INTEGER, (st), (i), (val)) +# define sk_ASN1_INTEGER_zero(st) SKM_sk_zero(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_push(st, val) SKM_sk_push(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_unshift(st, val) SKM_sk_unshift(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_find(st, val) SKM_sk_find(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_find_ex(st, val) SKM_sk_find_ex(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_delete(st, i) SKM_sk_delete(ASN1_INTEGER, (st), (i)) +# define sk_ASN1_INTEGER_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_INTEGER, (st), (ptr)) +# define sk_ASN1_INTEGER_insert(st, val, i) SKM_sk_insert(ASN1_INTEGER, (st), (val), (i)) +# define sk_ASN1_INTEGER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_INTEGER, (st), (cmp)) +# define sk_ASN1_INTEGER_dup(st) SKM_sk_dup(ASN1_INTEGER, st) +# define sk_ASN1_INTEGER_pop_free(st, free_func) SKM_sk_pop_free(ASN1_INTEGER, (st), (free_func)) +# define sk_ASN1_INTEGER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_INTEGER, (st), (copy_func), (free_func)) +# define sk_ASN1_INTEGER_shift(st) SKM_sk_shift(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_pop(st) SKM_sk_pop(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_sort(st) SKM_sk_sort(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_is_sorted(st) SKM_sk_is_sorted(ASN1_INTEGER, (st)) +# define sk_ASN1_OBJECT_new(cmp) SKM_sk_new(ASN1_OBJECT, (cmp)) +# define sk_ASN1_OBJECT_new_null() SKM_sk_new_null(ASN1_OBJECT) +# define sk_ASN1_OBJECT_free(st) SKM_sk_free(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_num(st) SKM_sk_num(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_value(st, i) SKM_sk_value(ASN1_OBJECT, (st), (i)) +# define sk_ASN1_OBJECT_set(st, i, val) SKM_sk_set(ASN1_OBJECT, (st), (i), (val)) +# define sk_ASN1_OBJECT_zero(st) SKM_sk_zero(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_push(st, val) SKM_sk_push(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_unshift(st, val) SKM_sk_unshift(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_find(st, val) SKM_sk_find(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_find_ex(st, val) SKM_sk_find_ex(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_delete(st, i) SKM_sk_delete(ASN1_OBJECT, (st), (i)) +# define sk_ASN1_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_OBJECT, (st), (ptr)) +# define sk_ASN1_OBJECT_insert(st, val, i) SKM_sk_insert(ASN1_OBJECT, (st), (val), (i)) +# define sk_ASN1_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_OBJECT, (st), (cmp)) +# define sk_ASN1_OBJECT_dup(st) SKM_sk_dup(ASN1_OBJECT, st) +# define sk_ASN1_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(ASN1_OBJECT, (st), (free_func)) +# define sk_ASN1_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_OBJECT, (st), (copy_func), (free_func)) +# define sk_ASN1_OBJECT_shift(st) SKM_sk_shift(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_is_sorted(st) SKM_sk_is_sorted(ASN1_OBJECT, (st)) +# define sk_ASN1_STRING_TABLE_new(cmp) SKM_sk_new(ASN1_STRING_TABLE, (cmp)) +# define sk_ASN1_STRING_TABLE_new_null() SKM_sk_new_null(ASN1_STRING_TABLE) +# define sk_ASN1_STRING_TABLE_free(st) SKM_sk_free(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_num(st) SKM_sk_num(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_value(st, i) SKM_sk_value(ASN1_STRING_TABLE, (st), (i)) +# define sk_ASN1_STRING_TABLE_set(st, i, val) SKM_sk_set(ASN1_STRING_TABLE, (st), (i), (val)) +# define sk_ASN1_STRING_TABLE_zero(st) SKM_sk_zero(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_push(st, val) SKM_sk_push(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_unshift(st, val) SKM_sk_unshift(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_find(st, val) SKM_sk_find(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_find_ex(st, val) SKM_sk_find_ex(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_delete(st, i) SKM_sk_delete(ASN1_STRING_TABLE, (st), (i)) +# define sk_ASN1_STRING_TABLE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_STRING_TABLE, (st), (ptr)) +# define sk_ASN1_STRING_TABLE_insert(st, val, i) SKM_sk_insert(ASN1_STRING_TABLE, (st), (val), (i)) +# define sk_ASN1_STRING_TABLE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_STRING_TABLE, (st), (cmp)) +# define sk_ASN1_STRING_TABLE_dup(st) SKM_sk_dup(ASN1_STRING_TABLE, st) +# define sk_ASN1_STRING_TABLE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_STRING_TABLE, (st), (free_func)) +# define sk_ASN1_STRING_TABLE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_STRING_TABLE, (st), (copy_func), (free_func)) +# define sk_ASN1_STRING_TABLE_shift(st) SKM_sk_shift(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_pop(st) SKM_sk_pop(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_sort(st) SKM_sk_sort(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_is_sorted(st) SKM_sk_is_sorted(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_TYPE_new(cmp) SKM_sk_new(ASN1_TYPE, (cmp)) +# define sk_ASN1_TYPE_new_null() SKM_sk_new_null(ASN1_TYPE) +# define sk_ASN1_TYPE_free(st) SKM_sk_free(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_num(st) SKM_sk_num(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_value(st, i) SKM_sk_value(ASN1_TYPE, (st), (i)) +# define sk_ASN1_TYPE_set(st, i, val) SKM_sk_set(ASN1_TYPE, (st), (i), (val)) +# define sk_ASN1_TYPE_zero(st) SKM_sk_zero(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_push(st, val) SKM_sk_push(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_unshift(st, val) SKM_sk_unshift(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_find(st, val) SKM_sk_find(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_find_ex(st, val) SKM_sk_find_ex(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_delete(st, i) SKM_sk_delete(ASN1_TYPE, (st), (i)) +# define sk_ASN1_TYPE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_TYPE, (st), (ptr)) +# define sk_ASN1_TYPE_insert(st, val, i) SKM_sk_insert(ASN1_TYPE, (st), (val), (i)) +# define sk_ASN1_TYPE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_TYPE, (st), (cmp)) +# define sk_ASN1_TYPE_dup(st) SKM_sk_dup(ASN1_TYPE, st) +# define sk_ASN1_TYPE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_TYPE, (st), (free_func)) +# define sk_ASN1_TYPE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_TYPE, (st), (copy_func), (free_func)) +# define sk_ASN1_TYPE_shift(st) SKM_sk_shift(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_pop(st) SKM_sk_pop(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_sort(st) SKM_sk_sort(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_is_sorted(st) SKM_sk_is_sorted(ASN1_TYPE, (st)) +# define sk_ASN1_UTF8STRING_new(cmp) SKM_sk_new(ASN1_UTF8STRING, (cmp)) +# define sk_ASN1_UTF8STRING_new_null() SKM_sk_new_null(ASN1_UTF8STRING) +# define sk_ASN1_UTF8STRING_free(st) SKM_sk_free(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_num(st) SKM_sk_num(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_value(st, i) SKM_sk_value(ASN1_UTF8STRING, (st), (i)) +# define sk_ASN1_UTF8STRING_set(st, i, val) SKM_sk_set(ASN1_UTF8STRING, (st), (i), (val)) +# define sk_ASN1_UTF8STRING_zero(st) SKM_sk_zero(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_push(st, val) SKM_sk_push(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_unshift(st, val) SKM_sk_unshift(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_find(st, val) SKM_sk_find(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_find_ex(st, val) SKM_sk_find_ex(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_delete(st, i) SKM_sk_delete(ASN1_UTF8STRING, (st), (i)) +# define sk_ASN1_UTF8STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_UTF8STRING, (st), (ptr)) +# define sk_ASN1_UTF8STRING_insert(st, val, i) SKM_sk_insert(ASN1_UTF8STRING, (st), (val), (i)) +# define sk_ASN1_UTF8STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_UTF8STRING, (st), (cmp)) +# define sk_ASN1_UTF8STRING_dup(st) SKM_sk_dup(ASN1_UTF8STRING, st) +# define sk_ASN1_UTF8STRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_UTF8STRING, (st), (free_func)) +# define sk_ASN1_UTF8STRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_UTF8STRING, (st), (copy_func), (free_func)) +# define sk_ASN1_UTF8STRING_shift(st) SKM_sk_shift(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_pop(st) SKM_sk_pop(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_sort(st) SKM_sk_sort(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_is_sorted(st) SKM_sk_is_sorted(ASN1_UTF8STRING, (st)) +# define sk_ASN1_VALUE_new(cmp) SKM_sk_new(ASN1_VALUE, (cmp)) +# define sk_ASN1_VALUE_new_null() SKM_sk_new_null(ASN1_VALUE) +# define sk_ASN1_VALUE_free(st) SKM_sk_free(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_num(st) SKM_sk_num(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_value(st, i) SKM_sk_value(ASN1_VALUE, (st), (i)) +# define sk_ASN1_VALUE_set(st, i, val) SKM_sk_set(ASN1_VALUE, (st), (i), (val)) +# define sk_ASN1_VALUE_zero(st) SKM_sk_zero(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_push(st, val) SKM_sk_push(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_unshift(st, val) SKM_sk_unshift(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_find(st, val) SKM_sk_find(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_find_ex(st, val) SKM_sk_find_ex(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_delete(st, i) SKM_sk_delete(ASN1_VALUE, (st), (i)) +# define sk_ASN1_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_VALUE, (st), (ptr)) +# define sk_ASN1_VALUE_insert(st, val, i) SKM_sk_insert(ASN1_VALUE, (st), (val), (i)) +# define sk_ASN1_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_VALUE, (st), (cmp)) +# define sk_ASN1_VALUE_dup(st) SKM_sk_dup(ASN1_VALUE, st) +# define sk_ASN1_VALUE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_VALUE, (st), (free_func)) +# define sk_ASN1_VALUE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_VALUE, (st), (copy_func), (free_func)) +# define sk_ASN1_VALUE_shift(st) SKM_sk_shift(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_pop(st) SKM_sk_pop(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_sort(st) SKM_sk_sort(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_is_sorted(st) SKM_sk_is_sorted(ASN1_VALUE, (st)) +# define sk_BIO_new(cmp) SKM_sk_new(BIO, (cmp)) +# define sk_BIO_new_null() SKM_sk_new_null(BIO) +# define sk_BIO_free(st) SKM_sk_free(BIO, (st)) +# define sk_BIO_num(st) SKM_sk_num(BIO, (st)) +# define sk_BIO_value(st, i) SKM_sk_value(BIO, (st), (i)) +# define sk_BIO_set(st, i, val) SKM_sk_set(BIO, (st), (i), (val)) +# define sk_BIO_zero(st) SKM_sk_zero(BIO, (st)) +# define sk_BIO_push(st, val) SKM_sk_push(BIO, (st), (val)) +# define sk_BIO_unshift(st, val) SKM_sk_unshift(BIO, (st), (val)) +# define sk_BIO_find(st, val) SKM_sk_find(BIO, (st), (val)) +# define sk_BIO_find_ex(st, val) SKM_sk_find_ex(BIO, (st), (val)) +# define sk_BIO_delete(st, i) SKM_sk_delete(BIO, (st), (i)) +# define sk_BIO_delete_ptr(st, ptr) SKM_sk_delete_ptr(BIO, (st), (ptr)) +# define sk_BIO_insert(st, val, i) SKM_sk_insert(BIO, (st), (val), (i)) +# define sk_BIO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BIO, (st), (cmp)) +# define sk_BIO_dup(st) SKM_sk_dup(BIO, st) +# define sk_BIO_pop_free(st, free_func) SKM_sk_pop_free(BIO, (st), (free_func)) +# define sk_BIO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BIO, (st), (copy_func), (free_func)) +# define sk_BIO_shift(st) SKM_sk_shift(BIO, (st)) +# define sk_BIO_pop(st) SKM_sk_pop(BIO, (st)) +# define sk_BIO_sort(st) SKM_sk_sort(BIO, (st)) +# define sk_BIO_is_sorted(st) SKM_sk_is_sorted(BIO, (st)) +# define sk_BY_DIR_ENTRY_new(cmp) SKM_sk_new(BY_DIR_ENTRY, (cmp)) +# define sk_BY_DIR_ENTRY_new_null() SKM_sk_new_null(BY_DIR_ENTRY) +# define sk_BY_DIR_ENTRY_free(st) SKM_sk_free(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_num(st) SKM_sk_num(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_value(st, i) SKM_sk_value(BY_DIR_ENTRY, (st), (i)) +# define sk_BY_DIR_ENTRY_set(st, i, val) SKM_sk_set(BY_DIR_ENTRY, (st), (i), (val)) +# define sk_BY_DIR_ENTRY_zero(st) SKM_sk_zero(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_push(st, val) SKM_sk_push(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_unshift(st, val) SKM_sk_unshift(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_find(st, val) SKM_sk_find(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_find_ex(st, val) SKM_sk_find_ex(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_delete(st, i) SKM_sk_delete(BY_DIR_ENTRY, (st), (i)) +# define sk_BY_DIR_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_ENTRY, (st), (ptr)) +# define sk_BY_DIR_ENTRY_insert(st, val, i) SKM_sk_insert(BY_DIR_ENTRY, (st), (val), (i)) +# define sk_BY_DIR_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_ENTRY, (st), (cmp)) +# define sk_BY_DIR_ENTRY_dup(st) SKM_sk_dup(BY_DIR_ENTRY, st) +# define sk_BY_DIR_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_ENTRY, (st), (free_func)) +# define sk_BY_DIR_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_ENTRY, (st), (copy_func), (free_func)) +# define sk_BY_DIR_ENTRY_shift(st) SKM_sk_shift(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_pop(st) SKM_sk_pop(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_sort(st) SKM_sk_sort(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_is_sorted(st) SKM_sk_is_sorted(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_HASH_new(cmp) SKM_sk_new(BY_DIR_HASH, (cmp)) +# define sk_BY_DIR_HASH_new_null() SKM_sk_new_null(BY_DIR_HASH) +# define sk_BY_DIR_HASH_free(st) SKM_sk_free(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_num(st) SKM_sk_num(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_value(st, i) SKM_sk_value(BY_DIR_HASH, (st), (i)) +# define sk_BY_DIR_HASH_set(st, i, val) SKM_sk_set(BY_DIR_HASH, (st), (i), (val)) +# define sk_BY_DIR_HASH_zero(st) SKM_sk_zero(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_push(st, val) SKM_sk_push(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_unshift(st, val) SKM_sk_unshift(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_find(st, val) SKM_sk_find(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_find_ex(st, val) SKM_sk_find_ex(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_delete(st, i) SKM_sk_delete(BY_DIR_HASH, (st), (i)) +# define sk_BY_DIR_HASH_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_HASH, (st), (ptr)) +# define sk_BY_DIR_HASH_insert(st, val, i) SKM_sk_insert(BY_DIR_HASH, (st), (val), (i)) +# define sk_BY_DIR_HASH_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_HASH, (st), (cmp)) +# define sk_BY_DIR_HASH_dup(st) SKM_sk_dup(BY_DIR_HASH, st) +# define sk_BY_DIR_HASH_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_HASH, (st), (free_func)) +# define sk_BY_DIR_HASH_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_HASH, (st), (copy_func), (free_func)) +# define sk_BY_DIR_HASH_shift(st) SKM_sk_shift(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_pop(st) SKM_sk_pop(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_sort(st) SKM_sk_sort(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_is_sorted(st) SKM_sk_is_sorted(BY_DIR_HASH, (st)) +# define sk_CMS_CertificateChoices_new(cmp) SKM_sk_new(CMS_CertificateChoices, (cmp)) +# define sk_CMS_CertificateChoices_new_null() SKM_sk_new_null(CMS_CertificateChoices) +# define sk_CMS_CertificateChoices_free(st) SKM_sk_free(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_num(st) SKM_sk_num(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_value(st, i) SKM_sk_value(CMS_CertificateChoices, (st), (i)) +# define sk_CMS_CertificateChoices_set(st, i, val) SKM_sk_set(CMS_CertificateChoices, (st), (i), (val)) +# define sk_CMS_CertificateChoices_zero(st) SKM_sk_zero(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_push(st, val) SKM_sk_push(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_unshift(st, val) SKM_sk_unshift(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_find(st, val) SKM_sk_find(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_find_ex(st, val) SKM_sk_find_ex(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_delete(st, i) SKM_sk_delete(CMS_CertificateChoices, (st), (i)) +# define sk_CMS_CertificateChoices_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_CertificateChoices, (st), (ptr)) +# define sk_CMS_CertificateChoices_insert(st, val, i) SKM_sk_insert(CMS_CertificateChoices, (st), (val), (i)) +# define sk_CMS_CertificateChoices_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_CertificateChoices, (st), (cmp)) +# define sk_CMS_CertificateChoices_dup(st) SKM_sk_dup(CMS_CertificateChoices, st) +# define sk_CMS_CertificateChoices_pop_free(st, free_func) SKM_sk_pop_free(CMS_CertificateChoices, (st), (free_func)) +# define sk_CMS_CertificateChoices_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_CertificateChoices, (st), (copy_func), (free_func)) +# define sk_CMS_CertificateChoices_shift(st) SKM_sk_shift(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_pop(st) SKM_sk_pop(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_sort(st) SKM_sk_sort(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_is_sorted(st) SKM_sk_is_sorted(CMS_CertificateChoices, (st)) +# define sk_CMS_RecipientEncryptedKey_new(cmp) SKM_sk_new(CMS_RecipientEncryptedKey, (cmp)) +# define sk_CMS_RecipientEncryptedKey_new_null() SKM_sk_new_null(CMS_RecipientEncryptedKey) +# define sk_CMS_RecipientEncryptedKey_free(st) SKM_sk_free(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_num(st) SKM_sk_num(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_value(st, i) SKM_sk_value(CMS_RecipientEncryptedKey, (st), (i)) +# define sk_CMS_RecipientEncryptedKey_set(st, i, val) SKM_sk_set(CMS_RecipientEncryptedKey, (st), (i), (val)) +# define sk_CMS_RecipientEncryptedKey_zero(st) SKM_sk_zero(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_push(st, val) SKM_sk_push(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_unshift(st, val) SKM_sk_unshift(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_find(st, val) SKM_sk_find(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_find_ex(st, val) SKM_sk_find_ex(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_delete(st, i) SKM_sk_delete(CMS_RecipientEncryptedKey, (st), (i)) +# define sk_CMS_RecipientEncryptedKey_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientEncryptedKey, (st), (ptr)) +# define sk_CMS_RecipientEncryptedKey_insert(st, val, i) SKM_sk_insert(CMS_RecipientEncryptedKey, (st), (val), (i)) +# define sk_CMS_RecipientEncryptedKey_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientEncryptedKey, (st), (cmp)) +# define sk_CMS_RecipientEncryptedKey_dup(st) SKM_sk_dup(CMS_RecipientEncryptedKey, st) +# define sk_CMS_RecipientEncryptedKey_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientEncryptedKey, (st), (free_func)) +# define sk_CMS_RecipientEncryptedKey_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientEncryptedKey, (st), (copy_func), (free_func)) +# define sk_CMS_RecipientEncryptedKey_shift(st) SKM_sk_shift(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_pop(st) SKM_sk_pop(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_sort(st) SKM_sk_sort(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientInfo_new(cmp) SKM_sk_new(CMS_RecipientInfo, (cmp)) +# define sk_CMS_RecipientInfo_new_null() SKM_sk_new_null(CMS_RecipientInfo) +# define sk_CMS_RecipientInfo_free(st) SKM_sk_free(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_num(st) SKM_sk_num(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_value(st, i) SKM_sk_value(CMS_RecipientInfo, (st), (i)) +# define sk_CMS_RecipientInfo_set(st, i, val) SKM_sk_set(CMS_RecipientInfo, (st), (i), (val)) +# define sk_CMS_RecipientInfo_zero(st) SKM_sk_zero(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_push(st, val) SKM_sk_push(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_unshift(st, val) SKM_sk_unshift(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_find(st, val) SKM_sk_find(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_find_ex(st, val) SKM_sk_find_ex(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_delete(st, i) SKM_sk_delete(CMS_RecipientInfo, (st), (i)) +# define sk_CMS_RecipientInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientInfo, (st), (ptr)) +# define sk_CMS_RecipientInfo_insert(st, val, i) SKM_sk_insert(CMS_RecipientInfo, (st), (val), (i)) +# define sk_CMS_RecipientInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientInfo, (st), (cmp)) +# define sk_CMS_RecipientInfo_dup(st) SKM_sk_dup(CMS_RecipientInfo, st) +# define sk_CMS_RecipientInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientInfo, (st), (free_func)) +# define sk_CMS_RecipientInfo_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientInfo, (st), (copy_func), (free_func)) +# define sk_CMS_RecipientInfo_shift(st) SKM_sk_shift(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_pop(st) SKM_sk_pop(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_sort(st) SKM_sk_sort(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientInfo, (st)) +# define sk_CMS_RevocationInfoChoice_new(cmp) SKM_sk_new(CMS_RevocationInfoChoice, (cmp)) +# define sk_CMS_RevocationInfoChoice_new_null() SKM_sk_new_null(CMS_RevocationInfoChoice) +# define sk_CMS_RevocationInfoChoice_free(st) SKM_sk_free(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_num(st) SKM_sk_num(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_value(st, i) SKM_sk_value(CMS_RevocationInfoChoice, (st), (i)) +# define sk_CMS_RevocationInfoChoice_set(st, i, val) SKM_sk_set(CMS_RevocationInfoChoice, (st), (i), (val)) +# define sk_CMS_RevocationInfoChoice_zero(st) SKM_sk_zero(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_push(st, val) SKM_sk_push(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_unshift(st, val) SKM_sk_unshift(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_find(st, val) SKM_sk_find(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_find_ex(st, val) SKM_sk_find_ex(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_delete(st, i) SKM_sk_delete(CMS_RevocationInfoChoice, (st), (i)) +# define sk_CMS_RevocationInfoChoice_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RevocationInfoChoice, (st), (ptr)) +# define sk_CMS_RevocationInfoChoice_insert(st, val, i) SKM_sk_insert(CMS_RevocationInfoChoice, (st), (val), (i)) +# define sk_CMS_RevocationInfoChoice_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RevocationInfoChoice, (st), (cmp)) +# define sk_CMS_RevocationInfoChoice_dup(st) SKM_sk_dup(CMS_RevocationInfoChoice, st) +# define sk_CMS_RevocationInfoChoice_pop_free(st, free_func) SKM_sk_pop_free(CMS_RevocationInfoChoice, (st), (free_func)) +# define sk_CMS_RevocationInfoChoice_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RevocationInfoChoice, (st), (copy_func), (free_func)) +# define sk_CMS_RevocationInfoChoice_shift(st) SKM_sk_shift(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_pop(st) SKM_sk_pop(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_sort(st) SKM_sk_sort(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_is_sorted(st) SKM_sk_is_sorted(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_SignerInfo_new(cmp) SKM_sk_new(CMS_SignerInfo, (cmp)) +# define sk_CMS_SignerInfo_new_null() SKM_sk_new_null(CMS_SignerInfo) +# define sk_CMS_SignerInfo_free(st) SKM_sk_free(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_num(st) SKM_sk_num(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_value(st, i) SKM_sk_value(CMS_SignerInfo, (st), (i)) +# define sk_CMS_SignerInfo_set(st, i, val) SKM_sk_set(CMS_SignerInfo, (st), (i), (val)) +# define sk_CMS_SignerInfo_zero(st) SKM_sk_zero(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_push(st, val) SKM_sk_push(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_unshift(st, val) SKM_sk_unshift(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_find(st, val) SKM_sk_find(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_find_ex(st, val) SKM_sk_find_ex(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_delete(st, i) SKM_sk_delete(CMS_SignerInfo, (st), (i)) +# define sk_CMS_SignerInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_SignerInfo, (st), (ptr)) +# define sk_CMS_SignerInfo_insert(st, val, i) SKM_sk_insert(CMS_SignerInfo, (st), (val), (i)) +# define sk_CMS_SignerInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_SignerInfo, (st), (cmp)) +# define sk_CMS_SignerInfo_dup(st) SKM_sk_dup(CMS_SignerInfo, st) +# define sk_CMS_SignerInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_SignerInfo, (st), (free_func)) +# define sk_CMS_SignerInfo_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_SignerInfo, (st), (copy_func), (free_func)) +# define sk_CMS_SignerInfo_shift(st) SKM_sk_shift(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_pop(st) SKM_sk_pop(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_sort(st) SKM_sk_sort(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_is_sorted(st) SKM_sk_is_sorted(CMS_SignerInfo, (st)) +# define sk_CONF_IMODULE_new(cmp) SKM_sk_new(CONF_IMODULE, (cmp)) +# define sk_CONF_IMODULE_new_null() SKM_sk_new_null(CONF_IMODULE) +# define sk_CONF_IMODULE_free(st) SKM_sk_free(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_num(st) SKM_sk_num(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_value(st, i) SKM_sk_value(CONF_IMODULE, (st), (i)) +# define sk_CONF_IMODULE_set(st, i, val) SKM_sk_set(CONF_IMODULE, (st), (i), (val)) +# define sk_CONF_IMODULE_zero(st) SKM_sk_zero(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_push(st, val) SKM_sk_push(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_unshift(st, val) SKM_sk_unshift(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_find(st, val) SKM_sk_find(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_find_ex(st, val) SKM_sk_find_ex(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_delete(st, i) SKM_sk_delete(CONF_IMODULE, (st), (i)) +# define sk_CONF_IMODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_IMODULE, (st), (ptr)) +# define sk_CONF_IMODULE_insert(st, val, i) SKM_sk_insert(CONF_IMODULE, (st), (val), (i)) +# define sk_CONF_IMODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_IMODULE, (st), (cmp)) +# define sk_CONF_IMODULE_dup(st) SKM_sk_dup(CONF_IMODULE, st) +# define sk_CONF_IMODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_IMODULE, (st), (free_func)) +# define sk_CONF_IMODULE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_IMODULE, (st), (copy_func), (free_func)) +# define sk_CONF_IMODULE_shift(st) SKM_sk_shift(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_pop(st) SKM_sk_pop(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_sort(st) SKM_sk_sort(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_is_sorted(st) SKM_sk_is_sorted(CONF_IMODULE, (st)) +# define sk_CONF_MODULE_new(cmp) SKM_sk_new(CONF_MODULE, (cmp)) +# define sk_CONF_MODULE_new_null() SKM_sk_new_null(CONF_MODULE) +# define sk_CONF_MODULE_free(st) SKM_sk_free(CONF_MODULE, (st)) +# define sk_CONF_MODULE_num(st) SKM_sk_num(CONF_MODULE, (st)) +# define sk_CONF_MODULE_value(st, i) SKM_sk_value(CONF_MODULE, (st), (i)) +# define sk_CONF_MODULE_set(st, i, val) SKM_sk_set(CONF_MODULE, (st), (i), (val)) +# define sk_CONF_MODULE_zero(st) SKM_sk_zero(CONF_MODULE, (st)) +# define sk_CONF_MODULE_push(st, val) SKM_sk_push(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_unshift(st, val) SKM_sk_unshift(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_find(st, val) SKM_sk_find(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_find_ex(st, val) SKM_sk_find_ex(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_delete(st, i) SKM_sk_delete(CONF_MODULE, (st), (i)) +# define sk_CONF_MODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_MODULE, (st), (ptr)) +# define sk_CONF_MODULE_insert(st, val, i) SKM_sk_insert(CONF_MODULE, (st), (val), (i)) +# define sk_CONF_MODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_MODULE, (st), (cmp)) +# define sk_CONF_MODULE_dup(st) SKM_sk_dup(CONF_MODULE, st) +# define sk_CONF_MODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_MODULE, (st), (free_func)) +# define sk_CONF_MODULE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_MODULE, (st), (copy_func), (free_func)) +# define sk_CONF_MODULE_shift(st) SKM_sk_shift(CONF_MODULE, (st)) +# define sk_CONF_MODULE_pop(st) SKM_sk_pop(CONF_MODULE, (st)) +# define sk_CONF_MODULE_sort(st) SKM_sk_sort(CONF_MODULE, (st)) +# define sk_CONF_MODULE_is_sorted(st) SKM_sk_is_sorted(CONF_MODULE, (st)) +# define sk_CONF_VALUE_new(cmp) SKM_sk_new(CONF_VALUE, (cmp)) +# define sk_CONF_VALUE_new_null() SKM_sk_new_null(CONF_VALUE) +# define sk_CONF_VALUE_free(st) SKM_sk_free(CONF_VALUE, (st)) +# define sk_CONF_VALUE_num(st) SKM_sk_num(CONF_VALUE, (st)) +# define sk_CONF_VALUE_value(st, i) SKM_sk_value(CONF_VALUE, (st), (i)) +# define sk_CONF_VALUE_set(st, i, val) SKM_sk_set(CONF_VALUE, (st), (i), (val)) +# define sk_CONF_VALUE_zero(st) SKM_sk_zero(CONF_VALUE, (st)) +# define sk_CONF_VALUE_push(st, val) SKM_sk_push(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_unshift(st, val) SKM_sk_unshift(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_find(st, val) SKM_sk_find(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_find_ex(st, val) SKM_sk_find_ex(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_delete(st, i) SKM_sk_delete(CONF_VALUE, (st), (i)) +# define sk_CONF_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_VALUE, (st), (ptr)) +# define sk_CONF_VALUE_insert(st, val, i) SKM_sk_insert(CONF_VALUE, (st), (val), (i)) +# define sk_CONF_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_VALUE, (st), (cmp)) +# define sk_CONF_VALUE_dup(st) SKM_sk_dup(CONF_VALUE, st) +# define sk_CONF_VALUE_pop_free(st, free_func) SKM_sk_pop_free(CONF_VALUE, (st), (free_func)) +# define sk_CONF_VALUE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_VALUE, (st), (copy_func), (free_func)) +# define sk_CONF_VALUE_shift(st) SKM_sk_shift(CONF_VALUE, (st)) +# define sk_CONF_VALUE_pop(st) SKM_sk_pop(CONF_VALUE, (st)) +# define sk_CONF_VALUE_sort(st) SKM_sk_sort(CONF_VALUE, (st)) +# define sk_CONF_VALUE_is_sorted(st) SKM_sk_is_sorted(CONF_VALUE, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_new(cmp) SKM_sk_new(CRYPTO_EX_DATA_FUNCS, (cmp)) +# define sk_CRYPTO_EX_DATA_FUNCS_new_null() SKM_sk_new_null(CRYPTO_EX_DATA_FUNCS) +# define sk_CRYPTO_EX_DATA_FUNCS_free(st) SKM_sk_free(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_num(st) SKM_sk_num(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_value(st, i) SKM_sk_value(CRYPTO_EX_DATA_FUNCS, (st), (i)) +# define sk_CRYPTO_EX_DATA_FUNCS_set(st, i, val) SKM_sk_set(CRYPTO_EX_DATA_FUNCS, (st), (i), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_zero(st) SKM_sk_zero(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_push(st, val) SKM_sk_push(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_unshift(st, val) SKM_sk_unshift(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_find(st, val) SKM_sk_find(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_find_ex(st, val) SKM_sk_find_ex(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_delete(st, i) SKM_sk_delete(CRYPTO_EX_DATA_FUNCS, (st), (i)) +# define sk_CRYPTO_EX_DATA_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_EX_DATA_FUNCS, (st), (ptr)) +# define sk_CRYPTO_EX_DATA_FUNCS_insert(st, val, i) SKM_sk_insert(CRYPTO_EX_DATA_FUNCS, (st), (val), (i)) +# define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_EX_DATA_FUNCS, (st), (cmp)) +# define sk_CRYPTO_EX_DATA_FUNCS_dup(st) SKM_sk_dup(CRYPTO_EX_DATA_FUNCS, st) +# define sk_CRYPTO_EX_DATA_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_EX_DATA_FUNCS, (st), (free_func)) +# define sk_CRYPTO_EX_DATA_FUNCS_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_EX_DATA_FUNCS, (st), (copy_func), (free_func)) +# define sk_CRYPTO_EX_DATA_FUNCS_shift(st) SKM_sk_shift(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_pop(st) SKM_sk_pop(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_sort(st) SKM_sk_sort(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_is_sorted(st) SKM_sk_is_sorted(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_dynlock_new(cmp) SKM_sk_new(CRYPTO_dynlock, (cmp)) +# define sk_CRYPTO_dynlock_new_null() SKM_sk_new_null(CRYPTO_dynlock) +# define sk_CRYPTO_dynlock_free(st) SKM_sk_free(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_num(st) SKM_sk_num(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_value(st, i) SKM_sk_value(CRYPTO_dynlock, (st), (i)) +# define sk_CRYPTO_dynlock_set(st, i, val) SKM_sk_set(CRYPTO_dynlock, (st), (i), (val)) +# define sk_CRYPTO_dynlock_zero(st) SKM_sk_zero(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_push(st, val) SKM_sk_push(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_unshift(st, val) SKM_sk_unshift(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_find(st, val) SKM_sk_find(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_find_ex(st, val) SKM_sk_find_ex(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_delete(st, i) SKM_sk_delete(CRYPTO_dynlock, (st), (i)) +# define sk_CRYPTO_dynlock_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_dynlock, (st), (ptr)) +# define sk_CRYPTO_dynlock_insert(st, val, i) SKM_sk_insert(CRYPTO_dynlock, (st), (val), (i)) +# define sk_CRYPTO_dynlock_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_dynlock, (st), (cmp)) +# define sk_CRYPTO_dynlock_dup(st) SKM_sk_dup(CRYPTO_dynlock, st) +# define sk_CRYPTO_dynlock_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_dynlock, (st), (free_func)) +# define sk_CRYPTO_dynlock_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_dynlock, (st), (copy_func), (free_func)) +# define sk_CRYPTO_dynlock_shift(st) SKM_sk_shift(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_pop(st) SKM_sk_pop(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_sort(st) SKM_sk_sort(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_is_sorted(st) SKM_sk_is_sorted(CRYPTO_dynlock, (st)) +# define sk_DIST_POINT_new(cmp) SKM_sk_new(DIST_POINT, (cmp)) +# define sk_DIST_POINT_new_null() SKM_sk_new_null(DIST_POINT) +# define sk_DIST_POINT_free(st) SKM_sk_free(DIST_POINT, (st)) +# define sk_DIST_POINT_num(st) SKM_sk_num(DIST_POINT, (st)) +# define sk_DIST_POINT_value(st, i) SKM_sk_value(DIST_POINT, (st), (i)) +# define sk_DIST_POINT_set(st, i, val) SKM_sk_set(DIST_POINT, (st), (i), (val)) +# define sk_DIST_POINT_zero(st) SKM_sk_zero(DIST_POINT, (st)) +# define sk_DIST_POINT_push(st, val) SKM_sk_push(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_unshift(st, val) SKM_sk_unshift(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_find(st, val) SKM_sk_find(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_find_ex(st, val) SKM_sk_find_ex(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_delete(st, i) SKM_sk_delete(DIST_POINT, (st), (i)) +# define sk_DIST_POINT_delete_ptr(st, ptr) SKM_sk_delete_ptr(DIST_POINT, (st), (ptr)) +# define sk_DIST_POINT_insert(st, val, i) SKM_sk_insert(DIST_POINT, (st), (val), (i)) +# define sk_DIST_POINT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(DIST_POINT, (st), (cmp)) +# define sk_DIST_POINT_dup(st) SKM_sk_dup(DIST_POINT, st) +# define sk_DIST_POINT_pop_free(st, free_func) SKM_sk_pop_free(DIST_POINT, (st), (free_func)) +# define sk_DIST_POINT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(DIST_POINT, (st), (copy_func), (free_func)) +# define sk_DIST_POINT_shift(st) SKM_sk_shift(DIST_POINT, (st)) +# define sk_DIST_POINT_pop(st) SKM_sk_pop(DIST_POINT, (st)) +# define sk_DIST_POINT_sort(st) SKM_sk_sort(DIST_POINT, (st)) +# define sk_DIST_POINT_is_sorted(st) SKM_sk_is_sorted(DIST_POINT, (st)) +# define sk_ENGINE_new(cmp) SKM_sk_new(ENGINE, (cmp)) +# define sk_ENGINE_new_null() SKM_sk_new_null(ENGINE) +# define sk_ENGINE_free(st) SKM_sk_free(ENGINE, (st)) +# define sk_ENGINE_num(st) SKM_sk_num(ENGINE, (st)) +# define sk_ENGINE_value(st, i) SKM_sk_value(ENGINE, (st), (i)) +# define sk_ENGINE_set(st, i, val) SKM_sk_set(ENGINE, (st), (i), (val)) +# define sk_ENGINE_zero(st) SKM_sk_zero(ENGINE, (st)) +# define sk_ENGINE_push(st, val) SKM_sk_push(ENGINE, (st), (val)) +# define sk_ENGINE_unshift(st, val) SKM_sk_unshift(ENGINE, (st), (val)) +# define sk_ENGINE_find(st, val) SKM_sk_find(ENGINE, (st), (val)) +# define sk_ENGINE_find_ex(st, val) SKM_sk_find_ex(ENGINE, (st), (val)) +# define sk_ENGINE_delete(st, i) SKM_sk_delete(ENGINE, (st), (i)) +# define sk_ENGINE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE, (st), (ptr)) +# define sk_ENGINE_insert(st, val, i) SKM_sk_insert(ENGINE, (st), (val), (i)) +# define sk_ENGINE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE, (st), (cmp)) +# define sk_ENGINE_dup(st) SKM_sk_dup(ENGINE, st) +# define sk_ENGINE_pop_free(st, free_func) SKM_sk_pop_free(ENGINE, (st), (free_func)) +# define sk_ENGINE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE, (st), (copy_func), (free_func)) +# define sk_ENGINE_shift(st) SKM_sk_shift(ENGINE, (st)) +# define sk_ENGINE_pop(st) SKM_sk_pop(ENGINE, (st)) +# define sk_ENGINE_sort(st) SKM_sk_sort(ENGINE, (st)) +# define sk_ENGINE_is_sorted(st) SKM_sk_is_sorted(ENGINE, (st)) +# define sk_ENGINE_CLEANUP_ITEM_new(cmp) SKM_sk_new(ENGINE_CLEANUP_ITEM, (cmp)) +# define sk_ENGINE_CLEANUP_ITEM_new_null() SKM_sk_new_null(ENGINE_CLEANUP_ITEM) +# define sk_ENGINE_CLEANUP_ITEM_free(st) SKM_sk_free(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_num(st) SKM_sk_num(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_value(st, i) SKM_sk_value(ENGINE_CLEANUP_ITEM, (st), (i)) +# define sk_ENGINE_CLEANUP_ITEM_set(st, i, val) SKM_sk_set(ENGINE_CLEANUP_ITEM, (st), (i), (val)) +# define sk_ENGINE_CLEANUP_ITEM_zero(st) SKM_sk_zero(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_push(st, val) SKM_sk_push(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_unshift(st, val) SKM_sk_unshift(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_find(st, val) SKM_sk_find(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_find_ex(st, val) SKM_sk_find_ex(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_delete(st, i) SKM_sk_delete(ENGINE_CLEANUP_ITEM, (st), (i)) +# define sk_ENGINE_CLEANUP_ITEM_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE_CLEANUP_ITEM, (st), (ptr)) +# define sk_ENGINE_CLEANUP_ITEM_insert(st, val, i) SKM_sk_insert(ENGINE_CLEANUP_ITEM, (st), (val), (i)) +# define sk_ENGINE_CLEANUP_ITEM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE_CLEANUP_ITEM, (st), (cmp)) +# define sk_ENGINE_CLEANUP_ITEM_dup(st) SKM_sk_dup(ENGINE_CLEANUP_ITEM, st) +# define sk_ENGINE_CLEANUP_ITEM_pop_free(st, free_func) SKM_sk_pop_free(ENGINE_CLEANUP_ITEM, (st), (free_func)) +# define sk_ENGINE_CLEANUP_ITEM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE_CLEANUP_ITEM, (st), (copy_func), (free_func)) +# define sk_ENGINE_CLEANUP_ITEM_shift(st) SKM_sk_shift(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_pop(st) SKM_sk_pop(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_sort(st) SKM_sk_sort(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_is_sorted(st) SKM_sk_is_sorted(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ESS_CERT_ID_new(cmp) SKM_sk_new(ESS_CERT_ID, (cmp)) +# define sk_ESS_CERT_ID_new_null() SKM_sk_new_null(ESS_CERT_ID) +# define sk_ESS_CERT_ID_free(st) SKM_sk_free(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_num(st) SKM_sk_num(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_value(st, i) SKM_sk_value(ESS_CERT_ID, (st), (i)) +# define sk_ESS_CERT_ID_set(st, i, val) SKM_sk_set(ESS_CERT_ID, (st), (i), (val)) +# define sk_ESS_CERT_ID_zero(st) SKM_sk_zero(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_push(st, val) SKM_sk_push(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_unshift(st, val) SKM_sk_unshift(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_find(st, val) SKM_sk_find(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_find_ex(st, val) SKM_sk_find_ex(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_delete(st, i) SKM_sk_delete(ESS_CERT_ID, (st), (i)) +# define sk_ESS_CERT_ID_delete_ptr(st, ptr) SKM_sk_delete_ptr(ESS_CERT_ID, (st), (ptr)) +# define sk_ESS_CERT_ID_insert(st, val, i) SKM_sk_insert(ESS_CERT_ID, (st), (val), (i)) +# define sk_ESS_CERT_ID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ESS_CERT_ID, (st), (cmp)) +# define sk_ESS_CERT_ID_dup(st) SKM_sk_dup(ESS_CERT_ID, st) +# define sk_ESS_CERT_ID_pop_free(st, free_func) SKM_sk_pop_free(ESS_CERT_ID, (st), (free_func)) +# define sk_ESS_CERT_ID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ESS_CERT_ID, (st), (copy_func), (free_func)) +# define sk_ESS_CERT_ID_shift(st) SKM_sk_shift(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_pop(st) SKM_sk_pop(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_sort(st) SKM_sk_sort(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_is_sorted(st) SKM_sk_is_sorted(ESS_CERT_ID, (st)) +# define sk_EVP_MD_new(cmp) SKM_sk_new(EVP_MD, (cmp)) +# define sk_EVP_MD_new_null() SKM_sk_new_null(EVP_MD) +# define sk_EVP_MD_free(st) SKM_sk_free(EVP_MD, (st)) +# define sk_EVP_MD_num(st) SKM_sk_num(EVP_MD, (st)) +# define sk_EVP_MD_value(st, i) SKM_sk_value(EVP_MD, (st), (i)) +# define sk_EVP_MD_set(st, i, val) SKM_sk_set(EVP_MD, (st), (i), (val)) +# define sk_EVP_MD_zero(st) SKM_sk_zero(EVP_MD, (st)) +# define sk_EVP_MD_push(st, val) SKM_sk_push(EVP_MD, (st), (val)) +# define sk_EVP_MD_unshift(st, val) SKM_sk_unshift(EVP_MD, (st), (val)) +# define sk_EVP_MD_find(st, val) SKM_sk_find(EVP_MD, (st), (val)) +# define sk_EVP_MD_find_ex(st, val) SKM_sk_find_ex(EVP_MD, (st), (val)) +# define sk_EVP_MD_delete(st, i) SKM_sk_delete(EVP_MD, (st), (i)) +# define sk_EVP_MD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_MD, (st), (ptr)) +# define sk_EVP_MD_insert(st, val, i) SKM_sk_insert(EVP_MD, (st), (val), (i)) +# define sk_EVP_MD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_MD, (st), (cmp)) +# define sk_EVP_MD_dup(st) SKM_sk_dup(EVP_MD, st) +# define sk_EVP_MD_pop_free(st, free_func) SKM_sk_pop_free(EVP_MD, (st), (free_func)) +# define sk_EVP_MD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_MD, (st), (copy_func), (free_func)) +# define sk_EVP_MD_shift(st) SKM_sk_shift(EVP_MD, (st)) +# define sk_EVP_MD_pop(st) SKM_sk_pop(EVP_MD, (st)) +# define sk_EVP_MD_sort(st) SKM_sk_sort(EVP_MD, (st)) +# define sk_EVP_MD_is_sorted(st) SKM_sk_is_sorted(EVP_MD, (st)) +# define sk_EVP_PBE_CTL_new(cmp) SKM_sk_new(EVP_PBE_CTL, (cmp)) +# define sk_EVP_PBE_CTL_new_null() SKM_sk_new_null(EVP_PBE_CTL) +# define sk_EVP_PBE_CTL_free(st) SKM_sk_free(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_num(st) SKM_sk_num(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_value(st, i) SKM_sk_value(EVP_PBE_CTL, (st), (i)) +# define sk_EVP_PBE_CTL_set(st, i, val) SKM_sk_set(EVP_PBE_CTL, (st), (i), (val)) +# define sk_EVP_PBE_CTL_zero(st) SKM_sk_zero(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_push(st, val) SKM_sk_push(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_unshift(st, val) SKM_sk_unshift(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_find(st, val) SKM_sk_find(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_find_ex(st, val) SKM_sk_find_ex(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_delete(st, i) SKM_sk_delete(EVP_PBE_CTL, (st), (i)) +# define sk_EVP_PBE_CTL_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PBE_CTL, (st), (ptr)) +# define sk_EVP_PBE_CTL_insert(st, val, i) SKM_sk_insert(EVP_PBE_CTL, (st), (val), (i)) +# define sk_EVP_PBE_CTL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PBE_CTL, (st), (cmp)) +# define sk_EVP_PBE_CTL_dup(st) SKM_sk_dup(EVP_PBE_CTL, st) +# define sk_EVP_PBE_CTL_pop_free(st, free_func) SKM_sk_pop_free(EVP_PBE_CTL, (st), (free_func)) +# define sk_EVP_PBE_CTL_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PBE_CTL, (st), (copy_func), (free_func)) +# define sk_EVP_PBE_CTL_shift(st) SKM_sk_shift(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_pop(st) SKM_sk_pop(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_sort(st) SKM_sk_sort(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_is_sorted(st) SKM_sk_is_sorted(EVP_PBE_CTL, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_ASN1_METHOD, (cmp)) +# define sk_EVP_PKEY_ASN1_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_ASN1_METHOD) +# define sk_EVP_PKEY_ASN1_METHOD_free(st) SKM_sk_free(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_num(st) SKM_sk_num(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_ASN1_METHOD, (st), (i)) +# define sk_EVP_PKEY_ASN1_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_ASN1_METHOD, (st), (i), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_ASN1_METHOD, (st), (i)) +# define sk_EVP_PKEY_ASN1_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_ASN1_METHOD, (st), (ptr)) +# define sk_EVP_PKEY_ASN1_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_ASN1_METHOD, (st), (val), (i)) +# define sk_EVP_PKEY_ASN1_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_ASN1_METHOD, (st), (cmp)) +# define sk_EVP_PKEY_ASN1_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_ASN1_METHOD, st) +# define sk_EVP_PKEY_ASN1_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_ASN1_METHOD, (st), (free_func)) +# define sk_EVP_PKEY_ASN1_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_ASN1_METHOD, (st), (copy_func), (free_func)) +# define sk_EVP_PKEY_ASN1_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_METHOD, (cmp)) +# define sk_EVP_PKEY_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_METHOD) +# define sk_EVP_PKEY_METHOD_free(st) SKM_sk_free(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_num(st) SKM_sk_num(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_METHOD, (st), (i)) +# define sk_EVP_PKEY_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_METHOD, (st), (i), (val)) +# define sk_EVP_PKEY_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_METHOD, (st), (i)) +# define sk_EVP_PKEY_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_METHOD, (st), (ptr)) +# define sk_EVP_PKEY_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_METHOD, (st), (val), (i)) +# define sk_EVP_PKEY_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_METHOD, (st), (cmp)) +# define sk_EVP_PKEY_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_METHOD, st) +# define sk_EVP_PKEY_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_METHOD, (st), (free_func)) +# define sk_EVP_PKEY_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_METHOD, (st), (copy_func), (free_func)) +# define sk_EVP_PKEY_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_METHOD, (st)) +# define sk_GENERAL_NAME_new(cmp) SKM_sk_new(GENERAL_NAME, (cmp)) +# define sk_GENERAL_NAME_new_null() SKM_sk_new_null(GENERAL_NAME) +# define sk_GENERAL_NAME_free(st) SKM_sk_free(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i)) +# define sk_GENERAL_NAME_set(st, i, val) SKM_sk_set(GENERAL_NAME, (st), (i), (val)) +# define sk_GENERAL_NAME_zero(st) SKM_sk_zero(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_push(st, val) SKM_sk_push(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_unshift(st, val) SKM_sk_unshift(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_find(st, val) SKM_sk_find(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_delete(st, i) SKM_sk_delete(GENERAL_NAME, (st), (i)) +# define sk_GENERAL_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAME, (st), (ptr)) +# define sk_GENERAL_NAME_insert(st, val, i) SKM_sk_insert(GENERAL_NAME, (st), (val), (i)) +# define sk_GENERAL_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAME, (st), (cmp)) +# define sk_GENERAL_NAME_dup(st) SKM_sk_dup(GENERAL_NAME, st) +# define sk_GENERAL_NAME_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAME, (st), (free_func)) +# define sk_GENERAL_NAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAME, (st), (copy_func), (free_func)) +# define sk_GENERAL_NAME_shift(st) SKM_sk_shift(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_pop(st) SKM_sk_pop(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_sort(st) SKM_sk_sort(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAME, (st)) +# define sk_GENERAL_NAMES_new(cmp) SKM_sk_new(GENERAL_NAMES, (cmp)) +# define sk_GENERAL_NAMES_new_null() SKM_sk_new_null(GENERAL_NAMES) +# define sk_GENERAL_NAMES_free(st) SKM_sk_free(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_num(st) SKM_sk_num(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_value(st, i) SKM_sk_value(GENERAL_NAMES, (st), (i)) +# define sk_GENERAL_NAMES_set(st, i, val) SKM_sk_set(GENERAL_NAMES, (st), (i), (val)) +# define sk_GENERAL_NAMES_zero(st) SKM_sk_zero(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_push(st, val) SKM_sk_push(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_unshift(st, val) SKM_sk_unshift(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_find(st, val) SKM_sk_find(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_delete(st, i) SKM_sk_delete(GENERAL_NAMES, (st), (i)) +# define sk_GENERAL_NAMES_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAMES, (st), (ptr)) +# define sk_GENERAL_NAMES_insert(st, val, i) SKM_sk_insert(GENERAL_NAMES, (st), (val), (i)) +# define sk_GENERAL_NAMES_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAMES, (st), (cmp)) +# define sk_GENERAL_NAMES_dup(st) SKM_sk_dup(GENERAL_NAMES, st) +# define sk_GENERAL_NAMES_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAMES, (st), (free_func)) +# define sk_GENERAL_NAMES_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAMES, (st), (copy_func), (free_func)) +# define sk_GENERAL_NAMES_shift(st) SKM_sk_shift(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_pop(st) SKM_sk_pop(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_sort(st) SKM_sk_sort(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAMES, (st)) +# define sk_GENERAL_SUBTREE_new(cmp) SKM_sk_new(GENERAL_SUBTREE, (cmp)) +# define sk_GENERAL_SUBTREE_new_null() SKM_sk_new_null(GENERAL_SUBTREE) +# define sk_GENERAL_SUBTREE_free(st) SKM_sk_free(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_num(st) SKM_sk_num(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_value(st, i) SKM_sk_value(GENERAL_SUBTREE, (st), (i)) +# define sk_GENERAL_SUBTREE_set(st, i, val) SKM_sk_set(GENERAL_SUBTREE, (st), (i), (val)) +# define sk_GENERAL_SUBTREE_zero(st) SKM_sk_zero(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_push(st, val) SKM_sk_push(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_unshift(st, val) SKM_sk_unshift(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_find(st, val) SKM_sk_find(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_find_ex(st, val) SKM_sk_find_ex(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_delete(st, i) SKM_sk_delete(GENERAL_SUBTREE, (st), (i)) +# define sk_GENERAL_SUBTREE_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_SUBTREE, (st), (ptr)) +# define sk_GENERAL_SUBTREE_insert(st, val, i) SKM_sk_insert(GENERAL_SUBTREE, (st), (val), (i)) +# define sk_GENERAL_SUBTREE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_SUBTREE, (st), (cmp)) +# define sk_GENERAL_SUBTREE_dup(st) SKM_sk_dup(GENERAL_SUBTREE, st) +# define sk_GENERAL_SUBTREE_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_SUBTREE, (st), (free_func)) +# define sk_GENERAL_SUBTREE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_SUBTREE, (st), (copy_func), (free_func)) +# define sk_GENERAL_SUBTREE_shift(st) SKM_sk_shift(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_pop(st) SKM_sk_pop(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_sort(st) SKM_sk_sort(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_is_sorted(st) SKM_sk_is_sorted(GENERAL_SUBTREE, (st)) +# define sk_IPAddressFamily_new(cmp) SKM_sk_new(IPAddressFamily, (cmp)) +# define sk_IPAddressFamily_new_null() SKM_sk_new_null(IPAddressFamily) +# define sk_IPAddressFamily_free(st) SKM_sk_free(IPAddressFamily, (st)) +# define sk_IPAddressFamily_num(st) SKM_sk_num(IPAddressFamily, (st)) +# define sk_IPAddressFamily_value(st, i) SKM_sk_value(IPAddressFamily, (st), (i)) +# define sk_IPAddressFamily_set(st, i, val) SKM_sk_set(IPAddressFamily, (st), (i), (val)) +# define sk_IPAddressFamily_zero(st) SKM_sk_zero(IPAddressFamily, (st)) +# define sk_IPAddressFamily_push(st, val) SKM_sk_push(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_unshift(st, val) SKM_sk_unshift(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_find(st, val) SKM_sk_find(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_find_ex(st, val) SKM_sk_find_ex(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_delete(st, i) SKM_sk_delete(IPAddressFamily, (st), (i)) +# define sk_IPAddressFamily_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressFamily, (st), (ptr)) +# define sk_IPAddressFamily_insert(st, val, i) SKM_sk_insert(IPAddressFamily, (st), (val), (i)) +# define sk_IPAddressFamily_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressFamily, (st), (cmp)) +# define sk_IPAddressFamily_dup(st) SKM_sk_dup(IPAddressFamily, st) +# define sk_IPAddressFamily_pop_free(st, free_func) SKM_sk_pop_free(IPAddressFamily, (st), (free_func)) +# define sk_IPAddressFamily_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressFamily, (st), (copy_func), (free_func)) +# define sk_IPAddressFamily_shift(st) SKM_sk_shift(IPAddressFamily, (st)) +# define sk_IPAddressFamily_pop(st) SKM_sk_pop(IPAddressFamily, (st)) +# define sk_IPAddressFamily_sort(st) SKM_sk_sort(IPAddressFamily, (st)) +# define sk_IPAddressFamily_is_sorted(st) SKM_sk_is_sorted(IPAddressFamily, (st)) +# define sk_IPAddressOrRange_new(cmp) SKM_sk_new(IPAddressOrRange, (cmp)) +# define sk_IPAddressOrRange_new_null() SKM_sk_new_null(IPAddressOrRange) +# define sk_IPAddressOrRange_free(st) SKM_sk_free(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_num(st) SKM_sk_num(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_value(st, i) SKM_sk_value(IPAddressOrRange, (st), (i)) +# define sk_IPAddressOrRange_set(st, i, val) SKM_sk_set(IPAddressOrRange, (st), (i), (val)) +# define sk_IPAddressOrRange_zero(st) SKM_sk_zero(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_push(st, val) SKM_sk_push(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_unshift(st, val) SKM_sk_unshift(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_find(st, val) SKM_sk_find(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_find_ex(st, val) SKM_sk_find_ex(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_delete(st, i) SKM_sk_delete(IPAddressOrRange, (st), (i)) +# define sk_IPAddressOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressOrRange, (st), (ptr)) +# define sk_IPAddressOrRange_insert(st, val, i) SKM_sk_insert(IPAddressOrRange, (st), (val), (i)) +# define sk_IPAddressOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressOrRange, (st), (cmp)) +# define sk_IPAddressOrRange_dup(st) SKM_sk_dup(IPAddressOrRange, st) +# define sk_IPAddressOrRange_pop_free(st, free_func) SKM_sk_pop_free(IPAddressOrRange, (st), (free_func)) +# define sk_IPAddressOrRange_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressOrRange, (st), (copy_func), (free_func)) +# define sk_IPAddressOrRange_shift(st) SKM_sk_shift(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_pop(st) SKM_sk_pop(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_sort(st) SKM_sk_sort(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_is_sorted(st) SKM_sk_is_sorted(IPAddressOrRange, (st)) +# define sk_KRB5_APREQBODY_new(cmp) SKM_sk_new(KRB5_APREQBODY, (cmp)) +# define sk_KRB5_APREQBODY_new_null() SKM_sk_new_null(KRB5_APREQBODY) +# define sk_KRB5_APREQBODY_free(st) SKM_sk_free(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_num(st) SKM_sk_num(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_value(st, i) SKM_sk_value(KRB5_APREQBODY, (st), (i)) +# define sk_KRB5_APREQBODY_set(st, i, val) SKM_sk_set(KRB5_APREQBODY, (st), (i), (val)) +# define sk_KRB5_APREQBODY_zero(st) SKM_sk_zero(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_push(st, val) SKM_sk_push(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_unshift(st, val) SKM_sk_unshift(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_find(st, val) SKM_sk_find(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_delete(st, i) SKM_sk_delete(KRB5_APREQBODY, (st), (i)) +# define sk_KRB5_APREQBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_APREQBODY, (st), (ptr)) +# define sk_KRB5_APREQBODY_insert(st, val, i) SKM_sk_insert(KRB5_APREQBODY, (st), (val), (i)) +# define sk_KRB5_APREQBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_APREQBODY, (st), (cmp)) +# define sk_KRB5_APREQBODY_dup(st) SKM_sk_dup(KRB5_APREQBODY, st) +# define sk_KRB5_APREQBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_APREQBODY, (st), (free_func)) +# define sk_KRB5_APREQBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_APREQBODY, (st), (copy_func), (free_func)) +# define sk_KRB5_APREQBODY_shift(st) SKM_sk_shift(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_pop(st) SKM_sk_pop(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_sort(st) SKM_sk_sort(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_APREQBODY, (st)) +# define sk_KRB5_AUTHDATA_new(cmp) SKM_sk_new(KRB5_AUTHDATA, (cmp)) +# define sk_KRB5_AUTHDATA_new_null() SKM_sk_new_null(KRB5_AUTHDATA) +# define sk_KRB5_AUTHDATA_free(st) SKM_sk_free(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_num(st) SKM_sk_num(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_value(st, i) SKM_sk_value(KRB5_AUTHDATA, (st), (i)) +# define sk_KRB5_AUTHDATA_set(st, i, val) SKM_sk_set(KRB5_AUTHDATA, (st), (i), (val)) +# define sk_KRB5_AUTHDATA_zero(st) SKM_sk_zero(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_push(st, val) SKM_sk_push(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_unshift(st, val) SKM_sk_unshift(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_find(st, val) SKM_sk_find(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_delete(st, i) SKM_sk_delete(KRB5_AUTHDATA, (st), (i)) +# define sk_KRB5_AUTHDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHDATA, (st), (ptr)) +# define sk_KRB5_AUTHDATA_insert(st, val, i) SKM_sk_insert(KRB5_AUTHDATA, (st), (val), (i)) +# define sk_KRB5_AUTHDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHDATA, (st), (cmp)) +# define sk_KRB5_AUTHDATA_dup(st) SKM_sk_dup(KRB5_AUTHDATA, st) +# define sk_KRB5_AUTHDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHDATA, (st), (free_func)) +# define sk_KRB5_AUTHDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHDATA, (st), (copy_func), (free_func)) +# define sk_KRB5_AUTHDATA_shift(st) SKM_sk_shift(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_pop(st) SKM_sk_pop(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_sort(st) SKM_sk_sort(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHENTBODY_new(cmp) SKM_sk_new(KRB5_AUTHENTBODY, (cmp)) +# define sk_KRB5_AUTHENTBODY_new_null() SKM_sk_new_null(KRB5_AUTHENTBODY) +# define sk_KRB5_AUTHENTBODY_free(st) SKM_sk_free(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_num(st) SKM_sk_num(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_value(st, i) SKM_sk_value(KRB5_AUTHENTBODY, (st), (i)) +# define sk_KRB5_AUTHENTBODY_set(st, i, val) SKM_sk_set(KRB5_AUTHENTBODY, (st), (i), (val)) +# define sk_KRB5_AUTHENTBODY_zero(st) SKM_sk_zero(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_push(st, val) SKM_sk_push(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_unshift(st, val) SKM_sk_unshift(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_find(st, val) SKM_sk_find(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_delete(st, i) SKM_sk_delete(KRB5_AUTHENTBODY, (st), (i)) +# define sk_KRB5_AUTHENTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHENTBODY, (st), (ptr)) +# define sk_KRB5_AUTHENTBODY_insert(st, val, i) SKM_sk_insert(KRB5_AUTHENTBODY, (st), (val), (i)) +# define sk_KRB5_AUTHENTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHENTBODY, (st), (cmp)) +# define sk_KRB5_AUTHENTBODY_dup(st) SKM_sk_dup(KRB5_AUTHENTBODY, st) +# define sk_KRB5_AUTHENTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHENTBODY, (st), (free_func)) +# define sk_KRB5_AUTHENTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHENTBODY, (st), (copy_func), (free_func)) +# define sk_KRB5_AUTHENTBODY_shift(st) SKM_sk_shift(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_pop(st) SKM_sk_pop(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_sort(st) SKM_sk_sort(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_CHECKSUM_new(cmp) SKM_sk_new(KRB5_CHECKSUM, (cmp)) +# define sk_KRB5_CHECKSUM_new_null() SKM_sk_new_null(KRB5_CHECKSUM) +# define sk_KRB5_CHECKSUM_free(st) SKM_sk_free(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_num(st) SKM_sk_num(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_value(st, i) SKM_sk_value(KRB5_CHECKSUM, (st), (i)) +# define sk_KRB5_CHECKSUM_set(st, i, val) SKM_sk_set(KRB5_CHECKSUM, (st), (i), (val)) +# define sk_KRB5_CHECKSUM_zero(st) SKM_sk_zero(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_push(st, val) SKM_sk_push(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_unshift(st, val) SKM_sk_unshift(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_find(st, val) SKM_sk_find(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_find_ex(st, val) SKM_sk_find_ex(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_delete(st, i) SKM_sk_delete(KRB5_CHECKSUM, (st), (i)) +# define sk_KRB5_CHECKSUM_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_CHECKSUM, (st), (ptr)) +# define sk_KRB5_CHECKSUM_insert(st, val, i) SKM_sk_insert(KRB5_CHECKSUM, (st), (val), (i)) +# define sk_KRB5_CHECKSUM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_CHECKSUM, (st), (cmp)) +# define sk_KRB5_CHECKSUM_dup(st) SKM_sk_dup(KRB5_CHECKSUM, st) +# define sk_KRB5_CHECKSUM_pop_free(st, free_func) SKM_sk_pop_free(KRB5_CHECKSUM, (st), (free_func)) +# define sk_KRB5_CHECKSUM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_CHECKSUM, (st), (copy_func), (free_func)) +# define sk_KRB5_CHECKSUM_shift(st) SKM_sk_shift(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_pop(st) SKM_sk_pop(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_sort(st) SKM_sk_sort(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_is_sorted(st) SKM_sk_is_sorted(KRB5_CHECKSUM, (st)) +# define sk_KRB5_ENCDATA_new(cmp) SKM_sk_new(KRB5_ENCDATA, (cmp)) +# define sk_KRB5_ENCDATA_new_null() SKM_sk_new_null(KRB5_ENCDATA) +# define sk_KRB5_ENCDATA_free(st) SKM_sk_free(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_num(st) SKM_sk_num(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_value(st, i) SKM_sk_value(KRB5_ENCDATA, (st), (i)) +# define sk_KRB5_ENCDATA_set(st, i, val) SKM_sk_set(KRB5_ENCDATA, (st), (i), (val)) +# define sk_KRB5_ENCDATA_zero(st) SKM_sk_zero(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_push(st, val) SKM_sk_push(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_unshift(st, val) SKM_sk_unshift(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_find(st, val) SKM_sk_find(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_delete(st, i) SKM_sk_delete(KRB5_ENCDATA, (st), (i)) +# define sk_KRB5_ENCDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCDATA, (st), (ptr)) +# define sk_KRB5_ENCDATA_insert(st, val, i) SKM_sk_insert(KRB5_ENCDATA, (st), (val), (i)) +# define sk_KRB5_ENCDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCDATA, (st), (cmp)) +# define sk_KRB5_ENCDATA_dup(st) SKM_sk_dup(KRB5_ENCDATA, st) +# define sk_KRB5_ENCDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCDATA, (st), (free_func)) +# define sk_KRB5_ENCDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCDATA, (st), (copy_func), (free_func)) +# define sk_KRB5_ENCDATA_shift(st) SKM_sk_shift(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_pop(st) SKM_sk_pop(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_sort(st) SKM_sk_sort(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCKEY_new(cmp) SKM_sk_new(KRB5_ENCKEY, (cmp)) +# define sk_KRB5_ENCKEY_new_null() SKM_sk_new_null(KRB5_ENCKEY) +# define sk_KRB5_ENCKEY_free(st) SKM_sk_free(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_num(st) SKM_sk_num(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_value(st, i) SKM_sk_value(KRB5_ENCKEY, (st), (i)) +# define sk_KRB5_ENCKEY_set(st, i, val) SKM_sk_set(KRB5_ENCKEY, (st), (i), (val)) +# define sk_KRB5_ENCKEY_zero(st) SKM_sk_zero(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_push(st, val) SKM_sk_push(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_unshift(st, val) SKM_sk_unshift(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_find(st, val) SKM_sk_find(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_delete(st, i) SKM_sk_delete(KRB5_ENCKEY, (st), (i)) +# define sk_KRB5_ENCKEY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCKEY, (st), (ptr)) +# define sk_KRB5_ENCKEY_insert(st, val, i) SKM_sk_insert(KRB5_ENCKEY, (st), (val), (i)) +# define sk_KRB5_ENCKEY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCKEY, (st), (cmp)) +# define sk_KRB5_ENCKEY_dup(st) SKM_sk_dup(KRB5_ENCKEY, st) +# define sk_KRB5_ENCKEY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCKEY, (st), (free_func)) +# define sk_KRB5_ENCKEY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCKEY, (st), (copy_func), (free_func)) +# define sk_KRB5_ENCKEY_shift(st) SKM_sk_shift(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_pop(st) SKM_sk_pop(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_sort(st) SKM_sk_sort(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCKEY, (st)) +# define sk_KRB5_PRINCNAME_new(cmp) SKM_sk_new(KRB5_PRINCNAME, (cmp)) +# define sk_KRB5_PRINCNAME_new_null() SKM_sk_new_null(KRB5_PRINCNAME) +# define sk_KRB5_PRINCNAME_free(st) SKM_sk_free(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_num(st) SKM_sk_num(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_value(st, i) SKM_sk_value(KRB5_PRINCNAME, (st), (i)) +# define sk_KRB5_PRINCNAME_set(st, i, val) SKM_sk_set(KRB5_PRINCNAME, (st), (i), (val)) +# define sk_KRB5_PRINCNAME_zero(st) SKM_sk_zero(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_push(st, val) SKM_sk_push(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_unshift(st, val) SKM_sk_unshift(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_find(st, val) SKM_sk_find(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_find_ex(st, val) SKM_sk_find_ex(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_delete(st, i) SKM_sk_delete(KRB5_PRINCNAME, (st), (i)) +# define sk_KRB5_PRINCNAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_PRINCNAME, (st), (ptr)) +# define sk_KRB5_PRINCNAME_insert(st, val, i) SKM_sk_insert(KRB5_PRINCNAME, (st), (val), (i)) +# define sk_KRB5_PRINCNAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_PRINCNAME, (st), (cmp)) +# define sk_KRB5_PRINCNAME_dup(st) SKM_sk_dup(KRB5_PRINCNAME, st) +# define sk_KRB5_PRINCNAME_pop_free(st, free_func) SKM_sk_pop_free(KRB5_PRINCNAME, (st), (free_func)) +# define sk_KRB5_PRINCNAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_PRINCNAME, (st), (copy_func), (free_func)) +# define sk_KRB5_PRINCNAME_shift(st) SKM_sk_shift(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_pop(st) SKM_sk_pop(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_sort(st) SKM_sk_sort(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_is_sorted(st) SKM_sk_is_sorted(KRB5_PRINCNAME, (st)) +# define sk_KRB5_TKTBODY_new(cmp) SKM_sk_new(KRB5_TKTBODY, (cmp)) +# define sk_KRB5_TKTBODY_new_null() SKM_sk_new_null(KRB5_TKTBODY) +# define sk_KRB5_TKTBODY_free(st) SKM_sk_free(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_num(st) SKM_sk_num(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_value(st, i) SKM_sk_value(KRB5_TKTBODY, (st), (i)) +# define sk_KRB5_TKTBODY_set(st, i, val) SKM_sk_set(KRB5_TKTBODY, (st), (i), (val)) +# define sk_KRB5_TKTBODY_zero(st) SKM_sk_zero(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_push(st, val) SKM_sk_push(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_unshift(st, val) SKM_sk_unshift(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_find(st, val) SKM_sk_find(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_delete(st, i) SKM_sk_delete(KRB5_TKTBODY, (st), (i)) +# define sk_KRB5_TKTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_TKTBODY, (st), (ptr)) +# define sk_KRB5_TKTBODY_insert(st, val, i) SKM_sk_insert(KRB5_TKTBODY, (st), (val), (i)) +# define sk_KRB5_TKTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_TKTBODY, (st), (cmp)) +# define sk_KRB5_TKTBODY_dup(st) SKM_sk_dup(KRB5_TKTBODY, st) +# define sk_KRB5_TKTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_TKTBODY, (st), (free_func)) +# define sk_KRB5_TKTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_TKTBODY, (st), (copy_func), (free_func)) +# define sk_KRB5_TKTBODY_shift(st) SKM_sk_shift(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_pop(st) SKM_sk_pop(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_sort(st) SKM_sk_sort(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_TKTBODY, (st)) +# define sk_MEM_OBJECT_DATA_new(cmp) SKM_sk_new(MEM_OBJECT_DATA, (cmp)) +# define sk_MEM_OBJECT_DATA_new_null() SKM_sk_new_null(MEM_OBJECT_DATA) +# define sk_MEM_OBJECT_DATA_free(st) SKM_sk_free(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_num(st) SKM_sk_num(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_value(st, i) SKM_sk_value(MEM_OBJECT_DATA, (st), (i)) +# define sk_MEM_OBJECT_DATA_set(st, i, val) SKM_sk_set(MEM_OBJECT_DATA, (st), (i), (val)) +# define sk_MEM_OBJECT_DATA_zero(st) SKM_sk_zero(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_push(st, val) SKM_sk_push(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_unshift(st, val) SKM_sk_unshift(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_find(st, val) SKM_sk_find(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_find_ex(st, val) SKM_sk_find_ex(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_delete(st, i) SKM_sk_delete(MEM_OBJECT_DATA, (st), (i)) +# define sk_MEM_OBJECT_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(MEM_OBJECT_DATA, (st), (ptr)) +# define sk_MEM_OBJECT_DATA_insert(st, val, i) SKM_sk_insert(MEM_OBJECT_DATA, (st), (val), (i)) +# define sk_MEM_OBJECT_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MEM_OBJECT_DATA, (st), (cmp)) +# define sk_MEM_OBJECT_DATA_dup(st) SKM_sk_dup(MEM_OBJECT_DATA, st) +# define sk_MEM_OBJECT_DATA_pop_free(st, free_func) SKM_sk_pop_free(MEM_OBJECT_DATA, (st), (free_func)) +# define sk_MEM_OBJECT_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MEM_OBJECT_DATA, (st), (copy_func), (free_func)) +# define sk_MEM_OBJECT_DATA_shift(st) SKM_sk_shift(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_pop(st) SKM_sk_pop(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_sort(st) SKM_sk_sort(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_is_sorted(st) SKM_sk_is_sorted(MEM_OBJECT_DATA, (st)) +# define sk_MIME_HEADER_new(cmp) SKM_sk_new(MIME_HEADER, (cmp)) +# define sk_MIME_HEADER_new_null() SKM_sk_new_null(MIME_HEADER) +# define sk_MIME_HEADER_free(st) SKM_sk_free(MIME_HEADER, (st)) +# define sk_MIME_HEADER_num(st) SKM_sk_num(MIME_HEADER, (st)) +# define sk_MIME_HEADER_value(st, i) SKM_sk_value(MIME_HEADER, (st), (i)) +# define sk_MIME_HEADER_set(st, i, val) SKM_sk_set(MIME_HEADER, (st), (i), (val)) +# define sk_MIME_HEADER_zero(st) SKM_sk_zero(MIME_HEADER, (st)) +# define sk_MIME_HEADER_push(st, val) SKM_sk_push(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_unshift(st, val) SKM_sk_unshift(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_find(st, val) SKM_sk_find(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_find_ex(st, val) SKM_sk_find_ex(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_delete(st, i) SKM_sk_delete(MIME_HEADER, (st), (i)) +# define sk_MIME_HEADER_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_HEADER, (st), (ptr)) +# define sk_MIME_HEADER_insert(st, val, i) SKM_sk_insert(MIME_HEADER, (st), (val), (i)) +# define sk_MIME_HEADER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_HEADER, (st), (cmp)) +# define sk_MIME_HEADER_dup(st) SKM_sk_dup(MIME_HEADER, st) +# define sk_MIME_HEADER_pop_free(st, free_func) SKM_sk_pop_free(MIME_HEADER, (st), (free_func)) +# define sk_MIME_HEADER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_HEADER, (st), (copy_func), (free_func)) +# define sk_MIME_HEADER_shift(st) SKM_sk_shift(MIME_HEADER, (st)) +# define sk_MIME_HEADER_pop(st) SKM_sk_pop(MIME_HEADER, (st)) +# define sk_MIME_HEADER_sort(st) SKM_sk_sort(MIME_HEADER, (st)) +# define sk_MIME_HEADER_is_sorted(st) SKM_sk_is_sorted(MIME_HEADER, (st)) +# define sk_MIME_PARAM_new(cmp) SKM_sk_new(MIME_PARAM, (cmp)) +# define sk_MIME_PARAM_new_null() SKM_sk_new_null(MIME_PARAM) +# define sk_MIME_PARAM_free(st) SKM_sk_free(MIME_PARAM, (st)) +# define sk_MIME_PARAM_num(st) SKM_sk_num(MIME_PARAM, (st)) +# define sk_MIME_PARAM_value(st, i) SKM_sk_value(MIME_PARAM, (st), (i)) +# define sk_MIME_PARAM_set(st, i, val) SKM_sk_set(MIME_PARAM, (st), (i), (val)) +# define sk_MIME_PARAM_zero(st) SKM_sk_zero(MIME_PARAM, (st)) +# define sk_MIME_PARAM_push(st, val) SKM_sk_push(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_unshift(st, val) SKM_sk_unshift(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_find(st, val) SKM_sk_find(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_find_ex(st, val) SKM_sk_find_ex(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_delete(st, i) SKM_sk_delete(MIME_PARAM, (st), (i)) +# define sk_MIME_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_PARAM, (st), (ptr)) +# define sk_MIME_PARAM_insert(st, val, i) SKM_sk_insert(MIME_PARAM, (st), (val), (i)) +# define sk_MIME_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_PARAM, (st), (cmp)) +# define sk_MIME_PARAM_dup(st) SKM_sk_dup(MIME_PARAM, st) +# define sk_MIME_PARAM_pop_free(st, free_func) SKM_sk_pop_free(MIME_PARAM, (st), (free_func)) +# define sk_MIME_PARAM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_PARAM, (st), (copy_func), (free_func)) +# define sk_MIME_PARAM_shift(st) SKM_sk_shift(MIME_PARAM, (st)) +# define sk_MIME_PARAM_pop(st) SKM_sk_pop(MIME_PARAM, (st)) +# define sk_MIME_PARAM_sort(st) SKM_sk_sort(MIME_PARAM, (st)) +# define sk_MIME_PARAM_is_sorted(st) SKM_sk_is_sorted(MIME_PARAM, (st)) +# define sk_NAME_FUNCS_new(cmp) SKM_sk_new(NAME_FUNCS, (cmp)) +# define sk_NAME_FUNCS_new_null() SKM_sk_new_null(NAME_FUNCS) +# define sk_NAME_FUNCS_free(st) SKM_sk_free(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_num(st) SKM_sk_num(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_value(st, i) SKM_sk_value(NAME_FUNCS, (st), (i)) +# define sk_NAME_FUNCS_set(st, i, val) SKM_sk_set(NAME_FUNCS, (st), (i), (val)) +# define sk_NAME_FUNCS_zero(st) SKM_sk_zero(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_push(st, val) SKM_sk_push(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_unshift(st, val) SKM_sk_unshift(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_find(st, val) SKM_sk_find(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_find_ex(st, val) SKM_sk_find_ex(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_delete(st, i) SKM_sk_delete(NAME_FUNCS, (st), (i)) +# define sk_NAME_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(NAME_FUNCS, (st), (ptr)) +# define sk_NAME_FUNCS_insert(st, val, i) SKM_sk_insert(NAME_FUNCS, (st), (val), (i)) +# define sk_NAME_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(NAME_FUNCS, (st), (cmp)) +# define sk_NAME_FUNCS_dup(st) SKM_sk_dup(NAME_FUNCS, st) +# define sk_NAME_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(NAME_FUNCS, (st), (free_func)) +# define sk_NAME_FUNCS_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(NAME_FUNCS, (st), (copy_func), (free_func)) +# define sk_NAME_FUNCS_shift(st) SKM_sk_shift(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_pop(st) SKM_sk_pop(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_sort(st) SKM_sk_sort(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_is_sorted(st) SKM_sk_is_sorted(NAME_FUNCS, (st)) +# define sk_OCSP_CERTID_new(cmp) SKM_sk_new(OCSP_CERTID, (cmp)) +# define sk_OCSP_CERTID_new_null() SKM_sk_new_null(OCSP_CERTID) +# define sk_OCSP_CERTID_free(st) SKM_sk_free(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_num(st) SKM_sk_num(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_value(st, i) SKM_sk_value(OCSP_CERTID, (st), (i)) +# define sk_OCSP_CERTID_set(st, i, val) SKM_sk_set(OCSP_CERTID, (st), (i), (val)) +# define sk_OCSP_CERTID_zero(st) SKM_sk_zero(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_push(st, val) SKM_sk_push(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_unshift(st, val) SKM_sk_unshift(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_find(st, val) SKM_sk_find(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_find_ex(st, val) SKM_sk_find_ex(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_delete(st, i) SKM_sk_delete(OCSP_CERTID, (st), (i)) +# define sk_OCSP_CERTID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_CERTID, (st), (ptr)) +# define sk_OCSP_CERTID_insert(st, val, i) SKM_sk_insert(OCSP_CERTID, (st), (val), (i)) +# define sk_OCSP_CERTID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_CERTID, (st), (cmp)) +# define sk_OCSP_CERTID_dup(st) SKM_sk_dup(OCSP_CERTID, st) +# define sk_OCSP_CERTID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_CERTID, (st), (free_func)) +# define sk_OCSP_CERTID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_CERTID, (st), (copy_func), (free_func)) +# define sk_OCSP_CERTID_shift(st) SKM_sk_shift(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_pop(st) SKM_sk_pop(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_sort(st) SKM_sk_sort(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_is_sorted(st) SKM_sk_is_sorted(OCSP_CERTID, (st)) +# define sk_OCSP_ONEREQ_new(cmp) SKM_sk_new(OCSP_ONEREQ, (cmp)) +# define sk_OCSP_ONEREQ_new_null() SKM_sk_new_null(OCSP_ONEREQ) +# define sk_OCSP_ONEREQ_free(st) SKM_sk_free(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_num(st) SKM_sk_num(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_value(st, i) SKM_sk_value(OCSP_ONEREQ, (st), (i)) +# define sk_OCSP_ONEREQ_set(st, i, val) SKM_sk_set(OCSP_ONEREQ, (st), (i), (val)) +# define sk_OCSP_ONEREQ_zero(st) SKM_sk_zero(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_push(st, val) SKM_sk_push(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_unshift(st, val) SKM_sk_unshift(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_find(st, val) SKM_sk_find(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_find_ex(st, val) SKM_sk_find_ex(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_delete(st, i) SKM_sk_delete(OCSP_ONEREQ, (st), (i)) +# define sk_OCSP_ONEREQ_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_ONEREQ, (st), (ptr)) +# define sk_OCSP_ONEREQ_insert(st, val, i) SKM_sk_insert(OCSP_ONEREQ, (st), (val), (i)) +# define sk_OCSP_ONEREQ_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_ONEREQ, (st), (cmp)) +# define sk_OCSP_ONEREQ_dup(st) SKM_sk_dup(OCSP_ONEREQ, st) +# define sk_OCSP_ONEREQ_pop_free(st, free_func) SKM_sk_pop_free(OCSP_ONEREQ, (st), (free_func)) +# define sk_OCSP_ONEREQ_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_ONEREQ, (st), (copy_func), (free_func)) +# define sk_OCSP_ONEREQ_shift(st) SKM_sk_shift(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_pop(st) SKM_sk_pop(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_sort(st) SKM_sk_sort(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_is_sorted(st) SKM_sk_is_sorted(OCSP_ONEREQ, (st)) +# define sk_OCSP_RESPID_new(cmp) SKM_sk_new(OCSP_RESPID, (cmp)) +# define sk_OCSP_RESPID_new_null() SKM_sk_new_null(OCSP_RESPID) +# define sk_OCSP_RESPID_free(st) SKM_sk_free(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_num(st) SKM_sk_num(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_value(st, i) SKM_sk_value(OCSP_RESPID, (st), (i)) +# define sk_OCSP_RESPID_set(st, i, val) SKM_sk_set(OCSP_RESPID, (st), (i), (val)) +# define sk_OCSP_RESPID_zero(st) SKM_sk_zero(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_push(st, val) SKM_sk_push(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_unshift(st, val) SKM_sk_unshift(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_find(st, val) SKM_sk_find(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_find_ex(st, val) SKM_sk_find_ex(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_delete(st, i) SKM_sk_delete(OCSP_RESPID, (st), (i)) +# define sk_OCSP_RESPID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_RESPID, (st), (ptr)) +# define sk_OCSP_RESPID_insert(st, val, i) SKM_sk_insert(OCSP_RESPID, (st), (val), (i)) +# define sk_OCSP_RESPID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_RESPID, (st), (cmp)) +# define sk_OCSP_RESPID_dup(st) SKM_sk_dup(OCSP_RESPID, st) +# define sk_OCSP_RESPID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_RESPID, (st), (free_func)) +# define sk_OCSP_RESPID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_RESPID, (st), (copy_func), (free_func)) +# define sk_OCSP_RESPID_shift(st) SKM_sk_shift(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_pop(st) SKM_sk_pop(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_sort(st) SKM_sk_sort(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_is_sorted(st) SKM_sk_is_sorted(OCSP_RESPID, (st)) +# define sk_OCSP_SINGLERESP_new(cmp) SKM_sk_new(OCSP_SINGLERESP, (cmp)) +# define sk_OCSP_SINGLERESP_new_null() SKM_sk_new_null(OCSP_SINGLERESP) +# define sk_OCSP_SINGLERESP_free(st) SKM_sk_free(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_num(st) SKM_sk_num(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_value(st, i) SKM_sk_value(OCSP_SINGLERESP, (st), (i)) +# define sk_OCSP_SINGLERESP_set(st, i, val) SKM_sk_set(OCSP_SINGLERESP, (st), (i), (val)) +# define sk_OCSP_SINGLERESP_zero(st) SKM_sk_zero(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_push(st, val) SKM_sk_push(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_unshift(st, val) SKM_sk_unshift(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_find(st, val) SKM_sk_find(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_find_ex(st, val) SKM_sk_find_ex(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_delete(st, i) SKM_sk_delete(OCSP_SINGLERESP, (st), (i)) +# define sk_OCSP_SINGLERESP_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_SINGLERESP, (st), (ptr)) +# define sk_OCSP_SINGLERESP_insert(st, val, i) SKM_sk_insert(OCSP_SINGLERESP, (st), (val), (i)) +# define sk_OCSP_SINGLERESP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_SINGLERESP, (st), (cmp)) +# define sk_OCSP_SINGLERESP_dup(st) SKM_sk_dup(OCSP_SINGLERESP, st) +# define sk_OCSP_SINGLERESP_pop_free(st, free_func) SKM_sk_pop_free(OCSP_SINGLERESP, (st), (free_func)) +# define sk_OCSP_SINGLERESP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_SINGLERESP, (st), (copy_func), (free_func)) +# define sk_OCSP_SINGLERESP_shift(st) SKM_sk_shift(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_pop(st) SKM_sk_pop(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_sort(st) SKM_sk_sort(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_is_sorted(st) SKM_sk_is_sorted(OCSP_SINGLERESP, (st)) +# define sk_PKCS12_SAFEBAG_new(cmp) SKM_sk_new(PKCS12_SAFEBAG, (cmp)) +# define sk_PKCS12_SAFEBAG_new_null() SKM_sk_new_null(PKCS12_SAFEBAG) +# define sk_PKCS12_SAFEBAG_free(st) SKM_sk_free(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_num(st) SKM_sk_num(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_value(st, i) SKM_sk_value(PKCS12_SAFEBAG, (st), (i)) +# define sk_PKCS12_SAFEBAG_set(st, i, val) SKM_sk_set(PKCS12_SAFEBAG, (st), (i), (val)) +# define sk_PKCS12_SAFEBAG_zero(st) SKM_sk_zero(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_push(st, val) SKM_sk_push(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_unshift(st, val) SKM_sk_unshift(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_find(st, val) SKM_sk_find(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_find_ex(st, val) SKM_sk_find_ex(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_delete(st, i) SKM_sk_delete(PKCS12_SAFEBAG, (st), (i)) +# define sk_PKCS12_SAFEBAG_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS12_SAFEBAG, (st), (ptr)) +# define sk_PKCS12_SAFEBAG_insert(st, val, i) SKM_sk_insert(PKCS12_SAFEBAG, (st), (val), (i)) +# define sk_PKCS12_SAFEBAG_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS12_SAFEBAG, (st), (cmp)) +# define sk_PKCS12_SAFEBAG_dup(st) SKM_sk_dup(PKCS12_SAFEBAG, st) +# define sk_PKCS12_SAFEBAG_pop_free(st, free_func) SKM_sk_pop_free(PKCS12_SAFEBAG, (st), (free_func)) +# define sk_PKCS12_SAFEBAG_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS12_SAFEBAG, (st), (copy_func), (free_func)) +# define sk_PKCS12_SAFEBAG_shift(st) SKM_sk_shift(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_pop(st) SKM_sk_pop(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_sort(st) SKM_sk_sort(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_is_sorted(st) SKM_sk_is_sorted(PKCS12_SAFEBAG, (st)) +# define sk_PKCS7_new(cmp) SKM_sk_new(PKCS7, (cmp)) +# define sk_PKCS7_new_null() SKM_sk_new_null(PKCS7) +# define sk_PKCS7_free(st) SKM_sk_free(PKCS7, (st)) +# define sk_PKCS7_num(st) SKM_sk_num(PKCS7, (st)) +# define sk_PKCS7_value(st, i) SKM_sk_value(PKCS7, (st), (i)) +# define sk_PKCS7_set(st, i, val) SKM_sk_set(PKCS7, (st), (i), (val)) +# define sk_PKCS7_zero(st) SKM_sk_zero(PKCS7, (st)) +# define sk_PKCS7_push(st, val) SKM_sk_push(PKCS7, (st), (val)) +# define sk_PKCS7_unshift(st, val) SKM_sk_unshift(PKCS7, (st), (val)) +# define sk_PKCS7_find(st, val) SKM_sk_find(PKCS7, (st), (val)) +# define sk_PKCS7_find_ex(st, val) SKM_sk_find_ex(PKCS7, (st), (val)) +# define sk_PKCS7_delete(st, i) SKM_sk_delete(PKCS7, (st), (i)) +# define sk_PKCS7_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7, (st), (ptr)) +# define sk_PKCS7_insert(st, val, i) SKM_sk_insert(PKCS7, (st), (val), (i)) +# define sk_PKCS7_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7, (st), (cmp)) +# define sk_PKCS7_dup(st) SKM_sk_dup(PKCS7, st) +# define sk_PKCS7_pop_free(st, free_func) SKM_sk_pop_free(PKCS7, (st), (free_func)) +# define sk_PKCS7_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7, (st), (copy_func), (free_func)) +# define sk_PKCS7_shift(st) SKM_sk_shift(PKCS7, (st)) +# define sk_PKCS7_pop(st) SKM_sk_pop(PKCS7, (st)) +# define sk_PKCS7_sort(st) SKM_sk_sort(PKCS7, (st)) +# define sk_PKCS7_is_sorted(st) SKM_sk_is_sorted(PKCS7, (st)) +# define sk_PKCS7_RECIP_INFO_new(cmp) SKM_sk_new(PKCS7_RECIP_INFO, (cmp)) +# define sk_PKCS7_RECIP_INFO_new_null() SKM_sk_new_null(PKCS7_RECIP_INFO) +# define sk_PKCS7_RECIP_INFO_free(st) SKM_sk_free(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_num(st) SKM_sk_num(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_value(st, i) SKM_sk_value(PKCS7_RECIP_INFO, (st), (i)) +# define sk_PKCS7_RECIP_INFO_set(st, i, val) SKM_sk_set(PKCS7_RECIP_INFO, (st), (i), (val)) +# define sk_PKCS7_RECIP_INFO_zero(st) SKM_sk_zero(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_push(st, val) SKM_sk_push(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_find(st, val) SKM_sk_find(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_delete(st, i) SKM_sk_delete(PKCS7_RECIP_INFO, (st), (i)) +# define sk_PKCS7_RECIP_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_RECIP_INFO, (st), (ptr)) +# define sk_PKCS7_RECIP_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_RECIP_INFO, (st), (val), (i)) +# define sk_PKCS7_RECIP_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_RECIP_INFO, (st), (cmp)) +# define sk_PKCS7_RECIP_INFO_dup(st) SKM_sk_dup(PKCS7_RECIP_INFO, st) +# define sk_PKCS7_RECIP_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_RECIP_INFO, (st), (free_func)) +# define sk_PKCS7_RECIP_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_RECIP_INFO, (st), (copy_func), (free_func)) +# define sk_PKCS7_RECIP_INFO_shift(st) SKM_sk_shift(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_pop(st) SKM_sk_pop(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_sort(st) SKM_sk_sort(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_new(cmp) SKM_sk_new(PKCS7_SIGNER_INFO, (cmp)) +# define sk_PKCS7_SIGNER_INFO_new_null() SKM_sk_new_null(PKCS7_SIGNER_INFO) +# define sk_PKCS7_SIGNER_INFO_free(st) SKM_sk_free(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_num(st) SKM_sk_num(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_value(st, i) SKM_sk_value(PKCS7_SIGNER_INFO, (st), (i)) +# define sk_PKCS7_SIGNER_INFO_set(st, i, val) SKM_sk_set(PKCS7_SIGNER_INFO, (st), (i), (val)) +# define sk_PKCS7_SIGNER_INFO_zero(st) SKM_sk_zero(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_push(st, val) SKM_sk_push(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_find(st, val) SKM_sk_find(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_delete(st, i) SKM_sk_delete(PKCS7_SIGNER_INFO, (st), (i)) +# define sk_PKCS7_SIGNER_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_SIGNER_INFO, (st), (ptr)) +# define sk_PKCS7_SIGNER_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_SIGNER_INFO, (st), (val), (i)) +# define sk_PKCS7_SIGNER_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_SIGNER_INFO, (st), (cmp)) +# define sk_PKCS7_SIGNER_INFO_dup(st) SKM_sk_dup(PKCS7_SIGNER_INFO, st) +# define sk_PKCS7_SIGNER_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_SIGNER_INFO, (st), (free_func)) +# define sk_PKCS7_SIGNER_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_SIGNER_INFO, (st), (copy_func), (free_func)) +# define sk_PKCS7_SIGNER_INFO_shift(st) SKM_sk_shift(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_pop(st) SKM_sk_pop(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_sort(st) SKM_sk_sort(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_SIGNER_INFO, (st)) +# define sk_POLICYINFO_new(cmp) SKM_sk_new(POLICYINFO, (cmp)) +# define sk_POLICYINFO_new_null() SKM_sk_new_null(POLICYINFO) +# define sk_POLICYINFO_free(st) SKM_sk_free(POLICYINFO, (st)) +# define sk_POLICYINFO_num(st) SKM_sk_num(POLICYINFO, (st)) +# define sk_POLICYINFO_value(st, i) SKM_sk_value(POLICYINFO, (st), (i)) +# define sk_POLICYINFO_set(st, i, val) SKM_sk_set(POLICYINFO, (st), (i), (val)) +# define sk_POLICYINFO_zero(st) SKM_sk_zero(POLICYINFO, (st)) +# define sk_POLICYINFO_push(st, val) SKM_sk_push(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_unshift(st, val) SKM_sk_unshift(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_find(st, val) SKM_sk_find(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_find_ex(st, val) SKM_sk_find_ex(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_delete(st, i) SKM_sk_delete(POLICYINFO, (st), (i)) +# define sk_POLICYINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYINFO, (st), (ptr)) +# define sk_POLICYINFO_insert(st, val, i) SKM_sk_insert(POLICYINFO, (st), (val), (i)) +# define sk_POLICYINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYINFO, (st), (cmp)) +# define sk_POLICYINFO_dup(st) SKM_sk_dup(POLICYINFO, st) +# define sk_POLICYINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYINFO, (st), (free_func)) +# define sk_POLICYINFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYINFO, (st), (copy_func), (free_func)) +# define sk_POLICYINFO_shift(st) SKM_sk_shift(POLICYINFO, (st)) +# define sk_POLICYINFO_pop(st) SKM_sk_pop(POLICYINFO, (st)) +# define sk_POLICYINFO_sort(st) SKM_sk_sort(POLICYINFO, (st)) +# define sk_POLICYINFO_is_sorted(st) SKM_sk_is_sorted(POLICYINFO, (st)) +# define sk_POLICYQUALINFO_new(cmp) SKM_sk_new(POLICYQUALINFO, (cmp)) +# define sk_POLICYQUALINFO_new_null() SKM_sk_new_null(POLICYQUALINFO) +# define sk_POLICYQUALINFO_free(st) SKM_sk_free(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_num(st) SKM_sk_num(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_value(st, i) SKM_sk_value(POLICYQUALINFO, (st), (i)) +# define sk_POLICYQUALINFO_set(st, i, val) SKM_sk_set(POLICYQUALINFO, (st), (i), (val)) +# define sk_POLICYQUALINFO_zero(st) SKM_sk_zero(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_push(st, val) SKM_sk_push(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_unshift(st, val) SKM_sk_unshift(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_find(st, val) SKM_sk_find(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_find_ex(st, val) SKM_sk_find_ex(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_delete(st, i) SKM_sk_delete(POLICYQUALINFO, (st), (i)) +# define sk_POLICYQUALINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYQUALINFO, (st), (ptr)) +# define sk_POLICYQUALINFO_insert(st, val, i) SKM_sk_insert(POLICYQUALINFO, (st), (val), (i)) +# define sk_POLICYQUALINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYQUALINFO, (st), (cmp)) +# define sk_POLICYQUALINFO_dup(st) SKM_sk_dup(POLICYQUALINFO, st) +# define sk_POLICYQUALINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYQUALINFO, (st), (free_func)) +# define sk_POLICYQUALINFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYQUALINFO, (st), (copy_func), (free_func)) +# define sk_POLICYQUALINFO_shift(st) SKM_sk_shift(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_pop(st) SKM_sk_pop(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_sort(st) SKM_sk_sort(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_is_sorted(st) SKM_sk_is_sorted(POLICYQUALINFO, (st)) +# define sk_POLICY_MAPPING_new(cmp) SKM_sk_new(POLICY_MAPPING, (cmp)) +# define sk_POLICY_MAPPING_new_null() SKM_sk_new_null(POLICY_MAPPING) +# define sk_POLICY_MAPPING_free(st) SKM_sk_free(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_num(st) SKM_sk_num(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_value(st, i) SKM_sk_value(POLICY_MAPPING, (st), (i)) +# define sk_POLICY_MAPPING_set(st, i, val) SKM_sk_set(POLICY_MAPPING, (st), (i), (val)) +# define sk_POLICY_MAPPING_zero(st) SKM_sk_zero(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_push(st, val) SKM_sk_push(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_unshift(st, val) SKM_sk_unshift(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_find(st, val) SKM_sk_find(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_find_ex(st, val) SKM_sk_find_ex(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_delete(st, i) SKM_sk_delete(POLICY_MAPPING, (st), (i)) +# define sk_POLICY_MAPPING_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICY_MAPPING, (st), (ptr)) +# define sk_POLICY_MAPPING_insert(st, val, i) SKM_sk_insert(POLICY_MAPPING, (st), (val), (i)) +# define sk_POLICY_MAPPING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICY_MAPPING, (st), (cmp)) +# define sk_POLICY_MAPPING_dup(st) SKM_sk_dup(POLICY_MAPPING, st) +# define sk_POLICY_MAPPING_pop_free(st, free_func) SKM_sk_pop_free(POLICY_MAPPING, (st), (free_func)) +# define sk_POLICY_MAPPING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICY_MAPPING, (st), (copy_func), (free_func)) +# define sk_POLICY_MAPPING_shift(st) SKM_sk_shift(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_pop(st) SKM_sk_pop(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_sort(st) SKM_sk_sort(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_is_sorted(st) SKM_sk_is_sorted(POLICY_MAPPING, (st)) +# define sk_SCT_new(cmp) SKM_sk_new(SCT, (cmp)) +# define sk_SCT_new_null() SKM_sk_new_null(SCT) +# define sk_SCT_free(st) SKM_sk_free(SCT, (st)) +# define sk_SCT_num(st) SKM_sk_num(SCT, (st)) +# define sk_SCT_value(st, i) SKM_sk_value(SCT, (st), (i)) +# define sk_SCT_set(st, i, val) SKM_sk_set(SCT, (st), (i), (val)) +# define sk_SCT_zero(st) SKM_sk_zero(SCT, (st)) +# define sk_SCT_push(st, val) SKM_sk_push(SCT, (st), (val)) +# define sk_SCT_unshift(st, val) SKM_sk_unshift(SCT, (st), (val)) +# define sk_SCT_find(st, val) SKM_sk_find(SCT, (st), (val)) +# define sk_SCT_find_ex(st, val) SKM_sk_find_ex(SCT, (st), (val)) +# define sk_SCT_delete(st, i) SKM_sk_delete(SCT, (st), (i)) +# define sk_SCT_delete_ptr(st, ptr) SKM_sk_delete_ptr(SCT, (st), (ptr)) +# define sk_SCT_insert(st, val, i) SKM_sk_insert(SCT, (st), (val), (i)) +# define sk_SCT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SCT, (st), (cmp)) +# define sk_SCT_dup(st) SKM_sk_dup(SCT, st) +# define sk_SCT_pop_free(st, free_func) SKM_sk_pop_free(SCT, (st), (free_func)) +# define sk_SCT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SCT, (st), (copy_func), (free_func)) +# define sk_SCT_shift(st) SKM_sk_shift(SCT, (st)) +# define sk_SCT_pop(st) SKM_sk_pop(SCT, (st)) +# define sk_SCT_sort(st) SKM_sk_sort(SCT, (st)) +# define sk_SCT_is_sorted(st) SKM_sk_is_sorted(SCT, (st)) +# define sk_SRP_gN_new(cmp) SKM_sk_new(SRP_gN, (cmp)) +# define sk_SRP_gN_new_null() SKM_sk_new_null(SRP_gN) +# define sk_SRP_gN_free(st) SKM_sk_free(SRP_gN, (st)) +# define sk_SRP_gN_num(st) SKM_sk_num(SRP_gN, (st)) +# define sk_SRP_gN_value(st, i) SKM_sk_value(SRP_gN, (st), (i)) +# define sk_SRP_gN_set(st, i, val) SKM_sk_set(SRP_gN, (st), (i), (val)) +# define sk_SRP_gN_zero(st) SKM_sk_zero(SRP_gN, (st)) +# define sk_SRP_gN_push(st, val) SKM_sk_push(SRP_gN, (st), (val)) +# define sk_SRP_gN_unshift(st, val) SKM_sk_unshift(SRP_gN, (st), (val)) +# define sk_SRP_gN_find(st, val) SKM_sk_find(SRP_gN, (st), (val)) +# define sk_SRP_gN_find_ex(st, val) SKM_sk_find_ex(SRP_gN, (st), (val)) +# define sk_SRP_gN_delete(st, i) SKM_sk_delete(SRP_gN, (st), (i)) +# define sk_SRP_gN_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN, (st), (ptr)) +# define sk_SRP_gN_insert(st, val, i) SKM_sk_insert(SRP_gN, (st), (val), (i)) +# define sk_SRP_gN_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN, (st), (cmp)) +# define sk_SRP_gN_dup(st) SKM_sk_dup(SRP_gN, st) +# define sk_SRP_gN_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN, (st), (free_func)) +# define sk_SRP_gN_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN, (st), (copy_func), (free_func)) +# define sk_SRP_gN_shift(st) SKM_sk_shift(SRP_gN, (st)) +# define sk_SRP_gN_pop(st) SKM_sk_pop(SRP_gN, (st)) +# define sk_SRP_gN_sort(st) SKM_sk_sort(SRP_gN, (st)) +# define sk_SRP_gN_is_sorted(st) SKM_sk_is_sorted(SRP_gN, (st)) +# define sk_SRP_gN_cache_new(cmp) SKM_sk_new(SRP_gN_cache, (cmp)) +# define sk_SRP_gN_cache_new_null() SKM_sk_new_null(SRP_gN_cache) +# define sk_SRP_gN_cache_free(st) SKM_sk_free(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_num(st) SKM_sk_num(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_value(st, i) SKM_sk_value(SRP_gN_cache, (st), (i)) +# define sk_SRP_gN_cache_set(st, i, val) SKM_sk_set(SRP_gN_cache, (st), (i), (val)) +# define sk_SRP_gN_cache_zero(st) SKM_sk_zero(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_push(st, val) SKM_sk_push(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_unshift(st, val) SKM_sk_unshift(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_find(st, val) SKM_sk_find(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_find_ex(st, val) SKM_sk_find_ex(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_delete(st, i) SKM_sk_delete(SRP_gN_cache, (st), (i)) +# define sk_SRP_gN_cache_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN_cache, (st), (ptr)) +# define sk_SRP_gN_cache_insert(st, val, i) SKM_sk_insert(SRP_gN_cache, (st), (val), (i)) +# define sk_SRP_gN_cache_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN_cache, (st), (cmp)) +# define sk_SRP_gN_cache_dup(st) SKM_sk_dup(SRP_gN_cache, st) +# define sk_SRP_gN_cache_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN_cache, (st), (free_func)) +# define sk_SRP_gN_cache_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN_cache, (st), (copy_func), (free_func)) +# define sk_SRP_gN_cache_shift(st) SKM_sk_shift(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_pop(st) SKM_sk_pop(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_sort(st) SKM_sk_sort(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_is_sorted(st) SKM_sk_is_sorted(SRP_gN_cache, (st)) +# define sk_SRP_user_pwd_new(cmp) SKM_sk_new(SRP_user_pwd, (cmp)) +# define sk_SRP_user_pwd_new_null() SKM_sk_new_null(SRP_user_pwd) +# define sk_SRP_user_pwd_free(st) SKM_sk_free(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_num(st) SKM_sk_num(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_value(st, i) SKM_sk_value(SRP_user_pwd, (st), (i)) +# define sk_SRP_user_pwd_set(st, i, val) SKM_sk_set(SRP_user_pwd, (st), (i), (val)) +# define sk_SRP_user_pwd_zero(st) SKM_sk_zero(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_push(st, val) SKM_sk_push(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_unshift(st, val) SKM_sk_unshift(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_find(st, val) SKM_sk_find(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_find_ex(st, val) SKM_sk_find_ex(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_delete(st, i) SKM_sk_delete(SRP_user_pwd, (st), (i)) +# define sk_SRP_user_pwd_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_user_pwd, (st), (ptr)) +# define sk_SRP_user_pwd_insert(st, val, i) SKM_sk_insert(SRP_user_pwd, (st), (val), (i)) +# define sk_SRP_user_pwd_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_user_pwd, (st), (cmp)) +# define sk_SRP_user_pwd_dup(st) SKM_sk_dup(SRP_user_pwd, st) +# define sk_SRP_user_pwd_pop_free(st, free_func) SKM_sk_pop_free(SRP_user_pwd, (st), (free_func)) +# define sk_SRP_user_pwd_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_user_pwd, (st), (copy_func), (free_func)) +# define sk_SRP_user_pwd_shift(st) SKM_sk_shift(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_pop(st) SKM_sk_pop(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_sort(st) SKM_sk_sort(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_is_sorted(st) SKM_sk_is_sorted(SRP_user_pwd, (st)) +# define sk_SRTP_PROTECTION_PROFILE_new(cmp) SKM_sk_new(SRTP_PROTECTION_PROFILE, (cmp)) +# define sk_SRTP_PROTECTION_PROFILE_new_null() SKM_sk_new_null(SRTP_PROTECTION_PROFILE) +# define sk_SRTP_PROTECTION_PROFILE_free(st) SKM_sk_free(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_num(st) SKM_sk_num(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_value(st, i) SKM_sk_value(SRTP_PROTECTION_PROFILE, (st), (i)) +# define sk_SRTP_PROTECTION_PROFILE_set(st, i, val) SKM_sk_set(SRTP_PROTECTION_PROFILE, (st), (i), (val)) +# define sk_SRTP_PROTECTION_PROFILE_zero(st) SKM_sk_zero(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_push(st, val) SKM_sk_push(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_unshift(st, val) SKM_sk_unshift(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_find(st, val) SKM_sk_find(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_find_ex(st, val) SKM_sk_find_ex(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_delete(st, i) SKM_sk_delete(SRTP_PROTECTION_PROFILE, (st), (i)) +# define sk_SRTP_PROTECTION_PROFILE_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRTP_PROTECTION_PROFILE, (st), (ptr)) +# define sk_SRTP_PROTECTION_PROFILE_insert(st, val, i) SKM_sk_insert(SRTP_PROTECTION_PROFILE, (st), (val), (i)) +# define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRTP_PROTECTION_PROFILE, (st), (cmp)) +# define sk_SRTP_PROTECTION_PROFILE_dup(st) SKM_sk_dup(SRTP_PROTECTION_PROFILE, st) +# define sk_SRTP_PROTECTION_PROFILE_pop_free(st, free_func) SKM_sk_pop_free(SRTP_PROTECTION_PROFILE, (st), (free_func)) +# define sk_SRTP_PROTECTION_PROFILE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRTP_PROTECTION_PROFILE, (st), (copy_func), (free_func)) +# define sk_SRTP_PROTECTION_PROFILE_shift(st) SKM_sk_shift(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_pop(st) SKM_sk_pop(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_sort(st) SKM_sk_sort(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_is_sorted(st) SKM_sk_is_sorted(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SSL_CIPHER_new(cmp) SKM_sk_new(SSL_CIPHER, (cmp)) +# define sk_SSL_CIPHER_new_null() SKM_sk_new_null(SSL_CIPHER) +# define sk_SSL_CIPHER_free(st) SKM_sk_free(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_num(st) SKM_sk_num(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_value(st, i) SKM_sk_value(SSL_CIPHER, (st), (i)) +# define sk_SSL_CIPHER_set(st, i, val) SKM_sk_set(SSL_CIPHER, (st), (i), (val)) +# define sk_SSL_CIPHER_zero(st) SKM_sk_zero(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_push(st, val) SKM_sk_push(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_unshift(st, val) SKM_sk_unshift(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_find(st, val) SKM_sk_find(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_find_ex(st, val) SKM_sk_find_ex(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_delete(st, i) SKM_sk_delete(SSL_CIPHER, (st), (i)) +# define sk_SSL_CIPHER_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_CIPHER, (st), (ptr)) +# define sk_SSL_CIPHER_insert(st, val, i) SKM_sk_insert(SSL_CIPHER, (st), (val), (i)) +# define sk_SSL_CIPHER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_CIPHER, (st), (cmp)) +# define sk_SSL_CIPHER_dup(st) SKM_sk_dup(SSL_CIPHER, st) +# define sk_SSL_CIPHER_pop_free(st, free_func) SKM_sk_pop_free(SSL_CIPHER, (st), (free_func)) +# define sk_SSL_CIPHER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_CIPHER, (st), (copy_func), (free_func)) +# define sk_SSL_CIPHER_shift(st) SKM_sk_shift(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_pop(st) SKM_sk_pop(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_sort(st) SKM_sk_sort(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_is_sorted(st) SKM_sk_is_sorted(SSL_CIPHER, (st)) +# define sk_SSL_COMP_new(cmp) SKM_sk_new(SSL_COMP, (cmp)) +# define sk_SSL_COMP_new_null() SKM_sk_new_null(SSL_COMP) +# define sk_SSL_COMP_free(st) SKM_sk_free(SSL_COMP, (st)) +# define sk_SSL_COMP_num(st) SKM_sk_num(SSL_COMP, (st)) +# define sk_SSL_COMP_value(st, i) SKM_sk_value(SSL_COMP, (st), (i)) +# define sk_SSL_COMP_set(st, i, val) SKM_sk_set(SSL_COMP, (st), (i), (val)) +# define sk_SSL_COMP_zero(st) SKM_sk_zero(SSL_COMP, (st)) +# define sk_SSL_COMP_push(st, val) SKM_sk_push(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_unshift(st, val) SKM_sk_unshift(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_find(st, val) SKM_sk_find(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_find_ex(st, val) SKM_sk_find_ex(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_delete(st, i) SKM_sk_delete(SSL_COMP, (st), (i)) +# define sk_SSL_COMP_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_COMP, (st), (ptr)) +# define sk_SSL_COMP_insert(st, val, i) SKM_sk_insert(SSL_COMP, (st), (val), (i)) +# define sk_SSL_COMP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_COMP, (st), (cmp)) +# define sk_SSL_COMP_dup(st) SKM_sk_dup(SSL_COMP, st) +# define sk_SSL_COMP_pop_free(st, free_func) SKM_sk_pop_free(SSL_COMP, (st), (free_func)) +# define sk_SSL_COMP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_COMP, (st), (copy_func), (free_func)) +# define sk_SSL_COMP_shift(st) SKM_sk_shift(SSL_COMP, (st)) +# define sk_SSL_COMP_pop(st) SKM_sk_pop(SSL_COMP, (st)) +# define sk_SSL_COMP_sort(st) SKM_sk_sort(SSL_COMP, (st)) +# define sk_SSL_COMP_is_sorted(st) SKM_sk_is_sorted(SSL_COMP, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_new(cmp) SKM_sk_new(STACK_OF_X509_NAME_ENTRY, (cmp)) +# define sk_STACK_OF_X509_NAME_ENTRY_new_null() SKM_sk_new_null(STACK_OF_X509_NAME_ENTRY) +# define sk_STACK_OF_X509_NAME_ENTRY_free(st) SKM_sk_free(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_num(st) SKM_sk_num(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_value(st, i) SKM_sk_value(STACK_OF_X509_NAME_ENTRY, (st), (i)) +# define sk_STACK_OF_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(STACK_OF_X509_NAME_ENTRY, (st), (i), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_zero(st) SKM_sk_zero(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_push(st, val) SKM_sk_push(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_find(st, val) SKM_sk_find(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(STACK_OF_X509_NAME_ENTRY, (st), (i)) +# define sk_STACK_OF_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(STACK_OF_X509_NAME_ENTRY, (st), (ptr)) +# define sk_STACK_OF_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(STACK_OF_X509_NAME_ENTRY, (st), (val), (i)) +# define sk_STACK_OF_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STACK_OF_X509_NAME_ENTRY, (st), (cmp)) +# define sk_STACK_OF_X509_NAME_ENTRY_dup(st) SKM_sk_dup(STACK_OF_X509_NAME_ENTRY, st) +# define sk_STACK_OF_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(STACK_OF_X509_NAME_ENTRY, (st), (free_func)) +# define sk_STACK_OF_X509_NAME_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STACK_OF_X509_NAME_ENTRY, (st), (copy_func), (free_func)) +# define sk_STACK_OF_X509_NAME_ENTRY_shift(st) SKM_sk_shift(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_pop(st) SKM_sk_pop(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_sort(st) SKM_sk_sort(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STORE_ATTR_INFO_new(cmp) SKM_sk_new(STORE_ATTR_INFO, (cmp)) +# define sk_STORE_ATTR_INFO_new_null() SKM_sk_new_null(STORE_ATTR_INFO) +# define sk_STORE_ATTR_INFO_free(st) SKM_sk_free(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_num(st) SKM_sk_num(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_value(st, i) SKM_sk_value(STORE_ATTR_INFO, (st), (i)) +# define sk_STORE_ATTR_INFO_set(st, i, val) SKM_sk_set(STORE_ATTR_INFO, (st), (i), (val)) +# define sk_STORE_ATTR_INFO_zero(st) SKM_sk_zero(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_push(st, val) SKM_sk_push(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_unshift(st, val) SKM_sk_unshift(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_find(st, val) SKM_sk_find(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_find_ex(st, val) SKM_sk_find_ex(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_delete(st, i) SKM_sk_delete(STORE_ATTR_INFO, (st), (i)) +# define sk_STORE_ATTR_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_ATTR_INFO, (st), (ptr)) +# define sk_STORE_ATTR_INFO_insert(st, val, i) SKM_sk_insert(STORE_ATTR_INFO, (st), (val), (i)) +# define sk_STORE_ATTR_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_ATTR_INFO, (st), (cmp)) +# define sk_STORE_ATTR_INFO_dup(st) SKM_sk_dup(STORE_ATTR_INFO, st) +# define sk_STORE_ATTR_INFO_pop_free(st, free_func) SKM_sk_pop_free(STORE_ATTR_INFO, (st), (free_func)) +# define sk_STORE_ATTR_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_ATTR_INFO, (st), (copy_func), (free_func)) +# define sk_STORE_ATTR_INFO_shift(st) SKM_sk_shift(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_pop(st) SKM_sk_pop(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_sort(st) SKM_sk_sort(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_is_sorted(st) SKM_sk_is_sorted(STORE_ATTR_INFO, (st)) +# define sk_STORE_OBJECT_new(cmp) SKM_sk_new(STORE_OBJECT, (cmp)) +# define sk_STORE_OBJECT_new_null() SKM_sk_new_null(STORE_OBJECT) +# define sk_STORE_OBJECT_free(st) SKM_sk_free(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_num(st) SKM_sk_num(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_value(st, i) SKM_sk_value(STORE_OBJECT, (st), (i)) +# define sk_STORE_OBJECT_set(st, i, val) SKM_sk_set(STORE_OBJECT, (st), (i), (val)) +# define sk_STORE_OBJECT_zero(st) SKM_sk_zero(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_push(st, val) SKM_sk_push(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_unshift(st, val) SKM_sk_unshift(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_find(st, val) SKM_sk_find(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_find_ex(st, val) SKM_sk_find_ex(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_delete(st, i) SKM_sk_delete(STORE_OBJECT, (st), (i)) +# define sk_STORE_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_OBJECT, (st), (ptr)) +# define sk_STORE_OBJECT_insert(st, val, i) SKM_sk_insert(STORE_OBJECT, (st), (val), (i)) +# define sk_STORE_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_OBJECT, (st), (cmp)) +# define sk_STORE_OBJECT_dup(st) SKM_sk_dup(STORE_OBJECT, st) +# define sk_STORE_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(STORE_OBJECT, (st), (free_func)) +# define sk_STORE_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_OBJECT, (st), (copy_func), (free_func)) +# define sk_STORE_OBJECT_shift(st) SKM_sk_shift(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_pop(st) SKM_sk_pop(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_sort(st) SKM_sk_sort(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_is_sorted(st) SKM_sk_is_sorted(STORE_OBJECT, (st)) +# define sk_SXNETID_new(cmp) SKM_sk_new(SXNETID, (cmp)) +# define sk_SXNETID_new_null() SKM_sk_new_null(SXNETID) +# define sk_SXNETID_free(st) SKM_sk_free(SXNETID, (st)) +# define sk_SXNETID_num(st) SKM_sk_num(SXNETID, (st)) +# define sk_SXNETID_value(st, i) SKM_sk_value(SXNETID, (st), (i)) +# define sk_SXNETID_set(st, i, val) SKM_sk_set(SXNETID, (st), (i), (val)) +# define sk_SXNETID_zero(st) SKM_sk_zero(SXNETID, (st)) +# define sk_SXNETID_push(st, val) SKM_sk_push(SXNETID, (st), (val)) +# define sk_SXNETID_unshift(st, val) SKM_sk_unshift(SXNETID, (st), (val)) +# define sk_SXNETID_find(st, val) SKM_sk_find(SXNETID, (st), (val)) +# define sk_SXNETID_find_ex(st, val) SKM_sk_find_ex(SXNETID, (st), (val)) +# define sk_SXNETID_delete(st, i) SKM_sk_delete(SXNETID, (st), (i)) +# define sk_SXNETID_delete_ptr(st, ptr) SKM_sk_delete_ptr(SXNETID, (st), (ptr)) +# define sk_SXNETID_insert(st, val, i) SKM_sk_insert(SXNETID, (st), (val), (i)) +# define sk_SXNETID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SXNETID, (st), (cmp)) +# define sk_SXNETID_dup(st) SKM_sk_dup(SXNETID, st) +# define sk_SXNETID_pop_free(st, free_func) SKM_sk_pop_free(SXNETID, (st), (free_func)) +# define sk_SXNETID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SXNETID, (st), (copy_func), (free_func)) +# define sk_SXNETID_shift(st) SKM_sk_shift(SXNETID, (st)) +# define sk_SXNETID_pop(st) SKM_sk_pop(SXNETID, (st)) +# define sk_SXNETID_sort(st) SKM_sk_sort(SXNETID, (st)) +# define sk_SXNETID_is_sorted(st) SKM_sk_is_sorted(SXNETID, (st)) +# define sk_UI_STRING_new(cmp) SKM_sk_new(UI_STRING, (cmp)) +# define sk_UI_STRING_new_null() SKM_sk_new_null(UI_STRING) +# define sk_UI_STRING_free(st) SKM_sk_free(UI_STRING, (st)) +# define sk_UI_STRING_num(st) SKM_sk_num(UI_STRING, (st)) +# define sk_UI_STRING_value(st, i) SKM_sk_value(UI_STRING, (st), (i)) +# define sk_UI_STRING_set(st, i, val) SKM_sk_set(UI_STRING, (st), (i), (val)) +# define sk_UI_STRING_zero(st) SKM_sk_zero(UI_STRING, (st)) +# define sk_UI_STRING_push(st, val) SKM_sk_push(UI_STRING, (st), (val)) +# define sk_UI_STRING_unshift(st, val) SKM_sk_unshift(UI_STRING, (st), (val)) +# define sk_UI_STRING_find(st, val) SKM_sk_find(UI_STRING, (st), (val)) +# define sk_UI_STRING_find_ex(st, val) SKM_sk_find_ex(UI_STRING, (st), (val)) +# define sk_UI_STRING_delete(st, i) SKM_sk_delete(UI_STRING, (st), (i)) +# define sk_UI_STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(UI_STRING, (st), (ptr)) +# define sk_UI_STRING_insert(st, val, i) SKM_sk_insert(UI_STRING, (st), (val), (i)) +# define sk_UI_STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(UI_STRING, (st), (cmp)) +# define sk_UI_STRING_dup(st) SKM_sk_dup(UI_STRING, st) +# define sk_UI_STRING_pop_free(st, free_func) SKM_sk_pop_free(UI_STRING, (st), (free_func)) +# define sk_UI_STRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(UI_STRING, (st), (copy_func), (free_func)) +# define sk_UI_STRING_shift(st) SKM_sk_shift(UI_STRING, (st)) +# define sk_UI_STRING_pop(st) SKM_sk_pop(UI_STRING, (st)) +# define sk_UI_STRING_sort(st) SKM_sk_sort(UI_STRING, (st)) +# define sk_UI_STRING_is_sorted(st) SKM_sk_is_sorted(UI_STRING, (st)) +# define sk_X509_new(cmp) SKM_sk_new(X509, (cmp)) +# define sk_X509_new_null() SKM_sk_new_null(X509) +# define sk_X509_free(st) SKM_sk_free(X509, (st)) +# define sk_X509_num(st) SKM_sk_num(X509, (st)) +# define sk_X509_value(st, i) SKM_sk_value(X509, (st), (i)) +# define sk_X509_set(st, i, val) SKM_sk_set(X509, (st), (i), (val)) +# define sk_X509_zero(st) SKM_sk_zero(X509, (st)) +# define sk_X509_push(st, val) SKM_sk_push(X509, (st), (val)) +# define sk_X509_unshift(st, val) SKM_sk_unshift(X509, (st), (val)) +# define sk_X509_find(st, val) SKM_sk_find(X509, (st), (val)) +# define sk_X509_find_ex(st, val) SKM_sk_find_ex(X509, (st), (val)) +# define sk_X509_delete(st, i) SKM_sk_delete(X509, (st), (i)) +# define sk_X509_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509, (st), (ptr)) +# define sk_X509_insert(st, val, i) SKM_sk_insert(X509, (st), (val), (i)) +# define sk_X509_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509, (st), (cmp)) +# define sk_X509_dup(st) SKM_sk_dup(X509, st) +# define sk_X509_pop_free(st, free_func) SKM_sk_pop_free(X509, (st), (free_func)) +# define sk_X509_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509, (st), (copy_func), (free_func)) +# define sk_X509_shift(st) SKM_sk_shift(X509, (st)) +# define sk_X509_pop(st) SKM_sk_pop(X509, (st)) +# define sk_X509_sort(st) SKM_sk_sort(X509, (st)) +# define sk_X509_is_sorted(st) SKM_sk_is_sorted(X509, (st)) +# define sk_X509V3_EXT_METHOD_new(cmp) SKM_sk_new(X509V3_EXT_METHOD, (cmp)) +# define sk_X509V3_EXT_METHOD_new_null() SKM_sk_new_null(X509V3_EXT_METHOD) +# define sk_X509V3_EXT_METHOD_free(st) SKM_sk_free(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_num(st) SKM_sk_num(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_value(st, i) SKM_sk_value(X509V3_EXT_METHOD, (st), (i)) +# define sk_X509V3_EXT_METHOD_set(st, i, val) SKM_sk_set(X509V3_EXT_METHOD, (st), (i), (val)) +# define sk_X509V3_EXT_METHOD_zero(st) SKM_sk_zero(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_push(st, val) SKM_sk_push(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_unshift(st, val) SKM_sk_unshift(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_find(st, val) SKM_sk_find(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_find_ex(st, val) SKM_sk_find_ex(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_delete(st, i) SKM_sk_delete(X509V3_EXT_METHOD, (st), (i)) +# define sk_X509V3_EXT_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509V3_EXT_METHOD, (st), (ptr)) +# define sk_X509V3_EXT_METHOD_insert(st, val, i) SKM_sk_insert(X509V3_EXT_METHOD, (st), (val), (i)) +# define sk_X509V3_EXT_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509V3_EXT_METHOD, (st), (cmp)) +# define sk_X509V3_EXT_METHOD_dup(st) SKM_sk_dup(X509V3_EXT_METHOD, st) +# define sk_X509V3_EXT_METHOD_pop_free(st, free_func) SKM_sk_pop_free(X509V3_EXT_METHOD, (st), (free_func)) +# define sk_X509V3_EXT_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509V3_EXT_METHOD, (st), (copy_func), (free_func)) +# define sk_X509V3_EXT_METHOD_shift(st) SKM_sk_shift(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_pop(st) SKM_sk_pop(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_sort(st) SKM_sk_sort(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_is_sorted(st) SKM_sk_is_sorted(X509V3_EXT_METHOD, (st)) +# define sk_X509_ALGOR_new(cmp) SKM_sk_new(X509_ALGOR, (cmp)) +# define sk_X509_ALGOR_new_null() SKM_sk_new_null(X509_ALGOR) +# define sk_X509_ALGOR_free(st) SKM_sk_free(X509_ALGOR, (st)) +# define sk_X509_ALGOR_num(st) SKM_sk_num(X509_ALGOR, (st)) +# define sk_X509_ALGOR_value(st, i) SKM_sk_value(X509_ALGOR, (st), (i)) +# define sk_X509_ALGOR_set(st, i, val) SKM_sk_set(X509_ALGOR, (st), (i), (val)) +# define sk_X509_ALGOR_zero(st) SKM_sk_zero(X509_ALGOR, (st)) +# define sk_X509_ALGOR_push(st, val) SKM_sk_push(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_unshift(st, val) SKM_sk_unshift(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_find(st, val) SKM_sk_find(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_find_ex(st, val) SKM_sk_find_ex(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_delete(st, i) SKM_sk_delete(X509_ALGOR, (st), (i)) +# define sk_X509_ALGOR_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ALGOR, (st), (ptr)) +# define sk_X509_ALGOR_insert(st, val, i) SKM_sk_insert(X509_ALGOR, (st), (val), (i)) +# define sk_X509_ALGOR_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ALGOR, (st), (cmp)) +# define sk_X509_ALGOR_dup(st) SKM_sk_dup(X509_ALGOR, st) +# define sk_X509_ALGOR_pop_free(st, free_func) SKM_sk_pop_free(X509_ALGOR, (st), (free_func)) +# define sk_X509_ALGOR_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ALGOR, (st), (copy_func), (free_func)) +# define sk_X509_ALGOR_shift(st) SKM_sk_shift(X509_ALGOR, (st)) +# define sk_X509_ALGOR_pop(st) SKM_sk_pop(X509_ALGOR, (st)) +# define sk_X509_ALGOR_sort(st) SKM_sk_sort(X509_ALGOR, (st)) +# define sk_X509_ALGOR_is_sorted(st) SKM_sk_is_sorted(X509_ALGOR, (st)) +# define sk_X509_ATTRIBUTE_new(cmp) SKM_sk_new(X509_ATTRIBUTE, (cmp)) +# define sk_X509_ATTRIBUTE_new_null() SKM_sk_new_null(X509_ATTRIBUTE) +# define sk_X509_ATTRIBUTE_free(st) SKM_sk_free(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_num(st) SKM_sk_num(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_value(st, i) SKM_sk_value(X509_ATTRIBUTE, (st), (i)) +# define sk_X509_ATTRIBUTE_set(st, i, val) SKM_sk_set(X509_ATTRIBUTE, (st), (i), (val)) +# define sk_X509_ATTRIBUTE_zero(st) SKM_sk_zero(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_push(st, val) SKM_sk_push(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_unshift(st, val) SKM_sk_unshift(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_find(st, val) SKM_sk_find(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_find_ex(st, val) SKM_sk_find_ex(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_delete(st, i) SKM_sk_delete(X509_ATTRIBUTE, (st), (i)) +# define sk_X509_ATTRIBUTE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ATTRIBUTE, (st), (ptr)) +# define sk_X509_ATTRIBUTE_insert(st, val, i) SKM_sk_insert(X509_ATTRIBUTE, (st), (val), (i)) +# define sk_X509_ATTRIBUTE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ATTRIBUTE, (st), (cmp)) +# define sk_X509_ATTRIBUTE_dup(st) SKM_sk_dup(X509_ATTRIBUTE, st) +# define sk_X509_ATTRIBUTE_pop_free(st, free_func) SKM_sk_pop_free(X509_ATTRIBUTE, (st), (free_func)) +# define sk_X509_ATTRIBUTE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ATTRIBUTE, (st), (copy_func), (free_func)) +# define sk_X509_ATTRIBUTE_shift(st) SKM_sk_shift(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_pop(st) SKM_sk_pop(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_sort(st) SKM_sk_sort(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_is_sorted(st) SKM_sk_is_sorted(X509_ATTRIBUTE, (st)) +# define sk_X509_CRL_new(cmp) SKM_sk_new(X509_CRL, (cmp)) +# define sk_X509_CRL_new_null() SKM_sk_new_null(X509_CRL) +# define sk_X509_CRL_free(st) SKM_sk_free(X509_CRL, (st)) +# define sk_X509_CRL_num(st) SKM_sk_num(X509_CRL, (st)) +# define sk_X509_CRL_value(st, i) SKM_sk_value(X509_CRL, (st), (i)) +# define sk_X509_CRL_set(st, i, val) SKM_sk_set(X509_CRL, (st), (i), (val)) +# define sk_X509_CRL_zero(st) SKM_sk_zero(X509_CRL, (st)) +# define sk_X509_CRL_push(st, val) SKM_sk_push(X509_CRL, (st), (val)) +# define sk_X509_CRL_unshift(st, val) SKM_sk_unshift(X509_CRL, (st), (val)) +# define sk_X509_CRL_find(st, val) SKM_sk_find(X509_CRL, (st), (val)) +# define sk_X509_CRL_find_ex(st, val) SKM_sk_find_ex(X509_CRL, (st), (val)) +# define sk_X509_CRL_delete(st, i) SKM_sk_delete(X509_CRL, (st), (i)) +# define sk_X509_CRL_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_CRL, (st), (ptr)) +# define sk_X509_CRL_insert(st, val, i) SKM_sk_insert(X509_CRL, (st), (val), (i)) +# define sk_X509_CRL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_CRL, (st), (cmp)) +# define sk_X509_CRL_dup(st) SKM_sk_dup(X509_CRL, st) +# define sk_X509_CRL_pop_free(st, free_func) SKM_sk_pop_free(X509_CRL, (st), (free_func)) +# define sk_X509_CRL_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_CRL, (st), (copy_func), (free_func)) +# define sk_X509_CRL_shift(st) SKM_sk_shift(X509_CRL, (st)) +# define sk_X509_CRL_pop(st) SKM_sk_pop(X509_CRL, (st)) +# define sk_X509_CRL_sort(st) SKM_sk_sort(X509_CRL, (st)) +# define sk_X509_CRL_is_sorted(st) SKM_sk_is_sorted(X509_CRL, (st)) +# define sk_X509_EXTENSION_new(cmp) SKM_sk_new(X509_EXTENSION, (cmp)) +# define sk_X509_EXTENSION_new_null() SKM_sk_new_null(X509_EXTENSION) +# define sk_X509_EXTENSION_free(st) SKM_sk_free(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_num(st) SKM_sk_num(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_value(st, i) SKM_sk_value(X509_EXTENSION, (st), (i)) +# define sk_X509_EXTENSION_set(st, i, val) SKM_sk_set(X509_EXTENSION, (st), (i), (val)) +# define sk_X509_EXTENSION_zero(st) SKM_sk_zero(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_push(st, val) SKM_sk_push(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_unshift(st, val) SKM_sk_unshift(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_find(st, val) SKM_sk_find(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_find_ex(st, val) SKM_sk_find_ex(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_delete(st, i) SKM_sk_delete(X509_EXTENSION, (st), (i)) +# define sk_X509_EXTENSION_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_EXTENSION, (st), (ptr)) +# define sk_X509_EXTENSION_insert(st, val, i) SKM_sk_insert(X509_EXTENSION, (st), (val), (i)) +# define sk_X509_EXTENSION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_EXTENSION, (st), (cmp)) +# define sk_X509_EXTENSION_dup(st) SKM_sk_dup(X509_EXTENSION, st) +# define sk_X509_EXTENSION_pop_free(st, free_func) SKM_sk_pop_free(X509_EXTENSION, (st), (free_func)) +# define sk_X509_EXTENSION_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_EXTENSION, (st), (copy_func), (free_func)) +# define sk_X509_EXTENSION_shift(st) SKM_sk_shift(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_pop(st) SKM_sk_pop(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_sort(st) SKM_sk_sort(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_is_sorted(st) SKM_sk_is_sorted(X509_EXTENSION, (st)) +# define sk_X509_INFO_new(cmp) SKM_sk_new(X509_INFO, (cmp)) +# define sk_X509_INFO_new_null() SKM_sk_new_null(X509_INFO) +# define sk_X509_INFO_free(st) SKM_sk_free(X509_INFO, (st)) +# define sk_X509_INFO_num(st) SKM_sk_num(X509_INFO, (st)) +# define sk_X509_INFO_value(st, i) SKM_sk_value(X509_INFO, (st), (i)) +# define sk_X509_INFO_set(st, i, val) SKM_sk_set(X509_INFO, (st), (i), (val)) +# define sk_X509_INFO_zero(st) SKM_sk_zero(X509_INFO, (st)) +# define sk_X509_INFO_push(st, val) SKM_sk_push(X509_INFO, (st), (val)) +# define sk_X509_INFO_unshift(st, val) SKM_sk_unshift(X509_INFO, (st), (val)) +# define sk_X509_INFO_find(st, val) SKM_sk_find(X509_INFO, (st), (val)) +# define sk_X509_INFO_find_ex(st, val) SKM_sk_find_ex(X509_INFO, (st), (val)) +# define sk_X509_INFO_delete(st, i) SKM_sk_delete(X509_INFO, (st), (i)) +# define sk_X509_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_INFO, (st), (ptr)) +# define sk_X509_INFO_insert(st, val, i) SKM_sk_insert(X509_INFO, (st), (val), (i)) +# define sk_X509_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_INFO, (st), (cmp)) +# define sk_X509_INFO_dup(st) SKM_sk_dup(X509_INFO, st) +# define sk_X509_INFO_pop_free(st, free_func) SKM_sk_pop_free(X509_INFO, (st), (free_func)) +# define sk_X509_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_INFO, (st), (copy_func), (free_func)) +# define sk_X509_INFO_shift(st) SKM_sk_shift(X509_INFO, (st)) +# define sk_X509_INFO_pop(st) SKM_sk_pop(X509_INFO, (st)) +# define sk_X509_INFO_sort(st) SKM_sk_sort(X509_INFO, (st)) +# define sk_X509_INFO_is_sorted(st) SKM_sk_is_sorted(X509_INFO, (st)) +# define sk_X509_LOOKUP_new(cmp) SKM_sk_new(X509_LOOKUP, (cmp)) +# define sk_X509_LOOKUP_new_null() SKM_sk_new_null(X509_LOOKUP) +# define sk_X509_LOOKUP_free(st) SKM_sk_free(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_num(st) SKM_sk_num(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_value(st, i) SKM_sk_value(X509_LOOKUP, (st), (i)) +# define sk_X509_LOOKUP_set(st, i, val) SKM_sk_set(X509_LOOKUP, (st), (i), (val)) +# define sk_X509_LOOKUP_zero(st) SKM_sk_zero(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_push(st, val) SKM_sk_push(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_unshift(st, val) SKM_sk_unshift(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_find(st, val) SKM_sk_find(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_find_ex(st, val) SKM_sk_find_ex(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_delete(st, i) SKM_sk_delete(X509_LOOKUP, (st), (i)) +# define sk_X509_LOOKUP_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_LOOKUP, (st), (ptr)) +# define sk_X509_LOOKUP_insert(st, val, i) SKM_sk_insert(X509_LOOKUP, (st), (val), (i)) +# define sk_X509_LOOKUP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_LOOKUP, (st), (cmp)) +# define sk_X509_LOOKUP_dup(st) SKM_sk_dup(X509_LOOKUP, st) +# define sk_X509_LOOKUP_pop_free(st, free_func) SKM_sk_pop_free(X509_LOOKUP, (st), (free_func)) +# define sk_X509_LOOKUP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_LOOKUP, (st), (copy_func), (free_func)) +# define sk_X509_LOOKUP_shift(st) SKM_sk_shift(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_pop(st) SKM_sk_pop(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_sort(st) SKM_sk_sort(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_is_sorted(st) SKM_sk_is_sorted(X509_LOOKUP, (st)) +# define sk_X509_NAME_new(cmp) SKM_sk_new(X509_NAME, (cmp)) +# define sk_X509_NAME_new_null() SKM_sk_new_null(X509_NAME) +# define sk_X509_NAME_free(st) SKM_sk_free(X509_NAME, (st)) +# define sk_X509_NAME_num(st) SKM_sk_num(X509_NAME, (st)) +# define sk_X509_NAME_value(st, i) SKM_sk_value(X509_NAME, (st), (i)) +# define sk_X509_NAME_set(st, i, val) SKM_sk_set(X509_NAME, (st), (i), (val)) +# define sk_X509_NAME_zero(st) SKM_sk_zero(X509_NAME, (st)) +# define sk_X509_NAME_push(st, val) SKM_sk_push(X509_NAME, (st), (val)) +# define sk_X509_NAME_unshift(st, val) SKM_sk_unshift(X509_NAME, (st), (val)) +# define sk_X509_NAME_find(st, val) SKM_sk_find(X509_NAME, (st), (val)) +# define sk_X509_NAME_find_ex(st, val) SKM_sk_find_ex(X509_NAME, (st), (val)) +# define sk_X509_NAME_delete(st, i) SKM_sk_delete(X509_NAME, (st), (i)) +# define sk_X509_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME, (st), (ptr)) +# define sk_X509_NAME_insert(st, val, i) SKM_sk_insert(X509_NAME, (st), (val), (i)) +# define sk_X509_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME, (st), (cmp)) +# define sk_X509_NAME_dup(st) SKM_sk_dup(X509_NAME, st) +# define sk_X509_NAME_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME, (st), (free_func)) +# define sk_X509_NAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME, (st), (copy_func), (free_func)) +# define sk_X509_NAME_shift(st) SKM_sk_shift(X509_NAME, (st)) +# define sk_X509_NAME_pop(st) SKM_sk_pop(X509_NAME, (st)) +# define sk_X509_NAME_sort(st) SKM_sk_sort(X509_NAME, (st)) +# define sk_X509_NAME_is_sorted(st) SKM_sk_is_sorted(X509_NAME, (st)) +# define sk_X509_NAME_ENTRY_new(cmp) SKM_sk_new(X509_NAME_ENTRY, (cmp)) +# define sk_X509_NAME_ENTRY_new_null() SKM_sk_new_null(X509_NAME_ENTRY) +# define sk_X509_NAME_ENTRY_free(st) SKM_sk_free(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_num(st) SKM_sk_num(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_value(st, i) SKM_sk_value(X509_NAME_ENTRY, (st), (i)) +# define sk_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(X509_NAME_ENTRY, (st), (i), (val)) +# define sk_X509_NAME_ENTRY_zero(st) SKM_sk_zero(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_push(st, val) SKM_sk_push(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_find(st, val) SKM_sk_find(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(X509_NAME_ENTRY, (st), (i)) +# define sk_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME_ENTRY, (st), (ptr)) +# define sk_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(X509_NAME_ENTRY, (st), (val), (i)) +# define sk_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME_ENTRY, (st), (cmp)) +# define sk_X509_NAME_ENTRY_dup(st) SKM_sk_dup(X509_NAME_ENTRY, st) +# define sk_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME_ENTRY, (st), (free_func)) +# define sk_X509_NAME_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME_ENTRY, (st), (copy_func), (free_func)) +# define sk_X509_NAME_ENTRY_shift(st) SKM_sk_shift(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_pop(st) SKM_sk_pop(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_sort(st) SKM_sk_sort(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(X509_NAME_ENTRY, (st)) +# define sk_X509_OBJECT_new(cmp) SKM_sk_new(X509_OBJECT, (cmp)) +# define sk_X509_OBJECT_new_null() SKM_sk_new_null(X509_OBJECT) +# define sk_X509_OBJECT_free(st) SKM_sk_free(X509_OBJECT, (st)) +# define sk_X509_OBJECT_num(st) SKM_sk_num(X509_OBJECT, (st)) +# define sk_X509_OBJECT_value(st, i) SKM_sk_value(X509_OBJECT, (st), (i)) +# define sk_X509_OBJECT_set(st, i, val) SKM_sk_set(X509_OBJECT, (st), (i), (val)) +# define sk_X509_OBJECT_zero(st) SKM_sk_zero(X509_OBJECT, (st)) +# define sk_X509_OBJECT_push(st, val) SKM_sk_push(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_unshift(st, val) SKM_sk_unshift(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_find(st, val) SKM_sk_find(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_find_ex(st, val) SKM_sk_find_ex(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_delete(st, i) SKM_sk_delete(X509_OBJECT, (st), (i)) +# define sk_X509_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_OBJECT, (st), (ptr)) +# define sk_X509_OBJECT_insert(st, val, i) SKM_sk_insert(X509_OBJECT, (st), (val), (i)) +# define sk_X509_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_OBJECT, (st), (cmp)) +# define sk_X509_OBJECT_dup(st) SKM_sk_dup(X509_OBJECT, st) +# define sk_X509_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(X509_OBJECT, (st), (free_func)) +# define sk_X509_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_OBJECT, (st), (copy_func), (free_func)) +# define sk_X509_OBJECT_shift(st) SKM_sk_shift(X509_OBJECT, (st)) +# define sk_X509_OBJECT_pop(st) SKM_sk_pop(X509_OBJECT, (st)) +# define sk_X509_OBJECT_sort(st) SKM_sk_sort(X509_OBJECT, (st)) +# define sk_X509_OBJECT_is_sorted(st) SKM_sk_is_sorted(X509_OBJECT, (st)) +# define sk_X509_POLICY_DATA_new(cmp) SKM_sk_new(X509_POLICY_DATA, (cmp)) +# define sk_X509_POLICY_DATA_new_null() SKM_sk_new_null(X509_POLICY_DATA) +# define sk_X509_POLICY_DATA_free(st) SKM_sk_free(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_num(st) SKM_sk_num(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_value(st, i) SKM_sk_value(X509_POLICY_DATA, (st), (i)) +# define sk_X509_POLICY_DATA_set(st, i, val) SKM_sk_set(X509_POLICY_DATA, (st), (i), (val)) +# define sk_X509_POLICY_DATA_zero(st) SKM_sk_zero(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_push(st, val) SKM_sk_push(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_unshift(st, val) SKM_sk_unshift(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_find(st, val) SKM_sk_find(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_delete(st, i) SKM_sk_delete(X509_POLICY_DATA, (st), (i)) +# define sk_X509_POLICY_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_DATA, (st), (ptr)) +# define sk_X509_POLICY_DATA_insert(st, val, i) SKM_sk_insert(X509_POLICY_DATA, (st), (val), (i)) +# define sk_X509_POLICY_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_DATA, (st), (cmp)) +# define sk_X509_POLICY_DATA_dup(st) SKM_sk_dup(X509_POLICY_DATA, st) +# define sk_X509_POLICY_DATA_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_DATA, (st), (free_func)) +# define sk_X509_POLICY_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_DATA, (st), (copy_func), (free_func)) +# define sk_X509_POLICY_DATA_shift(st) SKM_sk_shift(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_pop(st) SKM_sk_pop(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_sort(st) SKM_sk_sort(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_NODE_new(cmp) SKM_sk_new(X509_POLICY_NODE, (cmp)) +# define sk_X509_POLICY_NODE_new_null() SKM_sk_new_null(X509_POLICY_NODE) +# define sk_X509_POLICY_NODE_free(st) SKM_sk_free(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_num(st) SKM_sk_num(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_value(st, i) SKM_sk_value(X509_POLICY_NODE, (st), (i)) +# define sk_X509_POLICY_NODE_set(st, i, val) SKM_sk_set(X509_POLICY_NODE, (st), (i), (val)) +# define sk_X509_POLICY_NODE_zero(st) SKM_sk_zero(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_push(st, val) SKM_sk_push(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_unshift(st, val) SKM_sk_unshift(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_find(st, val) SKM_sk_find(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_delete(st, i) SKM_sk_delete(X509_POLICY_NODE, (st), (i)) +# define sk_X509_POLICY_NODE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_NODE, (st), (ptr)) +# define sk_X509_POLICY_NODE_insert(st, val, i) SKM_sk_insert(X509_POLICY_NODE, (st), (val), (i)) +# define sk_X509_POLICY_NODE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_NODE, (st), (cmp)) +# define sk_X509_POLICY_NODE_dup(st) SKM_sk_dup(X509_POLICY_NODE, st) +# define sk_X509_POLICY_NODE_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_NODE, (st), (free_func)) +# define sk_X509_POLICY_NODE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_NODE, (st), (copy_func), (free_func)) +# define sk_X509_POLICY_NODE_shift(st) SKM_sk_shift(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_pop(st) SKM_sk_pop(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_sort(st) SKM_sk_sort(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_NODE, (st)) +# define sk_X509_PURPOSE_new(cmp) SKM_sk_new(X509_PURPOSE, (cmp)) +# define sk_X509_PURPOSE_new_null() SKM_sk_new_null(X509_PURPOSE) +# define sk_X509_PURPOSE_free(st) SKM_sk_free(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_num(st) SKM_sk_num(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_value(st, i) SKM_sk_value(X509_PURPOSE, (st), (i)) +# define sk_X509_PURPOSE_set(st, i, val) SKM_sk_set(X509_PURPOSE, (st), (i), (val)) +# define sk_X509_PURPOSE_zero(st) SKM_sk_zero(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_push(st, val) SKM_sk_push(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_unshift(st, val) SKM_sk_unshift(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_find(st, val) SKM_sk_find(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_find_ex(st, val) SKM_sk_find_ex(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_delete(st, i) SKM_sk_delete(X509_PURPOSE, (st), (i)) +# define sk_X509_PURPOSE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_PURPOSE, (st), (ptr)) +# define sk_X509_PURPOSE_insert(st, val, i) SKM_sk_insert(X509_PURPOSE, (st), (val), (i)) +# define sk_X509_PURPOSE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_PURPOSE, (st), (cmp)) +# define sk_X509_PURPOSE_dup(st) SKM_sk_dup(X509_PURPOSE, st) +# define sk_X509_PURPOSE_pop_free(st, free_func) SKM_sk_pop_free(X509_PURPOSE, (st), (free_func)) +# define sk_X509_PURPOSE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_PURPOSE, (st), (copy_func), (free_func)) +# define sk_X509_PURPOSE_shift(st) SKM_sk_shift(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_pop(st) SKM_sk_pop(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_sort(st) SKM_sk_sort(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_is_sorted(st) SKM_sk_is_sorted(X509_PURPOSE, (st)) +# define sk_X509_REVOKED_new(cmp) SKM_sk_new(X509_REVOKED, (cmp)) +# define sk_X509_REVOKED_new_null() SKM_sk_new_null(X509_REVOKED) +# define sk_X509_REVOKED_free(st) SKM_sk_free(X509_REVOKED, (st)) +# define sk_X509_REVOKED_num(st) SKM_sk_num(X509_REVOKED, (st)) +# define sk_X509_REVOKED_value(st, i) SKM_sk_value(X509_REVOKED, (st), (i)) +# define sk_X509_REVOKED_set(st, i, val) SKM_sk_set(X509_REVOKED, (st), (i), (val)) +# define sk_X509_REVOKED_zero(st) SKM_sk_zero(X509_REVOKED, (st)) +# define sk_X509_REVOKED_push(st, val) SKM_sk_push(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_unshift(st, val) SKM_sk_unshift(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_find(st, val) SKM_sk_find(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_find_ex(st, val) SKM_sk_find_ex(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_delete(st, i) SKM_sk_delete(X509_REVOKED, (st), (i)) +# define sk_X509_REVOKED_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_REVOKED, (st), (ptr)) +# define sk_X509_REVOKED_insert(st, val, i) SKM_sk_insert(X509_REVOKED, (st), (val), (i)) +# define sk_X509_REVOKED_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_REVOKED, (st), (cmp)) +# define sk_X509_REVOKED_dup(st) SKM_sk_dup(X509_REVOKED, st) +# define sk_X509_REVOKED_pop_free(st, free_func) SKM_sk_pop_free(X509_REVOKED, (st), (free_func)) +# define sk_X509_REVOKED_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_REVOKED, (st), (copy_func), (free_func)) +# define sk_X509_REVOKED_shift(st) SKM_sk_shift(X509_REVOKED, (st)) +# define sk_X509_REVOKED_pop(st) SKM_sk_pop(X509_REVOKED, (st)) +# define sk_X509_REVOKED_sort(st) SKM_sk_sort(X509_REVOKED, (st)) +# define sk_X509_REVOKED_is_sorted(st) SKM_sk_is_sorted(X509_REVOKED, (st)) +# define sk_X509_TRUST_new(cmp) SKM_sk_new(X509_TRUST, (cmp)) +# define sk_X509_TRUST_new_null() SKM_sk_new_null(X509_TRUST) +# define sk_X509_TRUST_free(st) SKM_sk_free(X509_TRUST, (st)) +# define sk_X509_TRUST_num(st) SKM_sk_num(X509_TRUST, (st)) +# define sk_X509_TRUST_value(st, i) SKM_sk_value(X509_TRUST, (st), (i)) +# define sk_X509_TRUST_set(st, i, val) SKM_sk_set(X509_TRUST, (st), (i), (val)) +# define sk_X509_TRUST_zero(st) SKM_sk_zero(X509_TRUST, (st)) +# define sk_X509_TRUST_push(st, val) SKM_sk_push(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_unshift(st, val) SKM_sk_unshift(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_find(st, val) SKM_sk_find(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_find_ex(st, val) SKM_sk_find_ex(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_delete(st, i) SKM_sk_delete(X509_TRUST, (st), (i)) +# define sk_X509_TRUST_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_TRUST, (st), (ptr)) +# define sk_X509_TRUST_insert(st, val, i) SKM_sk_insert(X509_TRUST, (st), (val), (i)) +# define sk_X509_TRUST_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_TRUST, (st), (cmp)) +# define sk_X509_TRUST_dup(st) SKM_sk_dup(X509_TRUST, st) +# define sk_X509_TRUST_pop_free(st, free_func) SKM_sk_pop_free(X509_TRUST, (st), (free_func)) +# define sk_X509_TRUST_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_TRUST, (st), (copy_func), (free_func)) +# define sk_X509_TRUST_shift(st) SKM_sk_shift(X509_TRUST, (st)) +# define sk_X509_TRUST_pop(st) SKM_sk_pop(X509_TRUST, (st)) +# define sk_X509_TRUST_sort(st) SKM_sk_sort(X509_TRUST, (st)) +# define sk_X509_TRUST_is_sorted(st) SKM_sk_is_sorted(X509_TRUST, (st)) +# define sk_X509_VERIFY_PARAM_new(cmp) SKM_sk_new(X509_VERIFY_PARAM, (cmp)) +# define sk_X509_VERIFY_PARAM_new_null() SKM_sk_new_null(X509_VERIFY_PARAM) +# define sk_X509_VERIFY_PARAM_free(st) SKM_sk_free(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_num(st) SKM_sk_num(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_value(st, i) SKM_sk_value(X509_VERIFY_PARAM, (st), (i)) +# define sk_X509_VERIFY_PARAM_set(st, i, val) SKM_sk_set(X509_VERIFY_PARAM, (st), (i), (val)) +# define sk_X509_VERIFY_PARAM_zero(st) SKM_sk_zero(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_push(st, val) SKM_sk_push(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_unshift(st, val) SKM_sk_unshift(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_find(st, val) SKM_sk_find(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_find_ex(st, val) SKM_sk_find_ex(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_delete(st, i) SKM_sk_delete(X509_VERIFY_PARAM, (st), (i)) +# define sk_X509_VERIFY_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_VERIFY_PARAM, (st), (ptr)) +# define sk_X509_VERIFY_PARAM_insert(st, val, i) SKM_sk_insert(X509_VERIFY_PARAM, (st), (val), (i)) +# define sk_X509_VERIFY_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_VERIFY_PARAM, (st), (cmp)) +# define sk_X509_VERIFY_PARAM_dup(st) SKM_sk_dup(X509_VERIFY_PARAM, st) +# define sk_X509_VERIFY_PARAM_pop_free(st, free_func) SKM_sk_pop_free(X509_VERIFY_PARAM, (st), (free_func)) +# define sk_X509_VERIFY_PARAM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_VERIFY_PARAM, (st), (copy_func), (free_func)) +# define sk_X509_VERIFY_PARAM_shift(st) SKM_sk_shift(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_pop(st) SKM_sk_pop(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_sort(st) SKM_sk_sort(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_is_sorted(st) SKM_sk_is_sorted(X509_VERIFY_PARAM, (st)) +# define sk_nid_triple_new(cmp) SKM_sk_new(nid_triple, (cmp)) +# define sk_nid_triple_new_null() SKM_sk_new_null(nid_triple) +# define sk_nid_triple_free(st) SKM_sk_free(nid_triple, (st)) +# define sk_nid_triple_num(st) SKM_sk_num(nid_triple, (st)) +# define sk_nid_triple_value(st, i) SKM_sk_value(nid_triple, (st), (i)) +# define sk_nid_triple_set(st, i, val) SKM_sk_set(nid_triple, (st), (i), (val)) +# define sk_nid_triple_zero(st) SKM_sk_zero(nid_triple, (st)) +# define sk_nid_triple_push(st, val) SKM_sk_push(nid_triple, (st), (val)) +# define sk_nid_triple_unshift(st, val) SKM_sk_unshift(nid_triple, (st), (val)) +# define sk_nid_triple_find(st, val) SKM_sk_find(nid_triple, (st), (val)) +# define sk_nid_triple_find_ex(st, val) SKM_sk_find_ex(nid_triple, (st), (val)) +# define sk_nid_triple_delete(st, i) SKM_sk_delete(nid_triple, (st), (i)) +# define sk_nid_triple_delete_ptr(st, ptr) SKM_sk_delete_ptr(nid_triple, (st), (ptr)) +# define sk_nid_triple_insert(st, val, i) SKM_sk_insert(nid_triple, (st), (val), (i)) +# define sk_nid_triple_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(nid_triple, (st), (cmp)) +# define sk_nid_triple_dup(st) SKM_sk_dup(nid_triple, st) +# define sk_nid_triple_pop_free(st, free_func) SKM_sk_pop_free(nid_triple, (st), (free_func)) +# define sk_nid_triple_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(nid_triple, (st), (copy_func), (free_func)) +# define sk_nid_triple_shift(st) SKM_sk_shift(nid_triple, (st)) +# define sk_nid_triple_pop(st) SKM_sk_pop(nid_triple, (st)) +# define sk_nid_triple_sort(st) SKM_sk_sort(nid_triple, (st)) +# define sk_nid_triple_is_sorted(st) SKM_sk_is_sorted(nid_triple, (st)) +# define sk_void_new(cmp) SKM_sk_new(void, (cmp)) +# define sk_void_new_null() SKM_sk_new_null(void) +# define sk_void_free(st) SKM_sk_free(void, (st)) +# define sk_void_num(st) SKM_sk_num(void, (st)) +# define sk_void_value(st, i) SKM_sk_value(void, (st), (i)) +# define sk_void_set(st, i, val) SKM_sk_set(void, (st), (i), (val)) +# define sk_void_zero(st) SKM_sk_zero(void, (st)) +# define sk_void_push(st, val) SKM_sk_push(void, (st), (val)) +# define sk_void_unshift(st, val) SKM_sk_unshift(void, (st), (val)) +# define sk_void_find(st, val) SKM_sk_find(void, (st), (val)) +# define sk_void_find_ex(st, val) SKM_sk_find_ex(void, (st), (val)) +# define sk_void_delete(st, i) SKM_sk_delete(void, (st), (i)) +# define sk_void_delete_ptr(st, ptr) SKM_sk_delete_ptr(void, (st), (ptr)) +# define sk_void_insert(st, val, i) SKM_sk_insert(void, (st), (val), (i)) +# define sk_void_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(void, (st), (cmp)) +# define sk_void_dup(st) SKM_sk_dup(void, st) +# define sk_void_pop_free(st, free_func) SKM_sk_pop_free(void, (st), (free_func)) +# define sk_void_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(void, (st), (copy_func), (free_func)) +# define sk_void_shift(st) SKM_sk_shift(void, (st)) +# define sk_void_pop(st) SKM_sk_pop(void, (st)) +# define sk_void_sort(st) SKM_sk_sort(void, (st)) +# define sk_void_is_sorted(st) SKM_sk_is_sorted(void, (st)) +# define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)sk_new(CHECKED_SK_CMP_FUNC(char, cmp))) +# define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)sk_new_null()) +# define sk_OPENSSL_STRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_value(st, i) ((OPENSSL_STRING)sk_value(CHECKED_STACK_OF(OPENSSL_STRING, st), i)) +# define sk_OPENSSL_STRING_num(st) SKM_sk_num(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_FREE_FUNC(char, free_func)) +# define sk_OPENSSL_STRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_STRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_COPY_FUNC(char, copy_func), CHECKED_SK_FREE_FUNC(char, free_func))) +# define sk_OPENSSL_STRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val), i) +# define sk_OPENSSL_STRING_free(st) SKM_sk_free(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_STRING, st), i, CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_zero(st) SKM_sk_zero(OPENSSL_STRING, (st)) +# define sk_OPENSSL_STRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_STRING), st), CHECKED_CONST_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_delete(st, i) SKM_sk_delete(OPENSSL_STRING, (st), (i)) +# define sk_OPENSSL_STRING_delete_ptr(st, ptr) (OPENSSL_STRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, ptr)) +# define sk_OPENSSL_STRING_set_cmp_func(st, cmp) \ + ((int (*)(const char * const *,const char * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_CMP_FUNC(char, cmp))) +# define sk_OPENSSL_STRING_dup(st) SKM_sk_dup(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_shift(st) SKM_sk_shift(OPENSSL_STRING, (st)) +# define sk_OPENSSL_STRING_pop(st) (char *)sk_pop(CHECKED_STACK_OF(OPENSSL_STRING, st)) +# define sk_OPENSSL_STRING_sort(st) SKM_sk_sort(OPENSSL_STRING, (st)) +# define sk_OPENSSL_STRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_STRING, (st)) +# define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)sk_new(CHECKED_SK_CMP_FUNC(void, cmp))) +# define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)sk_new_null()) +# define sk_OPENSSL_BLOCK_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_value(st, i) ((OPENSSL_BLOCK)sk_value(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i)) +# define sk_OPENSSL_BLOCK_num(st) SKM_sk_num(OPENSSL_BLOCK, st) +# define sk_OPENSSL_BLOCK_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_FREE_FUNC(void, free_func)) +# define sk_OPENSSL_BLOCK_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_BLOCK) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_COPY_FUNC(void, copy_func), CHECKED_SK_FREE_FUNC(void, free_func))) +# define sk_OPENSSL_BLOCK_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val), i) +# define sk_OPENSSL_BLOCK_free(st) SKM_sk_free(OPENSSL_BLOCK, st) +# define sk_OPENSSL_BLOCK_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i, CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_zero(st) SKM_sk_zero(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_BLOCK_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_BLOCK), st), CHECKED_CONST_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_delete(st, i) SKM_sk_delete(OPENSSL_BLOCK, (st), (i)) +# define sk_OPENSSL_BLOCK_delete_ptr(st, ptr) (OPENSSL_BLOCK *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, ptr)) +# define sk_OPENSSL_BLOCK_set_cmp_func(st, cmp) \ + ((int (*)(const void * const *,const void * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_CMP_FUNC(void, cmp))) +# define sk_OPENSSL_BLOCK_dup(st) SKM_sk_dup(OPENSSL_BLOCK, st) +# define sk_OPENSSL_BLOCK_shift(st) SKM_sk_shift(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_BLOCK_pop(st) (void *)sk_pop(CHECKED_STACK_OF(OPENSSL_BLOCK, st)) +# define sk_OPENSSL_BLOCK_sort(st) SKM_sk_sort(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_BLOCK_is_sorted(st) SKM_sk_is_sorted(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_PSTRING_new(cmp) ((STACK_OF(OPENSSL_PSTRING) *)sk_new(CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) +# define sk_OPENSSL_PSTRING_new_null() ((STACK_OF(OPENSSL_PSTRING) *)sk_new_null()) +# define sk_OPENSSL_PSTRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_value(st, i) ((OPENSSL_PSTRING)sk_value(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i)) +# define sk_OPENSSL_PSTRING_num(st) SKM_sk_num(OPENSSL_PSTRING, st) +# define sk_OPENSSL_PSTRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_FREE_FUNC(OPENSSL_STRING, free_func)) +# define sk_OPENSSL_PSTRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_PSTRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_COPY_FUNC(OPENSSL_STRING, copy_func), CHECKED_SK_FREE_FUNC(OPENSSL_STRING, free_func))) +# define sk_OPENSSL_PSTRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val), i) +# define sk_OPENSSL_PSTRING_free(st) SKM_sk_free(OPENSSL_PSTRING, st) +# define sk_OPENSSL_PSTRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i, CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_zero(st) SKM_sk_zero(OPENSSL_PSTRING, (st)) +# define sk_OPENSSL_PSTRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_PSTRING), st), CHECKED_CONST_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_delete(st, i) SKM_sk_delete(OPENSSL_PSTRING, (st), (i)) +# define sk_OPENSSL_PSTRING_delete_ptr(st, ptr) (OPENSSL_PSTRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, ptr)) +# define sk_OPENSSL_PSTRING_set_cmp_func(st, cmp) \ + ((int (*)(const OPENSSL_STRING * const *,const OPENSSL_STRING * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) +# define sk_OPENSSL_PSTRING_dup(st) SKM_sk_dup(OPENSSL_PSTRING, st) +# define sk_OPENSSL_PSTRING_shift(st) SKM_sk_shift(OPENSSL_PSTRING, (st)) +# define sk_OPENSSL_PSTRING_pop(st) (OPENSSL_STRING *)sk_pop(CHECKED_STACK_OF(OPENSSL_PSTRING, st)) +# define sk_OPENSSL_PSTRING_sort(st) SKM_sk_sort(OPENSSL_PSTRING, (st)) +# define sk_OPENSSL_PSTRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_PSTRING, (st)) +# define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ACCESS_DESCRIPTION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ACCESS_DESCRIPTION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ACCESS_DESCRIPTION(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ACCESS_DESCRIPTION, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ACCESS_DESCRIPTION(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ACCESS_DESCRIPTION, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_UTF8STRING, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_UTF8STRING, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_UTF8STRING(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_UTF8STRING, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_UTF8STRING(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_UTF8STRING, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_DIST_POINT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(DIST_POINT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_DIST_POINT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(DIST_POINT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_DIST_POINT(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(DIST_POINT, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_DIST_POINT(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(DIST_POINT, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ESS_CERT_ID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ESS_CERT_ID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ESS_CERT_ID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ESS_CERT_ID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ESS_CERT_ID(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ESS_CERT_ID, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ESS_CERT_ID(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ESS_CERT_ID, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_EVP_MD(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(EVP_MD, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_EVP_MD(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(EVP_MD, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_EVP_MD(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(EVP_MD, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_EVP_MD(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(EVP_MD, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_GENERAL_NAME(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(GENERAL_NAME, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_GENERAL_NAME(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(GENERAL_NAME, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_GENERAL_NAME(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(GENERAL_NAME, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_GENERAL_NAME(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(GENERAL_NAME, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_OCSP_ONEREQ(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(OCSP_ONEREQ, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_OCSP_ONEREQ(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(OCSP_ONEREQ, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_OCSP_ONEREQ(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(OCSP_ONEREQ, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_OCSP_ONEREQ(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(OCSP_ONEREQ, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(OCSP_SINGLERESP, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(OCSP_SINGLERESP, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_OCSP_SINGLERESP(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(OCSP_SINGLERESP, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_OCSP_SINGLERESP(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(OCSP_SINGLERESP, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS12_SAFEBAG, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS12_SAFEBAG, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS12_SAFEBAG(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS12_SAFEBAG, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS12_SAFEBAG(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS12_SAFEBAG, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS7(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS7, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS7(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS7, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS7(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS7, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS7(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS7, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS7_RECIP_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS7_RECIP_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS7_RECIP_INFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS7_RECIP_INFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS7_RECIP_INFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS7_RECIP_INFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS7_SIGNER_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS7_SIGNER_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS7_SIGNER_INFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS7_SIGNER_INFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS7_SIGNER_INFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS7_SIGNER_INFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_POLICYINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(POLICYINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_POLICYINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(POLICYINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_POLICYINFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(POLICYINFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_POLICYINFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(POLICYINFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_POLICYQUALINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(POLICYQUALINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_POLICYQUALINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(POLICYQUALINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_POLICYQUALINFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(POLICYQUALINFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_POLICYQUALINFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(POLICYQUALINFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_SXNETID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(SXNETID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_SXNETID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(SXNETID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_SXNETID(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(SXNETID, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_SXNETID(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(SXNETID, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_ALGOR(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_ALGOR, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_ALGOR(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_ALGOR, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_ALGOR(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_ALGOR, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_ALGOR(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_ALGOR, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_ATTRIBUTE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_ATTRIBUTE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_ATTRIBUTE(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_ATTRIBUTE, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_ATTRIBUTE(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_ATTRIBUTE, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_CRL(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_CRL, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_CRL(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_CRL, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_CRL(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_CRL, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_CRL(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_CRL, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_EXTENSION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_EXTENSION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_EXTENSION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_EXTENSION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_EXTENSION(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_EXTENSION, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_EXTENSION(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_EXTENSION, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_NAME_ENTRY, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_NAME_ENTRY, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_NAME_ENTRY(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_NAME_ENTRY, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_NAME_ENTRY(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_NAME_ENTRY, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_REVOKED(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_REVOKED, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_REVOKED(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_REVOKED, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_REVOKED(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_REVOKED, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_REVOKED(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_REVOKED, (buf), (len), (d2i_func), (free_func)) +# define PKCS12_decrypt_d2i_PKCS12_SAFEBAG(algor, d2i_func, free_func, pass, passlen, oct, seq) \ + SKM_PKCS12_decrypt_d2i(PKCS12_SAFEBAG, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) +# define PKCS12_decrypt_d2i_PKCS7(algor, d2i_func, free_func, pass, passlen, oct, seq) \ + SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) +# define lh_ADDED_OBJ_new() LHM_lh_new(ADDED_OBJ,added_obj) +# define lh_ADDED_OBJ_insert(lh,inst) LHM_lh_insert(ADDED_OBJ,lh,inst) +# define lh_ADDED_OBJ_retrieve(lh,inst) LHM_lh_retrieve(ADDED_OBJ,lh,inst) +# define lh_ADDED_OBJ_delete(lh,inst) LHM_lh_delete(ADDED_OBJ,lh,inst) +# define lh_ADDED_OBJ_doall(lh,fn) LHM_lh_doall(ADDED_OBJ,lh,fn) +# define lh_ADDED_OBJ_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ADDED_OBJ,lh,fn,arg_type,arg) +# define lh_ADDED_OBJ_error(lh) LHM_lh_error(ADDED_OBJ,lh) +# define lh_ADDED_OBJ_num_items(lh) LHM_lh_num_items(ADDED_OBJ,lh) +# define lh_ADDED_OBJ_down_load(lh) LHM_lh_down_load(ADDED_OBJ,lh) +# define lh_ADDED_OBJ_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ADDED_OBJ,lh,out) +# define lh_ADDED_OBJ_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ADDED_OBJ,lh,out) +# define lh_ADDED_OBJ_stats_bio(lh,out) \ + LHM_lh_stats_bio(ADDED_OBJ,lh,out) +# define lh_ADDED_OBJ_free(lh) LHM_lh_free(ADDED_OBJ,lh) +# define lh_APP_INFO_new() LHM_lh_new(APP_INFO,app_info) +# define lh_APP_INFO_insert(lh,inst) LHM_lh_insert(APP_INFO,lh,inst) +# define lh_APP_INFO_retrieve(lh,inst) LHM_lh_retrieve(APP_INFO,lh,inst) +# define lh_APP_INFO_delete(lh,inst) LHM_lh_delete(APP_INFO,lh,inst) +# define lh_APP_INFO_doall(lh,fn) LHM_lh_doall(APP_INFO,lh,fn) +# define lh_APP_INFO_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(APP_INFO,lh,fn,arg_type,arg) +# define lh_APP_INFO_error(lh) LHM_lh_error(APP_INFO,lh) +# define lh_APP_INFO_num_items(lh) LHM_lh_num_items(APP_INFO,lh) +# define lh_APP_INFO_down_load(lh) LHM_lh_down_load(APP_INFO,lh) +# define lh_APP_INFO_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(APP_INFO,lh,out) +# define lh_APP_INFO_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(APP_INFO,lh,out) +# define lh_APP_INFO_stats_bio(lh,out) \ + LHM_lh_stats_bio(APP_INFO,lh,out) +# define lh_APP_INFO_free(lh) LHM_lh_free(APP_INFO,lh) +# define lh_CONF_VALUE_new() LHM_lh_new(CONF_VALUE,conf_value) +# define lh_CONF_VALUE_insert(lh,inst) LHM_lh_insert(CONF_VALUE,lh,inst) +# define lh_CONF_VALUE_retrieve(lh,inst) LHM_lh_retrieve(CONF_VALUE,lh,inst) +# define lh_CONF_VALUE_delete(lh,inst) LHM_lh_delete(CONF_VALUE,lh,inst) +# define lh_CONF_VALUE_doall(lh,fn) LHM_lh_doall(CONF_VALUE,lh,fn) +# define lh_CONF_VALUE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(CONF_VALUE,lh,fn,arg_type,arg) +# define lh_CONF_VALUE_error(lh) LHM_lh_error(CONF_VALUE,lh) +# define lh_CONF_VALUE_num_items(lh) LHM_lh_num_items(CONF_VALUE,lh) +# define lh_CONF_VALUE_down_load(lh) LHM_lh_down_load(CONF_VALUE,lh) +# define lh_CONF_VALUE_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(CONF_VALUE,lh,out) +# define lh_CONF_VALUE_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(CONF_VALUE,lh,out) +# define lh_CONF_VALUE_stats_bio(lh,out) \ + LHM_lh_stats_bio(CONF_VALUE,lh,out) +# define lh_CONF_VALUE_free(lh) LHM_lh_free(CONF_VALUE,lh) +# define lh_ENGINE_PILE_new() LHM_lh_new(ENGINE_PILE,engine_pile) +# define lh_ENGINE_PILE_insert(lh,inst) LHM_lh_insert(ENGINE_PILE,lh,inst) +# define lh_ENGINE_PILE_retrieve(lh,inst) LHM_lh_retrieve(ENGINE_PILE,lh,inst) +# define lh_ENGINE_PILE_delete(lh,inst) LHM_lh_delete(ENGINE_PILE,lh,inst) +# define lh_ENGINE_PILE_doall(lh,fn) LHM_lh_doall(ENGINE_PILE,lh,fn) +# define lh_ENGINE_PILE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ENGINE_PILE,lh,fn,arg_type,arg) +# define lh_ENGINE_PILE_error(lh) LHM_lh_error(ENGINE_PILE,lh) +# define lh_ENGINE_PILE_num_items(lh) LHM_lh_num_items(ENGINE_PILE,lh) +# define lh_ENGINE_PILE_down_load(lh) LHM_lh_down_load(ENGINE_PILE,lh) +# define lh_ENGINE_PILE_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ENGINE_PILE,lh,out) +# define lh_ENGINE_PILE_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ENGINE_PILE,lh,out) +# define lh_ENGINE_PILE_stats_bio(lh,out) \ + LHM_lh_stats_bio(ENGINE_PILE,lh,out) +# define lh_ENGINE_PILE_free(lh) LHM_lh_free(ENGINE_PILE,lh) +# define lh_ERR_STATE_new() LHM_lh_new(ERR_STATE,err_state) +# define lh_ERR_STATE_insert(lh,inst) LHM_lh_insert(ERR_STATE,lh,inst) +# define lh_ERR_STATE_retrieve(lh,inst) LHM_lh_retrieve(ERR_STATE,lh,inst) +# define lh_ERR_STATE_delete(lh,inst) LHM_lh_delete(ERR_STATE,lh,inst) +# define lh_ERR_STATE_doall(lh,fn) LHM_lh_doall(ERR_STATE,lh,fn) +# define lh_ERR_STATE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ERR_STATE,lh,fn,arg_type,arg) +# define lh_ERR_STATE_error(lh) LHM_lh_error(ERR_STATE,lh) +# define lh_ERR_STATE_num_items(lh) LHM_lh_num_items(ERR_STATE,lh) +# define lh_ERR_STATE_down_load(lh) LHM_lh_down_load(ERR_STATE,lh) +# define lh_ERR_STATE_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ERR_STATE,lh,out) +# define lh_ERR_STATE_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ERR_STATE,lh,out) +# define lh_ERR_STATE_stats_bio(lh,out) \ + LHM_lh_stats_bio(ERR_STATE,lh,out) +# define lh_ERR_STATE_free(lh) LHM_lh_free(ERR_STATE,lh) +# define lh_ERR_STRING_DATA_new() LHM_lh_new(ERR_STRING_DATA,err_string_data) +# define lh_ERR_STRING_DATA_insert(lh,inst) LHM_lh_insert(ERR_STRING_DATA,lh,inst) +# define lh_ERR_STRING_DATA_retrieve(lh,inst) LHM_lh_retrieve(ERR_STRING_DATA,lh,inst) +# define lh_ERR_STRING_DATA_delete(lh,inst) LHM_lh_delete(ERR_STRING_DATA,lh,inst) +# define lh_ERR_STRING_DATA_doall(lh,fn) LHM_lh_doall(ERR_STRING_DATA,lh,fn) +# define lh_ERR_STRING_DATA_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ERR_STRING_DATA,lh,fn,arg_type,arg) +# define lh_ERR_STRING_DATA_error(lh) LHM_lh_error(ERR_STRING_DATA,lh) +# define lh_ERR_STRING_DATA_num_items(lh) LHM_lh_num_items(ERR_STRING_DATA,lh) +# define lh_ERR_STRING_DATA_down_load(lh) LHM_lh_down_load(ERR_STRING_DATA,lh) +# define lh_ERR_STRING_DATA_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ERR_STRING_DATA,lh,out) +# define lh_ERR_STRING_DATA_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ERR_STRING_DATA,lh,out) +# define lh_ERR_STRING_DATA_stats_bio(lh,out) \ + LHM_lh_stats_bio(ERR_STRING_DATA,lh,out) +# define lh_ERR_STRING_DATA_free(lh) LHM_lh_free(ERR_STRING_DATA,lh) +# define lh_EX_CLASS_ITEM_new() LHM_lh_new(EX_CLASS_ITEM,ex_class_item) +# define lh_EX_CLASS_ITEM_insert(lh,inst) LHM_lh_insert(EX_CLASS_ITEM,lh,inst) +# define lh_EX_CLASS_ITEM_retrieve(lh,inst) LHM_lh_retrieve(EX_CLASS_ITEM,lh,inst) +# define lh_EX_CLASS_ITEM_delete(lh,inst) LHM_lh_delete(EX_CLASS_ITEM,lh,inst) +# define lh_EX_CLASS_ITEM_doall(lh,fn) LHM_lh_doall(EX_CLASS_ITEM,lh,fn) +# define lh_EX_CLASS_ITEM_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(EX_CLASS_ITEM,lh,fn,arg_type,arg) +# define lh_EX_CLASS_ITEM_error(lh) LHM_lh_error(EX_CLASS_ITEM,lh) +# define lh_EX_CLASS_ITEM_num_items(lh) LHM_lh_num_items(EX_CLASS_ITEM,lh) +# define lh_EX_CLASS_ITEM_down_load(lh) LHM_lh_down_load(EX_CLASS_ITEM,lh) +# define lh_EX_CLASS_ITEM_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(EX_CLASS_ITEM,lh,out) +# define lh_EX_CLASS_ITEM_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(EX_CLASS_ITEM,lh,out) +# define lh_EX_CLASS_ITEM_stats_bio(lh,out) \ + LHM_lh_stats_bio(EX_CLASS_ITEM,lh,out) +# define lh_EX_CLASS_ITEM_free(lh) LHM_lh_free(EX_CLASS_ITEM,lh) +# define lh_FUNCTION_new() LHM_lh_new(FUNCTION,function) +# define lh_FUNCTION_insert(lh,inst) LHM_lh_insert(FUNCTION,lh,inst) +# define lh_FUNCTION_retrieve(lh,inst) LHM_lh_retrieve(FUNCTION,lh,inst) +# define lh_FUNCTION_delete(lh,inst) LHM_lh_delete(FUNCTION,lh,inst) +# define lh_FUNCTION_doall(lh,fn) LHM_lh_doall(FUNCTION,lh,fn) +# define lh_FUNCTION_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(FUNCTION,lh,fn,arg_type,arg) +# define lh_FUNCTION_error(lh) LHM_lh_error(FUNCTION,lh) +# define lh_FUNCTION_num_items(lh) LHM_lh_num_items(FUNCTION,lh) +# define lh_FUNCTION_down_load(lh) LHM_lh_down_load(FUNCTION,lh) +# define lh_FUNCTION_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(FUNCTION,lh,out) +# define lh_FUNCTION_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(FUNCTION,lh,out) +# define lh_FUNCTION_stats_bio(lh,out) \ + LHM_lh_stats_bio(FUNCTION,lh,out) +# define lh_FUNCTION_free(lh) LHM_lh_free(FUNCTION,lh) +# define lh_MEM_new() LHM_lh_new(MEM,mem) +# define lh_MEM_insert(lh,inst) LHM_lh_insert(MEM,lh,inst) +# define lh_MEM_retrieve(lh,inst) LHM_lh_retrieve(MEM,lh,inst) +# define lh_MEM_delete(lh,inst) LHM_lh_delete(MEM,lh,inst) +# define lh_MEM_doall(lh,fn) LHM_lh_doall(MEM,lh,fn) +# define lh_MEM_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(MEM,lh,fn,arg_type,arg) +# define lh_MEM_error(lh) LHM_lh_error(MEM,lh) +# define lh_MEM_num_items(lh) LHM_lh_num_items(MEM,lh) +# define lh_MEM_down_load(lh) LHM_lh_down_load(MEM,lh) +# define lh_MEM_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(MEM,lh,out) +# define lh_MEM_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(MEM,lh,out) +# define lh_MEM_stats_bio(lh,out) \ + LHM_lh_stats_bio(MEM,lh,out) +# define lh_MEM_free(lh) LHM_lh_free(MEM,lh) +# define lh_OBJ_NAME_new() LHM_lh_new(OBJ_NAME,obj_name) +# define lh_OBJ_NAME_insert(lh,inst) LHM_lh_insert(OBJ_NAME,lh,inst) +# define lh_OBJ_NAME_retrieve(lh,inst) LHM_lh_retrieve(OBJ_NAME,lh,inst) +# define lh_OBJ_NAME_delete(lh,inst) LHM_lh_delete(OBJ_NAME,lh,inst) +# define lh_OBJ_NAME_doall(lh,fn) LHM_lh_doall(OBJ_NAME,lh,fn) +# define lh_OBJ_NAME_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OBJ_NAME,lh,fn,arg_type,arg) +# define lh_OBJ_NAME_error(lh) LHM_lh_error(OBJ_NAME,lh) +# define lh_OBJ_NAME_num_items(lh) LHM_lh_num_items(OBJ_NAME,lh) +# define lh_OBJ_NAME_down_load(lh) LHM_lh_down_load(OBJ_NAME,lh) +# define lh_OBJ_NAME_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(OBJ_NAME,lh,out) +# define lh_OBJ_NAME_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(OBJ_NAME,lh,out) +# define lh_OBJ_NAME_stats_bio(lh,out) \ + LHM_lh_stats_bio(OBJ_NAME,lh,out) +# define lh_OBJ_NAME_free(lh) LHM_lh_free(OBJ_NAME,lh) +# define lh_OPENSSL_CSTRING_new() LHM_lh_new(OPENSSL_CSTRING,openssl_cstring) +# define lh_OPENSSL_CSTRING_insert(lh,inst) LHM_lh_insert(OPENSSL_CSTRING,lh,inst) +# define lh_OPENSSL_CSTRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_CSTRING,lh,inst) +# define lh_OPENSSL_CSTRING_delete(lh,inst) LHM_lh_delete(OPENSSL_CSTRING,lh,inst) +# define lh_OPENSSL_CSTRING_doall(lh,fn) LHM_lh_doall(OPENSSL_CSTRING,lh,fn) +# define lh_OPENSSL_CSTRING_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OPENSSL_CSTRING,lh,fn,arg_type,arg) +# define lh_OPENSSL_CSTRING_error(lh) LHM_lh_error(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_CSTRING_num_items(lh) LHM_lh_num_items(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_CSTRING_down_load(lh) LHM_lh_down_load(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_CSTRING_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(OPENSSL_CSTRING,lh,out) +# define lh_OPENSSL_CSTRING_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(OPENSSL_CSTRING,lh,out) +# define lh_OPENSSL_CSTRING_stats_bio(lh,out) \ + LHM_lh_stats_bio(OPENSSL_CSTRING,lh,out) +# define lh_OPENSSL_CSTRING_free(lh) LHM_lh_free(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_STRING_new() LHM_lh_new(OPENSSL_STRING,openssl_string) +# define lh_OPENSSL_STRING_insert(lh,inst) LHM_lh_insert(OPENSSL_STRING,lh,inst) +# define lh_OPENSSL_STRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_STRING,lh,inst) +# define lh_OPENSSL_STRING_delete(lh,inst) LHM_lh_delete(OPENSSL_STRING,lh,inst) +# define lh_OPENSSL_STRING_doall(lh,fn) LHM_lh_doall(OPENSSL_STRING,lh,fn) +# define lh_OPENSSL_STRING_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OPENSSL_STRING,lh,fn,arg_type,arg) +# define lh_OPENSSL_STRING_error(lh) LHM_lh_error(OPENSSL_STRING,lh) +# define lh_OPENSSL_STRING_num_items(lh) LHM_lh_num_items(OPENSSL_STRING,lh) +# define lh_OPENSSL_STRING_down_load(lh) LHM_lh_down_load(OPENSSL_STRING,lh) +# define lh_OPENSSL_STRING_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(OPENSSL_STRING,lh,out) +# define lh_OPENSSL_STRING_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(OPENSSL_STRING,lh,out) +# define lh_OPENSSL_STRING_stats_bio(lh,out) \ + LHM_lh_stats_bio(OPENSSL_STRING,lh,out) +# define lh_OPENSSL_STRING_free(lh) LHM_lh_free(OPENSSL_STRING,lh) +# define lh_SSL_SESSION_new() LHM_lh_new(SSL_SESSION,ssl_session) +# define lh_SSL_SESSION_insert(lh,inst) LHM_lh_insert(SSL_SESSION,lh,inst) +# define lh_SSL_SESSION_retrieve(lh,inst) LHM_lh_retrieve(SSL_SESSION,lh,inst) +# define lh_SSL_SESSION_delete(lh,inst) LHM_lh_delete(SSL_SESSION,lh,inst) +# define lh_SSL_SESSION_doall(lh,fn) LHM_lh_doall(SSL_SESSION,lh,fn) +# define lh_SSL_SESSION_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(SSL_SESSION,lh,fn,arg_type,arg) +# define lh_SSL_SESSION_error(lh) LHM_lh_error(SSL_SESSION,lh) +# define lh_SSL_SESSION_num_items(lh) LHM_lh_num_items(SSL_SESSION,lh) +# define lh_SSL_SESSION_down_load(lh) LHM_lh_down_load(SSL_SESSION,lh) +# define lh_SSL_SESSION_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(SSL_SESSION,lh,out) +# define lh_SSL_SESSION_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(SSL_SESSION,lh,out) +# define lh_SSL_SESSION_stats_bio(lh,out) \ + LHM_lh_stats_bio(SSL_SESSION,lh,out) +# define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh) +#ifdef __cplusplus +} +#endif +#endif /* !defined HEADER_SAFESTACK_H */ diff --git a/openssl/1.0/include/openssl/seed.h b/openssl/1.0/include/openssl/seed.h new file mode 100644 index 0000000..8cbf0d9 --- /dev/null +++ b/openssl/1.0/include/openssl/seed.h @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2007 KISA(Korea Information Security Agency). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Neither the name of author nor the names of its contributors may + * be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +/* ==================================================================== + * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_SEED_H +# define HEADER_SEED_H + +# include +# include +# include + +# ifdef OPENSSL_NO_SEED +# error SEED is disabled. +# endif + +/* look whether we need 'long' to get 32 bits */ +# ifdef AES_LONG +# ifndef SEED_LONG +# define SEED_LONG 1 +# endif +# endif + +# if !defined(NO_SYS_TYPES_H) +# include +# endif + +# define SEED_BLOCK_SIZE 16 +# define SEED_KEY_LENGTH 16 + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct seed_key_st { +# ifdef SEED_LONG + unsigned long data[32]; +# else + unsigned int data[32]; +# endif +} SEED_KEY_SCHEDULE; + +# ifdef OPENSSL_FIPS +void private_SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], + SEED_KEY_SCHEDULE *ks); +# endif +void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], + SEED_KEY_SCHEDULE *ks); + +void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); +void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); + +void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, + const SEED_KEY_SCHEDULE *ks, int enc); +void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, + const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int enc); +void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num, + int enc); +void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_SEED_H */ diff --git a/openssl/1.0/include/openssl/sha.h b/openssl/1.0/include/openssl/sha.h new file mode 100644 index 0000000..e5169e4 --- /dev/null +++ b/openssl/1.0/include/openssl/sha.h @@ -0,0 +1,214 @@ +/* crypto/sha/sha.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_SHA_H +# define HEADER_SHA_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# if defined(OPENSSL_NO_SHA) || (defined(OPENSSL_NO_SHA0) && defined(OPENSSL_NO_SHA1)) +# error SHA is disabled. +# endif + +# if defined(OPENSSL_FIPS) +# define FIPS_SHA_SIZE_T size_t +# endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! SHA_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define SHA_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define SHA_LONG unsigned long +# define SHA_LONG_LOG2 3 +# else +# define SHA_LONG unsigned int +# endif + +# define SHA_LBLOCK 16 +# define SHA_CBLOCK (SHA_LBLOCK*4)/* SHA treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ +# define SHA_LAST_BLOCK (SHA_CBLOCK-8) +# define SHA_DIGEST_LENGTH 20 + +typedef struct SHAstate_st { + SHA_LONG h0, h1, h2, h3, h4; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num; +} SHA_CTX; + +# ifndef OPENSSL_NO_SHA0 +# ifdef OPENSSL_FIPS +int private_SHA_Init(SHA_CTX *c); +# endif +int SHA_Init(SHA_CTX *c); +int SHA_Update(SHA_CTX *c, const void *data, size_t len); +int SHA_Final(unsigned char *md, SHA_CTX *c); +unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); +void SHA_Transform(SHA_CTX *c, const unsigned char *data); +# endif +# ifndef OPENSSL_NO_SHA1 +# ifdef OPENSSL_FIPS +int private_SHA1_Init(SHA_CTX *c); +# endif +int SHA1_Init(SHA_CTX *c); +int SHA1_Update(SHA_CTX *c, const void *data, size_t len); +int SHA1_Final(unsigned char *md, SHA_CTX *c); +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); +void SHA1_Transform(SHA_CTX *c, const unsigned char *data); +# endif + +# define SHA256_CBLOCK (SHA_LBLOCK*4)/* SHA-256 treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ +# define SHA224_DIGEST_LENGTH 28 +# define SHA256_DIGEST_LENGTH 32 + +typedef struct SHA256state_st { + SHA_LONG h[8]; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num, md_len; +} SHA256_CTX; + +# ifndef OPENSSL_NO_SHA256 +# ifdef OPENSSL_FIPS +int private_SHA224_Init(SHA256_CTX *c); +int private_SHA256_Init(SHA256_CTX *c); +# endif +int SHA224_Init(SHA256_CTX *c); +int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA224_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); +int SHA256_Init(SHA256_CTX *c); +int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA256_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); +void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); +# endif + +# define SHA384_DIGEST_LENGTH 48 +# define SHA512_DIGEST_LENGTH 64 + +# ifndef OPENSSL_NO_SHA512 +/* + * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 + * being exactly 64-bit wide. See Implementation Notes in sha512.c + * for further details. + */ +/* + * SHA-512 treats input data as a + * contiguous array of 64 bit + * wide big-endian values. + */ +# define SHA512_CBLOCK (SHA_LBLOCK*8) +# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) +# define SHA_LONG64 unsigned __int64 +# define U64(C) C##UI64 +# elif defined(__arch64__) +# define SHA_LONG64 unsigned long +# define U64(C) C##UL +# else +# define SHA_LONG64 unsigned long long +# define U64(C) C##ULL +# endif + +typedef struct SHA512state_st { + SHA_LONG64 h[8]; + SHA_LONG64 Nl, Nh; + union { + SHA_LONG64 d[SHA_LBLOCK]; + unsigned char p[SHA512_CBLOCK]; + } u; + unsigned int num, md_len; +} SHA512_CTX; +# endif + +# ifndef OPENSSL_NO_SHA512 +# ifdef OPENSSL_FIPS +int private_SHA384_Init(SHA512_CTX *c); +int private_SHA512_Init(SHA512_CTX *c); +# endif +int SHA384_Init(SHA512_CTX *c); +int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA384_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); +int SHA512_Init(SHA512_CTX *c); +int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA512_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); +void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/srp.h b/openssl/1.0/include/openssl/srp.h new file mode 100644 index 0000000..028892a --- /dev/null +++ b/openssl/1.0/include/openssl/srp.h @@ -0,0 +1,179 @@ +/* crypto/srp/srp.h */ +/* + * Written by Christophe Renou (christophe.renou@edelweb.fr) with the + * precious help of Peter Sylvester (peter.sylvester@edelweb.fr) for the + * EdelKey project and contributed to the OpenSSL project 2004. + */ +/* ==================================================================== + * Copyright (c) 2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef __SRP_H__ +# define __SRP_H__ + +# ifndef OPENSSL_NO_SRP + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# include +# include +# include + +typedef struct SRP_gN_cache_st { + char *b64_bn; + BIGNUM *bn; +} SRP_gN_cache; + + +DECLARE_STACK_OF(SRP_gN_cache) + +typedef struct SRP_user_pwd_st { + /* Owned by us. */ + char *id; + BIGNUM *s; + BIGNUM *v; + /* Not owned by us. */ + const BIGNUM *g; + const BIGNUM *N; + /* Owned by us. */ + char *info; +} SRP_user_pwd; + +DECLARE_STACK_OF(SRP_user_pwd) + +void SRP_user_pwd_free(SRP_user_pwd *user_pwd); + +typedef struct SRP_VBASE_st { + STACK_OF(SRP_user_pwd) *users_pwd; + STACK_OF(SRP_gN_cache) *gN_cache; +/* to simulate a user */ + char *seed_key; + BIGNUM *default_g; + BIGNUM *default_N; +} SRP_VBASE; + +/* + * Structure interne pour retenir les couples N et g + */ +typedef struct SRP_gN_st { + char *id; + BIGNUM *g; + BIGNUM *N; +} SRP_gN; + +DECLARE_STACK_OF(SRP_gN) + +SRP_VBASE *SRP_VBASE_new(char *seed_key); +int SRP_VBASE_free(SRP_VBASE *vb); +int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); + +/* This method ignores the configured seed and fails for an unknown user. */ +SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); +/* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ +SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); + +char *SRP_create_verifier(const char *user, const char *pass, char **salt, + char **verifier, const char *N, const char *g); +int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, + BIGNUM **verifier, BIGNUM *N, BIGNUM *g); + +# define SRP_NO_ERROR 0 +# define SRP_ERR_VBASE_INCOMPLETE_FILE 1 +# define SRP_ERR_VBASE_BN_LIB 2 +# define SRP_ERR_OPEN_FILE 3 +# define SRP_ERR_MEMORY 4 + +# define DB_srptype 0 +# define DB_srpverifier 1 +# define DB_srpsalt 2 +# define DB_srpid 3 +# define DB_srpgN 4 +# define DB_srpinfo 5 +# undef DB_NUMBER +# define DB_NUMBER 6 + +# define DB_SRP_INDEX 'I' +# define DB_SRP_VALID 'V' +# define DB_SRP_REVOKED 'R' +# define DB_SRP_MODIF 'v' + +/* see srp.c */ +char *SRP_check_known_gN_param(BIGNUM *g, BIGNUM *N); +SRP_gN *SRP_get_default_gN(const char *id); + +/* server side .... */ +BIGNUM *SRP_Calc_server_key(BIGNUM *A, BIGNUM *v, BIGNUM *u, BIGNUM *b, + BIGNUM *N); +BIGNUM *SRP_Calc_B(BIGNUM *b, BIGNUM *N, BIGNUM *g, BIGNUM *v); +int SRP_Verify_A_mod_N(BIGNUM *A, BIGNUM *N); +BIGNUM *SRP_Calc_u(BIGNUM *A, BIGNUM *B, BIGNUM *N); + +/* client side .... */ +BIGNUM *SRP_Calc_x(BIGNUM *s, const char *user, const char *pass); +BIGNUM *SRP_Calc_A(BIGNUM *a, BIGNUM *N, BIGNUM *g); +BIGNUM *SRP_Calc_client_key(BIGNUM *N, BIGNUM *B, BIGNUM *g, BIGNUM *x, + BIGNUM *a, BIGNUM *u); +int SRP_Verify_B_mod_N(BIGNUM *B, BIGNUM *N); + +# define SRP_MINIMAL_N 1024 + +#ifdef __cplusplus +} +#endif + +# endif +#endif diff --git a/openssl/1.0/include/openssl/srtp.h b/openssl/1.0/include/openssl/srtp.h new file mode 100644 index 0000000..2279c32 --- /dev/null +++ b/openssl/1.0/include/openssl/srtp.h @@ -0,0 +1,147 @@ +/* ssl/srtp.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* + * DTLS code by Eric Rescorla + * + * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc. + */ + +#ifndef HEADER_D1_SRTP_H +# define HEADER_D1_SRTP_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define SRTP_AES128_CM_SHA1_80 0x0001 +# define SRTP_AES128_CM_SHA1_32 0x0002 +# define SRTP_AES128_F8_SHA1_80 0x0003 +# define SRTP_AES128_F8_SHA1_32 0x0004 +# define SRTP_NULL_SHA1_80 0x0005 +# define SRTP_NULL_SHA1_32 0x0006 + +# ifndef OPENSSL_NO_SRTP + +int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); +int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles); + +STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); +SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); + +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/ssl.h b/openssl/1.0/include/openssl/ssl.h new file mode 100644 index 0000000..4bc1f4e --- /dev/null +++ b/openssl/1.0/include/openssl/ssl.h @@ -0,0 +1,3164 @@ +/* ssl/ssl.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_SSL_H +# define HEADER_SSL_H + +# include + +# ifndef OPENSSL_NO_COMP +# include +# endif +# ifndef OPENSSL_NO_BIO +# include +# endif +# ifndef OPENSSL_NO_DEPRECATED +# ifndef OPENSSL_NO_X509 +# include +# endif +# include +# include +# include +# endif +# include +# include + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SSLeay version number for ASN.1 encoding of the session information */ +/*- + * Version 0 - initial version + * Version 1 - added the optional peer certificate + */ +# define SSL_SESSION_ASN1_VERSION 0x0001 + +/* text strings for the ciphers */ +# define SSL_TXT_NULL_WITH_MD5 SSL2_TXT_NULL_WITH_MD5 +# define SSL_TXT_RC4_128_WITH_MD5 SSL2_TXT_RC4_128_WITH_MD5 +# define SSL_TXT_RC4_128_EXPORT40_WITH_MD5 SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 +# define SSL_TXT_RC2_128_CBC_WITH_MD5 SSL2_TXT_RC2_128_CBC_WITH_MD5 +# define SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 +# define SSL_TXT_IDEA_128_CBC_WITH_MD5 SSL2_TXT_IDEA_128_CBC_WITH_MD5 +# define SSL_TXT_DES_64_CBC_WITH_MD5 SSL2_TXT_DES_64_CBC_WITH_MD5 +# define SSL_TXT_DES_64_CBC_WITH_SHA SSL2_TXT_DES_64_CBC_WITH_SHA +# define SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 +# define SSL_TXT_DES_192_EDE3_CBC_WITH_SHA SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA + +/* + * VRS Additional Kerberos5 entries + */ +# define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA +# define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA +# define SSL_TXT_KRB5_RC4_128_SHA SSL3_TXT_KRB5_RC4_128_SHA +# define SSL_TXT_KRB5_IDEA_128_CBC_SHA SSL3_TXT_KRB5_IDEA_128_CBC_SHA +# define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 +# define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 +# define SSL_TXT_KRB5_RC4_128_MD5 SSL3_TXT_KRB5_RC4_128_MD5 +# define SSL_TXT_KRB5_IDEA_128_CBC_MD5 SSL3_TXT_KRB5_IDEA_128_CBC_MD5 + +# define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA +# define SSL_TXT_KRB5_RC2_40_CBC_SHA SSL3_TXT_KRB5_RC2_40_CBC_SHA +# define SSL_TXT_KRB5_RC4_40_SHA SSL3_TXT_KRB5_RC4_40_SHA +# define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 +# define SSL_TXT_KRB5_RC2_40_CBC_MD5 SSL3_TXT_KRB5_RC2_40_CBC_MD5 +# define SSL_TXT_KRB5_RC4_40_MD5 SSL3_TXT_KRB5_RC4_40_MD5 + +# define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA +# define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 +# define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA +# define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 +# define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA +# define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 +# define SSL_MAX_KRB5_PRINCIPAL_LENGTH 256 + +# define SSL_MAX_SSL_SESSION_ID_LENGTH 32 +# define SSL_MAX_SID_CTX_LENGTH 32 + +# define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) +# define SSL_MAX_KEY_ARG_LENGTH 8 +# define SSL_MAX_MASTER_KEY_LENGTH 48 + +/* These are used to specify which ciphers to use and not to use */ + +# define SSL_TXT_EXP40 "EXPORT40" +# define SSL_TXT_EXP56 "EXPORT56" +# define SSL_TXT_LOW "LOW" +# define SSL_TXT_MEDIUM "MEDIUM" +# define SSL_TXT_HIGH "HIGH" +# define SSL_TXT_FIPS "FIPS" + +# define SSL_TXT_kFZA "kFZA"/* unused! */ +# define SSL_TXT_aFZA "aFZA"/* unused! */ +# define SSL_TXT_eFZA "eFZA"/* unused! */ +# define SSL_TXT_FZA "FZA"/* unused! */ + +# define SSL_TXT_aNULL "aNULL" +# define SSL_TXT_eNULL "eNULL" +# define SSL_TXT_NULL "NULL" + +# define SSL_TXT_kRSA "kRSA" +# define SSL_TXT_kDHr "kDHr" +# define SSL_TXT_kDHd "kDHd" +# define SSL_TXT_kDH "kDH" +# define SSL_TXT_kEDH "kEDH" +# define SSL_TXT_kDHE "kDHE"/* alias for kEDH */ +# define SSL_TXT_kKRB5 "kKRB5" +# define SSL_TXT_kECDHr "kECDHr" +# define SSL_TXT_kECDHe "kECDHe" +# define SSL_TXT_kECDH "kECDH" +# define SSL_TXT_kEECDH "kEECDH" +# define SSL_TXT_kECDHE "kECDHE"/* alias for kEECDH */ +# define SSL_TXT_kPSK "kPSK" +# define SSL_TXT_kGOST "kGOST" +# define SSL_TXT_kSRP "kSRP" + +# define SSL_TXT_aRSA "aRSA" +# define SSL_TXT_aDSS "aDSS" +# define SSL_TXT_aDH "aDH" +# define SSL_TXT_aECDH "aECDH" +# define SSL_TXT_aKRB5 "aKRB5" +# define SSL_TXT_aECDSA "aECDSA" +# define SSL_TXT_aPSK "aPSK" +# define SSL_TXT_aGOST94 "aGOST94" +# define SSL_TXT_aGOST01 "aGOST01" +# define SSL_TXT_aGOST "aGOST" +# define SSL_TXT_aSRP "aSRP" + +# define SSL_TXT_DSS "DSS" +# define SSL_TXT_DH "DH" +# define SSL_TXT_EDH "EDH"/* same as "kEDH:-ADH" */ +# define SSL_TXT_DHE "DHE"/* alias for EDH */ +# define SSL_TXT_ADH "ADH" +# define SSL_TXT_RSA "RSA" +# define SSL_TXT_ECDH "ECDH" +# define SSL_TXT_EECDH "EECDH"/* same as "kEECDH:-AECDH" */ +# define SSL_TXT_ECDHE "ECDHE"/* alias for ECDHE" */ +# define SSL_TXT_AECDH "AECDH" +# define SSL_TXT_ECDSA "ECDSA" +# define SSL_TXT_KRB5 "KRB5" +# define SSL_TXT_PSK "PSK" +# define SSL_TXT_SRP "SRP" + +# define SSL_TXT_DES "DES" +# define SSL_TXT_3DES "3DES" +# define SSL_TXT_RC4 "RC4" +# define SSL_TXT_RC2 "RC2" +# define SSL_TXT_IDEA "IDEA" +# define SSL_TXT_SEED "SEED" +# define SSL_TXT_AES128 "AES128" +# define SSL_TXT_AES256 "AES256" +# define SSL_TXT_AES "AES" +# define SSL_TXT_AES_GCM "AESGCM" +# define SSL_TXT_CAMELLIA128 "CAMELLIA128" +# define SSL_TXT_CAMELLIA256 "CAMELLIA256" +# define SSL_TXT_CAMELLIA "CAMELLIA" + +# define SSL_TXT_MD5 "MD5" +# define SSL_TXT_SHA1 "SHA1" +# define SSL_TXT_SHA "SHA"/* same as "SHA1" */ +# define SSL_TXT_GOST94 "GOST94" +# define SSL_TXT_GOST89MAC "GOST89MAC" +# define SSL_TXT_SHA256 "SHA256" +# define SSL_TXT_SHA384 "SHA384" + +# define SSL_TXT_SSLV2 "SSLv2" +# define SSL_TXT_SSLV3 "SSLv3" +# define SSL_TXT_TLSV1 "TLSv1" +# define SSL_TXT_TLSV1_1 "TLSv1.1" +# define SSL_TXT_TLSV1_2 "TLSv1.2" + +# define SSL_TXT_EXP "EXP" +# define SSL_TXT_EXPORT "EXPORT" + +# define SSL_TXT_ALL "ALL" + +/*- + * COMPLEMENTOF* definitions. These identifiers are used to (de-select) + * ciphers normally not being used. + * Example: "RC4" will activate all ciphers using RC4 including ciphers + * without authentication, which would normally disabled by DEFAULT (due + * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" + * will make sure that it is also disabled in the specific selection. + * COMPLEMENTOF* identifiers are portable between version, as adjustments + * to the default cipher setup will also be included here. + * + * COMPLEMENTOFDEFAULT does not experience the same special treatment that + * DEFAULT gets, as only selection is being done and no sorting as needed + * for DEFAULT. + */ +# define SSL_TXT_CMPALL "COMPLEMENTOFALL" +# define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" + +/* + * The following cipher list is used by default. It also is substituted when + * an application-defined cipher list string starts with 'DEFAULT'. + */ +# define SSL_DEFAULT_CIPHER_LIST "ALL:!EXPORT:!LOW:!aNULL:!eNULL:!SSLv2" +/* + * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always + * starts with a reasonable order, and all we have to do for DEFAULT is + * throwing out anonymous and unencrypted ciphersuites! (The latter are not + * actually enabled by ALL, but "ALL:RSA" would enable some of them.) + */ + +/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ +# define SSL_SENT_SHUTDOWN 1 +# define SSL_RECEIVED_SHUTDOWN 2 + +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +# if (defined(OPENSSL_NO_RSA) || defined(OPENSSL_NO_MD5)) && !defined(OPENSSL_NO_SSL2) +# define OPENSSL_NO_SSL2 +# endif + +# define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 +# define SSL_FILETYPE_PEM X509_FILETYPE_PEM + +/* + * This is needed to stop compilers complaining about the 'struct ssl_st *' + * function parameters used to prototype callbacks in SSL_CTX. + */ +typedef struct ssl_st *ssl_crock_st; +typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; +typedef struct ssl_method_st SSL_METHOD; +typedef struct ssl_cipher_st SSL_CIPHER; +typedef struct ssl_session_st SSL_SESSION; +typedef struct tls_sigalgs_st TLS_SIGALGS; +typedef struct ssl_conf_ctx_st SSL_CONF_CTX; + +DECLARE_STACK_OF(SSL_CIPHER) + +/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ +typedef struct srtp_protection_profile_st { + const char *name; + unsigned long id; +} SRTP_PROTECTION_PROFILE; + +DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE) + +typedef int (*tls_session_ticket_ext_cb_fn) (SSL *s, + const unsigned char *data, + int len, void *arg); +typedef int (*tls_session_secret_cb_fn) (SSL *s, void *secret, + int *secret_len, + STACK_OF(SSL_CIPHER) *peer_ciphers, + SSL_CIPHER **cipher, void *arg); + +# ifndef OPENSSL_NO_TLSEXT + +/* Typedefs for handling custom extensions */ + +typedef int (*custom_ext_add_cb) (SSL *s, unsigned int ext_type, + const unsigned char **out, + size_t *outlen, int *al, void *add_arg); + +typedef void (*custom_ext_free_cb) (SSL *s, unsigned int ext_type, + const unsigned char *out, void *add_arg); + +typedef int (*custom_ext_parse_cb) (SSL *s, unsigned int ext_type, + const unsigned char *in, + size_t inlen, int *al, void *parse_arg); + +# endif + +# ifndef OPENSSL_NO_SSL_INTERN + +/* used to hold info on the particular ciphers used */ +struct ssl_cipher_st { + int valid; + const char *name; /* text name */ + unsigned long id; /* id, 4 bytes, first is version */ + /* + * changed in 0.9.9: these four used to be portions of a single value + * 'algorithms' + */ + unsigned long algorithm_mkey; /* key exchange algorithm */ + unsigned long algorithm_auth; /* server authentication */ + unsigned long algorithm_enc; /* symmetric encryption */ + unsigned long algorithm_mac; /* symmetric authentication */ + unsigned long algorithm_ssl; /* (major) protocol version */ + unsigned long algo_strength; /* strength and export flags */ + unsigned long algorithm2; /* Extra flags */ + int strength_bits; /* Number of bits really used */ + int alg_bits; /* Number of bits for algorithm */ +}; + +/* Used to hold functions for SSLv2 or SSLv3/TLSv1 functions */ +struct ssl_method_st { + int version; + int (*ssl_new) (SSL *s); + void (*ssl_clear) (SSL *s); + void (*ssl_free) (SSL *s); + int (*ssl_accept) (SSL *s); + int (*ssl_connect) (SSL *s); + int (*ssl_read) (SSL *s, void *buf, int len); + int (*ssl_peek) (SSL *s, void *buf, int len); + int (*ssl_write) (SSL *s, const void *buf, int len); + int (*ssl_shutdown) (SSL *s); + int (*ssl_renegotiate) (SSL *s); + int (*ssl_renegotiate_check) (SSL *s); + long (*ssl_get_message) (SSL *s, int st1, int stn, int mt, long + max, int *ok); + int (*ssl_read_bytes) (SSL *s, int type, unsigned char *buf, int len, + int peek); + int (*ssl_write_bytes) (SSL *s, int type, const void *buf_, int len); + int (*ssl_dispatch_alert) (SSL *s); + long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg); + long (*ssl_ctx_ctrl) (SSL_CTX *ctx, int cmd, long larg, void *parg); + const SSL_CIPHER *(*get_cipher_by_char) (const unsigned char *ptr); + int (*put_cipher_by_char) (const SSL_CIPHER *cipher, unsigned char *ptr); + int (*ssl_pending) (const SSL *s); + int (*num_ciphers) (void); + const SSL_CIPHER *(*get_cipher) (unsigned ncipher); + const struct ssl_method_st *(*get_ssl_method) (int version); + long (*get_timeout) (void); + struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */ + int (*ssl_version) (void); + long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void)); + long (*ssl_ctx_callback_ctrl) (SSL_CTX *s, int cb_id, void (*fp) (void)); +}; + +/*- + * Lets make this into an ASN.1 type structure as follows + * SSL_SESSION_ID ::= SEQUENCE { + * version INTEGER, -- structure version number + * SSLversion INTEGER, -- SSL version number + * Cipher OCTET STRING, -- the 3 byte cipher ID + * Session_ID OCTET STRING, -- the Session ID + * Master_key OCTET STRING, -- the master key + * KRB5_principal OCTET STRING -- optional Kerberos principal + * Key_Arg [ 0 ] IMPLICIT OCTET STRING, -- the optional Key argument + * Time [ 1 ] EXPLICIT INTEGER, -- optional Start Time + * Timeout [ 2 ] EXPLICIT INTEGER, -- optional Timeout ins seconds + * Peer [ 3 ] EXPLICIT X509, -- optional Peer Certificate + * Session_ID_context [ 4 ] EXPLICIT OCTET STRING, -- the Session ID context + * Verify_result [ 5 ] EXPLICIT INTEGER, -- X509_V_... code for `Peer' + * HostName [ 6 ] EXPLICIT OCTET STRING, -- optional HostName from servername TLS extension + * PSK_identity_hint [ 7 ] EXPLICIT OCTET STRING, -- optional PSK identity hint + * PSK_identity [ 8 ] EXPLICIT OCTET STRING, -- optional PSK identity + * Ticket_lifetime_hint [9] EXPLICIT INTEGER, -- server's lifetime hint for session ticket + * Ticket [10] EXPLICIT OCTET STRING, -- session ticket (clients only) + * Compression_meth [11] EXPLICIT OCTET STRING, -- optional compression method + * SRP_username [ 12 ] EXPLICIT OCTET STRING -- optional SRP username + * } + * Look in ssl/ssl_asn1.c for more details + * I'm using EXPLICIT tags so I can read the damn things using asn1parse :-). + */ +struct ssl_session_st { + int ssl_version; /* what ssl version session info is being + * kept in here? */ + /* only really used in SSLv2 */ + unsigned int key_arg_length; + unsigned char key_arg[SSL_MAX_KEY_ARG_LENGTH]; + int master_key_length; + unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH]; + /* session_id - valid? */ + unsigned int session_id_length; + unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; + /* + * this is used to determine whether the session is being reused in the + * appropriate context. It is up to the application to set this, via + * SSL_new + */ + unsigned int sid_ctx_length; + unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; +# ifndef OPENSSL_NO_KRB5 + unsigned int krb5_client_princ_len; + unsigned char krb5_client_princ[SSL_MAX_KRB5_PRINCIPAL_LENGTH]; +# endif /* OPENSSL_NO_KRB5 */ +# ifndef OPENSSL_NO_PSK + char *psk_identity_hint; + char *psk_identity; +# endif + /* + * Used to indicate that session resumption is not allowed. Applications + * can also set this bit for a new session via not_resumable_session_cb + * to disable session caching and tickets. + */ + int not_resumable; + /* The cert is the certificate used to establish this connection */ + struct sess_cert_st /* SESS_CERT */ *sess_cert; + /* + * This is the cert for the other end. On clients, it will be the same as + * sess_cert->peer_key->x509 (the latter is not enough as sess_cert is + * not retained in the external representation of sessions, see + * ssl_asn1.c). + */ + X509 *peer; + /* + * when app_verify_callback accepts a session where the peer's + * certificate is not ok, we must remember the error for session reuse: + */ + long verify_result; /* only for servers */ + int references; + long timeout; + long time; + unsigned int compress_meth; /* Need to lookup the method */ + const SSL_CIPHER *cipher; + unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used + * to load the 'cipher' structure */ + STACK_OF(SSL_CIPHER) *ciphers; /* ciphers offered by the client */ + CRYPTO_EX_DATA ex_data; /* application specific data */ + /* + * These are used to make removal of session-ids more efficient and to + * implement a maximum cache size. + */ + struct ssl_session_st *prev, *next; +# ifndef OPENSSL_NO_TLSEXT + char *tlsext_hostname; +# ifndef OPENSSL_NO_EC + size_t tlsext_ecpointformatlist_length; + unsigned char *tlsext_ecpointformatlist; /* peer's list */ + size_t tlsext_ellipticcurvelist_length; + unsigned char *tlsext_ellipticcurvelist; /* peer's list */ +# endif /* OPENSSL_NO_EC */ + /* RFC4507 info */ + unsigned char *tlsext_tick; /* Session ticket */ + size_t tlsext_ticklen; /* Session ticket length */ + long tlsext_tick_lifetime_hint; /* Session lifetime hint in seconds */ +# endif +# ifndef OPENSSL_NO_SRP + char *srp_username; +# endif +}; + +# endif + +# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L +# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L +/* Allow initial connection to servers that don't support RI */ +# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L +# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L +# define SSL_OP_TLSEXT_PADDING 0x00000010L +# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L +# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040L +# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L +# define SSL_OP_TLS_D5_BUG 0x00000100L +# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L + +/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */ +# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 +/* Refers to ancient SSLREF and SSLv2, retained for compatibility */ +# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 + +/* + * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added in + * OpenSSL 0.9.6d. Usually (depending on the application protocol) the + * workaround is not needed. Unfortunately some broken SSL/TLS + * implementations cannot handle it at all, which is why we include it in + * SSL_OP_ALL. + */ +/* added in 0.9.6e */ +# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L + +/* + * SSL_OP_ALL: various bug workarounds that should be rather harmless. This + * used to be 0x000FFFFFL before 0.9.7. + */ +# define SSL_OP_ALL 0x80000BFFL + +/* DTLS options */ +# define SSL_OP_NO_QUERY_MTU 0x00001000L +/* Turn on Cookie Exchange (on relevant for servers) */ +# define SSL_OP_COOKIE_EXCHANGE 0x00002000L +/* Don't use RFC4507 ticket extension */ +# define SSL_OP_NO_TICKET 0x00004000L +/* Use Cisco's "speshul" version of DTLS_BAD_VER (as client) */ +# define SSL_OP_CISCO_ANYCONNECT 0x00008000L + +/* As server, disallow session resumption on renegotiation */ +# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000L +/* Don't use compression even if supported */ +# define SSL_OP_NO_COMPRESSION 0x00020000L +/* Permit unsafe legacy renegotiation */ +# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000L +/* If set, always create a new key when using tmp_ecdh parameters */ +# define SSL_OP_SINGLE_ECDH_USE 0x00080000L +/* Does nothing: retained for compatibility */ +# define SSL_OP_SINGLE_DH_USE 0x00100000L +/* Does nothing: retained for compatibiity */ +# define SSL_OP_EPHEMERAL_RSA 0x0 +/* + * Set on servers to choose the cipher according to the server's preferences + */ +# define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000L +/* + * If set, a server will allow a client to issue a SSLv3.0 version number as + * latest version supported in the premaster secret, even when TLSv1.0 + * (version 3.1) was announced in the client hello. Normally this is + * forbidden to prevent version rollback attacks. + */ +# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000L + +# define SSL_OP_NO_SSLv2 0x01000000L +# define SSL_OP_NO_SSLv3 0x02000000L +# define SSL_OP_NO_TLSv1 0x04000000L +# define SSL_OP_NO_TLSv1_2 0x08000000L +# define SSL_OP_NO_TLSv1_1 0x10000000L + +# define SSL_OP_NO_DTLSv1 0x04000000L +# define SSL_OP_NO_DTLSv1_2 0x08000000L + +# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|\ + SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2) + +/* + * These next two were never actually used for anything since SSLeay zap so + * we have some more flags. + */ +/* + * The next flag deliberately changes the ciphertest, this is a check for the + * PKCS#1 attack + */ +# define SSL_OP_PKCS1_CHECK_1 0x0 +# define SSL_OP_PKCS1_CHECK_2 0x0 + +# define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L +# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L +/* + * Make server add server-hello extension from early version of cryptopro + * draft, when GOST ciphersuite is negotiated. Required for interoperability + * with CryptoPro CSP 3.x + */ +# define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000L + +/* + * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success + * when just a single record has been written): + */ +# define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001L +/* + * Make it possible to retry SSL_write() with changed buffer location (buffer + * contents must stay the same!); this is not the default to avoid the + * misconception that non-blocking SSL_write() behaves like non-blocking + * write(): + */ +# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002L +/* + * Never bother the application with retries if the transport is blocking: + */ +# define SSL_MODE_AUTO_RETRY 0x00000004L +/* Don't attempt to automatically build certificate chain */ +# define SSL_MODE_NO_AUTO_CHAIN 0x00000008L +/* + * Save RAM by releasing read and write buffers when they're empty. (SSL3 and + * TLS only.) "Released" buffers are put onto a free-list in the context or + * just freed (depending on the context's setting for freelist_max_len). + */ +# define SSL_MODE_RELEASE_BUFFERS 0x00000010L +/* + * Send the current time in the Random fields of the ClientHello and + * ServerHello records for compatibility with hypothetical implementations + * that require it. + */ +# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020L +# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040L +/* + * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications + * that reconnect with a downgraded protocol version; see + * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your + * application attempts a normal handshake. Only use this in explicit + * fallback retries, following the guidance in + * draft-ietf-tls-downgrade-scsv-00. + */ +# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080L + +/* Cert related flags */ +/* + * Many implementations ignore some aspects of the TLS standards such as + * enforcing certifcate chain algorithms. When this is set we enforce them. + */ +# define SSL_CERT_FLAG_TLS_STRICT 0x00000001L + +/* Suite B modes, takes same values as certificate verify flags */ +# define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define SSL_CERT_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define SSL_CERT_FLAG_SUITEB_128_LOS 0x30000 + +/* Perform all sorts of protocol violations for testing purposes */ +# define SSL_CERT_FLAG_BROKEN_PROTOCOL 0x10000000 + +/* Flags for building certificate chains */ +/* Treat any existing certificates as untrusted CAs */ +# define SSL_BUILD_CHAIN_FLAG_UNTRUSTED 0x1 +/* Don't include root CA in chain */ +# define SSL_BUILD_CHAIN_FLAG_NO_ROOT 0x2 +/* Just check certificates already there */ +# define SSL_BUILD_CHAIN_FLAG_CHECK 0x4 +/* Ignore verification errors */ +# define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR 0x8 +/* Clear verification errors from queue */ +# define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10 + +/* Flags returned by SSL_check_chain */ +/* Certificate can be used with this session */ +# define CERT_PKEY_VALID 0x1 +/* Certificate can also be used for signing */ +# define CERT_PKEY_SIGN 0x2 +/* EE certificate signing algorithm OK */ +# define CERT_PKEY_EE_SIGNATURE 0x10 +/* CA signature algorithms OK */ +# define CERT_PKEY_CA_SIGNATURE 0x20 +/* EE certificate parameters OK */ +# define CERT_PKEY_EE_PARAM 0x40 +/* CA certificate parameters OK */ +# define CERT_PKEY_CA_PARAM 0x80 +/* Signing explicitly allowed as opposed to SHA1 fallback */ +# define CERT_PKEY_EXPLICIT_SIGN 0x100 +/* Client CA issuer names match (always set for server cert) */ +# define CERT_PKEY_ISSUER_NAME 0x200 +/* Cert type matches client types (always set for server cert) */ +# define CERT_PKEY_CERT_TYPE 0x400 +/* Cert chain suitable to Suite B */ +# define CERT_PKEY_SUITEB 0x800 + +# define SSL_CONF_FLAG_CMDLINE 0x1 +# define SSL_CONF_FLAG_FILE 0x2 +# define SSL_CONF_FLAG_CLIENT 0x4 +# define SSL_CONF_FLAG_SERVER 0x8 +# define SSL_CONF_FLAG_SHOW_ERRORS 0x10 +# define SSL_CONF_FLAG_CERTIFICATE 0x20 +/* Configuration value types */ +# define SSL_CONF_TYPE_UNKNOWN 0x0 +# define SSL_CONF_TYPE_STRING 0x1 +# define SSL_CONF_TYPE_FILE 0x2 +# define SSL_CONF_TYPE_DIR 0x3 + +/* + * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they + * cannot be used to clear bits. + */ + +# define SSL_CTX_set_options(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) +# define SSL_CTX_clear_options(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) +# define SSL_CTX_get_options(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL) +# define SSL_set_options(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL) +# define SSL_clear_options(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) +# define SSL_get_options(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_OPTIONS,0,NULL) + +# define SSL_CTX_set_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) +# define SSL_CTX_clear_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_CTX_get_mode(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) +# define SSL_clear_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_set_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) +# define SSL_get_mode(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) +# define SSL_set_mtu(ssl, mtu) \ + SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) +# define DTLS_set_link_mtu(ssl, mtu) \ + SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL) +# define DTLS_get_link_min_mtu(ssl) \ + SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL) + +# define SSL_get_secure_renegotiation_support(ssl) \ + SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_heartbeat(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_TLS_EXT_SEND_HEARTBEAT,0,NULL) +# endif + +# define SSL_CTX_set_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_set_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_CTX_clear_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) +# define SSL_clear_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) + +void SSL_CTX_set_msg_callback(SSL_CTX *ctx, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +void SSL_set_msg_callback(SSL *ssl, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +# define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) +# define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) + +# ifndef OPENSSL_NO_SRP + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct srp_ctx_st { + /* param for all the callbacks */ + void *SRP_cb_arg; + /* set client Hello login callback */ + int (*TLS_ext_srp_username_callback) (SSL *, int *, void *); + /* set SRP N/g param callback for verification */ + int (*SRP_verify_param_callback) (SSL *, void *); + /* set SRP client passwd callback */ + char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *); + char *login; + BIGNUM *N, *g, *s, *B, *A; + BIGNUM *a, *b, *v; + char *info; + int strength; + unsigned long srp_Mask; +} SRP_CTX; + +# endif + +/* see tls_srp.c */ +int SSL_SRP_CTX_init(SSL *s); +int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); +int SSL_SRP_CTX_free(SSL *ctx); +int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); +int SSL_srp_server_param_with_username(SSL *s, int *ad); +int SRP_generate_server_master_secret(SSL *s, unsigned char *master_key); +int SRP_Calc_A_param(SSL *s); +int SRP_generate_client_master_secret(SSL *s, unsigned char *master_key); + +# endif + +# if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) +# define SSL_MAX_CERT_LIST_DEFAULT 1024*30 + /* 30k max cert list :-) */ +# else +# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 + /* 100k max cert list :-) */ +# endif + +# define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) + +/* + * This callback type is used inside SSL_CTX, SSL, and in the functions that + * set them. It is used to override the generation of SSL/TLS session IDs in + * a server. Return value should be zero on an error, non-zero to proceed. + * Also, callbacks should themselves check if the id they generate is unique + * otherwise the SSL handshake will fail with an error - callbacks can do + * this using the 'ssl' value they're passed by; + * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in + * is set at the maximum size the session ID can be. In SSLv2 this is 16 + * bytes, whereas SSLv3/TLSv1 it is 32 bytes. The callback can alter this + * length to be less if desired, but under SSLv2 session IDs are supposed to + * be fixed at 16 bytes so the id will be padded after the callback returns + * in this case. It is also an error for the callback to set the size to + * zero. + */ +typedef int (*GEN_SESSION_CB) (const SSL *ssl, unsigned char *id, + unsigned int *id_len); + +typedef struct ssl_comp_st SSL_COMP; + +# ifndef OPENSSL_NO_SSL_INTERN + +struct ssl_comp_st { + int id; + const char *name; +# ifndef OPENSSL_NO_COMP + COMP_METHOD *method; +# else + char *method; +# endif +}; + +DECLARE_STACK_OF(SSL_COMP) +DECLARE_LHASH_OF(SSL_SESSION); + +struct ssl_ctx_st { + const SSL_METHOD *method; + STACK_OF(SSL_CIPHER) *cipher_list; + /* same as above but sorted for lookup */ + STACK_OF(SSL_CIPHER) *cipher_list_by_id; + struct x509_store_st /* X509_STORE */ *cert_store; + LHASH_OF(SSL_SESSION) *sessions; + /* + * Most session-ids that will be cached, default is + * SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited. + */ + unsigned long session_cache_size; + struct ssl_session_st *session_cache_head; + struct ssl_session_st *session_cache_tail; + /* + * This can have one of 2 values, ored together, SSL_SESS_CACHE_CLIENT, + * SSL_SESS_CACHE_SERVER, Default is SSL_SESSION_CACHE_SERVER, which + * means only SSL_accept which cache SSL_SESSIONS. + */ + int session_cache_mode; + /* + * If timeout is not 0, it is the default timeout value set when + * SSL_new() is called. This has been put in to make life easier to set + * things up + */ + long session_timeout; + /* + * If this callback is not null, it will be called each time a session id + * is added to the cache. If this function returns 1, it means that the + * callback will do a SSL_SESSION_free() when it has finished using it. + * Otherwise, on 0, it means the callback has finished with it. If + * remove_session_cb is not null, it will be called when a session-id is + * removed from the cache. After the call, OpenSSL will + * SSL_SESSION_free() it. + */ + int (*new_session_cb) (struct ssl_st *ssl, SSL_SESSION *sess); + void (*remove_session_cb) (struct ssl_ctx_st *ctx, SSL_SESSION *sess); + SSL_SESSION *(*get_session_cb) (struct ssl_st *ssl, + unsigned char *data, int len, int *copy); + struct { + int sess_connect; /* SSL new conn - started */ + int sess_connect_renegotiate; /* SSL reneg - requested */ + int sess_connect_good; /* SSL new conne/reneg - finished */ + int sess_accept; /* SSL new accept - started */ + int sess_accept_renegotiate; /* SSL reneg - requested */ + int sess_accept_good; /* SSL accept/reneg - finished */ + int sess_miss; /* session lookup misses */ + int sess_timeout; /* reuse attempt on timeouted session */ + int sess_cache_full; /* session removed due to full cache */ + int sess_hit; /* session reuse actually done */ + int sess_cb_hit; /* session-id that was not in the cache was + * passed back via the callback. This + * indicates that the application is + * supplying session-id's from other + * processes - spooky :-) */ + } stats; + + int references; + + /* if defined, these override the X509_verify_cert() calls */ + int (*app_verify_callback) (X509_STORE_CTX *, void *); + void *app_verify_arg; + /* + * before OpenSSL 0.9.7, 'app_verify_arg' was ignored + * ('app_verify_callback' was called with just one argument) + */ + + /* Default password callback. */ + pem_password_cb *default_passwd_callback; + + /* Default password callback user data. */ + void *default_passwd_callback_userdata; + + /* get client cert callback */ + int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey); + + /* cookie generate callback */ + int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie, + unsigned int *cookie_len); + + /* verify cookie callback */ + int (*app_verify_cookie_cb) (SSL *ssl, unsigned char *cookie, + unsigned int cookie_len); + + CRYPTO_EX_DATA ex_data; + + const EVP_MD *rsa_md5; /* For SSLv2 - name is 'ssl2-md5' */ + const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */ + const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */ + + STACK_OF(X509) *extra_certs; + STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */ + + /* Default values used when no per-SSL value is defined follow */ + + /* used if SSL's info_callback is NULL */ + void (*info_callback) (const SSL *ssl, int type, int val); + + /* what we put in client cert requests */ + STACK_OF(X509_NAME) *client_CA; + + /* + * Default values to use in SSL structures follow (these are copied by + * SSL_new) + */ + + unsigned long options; + unsigned long mode; + long max_cert_list; + + struct cert_st /* CERT */ *cert; + int read_ahead; + + /* callback that allows applications to peek at protocol messages */ + void (*msg_callback) (int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); + void *msg_callback_arg; + + int verify_mode; + unsigned int sid_ctx_length; + unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; + /* called 'verify_callback' in the SSL */ + int (*default_verify_callback) (int ok, X509_STORE_CTX *ctx); + + /* Default generate session ID callback. */ + GEN_SESSION_CB generate_session_id; + + X509_VERIFY_PARAM *param; + +# if 0 + int purpose; /* Purpose setting */ + int trust; /* Trust setting */ +# endif + + int quiet_shutdown; + + /* + * Maximum amount of data to send in one fragment. actual record size can + * be more than this due to padding and MAC overheads. + */ + unsigned int max_send_fragment; + +# ifndef OPENSSL_NO_ENGINE + /* + * Engine to pass requests for client certs to + */ + ENGINE *client_cert_engine; +# endif + +# ifndef OPENSSL_NO_TLSEXT + /* TLS extensions servername callback */ + int (*tlsext_servername_callback) (SSL *, int *, void *); + void *tlsext_servername_arg; + /* RFC 4507 session ticket keys */ + unsigned char tlsext_tick_key_name[16]; + unsigned char tlsext_tick_hmac_key[16]; + unsigned char tlsext_tick_aes_key[16]; + /* Callback to support customisation of ticket key setting */ + int (*tlsext_ticket_key_cb) (SSL *ssl, + unsigned char *name, unsigned char *iv, + EVP_CIPHER_CTX *ectx, + HMAC_CTX *hctx, int enc); + + /* certificate status request info */ + /* Callback for status request */ + int (*tlsext_status_cb) (SSL *ssl, void *arg); + void *tlsext_status_arg; + + /* draft-rescorla-tls-opaque-prf-input-00.txt information */ + int (*tlsext_opaque_prf_input_callback) (SSL *, void *peerinput, + size_t len, void *arg); + void *tlsext_opaque_prf_input_callback_arg; +# endif + +# ifndef OPENSSL_NO_PSK + char *psk_identity_hint; + unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, + char *identity, + unsigned int max_identity_len, + unsigned char *psk, + unsigned int max_psk_len); + unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, + unsigned char *psk, + unsigned int max_psk_len); +# endif + +# ifndef OPENSSL_NO_BUF_FREELISTS +# define SSL_MAX_BUF_FREELIST_LEN_DEFAULT 32 + unsigned int freelist_max_len; + struct ssl3_buf_freelist_st *wbuf_freelist; + struct ssl3_buf_freelist_st *rbuf_freelist; +# endif +# ifndef OPENSSL_NO_SRP + SRP_CTX srp_ctx; /* ctx for SRP authentication */ +# endif + +# ifndef OPENSSL_NO_TLSEXT + +# ifndef OPENSSL_NO_NEXTPROTONEG + /* Next protocol negotiation information */ + /* (for experimental NPN extension). */ + + /* + * For a server, this contains a callback function by which the set of + * advertised protocols can be provided. + */ + int (*next_protos_advertised_cb) (SSL *s, const unsigned char **buf, + unsigned int *len, void *arg); + void *next_protos_advertised_cb_arg; + /* + * For a client, this contains a callback function that selects the next + * protocol from the list provided by the server. + */ + int (*next_proto_select_cb) (SSL *s, unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, void *arg); + void *next_proto_select_cb_arg; +# endif + /* SRTP profiles we are willing to do from RFC 5764 */ + STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; + + /* + * ALPN information (we are in the process of transitioning from NPN to + * ALPN.) + */ + + /*- + * For a server, this contains a callback function that allows the + * server to select the protocol for the connection. + * out: on successful return, this must point to the raw protocol + * name (without the length prefix). + * outlen: on successful return, this contains the length of |*out|. + * in: points to the client's list of supported protocols in + * wire-format. + * inlen: the length of |in|. + */ + int (*alpn_select_cb) (SSL *s, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, void *arg); + void *alpn_select_cb_arg; + + /* + * For a client, this contains the list of supported protocols in wire + * format. + */ + unsigned char *alpn_client_proto_list; + unsigned alpn_client_proto_list_len; + +# ifndef OPENSSL_NO_EC + /* EC extension values inherited by SSL structure */ + size_t tlsext_ecpointformatlist_length; + unsigned char *tlsext_ecpointformatlist; + size_t tlsext_ellipticcurvelist_length; + unsigned char *tlsext_ellipticcurvelist; +# endif /* OPENSSL_NO_EC */ +# endif +}; + +# endif + +# define SSL_SESS_CACHE_OFF 0x0000 +# define SSL_SESS_CACHE_CLIENT 0x0001 +# define SSL_SESS_CACHE_SERVER 0x0002 +# define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) +# define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 +/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ +# define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 +# define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 +# define SSL_SESS_CACHE_NO_INTERNAL \ + (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) + +LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); +# define SSL_CTX_sess_number(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) +# define SSL_CTX_sess_connect(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) +# define SSL_CTX_sess_connect_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) +# define SSL_CTX_sess_connect_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) +# define SSL_CTX_sess_accept_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) +# define SSL_CTX_sess_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) +# define SSL_CTX_sess_cb_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) +# define SSL_CTX_sess_misses(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) +# define SSL_CTX_sess_timeouts(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) +# define SSL_CTX_sess_cache_full(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) + +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, + int (*new_session_cb) (struct ssl_st *ssl, + SSL_SESSION *sess)); +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + SSL_SESSION *sess); +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, + void (*remove_session_cb) (struct ssl_ctx_st + *ctx, + SSL_SESSION + *sess)); +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx, + SSL_SESSION *sess); +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, + SSL_SESSION *(*get_session_cb) (struct ssl_st + *ssl, + unsigned char + *data, int len, + int *copy)); +SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + unsigned char *Data, + int len, int *copy); +void SSL_CTX_set_info_callback(SSL_CTX *ctx, + void (*cb) (const SSL *ssl, int type, + int val)); +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type, + int val); +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, + int (*client_cert_cb) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey)); +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey); +# ifndef OPENSSL_NO_ENGINE +int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); +# endif +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, + int (*app_gen_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + *cookie_len)); +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, + int (*app_verify_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + cookie_len)); +# ifndef OPENSSL_NO_NEXTPROTONEG +void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, + int (*cb) (SSL *ssl, + const unsigned char + **out, + unsigned int *outlen, + void *arg), void *arg); +void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, + int (*cb) (SSL *ssl, + unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), void *arg); +void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, + unsigned *len); +# endif + +# ifndef OPENSSL_NO_TLSEXT +int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, + const unsigned char *client, + unsigned int client_len); +# endif + +# define OPENSSL_NPN_UNSUPPORTED 0 +# define OPENSSL_NPN_NEGOTIATED 1 +# define OPENSSL_NPN_NO_OVERLAP 2 + +int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, + unsigned protos_len); +int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, + unsigned protos_len); +void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), void *arg); +void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, + unsigned *len); + +# ifndef OPENSSL_NO_PSK +/* + * the maximum length of the buffer given to callbacks containing the + * resulting identity/psk + */ +# define PSK_MAX_IDENTITY_LEN 128 +# define PSK_MAX_PSK_LEN 256 +void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, + unsigned int (*psk_client_callback) (SSL + *ssl, + const + char + *hint, + char + *identity, + unsigned + int + max_identity_len, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_set_psk_client_callback(SSL *ssl, + unsigned int (*psk_client_callback) (SSL + *ssl, + const + char + *hint, + char + *identity, + unsigned + int + max_identity_len, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, + unsigned int (*psk_server_callback) (SSL + *ssl, + const + char + *identity, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_set_psk_server_callback(SSL *ssl, + unsigned int (*psk_server_callback) (SSL + *ssl, + const + char + *identity, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); +int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); +const char *SSL_get_psk_identity_hint(const SSL *s); +const char *SSL_get_psk_identity(const SSL *s); +# endif + +# ifndef OPENSSL_NO_TLSEXT +/* Register callbacks to handle custom TLS Extensions for client or server. */ + +int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +int SSL_extension_supported(unsigned int ext_type); + +# endif + +# define SSL_NOTHING 1 +# define SSL_WRITING 2 +# define SSL_READING 3 +# define SSL_X509_LOOKUP 4 + +/* These will only be used when doing non-blocking IO */ +# define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) +# define SSL_want_read(s) (SSL_want(s) == SSL_READING) +# define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) +# define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) + +# define SSL_MAC_FLAG_READ_MAC_STREAM 1 +# define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 + +# ifndef OPENSSL_NO_SSL_INTERN + +struct ssl_st { + /* + * protocol version (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, + * DTLS1_VERSION) + */ + int version; + /* SSL_ST_CONNECT or SSL_ST_ACCEPT */ + int type; + /* SSLv3 */ + const SSL_METHOD *method; + /* + * There are 2 BIO's even though they are normally both the same. This + * is so data can be read and written to different handlers + */ +# ifndef OPENSSL_NO_BIO + /* used by SSL_read */ + BIO *rbio; + /* used by SSL_write */ + BIO *wbio; + /* used during session-id reuse to concatenate messages */ + BIO *bbio; +# else + /* used by SSL_read */ + char *rbio; + /* used by SSL_write */ + char *wbio; + char *bbio; +# endif + /* + * This holds a variable that indicates what we were doing when a 0 or -1 + * is returned. This is needed for non-blocking IO so we know what + * request needs re-doing when in SSL_accept or SSL_connect + */ + int rwstate; + /* true when we are actually in SSL_accept() or SSL_connect() */ + int in_handshake; + int (*handshake_func) (SSL *); + /* + * Imagine that here's a boolean member "init" that is switched as soon + * as SSL_set_{accept/connect}_state is called for the first time, so + * that "state" and "handshake_func" are properly initialized. But as + * handshake_func is == 0 until then, we use this test instead of an + * "init" member. + */ + /* are we the server side? - mostly used by SSL_clear */ + int server; + /* + * Generate a new session or reuse an old one. + * NB: For servers, the 'new' session may actually be a previously + * cached session or even the previous session unless + * SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION is set + */ + int new_session; + /* don't send shutdown packets */ + int quiet_shutdown; + /* we have shut things down, 0x01 sent, 0x02 for received */ + int shutdown; + /* where we are */ + int state; + /* where we are when reading */ + int rstate; + BUF_MEM *init_buf; /* buffer used during init */ + void *init_msg; /* pointer to handshake message body, set by + * ssl3_get_message() */ + int init_num; /* amount read/written */ + int init_off; /* amount read/written */ + /* used internally to point at a raw packet */ + unsigned char *packet; + unsigned int packet_length; + struct ssl2_state_st *s2; /* SSLv2 variables */ + struct ssl3_state_st *s3; /* SSLv3 variables */ + struct dtls1_state_st *d1; /* DTLSv1 variables */ + int read_ahead; /* Read as many input bytes as possible (for + * non-blocking reads) */ + /* callback that allows applications to peek at protocol messages */ + void (*msg_callback) (int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); + void *msg_callback_arg; + int hit; /* reusing a previous session */ + X509_VERIFY_PARAM *param; +# if 0 + int purpose; /* Purpose setting */ + int trust; /* Trust setting */ +# endif + /* crypto */ + STACK_OF(SSL_CIPHER) *cipher_list; + STACK_OF(SSL_CIPHER) *cipher_list_by_id; + /* + * These are the ones being used, the ones in SSL_SESSION are the ones to + * be 'copied' into these ones + */ + int mac_flags; + EVP_CIPHER_CTX *enc_read_ctx; /* cryptographic state */ + EVP_MD_CTX *read_hash; /* used for mac generation */ +# ifndef OPENSSL_NO_COMP + COMP_CTX *expand; /* uncompress */ +# else + char *expand; +# endif + EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ + EVP_MD_CTX *write_hash; /* used for mac generation */ +# ifndef OPENSSL_NO_COMP + COMP_CTX *compress; /* compression */ +# else + char *compress; +# endif + /* session info */ + /* client cert? */ + /* This is used to hold the server certificate used */ + struct cert_st /* CERT */ *cert; + /* + * the session_id_context is used to ensure sessions are only reused in + * the appropriate context + */ + unsigned int sid_ctx_length; + unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; + /* This can also be in the session once a session is established */ + SSL_SESSION *session; + /* Default generate session ID callback. */ + GEN_SESSION_CB generate_session_id; + /* Used in SSL2 and SSL3 */ + /* + * 0 don't care about verify failure. + * 1 fail if verify fails + */ + int verify_mode; + /* fail if callback returns 0 */ + int (*verify_callback) (int ok, X509_STORE_CTX *ctx); + /* optional informational callback */ + void (*info_callback) (const SSL *ssl, int type, int val); + /* error bytes to be written */ + int error; + /* actual code */ + int error_code; +# ifndef OPENSSL_NO_KRB5 + /* Kerberos 5 context */ + KSSL_CTX *kssl_ctx; +# endif /* OPENSSL_NO_KRB5 */ +# ifndef OPENSSL_NO_PSK + unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, + char *identity, + unsigned int max_identity_len, + unsigned char *psk, + unsigned int max_psk_len); + unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, + unsigned char *psk, + unsigned int max_psk_len); +# endif + SSL_CTX *ctx; + /* + * set this flag to 1 and a sleep(1) is put into all SSL_read() and + * SSL_write() calls, good for nbio debuging :-) + */ + int debug; + /* extra application data */ + long verify_result; + CRYPTO_EX_DATA ex_data; + /* for server side, keep the list of CA_dn we can use */ + STACK_OF(X509_NAME) *client_CA; + int references; + /* protocol behaviour */ + unsigned long options; + /* API behaviour */ + unsigned long mode; + long max_cert_list; + int first_packet; + /* what was passed, used for SSLv3/TLS rollback check */ + int client_version; + unsigned int max_send_fragment; +# ifndef OPENSSL_NO_TLSEXT + /* TLS extension debug callback */ + void (*tlsext_debug_cb) (SSL *s, int client_server, int type, + unsigned char *data, int len, void *arg); + void *tlsext_debug_arg; + char *tlsext_hostname; + /*- + * no further mod of servername + * 0 : call the servername extension callback. + * 1 : prepare 2, allow last ack just after in server callback. + * 2 : don't call servername callback, no ack in server hello + */ + int servername_done; + /* certificate status request info */ + /* Status type or -1 if no status type */ + int tlsext_status_type; + /* Expect OCSP CertificateStatus message */ + int tlsext_status_expected; + /* OCSP status request only */ + STACK_OF(OCSP_RESPID) *tlsext_ocsp_ids; + X509_EXTENSIONS *tlsext_ocsp_exts; + /* OCSP response received or to be sent */ + unsigned char *tlsext_ocsp_resp; + int tlsext_ocsp_resplen; + /* RFC4507 session ticket expected to be received or sent */ + int tlsext_ticket_expected; +# ifndef OPENSSL_NO_EC + size_t tlsext_ecpointformatlist_length; + /* our list */ + unsigned char *tlsext_ecpointformatlist; + size_t tlsext_ellipticcurvelist_length; + /* our list */ + unsigned char *tlsext_ellipticcurvelist; +# endif /* OPENSSL_NO_EC */ + /* + * draft-rescorla-tls-opaque-prf-input-00.txt information to be used for + * handshakes + */ + void *tlsext_opaque_prf_input; + size_t tlsext_opaque_prf_input_len; + /* TLS Session Ticket extension override */ + TLS_SESSION_TICKET_EXT *tlsext_session_ticket; + /* TLS Session Ticket extension callback */ + tls_session_ticket_ext_cb_fn tls_session_ticket_ext_cb; + void *tls_session_ticket_ext_cb_arg; + /* TLS pre-shared secret session resumption */ + tls_session_secret_cb_fn tls_session_secret_cb; + void *tls_session_secret_cb_arg; + SSL_CTX *initial_ctx; /* initial ctx, used to store sessions */ +# ifndef OPENSSL_NO_NEXTPROTONEG + /* + * Next protocol negotiation. For the client, this is the protocol that + * we sent in NextProtocol and is set when handling ServerHello + * extensions. For a server, this is the client's selected_protocol from + * NextProtocol and is set when handling the NextProtocol message, before + * the Finished message. + */ + unsigned char *next_proto_negotiated; + unsigned char next_proto_negotiated_len; +# endif +# define session_ctx initial_ctx + /* What we'll do */ + STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; + /* What's been chosen */ + SRTP_PROTECTION_PROFILE *srtp_profile; + /*- + * Is use of the Heartbeat extension negotiated? + * 0: disabled + * 1: enabled + * 2: enabled, but not allowed to send Requests + */ + unsigned int tlsext_heartbeat; + /* Indicates if a HeartbeatRequest is in flight */ + unsigned int tlsext_hb_pending; + /* HeartbeatRequest sequence number */ + unsigned int tlsext_hb_seq; +# else +# define session_ctx ctx +# endif /* OPENSSL_NO_TLSEXT */ + /*- + * 1 if we are renegotiating. + * 2 if we are a server and are inside a handshake + * (i.e. not just sending a HelloRequest) + */ + int renegotiate; +# ifndef OPENSSL_NO_SRP + /* ctx for SRP authentication */ + SRP_CTX srp_ctx; +# endif +# ifndef OPENSSL_NO_TLSEXT + /* + * For a client, this contains the list of supported protocols in wire + * format. + */ + unsigned char *alpn_client_proto_list; + unsigned alpn_client_proto_list_len; +# endif /* OPENSSL_NO_TLSEXT */ +}; + +# endif + +#ifdef __cplusplus +} +#endif + +# include +# include +# include /* This is mostly sslv3 with a few tweaks */ +# include /* Datagram TLS */ +# include +# include /* Support for the use_srtp extension */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* compatibility */ +# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg)) +# define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) +# define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0,(char *)a)) +# define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) +# define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) +# define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0,(char *)arg)) + +/* + * The following are the possible values for ssl->state are are used to + * indicate where we are up to in the SSL connection establishment. The + * macros that follow are about the only things you should need to use and + * even then, only when using non-blocking IO. It can also be useful to work + * out where you were when the connection failed + */ + +# define SSL_ST_CONNECT 0x1000 +# define SSL_ST_ACCEPT 0x2000 +# define SSL_ST_MASK 0x0FFF +# define SSL_ST_INIT (SSL_ST_CONNECT|SSL_ST_ACCEPT) +# define SSL_ST_BEFORE 0x4000 +# define SSL_ST_OK 0x03 +# define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) +# define SSL_ST_ERR (0x05|SSL_ST_INIT) + +# define SSL_CB_LOOP 0x01 +# define SSL_CB_EXIT 0x02 +# define SSL_CB_READ 0x04 +# define SSL_CB_WRITE 0x08 +# define SSL_CB_ALERT 0x4000/* used in callback */ +# define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) +# define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) +# define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) +# define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) +# define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) +# define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) +# define SSL_CB_HANDSHAKE_START 0x10 +# define SSL_CB_HANDSHAKE_DONE 0x20 + +/* Is the SSL_connection established? */ +# define SSL_get_state(a) SSL_state(a) +# define SSL_is_init_finished(a) (SSL_state(a) == SSL_ST_OK) +# define SSL_in_init(a) (SSL_state(a)&SSL_ST_INIT) +# define SSL_in_before(a) (SSL_state(a)&SSL_ST_BEFORE) +# define SSL_in_connect_init(a) (SSL_state(a)&SSL_ST_CONNECT) +# define SSL_in_accept_init(a) (SSL_state(a)&SSL_ST_ACCEPT) + +/* + * The following 2 states are kept in ssl->rstate when reads fail, you should + * not need these + */ +# define SSL_ST_READ_HEADER 0xF0 +# define SSL_ST_READ_BODY 0xF1 +# define SSL_ST_READ_DONE 0xF2 + +/*- + * Obtain latest Finished message + * -- that we sent (SSL_get_finished) + * -- that we expected from peer (SSL_get_peer_finished). + * Returns length (0 == no Finished so far), copies up to 'count' bytes. + */ +size_t SSL_get_finished(const SSL *s, void *buf, size_t count); +size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); + +/* + * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 2 options are + * 'ored' with SSL_VERIFY_PEER if they are desired + */ +# define SSL_VERIFY_NONE 0x00 +# define SSL_VERIFY_PEER 0x01 +# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 +# define SSL_VERIFY_CLIENT_ONCE 0x04 + +# define OpenSSL_add_ssl_algorithms() SSL_library_init() +# define SSLeay_add_ssl_algorithms() SSL_library_init() + +/* this is for backward compatibility */ +# if 0 /* NEW_SSLEAY */ +# define SSL_CTX_set_default_verify(a,b,c) SSL_CTX_set_verify(a,b,c) +# define SSL_set_pref_cipher(c,n) SSL_set_cipher_list(c,n) +# define SSL_add_session(a,b) SSL_CTX_add_session((a),(b)) +# define SSL_remove_session(a,b) SSL_CTX_remove_session((a),(b)) +# define SSL_flush_sessions(a,b) SSL_CTX_flush_sessions((a),(b)) +# endif +/* More backward compatibility */ +# define SSL_get_cipher(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_cipher_bits(s,np) \ + SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) +# define SSL_get_cipher_version(s) \ + SSL_CIPHER_get_version(SSL_get_current_cipher(s)) +# define SSL_get_cipher_name(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_time(a) SSL_SESSION_get_time(a) +# define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) +# define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) +# define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) + +# define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) +# define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) + +DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) +# define SSL_AD_REASON_OFFSET 1000/* offset to get SSL_R_... value + * from SSL_AD_... */ +/* These alert types are for SSLv3 and TLSv1 */ +# define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY +/* fatal */ +# define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE +/* fatal */ +# define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC +# define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED +# define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW +/* fatal */ +# define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE +/* fatal */ +# define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE +/* Not for TLS */ +# define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE +# define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE +# define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE +# define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED +# define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED +# define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN +/* fatal */ +# define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER +/* fatal */ +# define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA +/* fatal */ +# define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED +/* fatal */ +# define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR +# define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR +/* fatal */ +# define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION +/* fatal */ +# define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION +/* fatal */ +# define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY +/* fatal */ +# define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR +# define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED +# define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION +# define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION +# define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE +# define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME +# define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE +# define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE +/* fatal */ +# define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY +/* fatal */ +# define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK +# define SSL_ERROR_NONE 0 +# define SSL_ERROR_SSL 1 +# define SSL_ERROR_WANT_READ 2 +# define SSL_ERROR_WANT_WRITE 3 +# define SSL_ERROR_WANT_X509_LOOKUP 4 +# define SSL_ERROR_SYSCALL 5/* look at error stack/return + * value/errno */ +# define SSL_ERROR_ZERO_RETURN 6 +# define SSL_ERROR_WANT_CONNECT 7 +# define SSL_ERROR_WANT_ACCEPT 8 +# define SSL_CTRL_NEED_TMP_RSA 1 +# define SSL_CTRL_SET_TMP_RSA 2 +# define SSL_CTRL_SET_TMP_DH 3 +# define SSL_CTRL_SET_TMP_ECDH 4 +# define SSL_CTRL_SET_TMP_RSA_CB 5 +# define SSL_CTRL_SET_TMP_DH_CB 6 +# define SSL_CTRL_SET_TMP_ECDH_CB 7 +# define SSL_CTRL_GET_SESSION_REUSED 8 +# define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 +# define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 +# define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 +# define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 +# define SSL_CTRL_GET_FLAGS 13 +# define SSL_CTRL_EXTRA_CHAIN_CERT 14 +# define SSL_CTRL_SET_MSG_CALLBACK 15 +# define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 +/* only applies to datagram connections */ +# define SSL_CTRL_SET_MTU 17 +/* Stats */ +# define SSL_CTRL_SESS_NUMBER 20 +# define SSL_CTRL_SESS_CONNECT 21 +# define SSL_CTRL_SESS_CONNECT_GOOD 22 +# define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 +# define SSL_CTRL_SESS_ACCEPT 24 +# define SSL_CTRL_SESS_ACCEPT_GOOD 25 +# define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 +# define SSL_CTRL_SESS_HIT 27 +# define SSL_CTRL_SESS_CB_HIT 28 +# define SSL_CTRL_SESS_MISSES 29 +# define SSL_CTRL_SESS_TIMEOUTS 30 +# define SSL_CTRL_SESS_CACHE_FULL 31 +# define SSL_CTRL_OPTIONS 32 +# define SSL_CTRL_MODE 33 +# define SSL_CTRL_GET_READ_AHEAD 40 +# define SSL_CTRL_SET_READ_AHEAD 41 +# define SSL_CTRL_SET_SESS_CACHE_SIZE 42 +# define SSL_CTRL_GET_SESS_CACHE_SIZE 43 +# define SSL_CTRL_SET_SESS_CACHE_MODE 44 +# define SSL_CTRL_GET_SESS_CACHE_MODE 45 +# define SSL_CTRL_GET_MAX_CERT_LIST 50 +# define SSL_CTRL_SET_MAX_CERT_LIST 51 +# define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 +/* see tls1.h for macros based on these */ +# ifndef OPENSSL_NO_TLSEXT +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 +# define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 +# define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 +# define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 +# define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 +# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60 +# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 +# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 +# define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 +# define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 +# define SSL_CTRL_SET_SRP_ARG 78 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 +# define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 +# define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT 85 +# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING 86 +# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS 87 +# endif +# endif /* OPENSSL_NO_TLSEXT */ +# define DTLS_CTRL_GET_TIMEOUT 73 +# define DTLS_CTRL_HANDLE_TIMEOUT 74 +# define DTLS_CTRL_LISTEN 75 +# define SSL_CTRL_GET_RI_SUPPORT 76 +# define SSL_CTRL_CLEAR_OPTIONS 77 +# define SSL_CTRL_CLEAR_MODE 78 +# define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 +# define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 +# define SSL_CTRL_CHAIN 88 +# define SSL_CTRL_CHAIN_CERT 89 +# define SSL_CTRL_GET_CURVES 90 +# define SSL_CTRL_SET_CURVES 91 +# define SSL_CTRL_SET_CURVES_LIST 92 +# define SSL_CTRL_GET_SHARED_CURVE 93 +# define SSL_CTRL_SET_ECDH_AUTO 94 +# define SSL_CTRL_SET_SIGALGS 97 +# define SSL_CTRL_SET_SIGALGS_LIST 98 +# define SSL_CTRL_CERT_FLAGS 99 +# define SSL_CTRL_CLEAR_CERT_FLAGS 100 +# define SSL_CTRL_SET_CLIENT_SIGALGS 101 +# define SSL_CTRL_SET_CLIENT_SIGALGS_LIST 102 +# define SSL_CTRL_GET_CLIENT_CERT_TYPES 103 +# define SSL_CTRL_SET_CLIENT_CERT_TYPES 104 +# define SSL_CTRL_BUILD_CERT_CHAIN 105 +# define SSL_CTRL_SET_VERIFY_CERT_STORE 106 +# define SSL_CTRL_SET_CHAIN_CERT_STORE 107 +# define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 +# define SSL_CTRL_GET_SERVER_TMP_KEY 109 +# define SSL_CTRL_GET_RAW_CIPHERLIST 110 +# define SSL_CTRL_GET_EC_POINT_FORMATS 111 +# define SSL_CTRL_GET_CHAIN_CERTS 115 +# define SSL_CTRL_SELECT_CURRENT_CERT 116 +# define SSL_CTRL_SET_CURRENT_CERT 117 +# define SSL_CTRL_CHECK_PROTO_VERSION 119 +# define DTLS_CTRL_SET_LINK_MTU 120 +# define DTLS_CTRL_GET_LINK_MIN_MTU 121 +# define SSL_CERT_SET_FIRST 1 +# define SSL_CERT_SET_NEXT 2 +# define SSL_CERT_SET_SERVER 3 +# define DTLSv1_get_timeout(ssl, arg) \ + SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg) +# define DTLSv1_handle_timeout(ssl) \ + SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) +# define DTLSv1_listen(ssl, peer) \ + SSL_ctrl(ssl,DTLS_CTRL_LISTEN,0, (void *)peer) +# define SSL_session_reused(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,0,NULL) +# define SSL_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_clear_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_total_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) +# define SSL_CTX_need_tmp_RSA(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL) +# define SSL_CTX_set_tmp_rsa(ctx,rsa) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) +# define SSL_CTX_set_tmp_dh(ctx,dh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +# define SSL_need_tmp_RSA(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_NEED_TMP_RSA,0,NULL) +# define SSL_set_tmp_rsa(ssl,rsa) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) +# define SSL_set_tmp_dh(ssl,dh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +# define SSL_set_tmp_ecdh(ssl,ecdh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +# define SSL_CTX_add_extra_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) +# define SSL_CTX_get_extra_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509) +# define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509) +# define SSL_CTX_clear_extra_chain_certs(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) +# define SSL_CTX_set0_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) +# define SSL_CTX_set1_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) +# define SSL_CTX_add0_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) +# define SSL_CTX_add1_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) +# define SSL_CTX_get0_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_CTX_clear_chain_certs(ctx) \ + SSL_CTX_set0_chain(ctx,NULL) +# define SSL_CTX_build_cert_chain(ctx, flags) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_CTX_select_current_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) +# define SSL_CTX_set_current_cert(ctx, op) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_CTX_set0_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) +# define SSL_CTX_set1_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) +# define SSL_CTX_set0_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) +# define SSL_CTX_set1_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) +# define SSL_set0_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) +# define SSL_set1_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) +# define SSL_add0_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) +# define SSL_add1_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) +# define SSL_get0_chain_certs(ctx,px509) \ + SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_clear_chain_certs(ctx) \ + SSL_set0_chain(ctx,NULL) +# define SSL_build_cert_chain(s, flags) \ + SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_select_current_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) +# define SSL_set_current_cert(ctx,op) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_set0_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) +# define SSL_set1_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) +# define SSL_set0_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) +# define SSL_set1_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) +# define SSL_get1_curves(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_GET_CURVES,0,(char *)s) +# define SSL_CTX_set1_curves(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) +# define SSL_CTX_set1_curves_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) +# define SSL_set1_curves(ctx, clist, clistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) +# define SSL_set1_curves_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) +# define SSL_get_shared_curve(s, n) \ + SSL_ctrl(s,SSL_CTRL_GET_SHARED_CURVE,n,NULL) +# define SSL_CTX_set_ecdh_auto(ctx, onoff) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) +# define SSL_set_ecdh_auto(s, onoff) \ + SSL_ctrl(s,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) +# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) +# define SSL_CTX_set1_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) +# define SSL_set1_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) +# define SSL_set1_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) +# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)slist) +# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) +# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)slist) +# define SSL_set1_client_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) +# define SSL_get0_certificate_types(s, clist) \ + SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)clist) +# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) +# define SSL_set1_client_certificate_types(s, clist, clistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) +# define SSL_get_peer_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) +# define SSL_get_server_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) +# define SSL_get0_raw_cipherlist(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,(char *)plst) +# define SSL_get0_ec_point_formats(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,(char *)plst) +# ifndef OPENSSL_NO_BIO +BIO_METHOD *BIO_f_ssl(void); +BIO *BIO_new_ssl(SSL_CTX *ctx, int client); +BIO *BIO_new_ssl_connect(SSL_CTX *ctx); +BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); +int BIO_ssl_copy_session_id(BIO *to, BIO *from); +void BIO_ssl_shutdown(BIO *ssl_bio); + +# endif + +int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); +SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); +void SSL_CTX_free(SSL_CTX *); +long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); +long SSL_CTX_get_timeout(const SSL_CTX *ctx); +X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); +void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); +int SSL_want(const SSL *s); +int SSL_clear(SSL *s); + +void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm); + +const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); +int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); +char *SSL_CIPHER_get_version(const SSL_CIPHER *c); +const char *SSL_CIPHER_get_name(const SSL_CIPHER *c); +unsigned long SSL_CIPHER_get_id(const SSL_CIPHER *c); + +int SSL_get_fd(const SSL *s); +int SSL_get_rfd(const SSL *s); +int SSL_get_wfd(const SSL *s); +const char *SSL_get_cipher_list(const SSL *s, int n); +char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size); +int SSL_get_read_ahead(const SSL *s); +int SSL_pending(const SSL *s); +# ifndef OPENSSL_NO_SOCK +int SSL_set_fd(SSL *s, int fd); +int SSL_set_rfd(SSL *s, int fd); +int SSL_set_wfd(SSL *s, int fd); +# endif +# ifndef OPENSSL_NO_BIO +void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); +BIO *SSL_get_rbio(const SSL *s); +BIO *SSL_get_wbio(const SSL *s); +# endif +int SSL_set_cipher_list(SSL *s, const char *str); +void SSL_set_read_ahead(SSL *s, int yes); +int SSL_get_verify_mode(const SSL *s); +int SSL_get_verify_depth(const SSL *s); +int (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *); +void SSL_set_verify(SSL *s, int mode, + int (*callback) (int ok, X509_STORE_CTX *ctx)); +void SSL_set_verify_depth(SSL *s, int depth); +void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg); +# ifndef OPENSSL_NO_RSA +int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); +# endif +int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len); +int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); +int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, + long len); +int SSL_use_certificate(SSL *ssl, X509 *x); +int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); + +# ifndef OPENSSL_NO_TLSEXT +/* Set serverinfo data for the current active cert. */ +int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, + size_t serverinfo_length); +# ifndef OPENSSL_NO_STDIO +int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); +# endif /* NO_STDIO */ + +# endif + +# ifndef OPENSSL_NO_STDIO +int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); +int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); +int SSL_use_certificate_file(SSL *ssl, const char *file, int type); +int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); +int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); +int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); +/* PEM type */ +int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); +STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); +int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *file); +# ifndef OPENSSL_SYS_VMS +/* XXXXX: Better scheme needed! [was: #ifndef MAC_OS_pre_X] */ +# ifndef OPENSSL_SYS_MACINTOSH_CLASSIC +int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *dir); +# endif +# endif + +# endif + +void SSL_load_error_strings(void); +const char *SSL_state_string(const SSL *s); +const char *SSL_rstate_string(const SSL *s); +const char *SSL_state_string_long(const SSL *s); +const char *SSL_rstate_string_long(const SSL *s); +long SSL_SESSION_get_time(const SSL_SESSION *s); +long SSL_SESSION_set_time(SSL_SESSION *s, long t); +long SSL_SESSION_get_timeout(const SSL_SESSION *s); +long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); +void SSL_copy_session_id(SSL *to, const SSL *from); +X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); +int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +SSL_SESSION *SSL_SESSION_new(void); +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, + unsigned int *len); +unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); +# ifndef OPENSSL_NO_FP_API +int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); +# endif +# ifndef OPENSSL_NO_BIO +int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); +# endif +void SSL_SESSION_free(SSL_SESSION *ses); +int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); +int SSL_set_session(SSL *to, SSL_SESSION *session); +int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); +int SSL_CTX_remove_session(SSL_CTX *, SSL_SESSION *c); +int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB); +int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB); +int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id, + unsigned int id_len); +SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, + long length); + +# ifdef HEADER_X509_H +X509 *SSL_get_peer_certificate(const SSL *s); +# endif + +STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); + +int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); +int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); +int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx)) (int, + X509_STORE_CTX *); +void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, + int (*callback) (int, X509_STORE_CTX *)); +void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); +void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, + int (*cb) (X509_STORE_CTX *, void *), + void *arg); +void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), + void *arg); +# ifndef OPENSSL_NO_RSA +int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); +# endif +int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, + long len); +int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); +int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, + const unsigned char *d, long len); +int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); +int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, + const unsigned char *d); + +void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); +void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); + +int SSL_CTX_check_private_key(const SSL_CTX *ctx); +int SSL_check_private_key(const SSL *ctx); + +int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +SSL *SSL_new(SSL_CTX *ctx); +int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +int SSL_CTX_set_purpose(SSL_CTX *s, int purpose); +int SSL_set_purpose(SSL *s, int purpose); +int SSL_CTX_set_trust(SSL_CTX *s, int trust); +int SSL_set_trust(SSL *s, int trust); + +int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); +int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); + +X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); +X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); + +# ifndef OPENSSL_NO_SRP +int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); +int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); +int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); +int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, + char *(*cb) (SSL *, void *)); +int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, + int (*cb) (SSL *, void *)); +int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, + int (*cb) (SSL *, int *, void *)); +int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); + +int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, + BIGNUM *sa, BIGNUM *v, char *info); +int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, + const char *grp); + +BIGNUM *SSL_get_srp_g(SSL *s); +BIGNUM *SSL_get_srp_N(SSL *s); + +char *SSL_get_srp_username(SSL *s); +char *SSL_get_srp_userinfo(SSL *s); +# endif + +void SSL_certs_clear(SSL *s); +void SSL_free(SSL *ssl); +int SSL_accept(SSL *ssl); +int SSL_connect(SSL *ssl); +int SSL_read(SSL *ssl, void *buf, int num); +int SSL_peek(SSL *ssl, void *buf, int num); +int SSL_write(SSL *ssl, const void *buf, int num); +long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg); +long SSL_callback_ctrl(SSL *, int, void (*)(void)); +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg); +long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); + +int SSL_get_error(const SSL *s, int ret_code); +const char *SSL_get_version(const SSL *s); + +/* This sets the 'default' SSL version that SSL_new() will create */ +int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); + +# ifndef OPENSSL_NO_SSL2_METHOD +const SSL_METHOD *SSLv2_method(void); /* SSLv2 */ +const SSL_METHOD *SSLv2_server_method(void); /* SSLv2 */ +const SSL_METHOD *SSLv2_client_method(void); /* SSLv2 */ +# endif + +# ifndef OPENSSL_NO_SSL3_METHOD +const SSL_METHOD *SSLv3_method(void); /* SSLv3 */ +const SSL_METHOD *SSLv3_server_method(void); /* SSLv3 */ +const SSL_METHOD *SSLv3_client_method(void); /* SSLv3 */ +# endif + +const SSL_METHOD *SSLv23_method(void); /* Negotiate highest available SSL/TLS + * version */ +const SSL_METHOD *SSLv23_server_method(void); /* Negotiate highest available + * SSL/TLS version */ +const SSL_METHOD *SSLv23_client_method(void); /* Negotiate highest available + * SSL/TLS version */ + +const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */ +const SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */ +const SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */ + +const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */ +const SSL_METHOD *TLSv1_1_server_method(void); /* TLSv1.1 */ +const SSL_METHOD *TLSv1_1_client_method(void); /* TLSv1.1 */ + +const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */ +const SSL_METHOD *TLSv1_2_server_method(void); /* TLSv1.2 */ +const SSL_METHOD *TLSv1_2_client_method(void); /* TLSv1.2 */ + +const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */ +const SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */ +const SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */ + +const SSL_METHOD *DTLSv1_2_method(void); /* DTLSv1.2 */ +const SSL_METHOD *DTLSv1_2_server_method(void); /* DTLSv1.2 */ +const SSL_METHOD *DTLSv1_2_client_method(void); /* DTLSv1.2 */ + +const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */ +const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ +const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ + +STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); + +int SSL_do_handshake(SSL *s); +int SSL_renegotiate(SSL *s); +int SSL_renegotiate_abbreviated(SSL *s); +int SSL_renegotiate_pending(SSL *s); +int SSL_shutdown(SSL *s); + +const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx); +const SSL_METHOD *SSL_get_ssl_method(SSL *s); +int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); +const char *SSL_alert_type_string_long(int value); +const char *SSL_alert_type_string(int value); +const char *SSL_alert_desc_string_long(int value); +const char *SSL_alert_desc_string(int value); + +void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); +STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); +int SSL_add_client_CA(SSL *ssl, X509 *x); +int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); + +void SSL_set_connect_state(SSL *s); +void SSL_set_accept_state(SSL *s); + +long SSL_get_default_timeout(const SSL *s); + +int SSL_library_init(void); + +char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); +STACK_OF(X509_NAME) *SSL_dup_CA_list(STACK_OF(X509_NAME) *sk); + +SSL *SSL_dup(SSL *ssl); + +X509 *SSL_get_certificate(const SSL *ssl); +/* + * EVP_PKEY + */ struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); + +X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); + +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); +int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +void SSL_set_quiet_shutdown(SSL *ssl, int mode); +int SSL_get_quiet_shutdown(const SSL *ssl); +void SSL_set_shutdown(SSL *ssl, int mode); +int SSL_get_shutdown(const SSL *ssl); +int SSL_version(const SSL *ssl); +int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath); +# define SSL_get0_session SSL_get_session/* just peek at pointer */ +SSL_SESSION *SSL_get_session(const SSL *ssl); +SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ +SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); +SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); +void SSL_set_info_callback(SSL *ssl, + void (*cb) (const SSL *ssl, int type, int val)); +void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type, + int val); +int SSL_state(const SSL *ssl); +void SSL_set_state(SSL *ssl, int state); + +void SSL_set_verify_result(SSL *ssl, long v); +long SSL_get_verify_result(const SSL *ssl); + +int SSL_set_ex_data(SSL *ssl, int idx, void *data); +void *SSL_get_ex_data(const SSL *ssl, int idx); +int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); + +int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx); +int SSL_SESSION_get_ex_new_index(long argl, void *argp, + CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); + +int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); +void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx); +int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); + +int SSL_get_ex_data_X509_STORE_CTX_idx(void); + +# define SSL_CTX_sess_set_cache_size(ctx,t) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) +# define SSL_CTX_sess_get_cache_size(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) +# define SSL_CTX_set_session_cache_mode(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) +# define SSL_CTX_get_session_cache_mode(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) + +# define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) +# define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) +# define SSL_CTX_get_read_ahead(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) +# define SSL_CTX_set_read_ahead(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) +# define SSL_CTX_get_max_cert_list(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_CTX_set_max_cert_list(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) +# define SSL_get_max_cert_list(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_set_max_cert_list(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) + +# define SSL_CTX_set_max_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_set_max_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) + + /* NB: the keylength is only applicable when is_export is true */ +# ifndef OPENSSL_NO_RSA +void SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, + RSA *(*cb) (SSL *ssl, int is_export, + int keylength)); + +void SSL_set_tmp_rsa_callback(SSL *ssl, + RSA *(*cb) (SSL *ssl, int is_export, + int keylength)); +# endif +# ifndef OPENSSL_NO_DH +void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +void SSL_set_tmp_dh_callback(SSL *ssl, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +# endif +# ifndef OPENSSL_NO_ECDH +void SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx, + EC_KEY *(*ecdh) (SSL *ssl, int is_export, + int keylength)); +void SSL_set_tmp_ecdh_callback(SSL *ssl, + EC_KEY *(*ecdh) (SSL *ssl, int is_export, + int keylength)); +# endif + +const COMP_METHOD *SSL_get_current_compression(SSL *s); +const COMP_METHOD *SSL_get_current_expansion(SSL *s); +const char *SSL_COMP_get_name(const COMP_METHOD *comp); +STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); +STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) + *meths); +void SSL_COMP_free_compression_methods(void); +int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); + +const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); + +/* TLS extensions functions */ +int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); + +int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb, + void *arg); + +/* Pre-shared secret session resumption functions */ +int SSL_set_session_secret_cb(SSL *s, + tls_session_secret_cb_fn tls_session_secret_cb, + void *arg); + +void SSL_set_debug(SSL *s, int debug); +int SSL_cache_hit(SSL *s); +int SSL_is_server(SSL *s); + +SSL_CONF_CTX *SSL_CONF_CTX_new(void); +int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); +void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); +unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); +unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned int flags); +int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); + +void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl); +void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx); + +int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); +int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); +int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); + +# ifndef OPENSSL_NO_SSL_TRACE +void SSL_trace(int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); +const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); +# endif + +# ifndef OPENSSL_NO_UNIT_TEST +const struct openssl_ssl_test_functions *SSL_test_functions(void); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_SSL_strings(void); + +/* Error codes for the SSL functions. */ + +/* Function codes. */ +# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 +# define SSL_F_CLIENT_CERTIFICATE 100 +# define SSL_F_CLIENT_FINISHED 167 +# define SSL_F_CLIENT_HELLO 101 +# define SSL_F_CLIENT_MASTER_KEY 102 +# define SSL_F_D2I_SSL_SESSION 103 +# define SSL_F_DO_DTLS1_WRITE 245 +# define SSL_F_DO_SSL3_WRITE 104 +# define SSL_F_DTLS1_ACCEPT 246 +# define SSL_F_DTLS1_ADD_CERT_TO_BUF 295 +# define SSL_F_DTLS1_BUFFER_RECORD 247 +# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 316 +# define SSL_F_DTLS1_CLIENT_HELLO 248 +# define SSL_F_DTLS1_CONNECT 249 +# define SSL_F_DTLS1_ENC 250 +# define SSL_F_DTLS1_GET_HELLO_VERIFY 251 +# define SSL_F_DTLS1_GET_MESSAGE 252 +# define SSL_F_DTLS1_GET_MESSAGE_FRAGMENT 253 +# define SSL_F_DTLS1_GET_RECORD 254 +# define SSL_F_DTLS1_HANDLE_TIMEOUT 297 +# define SSL_F_DTLS1_HEARTBEAT 305 +# define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255 +# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 +# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424 +# define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256 +# define SSL_F_DTLS1_PROCESS_RECORD 257 +# define SSL_F_DTLS1_READ_BYTES 258 +# define SSL_F_DTLS1_READ_FAILED 259 +# define SSL_F_DTLS1_SEND_CERTIFICATE_REQUEST 260 +# define SSL_F_DTLS1_SEND_CLIENT_CERTIFICATE 261 +# define SSL_F_DTLS1_SEND_CLIENT_KEY_EXCHANGE 262 +# define SSL_F_DTLS1_SEND_CLIENT_VERIFY 263 +# define SSL_F_DTLS1_SEND_HELLO_VERIFY_REQUEST 264 +# define SSL_F_DTLS1_SEND_SERVER_CERTIFICATE 265 +# define SSL_F_DTLS1_SEND_SERVER_HELLO 266 +# define SSL_F_DTLS1_SEND_SERVER_KEY_EXCHANGE 267 +# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 +# define SSL_F_GET_CLIENT_FINISHED 105 +# define SSL_F_GET_CLIENT_HELLO 106 +# define SSL_F_GET_CLIENT_MASTER_KEY 107 +# define SSL_F_GET_SERVER_FINISHED 108 +# define SSL_F_GET_SERVER_HELLO 109 +# define SSL_F_GET_SERVER_STATIC_DH_KEY 340 +# define SSL_F_GET_SERVER_VERIFY 110 +# define SSL_F_I2D_SSL_SESSION 111 +# define SSL_F_READ_N 112 +# define SSL_F_REQUEST_CERTIFICATE 113 +# define SSL_F_SERVER_FINISH 239 +# define SSL_F_SERVER_HELLO 114 +# define SSL_F_SERVER_VERIFY 240 +# define SSL_F_SSL23_ACCEPT 115 +# define SSL_F_SSL23_CLIENT_HELLO 116 +# define SSL_F_SSL23_CONNECT 117 +# define SSL_F_SSL23_GET_CLIENT_HELLO 118 +# define SSL_F_SSL23_GET_SERVER_HELLO 119 +# define SSL_F_SSL23_PEEK 237 +# define SSL_F_SSL23_READ 120 +# define SSL_F_SSL23_WRITE 121 +# define SSL_F_SSL2_ACCEPT 122 +# define SSL_F_SSL2_CONNECT 123 +# define SSL_F_SSL2_ENC_INIT 124 +# define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241 +# define SSL_F_SSL2_PEEK 234 +# define SSL_F_SSL2_READ 125 +# define SSL_F_SSL2_READ_INTERNAL 236 +# define SSL_F_SSL2_SET_CERTIFICATE 126 +# define SSL_F_SSL2_WRITE 127 +# define SSL_F_SSL3_ACCEPT 128 +# define SSL_F_SSL3_ADD_CERT_TO_BUF 296 +# define SSL_F_SSL3_CALLBACK_CTRL 233 +# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 +# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 +# define SSL_F_SSL3_CHECK_CLIENT_HELLO 304 +# define SSL_F_SSL3_CHECK_FINISHED 339 +# define SSL_F_SSL3_CLIENT_HELLO 131 +# define SSL_F_SSL3_CONNECT 132 +# define SSL_F_SSL3_CTRL 213 +# define SSL_F_SSL3_CTX_CTRL 133 +# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 +# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 +# define SSL_F_SSL3_ENC 134 +# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 +# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388 +# define SSL_F_SSL3_GET_CERTIFICATE_REQUEST 135 +# define SSL_F_SSL3_GET_CERT_STATUS 289 +# define SSL_F_SSL3_GET_CERT_VERIFY 136 +# define SSL_F_SSL3_GET_CLIENT_CERTIFICATE 137 +# define SSL_F_SSL3_GET_CLIENT_HELLO 138 +# define SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE 139 +# define SSL_F_SSL3_GET_FINISHED 140 +# define SSL_F_SSL3_GET_KEY_EXCHANGE 141 +# define SSL_F_SSL3_GET_MESSAGE 142 +# define SSL_F_SSL3_GET_NEW_SESSION_TICKET 283 +# define SSL_F_SSL3_GET_NEXT_PROTO 306 +# define SSL_F_SSL3_GET_RECORD 143 +# define SSL_F_SSL3_GET_SERVER_CERTIFICATE 144 +# define SSL_F_SSL3_GET_SERVER_DONE 145 +# define SSL_F_SSL3_GET_SERVER_HELLO 146 +# define SSL_F_SSL3_HANDSHAKE_MAC 285 +# define SSL_F_SSL3_NEW_SESSION_TICKET 287 +# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 +# define SSL_F_SSL3_PEEK 235 +# define SSL_F_SSL3_READ_BYTES 148 +# define SSL_F_SSL3_READ_N 149 +# define SSL_F_SSL3_SEND_CERTIFICATE_REQUEST 150 +# define SSL_F_SSL3_SEND_CLIENT_CERTIFICATE 151 +# define SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE 152 +# define SSL_F_SSL3_SEND_CLIENT_VERIFY 153 +# define SSL_F_SSL3_SEND_SERVER_CERTIFICATE 154 +# define SSL_F_SSL3_SEND_SERVER_HELLO 242 +# define SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE 155 +# define SSL_F_SSL3_SETUP_KEY_BLOCK 157 +# define SSL_F_SSL3_SETUP_READ_BUFFER 156 +# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 +# define SSL_F_SSL3_WRITE_BYTES 158 +# define SSL_F_SSL3_WRITE_PENDING 159 +# define SSL_F_SSL_ADD_CERT_CHAIN 318 +# define SSL_F_SSL_ADD_CERT_TO_BUF 319 +# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 +# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 +# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 +# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 +# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 +# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 +# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 +# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 +# define SSL_F_SSL_BAD_METHOD 160 +# define SSL_F_SSL_BUILD_CERT_CHAIN 332 +# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 +# define SSL_F_SSL_CERT_DUP 221 +# define SSL_F_SSL_CERT_INST 222 +# define SSL_F_SSL_CERT_INSTANTIATE 214 +# define SSL_F_SSL_CERT_NEW 162 +# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 +# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 +# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 +# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 +# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 +# define SSL_F_SSL_CLEAR 164 +# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 +# define SSL_F_SSL_CONF_CMD 334 +# define SSL_F_SSL_CREATE_CIPHER_LIST 166 +# define SSL_F_SSL_CTRL 232 +# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 +# define SSL_F_SSL_CTX_MAKE_PROFILES 309 +# define SSL_F_SSL_CTX_NEW 169 +# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 +# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 +# define SSL_F_SSL_CTX_SET_PURPOSE 226 +# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 +# define SSL_F_SSL_CTX_SET_SSL_VERSION 170 +# define SSL_F_SSL_CTX_SET_TRUST 229 +# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE 220 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 +# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 +# define SSL_F_SSL_CTX_USE_SERVERINFO 336 +# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337 +# define SSL_F_SSL_DO_HANDSHAKE 180 +# define SSL_F_SSL_GET_NEW_SESSION 181 +# define SSL_F_SSL_GET_PREV_SESSION 217 +# define SSL_F_SSL_GET_SERVER_CERT_INDEX 322 +# define SSL_F_SSL_GET_SERVER_SEND_CERT 182 +# define SSL_F_SSL_GET_SERVER_SEND_PKEY 317 +# define SSL_F_SSL_GET_SIGN_PKEY 183 +# define SSL_F_SSL_INIT_WBIO_BUFFER 184 +# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +# define SSL_F_SSL_NEW 186 +# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 +# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 +# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 +# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 +# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 +# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 +# define SSL_F_SSL_PEEK 270 +# define SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT 281 +# define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT 282 +# define SSL_F_SSL_READ 223 +# define SSL_F_SSL_RSA_PRIVATE_DECRYPT 187 +# define SSL_F_SSL_RSA_PUBLIC_ENCRYPT 188 +# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320 +# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 +# define SSL_F_SSL_SESSION_DUP 348 +# define SSL_F_SSL_SESSION_NEW 189 +# define SSL_F_SSL_SESSION_PRINT_FP 190 +# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 +# define SSL_F_SSL_SESS_CERT_NEW 225 +# define SSL_F_SSL_SET_CERT 191 +# define SSL_F_SSL_SET_CIPHER_LIST 271 +# define SSL_F_SSL_SET_FD 192 +# define SSL_F_SSL_SET_PKEY 193 +# define SSL_F_SSL_SET_PURPOSE 227 +# define SSL_F_SSL_SET_RFD 194 +# define SSL_F_SSL_SET_SESSION 195 +# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 +# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 +# define SSL_F_SSL_SET_TRUST 228 +# define SSL_F_SSL_SET_WFD 196 +# define SSL_F_SSL_SHUTDOWN 224 +# define SSL_F_SSL_SRP_CTX_INIT 313 +# define SSL_F_SSL_UNDEFINED_CONST_FUNCTION 243 +# define SSL_F_SSL_UNDEFINED_FUNCTION 197 +# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 +# define SSL_F_SSL_USE_CERTIFICATE 198 +# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 +# define SSL_F_SSL_USE_CERTIFICATE_FILE 200 +# define SSL_F_SSL_USE_PRIVATEKEY 201 +# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 +# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 +# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 +# define SSL_F_SSL_USE_RSAPRIVATEKEY 204 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 +# define SSL_F_SSL_VERIFY_CERT_CHAIN 207 +# define SSL_F_SSL_WRITE 208 +# define SSL_F_TLS12_CHECK_PEER_SIGALG 333 +# define SSL_F_TLS1_CERT_VERIFY_MAC 286 +# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 +# define SSL_F_TLS1_CHECK_SERVERHELLO_TLSEXT 274 +# define SSL_F_TLS1_ENC 210 +# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 +# define SSL_F_TLS1_GET_CURVELIST 338 +# define SSL_F_TLS1_HEARTBEAT 315 +# define SSL_F_TLS1_PREPARE_CLIENTHELLO_TLSEXT 275 +# define SSL_F_TLS1_PREPARE_SERVERHELLO_TLSEXT 276 +# define SSL_F_TLS1_PRF 284 +# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 +# define SSL_F_TLS1_SET_SERVER_SIGALGS 335 +# define SSL_F_WRITE_PENDING 212 + +/* Reason codes. */ +# define SSL_R_APP_DATA_IN_HANDSHAKE 100 +# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 +# define SSL_R_BAD_ALERT_RECORD 101 +# define SSL_R_BAD_AUTHENTICATION_TYPE 102 +# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 +# define SSL_R_BAD_CHECKSUM 104 +# define SSL_R_BAD_DATA 390 +# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 +# define SSL_R_BAD_DECOMPRESSION 107 +# define SSL_R_BAD_DH_G_LENGTH 108 +# define SSL_R_BAD_DH_G_VALUE 375 +# define SSL_R_BAD_DH_PUB_KEY_LENGTH 109 +# define SSL_R_BAD_DH_PUB_KEY_VALUE 393 +# define SSL_R_BAD_DH_P_LENGTH 110 +# define SSL_R_BAD_DH_P_VALUE 395 +# define SSL_R_BAD_DIGEST_LENGTH 111 +# define SSL_R_BAD_DSA_SIGNATURE 112 +# define SSL_R_BAD_ECC_CERT 304 +# define SSL_R_BAD_ECDSA_SIGNATURE 305 +# define SSL_R_BAD_ECPOINT 306 +# define SSL_R_BAD_HANDSHAKE_LENGTH 332 +# define SSL_R_BAD_HELLO_REQUEST 105 +# define SSL_R_BAD_LENGTH 271 +# define SSL_R_BAD_MAC_DECODE 113 +# define SSL_R_BAD_MAC_LENGTH 333 +# define SSL_R_BAD_MESSAGE_TYPE 114 +# define SSL_R_BAD_PACKET_LENGTH 115 +# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 +# define SSL_R_BAD_PSK_IDENTITY_HINT_LENGTH 316 +# define SSL_R_BAD_RESPONSE_ARGUMENT 117 +# define SSL_R_BAD_RSA_DECRYPT 118 +# define SSL_R_BAD_RSA_ENCRYPT 119 +# define SSL_R_BAD_RSA_E_LENGTH 120 +# define SSL_R_BAD_RSA_MODULUS_LENGTH 121 +# define SSL_R_BAD_RSA_SIGNATURE 122 +# define SSL_R_BAD_SIGNATURE 123 +# define SSL_R_BAD_SRP_A_LENGTH 347 +# define SSL_R_BAD_SRP_B_LENGTH 348 +# define SSL_R_BAD_SRP_G_LENGTH 349 +# define SSL_R_BAD_SRP_N_LENGTH 350 +# define SSL_R_BAD_SRP_PARAMETERS 371 +# define SSL_R_BAD_SRP_S_LENGTH 351 +# define SSL_R_BAD_SRTP_MKI_VALUE 352 +# define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353 +# define SSL_R_BAD_SSL_FILETYPE 124 +# define SSL_R_BAD_SSL_SESSION_ID_LENGTH 125 +# define SSL_R_BAD_STATE 126 +# define SSL_R_BAD_VALUE 384 +# define SSL_R_BAD_WRITE_RETRY 127 +# define SSL_R_BIO_NOT_SET 128 +# define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129 +# define SSL_R_BN_LIB 130 +# define SSL_R_CA_DN_LENGTH_MISMATCH 131 +# define SSL_R_CA_DN_TOO_LONG 132 +# define SSL_R_CCS_RECEIVED_EARLY 133 +# define SSL_R_CERTIFICATE_VERIFY_FAILED 134 +# define SSL_R_CERT_CB_ERROR 377 +# define SSL_R_CERT_LENGTH_MISMATCH 135 +# define SSL_R_CHALLENGE_IS_DIFFERENT 136 +# define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 +# define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 +# define SSL_R_CIPHER_TABLE_SRC_ERROR 139 +# define SSL_R_CLIENTHELLO_TLSEXT 226 +# define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140 +# define SSL_R_COMPRESSION_DISABLED 343 +# define SSL_R_COMPRESSION_FAILURE 141 +# define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307 +# define SSL_R_COMPRESSION_LIBRARY_ERROR 142 +# define SSL_R_CONNECTION_ID_IS_DIFFERENT 143 +# define SSL_R_CONNECTION_TYPE_NOT_SET 144 +# define SSL_R_COOKIE_MISMATCH 308 +# define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145 +# define SSL_R_DATA_LENGTH_TOO_LONG 146 +# define SSL_R_DECRYPTION_FAILED 147 +# define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281 +# define SSL_R_DH_KEY_TOO_SMALL 372 +# define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148 +# define SSL_R_DIGEST_CHECK_FAILED 149 +# define SSL_R_DTLS_MESSAGE_TOO_BIG 334 +# define SSL_R_DUPLICATE_COMPRESSION_ID 309 +# define SSL_R_ECC_CERT_NOT_FOR_KEY_AGREEMENT 317 +# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 +# define SSL_R_ECC_CERT_SHOULD_HAVE_RSA_SIGNATURE 322 +# define SSL_R_ECC_CERT_SHOULD_HAVE_SHA1_SIGNATURE 323 +# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE 374 +# define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310 +# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 +# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 +# define SSL_R_ERROR_GENERATING_TMP_RSA_KEY 282 +# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 +# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 +# define SSL_R_EXTRA_DATA_IN_MESSAGE 153 +# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 +# define SSL_R_GOT_NEXT_PROTO_BEFORE_A_CCS 355 +# define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 356 +# define SSL_R_HTTPS_PROXY_REQUEST 155 +# define SSL_R_HTTP_REQUEST 156 +# define SSL_R_ILLEGAL_PADDING 283 +# define SSL_R_ILLEGAL_SUITEB_DIGEST 380 +# define SSL_R_INAPPROPRIATE_FALLBACK 373 +# define SSL_R_INCONSISTENT_COMPRESSION 340 +# define SSL_R_INVALID_CHALLENGE_LENGTH 158 +# define SSL_R_INVALID_COMMAND 280 +# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 +# define SSL_R_INVALID_NULL_CMD_NAME 385 +# define SSL_R_INVALID_PURPOSE 278 +# define SSL_R_INVALID_SERVERINFO_DATA 388 +# define SSL_R_INVALID_SRP_USERNAME 357 +# define SSL_R_INVALID_STATUS_RESPONSE 328 +# define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 +# define SSL_R_INVALID_TRUST 279 +# define SSL_R_KEY_ARG_TOO_LONG 284 +# define SSL_R_KRB5 285 +# define SSL_R_KRB5_C_CC_PRINC 286 +# define SSL_R_KRB5_C_GET_CRED 287 +# define SSL_R_KRB5_C_INIT 288 +# define SSL_R_KRB5_C_MK_REQ 289 +# define SSL_R_KRB5_S_BAD_TICKET 290 +# define SSL_R_KRB5_S_INIT 291 +# define SSL_R_KRB5_S_RD_REQ 292 +# define SSL_R_KRB5_S_TKT_EXPIRED 293 +# define SSL_R_KRB5_S_TKT_NYV 294 +# define SSL_R_KRB5_S_TKT_SKEW 295 +# define SSL_R_LENGTH_MISMATCH 159 +# define SSL_R_LENGTH_TOO_LONG 404 +# define SSL_R_LENGTH_TOO_SHORT 160 +# define SSL_R_LIBRARY_BUG 274 +# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 +# define SSL_R_MESSAGE_TOO_LONG 296 +# define SSL_R_MISSING_DH_DSA_CERT 162 +# define SSL_R_MISSING_DH_KEY 163 +# define SSL_R_MISSING_DH_RSA_CERT 164 +# define SSL_R_MISSING_DSA_SIGNING_CERT 165 +# define SSL_R_MISSING_ECDH_CERT 382 +# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381 +# define SSL_R_MISSING_EXPORT_TMP_DH_KEY 166 +# define SSL_R_MISSING_EXPORT_TMP_RSA_KEY 167 +# define SSL_R_MISSING_RSA_CERTIFICATE 168 +# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 +# define SSL_R_MISSING_RSA_SIGNING_CERT 170 +# define SSL_R_MISSING_SRP_PARAM 358 +# define SSL_R_MISSING_TMP_DH_KEY 171 +# define SSL_R_MISSING_TMP_ECDH_KEY 311 +# define SSL_R_MISSING_TMP_RSA_KEY 172 +# define SSL_R_MISSING_TMP_RSA_PKEY 173 +# define SSL_R_MISSING_VERIFY_MESSAGE 174 +# define SSL_R_MULTIPLE_SGC_RESTARTS 346 +# define SSL_R_NON_SSLV2_INITIAL_PACKET 175 +# define SSL_R_NO_CERTIFICATES_RETURNED 176 +# define SSL_R_NO_CERTIFICATE_ASSIGNED 177 +# define SSL_R_NO_CERTIFICATE_RETURNED 178 +# define SSL_R_NO_CERTIFICATE_SET 179 +# define SSL_R_NO_CERTIFICATE_SPECIFIED 180 +# define SSL_R_NO_CIPHERS_AVAILABLE 181 +# define SSL_R_NO_CIPHERS_PASSED 182 +# define SSL_R_NO_CIPHERS_SPECIFIED 183 +# define SSL_R_NO_CIPHER_LIST 184 +# define SSL_R_NO_CIPHER_MATCH 185 +# define SSL_R_NO_CLIENT_CERT_METHOD 331 +# define SSL_R_NO_CLIENT_CERT_RECEIVED 186 +# define SSL_R_NO_COMPRESSION_SPECIFIED 187 +# define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330 +# define SSL_R_NO_METHOD_SPECIFIED 188 +# define SSL_R_NO_PEM_EXTENSIONS 389 +# define SSL_R_NO_PRIVATEKEY 189 +# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 +# define SSL_R_NO_PROTOCOLS_AVAILABLE 191 +# define SSL_R_NO_PUBLICKEY 192 +# define SSL_R_NO_RENEGOTIATION 339 +# define SSL_R_NO_REQUIRED_DIGEST 324 +# define SSL_R_NO_SHARED_CIPHER 193 +# define SSL_R_NO_SHARED_SIGATURE_ALGORITHMS 376 +# define SSL_R_NO_SRTP_PROFILES 359 +# define SSL_R_NO_VERIFY_CALLBACK 194 +# define SSL_R_NULL_SSL_CTX 195 +# define SSL_R_NULL_SSL_METHOD_PASSED 196 +# define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 +# define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 +# define SSL_R_ONLY_DTLS_1_2_ALLOWED_IN_SUITEB_MODE 387 +# define SSL_R_ONLY_TLS_1_2_ALLOWED_IN_SUITEB_MODE 379 +# define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297 +# define SSL_R_OPAQUE_PRF_INPUT_TOO_LONG 327 +# define SSL_R_PACKET_LENGTH_TOO_LONG 198 +# define SSL_R_PARSE_TLSEXT 227 +# define SSL_R_PATH_TOO_LONG 270 +# define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199 +# define SSL_R_PEER_ERROR 200 +# define SSL_R_PEER_ERROR_CERTIFICATE 201 +# define SSL_R_PEER_ERROR_NO_CERTIFICATE 202 +# define SSL_R_PEER_ERROR_NO_CIPHER 203 +# define SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE 204 +# define SSL_R_PEM_NAME_BAD_PREFIX 391 +# define SSL_R_PEM_NAME_TOO_SHORT 392 +# define SSL_R_PRE_MAC_LENGTH_TOO_LONG 205 +# define SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS 206 +# define SSL_R_PROTOCOL_IS_SHUTDOWN 207 +# define SSL_R_PSK_IDENTITY_NOT_FOUND 223 +# define SSL_R_PSK_NO_CLIENT_CB 224 +# define SSL_R_PSK_NO_SERVER_CB 225 +# define SSL_R_PUBLIC_KEY_ENCRYPT_ERROR 208 +# define SSL_R_PUBLIC_KEY_IS_NOT_RSA 209 +# define SSL_R_PUBLIC_KEY_NOT_RSA 210 +# define SSL_R_READ_BIO_NOT_SET 211 +# define SSL_R_READ_TIMEOUT_EXPIRED 312 +# define SSL_R_READ_WRONG_PACKET_TYPE 212 +# define SSL_R_RECORD_LENGTH_MISMATCH 213 +# define SSL_R_RECORD_TOO_LARGE 214 +# define SSL_R_RECORD_TOO_SMALL 298 +# define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 +# define SSL_R_RENEGOTIATION_ENCODING_ERR 336 +# define SSL_R_RENEGOTIATION_MISMATCH 337 +# define SSL_R_REQUIRED_CIPHER_MISSING 215 +# define SSL_R_REQUIRED_COMPRESSSION_ALGORITHM_MISSING 342 +# define SSL_R_REUSE_CERT_LENGTH_NOT_ZERO 216 +# define SSL_R_REUSE_CERT_TYPE_NOT_ZERO 217 +# define SSL_R_REUSE_CIPHER_LIST_NOT_ZERO 218 +# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 +# define SSL_R_SERVERHELLO_TLSEXT 275 +# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 +# define SSL_R_SHORT_READ 219 +# define SSL_R_SHUTDOWN_WHILE_IN_INIT 407 +# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 +# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 +# define SSL_R_SRP_A_CALC 361 +# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 +# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 +# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 +# define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221 +# define SSL_R_SSL2_CONNECTION_ID_TOO_LONG 299 +# define SSL_R_SSL3_EXT_INVALID_ECPOINTFORMAT 321 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 +# define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 +# define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222 +# define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 +# define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 +# define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 +# define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 +# define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 +# define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 +# define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 +# define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 +# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 +# define SSL_R_SSL_HANDSHAKE_FAILURE 229 +# define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 +# define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 +# define SSL_R_SSL_SESSION_ID_CONFLICT 302 +# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 +# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 +# define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231 +# define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049 +# define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050 +# define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021 +# define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051 +# define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060 +# define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086 +# define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071 +# define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080 +# define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100 +# define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070 +# define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 +# define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 +# define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 +# define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114 +# define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113 +# define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 +# define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 +# define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 +# define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232 +# define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 +# define SSL_R_TLS_HEARTBEAT_PENDING 366 +# define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 +# define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 +# define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233 +# define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 234 +# define SSL_R_TOO_MANY_WARN_ALERTS 409 +# define SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER 235 +# define SSL_R_UNABLE_TO_DECODE_DH_CERTS 236 +# define SSL_R_UNABLE_TO_DECODE_ECDH_CERTS 313 +# define SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY 237 +# define SSL_R_UNABLE_TO_FIND_DH_PARAMETERS 238 +# define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 +# define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 +# define SSL_R_UNABLE_TO_FIND_SSL_METHOD 240 +# define SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES 241 +# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 +# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 +# define SSL_R_UNEXPECTED_MESSAGE 244 +# define SSL_R_UNEXPECTED_RECORD 245 +# define SSL_R_UNINITIALIZED 276 +# define SSL_R_UNKNOWN_ALERT_TYPE 246 +# define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247 +# define SSL_R_UNKNOWN_CIPHER_RETURNED 248 +# define SSL_R_UNKNOWN_CIPHER_TYPE 249 +# define SSL_R_UNKNOWN_CMD_NAME 386 +# define SSL_R_UNKNOWN_DIGEST 368 +# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250 +# define SSL_R_UNKNOWN_PKEY_TYPE 251 +# define SSL_R_UNKNOWN_PROTOCOL 252 +# define SSL_R_UNKNOWN_REMOTE_ERROR_TYPE 253 +# define SSL_R_UNKNOWN_SSL_VERSION 254 +# define SSL_R_UNKNOWN_STATE 255 +# define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 +# define SSL_R_UNSUPPORTED_CIPHER 256 +# define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 +# define SSL_R_UNSUPPORTED_DIGEST_TYPE 326 +# define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315 +# define SSL_R_UNSUPPORTED_PROTOCOL 258 +# define SSL_R_UNSUPPORTED_SSL_VERSION 259 +# define SSL_R_UNSUPPORTED_STATUS_TYPE 329 +# define SSL_R_USE_SRTP_NOT_NEGOTIATED 369 +# define SSL_R_WRITE_BIO_NOT_SET 260 +# define SSL_R_WRONG_CERTIFICATE_TYPE 383 +# define SSL_R_WRONG_CIPHER_RETURNED 261 +# define SSL_R_WRONG_CURVE 378 +# define SSL_R_WRONG_MESSAGE_TYPE 262 +# define SSL_R_WRONG_NUMBER_OF_KEY_BITS 263 +# define SSL_R_WRONG_SIGNATURE_LENGTH 264 +# define SSL_R_WRONG_SIGNATURE_SIZE 265 +# define SSL_R_WRONG_SIGNATURE_TYPE 370 +# define SSL_R_WRONG_SSL_VERSION 266 +# define SSL_R_WRONG_VERSION_NUMBER 267 +# define SSL_R_X509_LIB 268 +# define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ssl2.h b/openssl/1.0/include/openssl/ssl2.h new file mode 100644 index 0000000..03c7dd8 --- /dev/null +++ b/openssl/1.0/include/openssl/ssl2.h @@ -0,0 +1,265 @@ +/* ssl/ssl2.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_SSL2_H +# define HEADER_SSL2_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Protocol Version Codes */ +# define SSL2_VERSION 0x0002 +# define SSL2_VERSION_MAJOR 0x00 +# define SSL2_VERSION_MINOR 0x02 +/* #define SSL2_CLIENT_VERSION 0x0002 */ +/* #define SSL2_SERVER_VERSION 0x0002 */ + +/* Protocol Message Codes */ +# define SSL2_MT_ERROR 0 +# define SSL2_MT_CLIENT_HELLO 1 +# define SSL2_MT_CLIENT_MASTER_KEY 2 +# define SSL2_MT_CLIENT_FINISHED 3 +# define SSL2_MT_SERVER_HELLO 4 +# define SSL2_MT_SERVER_VERIFY 5 +# define SSL2_MT_SERVER_FINISHED 6 +# define SSL2_MT_REQUEST_CERTIFICATE 7 +# define SSL2_MT_CLIENT_CERTIFICATE 8 + +/* Error Message Codes */ +# define SSL2_PE_UNDEFINED_ERROR 0x0000 +# define SSL2_PE_NO_CIPHER 0x0001 +# define SSL2_PE_NO_CERTIFICATE 0x0002 +# define SSL2_PE_BAD_CERTIFICATE 0x0004 +# define SSL2_PE_UNSUPPORTED_CERTIFICATE_TYPE 0x0006 + +/* Cipher Kind Values */ +# define SSL2_CK_NULL_WITH_MD5 0x02000000/* v3 */ +# define SSL2_CK_RC4_128_WITH_MD5 0x02010080 +# define SSL2_CK_RC4_128_EXPORT40_WITH_MD5 0x02020080 +# define SSL2_CK_RC2_128_CBC_WITH_MD5 0x02030080 +# define SSL2_CK_RC2_128_CBC_EXPORT40_WITH_MD5 0x02040080 +# define SSL2_CK_IDEA_128_CBC_WITH_MD5 0x02050080 +# define SSL2_CK_DES_64_CBC_WITH_MD5 0x02060040 +# define SSL2_CK_DES_64_CBC_WITH_SHA 0x02060140/* v3 */ +# define SSL2_CK_DES_192_EDE3_CBC_WITH_MD5 0x020700c0 +# define SSL2_CK_DES_192_EDE3_CBC_WITH_SHA 0x020701c0/* v3 */ +# define SSL2_CK_RC4_64_WITH_MD5 0x02080080/* MS hack */ + +# define SSL2_CK_DES_64_CFB64_WITH_MD5_1 0x02ff0800/* SSLeay */ +# define SSL2_CK_NULL 0x02ff0810/* SSLeay */ + +# define SSL2_TXT_DES_64_CFB64_WITH_MD5_1 "DES-CFB-M1" +# define SSL2_TXT_NULL_WITH_MD5 "NULL-MD5" +# define SSL2_TXT_RC4_128_WITH_MD5 "RC4-MD5" +# define SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 "EXP-RC4-MD5" +# define SSL2_TXT_RC2_128_CBC_WITH_MD5 "RC2-CBC-MD5" +# define SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 "EXP-RC2-CBC-MD5" +# define SSL2_TXT_IDEA_128_CBC_WITH_MD5 "IDEA-CBC-MD5" +# define SSL2_TXT_DES_64_CBC_WITH_MD5 "DES-CBC-MD5" +# define SSL2_TXT_DES_64_CBC_WITH_SHA "DES-CBC-SHA" +# define SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 "DES-CBC3-MD5" +# define SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA "DES-CBC3-SHA" +# define SSL2_TXT_RC4_64_WITH_MD5 "RC4-64-MD5" + +# define SSL2_TXT_NULL "NULL" + +/* Flags for the SSL_CIPHER.algorithm2 field */ +# define SSL2_CF_5_BYTE_ENC 0x01 +# define SSL2_CF_8_BYTE_ENC 0x02 + +/* Certificate Type Codes */ +# define SSL2_CT_X509_CERTIFICATE 0x01 + +/* Authentication Type Code */ +# define SSL2_AT_MD5_WITH_RSA_ENCRYPTION 0x01 + +# define SSL2_MAX_SSL_SESSION_ID_LENGTH 32 + +/* Upper/Lower Bounds */ +# define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS 256 +# ifdef OPENSSL_SYS_MPE +# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 29998u +# else +# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 32767u + /* 2^15-1 */ +# endif +# define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER 16383/* 2^14-1 */ + +# define SSL2_CHALLENGE_LENGTH 16 +/* + * #define SSL2_CHALLENGE_LENGTH 32 + */ +# define SSL2_MIN_CHALLENGE_LENGTH 16 +# define SSL2_MAX_CHALLENGE_LENGTH 32 +# define SSL2_CONNECTION_ID_LENGTH 16 +# define SSL2_MAX_CONNECTION_ID_LENGTH 16 +# define SSL2_SSL_SESSION_ID_LENGTH 16 +# define SSL2_MAX_CERT_CHALLENGE_LENGTH 32 +# define SSL2_MIN_CERT_CHALLENGE_LENGTH 16 +# define SSL2_MAX_KEY_MATERIAL_LENGTH 24 + +# ifndef HEADER_SSL_LOCL_H +# define CERT char +# endif + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct ssl2_state_st { + int three_byte_header; + int clear_text; /* clear text */ + int escape; /* not used in SSLv2 */ + int ssl2_rollback; /* used if SSLv23 rolled back to SSLv2 */ + /* + * non-blocking io info, used to make sure the same args were passwd + */ + unsigned int wnum; /* number of bytes sent so far */ + int wpend_tot; + const unsigned char *wpend_buf; + int wpend_off; /* offset to data to write */ + int wpend_len; /* number of bytes passwd to write */ + int wpend_ret; /* number of bytes to return to caller */ + /* buffer raw data */ + int rbuf_left; + int rbuf_offs; + unsigned char *rbuf; + unsigned char *wbuf; + unsigned char *write_ptr; /* used to point to the start due to 2/3 byte + * header. */ + unsigned int padding; + unsigned int rlength; /* passed to ssl2_enc */ + int ract_data_length; /* Set when things are encrypted. */ + unsigned int wlength; /* passed to ssl2_enc */ + int wact_data_length; /* Set when things are decrypted. */ + unsigned char *ract_data; + unsigned char *wact_data; + unsigned char *mac_data; + unsigned char *read_key; + unsigned char *write_key; + /* Stuff specifically to do with this SSL session */ + unsigned int challenge_length; + unsigned char challenge[SSL2_MAX_CHALLENGE_LENGTH]; + unsigned int conn_id_length; + unsigned char conn_id[SSL2_MAX_CONNECTION_ID_LENGTH]; + unsigned int key_material_length; + unsigned char key_material[SSL2_MAX_KEY_MATERIAL_LENGTH * 2]; + unsigned long read_sequence; + unsigned long write_sequence; + struct { + unsigned int conn_id_length; + unsigned int cert_type; + unsigned int cert_length; + unsigned int csl; + unsigned int clear; + unsigned int enc; + unsigned char ccl[SSL2_MAX_CERT_CHALLENGE_LENGTH]; + unsigned int cipher_spec_length; + unsigned int session_id_length; + unsigned int clen; + unsigned int rlen; + } tmp; +} SSL2_STATE; + +# endif + +/* SSLv2 */ +/* client */ +# define SSL2_ST_SEND_CLIENT_HELLO_A (0x10|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_HELLO_B (0x11|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_HELLO_A (0x20|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_HELLO_B (0x21|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_MASTER_KEY_A (0x30|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_MASTER_KEY_B (0x31|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_FINISHED_A (0x40|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_FINISHED_B (0x41|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_A (0x50|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_B (0x51|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_C (0x52|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_D (0x53|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_VERIFY_A (0x60|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_VERIFY_B (0x61|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_FINISHED_A (0x70|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_FINISHED_B (0x71|SSL_ST_CONNECT) +# define SSL2_ST_CLIENT_START_ENCRYPTION (0x80|SSL_ST_CONNECT) +# define SSL2_ST_X509_GET_CLIENT_CERTIFICATE (0x90|SSL_ST_CONNECT) +/* server */ +# define SSL2_ST_GET_CLIENT_HELLO_A (0x10|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_HELLO_B (0x11|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_HELLO_C (0x12|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_HELLO_A (0x20|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_HELLO_B (0x21|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_MASTER_KEY_A (0x30|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_MASTER_KEY_B (0x31|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_VERIFY_A (0x40|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_VERIFY_B (0x41|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_VERIFY_C (0x42|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_FINISHED_A (0x50|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_FINISHED_B (0x51|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_FINISHED_A (0x60|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_FINISHED_B (0x61|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_A (0x70|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_B (0x71|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_C (0x72|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_D (0x73|SSL_ST_ACCEPT) +# define SSL2_ST_SERVER_START_ENCRYPTION (0x80|SSL_ST_ACCEPT) +# define SSL2_ST_X509_GET_SERVER_CERTIFICATE (0x90|SSL_ST_ACCEPT) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ssl23.h b/openssl/1.0/include/openssl/ssl23.h new file mode 100644 index 0000000..9de4685 --- /dev/null +++ b/openssl/1.0/include/openssl/ssl23.h @@ -0,0 +1,84 @@ +/* ssl/ssl23.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_SSL23_H +# define HEADER_SSL23_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * client + */ +/* write to server */ +# define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT) +# define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT) +/* read from server */ +# define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT) +# define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT) + +/* server */ +/* read from client */ +# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) +# define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ssl3.h b/openssl/1.0/include/openssl/ssl3.h new file mode 100644 index 0000000..e681d50 --- /dev/null +++ b/openssl/1.0/include/openssl/ssl3.h @@ -0,0 +1,774 @@ +/* ssl/ssl3.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_SSL3_H +# define HEADER_SSL3_H + +# ifndef OPENSSL_NO_COMP +# include +# endif +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Signalling cipher suite value from RFC 5746 + * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV) + */ +# define SSL3_CK_SCSV 0x030000FF + +/* + * Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00 + * (TLS_FALLBACK_SCSV) + */ +# define SSL3_CK_FALLBACK_SCSV 0x03005600 + +# define SSL3_CK_RSA_NULL_MD5 0x03000001 +# define SSL3_CK_RSA_NULL_SHA 0x03000002 +# define SSL3_CK_RSA_RC4_40_MD5 0x03000003 +# define SSL3_CK_RSA_RC4_128_MD5 0x03000004 +# define SSL3_CK_RSA_RC4_128_SHA 0x03000005 +# define SSL3_CK_RSA_RC2_40_MD5 0x03000006 +# define SSL3_CK_RSA_IDEA_128_SHA 0x03000007 +# define SSL3_CK_RSA_DES_40_CBC_SHA 0x03000008 +# define SSL3_CK_RSA_DES_64_CBC_SHA 0x03000009 +# define SSL3_CK_RSA_DES_192_CBC3_SHA 0x0300000A + +# define SSL3_CK_DH_DSS_DES_40_CBC_SHA 0x0300000B +# define SSL3_CK_DH_DSS_DES_64_CBC_SHA 0x0300000C +# define SSL3_CK_DH_DSS_DES_192_CBC3_SHA 0x0300000D +# define SSL3_CK_DH_RSA_DES_40_CBC_SHA 0x0300000E +# define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F +# define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 + +# define SSL3_CK_EDH_DSS_DES_40_CBC_SHA 0x03000011 +# define SSL3_CK_DHE_DSS_DES_40_CBC_SHA SSL3_CK_EDH_DSS_DES_40_CBC_SHA +# define SSL3_CK_EDH_DSS_DES_64_CBC_SHA 0x03000012 +# define SSL3_CK_DHE_DSS_DES_64_CBC_SHA SSL3_CK_EDH_DSS_DES_64_CBC_SHA +# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013 +# define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA SSL3_CK_EDH_DSS_DES_192_CBC3_SHA +# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA 0x03000014 +# define SSL3_CK_DHE_RSA_DES_40_CBC_SHA SSL3_CK_EDH_RSA_DES_40_CBC_SHA +# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA 0x03000015 +# define SSL3_CK_DHE_RSA_DES_64_CBC_SHA SSL3_CK_EDH_RSA_DES_64_CBC_SHA +# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016 +# define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA SSL3_CK_EDH_RSA_DES_192_CBC3_SHA + +# define SSL3_CK_ADH_RC4_40_MD5 0x03000017 +# define SSL3_CK_ADH_RC4_128_MD5 0x03000018 +# define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 +# define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A +# define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B + +# if 0 +# define SSL3_CK_FZA_DMS_NULL_SHA 0x0300001C +# define SSL3_CK_FZA_DMS_FZA_SHA 0x0300001D +# if 0 /* Because it clashes with KRB5, is never + * used any more, and is safe to remove + * according to David Hopwood + * of the + * ietf-tls list */ +# define SSL3_CK_FZA_DMS_RC4_SHA 0x0300001E +# endif +# endif + +/* + * VRS Additional Kerberos5 entries + */ +# define SSL3_CK_KRB5_DES_64_CBC_SHA 0x0300001E +# define SSL3_CK_KRB5_DES_192_CBC3_SHA 0x0300001F +# define SSL3_CK_KRB5_RC4_128_SHA 0x03000020 +# define SSL3_CK_KRB5_IDEA_128_CBC_SHA 0x03000021 +# define SSL3_CK_KRB5_DES_64_CBC_MD5 0x03000022 +# define SSL3_CK_KRB5_DES_192_CBC3_MD5 0x03000023 +# define SSL3_CK_KRB5_RC4_128_MD5 0x03000024 +# define SSL3_CK_KRB5_IDEA_128_CBC_MD5 0x03000025 + +# define SSL3_CK_KRB5_DES_40_CBC_SHA 0x03000026 +# define SSL3_CK_KRB5_RC2_40_CBC_SHA 0x03000027 +# define SSL3_CK_KRB5_RC4_40_SHA 0x03000028 +# define SSL3_CK_KRB5_DES_40_CBC_MD5 0x03000029 +# define SSL3_CK_KRB5_RC2_40_CBC_MD5 0x0300002A +# define SSL3_CK_KRB5_RC4_40_MD5 0x0300002B + +# define SSL3_TXT_RSA_NULL_MD5 "NULL-MD5" +# define SSL3_TXT_RSA_NULL_SHA "NULL-SHA" +# define SSL3_TXT_RSA_RC4_40_MD5 "EXP-RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_MD5 "RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_SHA "RC4-SHA" +# define SSL3_TXT_RSA_RC2_40_MD5 "EXP-RC2-CBC-MD5" +# define SSL3_TXT_RSA_IDEA_128_SHA "IDEA-CBC-SHA" +# define SSL3_TXT_RSA_DES_40_CBC_SHA "EXP-DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_64_CBC_SHA "DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_192_CBC3_SHA "DES-CBC3-SHA" + +# define SSL3_TXT_DH_DSS_DES_40_CBC_SHA "EXP-DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_64_CBC_SHA "DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DH_RSA_DES_40_CBC_SHA "EXP-DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_64_CBC_SHA "DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_DHE_DSS_DES_40_CBC_SHA "EXP-DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_64_CBC_SHA "DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA "DHE-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DHE_RSA_DES_40_CBC_SHA "EXP-DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_64_CBC_SHA "DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA "DHE-RSA-DES-CBC3-SHA" + +/* + * This next block of six "EDH" labels is for backward compatibility with + * older versions of OpenSSL. New code should use the six "DHE" labels above + * instead: + */ +# define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA "EXP-EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA "EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA "EXP-EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA "EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_ADH_RC4_40_MD5 "EXP-ADH-RC4-MD5" +# define SSL3_TXT_ADH_RC4_128_MD5 "ADH-RC4-MD5" +# define SSL3_TXT_ADH_DES_40_CBC_SHA "EXP-ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" + +# if 0 +# define SSL3_TXT_FZA_DMS_NULL_SHA "FZA-NULL-SHA" +# define SSL3_TXT_FZA_DMS_FZA_SHA "FZA-FZA-CBC-SHA" +# define SSL3_TXT_FZA_DMS_RC4_SHA "FZA-RC4-SHA" +# endif + +# define SSL3_TXT_KRB5_DES_64_CBC_SHA "KRB5-DES-CBC-SHA" +# define SSL3_TXT_KRB5_DES_192_CBC3_SHA "KRB5-DES-CBC3-SHA" +# define SSL3_TXT_KRB5_RC4_128_SHA "KRB5-RC4-SHA" +# define SSL3_TXT_KRB5_IDEA_128_CBC_SHA "KRB5-IDEA-CBC-SHA" +# define SSL3_TXT_KRB5_DES_64_CBC_MD5 "KRB5-DES-CBC-MD5" +# define SSL3_TXT_KRB5_DES_192_CBC3_MD5 "KRB5-DES-CBC3-MD5" +# define SSL3_TXT_KRB5_RC4_128_MD5 "KRB5-RC4-MD5" +# define SSL3_TXT_KRB5_IDEA_128_CBC_MD5 "KRB5-IDEA-CBC-MD5" + +# define SSL3_TXT_KRB5_DES_40_CBC_SHA "EXP-KRB5-DES-CBC-SHA" +# define SSL3_TXT_KRB5_RC2_40_CBC_SHA "EXP-KRB5-RC2-CBC-SHA" +# define SSL3_TXT_KRB5_RC4_40_SHA "EXP-KRB5-RC4-SHA" +# define SSL3_TXT_KRB5_DES_40_CBC_MD5 "EXP-KRB5-DES-CBC-MD5" +# define SSL3_TXT_KRB5_RC2_40_CBC_MD5 "EXP-KRB5-RC2-CBC-MD5" +# define SSL3_TXT_KRB5_RC4_40_MD5 "EXP-KRB5-RC4-MD5" + +# define SSL3_SSL_SESSION_ID_LENGTH 32 +# define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 + +# define SSL3_MASTER_SECRET_SIZE 48 +# define SSL3_RANDOM_SIZE 32 +# define SSL3_SESSION_ID_SIZE 32 +# define SSL3_RT_HEADER_LENGTH 5 + +# define SSL3_HM_HEADER_LENGTH 4 + +# ifndef SSL3_ALIGN_PAYLOAD + /* + * Some will argue that this increases memory footprint, but it's not + * actually true. Point is that malloc has to return at least 64-bit aligned + * pointers, meaning that allocating 5 bytes wastes 3 bytes in either case. + * Suggested pre-gaping simply moves these wasted bytes from the end of + * allocated region to its front, but makes data payload aligned, which + * improves performance:-) + */ +# define SSL3_ALIGN_PAYLOAD 8 +# else +# if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0 +# error "insane SSL3_ALIGN_PAYLOAD" +# undef SSL3_ALIGN_PAYLOAD +# endif +# endif + +/* + * This is the maximum MAC (digest) size used by the SSL library. Currently + * maximum of 20 is used by SHA1, but we reserve for future extension for + * 512-bit hashes. + */ + +# define SSL3_RT_MAX_MD_SIZE 64 + +/* + * Maximum block size used in all ciphersuites. Currently 16 for AES. + */ + +# define SSL_RT_MAX_CIPHER_BLOCK_SIZE 16 + +# define SSL3_RT_MAX_EXTRA (16384) + +/* Maximum plaintext length: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_PLAIN_LENGTH 16384 +/* Maximum compression overhead: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_COMPRESSED_OVERHEAD 1024 + +/* + * The standards give a maximum encryption overhead of 1024 bytes. In + * practice the value is lower than this. The overhead is the maximum number + * of padding bytes (256) plus the mac size. + */ +# define SSL3_RT_MAX_ENCRYPTED_OVERHEAD (256 + SSL3_RT_MAX_MD_SIZE) + +/* + * OpenSSL currently only uses a padding length of at most one block so the + * send overhead is smaller. + */ + +# define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \ + (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE) + +/* If compression isn't used don't include the compression overhead */ + +# ifdef OPENSSL_NO_COMP +# define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH +# else +# define SSL3_RT_MAX_COMPRESSED_LENGTH \ + (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD) +# endif +# define SSL3_RT_MAX_ENCRYPTED_LENGTH \ + (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH) +# define SSL3_RT_MAX_PACKET_SIZE \ + (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) + +# define SSL3_MD_CLIENT_FINISHED_CONST "\x43\x4C\x4E\x54" +# define SSL3_MD_SERVER_FINISHED_CONST "\x53\x52\x56\x52" + +# define SSL3_VERSION 0x0300 +# define SSL3_VERSION_MAJOR 0x03 +# define SSL3_VERSION_MINOR 0x00 + +# define SSL3_RT_CHANGE_CIPHER_SPEC 20 +# define SSL3_RT_ALERT 21 +# define SSL3_RT_HANDSHAKE 22 +# define SSL3_RT_APPLICATION_DATA 23 +# define TLS1_RT_HEARTBEAT 24 + +/* Pseudo content types to indicate additional parameters */ +# define TLS1_RT_CRYPTO 0x1000 +# define TLS1_RT_CRYPTO_PREMASTER (TLS1_RT_CRYPTO | 0x1) +# define TLS1_RT_CRYPTO_CLIENT_RANDOM (TLS1_RT_CRYPTO | 0x2) +# define TLS1_RT_CRYPTO_SERVER_RANDOM (TLS1_RT_CRYPTO | 0x3) +# define TLS1_RT_CRYPTO_MASTER (TLS1_RT_CRYPTO | 0x4) + +# define TLS1_RT_CRYPTO_READ 0x0000 +# define TLS1_RT_CRYPTO_WRITE 0x0100 +# define TLS1_RT_CRYPTO_MAC (TLS1_RT_CRYPTO | 0x5) +# define TLS1_RT_CRYPTO_KEY (TLS1_RT_CRYPTO | 0x6) +# define TLS1_RT_CRYPTO_IV (TLS1_RT_CRYPTO | 0x7) +# define TLS1_RT_CRYPTO_FIXED_IV (TLS1_RT_CRYPTO | 0x8) + +/* Pseudo content type for SSL/TLS header info */ +# define SSL3_RT_HEADER 0x100 + +# define SSL3_AL_WARNING 1 +# define SSL3_AL_FATAL 2 + +# define SSL3_AD_CLOSE_NOTIFY 0 +# define SSL3_AD_UNEXPECTED_MESSAGE 10/* fatal */ +# define SSL3_AD_BAD_RECORD_MAC 20/* fatal */ +# define SSL3_AD_DECOMPRESSION_FAILURE 30/* fatal */ +# define SSL3_AD_HANDSHAKE_FAILURE 40/* fatal */ +# define SSL3_AD_NO_CERTIFICATE 41 +# define SSL3_AD_BAD_CERTIFICATE 42 +# define SSL3_AD_UNSUPPORTED_CERTIFICATE 43 +# define SSL3_AD_CERTIFICATE_REVOKED 44 +# define SSL3_AD_CERTIFICATE_EXPIRED 45 +# define SSL3_AD_CERTIFICATE_UNKNOWN 46 +# define SSL3_AD_ILLEGAL_PARAMETER 47/* fatal */ + +# define TLS1_HB_REQUEST 1 +# define TLS1_HB_RESPONSE 2 + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct ssl3_record_st { + /* type of record */ + /* + * r + */ int type; + /* How many bytes available */ + /* + * rw + */ unsigned int length; + /* read/write offset into 'buf' */ + /* + * r + */ unsigned int off; + /* pointer to the record data */ + /* + * rw + */ unsigned char *data; + /* where the decode bytes are */ + /* + * rw + */ unsigned char *input; + /* only used with decompression - malloc()ed */ + /* + * r + */ unsigned char *comp; + /* epoch number, needed by DTLS1 */ + /* + * r + */ unsigned long epoch; + /* sequence number, needed by DTLS1 */ + /* + * r + */ unsigned char seq_num[8]; +} SSL3_RECORD; + +typedef struct ssl3_buffer_st { + /* at least SSL3_RT_MAX_PACKET_SIZE bytes, see ssl3_setup_buffers() */ + unsigned char *buf; + /* buffer size */ + size_t len; + /* where to 'copy from' */ + int offset; + /* how many bytes left */ + int left; +} SSL3_BUFFER; + +# endif + +# define SSL3_CT_RSA_SIGN 1 +# define SSL3_CT_DSS_SIGN 2 +# define SSL3_CT_RSA_FIXED_DH 3 +# define SSL3_CT_DSS_FIXED_DH 4 +# define SSL3_CT_RSA_EPHEMERAL_DH 5 +# define SSL3_CT_DSS_EPHEMERAL_DH 6 +# define SSL3_CT_FORTEZZA_DMS 20 +/* + * SSL3_CT_NUMBER is used to size arrays and it must be large enough to + * contain all of the cert types defined either for SSLv3 and TLSv1. + */ +# define SSL3_CT_NUMBER 9 + +# define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 +# define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002 +# define SSL3_FLAGS_POP_BUFFER 0x0004 +# define TLS1_FLAGS_TLS_PADDING_BUG 0x0008 +# define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 +# define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020 +/* + * Set when the handshake is ready to process peer's ChangeCipherSpec message. + * Cleared after the message has been processed. + */ +# define SSL3_FLAGS_CCS_OK 0x0080 + +/* SSL3_FLAGS_SGC_RESTART_DONE is no longer used */ +# define SSL3_FLAGS_SGC_RESTART_DONE 0x0040 + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct ssl3_state_st { + long flags; + int delay_buf_pop_ret; + unsigned char read_sequence[8]; + int read_mac_secret_size; + unsigned char read_mac_secret[EVP_MAX_MD_SIZE]; + unsigned char write_sequence[8]; + int write_mac_secret_size; + unsigned char write_mac_secret[EVP_MAX_MD_SIZE]; + unsigned char server_random[SSL3_RANDOM_SIZE]; + unsigned char client_random[SSL3_RANDOM_SIZE]; + /* flags for countermeasure against known-IV weakness */ + int need_empty_fragments; + int empty_fragment_done; + /* The value of 'extra' when the buffers were initialized */ + int init_extra; + SSL3_BUFFER rbuf; /* read IO goes into here */ + SSL3_BUFFER wbuf; /* write IO goes into here */ + SSL3_RECORD rrec; /* each decoded record goes in here */ + SSL3_RECORD wrec; /* goes out from here */ + /* + * storage for Alert/Handshake protocol data received but not yet + * processed by ssl3_read_bytes: + */ + unsigned char alert_fragment[2]; + unsigned int alert_fragment_len; + unsigned char handshake_fragment[4]; + unsigned int handshake_fragment_len; + /* partial write - check the numbers match */ + unsigned int wnum; /* number of bytes sent so far */ + int wpend_tot; /* number bytes written */ + int wpend_type; + int wpend_ret; /* number of bytes submitted */ + const unsigned char *wpend_buf; + /* used during startup, digest all incoming/outgoing packets */ + BIO *handshake_buffer; + /* + * When set of handshake digests is determined, buffer is hashed and + * freed and MD_CTX-es for all required digests are stored in this array + */ + EVP_MD_CTX **handshake_dgst; + /* + * Set whenever an expected ChangeCipherSpec message is processed. + * Unset when the peer's Finished message is received. + * Unexpected ChangeCipherSpec messages trigger a fatal alert. + */ + int change_cipher_spec; + int warn_alert; + int fatal_alert; + /* + * we allow one fatal and one warning alert to be outstanding, send close + * alert via the warning alert + */ + int alert_dispatch; + unsigned char send_alert[2]; + /* + * This flag is set when we should renegotiate ASAP, basically when there + * is no more data in the read or write buffers + */ + int renegotiate; + int total_renegotiations; + int num_renegotiations; + int in_read_app_data; + /* + * Opaque PRF input as used for the current handshake. These fields are + * used only if TLSEXT_TYPE_opaque_prf_input is defined (otherwise, they + * are merely present to improve binary compatibility) + */ + void *client_opaque_prf_input; + size_t client_opaque_prf_input_len; + void *server_opaque_prf_input; + size_t server_opaque_prf_input_len; + struct { + /* actually only needs to be 16+20 */ + unsigned char cert_verify_md[EVP_MAX_MD_SIZE * 2]; + /* actually only need to be 16+20 for SSLv3 and 12 for TLS */ + unsigned char finish_md[EVP_MAX_MD_SIZE * 2]; + int finish_md_len; + unsigned char peer_finish_md[EVP_MAX_MD_SIZE * 2]; + int peer_finish_md_len; + unsigned long message_size; + int message_type; + /* used to hold the new cipher we are going to use */ + const SSL_CIPHER *new_cipher; +# ifndef OPENSSL_NO_DH + DH *dh; +# endif +# ifndef OPENSSL_NO_ECDH + EC_KEY *ecdh; /* holds short lived ECDH key */ +# endif + /* used when SSL_ST_FLUSH_DATA is entered */ + int next_state; + int reuse_message; + /* used for certificate requests */ + int cert_req; + int ctype_num; + char ctype[SSL3_CT_NUMBER]; + STACK_OF(X509_NAME) *ca_names; + int use_rsa_tmp; + int key_block_length; + unsigned char *key_block; + const EVP_CIPHER *new_sym_enc; + const EVP_MD *new_hash; + int new_mac_pkey_type; + int new_mac_secret_size; +# ifndef OPENSSL_NO_COMP + const SSL_COMP *new_compression; +# else + char *new_compression; +# endif + int cert_request; + } tmp; + + /* Connection binding to prevent renegotiation attacks */ + unsigned char previous_client_finished[EVP_MAX_MD_SIZE]; + unsigned char previous_client_finished_len; + unsigned char previous_server_finished[EVP_MAX_MD_SIZE]; + unsigned char previous_server_finished_len; + int send_connection_binding; /* TODOEKR */ + +# ifndef OPENSSL_NO_NEXTPROTONEG + /* + * Set if we saw the Next Protocol Negotiation extension from our peer. + */ + int next_proto_neg_seen; +# endif + +# ifndef OPENSSL_NO_TLSEXT +# ifndef OPENSSL_NO_EC + /* + * This is set to true if we believe that this is a version of Safari + * running on OS X 10.6 or newer. We wish to know this because Safari on + * 10.8 .. 10.8.3 has broken ECDHE-ECDSA support. + */ + char is_probably_safari; +# endif /* !OPENSSL_NO_EC */ + + /* + * ALPN information (we are in the process of transitioning from NPN to + * ALPN.) + */ + + /* + * In a server these point to the selected ALPN protocol after the + * ClientHello has been processed. In a client these contain the protocol + * that the server selected once the ServerHello has been processed. + */ + unsigned char *alpn_selected; + unsigned alpn_selected_len; +# endif /* OPENSSL_NO_TLSEXT */ +} SSL3_STATE; + +# endif + +/* SSLv3 */ +/* + * client + */ +/* extra state */ +# define SSL3_ST_CW_FLUSH (0x100|SSL_ST_CONNECT) +# ifndef OPENSSL_NO_SCTP +# define DTLS1_SCTP_ST_CW_WRITE_SOCK (0x310|SSL_ST_CONNECT) +# define DTLS1_SCTP_ST_CR_READ_SOCK (0x320|SSL_ST_CONNECT) +# endif +/* write to server */ +# define SSL3_ST_CW_CLNT_HELLO_A (0x110|SSL_ST_CONNECT) +# define SSL3_ST_CW_CLNT_HELLO_B (0x111|SSL_ST_CONNECT) +/* read from server */ +# define SSL3_ST_CR_SRVR_HELLO_A (0x120|SSL_ST_CONNECT) +# define SSL3_ST_CR_SRVR_HELLO_B (0x121|SSL_ST_CONNECT) +# define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A (0x126|SSL_ST_CONNECT) +# define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B (0x127|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_A (0x130|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_B (0x131|SSL_ST_CONNECT) +# define SSL3_ST_CR_KEY_EXCH_A (0x140|SSL_ST_CONNECT) +# define SSL3_ST_CR_KEY_EXCH_B (0x141|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_REQ_A (0x150|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_REQ_B (0x151|SSL_ST_CONNECT) +# define SSL3_ST_CR_SRVR_DONE_A (0x160|SSL_ST_CONNECT) +# define SSL3_ST_CR_SRVR_DONE_B (0x161|SSL_ST_CONNECT) +/* write to server */ +# define SSL3_ST_CW_CERT_A (0x170|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_B (0x171|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_C (0x172|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_D (0x173|SSL_ST_CONNECT) +# define SSL3_ST_CW_KEY_EXCH_A (0x180|SSL_ST_CONNECT) +# define SSL3_ST_CW_KEY_EXCH_B (0x181|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_VRFY_A (0x190|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_VRFY_B (0x191|SSL_ST_CONNECT) +# define SSL3_ST_CW_CHANGE_A (0x1A0|SSL_ST_CONNECT) +# define SSL3_ST_CW_CHANGE_B (0x1A1|SSL_ST_CONNECT) +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT) +# define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT) +# endif +# define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT) +# define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT) +/* read from server */ +# define SSL3_ST_CR_CHANGE_A (0x1C0|SSL_ST_CONNECT) +# define SSL3_ST_CR_CHANGE_B (0x1C1|SSL_ST_CONNECT) +# define SSL3_ST_CR_FINISHED_A (0x1D0|SSL_ST_CONNECT) +# define SSL3_ST_CR_FINISHED_B (0x1D1|SSL_ST_CONNECT) +# define SSL3_ST_CR_SESSION_TICKET_A (0x1E0|SSL_ST_CONNECT) +# define SSL3_ST_CR_SESSION_TICKET_B (0x1E1|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_STATUS_A (0x1F0|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_STATUS_B (0x1F1|SSL_ST_CONNECT) + +/* server */ +/* extra state */ +# define SSL3_ST_SW_FLUSH (0x100|SSL_ST_ACCEPT) +# ifndef OPENSSL_NO_SCTP +# define DTLS1_SCTP_ST_SW_WRITE_SOCK (0x310|SSL_ST_ACCEPT) +# define DTLS1_SCTP_ST_SR_READ_SOCK (0x320|SSL_ST_ACCEPT) +# endif +/* read from client */ +/* Do not change the number values, they do matter */ +# define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CLNT_HELLO_B (0x111|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CLNT_HELLO_C (0x112|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CLNT_HELLO_D (0x115|SSL_ST_ACCEPT) +/* write to client */ +# define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A (0x113|SSL_ST_ACCEPT) +# define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B (0x114|SSL_ST_ACCEPT) +# define SSL3_ST_SW_HELLO_REQ_A (0x120|SSL_ST_ACCEPT) +# define SSL3_ST_SW_HELLO_REQ_B (0x121|SSL_ST_ACCEPT) +# define SSL3_ST_SW_HELLO_REQ_C (0x122|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_HELLO_A (0x130|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_HELLO_B (0x131|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_A (0x140|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_B (0x141|SSL_ST_ACCEPT) +# define SSL3_ST_SW_KEY_EXCH_A (0x150|SSL_ST_ACCEPT) +# define SSL3_ST_SW_KEY_EXCH_B (0x151|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_REQ_A (0x160|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_REQ_B (0x161|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_DONE_A (0x170|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_DONE_B (0x171|SSL_ST_ACCEPT) +/* read from client */ +# define SSL3_ST_SR_CERT_A (0x180|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CERT_B (0x181|SSL_ST_ACCEPT) +# define SSL3_ST_SR_KEY_EXCH_A (0x190|SSL_ST_ACCEPT) +# define SSL3_ST_SR_KEY_EXCH_B (0x191|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CERT_VRFY_A (0x1A0|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CERT_VRFY_B (0x1A1|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CHANGE_A (0x1B0|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CHANGE_B (0x1B1|SSL_ST_ACCEPT) +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT) +# define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT) +# endif +# define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT) +# define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT) +/* write to client */ +# define SSL3_ST_SW_CHANGE_A (0x1D0|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CHANGE_B (0x1D1|SSL_ST_ACCEPT) +# define SSL3_ST_SW_FINISHED_A (0x1E0|SSL_ST_ACCEPT) +# define SSL3_ST_SW_FINISHED_B (0x1E1|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SESSION_TICKET_A (0x1F0|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SESSION_TICKET_B (0x1F1|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_STATUS_A (0x200|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_STATUS_B (0x201|SSL_ST_ACCEPT) + +# define SSL3_MT_HELLO_REQUEST 0 +# define SSL3_MT_CLIENT_HELLO 1 +# define SSL3_MT_SERVER_HELLO 2 +# define SSL3_MT_NEWSESSION_TICKET 4 +# define SSL3_MT_CERTIFICATE 11 +# define SSL3_MT_SERVER_KEY_EXCHANGE 12 +# define SSL3_MT_CERTIFICATE_REQUEST 13 +# define SSL3_MT_SERVER_DONE 14 +# define SSL3_MT_CERTIFICATE_VERIFY 15 +# define SSL3_MT_CLIENT_KEY_EXCHANGE 16 +# define SSL3_MT_FINISHED 20 +# define SSL3_MT_CERTIFICATE_STATUS 22 +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_MT_NEXT_PROTO 67 +# endif +# define DTLS1_MT_HELLO_VERIFY_REQUEST 3 + +# define SSL3_MT_CCS 1 + +/* These are used when changing over to a new cipher */ +# define SSL3_CC_READ 0x01 +# define SSL3_CC_WRITE 0x02 +# define SSL3_CC_CLIENT 0x10 +# define SSL3_CC_SERVER 0x20 +# define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE) +# define SSL3_CHANGE_CIPHER_SERVER_READ (SSL3_CC_SERVER|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_CLIENT_READ (SSL3_CC_CLIENT|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/stack.h b/openssl/1.0/include/openssl/stack.h new file mode 100644 index 0000000..eb07216 --- /dev/null +++ b/openssl/1.0/include/openssl/stack.h @@ -0,0 +1,107 @@ +/* crypto/stack/stack.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_STACK_H +# define HEADER_STACK_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct stack_st { + int num; + char **data; + int sorted; + int num_alloc; + int (*comp) (const void *, const void *); +} _STACK; /* Use STACK_OF(...) instead */ + +# define M_sk_num(sk) ((sk) ? (sk)->num:-1) +# define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) + +int sk_num(const _STACK *); +void *sk_value(const _STACK *, int); + +void *sk_set(_STACK *, int, void *); + +_STACK *sk_new(int (*cmp) (const void *, const void *)); +_STACK *sk_new_null(void); +void sk_free(_STACK *); +void sk_pop_free(_STACK *st, void (*func) (void *)); +_STACK *sk_deep_copy(_STACK *, void *(*)(void *), void (*)(void *)); +int sk_insert(_STACK *sk, void *data, int where); +void *sk_delete(_STACK *st, int loc); +void *sk_delete_ptr(_STACK *st, void *p); +int sk_find(_STACK *st, void *data); +int sk_find_ex(_STACK *st, void *data); +int sk_push(_STACK *st, void *data); +int sk_unshift(_STACK *st, void *data); +void *sk_shift(_STACK *st); +void *sk_pop(_STACK *st); +void sk_zero(_STACK *st); +int (*sk_set_cmp_func(_STACK *sk, int (*c) (const void *, const void *))) + (const void *, const void *); +_STACK *sk_dup(_STACK *st); +void sk_sort(_STACK *st); +int sk_is_sorted(const _STACK *st); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/symhacks.h b/openssl/1.0/include/openssl/symhacks.h new file mode 100644 index 0000000..3001957 --- /dev/null +++ b/openssl/1.0/include/openssl/symhacks.h @@ -0,0 +1,518 @@ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_SYMHACKS_H +# define HEADER_SYMHACKS_H + +# include + +/* + * Hacks to solve the problem with linkers incapable of handling very long + * symbol names. In the case of VMS, the limit is 31 characters on VMS for + * VAX. + */ +/* + * Note that this affects util/libeay.num and util/ssleay.num... you may + * change those manually, but that's not recommended, as those files are + * controlled centrally and updated on Unix, and the central definition may + * disagree with yours, which in turn may come with shareable library + * incompatibilities. + */ +# ifdef OPENSSL_SYS_VMS + +/* Hack a long name in crypto/ex_data.c */ +# undef CRYPTO_get_ex_data_implementation +# define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl +# undef CRYPTO_set_ex_data_implementation +# define CRYPTO_set_ex_data_implementation CRYPTO_set_ex_data_impl + +/* Hack a long name in crypto/asn1/a_mbstr.c */ +# undef ASN1_STRING_set_default_mask_asc +# define ASN1_STRING_set_default_mask_asc ASN1_STRING_set_def_mask_asc + +# if 0 /* No longer needed, since safestack macro + * magic does the job */ +/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */ +# undef i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO +# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO i2d_ASN1_SET_OF_PKCS7_SIGINF +# undef d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO +# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO d2i_ASN1_SET_OF_PKCS7_SIGINF +# endif + +# if 0 /* No longer needed, since safestack macro + * magic does the job */ +/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */ +# undef i2d_ASN1_SET_OF_PKCS7_RECIP_INFO +# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO i2d_ASN1_SET_OF_PKCS7_RECINF +# undef d2i_ASN1_SET_OF_PKCS7_RECIP_INFO +# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO d2i_ASN1_SET_OF_PKCS7_RECINF +# endif + +# if 0 /* No longer needed, since safestack macro + * magic does the job */ +/* Hack the names created with DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) */ +# undef i2d_ASN1_SET_OF_ACCESS_DESCRIPTION +# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION i2d_ASN1_SET_OF_ACC_DESC +# undef d2i_ASN1_SET_OF_ACCESS_DESCRIPTION +# define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION d2i_ASN1_SET_OF_ACC_DESC +# endif + +/* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */ +# undef PEM_read_NETSCAPE_CERT_SEQUENCE +# define PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_NS_CERT_SEQ +# undef PEM_write_NETSCAPE_CERT_SEQUENCE +# define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NS_CERT_SEQ +# undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE +# define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NS_CERT_SEQ +# undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE +# define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NS_CERT_SEQ +# undef PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE +# define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQ + +/* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */ +# undef PEM_read_PKCS8_PRIV_KEY_INFO +# define PEM_read_PKCS8_PRIV_KEY_INFO PEM_read_P8_PRIV_KEY_INFO +# undef PEM_write_PKCS8_PRIV_KEY_INFO +# define PEM_write_PKCS8_PRIV_KEY_INFO PEM_write_P8_PRIV_KEY_INFO +# undef PEM_read_bio_PKCS8_PRIV_KEY_INFO +# define PEM_read_bio_PKCS8_PRIV_KEY_INFO PEM_read_bio_P8_PRIV_KEY_INFO +# undef PEM_write_bio_PKCS8_PRIV_KEY_INFO +# define PEM_write_bio_PKCS8_PRIV_KEY_INFO PEM_write_bio_P8_PRIV_KEY_INFO +# undef PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO +# define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO PEM_wrt_cb_bio_P8_PRIV_KEY_INFO + +/* Hack other PEM names */ +# undef PEM_write_bio_PKCS8PrivateKey_nid +# define PEM_write_bio_PKCS8PrivateKey_nid PEM_write_bio_PKCS8PrivKey_nid + +/* Hack some long X509 names */ +# undef X509_REVOKED_get_ext_by_critical +# define X509_REVOKED_get_ext_by_critical X509_REVOKED_get_ext_by_critic +# undef X509_policy_tree_get0_user_policies +# define X509_policy_tree_get0_user_policies X509_pcy_tree_get0_usr_policies +# undef X509_policy_node_get0_qualifiers +# define X509_policy_node_get0_qualifiers X509_pcy_node_get0_qualifiers +# undef X509_STORE_CTX_get_explicit_policy +# define X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_get_expl_policy +# undef X509_STORE_CTX_get0_current_issuer +# define X509_STORE_CTX_get0_current_issuer X509_STORE_CTX_get0_cur_issuer + +/* Hack some long CRYPTO names */ +# undef CRYPTO_set_dynlock_destroy_callback +# define CRYPTO_set_dynlock_destroy_callback CRYPTO_set_dynlock_destroy_cb +# undef CRYPTO_set_dynlock_create_callback +# define CRYPTO_set_dynlock_create_callback CRYPTO_set_dynlock_create_cb +# undef CRYPTO_set_dynlock_lock_callback +# define CRYPTO_set_dynlock_lock_callback CRYPTO_set_dynlock_lock_cb +# undef CRYPTO_get_dynlock_lock_callback +# define CRYPTO_get_dynlock_lock_callback CRYPTO_get_dynlock_lock_cb +# undef CRYPTO_get_dynlock_destroy_callback +# define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb +# undef CRYPTO_get_dynlock_create_callback +# define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb +# undef CRYPTO_set_locked_mem_ex_functions +# define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs +# undef CRYPTO_get_locked_mem_ex_functions +# define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs + +/* Hack some long SSL/TLS names */ +# undef SSL_CTX_set_default_verify_paths +# define SSL_CTX_set_default_verify_paths SSL_CTX_set_def_verify_paths +# undef SSL_get_ex_data_X509_STORE_CTX_idx +# define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_d_X509_STORE_CTX_idx +# undef SSL_add_file_cert_subjects_to_stack +# define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_subjs_to_stk +# undef SSL_add_dir_cert_subjects_to_stack +# define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_subjs_to_stk +# undef SSL_CTX_use_certificate_chain_file +# define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file +# undef SSL_CTX_set_cert_verify_callback +# define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb +# undef SSL_CTX_set_default_passwd_cb_userdata +# define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud +# undef SSL_COMP_get_compression_methods +# define SSL_COMP_get_compression_methods SSL_COMP_get_compress_methods +# undef SSL_COMP_set0_compression_methods +# define SSL_COMP_set0_compression_methods SSL_COMP_set0_compress_methods +# undef SSL_COMP_free_compression_methods +# define SSL_COMP_free_compression_methods SSL_COMP_free_compress_methods +# undef ssl_add_clienthello_renegotiate_ext +# define ssl_add_clienthello_renegotiate_ext ssl_add_clienthello_reneg_ext +# undef ssl_add_serverhello_renegotiate_ext +# define ssl_add_serverhello_renegotiate_ext ssl_add_serverhello_reneg_ext +# undef ssl_parse_clienthello_renegotiate_ext +# define ssl_parse_clienthello_renegotiate_ext ssl_parse_clienthello_reneg_ext +# undef ssl_parse_serverhello_renegotiate_ext +# define ssl_parse_serverhello_renegotiate_ext ssl_parse_serverhello_reneg_ext +# undef SSL_srp_server_param_with_username +# define SSL_srp_server_param_with_username SSL_srp_server_param_with_un +# undef SSL_CTX_set_srp_client_pwd_callback +# define SSL_CTX_set_srp_client_pwd_callback SSL_CTX_set_srp_client_pwd_cb +# undef SSL_CTX_set_srp_verify_param_callback +# define SSL_CTX_set_srp_verify_param_callback SSL_CTX_set_srp_vfy_param_cb +# undef SSL_CTX_set_srp_username_callback +# define SSL_CTX_set_srp_username_callback SSL_CTX_set_srp_un_cb +# undef ssl_add_clienthello_use_srtp_ext +# define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext +# undef ssl_add_serverhello_use_srtp_ext +# define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext +# undef ssl_parse_clienthello_use_srtp_ext +# define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext +# undef ssl_parse_serverhello_use_srtp_ext +# define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext +# undef SSL_CTX_set_next_protos_advertised_cb +# define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb +# undef SSL_CTX_set_next_proto_select_cb +# define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb + +# undef tls1_send_server_supplemental_data +# define tls1_send_server_supplemental_data tls1_send_server_suppl_data +# undef tls1_send_client_supplemental_data +# define tls1_send_client_supplemental_data tls1_send_client_suppl_data +# undef tls1_get_server_supplemental_data +# define tls1_get_server_supplemental_data tls1_get_server_suppl_data +# undef tls1_get_client_supplemental_data +# define tls1_get_client_supplemental_data tls1_get_client_suppl_data + +# undef ssl3_cbc_record_digest_supported +# define ssl3_cbc_record_digest_supported ssl3_cbc_record_digest_support +# undef ssl_check_clienthello_tlsext_late +# define ssl_check_clienthello_tlsext_late ssl_check_clihello_tlsext_late +# undef ssl_check_clienthello_tlsext_early +# define ssl_check_clienthello_tlsext_early ssl_check_clihello_tlsext_early + +/* Hack some RSA long names */ +# undef RSA_padding_check_PKCS1_OAEP_mgf1 +# define RSA_padding_check_PKCS1_OAEP_mgf1 RSA_pad_check_PKCS1_OAEP_mgf1 + +/* Hack some ENGINE long names */ +# undef ENGINE_get_default_BN_mod_exp_crt +# define ENGINE_get_default_BN_mod_exp_crt ENGINE_get_def_BN_mod_exp_crt +# undef ENGINE_set_default_BN_mod_exp_crt +# define ENGINE_set_default_BN_mod_exp_crt ENGINE_set_def_BN_mod_exp_crt +# undef ENGINE_set_load_privkey_function +# define ENGINE_set_load_privkey_function ENGINE_set_load_privkey_fn +# undef ENGINE_get_load_privkey_function +# define ENGINE_get_load_privkey_function ENGINE_get_load_privkey_fn +# undef ENGINE_unregister_pkey_asn1_meths +# define ENGINE_unregister_pkey_asn1_meths ENGINE_unreg_pkey_asn1_meths +# undef ENGINE_register_all_pkey_asn1_meths +# define ENGINE_register_all_pkey_asn1_meths ENGINE_reg_all_pkey_asn1_meths +# undef ENGINE_set_default_pkey_asn1_meths +# define ENGINE_set_default_pkey_asn1_meths ENGINE_set_def_pkey_asn1_meths +# undef ENGINE_get_pkey_asn1_meth_engine +# define ENGINE_get_pkey_asn1_meth_engine ENGINE_get_pkey_asn1_meth_eng +# undef ENGINE_set_load_ssl_client_cert_function +# define ENGINE_set_load_ssl_client_cert_function \ + ENGINE_set_ld_ssl_clnt_cert_fn +# undef ENGINE_get_ssl_client_cert_function +# define ENGINE_get_ssl_client_cert_function ENGINE_get_ssl_client_cert_fn + +/* Hack some long OCSP names */ +# undef OCSP_REQUEST_get_ext_by_critical +# define OCSP_REQUEST_get_ext_by_critical OCSP_REQUEST_get_ext_by_crit +# undef OCSP_BASICRESP_get_ext_by_critical +# define OCSP_BASICRESP_get_ext_by_critical OCSP_BASICRESP_get_ext_by_crit +# undef OCSP_SINGLERESP_get_ext_by_critical +# define OCSP_SINGLERESP_get_ext_by_critical OCSP_SINGLERESP_get_ext_by_crit + +/* Hack some long DES names */ +# undef _ossl_old_des_ede3_cfb64_encrypt +# define _ossl_old_des_ede3_cfb64_encrypt _ossl_odes_ede3_cfb64_encrypt +# undef _ossl_old_des_ede3_ofb64_encrypt +# define _ossl_old_des_ede3_ofb64_encrypt _ossl_odes_ede3_ofb64_encrypt + +/* Hack some long EVP names */ +# undef OPENSSL_add_all_algorithms_noconf +# define OPENSSL_add_all_algorithms_noconf OPENSSL_add_all_algo_noconf +# undef OPENSSL_add_all_algorithms_conf +# define OPENSSL_add_all_algorithms_conf OPENSSL_add_all_algo_conf +# undef EVP_PKEY_meth_set_verify_recover +# define EVP_PKEY_meth_set_verify_recover EVP_PKEY_meth_set_vrfy_recover +# undef EVP_PKEY_meth_get_verify_recover +# define EVP_PKEY_meth_get_verify_recover EVP_PKEY_meth_get_vrfy_recover + +/* Hack some long EC names */ +# undef EC_GROUP_set_point_conversion_form +# define EC_GROUP_set_point_conversion_form EC_GROUP_set_point_conv_form +# undef EC_GROUP_get_point_conversion_form +# define EC_GROUP_get_point_conversion_form EC_GROUP_get_point_conv_form +# undef EC_GROUP_clear_free_all_extra_data +# define EC_GROUP_clear_free_all_extra_data EC_GROUP_clr_free_all_xtra_data +# undef EC_KEY_set_public_key_affine_coordinates +# define EC_KEY_set_public_key_affine_coordinates \ + EC_KEY_set_pub_key_aff_coords +# undef EC_POINT_set_Jprojective_coordinates_GFp +# define EC_POINT_set_Jprojective_coordinates_GFp \ + EC_POINT_set_Jproj_coords_GFp +# undef EC_POINT_get_Jprojective_coordinates_GFp +# define EC_POINT_get_Jprojective_coordinates_GFp \ + EC_POINT_get_Jproj_coords_GFp +# undef EC_POINT_set_affine_coordinates_GFp +# define EC_POINT_set_affine_coordinates_GFp EC_POINT_set_affine_coords_GFp +# undef EC_POINT_get_affine_coordinates_GFp +# define EC_POINT_get_affine_coordinates_GFp EC_POINT_get_affine_coords_GFp +# undef EC_POINT_set_compressed_coordinates_GFp +# define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp +# undef EC_POINT_set_affine_coordinates_GF2m +# define EC_POINT_set_affine_coordinates_GF2m EC_POINT_set_affine_coords_GF2m +# undef EC_POINT_get_affine_coordinates_GF2m +# define EC_POINT_get_affine_coordinates_GF2m EC_POINT_get_affine_coords_GF2m +# undef EC_POINT_set_compressed_coordinates_GF2m +# define EC_POINT_set_compressed_coordinates_GF2m \ + EC_POINT_set_compr_coords_GF2m +# undef ec_GF2m_simple_group_clear_finish +# define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish +# undef ec_GF2m_simple_group_check_discriminant +# define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim +# undef ec_GF2m_simple_point_clear_finish +# define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish +# undef ec_GF2m_simple_point_set_to_infinity +# define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf +# undef ec_GF2m_simple_points_make_affine +# define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine +# undef ec_GF2m_simple_point_set_affine_coordinates +# define ec_GF2m_simple_point_set_affine_coordinates \ + ec_GF2m_smp_pt_set_af_coords +# undef ec_GF2m_simple_point_get_affine_coordinates +# define ec_GF2m_simple_point_get_affine_coordinates \ + ec_GF2m_smp_pt_get_af_coords +# undef ec_GF2m_simple_set_compressed_coordinates +# define ec_GF2m_simple_set_compressed_coordinates \ + ec_GF2m_smp_set_compr_coords +# undef ec_GFp_simple_group_set_curve_GFp +# define ec_GFp_simple_group_set_curve_GFp ec_GFp_simple_grp_set_curve_GFp +# undef ec_GFp_simple_group_get_curve_GFp +# define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp +# undef ec_GFp_simple_group_clear_finish +# define ec_GFp_simple_group_clear_finish ec_GFp_simple_grp_clear_finish +# undef ec_GFp_simple_group_set_generator +# define ec_GFp_simple_group_set_generator ec_GFp_simple_grp_set_generator +# undef ec_GFp_simple_group_get0_generator +# define ec_GFp_simple_group_get0_generator ec_GFp_simple_grp_gt0_generator +# undef ec_GFp_simple_group_get_cofactor +# define ec_GFp_simple_group_get_cofactor ec_GFp_simple_grp_get_cofactor +# undef ec_GFp_simple_point_clear_finish +# define ec_GFp_simple_point_clear_finish ec_GFp_simple_pt_clear_finish +# undef ec_GFp_simple_point_set_to_infinity +# define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf +# undef ec_GFp_simple_points_make_affine +# define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine +# undef ec_GFp_simple_set_Jprojective_coordinates_GFp +# define ec_GFp_simple_set_Jprojective_coordinates_GFp \ + ec_GFp_smp_set_Jproj_coords_GFp +# undef ec_GFp_simple_get_Jprojective_coordinates_GFp +# define ec_GFp_simple_get_Jprojective_coordinates_GFp \ + ec_GFp_smp_get_Jproj_coords_GFp +# undef ec_GFp_simple_point_set_affine_coordinates_GFp +# define ec_GFp_simple_point_set_affine_coordinates_GFp \ + ec_GFp_smp_pt_set_af_coords_GFp +# undef ec_GFp_simple_point_get_affine_coordinates_GFp +# define ec_GFp_simple_point_get_affine_coordinates_GFp \ + ec_GFp_smp_pt_get_af_coords_GFp +# undef ec_GFp_simple_set_compressed_coordinates_GFp +# define ec_GFp_simple_set_compressed_coordinates_GFp \ + ec_GFp_smp_set_compr_coords_GFp +# undef ec_GFp_simple_point_set_affine_coordinates +# define ec_GFp_simple_point_set_affine_coordinates \ + ec_GFp_smp_pt_set_af_coords +# undef ec_GFp_simple_point_get_affine_coordinates +# define ec_GFp_simple_point_get_affine_coordinates \ + ec_GFp_smp_pt_get_af_coords +# undef ec_GFp_simple_set_compressed_coordinates +# define ec_GFp_simple_set_compressed_coordinates \ + ec_GFp_smp_set_compr_coords +# undef ec_GFp_simple_group_check_discriminant +# define ec_GFp_simple_group_check_discriminant ec_GFp_simple_grp_chk_discrim + +/* Hack som long STORE names */ +# undef STORE_method_set_initialise_function +# define STORE_method_set_initialise_function STORE_meth_set_initialise_fn +# undef STORE_method_set_cleanup_function +# define STORE_method_set_cleanup_function STORE_meth_set_cleanup_fn +# undef STORE_method_set_generate_function +# define STORE_method_set_generate_function STORE_meth_set_generate_fn +# undef STORE_method_set_modify_function +# define STORE_method_set_modify_function STORE_meth_set_modify_fn +# undef STORE_method_set_revoke_function +# define STORE_method_set_revoke_function STORE_meth_set_revoke_fn +# undef STORE_method_set_delete_function +# define STORE_method_set_delete_function STORE_meth_set_delete_fn +# undef STORE_method_set_list_start_function +# define STORE_method_set_list_start_function STORE_meth_set_list_start_fn +# undef STORE_method_set_list_next_function +# define STORE_method_set_list_next_function STORE_meth_set_list_next_fn +# undef STORE_method_set_list_end_function +# define STORE_method_set_list_end_function STORE_meth_set_list_end_fn +# undef STORE_method_set_update_store_function +# define STORE_method_set_update_store_function STORE_meth_set_update_store_fn +# undef STORE_method_set_lock_store_function +# define STORE_method_set_lock_store_function STORE_meth_set_lock_store_fn +# undef STORE_method_set_unlock_store_function +# define STORE_method_set_unlock_store_function STORE_meth_set_unlock_store_fn +# undef STORE_method_get_initialise_function +# define STORE_method_get_initialise_function STORE_meth_get_initialise_fn +# undef STORE_method_get_cleanup_function +# define STORE_method_get_cleanup_function STORE_meth_get_cleanup_fn +# undef STORE_method_get_generate_function +# define STORE_method_get_generate_function STORE_meth_get_generate_fn +# undef STORE_method_get_modify_function +# define STORE_method_get_modify_function STORE_meth_get_modify_fn +# undef STORE_method_get_revoke_function +# define STORE_method_get_revoke_function STORE_meth_get_revoke_fn +# undef STORE_method_get_delete_function +# define STORE_method_get_delete_function STORE_meth_get_delete_fn +# undef STORE_method_get_list_start_function +# define STORE_method_get_list_start_function STORE_meth_get_list_start_fn +# undef STORE_method_get_list_next_function +# define STORE_method_get_list_next_function STORE_meth_get_list_next_fn +# undef STORE_method_get_list_end_function +# define STORE_method_get_list_end_function STORE_meth_get_list_end_fn +# undef STORE_method_get_update_store_function +# define STORE_method_get_update_store_function STORE_meth_get_update_store_fn +# undef STORE_method_get_lock_store_function +# define STORE_method_get_lock_store_function STORE_meth_get_lock_store_fn +# undef STORE_method_get_unlock_store_function +# define STORE_method_get_unlock_store_function STORE_meth_get_unlock_store_fn + +/* Hack some long TS names */ +# undef TS_RESP_CTX_set_status_info_cond +# define TS_RESP_CTX_set_status_info_cond TS_RESP_CTX_set_stat_info_cond +# undef TS_RESP_CTX_set_clock_precision_digits +# define TS_RESP_CTX_set_clock_precision_digits TS_RESP_CTX_set_clk_prec_digits +# undef TS_CONF_set_clock_precision_digits +# define TS_CONF_set_clock_precision_digits TS_CONF_set_clk_prec_digits + +/* Hack some long CMS names */ +# undef CMS_RecipientInfo_ktri_get0_algs +# define CMS_RecipientInfo_ktri_get0_algs CMS_RecipInfo_ktri_get0_algs +# undef CMS_RecipientInfo_ktri_get0_signer_id +# define CMS_RecipientInfo_ktri_get0_signer_id CMS_RecipInfo_ktri_get0_sigr_id +# undef CMS_OtherRevocationInfoFormat_it +# define CMS_OtherRevocationInfoFormat_it CMS_OtherRevocInfoFormat_it +# undef CMS_KeyAgreeRecipientIdentifier_it +# define CMS_KeyAgreeRecipientIdentifier_it CMS_KeyAgreeRecipIdentifier_it +# undef CMS_OriginatorIdentifierOrKey_it +# define CMS_OriginatorIdentifierOrKey_it CMS_OriginatorIdOrKey_it +# undef cms_SignerIdentifier_get0_signer_id +# define cms_SignerIdentifier_get0_signer_id cms_SignerId_get0_signer_id +# undef CMS_RecipientInfo_kari_get0_orig_id +# define CMS_RecipientInfo_kari_get0_orig_id CMS_RecipInfo_kari_get0_orig_id +# undef CMS_RecipientInfo_kari_get0_reks +# define CMS_RecipientInfo_kari_get0_reks CMS_RecipInfo_kari_get0_reks +# undef CMS_RecipientEncryptedKey_cert_cmp +# define CMS_RecipientEncryptedKey_cert_cmp CMS_RecipEncryptedKey_cert_cmp +# undef CMS_RecipientInfo_kari_set0_pkey +# define CMS_RecipientInfo_kari_set0_pkey CMS_RecipInfo_kari_set0_pkey +# undef CMS_RecipientEncryptedKey_get0_id +# define CMS_RecipientEncryptedKey_get0_id CMS_RecipEncryptedKey_get0_id +# undef CMS_RecipientInfo_kari_orig_id_cmp +# define CMS_RecipientInfo_kari_orig_id_cmp CMS_RecipInfo_kari_orig_id_cmp + +/* Hack some long DTLS1 names */ +# undef dtls1_retransmit_buffered_messages +# define dtls1_retransmit_buffered_messages dtls1_retransmit_buffered_msgs + +/* Hack some long SRP names */ +# undef SRP_generate_server_master_secret +# define SRP_generate_server_master_secret SRP_gen_server_master_secret +# undef SRP_generate_client_master_secret +# define SRP_generate_client_master_secret SRP_gen_client_master_secret + +/* Hack some long UI names */ +# undef UI_method_get_prompt_constructor +# define UI_method_get_prompt_constructor UI_method_get_prompt_constructr +# undef UI_method_set_prompt_constructor +# define UI_method_set_prompt_constructor UI_method_set_prompt_constructr + +# endif /* defined OPENSSL_SYS_VMS */ + +/* Case insensitive linking causes problems.... */ +# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) +# undef ERR_load_CRYPTO_strings +# define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings +# undef OCSP_crlID_new +# define OCSP_crlID_new OCSP_crlID2_new + +# undef d2i_ECPARAMETERS +# define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS +# undef i2d_ECPARAMETERS +# define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS +# undef d2i_ECPKPARAMETERS +# define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS +# undef i2d_ECPKPARAMETERS +# define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS + +/* + * These functions do not seem to exist! However, I'm paranoid... Original + * command in x509v3.h: These functions are being redefined in another + * directory, and clash when the linker is case-insensitive, so let's hide + * them a little, by giving them an extra 'o' at the beginning of the name... + */ +# undef X509v3_cleanup_extensions +# define X509v3_cleanup_extensions oX509v3_cleanup_extensions +# undef X509v3_add_extension +# define X509v3_add_extension oX509v3_add_extension +# undef X509v3_add_netscape_extensions +# define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions +# undef X509v3_add_standard_extensions +# define X509v3_add_standard_extensions oX509v3_add_standard_extensions + +/* This one clashes with CMS_data_create */ +# undef cms_Data_create +# define cms_Data_create priv_cms_Data_create + +# endif + +#endif /* ! defined HEADER_VMS_IDHACKS_H */ diff --git a/openssl/1.0/include/openssl/tls1.h b/openssl/1.0/include/openssl/tls1.h new file mode 100644 index 0000000..dd1d8c1 --- /dev/null +++ b/openssl/1.0/include/openssl/tls1.h @@ -0,0 +1,810 @@ +/* ssl/tls1.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * ECC cipher suite support in OpenSSL originally written by + * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. + * + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_TLS1_H +# define HEADER_TLS1_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0 + +# define TLS1_VERSION 0x0301 +# define TLS1_1_VERSION 0x0302 +# define TLS1_2_VERSION 0x0303 +# define TLS_MAX_VERSION TLS1_2_VERSION + +# define TLS1_VERSION_MAJOR 0x03 +# define TLS1_VERSION_MINOR 0x01 + +# define TLS1_1_VERSION_MAJOR 0x03 +# define TLS1_1_VERSION_MINOR 0x02 + +# define TLS1_2_VERSION_MAJOR 0x03 +# define TLS1_2_VERSION_MINOR 0x03 + +# define TLS1_get_version(s) \ + ((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0) + +# define TLS1_get_client_version(s) \ + ((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0) + +# define TLS1_AD_DECRYPTION_FAILED 21 +# define TLS1_AD_RECORD_OVERFLOW 22 +# define TLS1_AD_UNKNOWN_CA 48/* fatal */ +# define TLS1_AD_ACCESS_DENIED 49/* fatal */ +# define TLS1_AD_DECODE_ERROR 50/* fatal */ +# define TLS1_AD_DECRYPT_ERROR 51 +# define TLS1_AD_EXPORT_RESTRICTION 60/* fatal */ +# define TLS1_AD_PROTOCOL_VERSION 70/* fatal */ +# define TLS1_AD_INSUFFICIENT_SECURITY 71/* fatal */ +# define TLS1_AD_INTERNAL_ERROR 80/* fatal */ +# define TLS1_AD_INAPPROPRIATE_FALLBACK 86/* fatal */ +# define TLS1_AD_USER_CANCELLED 90 +# define TLS1_AD_NO_RENEGOTIATION 100 +/* codes 110-114 are from RFC3546 */ +# define TLS1_AD_UNSUPPORTED_EXTENSION 110 +# define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 +# define TLS1_AD_UNRECOGNIZED_NAME 112 +# define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 +# define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 +# define TLS1_AD_UNKNOWN_PSK_IDENTITY 115/* fatal */ + +/* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */ +# define TLSEXT_TYPE_server_name 0 +# define TLSEXT_TYPE_max_fragment_length 1 +# define TLSEXT_TYPE_client_certificate_url 2 +# define TLSEXT_TYPE_trusted_ca_keys 3 +# define TLSEXT_TYPE_truncated_hmac 4 +# define TLSEXT_TYPE_status_request 5 +/* ExtensionType values from RFC4681 */ +# define TLSEXT_TYPE_user_mapping 6 +/* ExtensionType values from RFC5878 */ +# define TLSEXT_TYPE_client_authz 7 +# define TLSEXT_TYPE_server_authz 8 +/* ExtensionType values from RFC6091 */ +# define TLSEXT_TYPE_cert_type 9 + +/* ExtensionType values from RFC4492 */ +# define TLSEXT_TYPE_elliptic_curves 10 +# define TLSEXT_TYPE_ec_point_formats 11 + +/* ExtensionType value from RFC5054 */ +# define TLSEXT_TYPE_srp 12 + +/* ExtensionType values from RFC5246 */ +# define TLSEXT_TYPE_signature_algorithms 13 + +/* ExtensionType value from RFC5764 */ +# define TLSEXT_TYPE_use_srtp 14 + +/* ExtensionType value from RFC5620 */ +# define TLSEXT_TYPE_heartbeat 15 + +/* ExtensionType value from RFC7301 */ +# define TLSEXT_TYPE_application_layer_protocol_negotiation 16 + +/* + * ExtensionType value for TLS padding extension. + * http://tools.ietf.org/html/draft-agl-tls-padding + */ +# define TLSEXT_TYPE_padding 21 + +/* ExtensionType value from RFC4507 */ +# define TLSEXT_TYPE_session_ticket 35 + +/* ExtensionType value from draft-rescorla-tls-opaque-prf-input-00.txt */ +# if 0 +/* + * will have to be provided externally for now , + * i.e. build with -DTLSEXT_TYPE_opaque_prf_input=38183 + * using whatever extension number you'd like to try + */ +# define TLSEXT_TYPE_opaque_prf_input ?? +# endif + +/* Temporary extension type */ +# define TLSEXT_TYPE_renegotiate 0xff01 + +# ifndef OPENSSL_NO_NEXTPROTONEG +/* This is not an IANA defined extension number */ +# define TLSEXT_TYPE_next_proto_neg 13172 +# endif + +/* NameType value from RFC3546 */ +# define TLSEXT_NAMETYPE_host_name 0 +/* status request value from RFC3546 */ +# define TLSEXT_STATUSTYPE_ocsp 1 + +/* ECPointFormat values from RFC4492 */ +# define TLSEXT_ECPOINTFORMAT_first 0 +# define TLSEXT_ECPOINTFORMAT_uncompressed 0 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2 +# define TLSEXT_ECPOINTFORMAT_last 2 + +/* Signature and hash algorithms from RFC5246 */ +# define TLSEXT_signature_anonymous 0 +# define TLSEXT_signature_rsa 1 +# define TLSEXT_signature_dsa 2 +# define TLSEXT_signature_ecdsa 3 + +/* Total number of different signature algorithms */ +# define TLSEXT_signature_num 4 + +# define TLSEXT_hash_none 0 +# define TLSEXT_hash_md5 1 +# define TLSEXT_hash_sha1 2 +# define TLSEXT_hash_sha224 3 +# define TLSEXT_hash_sha256 4 +# define TLSEXT_hash_sha384 5 +# define TLSEXT_hash_sha512 6 + +/* Total number of different digest algorithms */ + +# define TLSEXT_hash_num 7 + +/* Flag set for unrecognised algorithms */ +# define TLSEXT_nid_unknown 0x1000000 + +/* ECC curves */ + +# define TLSEXT_curve_P_256 23 +# define TLSEXT_curve_P_384 24 + +# ifndef OPENSSL_NO_TLSEXT + +# define TLSEXT_MAXLEN_host_name 255 + +const char *SSL_get_servername(const SSL *s, const int type); +int SSL_get_servername_type(const SSL *s); +/* + * SSL_export_keying_material exports a value derived from the master secret, + * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and + * optional context. (Since a zero length context is allowed, the |use_context| + * flag controls whether a context is included.) It returns 1 on success and + * zero otherwise. + */ +int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, + const char *label, size_t llen, + const unsigned char *context, size_t contextlen, + int use_context); + +int SSL_get_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +int SSL_get_shared_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain); + +# define SSL_set_tlsext_host_name(s,name) \ +SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,(char *)name) + +# define SSL_set_tlsext_debug_callback(ssl, cb) \ +SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,(void (*)(void))cb) + +# define SSL_set_tlsext_debug_arg(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0, (void *)arg) + +# define SSL_set_tlsext_status_type(ssl, type) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type, NULL) + +# define SSL_get_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +# define SSL_set_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +# define SSL_get_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +# define SSL_set_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +# define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0, (void *)arg) + +# define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen, (void *)arg) + +# define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \ +SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,(void (*)(void))cb) + +# define SSL_TLSEXT_ERR_OK 0 +# define SSL_TLSEXT_ERR_ALERT_WARNING 1 +# define SSL_TLSEXT_ERR_ALERT_FATAL 2 +# define SSL_TLSEXT_ERR_NOACK 3 + +# define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ +SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) + +# define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_GET_TLSEXT_TICKET_KEYS,(keylen),(keys)) +# define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLSEXT_TICKET_KEYS,(keylen),(keys)) + +# define SSL_CTX_set_tlsext_status_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,(void (*)(void))cb) + +# define SSL_CTX_set_tlsext_status_arg(ssl, arg) \ +SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0, (void *)arg) + +# define SSL_set_tlsext_opaque_prf_input(s, src, len) \ +SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT, len, src) +# define SSL_CTX_set_tlsext_opaque_prf_input_callback(ctx, cb) \ +SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB, (void (*)(void))cb) +# define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(ctx, arg) \ +SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG, 0, arg) + +# define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_TLSEXT_HB_ENABLED 0x01 +# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS 0x02 +# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS 0x04 + +# define SSL_get_tlsext_heartbeat_pending(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING,0,NULL) +# define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ + SSL_ctrl((ssl),SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) +# endif +# endif + +/* PSK ciphersuites from 4279 */ +# define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A +# define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B +# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C +# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D + +/* + * Additional TLS ciphersuites from expired Internet Draft + * draft-ietf-tls-56-bit-ciphersuites-01.txt (available if + * TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see s3_lib.c). We + * actually treat them like SSL 3.0 ciphers, which we probably shouldn't. + * Note that the first two are actually not in the IDs. + */ +# define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060/* not in + * ID */ +# define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061/* not in + * ID */ +# define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062 +# define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063 +# define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064 +# define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065 +# define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066 + +/* AES ciphersuites from RFC3268 */ +# define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 +# define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 + +# define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 +# define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B +# define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C +# define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 +# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B +# define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C +# define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 +# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 +# define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 +# define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 +# define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 +# define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A +# define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C +# define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D +# define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E +# define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F +# define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 +# define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 +# define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 +# define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 +# define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 +# define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 +# define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 +# define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 + +/* + * ECC ciphersuites from draft-ietf-tls-ecc-12.txt with changes soon to be in + * draft 13 + */ +# define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 +# define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 +# define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 + +# define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 +# define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 +# define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A + +# define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B +# define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C +# define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D +# define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E +# define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F + +# define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 +# define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 +# define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 + +# define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 +# define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 +# define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 +# define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 +# define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 + +/* SRP ciphersuites from RFC 5054 */ +# define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A +# define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B +# define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C +# define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F +# define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 + +/* ECDH HMAC based ciphersuites from RFC5289 */ + +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 + +/* + * XXX * Backward compatibility alert: + * Older versions of OpenSSL gave + * some DHE ciphers names with "EDH" + * instead of "DHE". Going forward, we + * should be using DHE + * everywhere, though we may indefinitely maintain + * aliases for users + * or configurations that used "EDH" + + */ +# define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5" +# define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5" +# define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA" +# define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DHE-DSS-DES-CBC-SHA" +# define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA" +# define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA" +# define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" + +/* AES ciphersuites from RFC3268 */ +# define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" +# define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" + +# define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" +# define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" + +/* ECC ciphersuites from RFC4492 */ +# define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" + +# define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" +# define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" +# define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" + +/* PSK ciphersuites from RFC 4279 */ +# define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" +# define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" + +/* SRP ciphersuite from RFC 5054 */ +# define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" + +# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" +# define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" +# define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" +# define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" +# define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" +# define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" + +/* TLS v1.2 ciphersuites */ +# define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" +# define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" +# define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" + +/* ECDH HMAC based ciphersuites from RFC5289 */ + +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "ECDHE-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "ECDHE-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 "ECDH-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 "ECDH-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" + +# define TLS_CT_RSA_SIGN 1 +# define TLS_CT_DSS_SIGN 2 +# define TLS_CT_RSA_FIXED_DH 3 +# define TLS_CT_DSS_FIXED_DH 4 +# define TLS_CT_ECDSA_SIGN 64 +# define TLS_CT_RSA_FIXED_ECDH 65 +# define TLS_CT_ECDSA_FIXED_ECDH 66 +# define TLS_CT_GOST94_SIGN 21 +# define TLS_CT_GOST01_SIGN 22 +/* + * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see + * comment there) + */ +# define TLS_CT_NUMBER 9 + +# define TLS1_FINISH_MAC_LENGTH 12 + +# define TLS_MD_MAX_CONST_SIZE 20 +# define TLS_MD_CLIENT_FINISH_CONST "client finished" +# define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 +# define TLS_MD_SERVER_FINISH_CONST "server finished" +# define TLS_MD_SERVER_FINISH_CONST_SIZE 15 +# define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" +# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_KEY_EXPANSION_CONST "key expansion" +# define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 +# define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" +# define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" +# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_IV_BLOCK_CONST "IV block" +# define TLS_MD_IV_BLOCK_CONST_SIZE 8 +# define TLS_MD_MASTER_SECRET_CONST "master secret" +# define TLS_MD_MASTER_SECRET_CONST_SIZE 13 + +# ifdef CHARSET_EBCDIC +# undef TLS_MD_CLIENT_FINISH_CONST +/* + * client finished + */ +# define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_FINISH_CONST +/* + * server finished + */ +# define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_KEY_EXPANSION_CONST +/* + * key expansion + */ +# define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" + +# undef TLS_MD_CLIENT_WRITE_KEY_CONST +/* + * client write key + */ +# define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_IV_BLOCK_CONST +/* + * IV block + */ +# define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" + +# undef TLS_MD_MASTER_SECRET_CONST +/* + * master secret + */ +# define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" +# endif + +/* TLS Session Ticket extension struct */ +struct tls_session_ticket_ext_st { + unsigned short length; + void *data; +}; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ts.h b/openssl/1.0/include/openssl/ts.h new file mode 100644 index 0000000..2daa1b2 --- /dev/null +++ b/openssl/1.0/include/openssl/ts.h @@ -0,0 +1,865 @@ +/* crypto/ts/ts.h */ +/* + * Written by Zoltan Glozik (zglozik@opentsa.org) for the OpenSSL project + * 2002, 2003, 2004. + */ +/* ==================================================================== + * Copyright (c) 2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_TS_H +# define HEADER_TS_H + +# include +# include +# ifndef OPENSSL_NO_BUFFER +# include +# endif +# ifndef OPENSSL_NO_EVP +# include +# endif +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include +# include + +# ifndef OPENSSL_NO_RSA +# include +# endif + +# ifndef OPENSSL_NO_DSA +# include +# endif + +# ifndef OPENSSL_NO_DH +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef WIN32 +/* Under Win32 this is defined in wincrypt.h */ +# undef X509_NAME +# endif + +# include +# include + +/*- +MessageImprint ::= SEQUENCE { + hashAlgorithm AlgorithmIdentifier, + hashedMessage OCTET STRING } +*/ + +typedef struct TS_msg_imprint_st { + X509_ALGOR *hash_algo; + ASN1_OCTET_STRING *hashed_msg; +} TS_MSG_IMPRINT; + +/*- +TimeStampReq ::= SEQUENCE { + version INTEGER { v1(1) }, + messageImprint MessageImprint, + --a hash algorithm OID and the hash value of the data to be + --time-stamped + reqPolicy TSAPolicyId OPTIONAL, + nonce INTEGER OPTIONAL, + certReq BOOLEAN DEFAULT FALSE, + extensions [0] IMPLICIT Extensions OPTIONAL } +*/ + +typedef struct TS_req_st { + ASN1_INTEGER *version; + TS_MSG_IMPRINT *msg_imprint; + ASN1_OBJECT *policy_id; /* OPTIONAL */ + ASN1_INTEGER *nonce; /* OPTIONAL */ + ASN1_BOOLEAN cert_req; /* DEFAULT FALSE */ + STACK_OF(X509_EXTENSION) *extensions; /* [0] OPTIONAL */ +} TS_REQ; + +/*- +Accuracy ::= SEQUENCE { + seconds INTEGER OPTIONAL, + millis [0] INTEGER (1..999) OPTIONAL, + micros [1] INTEGER (1..999) OPTIONAL } +*/ + +typedef struct TS_accuracy_st { + ASN1_INTEGER *seconds; + ASN1_INTEGER *millis; + ASN1_INTEGER *micros; +} TS_ACCURACY; + +/*- +TSTInfo ::= SEQUENCE { + version INTEGER { v1(1) }, + policy TSAPolicyId, + messageImprint MessageImprint, + -- MUST have the same value as the similar field in + -- TimeStampReq + serialNumber INTEGER, + -- Time-Stamping users MUST be ready to accommodate integers + -- up to 160 bits. + genTime GeneralizedTime, + accuracy Accuracy OPTIONAL, + ordering BOOLEAN DEFAULT FALSE, + nonce INTEGER OPTIONAL, + -- MUST be present if the similar field was present + -- in TimeStampReq. In that case it MUST have the same value. + tsa [0] GeneralName OPTIONAL, + extensions [1] IMPLICIT Extensions OPTIONAL } +*/ + +typedef struct TS_tst_info_st { + ASN1_INTEGER *version; + ASN1_OBJECT *policy_id; + TS_MSG_IMPRINT *msg_imprint; + ASN1_INTEGER *serial; + ASN1_GENERALIZEDTIME *time; + TS_ACCURACY *accuracy; + ASN1_BOOLEAN ordering; + ASN1_INTEGER *nonce; + GENERAL_NAME *tsa; + STACK_OF(X509_EXTENSION) *extensions; +} TS_TST_INFO; + +/*- +PKIStatusInfo ::= SEQUENCE { + status PKIStatus, + statusString PKIFreeText OPTIONAL, + failInfo PKIFailureInfo OPTIONAL } + +From RFC 1510 - section 3.1.1: +PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String + -- text encoded as UTF-8 String (note: each UTF8String SHOULD + -- include an RFC 1766 language tag to indicate the language + -- of the contained text) +*/ + +/* Possible values for status. See ts_resp_print.c && ts_resp_verify.c. */ + +# define TS_STATUS_GRANTED 0 +# define TS_STATUS_GRANTED_WITH_MODS 1 +# define TS_STATUS_REJECTION 2 +# define TS_STATUS_WAITING 3 +# define TS_STATUS_REVOCATION_WARNING 4 +# define TS_STATUS_REVOCATION_NOTIFICATION 5 + +/* + * Possible values for failure_info. See ts_resp_print.c && ts_resp_verify.c + */ + +# define TS_INFO_BAD_ALG 0 +# define TS_INFO_BAD_REQUEST 2 +# define TS_INFO_BAD_DATA_FORMAT 5 +# define TS_INFO_TIME_NOT_AVAILABLE 14 +# define TS_INFO_UNACCEPTED_POLICY 15 +# define TS_INFO_UNACCEPTED_EXTENSION 16 +# define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 +# define TS_INFO_SYSTEM_FAILURE 25 + +typedef struct TS_status_info_st { + ASN1_INTEGER *status; + STACK_OF(ASN1_UTF8STRING) *text; + ASN1_BIT_STRING *failure_info; +} TS_STATUS_INFO; + +DECLARE_STACK_OF(ASN1_UTF8STRING) +DECLARE_ASN1_SET_OF(ASN1_UTF8STRING) + +/*- +TimeStampResp ::= SEQUENCE { + status PKIStatusInfo, + timeStampToken TimeStampToken OPTIONAL } +*/ + +typedef struct TS_resp_st { + TS_STATUS_INFO *status_info; + PKCS7 *token; + TS_TST_INFO *tst_info; +} TS_RESP; + +/* The structure below would belong to the ESS component. */ + +/*- +IssuerSerial ::= SEQUENCE { + issuer GeneralNames, + serialNumber CertificateSerialNumber + } +*/ + +typedef struct ESS_issuer_serial { + STACK_OF(GENERAL_NAME) *issuer; + ASN1_INTEGER *serial; +} ESS_ISSUER_SERIAL; + +/*- +ESSCertID ::= SEQUENCE { + certHash Hash, + issuerSerial IssuerSerial OPTIONAL +} +*/ + +typedef struct ESS_cert_id { + ASN1_OCTET_STRING *hash; /* Always SHA-1 digest. */ + ESS_ISSUER_SERIAL *issuer_serial; +} ESS_CERT_ID; + +DECLARE_STACK_OF(ESS_CERT_ID) +DECLARE_ASN1_SET_OF(ESS_CERT_ID) + +/*- +SigningCertificate ::= SEQUENCE { + certs SEQUENCE OF ESSCertID, + policies SEQUENCE OF PolicyInformation OPTIONAL +} +*/ + +typedef struct ESS_signing_cert { + STACK_OF(ESS_CERT_ID) *cert_ids; + STACK_OF(POLICYINFO) *policy_info; +} ESS_SIGNING_CERT; + +TS_REQ *TS_REQ_new(void); +void TS_REQ_free(TS_REQ *a); +int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); +TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); + +TS_REQ *TS_REQ_dup(TS_REQ *a); + +TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); +int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); +TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); +int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); +void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, + const unsigned char **pp, long length); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); + +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT *a); + +TS_RESP *TS_RESP_new(void); +void TS_RESP_free(TS_RESP *a); +int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); +TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); +TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); +TS_RESP *TS_RESP_dup(TS_RESP *a); + +TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); +int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); +TS_RESP *d2i_TS_RESP_bio(BIO *fp, TS_RESP **a); +int i2d_TS_RESP_bio(BIO *fp, TS_RESP *a); + +TS_STATUS_INFO *TS_STATUS_INFO_new(void); +void TS_STATUS_INFO_free(TS_STATUS_INFO *a); +int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); +TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, + const unsigned char **pp, long length); +TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); + +TS_TST_INFO *TS_TST_INFO_new(void); +void TS_TST_INFO_free(TS_TST_INFO *a); +int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); +TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, + long length); +TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); + +TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); +TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO *a); + +TS_ACCURACY *TS_ACCURACY_new(void); +void TS_ACCURACY_free(TS_ACCURACY *a); +int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); +TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, + long length); +TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); + +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); +void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); +int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **pp); +ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, + const unsigned char **pp, + long length); +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); + +ESS_CERT_ID *ESS_CERT_ID_new(void); +void ESS_CERT_ID_free(ESS_CERT_ID *a); +int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); +ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, + long length); +ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); + +ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); +void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); +int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **pp); +ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, + const unsigned char **pp, long length); +ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); + +void ERR_load_TS_strings(void); + +int TS_REQ_set_version(TS_REQ *a, long version); +long TS_REQ_get_version(const TS_REQ *a); + +int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a); + +int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg); +X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a); + +int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int len); +ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a); + +int TS_REQ_set_policy_id(TS_REQ *a, ASN1_OBJECT *policy); +ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a); + +int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a); + +int TS_REQ_set_cert_req(TS_REQ *a, int cert_req); +int TS_REQ_get_cert_req(const TS_REQ *a); + +STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a); +void TS_REQ_ext_free(TS_REQ *a); +int TS_REQ_get_ext_count(TS_REQ *a); +int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos); +int TS_REQ_get_ext_by_OBJ(TS_REQ *a, ASN1_OBJECT *obj, int lastpos); +int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos); +X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc); +X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc); +int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc); +void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx); + +/* Function declarations for TS_REQ defined in ts/ts_req_print.c */ + +int TS_REQ_print_bio(BIO *bio, TS_REQ *a); + +/* Function declarations for TS_RESP defined in ts/ts_resp_utils.c */ + +int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *info); +TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a); + +/* Caller loses ownership of PKCS7 and TS_TST_INFO objects. */ +void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info); +PKCS7 *TS_RESP_get_token(TS_RESP *a); +TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a); + +int TS_TST_INFO_set_version(TS_TST_INFO *a, long version); +long TS_TST_INFO_get_version(const TS_TST_INFO *a); + +int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id); +ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a); + +int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a); + +int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial); +const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a); + +int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime); +const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a); + +int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy); +TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a); + +int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds); +const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a); + +int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis); +const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a); + +int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros); +const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a); + +int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering); +int TS_TST_INFO_get_ordering(const TS_TST_INFO *a); + +int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a); + +int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa); +GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a); + +STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a); +void TS_TST_INFO_ext_free(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_count(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos); +int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, ASN1_OBJECT *obj, int lastpos); +int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos); +X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc); +X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc); +int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc); +void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int *idx); + +/* + * Declarations related to response generation, defined in ts/ts_resp_sign.c. + */ + +/* Optional flags for response generation. */ + +/* Don't include the TSA name in response. */ +# define TS_TSA_NAME 0x01 + +/* Set ordering to true in response. */ +# define TS_ORDERING 0x02 + +/* + * Include the signer certificate and the other specified certificates in + * the ESS signing certificate attribute beside the PKCS7 signed data. + * Only the signer certificates is included by default. + */ +# define TS_ESS_CERT_ID_CHAIN 0x04 + +/* Forward declaration. */ +struct TS_resp_ctx; + +/* This must return a unique number less than 160 bits long. */ +typedef ASN1_INTEGER *(*TS_serial_cb) (struct TS_resp_ctx *, void *); + +/* + * This must return the seconds and microseconds since Jan 1, 1970 in the sec + * and usec variables allocated by the caller. Return non-zero for success + * and zero for failure. + */ +typedef int (*TS_time_cb) (struct TS_resp_ctx *, void *, long *sec, + long *usec); + +/* + * This must process the given extension. It can modify the TS_TST_INFO + * object of the context. Return values: !0 (processed), 0 (error, it must + * set the status info/failure info of the response). + */ +typedef int (*TS_extension_cb) (struct TS_resp_ctx *, X509_EXTENSION *, + void *); + +typedef struct TS_resp_ctx { + X509 *signer_cert; + EVP_PKEY *signer_key; + STACK_OF(X509) *certs; /* Certs to include in signed data. */ + STACK_OF(ASN1_OBJECT) *policies; /* Acceptable policies. */ + ASN1_OBJECT *default_policy; /* It may appear in policies, too. */ + STACK_OF(EVP_MD) *mds; /* Acceptable message digests. */ + ASN1_INTEGER *seconds; /* accuracy, 0 means not specified. */ + ASN1_INTEGER *millis; /* accuracy, 0 means not specified. */ + ASN1_INTEGER *micros; /* accuracy, 0 means not specified. */ + unsigned clock_precision_digits; /* fraction of seconds in time stamp + * token. */ + unsigned flags; /* Optional info, see values above. */ + /* Callback functions. */ + TS_serial_cb serial_cb; + void *serial_cb_data; /* User data for serial_cb. */ + TS_time_cb time_cb; + void *time_cb_data; /* User data for time_cb. */ + TS_extension_cb extension_cb; + void *extension_cb_data; /* User data for extension_cb. */ + /* These members are used only while creating the response. */ + TS_REQ *request; + TS_RESP *response; + TS_TST_INFO *tst_info; +} TS_RESP_CTX; + +DECLARE_STACK_OF(EVP_MD) +DECLARE_ASN1_SET_OF(EVP_MD) + +/* Creates a response context that can be used for generating responses. */ +TS_RESP_CTX *TS_RESP_CTX_new(void); +void TS_RESP_CTX_free(TS_RESP_CTX *ctx); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, ASN1_OBJECT *def_policy); + +/* No additional certs are included in the response by default. */ +int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs); + +/* + * Adds a new acceptable policy, only the default policy is accepted by + * default. + */ +int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, ASN1_OBJECT *policy); + +/* + * Adds a new acceptable message digest. Note that no message digests are + * accepted by default. The md argument is shared with the caller. + */ +int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md); + +/* Accuracy is not included by default. */ +int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, + int secs, int millis, int micros); + +/* + * Clock precision digits, i.e. the number of decimal digits: '0' means sec, + * '3' msec, '6' usec, and so on. Default is 0. + */ +int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, + unsigned clock_precision_digits); +/* At most we accept usec precision. */ +# define TS_MAX_CLOCK_PRECISION_DIGITS 6 + +/* Maximum status message length */ +# define TS_MAX_STATUS_LENGTH (1024 * 1024) + +/* No flags are set by default. */ +void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags); + +/* Default callback always returns a constant. */ +void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void *data); + +/* Default callback uses the gettimeofday() and gmtime() system calls. */ +void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void *data); + +/* + * Default callback rejects all extensions. The extension callback is called + * when the TS_TST_INFO object is already set up and not signed yet. + */ +/* FIXME: extension handling is not tested yet. */ +void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, + TS_extension_cb cb, void *data); + +/* The following methods can be used in the callbacks. */ +int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, + int status, const char *text); + +/* Sets the status info only if it is still TS_STATUS_GRANTED. */ +int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx, + int status, const char *text); + +int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure); + +/* The get methods below can be used in the extension callback. */ +TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx); + +TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx); + +/* + * Creates the signed TS_TST_INFO and puts it in TS_RESP. + * In case of errors it sets the status info properly. + * Returns NULL only in case of memory allocation/fatal error. + */ +TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio); + +/* + * Declarations related to response verification, + * they are defined in ts/ts_resp_verify.c. + */ + +int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, + X509_STORE *store, X509 **signer_out); + +/* Context structure for the generic verify method. */ + +/* Verify the signer's certificate and the signature of the response. */ +# define TS_VFY_SIGNATURE (1u << 0) +/* Verify the version number of the response. */ +# define TS_VFY_VERSION (1u << 1) +/* Verify if the policy supplied by the user matches the policy of the TSA. */ +# define TS_VFY_POLICY (1u << 2) +/* + * Verify the message imprint provided by the user. This flag should not be + * specified with TS_VFY_DATA. + */ +# define TS_VFY_IMPRINT (1u << 3) +/* + * Verify the message imprint computed by the verify method from the user + * provided data and the MD algorithm of the response. This flag should not + * be specified with TS_VFY_IMPRINT. + */ +# define TS_VFY_DATA (1u << 4) +/* Verify the nonce value. */ +# define TS_VFY_NONCE (1u << 5) +/* Verify if the TSA name field matches the signer certificate. */ +# define TS_VFY_SIGNER (1u << 6) +/* Verify if the TSA name field equals to the user provided name. */ +# define TS_VFY_TSA_NAME (1u << 7) + +/* You can use the following convenience constants. */ +# define TS_VFY_ALL_IMPRINT (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_IMPRINT \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) +# define TS_VFY_ALL_DATA (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_DATA \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) + +typedef struct TS_verify_ctx { + /* Set this to the union of TS_VFY_... flags you want to carry out. */ + unsigned flags; + /* Must be set only with TS_VFY_SIGNATURE. certs is optional. */ + X509_STORE *store; + STACK_OF(X509) *certs; + /* Must be set only with TS_VFY_POLICY. */ + ASN1_OBJECT *policy; + /* + * Must be set only with TS_VFY_IMPRINT. If md_alg is NULL, the + * algorithm from the response is used. + */ + X509_ALGOR *md_alg; + unsigned char *imprint; + unsigned imprint_len; + /* Must be set only with TS_VFY_DATA. */ + BIO *data; + /* Must be set only with TS_VFY_TSA_NAME. */ + ASN1_INTEGER *nonce; + /* Must be set only with TS_VFY_TSA_NAME. */ + GENERAL_NAME *tsa_name; +} TS_VERIFY_CTX; + +int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response); +int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token); + +/* + * Declarations related to response verification context, + * they are defined in ts/ts_verify_ctx.c. + */ + +/* Set all fields to zero. */ +TS_VERIFY_CTX *TS_VERIFY_CTX_new(void); +void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); + +/*- + * If ctx is NULL, it allocates and returns a new object, otherwise + * it returns ctx. It initialises all the members as follows: + * flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE) + * certs = NULL + * store = NULL + * policy = policy from the request or NULL if absent (in this case + * TS_VFY_POLICY is cleared from flags as well) + * md_alg = MD algorithm from request + * imprint, imprint_len = imprint from request + * data = NULL + * nonce, nonce_len = nonce from the request or NULL if absent (in this case + * TS_VFY_NONCE is cleared from flags as well) + * tsa_name = NULL + * Important: after calling this method TS_VFY_SIGNATURE should be added! + */ +TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx); + +/* Function declarations for TS_RESP defined in ts/ts_resp_print.c */ + +int TS_RESP_print_bio(BIO *bio, TS_RESP *a); +int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a); +int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a); + +/* Common utility functions defined in ts/ts_lib.c */ + +int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num); +int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj); +int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions); +int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg); +int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg); + +/* + * Function declarations for handling configuration options, defined in + * ts/ts_conf.c + */ + +X509 *TS_CONF_load_cert(const char *file); +STACK_OF(X509) *TS_CONF_load_certs(const char *file); +EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass); +const char *TS_CONF_get_tsa_section(CONF *conf, const char *section); +int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb, + TS_RESP_CTX *ctx); +int TS_CONF_set_crypto_device(CONF *conf, const char *section, + const char *device); +int TS_CONF_set_default_engine(const char *name); +int TS_CONF_set_signer_cert(CONF *conf, const char *section, + const char *cert, TS_RESP_CTX *ctx); +int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_key(CONF *conf, const char *section, + const char *key, const char *pass, + TS_RESP_CTX *ctx); +int TS_CONF_set_def_policy(CONF *conf, const char *section, + const char *policy, TS_RESP_CTX *ctx); +int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_clock_precision_digits(CONF *conf, const char *section, + TS_RESP_CTX *ctx); +int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section, + TS_RESP_CTX *ctx); + +/* -------------------------------------------------- */ +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_TS_strings(void); + +/* Error codes for the TS functions. */ + +/* Function codes. */ +# define TS_F_D2I_TS_RESP 147 +# define TS_F_DEF_SERIAL_CB 110 +# define TS_F_DEF_TIME_CB 111 +# define TS_F_ESS_ADD_SIGNING_CERT 112 +# define TS_F_ESS_CERT_ID_NEW_INIT 113 +# define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 +# define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 +# define TS_F_PKCS7_TO_TS_TST_INFO 148 +# define TS_F_TS_ACCURACY_SET_MICROS 115 +# define TS_F_TS_ACCURACY_SET_MILLIS 116 +# define TS_F_TS_ACCURACY_SET_SECONDS 117 +# define TS_F_TS_CHECK_IMPRINTS 100 +# define TS_F_TS_CHECK_NONCES 101 +# define TS_F_TS_CHECK_POLICY 102 +# define TS_F_TS_CHECK_SIGNING_CERTS 103 +# define TS_F_TS_CHECK_STATUS_INFO 104 +# define TS_F_TS_COMPUTE_IMPRINT 145 +# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 +# define TS_F_TS_GET_STATUS_TEXT 105 +# define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 +# define TS_F_TS_REQ_SET_MSG_IMPRINT 119 +# define TS_F_TS_REQ_SET_NONCE 120 +# define TS_F_TS_REQ_SET_POLICY_ID 121 +# define TS_F_TS_RESP_CREATE_RESPONSE 122 +# define TS_F_TS_RESP_CREATE_TST_INFO 123 +# define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 +# define TS_F_TS_RESP_CTX_ADD_MD 125 +# define TS_F_TS_RESP_CTX_ADD_POLICY 126 +# define TS_F_TS_RESP_CTX_NEW 127 +# define TS_F_TS_RESP_CTX_SET_ACCURACY 128 +# define TS_F_TS_RESP_CTX_SET_CERTS 129 +# define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 +# define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 +# define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 +# define TS_F_TS_RESP_GET_POLICY 133 +# define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 +# define TS_F_TS_RESP_SET_STATUS_INFO 135 +# define TS_F_TS_RESP_SET_TST_INFO 150 +# define TS_F_TS_RESP_SIGN 136 +# define TS_F_TS_RESP_VERIFY_SIGNATURE 106 +# define TS_F_TS_RESP_VERIFY_TOKEN 107 +# define TS_F_TS_TST_INFO_SET_ACCURACY 137 +# define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 +# define TS_F_TS_TST_INFO_SET_NONCE 139 +# define TS_F_TS_TST_INFO_SET_POLICY_ID 140 +# define TS_F_TS_TST_INFO_SET_SERIAL 141 +# define TS_F_TS_TST_INFO_SET_TIME 142 +# define TS_F_TS_TST_INFO_SET_TSA 143 +# define TS_F_TS_VERIFY 108 +# define TS_F_TS_VERIFY_CERT 109 +# define TS_F_TS_VERIFY_CTX_NEW 144 + +/* Reason codes. */ +# define TS_R_BAD_PKCS7_TYPE 132 +# define TS_R_BAD_TYPE 133 +# define TS_R_CERTIFICATE_VERIFY_ERROR 100 +# define TS_R_COULD_NOT_SET_ENGINE 127 +# define TS_R_COULD_NOT_SET_TIME 115 +# define TS_R_D2I_TS_RESP_INT_FAILED 128 +# define TS_R_DETACHED_CONTENT 134 +# define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 +# define TS_R_ESS_SIGNING_CERTIFICATE_ERROR 101 +# define TS_R_INVALID_NULL_POINTER 102 +# define TS_R_INVALID_SIGNER_CERTIFICATE_PURPOSE 117 +# define TS_R_MESSAGE_IMPRINT_MISMATCH 103 +# define TS_R_NONCE_MISMATCH 104 +# define TS_R_NONCE_NOT_RETURNED 105 +# define TS_R_NO_CONTENT 106 +# define TS_R_NO_TIME_STAMP_TOKEN 107 +# define TS_R_PKCS7_ADD_SIGNATURE_ERROR 118 +# define TS_R_PKCS7_ADD_SIGNED_ATTR_ERROR 119 +# define TS_R_PKCS7_TO_TS_TST_INFO_FAILED 129 +# define TS_R_POLICY_MISMATCH 108 +# define TS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 120 +# define TS_R_RESPONSE_SETUP_ERROR 121 +# define TS_R_SIGNATURE_FAILURE 109 +# define TS_R_THERE_MUST_BE_ONE_SIGNER 110 +# define TS_R_TIME_SYSCALL_ERROR 122 +# define TS_R_TOKEN_NOT_PRESENT 130 +# define TS_R_TOKEN_PRESENT 131 +# define TS_R_TSA_NAME_MISMATCH 111 +# define TS_R_TSA_UNTRUSTED 112 +# define TS_R_TST_INFO_SETUP_ERROR 123 +# define TS_R_TS_DATASIGN 124 +# define TS_R_UNACCEPTABLE_POLICY 125 +# define TS_R_UNSUPPORTED_MD_ALGORITHM 126 +# define TS_R_UNSUPPORTED_VERSION 113 +# define TS_R_WRONG_CONTENT_TYPE 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/txt_db.h b/openssl/1.0/include/openssl/txt_db.h new file mode 100644 index 0000000..98e23a2 --- /dev/null +++ b/openssl/1.0/include/openssl/txt_db.h @@ -0,0 +1,112 @@ +/* crypto/txt_db/txt_db.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_TXT_DB_H +# define HEADER_TXT_DB_H + +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include + +# define DB_ERROR_OK 0 +# define DB_ERROR_MALLOC 1 +# define DB_ERROR_INDEX_CLASH 2 +# define DB_ERROR_INDEX_OUT_OF_RANGE 3 +# define DB_ERROR_NO_INDEX 4 +# define DB_ERROR_INSERT_INDEX_CLASH 5 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OPENSSL_STRING *OPENSSL_PSTRING; +DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) + +typedef struct txt_db_st { + int num_fields; + STACK_OF(OPENSSL_PSTRING) *data; + LHASH_OF(OPENSSL_STRING) **index; + int (**qual) (OPENSSL_STRING *); + long error; + long arg1; + long arg2; + OPENSSL_STRING *arg_row; +} TXT_DB; + +# ifndef OPENSSL_NO_BIO +TXT_DB *TXT_DB_read(BIO *in, int num); +long TXT_DB_write(BIO *out, TXT_DB *db); +# else +TXT_DB *TXT_DB_read(char *in, int num); +long TXT_DB_write(char *out, TXT_DB *db); +# endif +int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *), + LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp); +void TXT_DB_free(TXT_DB *db); +OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, + OPENSSL_STRING *value); +int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/ui.h b/openssl/1.0/include/openssl/ui.h new file mode 100644 index 0000000..0dc1633 --- /dev/null +++ b/openssl/1.0/include/openssl/ui.h @@ -0,0 +1,415 @@ +/* crypto/ui/ui.h */ +/* + * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project + * 2001. + */ +/* ==================================================================== + * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_UI_H +# define HEADER_UI_H + +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Declared already in ossl_typ.h */ +/* typedef struct ui_st UI; */ +/* typedef struct ui_method_st UI_METHOD; */ + +/* + * All the following functions return -1 or NULL on error and in some cases + * (UI_process()) -2 if interrupted or in some other way cancelled. When + * everything is fine, they return 0, a positive value or a non-NULL pointer, + * all depending on their purpose. + */ + +/* Creators and destructor. */ +UI *UI_new(void); +UI *UI_new_method(const UI_METHOD *method); +void UI_free(UI *ui); + +/*- + The following functions are used to add strings to be printed and prompt + strings to prompt for data. The names are UI_{add,dup}__string + and UI_{add,dup}_input_boolean. + + UI_{add,dup}__string have the following meanings: + add add a text or prompt string. The pointers given to these + functions are used verbatim, no copying is done. + dup make a copy of the text or prompt string, then add the copy + to the collection of strings in the user interface. + + The function is a name for the functionality that the given + string shall be used for. It can be one of: + input use the string as data prompt. + verify use the string as verification prompt. This + is used to verify a previous input. + info use the string for informational output. + error use the string for error output. + Honestly, there's currently no difference between info and error for the + moment. + + UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", + and are typically used when one wants to prompt for a yes/no response. + + All of the functions in this group take a UI and a prompt string. + The string input and verify addition functions also take a flag argument, + a buffer for the result to end up with, a minimum input size and a maximum + input size (the result buffer MUST be large enough to be able to contain + the maximum number of characters). Additionally, the verify addition + functions takes another buffer to compare the result against. + The boolean input functions take an action description string (which should + be safe to ignore if the expected user action is obvious, for example with + a dialog box with an OK button and a Cancel button), a string of acceptable + characters to mean OK and to mean Cancel. The two last strings are checked + to make sure they don't have common characters. Additionally, the same + flag argument as for the string input is taken, as well as a result buffer. + The result buffer is required to be at least one byte long. Depending on + the answer, the first character from the OK or the Cancel character strings + will be stored in the first byte of the result buffer. No NUL will be + added, so the result is *not* a string. + + On success, the all return an index of the added information. That index + is usefull when retrieving results with UI_get0_result(). */ +int UI_add_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_dup_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_add_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_dup_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_add_info_string(UI *ui, const char *text); +int UI_dup_info_string(UI *ui, const char *text); +int UI_add_error_string(UI *ui, const char *text); +int UI_dup_error_string(UI *ui, const char *text); + +/* These are the possible flags. They can be or'ed together. */ +/* Use to have echoing of input */ +# define UI_INPUT_FLAG_ECHO 0x01 +/* + * Use a default password. Where that password is found is completely up to + * the application, it might for example be in the user data set with + * UI_add_user_data(). It is not recommended to have more than one input in + * each UI being marked with this flag, or the application might get + * confused. + */ +# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 + +/*- + * The user of these routines may want to define flags of their own. The core + * UI won't look at those, but will pass them on to the method routines. They + * must use higher bits so they don't get confused with the UI bits above. + * UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good + * example of use is this: + * + * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) + * +*/ +# define UI_INPUT_FLAG_USER_BASE 16 + +/*- + * The following function helps construct a prompt. object_desc is a + * textual short description of the object, for example "pass phrase", + * and object_name is the name of the object (might be a card name or + * a file name. + * The returned string shall always be allocated on the heap with + * OPENSSL_malloc(), and need to be free'd with OPENSSL_free(). + * + * If the ui_method doesn't contain a pointer to a user-defined prompt + * constructor, a default string is built, looking like this: + * + * "Enter {object_desc} for {object_name}:" + * + * So, if object_desc has the value "pass phrase" and object_name has + * the value "foo.key", the resulting string is: + * + * "Enter pass phrase for foo.key:" +*/ +char *UI_construct_prompt(UI *ui_method, + const char *object_desc, const char *object_name); + +/* + * The following function is used to store a pointer to user-specific data. + * Any previous such pointer will be returned and replaced. + * + * For callback purposes, this function makes a lot more sense than using + * ex_data, since the latter requires that different parts of OpenSSL or + * applications share the same ex_data index. + * + * Note that the UI_OpenSSL() method completely ignores the user data. Other + * methods may not, however. + */ +void *UI_add_user_data(UI *ui, void *user_data); +/* We need a user data retrieving function as well. */ +void *UI_get0_user_data(UI *ui); + +/* Return the result associated with a prompt given with the index i. */ +const char *UI_get0_result(UI *ui, int i); + +/* When all strings have been added, process the whole thing. */ +int UI_process(UI *ui); + +/* + * Give a user interface parametrised control commands. This can be used to + * send down an integer, a data pointer or a function pointer, as well as be + * used to get information from a UI. + */ +int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); + +/* The commands */ +/* + * Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the + * OpenSSL error stack before printing any info or added error messages and + * before any prompting. + */ +# define UI_CTRL_PRINT_ERRORS 1 +/* + * Check if a UI_process() is possible to do again with the same instance of + * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 + * if not. + */ +# define UI_CTRL_IS_REDOABLE 2 + +/* Some methods may use extra data */ +# define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) +# define UI_get_app_data(s) UI_get_ex_data(s,0) +int UI_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int UI_set_ex_data(UI *r, int idx, void *arg); +void *UI_get_ex_data(UI *r, int idx); + +/* Use specific methods instead of the built-in one */ +void UI_set_default_method(const UI_METHOD *meth); +const UI_METHOD *UI_get_default_method(void); +const UI_METHOD *UI_get_method(UI *ui); +const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); + +/* The method with all the built-in thingies */ +UI_METHOD *UI_OpenSSL(void); + +/* ---------- For method writers ---------- */ +/*- + A method contains a number of functions that implement the low level + of the User Interface. The functions are: + + an opener This function starts a session, maybe by opening + a channel to a tty, or by opening a window. + a writer This function is called to write a given string, + maybe to the tty, maybe as a field label in a + window. + a flusher This function is called to flush everything that + has been output so far. It can be used to actually + display a dialog box after it has been built. + a reader This function is called to read a given prompt, + maybe from the tty, maybe from a field in a + window. Note that it's called wth all string + structures, not only the prompt ones, so it must + check such things itself. + a closer This function closes the session, maybe by closing + the channel to the tty, or closing the window. + + All these functions are expected to return: + + 0 on error. + 1 on success. + -1 on out-of-band events, for example if some prompting has + been canceled (by pressing Ctrl-C, for example). This is + only checked when returned by the flusher or the reader. + + The way this is used, the opener is first called, then the writer for all + strings, then the flusher, then the reader for all strings and finally the + closer. Note that if you want to prompt from a terminal or other command + line interface, the best is to have the reader also write the prompts + instead of having the writer do it. If you want to prompt from a dialog + box, the writer can be used to build up the contents of the box, and the + flusher to actually display the box and run the event loop until all data + has been given, after which the reader only grabs the given data and puts + them back into the UI strings. + + All method functions take a UI as argument. Additionally, the writer and + the reader take a UI_STRING. +*/ + +/* + * The UI_STRING type is the data structure that contains all the needed info + * about a string or a prompt, including test data for a verification prompt. + */ +typedef struct ui_string_st UI_STRING; +DECLARE_STACK_OF(UI_STRING) + +/* + * The different types of strings that are currently supported. This is only + * needed by method authors. + */ +enum UI_string_types { + UIT_NONE = 0, + UIT_PROMPT, /* Prompt for a string */ + UIT_VERIFY, /* Prompt for a string and verify */ + UIT_BOOLEAN, /* Prompt for a yes/no response */ + UIT_INFO, /* Send info to the user */ + UIT_ERROR /* Send an error message to the user */ +}; + +/* Create and manipulate methods */ +UI_METHOD *UI_create_method(char *name); +void UI_destroy_method(UI_METHOD *ui_method); +int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui)); +int UI_method_set_writer(UI_METHOD *method, + int (*writer) (UI *ui, UI_STRING *uis)); +int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui)); +int UI_method_set_reader(UI_METHOD *method, + int (*reader) (UI *ui, UI_STRING *uis)); +int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui)); +int UI_method_set_prompt_constructor(UI_METHOD *method, + char *(*prompt_constructor) (UI *ui, + const char + *object_desc, + const char + *object_name)); +int (*UI_method_get_opener(UI_METHOD *method)) (UI *); +int (*UI_method_get_writer(UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_flusher(UI_METHOD *method)) (UI *); +int (*UI_method_get_reader(UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_closer(UI_METHOD *method)) (UI *); +char *(*UI_method_get_prompt_constructor(UI_METHOD *method)) (UI *, + const char *, + const char *); + +/* + * The following functions are helpers for method writers to access relevant + * data from a UI_STRING. + */ + +/* Return type of the UI_STRING */ +enum UI_string_types UI_get_string_type(UI_STRING *uis); +/* Return input flags of the UI_STRING */ +int UI_get_input_flags(UI_STRING *uis); +/* Return the actual string to output (the prompt, info or error) */ +const char *UI_get0_output_string(UI_STRING *uis); +/* + * Return the optional action string to output (the boolean promtp + * instruction) + */ +const char *UI_get0_action_string(UI_STRING *uis); +/* Return the result of a prompt */ +const char *UI_get0_result_string(UI_STRING *uis); +/* + * Return the string to test the result against. Only useful with verifies. + */ +const char *UI_get0_test_string(UI_STRING *uis); +/* Return the required minimum size of the result */ +int UI_get_result_minsize(UI_STRING *uis); +/* Return the required maximum size of the result */ +int UI_get_result_maxsize(UI_STRING *uis); +/* Set the result of a UI_STRING. */ +int UI_set_result(UI *ui, UI_STRING *uis, const char *result); + +/* A couple of popular utility functions */ +int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, + int verify); +int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, + int verify); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_UI_strings(void); + +/* Error codes for the UI functions. */ + +/* Function codes. */ +# define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 +# define UI_F_GENERAL_ALLOCATE_PROMPT 109 +# define UI_F_GENERAL_ALLOCATE_STRING 100 +# define UI_F_UI_CTRL 111 +# define UI_F_UI_DUP_ERROR_STRING 101 +# define UI_F_UI_DUP_INFO_STRING 102 +# define UI_F_UI_DUP_INPUT_BOOLEAN 110 +# define UI_F_UI_DUP_INPUT_STRING 103 +# define UI_F_UI_DUP_VERIFY_STRING 106 +# define UI_F_UI_GET0_RESULT 107 +# define UI_F_UI_NEW_METHOD 104 +# define UI_F_UI_SET_RESULT 105 + +/* Reason codes. */ +# define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104 +# define UI_R_INDEX_TOO_LARGE 102 +# define UI_R_INDEX_TOO_SMALL 103 +# define UI_R_NO_RESULT_BUFFER 105 +# define UI_R_RESULT_TOO_LARGE 100 +# define UI_R_RESULT_TOO_SMALL 101 +# define UI_R_UNKNOWN_CONTROL_COMMAND 106 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/ui_compat.h b/openssl/1.0/include/openssl/ui_compat.h new file mode 100644 index 0000000..bf54154 --- /dev/null +++ b/openssl/1.0/include/openssl/ui_compat.h @@ -0,0 +1,88 @@ +/* crypto/ui/ui.h */ +/* + * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project + * 2001. + */ +/* ==================================================================== + * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_UI_COMPAT_H +# define HEADER_UI_COMPAT_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The following functions were previously part of the DES section, and are + * provided here for backward compatibility reasons. + */ + +# define des_read_pw_string(b,l,p,v) \ + _ossl_old_des_read_pw_string((b),(l),(p),(v)) +# define des_read_pw(b,bf,s,p,v) \ + _ossl_old_des_read_pw((b),(bf),(s),(p),(v)) + +int _ossl_old_des_read_pw_string(char *buf, int length, const char *prompt, + int verify); +int _ossl_old_des_read_pw(char *buf, char *buff, int size, const char *prompt, + int verify); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/whrlpool.h b/openssl/1.0/include/openssl/whrlpool.h new file mode 100644 index 0000000..73c749d --- /dev/null +++ b/openssl/1.0/include/openssl/whrlpool.h @@ -0,0 +1,41 @@ +#ifndef HEADER_WHRLPOOL_H +# define HEADER_WHRLPOOL_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define WHIRLPOOL_DIGEST_LENGTH (512/8) +# define WHIRLPOOL_BBLOCK 512 +# define WHIRLPOOL_COUNTER (256/8) + +typedef struct { + union { + unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; + /* double q is here to ensure 64-bit alignment */ + double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)]; + } H; + unsigned char data[WHIRLPOOL_BBLOCK / 8]; + unsigned int bitoff; + size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; +} WHIRLPOOL_CTX; + +# ifndef OPENSSL_NO_WHIRLPOOL +# ifdef OPENSSL_FIPS +int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c); +# endif +int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); +int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); +void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); +int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); +unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.0/include/openssl/x509.h b/openssl/1.0/include/openssl/x509.h new file mode 100644 index 0000000..6fa28eb --- /dev/null +++ b/openssl/1.0/include/openssl/x509.h @@ -0,0 +1,1330 @@ +/* crypto/x509/x509.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_X509_H +# define HEADER_X509_H + +# include +# include +# ifndef OPENSSL_NO_BUFFER +# include +# endif +# ifndef OPENSSL_NO_EVP +# include +# endif +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include +# include + +# ifndef OPENSSL_NO_EC +# include +# endif + +# ifndef OPENSSL_NO_ECDSA +# include +# endif + +# ifndef OPENSSL_NO_ECDH +# include +# endif + +# ifndef OPENSSL_NO_DEPRECATED +# ifndef OPENSSL_NO_RSA +# include +# endif +# ifndef OPENSSL_NO_DSA +# include +# endif +# ifndef OPENSSL_NO_DH +# include +# endif +# endif + +# ifndef OPENSSL_NO_SHA +# include +# endif +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_SYS_WIN32 +/* Under Win32 these are defined in wincrypt.h */ +# undef X509_NAME +# undef X509_CERT_PAIR +# undef X509_EXTENSIONS +# endif + +# define X509_FILETYPE_PEM 1 +# define X509_FILETYPE_ASN1 2 +# define X509_FILETYPE_DEFAULT 3 + +# define X509v3_KU_DIGITAL_SIGNATURE 0x0080 +# define X509v3_KU_NON_REPUDIATION 0x0040 +# define X509v3_KU_KEY_ENCIPHERMENT 0x0020 +# define X509v3_KU_DATA_ENCIPHERMENT 0x0010 +# define X509v3_KU_KEY_AGREEMENT 0x0008 +# define X509v3_KU_KEY_CERT_SIGN 0x0004 +# define X509v3_KU_CRL_SIGN 0x0002 +# define X509v3_KU_ENCIPHER_ONLY 0x0001 +# define X509v3_KU_DECIPHER_ONLY 0x8000 +# define X509v3_KU_UNDEF 0xffff + +typedef struct X509_objects_st { + int nid; + int (*a2i) (void); + int (*i2a) (void); +} X509_OBJECTS; + +struct X509_algor_st { + ASN1_OBJECT *algorithm; + ASN1_TYPE *parameter; +} /* X509_ALGOR */ ; + +DECLARE_ASN1_SET_OF(X509_ALGOR) + +typedef STACK_OF(X509_ALGOR) X509_ALGORS; + +typedef struct X509_val_st { + ASN1_TIME *notBefore; + ASN1_TIME *notAfter; +} X509_VAL; + +struct X509_pubkey_st { + X509_ALGOR *algor; + ASN1_BIT_STRING *public_key; + EVP_PKEY *pkey; +}; + +typedef struct X509_sig_st { + X509_ALGOR *algor; + ASN1_OCTET_STRING *digest; +} X509_SIG; + +typedef struct X509_name_entry_st { + ASN1_OBJECT *object; + ASN1_STRING *value; + int set; + int size; /* temp variable */ +} X509_NAME_ENTRY; + +DECLARE_STACK_OF(X509_NAME_ENTRY) +DECLARE_ASN1_SET_OF(X509_NAME_ENTRY) + +/* we always keep X509_NAMEs in 2 forms. */ +struct X509_name_st { + STACK_OF(X509_NAME_ENTRY) *entries; + int modified; /* true if 'bytes' needs to be built */ +# ifndef OPENSSL_NO_BUFFER + BUF_MEM *bytes; +# else + char *bytes; +# endif +/* unsigned long hash; Keep the hash around for lookups */ + unsigned char *canon_enc; + int canon_enclen; +} /* X509_NAME */ ; + +DECLARE_STACK_OF(X509_NAME) + +# define X509_EX_V_NETSCAPE_HACK 0x8000 +# define X509_EX_V_INIT 0x0001 +typedef struct X509_extension_st { + ASN1_OBJECT *object; + ASN1_BOOLEAN critical; + ASN1_OCTET_STRING *value; +} X509_EXTENSION; + +typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; + +DECLARE_STACK_OF(X509_EXTENSION) +DECLARE_ASN1_SET_OF(X509_EXTENSION) + +/* a sequence of these are used */ +typedef struct x509_attributes_st { + ASN1_OBJECT *object; + int single; /* 0 for a set, 1 for a single item (which is + * wrong) */ + union { + char *ptr; + /* + * 0 + */ STACK_OF(ASN1_TYPE) *set; + /* + * 1 + */ ASN1_TYPE *single; + } value; +} X509_ATTRIBUTE; + +DECLARE_STACK_OF(X509_ATTRIBUTE) +DECLARE_ASN1_SET_OF(X509_ATTRIBUTE) + +typedef struct X509_req_info_st { + ASN1_ENCODING enc; + ASN1_INTEGER *version; + X509_NAME *subject; + X509_PUBKEY *pubkey; + /* d=2 hl=2 l= 0 cons: cont: 00 */ + STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ +} X509_REQ_INFO; + +typedef struct X509_req_st { + X509_REQ_INFO *req_info; + X509_ALGOR *sig_alg; + ASN1_BIT_STRING *signature; + int references; +} X509_REQ; + +typedef struct x509_cinf_st { + ASN1_INTEGER *version; /* [ 0 ] default of v1 */ + ASN1_INTEGER *serialNumber; + X509_ALGOR *signature; + X509_NAME *issuer; + X509_VAL *validity; + X509_NAME *subject; + X509_PUBKEY *key; + ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ + ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ + STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ + ASN1_ENCODING enc; +} X509_CINF; + +/* + * This stuff is certificate "auxiliary info" it contains details which are + * useful in certificate stores and databases. When used this is tagged onto + * the end of the certificate itself + */ + +typedef struct x509_cert_aux_st { + STACK_OF(ASN1_OBJECT) *trust; /* trusted uses */ + STACK_OF(ASN1_OBJECT) *reject; /* rejected uses */ + ASN1_UTF8STRING *alias; /* "friendly name" */ + ASN1_OCTET_STRING *keyid; /* key id of private key */ + STACK_OF(X509_ALGOR) *other; /* other unspecified info */ +} X509_CERT_AUX; + +struct x509_st { + X509_CINF *cert_info; + X509_ALGOR *sig_alg; + ASN1_BIT_STRING *signature; + int valid; + int references; + char *name; + CRYPTO_EX_DATA ex_data; + /* These contain copies of various extension values */ + long ex_pathlen; + long ex_pcpathlen; + unsigned long ex_flags; + unsigned long ex_kusage; + unsigned long ex_xkusage; + unsigned long ex_nscert; + ASN1_OCTET_STRING *skid; + AUTHORITY_KEYID *akid; + X509_POLICY_CACHE *policy_cache; + STACK_OF(DIST_POINT) *crldp; + STACK_OF(GENERAL_NAME) *altname; + NAME_CONSTRAINTS *nc; +# ifndef OPENSSL_NO_RFC3779 + STACK_OF(IPAddressFamily) *rfc3779_addr; + struct ASIdentifiers_st *rfc3779_asid; +# endif +# ifndef OPENSSL_NO_SHA + unsigned char sha1_hash[SHA_DIGEST_LENGTH]; +# endif + X509_CERT_AUX *aux; +} /* X509 */ ; + +DECLARE_STACK_OF(X509) +DECLARE_ASN1_SET_OF(X509) + +/* This is used for a table of trust checking functions */ + +typedef struct x509_trust_st { + int trust; + int flags; + int (*check_trust) (struct x509_trust_st *, X509 *, int); + char *name; + int arg1; + void *arg2; +} X509_TRUST; + +DECLARE_STACK_OF(X509_TRUST) + +typedef struct x509_cert_pair_st { + X509 *forward; + X509 *reverse; +} X509_CERT_PAIR; + +/* standard trust ids */ + +# define X509_TRUST_DEFAULT -1/* Only valid in purpose settings */ + +# define X509_TRUST_COMPAT 1 +# define X509_TRUST_SSL_CLIENT 2 +# define X509_TRUST_SSL_SERVER 3 +# define X509_TRUST_EMAIL 4 +# define X509_TRUST_OBJECT_SIGN 5 +# define X509_TRUST_OCSP_SIGN 6 +# define X509_TRUST_OCSP_REQUEST 7 +# define X509_TRUST_TSA 8 + +/* Keep these up to date! */ +# define X509_TRUST_MIN 1 +# define X509_TRUST_MAX 8 + +/* trust_flags values */ +# define X509_TRUST_DYNAMIC 1 +# define X509_TRUST_DYNAMIC_NAME 2 + +/* check_trust return codes */ + +# define X509_TRUST_TRUSTED 1 +# define X509_TRUST_REJECTED 2 +# define X509_TRUST_UNTRUSTED 3 + +/* Flags for X509_print_ex() */ + +# define X509_FLAG_COMPAT 0 +# define X509_FLAG_NO_HEADER 1L +# define X509_FLAG_NO_VERSION (1L << 1) +# define X509_FLAG_NO_SERIAL (1L << 2) +# define X509_FLAG_NO_SIGNAME (1L << 3) +# define X509_FLAG_NO_ISSUER (1L << 4) +# define X509_FLAG_NO_VALIDITY (1L << 5) +# define X509_FLAG_NO_SUBJECT (1L << 6) +# define X509_FLAG_NO_PUBKEY (1L << 7) +# define X509_FLAG_NO_EXTENSIONS (1L << 8) +# define X509_FLAG_NO_SIGDUMP (1L << 9) +# define X509_FLAG_NO_AUX (1L << 10) +# define X509_FLAG_NO_ATTRIBUTES (1L << 11) +# define X509_FLAG_NO_IDS (1L << 12) + +/* Flags specific to X509_NAME_print_ex() */ + +/* The field separator information */ + +# define XN_FLAG_SEP_MASK (0xf << 16) + +# define XN_FLAG_COMPAT 0/* Traditional SSLeay: use old + * X509_NAME_print */ +# define XN_FLAG_SEP_COMMA_PLUS (1 << 16)/* RFC2253 ,+ */ +# define XN_FLAG_SEP_CPLUS_SPC (2 << 16)/* ,+ spaced: more readable */ +# define XN_FLAG_SEP_SPLUS_SPC (3 << 16)/* ;+ spaced */ +# define XN_FLAG_SEP_MULTILINE (4 << 16)/* One line per field */ + +# define XN_FLAG_DN_REV (1 << 20)/* Reverse DN order */ + +/* How the field name is shown */ + +# define XN_FLAG_FN_MASK (0x3 << 21) + +# define XN_FLAG_FN_SN 0/* Object short name */ +# define XN_FLAG_FN_LN (1 << 21)/* Object long name */ +# define XN_FLAG_FN_OID (2 << 21)/* Always use OIDs */ +# define XN_FLAG_FN_NONE (3 << 21)/* No field names */ + +# define XN_FLAG_SPC_EQ (1 << 23)/* Put spaces round '=' */ + +/* + * This determines if we dump fields we don't recognise: RFC2253 requires + * this. + */ + +# define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) + +# define XN_FLAG_FN_ALIGN (1 << 25)/* Align field names to 20 + * characters */ + +/* Complete set of RFC2253 flags */ + +# define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ + XN_FLAG_SEP_COMMA_PLUS | \ + XN_FLAG_DN_REV | \ + XN_FLAG_FN_SN | \ + XN_FLAG_DUMP_UNKNOWN_FIELDS) + +/* readable oneline form */ + +# define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ + ASN1_STRFLGS_ESC_QUOTE | \ + XN_FLAG_SEP_CPLUS_SPC | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_SN) + +/* readable multiline form */ + +# define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + XN_FLAG_SEP_MULTILINE | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_LN | \ + XN_FLAG_FN_ALIGN) + +struct x509_revoked_st { + ASN1_INTEGER *serialNumber; + ASN1_TIME *revocationDate; + STACK_OF(X509_EXTENSION) /* optional */ *extensions; + /* Set up if indirect CRL */ + STACK_OF(GENERAL_NAME) *issuer; + /* Revocation reason */ + int reason; + int sequence; /* load sequence */ +}; + +DECLARE_STACK_OF(X509_REVOKED) +DECLARE_ASN1_SET_OF(X509_REVOKED) + +typedef struct X509_crl_info_st { + ASN1_INTEGER *version; + X509_ALGOR *sig_alg; + X509_NAME *issuer; + ASN1_TIME *lastUpdate; + ASN1_TIME *nextUpdate; + STACK_OF(X509_REVOKED) *revoked; + STACK_OF(X509_EXTENSION) /* [0] */ *extensions; + ASN1_ENCODING enc; +} X509_CRL_INFO; + +struct X509_crl_st { + /* actual signature */ + X509_CRL_INFO *crl; + X509_ALGOR *sig_alg; + ASN1_BIT_STRING *signature; + int references; + int flags; + /* Copies of various extensions */ + AUTHORITY_KEYID *akid; + ISSUING_DIST_POINT *idp; + /* Convenient breakdown of IDP */ + int idp_flags; + int idp_reasons; + /* CRL and base CRL numbers for delta processing */ + ASN1_INTEGER *crl_number; + ASN1_INTEGER *base_crl_number; +# ifndef OPENSSL_NO_SHA + unsigned char sha1_hash[SHA_DIGEST_LENGTH]; +# endif + STACK_OF(GENERAL_NAMES) *issuers; + const X509_CRL_METHOD *meth; + void *meth_data; +} /* X509_CRL */ ; + +DECLARE_STACK_OF(X509_CRL) +DECLARE_ASN1_SET_OF(X509_CRL) + +typedef struct private_key_st { + int version; + /* The PKCS#8 data types */ + X509_ALGOR *enc_algor; + ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ + /* When decrypted, the following will not be NULL */ + EVP_PKEY *dec_pkey; + /* used to encrypt and decrypt */ + int key_length; + char *key_data; + int key_free; /* true if we should auto free key_data */ + /* expanded version of 'enc_algor' */ + EVP_CIPHER_INFO cipher; + int references; +} X509_PKEY; + +# ifndef OPENSSL_NO_EVP +typedef struct X509_info_st { + X509 *x509; + X509_CRL *crl; + X509_PKEY *x_pkey; + EVP_CIPHER_INFO enc_cipher; + int enc_len; + char *enc_data; + int references; +} X509_INFO; + +DECLARE_STACK_OF(X509_INFO) +# endif + +/* + * The next 2 structures and their 8 routines were sent to me by Pat Richard + * and are used to manipulate Netscapes spki structures - + * useful if you are writing a CA web page + */ +typedef struct Netscape_spkac_st { + X509_PUBKEY *pubkey; + ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ +} NETSCAPE_SPKAC; + +typedef struct Netscape_spki_st { + NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ + X509_ALGOR *sig_algor; + ASN1_BIT_STRING *signature; +} NETSCAPE_SPKI; + +/* Netscape certificate sequence structure */ +typedef struct Netscape_certificate_sequence { + ASN1_OBJECT *type; + STACK_OF(X509) *certs; +} NETSCAPE_CERT_SEQUENCE; + +/*- Unused (and iv length is wrong) +typedef struct CBCParameter_st + { + unsigned char iv[8]; + } CBC_PARAM; +*/ + +/* Password based encryption structure */ + +typedef struct PBEPARAM_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; +} PBEPARAM; + +/* Password based encryption V2 structures */ + +typedef struct PBE2PARAM_st { + X509_ALGOR *keyfunc; + X509_ALGOR *encryption; +} PBE2PARAM; + +typedef struct PBKDF2PARAM_st { +/* Usually OCTET STRING but could be anything */ + ASN1_TYPE *salt; + ASN1_INTEGER *iter; + ASN1_INTEGER *keylength; + X509_ALGOR *prf; +} PBKDF2PARAM; + +/* PKCS#8 private key info structure */ + +struct pkcs8_priv_key_info_st { + /* Flag for various broken formats */ + int broken; +# define PKCS8_OK 0 +# define PKCS8_NO_OCTET 1 +# define PKCS8_EMBEDDED_PARAM 2 +# define PKCS8_NS_DB 3 +# define PKCS8_NEG_PRIVKEY 4 + ASN1_INTEGER *version; + X509_ALGOR *pkeyalg; + /* Should be OCTET STRING but some are broken */ + ASN1_TYPE *pkey; + STACK_OF(X509_ATTRIBUTE) *attributes; +}; + +#ifdef __cplusplus +} +#endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define X509_EXT_PACK_UNKNOWN 1 +# define X509_EXT_PACK_STRING 2 + +# define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version) +/* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ +# define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore) +# define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter) +# define X509_extract_key(x) X509_get_pubkey(x)/*****/ +# define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version) +# define X509_REQ_get_subject_name(x) ((x)->req_info->subject) +# define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) +# define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) +# define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_alg->algorithm)) + +# define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version) +# define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate) +# define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate) +# define X509_CRL_get_issuer(x) ((x)->crl->issuer) +# define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) + +void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); +X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), + int (*crl_free) (X509_CRL *crl), + int (*crl_lookup) (X509_CRL *crl, + X509_REVOKED **ret, + ASN1_INTEGER *ser, + X509_NAME *issuer), + int (*crl_verify) (X509_CRL *crl, + EVP_PKEY *pk)); +void X509_CRL_METHOD_free(X509_CRL_METHOD *m); + +void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); +void *X509_CRL_get_meth_data(X509_CRL *crl); + +/* + * This one is only used so that a binary form can output, as in + * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) + */ +# define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) + +const char *X509_verify_cert_error_string(long n); + +# ifndef OPENSSL_NO_EVP +int X509_verify(X509 *a, EVP_PKEY *r); + +int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); +int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); +int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); + +NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len); +char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); +EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); +int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); + +int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); + +int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); +int X509_signature_print(BIO *bp, X509_ALGOR *alg, ASN1_STRING *sig); + +int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); +int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); +int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); +int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); +int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); + +int X509_pubkey_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +# endif + +# ifndef OPENSSL_NO_FP_API +X509 *d2i_X509_fp(FILE *fp, X509 **x509); +int i2d_X509_fp(FILE *fp, X509 *x509); +X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); +int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); +int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); +int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); +int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); +DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); +int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); +int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); +int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); +int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); +int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); +# endif + +# ifndef OPENSSL_NO_BIO +X509 *d2i_X509_bio(BIO *bp, X509 **x509); +int i2d_X509_bio(BIO *bp, X509 *x509); +X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); +int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); +int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); +int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); +int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); +DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); +int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); +int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); +int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); +int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); +int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); +# endif + +X509 *X509_dup(X509 *x509); +X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); +X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); +X509_CRL *X509_CRL_dup(X509_CRL *crl); +X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); +X509_REQ *X509_REQ_dup(X509_REQ *req); +X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); +int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, + void *pval); +void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, + X509_ALGOR *algor); +void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); +int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); + +X509_NAME *X509_NAME_dup(X509_NAME *xn); +X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); + +int X509_cmp_time(const ASN1_TIME *s, time_t *t); +int X509_cmp_current_time(const ASN1_TIME *s); +ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); +ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, + int offset_day, long offset_sec, time_t *t); +ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj); + +const char *X509_get_default_cert_area(void); +const char *X509_get_default_cert_dir(void); +const char *X509_get_default_cert_file(void); +const char *X509_get_default_cert_dir_env(void); +const char *X509_get_default_cert_file_env(void); +const char *X509_get_default_private_dir(void); + +X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey); + +DECLARE_ASN1_FUNCTIONS(X509_ALGOR) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) +DECLARE_ASN1_FUNCTIONS(X509_VAL) + +DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) + +int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); +EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); +int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); +int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); +EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); +# ifndef OPENSSL_NO_RSA +int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); +RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_DSA +int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); +DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_EC +int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); +EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); +# endif + +DECLARE_ASN1_FUNCTIONS(X509_SIG) +DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) +DECLARE_ASN1_FUNCTIONS(X509_REQ) + +DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) +X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); + +DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) + +DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) + +DECLARE_ASN1_FUNCTIONS(X509_NAME) + +int X509_NAME_set(X509_NAME **xn, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(X509_CINF) + +DECLARE_ASN1_FUNCTIONS(X509) +DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) + +DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR) + +int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int X509_set_ex_data(X509 *r, int idx, void *arg); +void *X509_get_ex_data(X509 *r, int idx); +int i2d_X509_AUX(X509 *a, unsigned char **pp); +X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); + +int i2d_re_X509_tbs(X509 *x, unsigned char **pp); + +void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg, + const X509 *x); +int X509_get_signature_nid(const X509 *x); + +int X509_alias_set1(X509 *x, unsigned char *name, int len); +int X509_keyid_set1(X509 *x, unsigned char *id, int len); +unsigned char *X509_alias_get0(X509 *x, int *len); +unsigned char *X509_keyid_get0(X509 *x, int *len); +int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, + int); +int X509_TRUST_set(int *t, int trust); +int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); +int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); +void X509_trust_clear(X509 *x); +void X509_reject_clear(X509 *x); + +DECLARE_ASN1_FUNCTIONS(X509_REVOKED) +DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) +DECLARE_ASN1_FUNCTIONS(X509_CRL) + +int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); +int X509_CRL_get0_by_serial(X509_CRL *crl, + X509_REVOKED **ret, ASN1_INTEGER *serial); +int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); + +X509_PKEY *X509_PKEY_new(void); +void X509_PKEY_free(X509_PKEY *a); +int i2d_X509_PKEY(X509_PKEY *a, unsigned char **pp); +X509_PKEY *d2i_X509_PKEY(X509_PKEY **a, const unsigned char **pp, + long length); + +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) + +# ifndef OPENSSL_NO_EVP +X509_INFO *X509_INFO_new(void); +void X509_INFO_free(X509_INFO *a); +char *X509_NAME_oneline(X509_NAME *a, char *buf, int size); + +int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); + +int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, + unsigned char *md, unsigned int *len); + +int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + char *data, EVP_PKEY *pkey, const EVP_MD *type); + +int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, + unsigned char *md, unsigned int *len); + +int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey); + +int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *data, + EVP_PKEY *pkey, const EVP_MD *type); +int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + void *asn, EVP_MD_CTX *ctx); +# endif + +int X509_set_version(X509 *x, long version); +int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); +ASN1_INTEGER *X509_get_serialNumber(X509 *x); +int X509_set_issuer_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_issuer_name(X509 *a); +int X509_set_subject_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_subject_name(X509 *a); +int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); +int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); +int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); +EVP_PKEY *X509_get_pubkey(X509 *x); +ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); +int X509_certificate_type(X509 *x, EVP_PKEY *pubkey /* optional */ ); + +int X509_REQ_set_version(X509_REQ *x, long version); +int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); +int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); +EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); +int X509_REQ_extension_nid(int nid); +int *X509_REQ_get_extension_nids(void); +void X509_REQ_set_extension_nids(int *nids); +STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); +int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, + int nid); +int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts); +int X509_REQ_get_attr_count(const X509_REQ *req); +int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos); +int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); +X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); +int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); +int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_NID(X509_REQ *req, + int nid, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_txt(X509_REQ *req, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_CRL_set_version(X509_CRL *x, long version); +int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); +int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_sort(X509_CRL *crl); + +int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); +int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); + +X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, + EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); + +int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); + +int X509_check_private_key(X509 *x509, EVP_PKEY *pkey); +int X509_chain_check_suiteb(int *perror_depth, + X509 *x, STACK_OF(X509) *chain, + unsigned long flags); +int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); +STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); + +int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_and_serial_hash(X509 *a); + +int X509_issuer_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_name_hash(X509 *a); + +int X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_subject_name_hash(X509 *x); + +# ifndef OPENSSL_NO_MD5 +unsigned long X509_issuer_name_hash_old(X509 *a); +unsigned long X509_subject_name_hash_old(X509 *x); +# endif + +int X509_cmp(const X509 *a, const X509 *b); +int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); +unsigned long X509_NAME_hash(X509_NAME *x); +unsigned long X509_NAME_hash_old(X509_NAME *x); + +int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); +# ifndef OPENSSL_NO_FP_API +int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print_fp(FILE *bp, X509 *x); +int X509_CRL_print_fp(FILE *bp, X509_CRL *x); +int X509_REQ_print_fp(FILE *bp, X509_REQ *req); +int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, + unsigned long flags); +# endif + +# ifndef OPENSSL_NO_BIO +int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); +int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, + unsigned long flags); +int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print(BIO *bp, X509 *x); +int X509_ocspid_print(BIO *bp, X509 *x); +int X509_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent); +int X509_CRL_print(BIO *bp, X509_CRL *x); +int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, + unsigned long cflag); +int X509_REQ_print(BIO *bp, X509_REQ *req); +# endif + +int X509_NAME_entry_count(X509_NAME *name); +int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len); +int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, + char *buf, int len); + +/* + * NOTE: you should be passsing -1, not 0 as lastpos. The functions that use + * lastpos, search after that position on. + */ +int X509_NAME_get_index_by_NID(X509_NAME *name, int nid, int lastpos); +int X509_NAME_get_index_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, + int lastpos); +X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); +X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); +int X509_NAME_add_entry(X509_NAME *name, X509_NAME_ENTRY *ne, + int loc, int set); +int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, + unsigned char *bytes, int len, int loc, + int set); +int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, + unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, + const char *field, int type, + const unsigned char *bytes, + int len); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, + int type, unsigned char *bytes, + int len); +int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, + ASN1_OBJECT *obj, int type, + const unsigned char *bytes, + int len); +int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj); +int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, + const unsigned char *bytes, int len); +ASN1_OBJECT *X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne); +ASN1_STRING *X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); + +int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); +int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, + int nid, int lastpos); +int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, + ASN1_OBJECT *obj, int lastpos); +int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, + int crit, int lastpos); +X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); +X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); +STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, + X509_EXTENSION *ex, int loc); + +int X509_get_ext_count(X509 *x); +int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); +int X509_get_ext_by_OBJ(X509 *x, ASN1_OBJECT *obj, int lastpos); +int X509_get_ext_by_critical(X509 *x, int crit, int lastpos); +X509_EXTENSION *X509_get_ext(X509 *x, int loc); +X509_EXTENSION *X509_delete_ext(X509 *x, int loc); +int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); +void *X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx); +int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_CRL_get_ext_count(X509_CRL *x); +int X509_CRL_get_ext_by_NID(X509_CRL *x, int nid, int lastpos); +int X509_CRL_get_ext_by_OBJ(X509_CRL *x, ASN1_OBJECT *obj, int lastpos); +int X509_CRL_get_ext_by_critical(X509_CRL *x, int crit, int lastpos); +X509_EXTENSION *X509_CRL_get_ext(X509_CRL *x, int loc); +X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); +int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); +void *X509_CRL_get_ext_d2i(X509_CRL *x, int nid, int *crit, int *idx); +int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_REVOKED_get_ext_count(X509_REVOKED *x); +int X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int lastpos); +int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x, ASN1_OBJECT *obj, + int lastpos); +int X509_REVOKED_get_ext_by_critical(X509_REVOKED *x, int crit, int lastpos); +X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *x, int loc); +X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); +int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); +void *X509_REVOKED_get_ext_d2i(X509_REVOKED *x, int nid, int *crit, int *idx); +int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, + unsigned long flags); + +X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, + int nid, int crit, + ASN1_OCTET_STRING *data); +X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, + ASN1_OBJECT *obj, int crit, + ASN1_OCTET_STRING *data); +int X509_EXTENSION_set_object(X509_EXTENSION *ex, ASN1_OBJECT *obj); +int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); +int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); +ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); +ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); +int X509_EXTENSION_get_critical(X509_EXTENSION *ex); + +int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); +int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, + int lastpos); +int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, + ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); +X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, + X509_ATTRIBUTE *attr); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) + **x, const ASN1_OBJECT *obj, + int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) + **x, int nid, int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) + **x, const char *attrname, + int type, + const unsigned char *bytes, + int len); +void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, ASN1_OBJECT *obj, + int lastpos, int type); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, + const ASN1_OBJECT *obj, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, + const char *atrname, int type, + const unsigned char *bytes, + int len); +int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); +int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, + const void *data, int len); +void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, + void *data); +int X509_ATTRIBUTE_count(X509_ATTRIBUTE *attr); +ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); +ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); + +int EVP_PKEY_get_attr_count(const EVP_PKEY *key); +int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); +int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); +X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); +int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); +int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, + int nid, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_verify_cert(X509_STORE_CTX *ctx); + +/* lookup a cert from a X509 STACK */ +X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, X509_NAME *name, + ASN1_INTEGER *serial); +X509 *X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(PBEPARAM) +DECLARE_ASN1_FUNCTIONS(PBE2PARAM) +DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) + +int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, + const unsigned char *salt, int saltlen); + +X509_ALGOR *PKCS5_pbe_set(int alg, int iter, + const unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen, + unsigned char *aiv, int prf_nid); + +X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, + int prf_nid, int keylen); + +/* PKCS#8 utilities */ + +DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) + +EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); +PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); + +int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, + int version, int ptype, void *pval, + unsigned char *penc, int penclen); +int PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + X509_ALGOR **pa, PKCS8_PRIV_KEY_INFO *p8); + +int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, + int ptype, void *pval, + unsigned char *penc, int penclen); +int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + X509_ALGOR **pa, X509_PUBKEY *pub); + +int X509_check_trust(X509 *x, int id, int flags); +int X509_TRUST_get_count(void); +X509_TRUST *X509_TRUST_get0(int idx); +int X509_TRUST_get_by_id(int id); +int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), + char *name, int arg1, void *arg2); +void X509_TRUST_cleanup(void); +int X509_TRUST_get_flags(X509_TRUST *xp); +char *X509_TRUST_get0_name(X509_TRUST *xp); +int X509_TRUST_get_trust(X509_TRUST *xp); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +void ERR_load_X509_strings(void); + +/* Error codes for the X509 functions. */ + +/* Function codes. */ +# define X509_F_ADD_CERT_DIR 100 +# define X509_F_BY_FILE_CTRL 101 +# define X509_F_CHECK_NAME_CONSTRAINTS 106 +# define X509_F_CHECK_POLICY 145 +# define X509_F_DIR_CTRL 102 +# define X509_F_GET_CERT_BY_SUBJECT 103 +# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 +# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 +# define X509_F_X509AT_ADD1_ATTR 135 +# define X509_F_X509V3_ADD_EXT 104 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 +# define X509_F_X509_ATTRIBUTE_GET0_DATA 139 +# define X509_F_X509_ATTRIBUTE_SET1_DATA 138 +# define X509_F_X509_CHECK_PRIVATE_KEY 128 +# define X509_F_X509_CRL_DIFF 105 +# define X509_F_X509_CRL_PRINT_FP 147 +# define X509_F_X509_EXTENSION_CREATE_BY_NID 108 +# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 +# define X509_F_X509_GET_PUBKEY_PARAMETERS 110 +# define X509_F_X509_LOAD_CERT_CRL_FILE 132 +# define X509_F_X509_LOAD_CERT_FILE 111 +# define X509_F_X509_LOAD_CRL_FILE 112 +# define X509_F_X509_NAME_ADD_ENTRY 113 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 +# define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 +# define X509_F_X509_NAME_ONELINE 116 +# define X509_F_X509_NAME_PRINT 117 +# define X509_F_X509_PRINT_EX_FP 118 +# define X509_F_X509_PUBKEY_GET 119 +# define X509_F_X509_PUBKEY_SET 120 +# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 +# define X509_F_X509_REQ_PRINT_EX 121 +# define X509_F_X509_REQ_PRINT_FP 122 +# define X509_F_X509_REQ_TO_X509 123 +# define X509_F_X509_STORE_ADD_CERT 124 +# define X509_F_X509_STORE_ADD_CRL 125 +# define X509_F_X509_STORE_CTX_GET1_ISSUER 146 +# define X509_F_X509_STORE_CTX_INIT 143 +# define X509_F_X509_STORE_CTX_NEW 142 +# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 +# define X509_F_X509_TO_X509_REQ 126 +# define X509_F_X509_TRUST_ADD 133 +# define X509_F_X509_TRUST_SET 141 +# define X509_F_X509_VERIFY_CERT 127 + +/* Reason codes. */ +# define X509_R_AKID_MISMATCH 110 +# define X509_R_BAD_X509_FILETYPE 100 +# define X509_R_BASE64_DECODE_ERROR 118 +# define X509_R_CANT_CHECK_DH_KEY 114 +# define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 +# define X509_R_CRL_ALREADY_DELTA 127 +# define X509_R_CRL_VERIFY_FAILURE 131 +# define X509_R_ERR_ASN1_LIB 102 +# define X509_R_IDP_MISMATCH 128 +# define X509_R_INVALID_DIRECTORY 113 +# define X509_R_INVALID_FIELD_NAME 119 +# define X509_R_INVALID_TRUST 123 +# define X509_R_ISSUER_MISMATCH 129 +# define X509_R_KEY_TYPE_MISMATCH 115 +# define X509_R_KEY_VALUES_MISMATCH 116 +# define X509_R_LOADING_CERT_DIR 103 +# define X509_R_LOADING_DEFAULTS 104 +# define X509_R_METHOD_NOT_SUPPORTED 124 +# define X509_R_NAME_TOO_LONG 134 +# define X509_R_NEWER_CRL_NOT_NEWER 132 +# define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 +# define X509_R_NO_CRL_NUMBER 130 +# define X509_R_PUBLIC_KEY_DECODE_ERROR 125 +# define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 +# define X509_R_SHOULD_RETRY 106 +# define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 +# define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 +# define X509_R_UNKNOWN_KEY_TYPE 117 +# define X509_R_UNKNOWN_NID 109 +# define X509_R_UNKNOWN_PURPOSE_ID 121 +# define X509_R_UNKNOWN_TRUST_ID 120 +# define X509_R_UNSUPPORTED_ALGORITHM 111 +# define X509_R_WRONG_LOOKUP_TYPE 112 +# define X509_R_WRONG_TYPE 122 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.0/include/openssl/x509_vfy.h b/openssl/1.0/include/openssl/x509_vfy.h new file mode 100644 index 0000000..5062682 --- /dev/null +++ b/openssl/1.0/include/openssl/x509_vfy.h @@ -0,0 +1,652 @@ +/* crypto/x509/x509_vfy.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_X509_H +# include +/* + * openssl/x509.h ends up #include-ing this file at about the only + * appropriate moment. + */ +#endif + +#ifndef HEADER_X509_VFY_H +# define HEADER_X509_VFY_H + +# include +# ifndef OPENSSL_NO_LHASH +# include +# endif +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# if 0 +/* Outer object */ +typedef struct x509_hash_dir_st { + int num_dirs; + char **dirs; + int *dirs_type; + int num_dirs_alloced; +} X509_HASH_DIR_CTX; +# endif + +typedef struct x509_file_st { + int num_paths; /* number of paths to files or directories */ + int num_alloced; + char **paths; /* the list of paths or directories */ + int *path_type; +} X509_CERT_FILE_CTX; + +/*******************************/ +/*- +SSL_CTX -> X509_STORE + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + +SSL -> X509_STORE_CTX + ->X509_STORE + +The X509_STORE holds the tables etc for verification stuff. +A X509_STORE_CTX is used while validating a single certificate. +The X509_STORE has X509_LOOKUPs for looking up certs. +The X509_STORE then calls a function to actually verify the +certificate chain. +*/ + +# define X509_LU_RETRY -1 +# define X509_LU_FAIL 0 +# define X509_LU_X509 1 +# define X509_LU_CRL 2 +# define X509_LU_PKEY 3 + +typedef struct x509_object_st { + /* one of the above types */ + int type; + union { + char *ptr; + X509 *x509; + X509_CRL *crl; + EVP_PKEY *pkey; + } data; +} X509_OBJECT; + +typedef struct x509_lookup_st X509_LOOKUP; + +DECLARE_STACK_OF(X509_LOOKUP) +DECLARE_STACK_OF(X509_OBJECT) + +/* This is a static that defines the function interface */ +typedef struct x509_lookup_method_st { + const char *name; + int (*new_item) (X509_LOOKUP *ctx); + void (*free) (X509_LOOKUP *ctx); + int (*init) (X509_LOOKUP *ctx); + int (*shutdown) (X509_LOOKUP *ctx); + int (*ctrl) (X509_LOOKUP *ctx, int cmd, const char *argc, long argl, + char **ret); + int (*get_by_subject) (X509_LOOKUP *ctx, int type, X509_NAME *name, + X509_OBJECT *ret); + int (*get_by_issuer_serial) (X509_LOOKUP *ctx, int type, X509_NAME *name, + ASN1_INTEGER *serial, X509_OBJECT *ret); + int (*get_by_fingerprint) (X509_LOOKUP *ctx, int type, + unsigned char *bytes, int len, + X509_OBJECT *ret); + int (*get_by_alias) (X509_LOOKUP *ctx, int type, char *str, int len, + X509_OBJECT *ret); +} X509_LOOKUP_METHOD; + +typedef struct X509_VERIFY_PARAM_ID_st X509_VERIFY_PARAM_ID; + +/* + * This structure hold all parameters associated with a verify operation by + * including an X509_VERIFY_PARAM structure in related structures the + * parameters used can be customized + */ + +typedef struct X509_VERIFY_PARAM_st { + char *name; + time_t check_time; /* Time to use */ + unsigned long inh_flags; /* Inheritance flags */ + unsigned long flags; /* Various verify flags */ + int purpose; /* purpose to check untrusted certificates */ + int trust; /* trust setting to check */ + int depth; /* Verify depth */ + STACK_OF(ASN1_OBJECT) *policies; /* Permissible policies */ + X509_VERIFY_PARAM_ID *id; /* opaque ID data */ +} X509_VERIFY_PARAM; + +DECLARE_STACK_OF(X509_VERIFY_PARAM) + +/* + * This is used to hold everything. It is used for all certificate + * validation. Once we have a certificate chain, the 'verify' function is + * then called to actually check the cert chain. + */ +struct x509_store_st { + /* The following is a cache of trusted certs */ + int cache; /* if true, stash any hits */ + STACK_OF(X509_OBJECT) *objs; /* Cache of all objects */ + /* These are external lookup methods */ + STACK_OF(X509_LOOKUP) *get_cert_methods; + X509_VERIFY_PARAM *param; + /* Callbacks for various operations */ + /* called to verify a certificate */ + int (*verify) (X509_STORE_CTX *ctx); + /* error callback */ + int (*verify_cb) (int ok, X509_STORE_CTX *ctx); + /* get issuers cert from ctx */ + int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + /* check issued */ + int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); + /* Check revocation status of chain */ + int (*check_revocation) (X509_STORE_CTX *ctx); + /* retrieve CRL */ + int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); + /* Check CRL validity */ + int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); + /* Check certificate against CRL */ + int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); + STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); + STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); + int (*cleanup) (X509_STORE_CTX *ctx); + CRYPTO_EX_DATA ex_data; + int references; +} /* X509_STORE */ ; + +int X509_STORE_set_depth(X509_STORE *store, int depth); + +# define X509_STORE_set_verify_cb_func(ctx,func) ((ctx)->verify_cb=(func)) +# define X509_STORE_set_verify_func(ctx,func) ((ctx)->verify=(func)) + +/* This is the functions plus an instance of the local variables. */ +struct x509_lookup_st { + int init; /* have we been started */ + int skip; /* don't use us. */ + X509_LOOKUP_METHOD *method; /* the functions */ + char *method_data; /* method data */ + X509_STORE *store_ctx; /* who owns us */ +} /* X509_LOOKUP */ ; + +/* + * This is a used when verifying cert chains. Since the gathering of the + * cert chain can take some time (and have to be 'retried', this needs to be + * kept and passed around. + */ +struct x509_store_ctx_st { /* X509_STORE_CTX */ + X509_STORE *ctx; + /* used when looking up certs */ + int current_method; + /* The following are set by the caller */ + /* The cert to check */ + X509 *cert; + /* chain of X509s - untrusted - passed in */ + STACK_OF(X509) *untrusted; + /* set of CRLs passed in */ + STACK_OF(X509_CRL) *crls; + X509_VERIFY_PARAM *param; + /* Other info for use with get_issuer() */ + void *other_ctx; + /* Callbacks for various operations */ + /* called to verify a certificate */ + int (*verify) (X509_STORE_CTX *ctx); + /* error callback */ + int (*verify_cb) (int ok, X509_STORE_CTX *ctx); + /* get issuers cert from ctx */ + int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + /* check issued */ + int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); + /* Check revocation status of chain */ + int (*check_revocation) (X509_STORE_CTX *ctx); + /* retrieve CRL */ + int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); + /* Check CRL validity */ + int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); + /* Check certificate against CRL */ + int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); + int (*check_policy) (X509_STORE_CTX *ctx); + STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); + STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); + int (*cleanup) (X509_STORE_CTX *ctx); + /* The following is built up */ + /* if 0, rebuild chain */ + int valid; + /* index of last untrusted cert */ + int last_untrusted; + /* chain of X509s - built up and trusted */ + STACK_OF(X509) *chain; + /* Valid policy tree */ + X509_POLICY_TREE *tree; + /* Require explicit policy value */ + int explicit_policy; + /* When something goes wrong, this is why */ + int error_depth; + int error; + X509 *current_cert; + /* cert currently being tested as valid issuer */ + X509 *current_issuer; + /* current CRL */ + X509_CRL *current_crl; + /* score of current CRL */ + int current_crl_score; + /* Reason mask */ + unsigned int current_reasons; + /* For CRL path validation: parent context */ + X509_STORE_CTX *parent; + CRYPTO_EX_DATA ex_data; +} /* X509_STORE_CTX */ ; + +void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); + +# define X509_STORE_CTX_set_app_data(ctx,data) \ + X509_STORE_CTX_set_ex_data(ctx,0,data) +# define X509_STORE_CTX_get_app_data(ctx) \ + X509_STORE_CTX_get_ex_data(ctx,0) + +# define X509_L_FILE_LOAD 1 +# define X509_L_ADD_DIR 2 + +# define X509_LOOKUP_load_file(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) + +# define X509_LOOKUP_add_dir(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) + +# define X509_V_OK 0 +# define X509_V_ERR_UNSPECIFIED 1 + +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +# define X509_V_ERR_UNABLE_TO_GET_CRL 3 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +# define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +# define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +# define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +# define X509_V_ERR_CERT_NOT_YET_VALID 9 +# define X509_V_ERR_CERT_HAS_EXPIRED 10 +# define X509_V_ERR_CRL_NOT_YET_VALID 11 +# define X509_V_ERR_CRL_HAS_EXPIRED 12 +# define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +# define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +# define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +# define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +# define X509_V_ERR_OUT_OF_MEM 17 +# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +# define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +# define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +# define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +# define X509_V_ERR_CERT_REVOKED 23 +# define X509_V_ERR_INVALID_CA 24 +# define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +# define X509_V_ERR_INVALID_PURPOSE 26 +# define X509_V_ERR_CERT_UNTRUSTED 27 +# define X509_V_ERR_CERT_REJECTED 28 +/* These are 'informational' when looking for issuer cert */ +# define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +# define X509_V_ERR_AKID_SKID_MISMATCH 30 +# define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +# define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 + +# define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +# define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +# define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +# define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +# define X509_V_ERR_INVALID_NON_CA 37 +# define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +# define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +# define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 + +# define X509_V_ERR_INVALID_EXTENSION 41 +# define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +# define X509_V_ERR_NO_EXPLICIT_POLICY 43 +# define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +# define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 + +# define X509_V_ERR_UNNESTED_RESOURCE 46 + +# define X509_V_ERR_PERMITTED_VIOLATION 47 +# define X509_V_ERR_EXCLUDED_VIOLATION 48 +# define X509_V_ERR_SUBTREE_MINMAX 49 +# define X509_V_ERR_APPLICATION_VERIFICATION 50 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +# define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 + +/* Suite B mode algorithm violation */ +# define X509_V_ERR_SUITE_B_INVALID_VERSION 56 +# define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 +# define X509_V_ERR_SUITE_B_INVALID_CURVE 58 +# define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 +# define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 +# define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 + +/* Host, email and IP check errors */ +# define X509_V_ERR_HOSTNAME_MISMATCH 62 +# define X509_V_ERR_EMAIL_MISMATCH 63 +# define X509_V_ERR_IP_ADDRESS_MISMATCH 64 + +/* Caller error */ +# define X509_V_ERR_INVALID_CALL 65 +/* Issuer lookup error */ +# define X509_V_ERR_STORE_LOOKUP 66 + +# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 67 + +/* Certificate verify flags */ + +/* Send issuer+subject checks to verify_cb */ +# define X509_V_FLAG_CB_ISSUER_CHECK 0x1 +/* Use check time instead of current time */ +# define X509_V_FLAG_USE_CHECK_TIME 0x2 +/* Lookup CRLs */ +# define X509_V_FLAG_CRL_CHECK 0x4 +/* Lookup CRLs for whole chain */ +# define X509_V_FLAG_CRL_CHECK_ALL 0x8 +/* Ignore unhandled critical extensions */ +# define X509_V_FLAG_IGNORE_CRITICAL 0x10 +/* Disable workarounds for broken certificates */ +# define X509_V_FLAG_X509_STRICT 0x20 +/* Enable proxy certificate validation */ +# define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 +/* Enable policy checking */ +# define X509_V_FLAG_POLICY_CHECK 0x80 +/* Policy variable require-explicit-policy */ +# define X509_V_FLAG_EXPLICIT_POLICY 0x100 +/* Policy variable inhibit-any-policy */ +# define X509_V_FLAG_INHIBIT_ANY 0x200 +/* Policy variable inhibit-policy-mapping */ +# define X509_V_FLAG_INHIBIT_MAP 0x400 +/* Notify callback that policy is OK */ +# define X509_V_FLAG_NOTIFY_POLICY 0x800 +/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ +# define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 +/* Delta CRL support */ +# define X509_V_FLAG_USE_DELTAS 0x2000 +/* Check selfsigned CA signature */ +# define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 +/* Use trusted store first */ +# define X509_V_FLAG_TRUSTED_FIRST 0x8000 +/* Suite B 128 bit only mode: not normally used */ +# define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define X509_V_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define X509_V_FLAG_SUITEB_128_LOS 0x30000 + +/* Allow partial chains if at least one certificate is in trusted store */ +# define X509_V_FLAG_PARTIAL_CHAIN 0x80000 +/* + * If the initial chain is not trusted, do not attempt to build an alternative + * chain. Alternate chain checking was introduced in 1.0.2b. Setting this flag + * will force the behaviour to match that of previous versions. + */ +# define X509_V_FLAG_NO_ALT_CHAINS 0x100000 + +# define X509_VP_FLAG_DEFAULT 0x1 +# define X509_VP_FLAG_OVERWRITE 0x2 +# define X509_VP_FLAG_RESET_FLAGS 0x4 +# define X509_VP_FLAG_LOCKED 0x8 +# define X509_VP_FLAG_ONCE 0x10 + +/* Internal use: mask of policy related options */ +# define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ + | X509_V_FLAG_EXPLICIT_POLICY \ + | X509_V_FLAG_INHIBIT_ANY \ + | X509_V_FLAG_INHIBIT_MAP) + +int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, int type, + X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, + int type, X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, + X509_OBJECT *x); +void X509_OBJECT_up_ref_count(X509_OBJECT *a); +void X509_OBJECT_free_contents(X509_OBJECT *a); +X509_STORE *X509_STORE_new(void); +void X509_STORE_free(X509_STORE *v); + +STACK_OF(X509) *X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); +STACK_OF(X509_CRL) *X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); +int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); +int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); +int X509_STORE_set_trust(X509_STORE *ctx, int trust); +int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); + +void X509_STORE_set_verify_cb(X509_STORE *ctx, + int (*verify_cb) (int, X509_STORE_CTX *)); + +void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, + STACK_OF(X509_CRL) *(*cb) (X509_STORE_CTX + *ctx, + X509_NAME *nm)); + +X509_STORE_CTX *X509_STORE_CTX_new(void); + +int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + +void X509_STORE_CTX_free(X509_STORE_CTX *ctx); +int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, + X509 *x509, STACK_OF(X509) *chain); +void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); + +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); + +X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); + +X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); +X509_LOOKUP_METHOD *X509_LOOKUP_file(void); + +int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); +int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); + +int X509_STORE_get_by_subject(X509_STORE_CTX *vs, int type, X509_NAME *name, + X509_OBJECT *ret); + +int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); + +# ifndef OPENSSL_NO_STDIO +int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); +# endif + +X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); +void X509_LOOKUP_free(X509_LOOKUP *ctx); +int X509_LOOKUP_init(X509_LOOKUP *ctx); +int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, int type, X509_NAME *name, + X509_OBJECT *ret); +int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type, X509_NAME *name, + ASN1_INTEGER *serial, X509_OBJECT *ret); +int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type, + unsigned char *bytes, int len, + X509_OBJECT *ret); +int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str, int len, + X509_OBJECT *ret); +int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); + +# ifndef OPENSSL_NO_STDIO +int X509_STORE_load_locations(X509_STORE *ctx, + const char *file, const char *dir); +int X509_STORE_set_default_paths(X509_STORE *ctx); +# endif + +int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, + CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data); +void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx); +int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); +int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); +X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); +X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); +X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x); +void X509_STORE_CTX_set_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk); +void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, STACK_OF(X509_CRL) *sk); +int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); +int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); +int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, + int purpose, int trust); +void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); +void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, + time_t t); +void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, + int (*verify_cb) (int, X509_STORE_CTX *)); + +X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); + +X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); +int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); + +/* X509_VERIFY_PARAM functions */ + +X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); +void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); +int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); +int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); +void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); +void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); +int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, + ASN1_OBJECT *policy); +int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, + STACK_OF(ASN1_OBJECT) *policies); + +int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, + unsigned int flags); +char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *); +int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, + const char *email, size_t emaillen); +int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, + const unsigned char *ip, size_t iplen); +int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, + const char *ipasc); + +int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); + +int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_count(void); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); +void X509_VERIFY_PARAM_table_cleanup(void); + +int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, + STACK_OF(X509) *certs, + STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags); + +void X509_policy_tree_free(X509_POLICY_TREE *tree); + +int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); +X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, + int i); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const + X509_POLICY_TREE + *tree); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const + X509_POLICY_TREE + *tree); + +int X509_policy_level_node_count(X509_POLICY_LEVEL *level); + +X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, + int i); + +const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); + +STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const + X509_POLICY_NODE + *node); +const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE + *node); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/include/openssl/x509v3.h b/openssl/1.0/include/openssl/x509v3.h new file mode 100644 index 0000000..f5c6156 --- /dev/null +++ b/openssl/1.0/include/openssl/x509v3.h @@ -0,0 +1,1055 @@ +/* x509v3.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project + * 1999. + */ +/* ==================================================================== + * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_X509V3_H +# define HEADER_X509V3_H + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_SYS_WIN32 +/* Under Win32 these are defined in wincrypt.h */ +# undef X509_NAME +# undef X509_CERT_PAIR +# undef X509_EXTENSIONS +# endif + +/* Forward reference */ +struct v3_ext_method; +struct v3_ext_ctx; + +/* Useful typedefs */ + +typedef void *(*X509V3_EXT_NEW)(void); +typedef void (*X509V3_EXT_FREE) (void *); +typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); +typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); +typedef STACK_OF(CONF_VALUE) * + (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, + STACK_OF(CONF_VALUE) *extlist); +typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, + STACK_OF(CONF_VALUE) *values); +typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method, + void *ext); +typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); +typedef int (*X509V3_EXT_I2R) (const struct v3_ext_method *method, void *ext, + BIO *out, int indent); +typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); + +/* V3 extension structure */ + +struct v3_ext_method { + int ext_nid; + int ext_flags; +/* If this is set the following four fields are ignored */ + ASN1_ITEM_EXP *it; +/* Old style ASN1 calls */ + X509V3_EXT_NEW ext_new; + X509V3_EXT_FREE ext_free; + X509V3_EXT_D2I d2i; + X509V3_EXT_I2D i2d; +/* The following pair is used for string extensions */ + X509V3_EXT_I2S i2s; + X509V3_EXT_S2I s2i; +/* The following pair is used for multi-valued extensions */ + X509V3_EXT_I2V i2v; + X509V3_EXT_V2I v2i; +/* The following are used for raw extensions */ + X509V3_EXT_I2R i2r; + X509V3_EXT_R2I r2i; + void *usr_data; /* Any extension specific data */ +}; + +typedef struct X509V3_CONF_METHOD_st { + char *(*get_string) (void *db, char *section, char *value); + STACK_OF(CONF_VALUE) *(*get_section) (void *db, char *section); + void (*free_string) (void *db, char *string); + void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section); +} X509V3_CONF_METHOD; + +/* Context specific info */ +struct v3_ext_ctx { +# define CTX_TEST 0x1 + int flags; + X509 *issuer_cert; + X509 *subject_cert; + X509_REQ *subject_req; + X509_CRL *crl; + X509V3_CONF_METHOD *db_meth; + void *db; +/* Maybe more here */ +}; + +typedef struct v3_ext_method X509V3_EXT_METHOD; + +DECLARE_STACK_OF(X509V3_EXT_METHOD) + +/* ext_flags values */ +# define X509V3_EXT_DYNAMIC 0x1 +# define X509V3_EXT_CTX_DEP 0x2 +# define X509V3_EXT_MULTILINE 0x4 + +typedef BIT_STRING_BITNAME ENUMERATED_NAMES; + +typedef struct BASIC_CONSTRAINTS_st { + int ca; + ASN1_INTEGER *pathlen; +} BASIC_CONSTRAINTS; + +typedef struct PKEY_USAGE_PERIOD_st { + ASN1_GENERALIZEDTIME *notBefore; + ASN1_GENERALIZEDTIME *notAfter; +} PKEY_USAGE_PERIOD; + +typedef struct otherName_st { + ASN1_OBJECT *type_id; + ASN1_TYPE *value; +} OTHERNAME; + +typedef struct EDIPartyName_st { + ASN1_STRING *nameAssigner; + ASN1_STRING *partyName; +} EDIPARTYNAME; + +typedef struct GENERAL_NAME_st { +# define GEN_OTHERNAME 0 +# define GEN_EMAIL 1 +# define GEN_DNS 2 +# define GEN_X400 3 +# define GEN_DIRNAME 4 +# define GEN_EDIPARTY 5 +# define GEN_URI 6 +# define GEN_IPADD 7 +# define GEN_RID 8 + int type; + union { + char *ptr; + OTHERNAME *otherName; /* otherName */ + ASN1_IA5STRING *rfc822Name; + ASN1_IA5STRING *dNSName; + ASN1_TYPE *x400Address; + X509_NAME *directoryName; + EDIPARTYNAME *ediPartyName; + ASN1_IA5STRING *uniformResourceIdentifier; + ASN1_OCTET_STRING *iPAddress; + ASN1_OBJECT *registeredID; + /* Old names */ + ASN1_OCTET_STRING *ip; /* iPAddress */ + X509_NAME *dirn; /* dirn */ + ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, + * uniformResourceIdentifier */ + ASN1_OBJECT *rid; /* registeredID */ + ASN1_TYPE *other; /* x400Address */ + } d; +} GENERAL_NAME; + +typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; + +typedef struct ACCESS_DESCRIPTION_st { + ASN1_OBJECT *method; + GENERAL_NAME *location; +} ACCESS_DESCRIPTION; + +typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; + +typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; + +DECLARE_STACK_OF(GENERAL_NAME) +DECLARE_ASN1_SET_OF(GENERAL_NAME) + +DECLARE_STACK_OF(ACCESS_DESCRIPTION) +DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) + +typedef struct DIST_POINT_NAME_st { + int type; + union { + GENERAL_NAMES *fullname; + STACK_OF(X509_NAME_ENTRY) *relativename; + } name; +/* If relativename then this contains the full distribution point name */ + X509_NAME *dpname; +} DIST_POINT_NAME; +/* All existing reasons */ +# define CRLDP_ALL_REASONS 0x807f + +# define CRL_REASON_NONE -1 +# define CRL_REASON_UNSPECIFIED 0 +# define CRL_REASON_KEY_COMPROMISE 1 +# define CRL_REASON_CA_COMPROMISE 2 +# define CRL_REASON_AFFILIATION_CHANGED 3 +# define CRL_REASON_SUPERSEDED 4 +# define CRL_REASON_CESSATION_OF_OPERATION 5 +# define CRL_REASON_CERTIFICATE_HOLD 6 +# define CRL_REASON_REMOVE_FROM_CRL 8 +# define CRL_REASON_PRIVILEGE_WITHDRAWN 9 +# define CRL_REASON_AA_COMPROMISE 10 + +struct DIST_POINT_st { + DIST_POINT_NAME *distpoint; + ASN1_BIT_STRING *reasons; + GENERAL_NAMES *CRLissuer; + int dp_reasons; +}; + +typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; + +DECLARE_STACK_OF(DIST_POINT) +DECLARE_ASN1_SET_OF(DIST_POINT) + +struct AUTHORITY_KEYID_st { + ASN1_OCTET_STRING *keyid; + GENERAL_NAMES *issuer; + ASN1_INTEGER *serial; +}; + +/* Strong extranet structures */ + +typedef struct SXNET_ID_st { + ASN1_INTEGER *zone; + ASN1_OCTET_STRING *user; +} SXNETID; + +DECLARE_STACK_OF(SXNETID) +DECLARE_ASN1_SET_OF(SXNETID) + +typedef struct SXNET_st { + ASN1_INTEGER *version; + STACK_OF(SXNETID) *ids; +} SXNET; + +typedef struct NOTICEREF_st { + ASN1_STRING *organization; + STACK_OF(ASN1_INTEGER) *noticenos; +} NOTICEREF; + +typedef struct USERNOTICE_st { + NOTICEREF *noticeref; + ASN1_STRING *exptext; +} USERNOTICE; + +typedef struct POLICYQUALINFO_st { + ASN1_OBJECT *pqualid; + union { + ASN1_IA5STRING *cpsuri; + USERNOTICE *usernotice; + ASN1_TYPE *other; + } d; +} POLICYQUALINFO; + +DECLARE_STACK_OF(POLICYQUALINFO) +DECLARE_ASN1_SET_OF(POLICYQUALINFO) + +typedef struct POLICYINFO_st { + ASN1_OBJECT *policyid; + STACK_OF(POLICYQUALINFO) *qualifiers; +} POLICYINFO; + +typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; + +DECLARE_STACK_OF(POLICYINFO) +DECLARE_ASN1_SET_OF(POLICYINFO) + +typedef struct POLICY_MAPPING_st { + ASN1_OBJECT *issuerDomainPolicy; + ASN1_OBJECT *subjectDomainPolicy; +} POLICY_MAPPING; + +DECLARE_STACK_OF(POLICY_MAPPING) + +typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; + +typedef struct GENERAL_SUBTREE_st { + GENERAL_NAME *base; + ASN1_INTEGER *minimum; + ASN1_INTEGER *maximum; +} GENERAL_SUBTREE; + +DECLARE_STACK_OF(GENERAL_SUBTREE) + +struct NAME_CONSTRAINTS_st { + STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; + STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; +}; + +typedef struct POLICY_CONSTRAINTS_st { + ASN1_INTEGER *requireExplicitPolicy; + ASN1_INTEGER *inhibitPolicyMapping; +} POLICY_CONSTRAINTS; + +/* Proxy certificate structures, see RFC 3820 */ +typedef struct PROXY_POLICY_st { + ASN1_OBJECT *policyLanguage; + ASN1_OCTET_STRING *policy; +} PROXY_POLICY; + +typedef struct PROXY_CERT_INFO_EXTENSION_st { + ASN1_INTEGER *pcPathLengthConstraint; + PROXY_POLICY *proxyPolicy; +} PROXY_CERT_INFO_EXTENSION; + +DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) +DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) + +struct ISSUING_DIST_POINT_st { + DIST_POINT_NAME *distpoint; + int onlyuser; + int onlyCA; + ASN1_BIT_STRING *onlysomereasons; + int indirectCRL; + int onlyattr; +}; + +/* Values in idp_flags field */ +/* IDP present */ +# define IDP_PRESENT 0x1 +/* IDP values inconsistent */ +# define IDP_INVALID 0x2 +/* onlyuser true */ +# define IDP_ONLYUSER 0x4 +/* onlyCA true */ +# define IDP_ONLYCA 0x8 +/* onlyattr true */ +# define IDP_ONLYATTR 0x10 +/* indirectCRL true */ +# define IDP_INDIRECT 0x20 +/* onlysomereasons present */ +# define IDP_REASONS 0x40 + +# define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \ +",name:", val->name, ",value:", val->value); + +# define X509V3_set_ctx_test(ctx) \ + X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) +# define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; + +# define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ + 0,0,0,0, \ + 0,0, \ + (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ + (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ + NULL, NULL, \ + table} + +# define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ + 0,0,0,0, \ + (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ + (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ + 0,0,0,0, \ + NULL} + +# define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +/* X509_PURPOSE stuff */ + +# define EXFLAG_BCONS 0x1 +# define EXFLAG_KUSAGE 0x2 +# define EXFLAG_XKUSAGE 0x4 +# define EXFLAG_NSCERT 0x8 + +# define EXFLAG_CA 0x10 +/* Really self issued not necessarily self signed */ +# define EXFLAG_SI 0x20 +# define EXFLAG_V1 0x40 +# define EXFLAG_INVALID 0x80 +# define EXFLAG_SET 0x100 +# define EXFLAG_CRITICAL 0x200 +# define EXFLAG_PROXY 0x400 + +# define EXFLAG_INVALID_POLICY 0x800 +# define EXFLAG_FRESHEST 0x1000 +/* Self signed */ +# define EXFLAG_SS 0x2000 + +# 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 + +# define NS_SSL_CLIENT 0x80 +# define NS_SSL_SERVER 0x40 +# define NS_SMIME 0x20 +# define NS_OBJSIGN 0x10 +# define NS_SSL_CA 0x04 +# define NS_SMIME_CA 0x02 +# define NS_OBJSIGN_CA 0x01 +# define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) + +# define XKU_SSL_SERVER 0x1 +# define XKU_SSL_CLIENT 0x2 +# define XKU_SMIME 0x4 +# define XKU_CODE_SIGN 0x8 +# define XKU_SGC 0x10 +# define XKU_OCSP_SIGN 0x20 +# define XKU_TIMESTAMP 0x40 +# define XKU_DVCS 0x80 +# define XKU_ANYEKU 0x100 + +# define X509_PURPOSE_DYNAMIC 0x1 +# define X509_PURPOSE_DYNAMIC_NAME 0x2 + +typedef struct x509_purpose_st { + int purpose; + int trust; /* Default trust ID */ + int flags; + int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int); + char *name; + char *sname; + void *usr_data; +} X509_PURPOSE; + +# define X509_PURPOSE_SSL_CLIENT 1 +# define X509_PURPOSE_SSL_SERVER 2 +# define X509_PURPOSE_NS_SSL_SERVER 3 +# define X509_PURPOSE_SMIME_SIGN 4 +# define X509_PURPOSE_SMIME_ENCRYPT 5 +# define X509_PURPOSE_CRL_SIGN 6 +# define X509_PURPOSE_ANY 7 +# define X509_PURPOSE_OCSP_HELPER 8 +# define X509_PURPOSE_TIMESTAMP_SIGN 9 + +# define X509_PURPOSE_MIN 1 +# define X509_PURPOSE_MAX 9 + +/* Flags for X509V3_EXT_print() */ + +# define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) +/* Return error for unknown extensions */ +# define X509V3_EXT_DEFAULT 0 +/* Print error for unknown extensions */ +# define X509V3_EXT_ERROR_UNKNOWN (1L << 16) +/* ASN1 parse unknown extensions */ +# define X509V3_EXT_PARSE_UNKNOWN (2L << 16) +/* BIO_dump unknown extensions */ +# define X509V3_EXT_DUMP_UNKNOWN (3L << 16) + +/* Flags for X509V3_add1_i2d */ + +# define X509V3_ADD_OP_MASK 0xfL +# define X509V3_ADD_DEFAULT 0L +# define X509V3_ADD_APPEND 1L +# define X509V3_ADD_REPLACE 2L +# define X509V3_ADD_REPLACE_EXISTING 3L +# define X509V3_ADD_KEEP_EXISTING 4L +# define X509V3_ADD_DELETE 5L +# define X509V3_ADD_SILENT 0x10 + +DECLARE_STACK_OF(X509_PURPOSE) + +DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) + +DECLARE_ASN1_FUNCTIONS(SXNET) +DECLARE_ASN1_FUNCTIONS(SXNETID) + +int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen); +int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, + int userlen); +int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, char *user, + int userlen); + +ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone); +ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); +ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); + +DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) + +DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) +GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); +int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); + +ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, + STACK_OF(CONF_VALUE) *nval); +STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + ASN1_BIT_STRING *bits, + STACK_OF(CONF_VALUE) *extlist); + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, + GENERAL_NAME *gen, + STACK_OF(CONF_VALUE) *ret); +int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, + GENERAL_NAMES *gen, + STACK_OF(CONF_VALUE) *extlist); +GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); + +DECLARE_ASN1_FUNCTIONS(OTHERNAME) +DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) +int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); +void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); +void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype); +int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, + ASN1_OBJECT *oid, ASN1_TYPE *value); +int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, + ASN1_OBJECT **poid, ASN1_TYPE **pvalue); + +char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + ASN1_OCTET_STRING *ia5); +ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, char *str); + +DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) +int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION *a); + +DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) +DECLARE_ASN1_FUNCTIONS(POLICYINFO) +DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) +DECLARE_ASN1_FUNCTIONS(USERNOTICE) +DECLARE_ASN1_FUNCTIONS(NOTICEREF) + +DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) +DECLARE_ASN1_FUNCTIONS(DIST_POINT) +DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) +DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) + +int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); + +int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); + +DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) +DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) + +DECLARE_ASN1_ITEM(POLICY_MAPPING) +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) +DECLARE_ASN1_ITEM(POLICY_MAPPINGS) + +DECLARE_ASN1_ITEM(GENERAL_SUBTREE) +DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) + +DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) +DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) + +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) +DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) + +GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, int gen_type, char *value, + int is_nc); + +# ifdef HEADER_CONF_H +GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf); +GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf, + int is_nc); +void X509V3_conf_free(CONF_VALUE *val); + +X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, + char *value); +X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, + char *value); +int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, + STACK_OF(X509_EXTENSION) **sk); +int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, + X509 *cert); +int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, + X509_REQ *req); +int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, + X509_CRL *crl); + +X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, + X509V3_CTX *ctx, int ext_nid, + char *value); +X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *name, char *value); +int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *section, X509 *cert); +int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *section, X509_REQ *req); +int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *section, X509_CRL *crl); + +int X509V3_add_value_bool_nf(char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool); +int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint); +void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); +void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); +# endif + +char *X509V3_get_string(X509V3_CTX *ctx, char *name, char *section); +STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, char *section); +void X509V3_string_free(X509V3_CTX *ctx, char *str); +void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); +void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, + X509_REQ *req, X509_CRL *crl, int flags); + +int X509V3_add_value(const char *name, const char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_uchar(const char *name, const unsigned char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_bool(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint, + STACK_OF(CONF_VALUE) **extlist); +char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint); +ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, char *value); +char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint); +char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, + ASN1_ENUMERATED *aint); +int X509V3_EXT_add(X509V3_EXT_METHOD *ext); +int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); +int X509V3_EXT_add_alias(int nid_to, int nid_from); +void X509V3_EXT_cleanup(void); + +const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); +const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); +int X509V3_add_standard_extensions(void); +STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); +void *X509V3_EXT_d2i(X509_EXTENSION *ext); +void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, + int *idx); +int X509V3_EXT_free(int nid, void *ext_data); + +X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); +int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, + int crit, unsigned long flags); + +char *hex_to_string(const unsigned char *buffer, long len); +unsigned char *string_to_hex(const char *str, long *len); +int name_cmp(const char *name, const char *cmp); + +void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, + int ml); +int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, + int indent); +int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); + +int X509V3_extensions_print(BIO *out, char *title, + STACK_OF(X509_EXTENSION) *exts, + unsigned long flag, int indent); + +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(X509 *issuer, AUTHORITY_KEYID *akid); +int X509_PURPOSE_get_count(void); +X509_PURPOSE *X509_PURPOSE_get0(int idx); +int X509_PURPOSE_get_by_sname(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), + char *name, char *sname, void *arg); +char *X509_PURPOSE_get0_name(X509_PURPOSE *xp); +char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp); +int X509_PURPOSE_get_trust(X509_PURPOSE *xp); +void X509_PURPOSE_cleanup(void); +int X509_PURPOSE_get_id(X509_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 */ + +/* + * Always check subject name for host match even if subject alt names present + */ +# define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1 +/* Disable wildcard matching for dnsName fields and common name. */ +# define X509_CHECK_FLAG_NO_WILDCARDS 0x2 +/* Wildcards must not match a partial label. */ +# define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4 +/* Allow (non-partial) wildcards to match multiple labels. */ +# define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8 +/* Constraint verifier subdomain patterns to match a single labels. */ +# define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 +/* + * Match reference identifiers starting with "." to any sub-domain. + * This is a non-public flag, turned on implicitly when the subject + * reference identity is a DNS name. + */ +# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000 + +int X509_check_host(X509 *x, const char *chk, size_t chklen, + unsigned int flags, char **peername); +int X509_check_email(X509 *x, const char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags); + +ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); +ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); +int a2i_ipadd(unsigned char *ipout, const char *ipasc); +int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk, + unsigned long chtype); + +void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); +DECLARE_STACK_OF(X509_POLICY_NODE) + +# ifndef OPENSSL_NO_RFC3779 + +typedef struct ASRange_st { + ASN1_INTEGER *min, *max; +} ASRange; + +# define ASIdOrRange_id 0 +# define ASIdOrRange_range 1 + +typedef struct ASIdOrRange_st { + int type; + union { + ASN1_INTEGER *id; + ASRange *range; + } u; +} ASIdOrRange; + +typedef STACK_OF(ASIdOrRange) ASIdOrRanges; +DECLARE_STACK_OF(ASIdOrRange) + +# define ASIdentifierChoice_inherit 0 +# define ASIdentifierChoice_asIdsOrRanges 1 + +typedef struct ASIdentifierChoice_st { + int type; + union { + ASN1_NULL *inherit; + ASIdOrRanges *asIdsOrRanges; + } u; +} ASIdentifierChoice; + +typedef struct ASIdentifiers_st { + ASIdentifierChoice *asnum, *rdi; +} ASIdentifiers; + +DECLARE_ASN1_FUNCTIONS(ASRange) +DECLARE_ASN1_FUNCTIONS(ASIdOrRange) +DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) +DECLARE_ASN1_FUNCTIONS(ASIdentifiers) + +typedef struct IPAddressRange_st { + ASN1_BIT_STRING *min, *max; +} IPAddressRange; + +# define IPAddressOrRange_addressPrefix 0 +# define IPAddressOrRange_addressRange 1 + +typedef struct IPAddressOrRange_st { + int type; + union { + ASN1_BIT_STRING *addressPrefix; + IPAddressRange *addressRange; + } u; +} IPAddressOrRange; + +typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; +DECLARE_STACK_OF(IPAddressOrRange) + +# define IPAddressChoice_inherit 0 +# define IPAddressChoice_addressesOrRanges 1 + +typedef struct IPAddressChoice_st { + int type; + union { + ASN1_NULL *inherit; + IPAddressOrRanges *addressesOrRanges; + } u; +} IPAddressChoice; + +typedef struct IPAddressFamily_st { + ASN1_OCTET_STRING *addressFamily; + IPAddressChoice *ipAddressChoice; +} IPAddressFamily; + +typedef STACK_OF(IPAddressFamily) IPAddrBlocks; +DECLARE_STACK_OF(IPAddressFamily) + +DECLARE_ASN1_FUNCTIONS(IPAddressRange) +DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) +DECLARE_ASN1_FUNCTIONS(IPAddressChoice) +DECLARE_ASN1_FUNCTIONS(IPAddressFamily) + +/* + * API tag for elements of the ASIdentifer SEQUENCE. + */ +# define V3_ASID_ASNUM 0 +# define V3_ASID_RDI 1 + +/* + * AFI values, assigned by IANA. It'd be nice to make the AFI + * handling code totally generic, but there are too many little things + * that would need to be defined for other address families for it to + * be worth the trouble. + */ +# define IANA_AFI_IPV4 1 +# define IANA_AFI_IPV6 2 + +/* + * Utilities to construct and extract values from RFC3779 extensions, + * since some of the encodings (particularly for IP address prefixes + * and ranges) are a bit tedious to work with directly. + */ +int v3_asid_add_inherit(ASIdentifiers *asid, int which); +int v3_asid_add_id_or_range(ASIdentifiers *asid, int which, + ASN1_INTEGER *min, ASN1_INTEGER *max); +int v3_addr_add_inherit(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi); +int v3_addr_add_prefix(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *a, const int prefixlen); +int v3_addr_add_range(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *min, unsigned char *max); +unsigned v3_addr_get_afi(const IPAddressFamily *f); +int v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, + unsigned char *min, unsigned char *max, + const int length); + +/* + * Canonical forms. + */ +int v3_asid_is_canonical(ASIdentifiers *asid); +int v3_addr_is_canonical(IPAddrBlocks *addr); +int v3_asid_canonize(ASIdentifiers *asid); +int v3_addr_canonize(IPAddrBlocks *addr); + +/* + * Tests for inheritance and containment. + */ +int v3_asid_inherits(ASIdentifiers *asid); +int v3_addr_inherits(IPAddrBlocks *addr); +int v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); +int v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); + +/* + * Check whether RFC 3779 extensions nest properly in chains. + */ +int v3_asid_validate_path(X509_STORE_CTX *); +int v3_addr_validate_path(X509_STORE_CTX *); +int v3_asid_validate_resource_set(STACK_OF(X509) *chain, + ASIdentifiers *ext, int allow_inheritance); +int v3_addr_validate_resource_set(STACK_OF(X509) *chain, + IPAddrBlocks *ext, int allow_inheritance); + +# endif /* OPENSSL_NO_RFC3779 */ + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_X509V3_strings(void); + +/* Error codes for the X509V3 functions. */ + +/* Function codes. */ +# define X509V3_F_A2I_GENERAL_NAME 164 +# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 +# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 +# define X509V3_F_COPY_EMAIL 122 +# define X509V3_F_COPY_ISSUER 123 +# define X509V3_F_DO_DIRNAME 144 +# define X509V3_F_DO_EXT_CONF 124 +# define X509V3_F_DO_EXT_I2D 135 +# define X509V3_F_DO_EXT_NCONF 151 +# define X509V3_F_DO_I2V_NAME_CONSTRAINTS 148 +# define X509V3_F_GNAMES_FROM_SECTNAME 156 +# define X509V3_F_HEX_TO_STRING 111 +# define X509V3_F_I2S_ASN1_ENUMERATED 121 +# define X509V3_F_I2S_ASN1_IA5STRING 149 +# define X509V3_F_I2S_ASN1_INTEGER 120 +# define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 +# define X509V3_F_NOTICE_SECTION 132 +# define X509V3_F_NREF_NOS 133 +# define X509V3_F_POLICY_SECTION 131 +# define X509V3_F_PROCESS_PCI_VALUE 150 +# define X509V3_F_R2I_CERTPOL 130 +# define X509V3_F_R2I_PCI 155 +# define X509V3_F_S2I_ASN1_IA5STRING 100 +# define X509V3_F_S2I_ASN1_INTEGER 108 +# define X509V3_F_S2I_ASN1_OCTET_STRING 112 +# define X509V3_F_S2I_ASN1_SKEY_ID 114 +# define X509V3_F_S2I_SKEY_ID 115 +# define X509V3_F_SET_DIST_POINT_NAME 158 +# define X509V3_F_STRING_TO_HEX 113 +# define X509V3_F_SXNET_ADD_ID_ASC 125 +# define X509V3_F_SXNET_ADD_ID_INTEGER 126 +# define X509V3_F_SXNET_ADD_ID_ULONG 127 +# define X509V3_F_SXNET_GET_ID_ASC 128 +# define X509V3_F_SXNET_GET_ID_ULONG 129 +# define X509V3_F_V2I_ASIDENTIFIERS 163 +# define X509V3_F_V2I_ASN1_BIT_STRING 101 +# define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 +# define X509V3_F_V2I_AUTHORITY_KEYID 119 +# define X509V3_F_V2I_BASIC_CONSTRAINTS 102 +# define X509V3_F_V2I_CRLD 134 +# define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 +# define X509V3_F_V2I_GENERAL_NAMES 118 +# define X509V3_F_V2I_GENERAL_NAME_EX 117 +# define X509V3_F_V2I_IDP 157 +# define X509V3_F_V2I_IPADDRBLOCKS 159 +# define X509V3_F_V2I_ISSUER_ALT 153 +# define X509V3_F_V2I_NAME_CONSTRAINTS 147 +# define X509V3_F_V2I_POLICY_CONSTRAINTS 146 +# define X509V3_F_V2I_POLICY_MAPPINGS 145 +# define X509V3_F_V2I_SUBJECT_ALT 154 +# define X509V3_F_V3_ADDR_VALIDATE_PATH_INTERNAL 160 +# define X509V3_F_V3_GENERIC_EXTENSION 116 +# define X509V3_F_X509V3_ADD1_I2D 140 +# define X509V3_F_X509V3_ADD_VALUE 105 +# define X509V3_F_X509V3_EXT_ADD 104 +# define X509V3_F_X509V3_EXT_ADD_ALIAS 106 +# define X509V3_F_X509V3_EXT_CONF 107 +# define X509V3_F_X509V3_EXT_FREE 165 +# define X509V3_F_X509V3_EXT_I2D 136 +# define X509V3_F_X509V3_EXT_NCONF 152 +# define X509V3_F_X509V3_GET_SECTION 142 +# define X509V3_F_X509V3_GET_STRING 143 +# define X509V3_F_X509V3_GET_VALUE_BOOL 110 +# define X509V3_F_X509V3_PARSE_LIST 109 +# define X509V3_F_X509_PURPOSE_ADD 137 +# define X509V3_F_X509_PURPOSE_SET 141 + +/* Reason codes. */ +# define X509V3_R_BAD_IP_ADDRESS 118 +# define X509V3_R_BAD_OBJECT 119 +# define X509V3_R_BN_DEC2BN_ERROR 100 +# define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 +# define X509V3_R_CANNOT_FIND_FREE_FUNCTION 168 +# define X509V3_R_DIRNAME_ERROR 149 +# define X509V3_R_DISTPOINT_ALREADY_SET 160 +# define X509V3_R_DUPLICATE_ZONE_ID 133 +# define X509V3_R_ERROR_CONVERTING_ZONE 131 +# define X509V3_R_ERROR_CREATING_EXTENSION 144 +# define X509V3_R_ERROR_IN_EXTENSION 128 +# define X509V3_R_EXPECTED_A_SECTION_NAME 137 +# define X509V3_R_EXTENSION_EXISTS 145 +# define X509V3_R_EXTENSION_NAME_ERROR 115 +# define X509V3_R_EXTENSION_NOT_FOUND 102 +# define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 +# define X509V3_R_EXTENSION_VALUE_ERROR 116 +# define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 +# define X509V3_R_ILLEGAL_HEX_DIGIT 113 +# define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 +# define X509V3_R_INVALID_ASNUMBER 162 +# define X509V3_R_INVALID_ASRANGE 163 +# define X509V3_R_INVALID_BOOLEAN_STRING 104 +# define X509V3_R_INVALID_EXTENSION_STRING 105 +# define X509V3_R_INVALID_INHERITANCE 165 +# define X509V3_R_INVALID_IPADDRESS 166 +# define X509V3_R_INVALID_MULTIPLE_RDNS 161 +# define X509V3_R_INVALID_NAME 106 +# define X509V3_R_INVALID_NULL_ARGUMENT 107 +# define X509V3_R_INVALID_NULL_NAME 108 +# define X509V3_R_INVALID_NULL_VALUE 109 +# define X509V3_R_INVALID_NUMBER 140 +# define X509V3_R_INVALID_NUMBERS 141 +# define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 +# define X509V3_R_INVALID_OPTION 138 +# define X509V3_R_INVALID_POLICY_IDENTIFIER 134 +# define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 +# define X509V3_R_INVALID_PURPOSE 146 +# define X509V3_R_INVALID_SAFI 164 +# define X509V3_R_INVALID_SECTION 135 +# define X509V3_R_INVALID_SYNTAX 143 +# define X509V3_R_ISSUER_DECODE_ERROR 126 +# define X509V3_R_MISSING_VALUE 124 +# define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 +# define X509V3_R_NO_CONFIG_DATABASE 136 +# define X509V3_R_NO_ISSUER_CERTIFICATE 121 +# define X509V3_R_NO_ISSUER_DETAILS 127 +# define X509V3_R_NO_POLICY_IDENTIFIER 139 +# define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 +# define X509V3_R_NO_PUBLIC_KEY 114 +# define X509V3_R_NO_SUBJECT_DETAILS 125 +# define X509V3_R_ODD_NUMBER_OF_DIGITS 112 +# define X509V3_R_OPERATION_NOT_DEFINED 148 +# define X509V3_R_OTHERNAME_ERROR 147 +# define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 +# define X509V3_R_POLICY_PATH_LENGTH 156 +# define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 +# define X509V3_R_POLICY_SYNTAX_NOT_CURRENTLY_SUPPORTED 158 +# define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 +# define X509V3_R_SECTION_NOT_FOUND 150 +# define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 +# define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 +# define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 +# define X509V3_R_UNKNOWN_EXTENSION 129 +# define X509V3_R_UNKNOWN_EXTENSION_NAME 130 +# define X509V3_R_UNKNOWN_OPTION 120 +# define X509V3_R_UNSUPPORTED_OPTION 117 +# define X509V3_R_UNSUPPORTED_TYPE 167 +# define X509V3_R_USER_TOO_LONG 132 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.0/lin64/libcrypto.a b/openssl/1.0/lin64/libcrypto.a new file mode 100644 index 0000000000000000000000000000000000000000..9dcfe128786b662b3416510c9e413d0007bf7502 GIT binary patch literal 5283066 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
?Qr{ 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

_OF$35lcb4 zqBVBol|-^QR+bOmVuu?%2(Y}^k*vmxCRQUUSdA56HM$5^!{_^mUK?AVb?>r zR>#(GV?i+9KZwn5xHVH?xB@r7eh)l$4j3z4i;6)M9guYW_v7ejsO(Z>XI*na{T^3j z6KL>uWzah-u|GfBGZ{8khbz&tXj9j|pB%}rOeCpjZER4AcB-TH-E}FCYti|Lv@Yd$EgAy@cE4ljhas`!jVpAEgR%ME>evYH z?QrqOs=f2Y#yC1;5a1mAW(SS^B;p$3t$`_!_)u=0&-cy+bO$70!tKuVDcPX+Zeu5$ z?m~GC#7(=1?(4=*94EjYHbrnx{RTh_T#Fuo*pSN0Pi0v0M_NJ2t~lR2!nHK$z1_8R zgm)GQDvW&rW7)>7#;(A|{l>mv;f9UP#x6uLizsH}GG2u@5e))|&!Be>{Al#EiN5+s z`Z+{j6EKzsHXfkxUsvH*6a5`W($^6ETt&YN^i&c=JCD-0vAM7biI^LtVJ(QfRb#if ztmnTX16H~2eF>Y$A)Fe(X@_vo_$Xw2jPeW8oy4suAe_m-cKb)cSYJ^KH|GaqcROOk z^HA_OeM}`iyo0C?H_jf1F;-IdF%5&igCsY+a0T@^(@02nf}>x|zW>wi6StsGj8SVR z*&9T^5Qj%_S|WG9=!$+pU!rIC3*VlgYw0jF=euy=U<^7b zrOK`Y>~0+A5OmI9>=y4F+4s;t089rGIs6B`_aK=A>E`zNNTSwh zf*3SM1TkV&aQC?-tNV-z!gB?kHW_iOjfMH{M>kCT%U!lL|Tbmq4_v#A11(&WTqp%U(uZ8=1 zf`Wk99p_L6rRl@QYjjWh+GIdb*kGaaD}$L{bdI|1#G7m@PBtMCG9KRsA?s+kK9$(! zHg*;^xt89JmVYO#&cao=nHiR$slrXJr4=yEOM$1^QjCWRaF%DRII^<_qo!-=V4UZ< zTO8Rz0OV(Es;~*&gv!5fb*A`T_kD9;D#cYG^Pijti1#^=-{in7`#xmjwlv@4+v96& zeKf;AsKYqO%pwe8H2=2&qT@R%e|xAPVO3|sBE|s(u^|~2ke})y*(@HDmHsJf;kpm) ziRNNsS+W^ilBy5mP{>%F{5h9r$T$>${l@*OK8O#*#Dws`G$eh1rN3-^Lb|>J#$NCs z$uro0$oOjr_Ukx&utJp8BwZg(<8c^g;$)THec;qOG$e}s)ctdUf-YXJ=y%eEkyDm& zeM}3fW68K?P3TL72?HDL3tt%)iYO?3g&d(WIh}Nb@ zQEw`6LkXYLi}_&4Mk5fid=XAxClqBxkY^dqcZ@x=#}gZ zi)OW-H*r$mv0@>eO8}Q+Bad!Lo1{FYy-c4pefrEhCLzw>;YW&+W0ti&NfimD;~$!E zDifB?xiJ5e(&;Z&IE8Jloom6#kRp2XcOaK2B0ZchE1bij{y}Pi+LG17;kzH0ez7FC z?W6V&#W=0yNL@t$6oq5XmjLmHvQ2Kqiq5GV7%w5gCKT5p&0R^`*L;fobLmmjCIhssxlMn6V{Ge*P13LmH8eCDG{!+R+DSsGrf z@Oc_8E(ZoytKnhQ4q_T!rNUXP;e3b25)J3GEl+4T-^KBihPOE-@QjA@T_4YBxY&#X z)~MnCqrzFE;SCCJ((qb^Z`SbpRKIH0a3Np^)}rCnihiet*Q)l=rs20JdeLCv#_hzd z=y8j%P>hEaJ>7duit&L8=lxd3OBC)A)Ut0;|6(;w83+?NJAP7Gzxee3)H~yMjp~1# ze>WSHZYBF4;g~D`o0Wea ze>e<1|C8a6EB~9-WvC^}`RECfDj9(jhfTFz_v(n2CER*?& z-!b3wyAoGsAMf77Q>ISq7m3O2Jt*08-TU((W|p7n(-N-A*VsVI_n_BFGUgt2ZP&W) zqkB+|CVXraY#3AkNpT?V3mC6~hIS#ILBN4TTYeys$`8e-;O+n{7*`n8UPoEw8j{59 zAcBUW_K?vQGPXhT)h%SaA2nVMFTuwm6sHHSc@g8U;U#1%nY=hM;KSM1VO{BvI}!Bp zi#X&!vKx1#=Z8UKBEIm!x>HOlfx5%aNW=WgZ6v;NyYBl7X5^r;Gv!@LS*A5)$at6J zh&_V%h6w4~9E^E_Ml-%@a*)_{FeHi1fyDbHcMZlW^J9Y{Mr;u-kRi5+Z=lF!YC&u; zWQiyvlOXX+VE3?}GS4JMoV++XVD0P&BMpI6wC7q9Z_^$MGQCQO&XGnc4V78SdKqWE zRISx>W*whsMeT>Oa_zdW6GjPhUKdf8Z6w>Mfh?jdTedNUWg8>m7D~%Ds#1xq#m0L2 z{3t9wKXMmBwjtyJ4KrD^F){_QShsNgG%sFqtJ~*+3=kqzJl*D6bRNokvTFvai{zFL z7*WbdCz+x!p(Vg1TqdlbIx3#*n(%U{zHzc^TEf*6A~)BfpCK@@Wf1JSj0A8VV|^5Y z(UP*tWtAUne9u@PEPTrk$$SMlbj>2`T0udSnuu=5 zMPzcn(IPIiWOH1@Eyy}#lZ~(->zGY8G8dUjRH)%AIDRwVJF2Ym4I=ACIT+EcLX^hF zt%ds`1{@8+IfRzeAhg66e~>%*A$JN=rx@1I^%~cGze0lu8oN^7m#Jw885;IXAQ7Xz zx=w6#!?>5^#EB2FZFd)1!VTC;xjkj965x(vv9AKl4Jq;EBU~U5yh&`l3`@lZ(}!N+ z{9C;4vYrQ{1KM15r4Z;O?`4_a`c^#I2U*Vg)*lN!NwTf9ObCK2Ws&U{GN0C82)Y(H zjWW?erZqxHifSn{VdFy~)2a}V-zEe{(jwfYj4uj7xRUWfU^g2AySum}=t4ep1Z-lM zq}l+#Gx_ja?~sF?&gGbINojQne=^i zq;jXY$}8A&4VquS8;r!p{g4tHc>HoizY2)J6NUT5SBPki6~G4GU_fprt!(ZNiCeKAU>Odz~>q#m=@ zOfm9^Fw((~3N%y{VB6ERw7M&j8|+#k)7f0O6FUr}F@mALO+7Fg?-JF(*iz$G1S%nPvIV4ufa>ck#QrpKNf~9_0IYMmX zcCDbD;ELp30`{YwG-7^q07Vfc|CW{^2aMgKti~$3fblP3?+W=duM4TKe6EgB0w-Cf z8%1<1)BOf9=tq~s28*7t=ZEmPNRIDR2U{%LM23j>{ZEv^Ql8B+SW$++Xl-m_yUbU73|C9qh-pHSf}vB00u@Q|W^O2cO<{22|uOySRI z_&kL-YB+xny+*_NU4bSI7Xk-hn>D;b)qArA-lE|N)$Vs{_)Zm0n}+{T(Tf6x8@H2Z z6umCHd_d9bvdaYu*JYP{zrRPtOMQ!eY4sl}qvY|H^XX=T(ye5aZY87Qc1a>1suQR3 zSFH4l6|ROqh1zWEnJ|q=gX&Icv=>Z7dZPZVWR&fVKZLlst)&wM!)BF!kCtFPTYk_| z*CXAmo>S#_qB6=hwKsC2GRodc=5J0DnYHZLrYbC}F90i1{;SB7N$L5Y47XhQFIEkW z+sX0DC`*+86O~aeQR(Mzt&Uel*+dgI)Um!po+-YyYXAA@J|({X$19`cIfc^Wr$6{h z-y!q)*od*44o4rv$>?wt=UHn(!3X-n27QAJQKjjmEY5TKQn>Vq)*v`09f+4ZNRWvm zJ_b(9(z(hKi1vVZadxa9)^k3bxx{g_ptlbh=nPq3I!s2#F|Q;8IrSIE%W%dT=Br$b z{)se1jMsc0wD!gVX%TF6v(pOotrM;t>J#i*A`UjMw2N<@u=bCIQq@!OmD6i<1{Sv- z_4CrFTpl_M>#SR8Z=o=7?9c;Oud!34lM*Ns(*8730+X|F#;5*+>H)^iK&*ctR!(Bh zKx~MePnY6Du6)?@L_T5Y07H_*pP(&(T}V0A;c=WoR=2p;xFF~Zn*^OA%_sUzw$(Y4 zD9VA?B;p;ZTx*hG`fSM1qFQ_YqTFkeQ~2&2HStrWo75-yZd;TU!nzPYeIBGJN-S_& zx|5sEa|kTg8YIVg4hkGqXr zF$+{*q-dz7d5z~Lo^z~tlNNmvq(Go_*orr4uYW7vq`m(ADovbEN+T)ue=Oc00$M#! z^#zcrzI<3{WQy%5Niajcw%b#JZZ>KzJt-|$0^+$f$KjT*4PL(SEdi;9&$(}2# zF$H>*2V&KT-O}SHOy^4h*`88hfGj4Z$B!>8$IhNKeqwvSo$6O|{NGOXP<$pO!!Od} z$JwmYByS+^lN>o5pU%)nQ*~bw1YrXcD`t1>UeadZqHmx$*v+-*w`7wytcPi9axm<{ z_~qm?RR2NE=#cN7KU4X)o+0*0>KhmM0`?Vwx`X-m%!yR~E1Z8Nk>WUe&#lH=kPx?! zwXQ8y^QttJI;uC&*HzdyG|iKXLj!iZ8lDAdxKadw55&EZ%2&hoRl-~5%Jz(@^*NHW z#zm&$1+Fzl;!9Kn$W$-N9=`p-CYkHLAER2rb^8he&r|)n9=acYeIJB;sn&DgA6a~G zI(Py5%4p>w6 z(=Fz8M~{c|qkKvBRv%Z zQQhM81bgl@L~uzv0!!xyVMPY~BaFKr)4{tQT#baOxK+rmMTdZ?xWqS0>Dm)u@)vNX z{hdGF0mEPLv%TQ(vyb}5u#DSP{|IF7fj=YvspOk5F8<@Rqtnx2XcT{X|KN|eADzA@ z(LbJ{PiLc_x4OSbDzYA=rasNa`6=PPl~ z`QX7t#&c!we!WXB?_VQqz6HMiy-WJ__LcOM4jx(;l=Lr2FE`r5`-$^m z8Qw2*Z(`aA;cJY<saaChD5sk>)$b8Ry>MCt@hZ zxg0AboW_;acDII8J0(T43@HkS>X&)_hY5rtocJ5YpC=HC<7NCs2@Bl(uG@MOPHANN zH#8jEheEY#IH!~4BOEW|FK8#hjDZI>7!}J&FP7oaC7>&#(^$N>?8Sl+ONnUSMaUCB?d5nf3Bp zt|y2*L9st+v)TB~i4q2s&i;?J#vhX-ObTLOJL8|O{Aaag3P2Tf6`4&+FF$f8Qoo6Y zj7wC(aXnN0=UQXa9Fi-k&nW+MDKL}L%a80wq#YRFuflI%oDPhR-E;amT~=%S#i~Mo z4?kw5$4~tJ+}U_!Xyz3{tbeTgQThz%bKLi%@SZ89!!HtJTI0+6F)ClDE7r1(DHr=1 z>)#OTd{=A(lC2i?#vyDMl;O?_THMnt9H(K}R==UTQ)X$s@Bl^Rdgy0xF;fj>}*l^Jbf zg&H+JbS+v5panmChx|e7X;^~??5~Cfy!-V5k;>gld=NCY277MDrTH28fw8RSHQ}qS z)Zwb9wW@D}^f-UDvAMMj;XpJI^6km2@r>6+q;d`2^P@=R9;9R8e##osaXr34-XTJ) zZ=6>Yu&;s`BRJsWdvF}Nnf%dpbDhN{b*}nHky;2X%-78!KH)jpAAE>hJ4P$t7I)A6 z!3lEuyxWlB)14shzYy5-P2An#QIRgVR#i#hdFma}1{@qt{vPYdKi&qbTq`^MIo8U< zlN8kavl_x3|jA6^kyMp4T-71yAg zLaI?xG?wIgr;XfB#@g{hgkxSiiZTaAbC*6J1G0rI@XIXlQ5HBg!(8Fhn4Ak=WPv|q zfj?$}i?ya0R4Z*WYpTUsvtR#Gn_5BkyDGDSB&td6TPhy0&ZKi==C$P5vG~Nca@L(= zE32m3ZVZ$M$4r9kr)uW`(4L)ypYa5hmOPi)+l z{~RBOq1&mSQMzRiE1wCdC{-@E7lG+sd#P9cGlTH+pTzY_J5+h`XgD5lVg*4 z&Dd-i9z{!f%wcd7>AR{5Z@kJ7;D z=X6=|>ilNH)8bdlHyBuBh@9Q0m@?V_%@mI~Mf zg1{>YE;8Neb_pCWPToa)b9(S)zMWxS+nMG^^sQgYcnq^$_fFUhhHw9(u!wQXL8V)rP$x{ zIF7~r#xJVG(~v{_2lFZqszHNrnok(_z)Xs8HB1Tn@$(Ye`$hjIL7xYyrL5^S;s-{G z>p|L%tP3mNp-GM1CCVd}8O5WI-B!HA27QoL;pngx@6cZV%sc4$Z?Av9$`|KTCDX?K zk2Uv4lz;Zex-+XWF?!_OWpx&Z{nOlTR$Ts!S)IiZ3;~FEj-~n|zwDoJ;{SEN4Unx^ z&3AhIdi{|-S5{{!(4#z9@g7!l|6-M>fs`1N(&NYYa9no@^u=KuA<#RHHxXi#NTvKj z_e18`S)IjsEq$FpI7?1f>T5J#S?h5FyXt(S+s`8+*Z#7Cs#J;f^w}V+xMGoxc4jl?xH?g*XrsvA-OsYje)6P8SV*>%4*9LZxq=L&WE# zt@v=6tQ*S^GJWkFirtzjL)d{BE+(aCSqT=N$QmUVaks146`n>SXib)aqL62(@ zt^5OZ2mP)^)X!k@xE`cCC+MT*UeEbq!bPz?(Kyy_Y{i$$TVW{NxN!$vC-5e|v;Vm8 zKm;FWC*Q!a7|1wlLEPHhT%5dE;eu$su+&mIka*+c zD`)^N2h%*gJ(K;f#5+X_EUegTB?+y4UrV^6YE+FzjI`exC( z!rY{a)o1%M{oLZ9cY~)?atgQx(N!oFr=U6^&Ns7XeKg*8KaIz^c;C#Kq#&I~zdASb zdmYU`R*E|KXUF^MoP$i|$+)MG@@(dbMHvDko+}qm+`|GVp4jw_tg^N9!4HJ_B7UT3 zN~Sb1@B0CPP=uLFfq4(c!-5J&1l62O;m~}};V5UpACg;@qH`(-s$atW3g^5t&i9Wo zPr|rI(R;LT+zO}iBE|GODH15=@Gh9^~9#Y}V((ug+pQqt`R;5Tqi`Zqq!Rh0-yfW!_qlPu zQ`tVE?^&&ZT2!YPr#zDUirRux*}1)5tZ>zAl&j5lwIglJGN@*k#;n#r?e%Z925PT= z+E?N>o=y}DewF^kW)No1Kf`_)h?I1*;s2QIWELF26EhM8f?RMxmNi{Kr~@ zjRLh^rW8O&CI1$Inf~asQ{hHfR$qYKsr*-&{F0H=&+udza^=5G5pq5$|0I)O|BPF$ z!Q5)yQNs}_T~B|mv=b?R8(peA9PhW1PpS5wKD=xZ|D5XCeWp&jlaERq^FB8mD?M)c zYcUrZ(%={AQ1aIiBe9$kFSjmypBid-wMeyTDJEY)@HMuOH+qvUVyyThNxbekt94x1 zI2^`PZT7Wzx}&6X-vMn4%8bLVrO_|h>bAM+4i_wVvoYZa80(E!8aj(JBmTx6d3D?R z)@^yIa92aW!lq>1mXUSaepa|k283V&J$FSacZtC6`EA&EOT-&Cwy`l%`L~F%Ic#hR z8*kzoC*k~;TBIjzyr*cDAN}!$n$CE*fig*7SS%N`Qt*6GJ*BddpHh*95MC{s^wG;= zr7Vj}k^wZ6#m3l4pxnD2>I`sDNwfo2X{+rhom)YGMX76P=Ye(Gy4M|cEqIv< z2!7gALNZj`ko3?BW01%9M{Kw|;?H00rnfd|OXy$*aqP}iZXsL`H34BUHQCcIV%!j zA0hslaFx&hlzovOm@|vK>V3{?P0*xxLgs0y?5Sv+s=Sz|yIA4+nqZ3-ukyyj4qGkn zcy6zMt2IG;{rgq=OVTNl2KIj}o;;%bYu;_==mnw(xOp+X)xHS5-$rV&)Y5;s{28#? z7vcM|IA2tM$*1IUjwu~G5nx!Q!q9d zPshFJshtf|)Uw1fM|3Pec%JmSv{Y;xNIF+q#2XWOWkT&}G z+4SWz z8fESfo;HNzg0Iji>ez+i4(IJo%4Tf%K45e@V>m7+g#mBG9l+CLbVOtLAz^?M?ji*O zC)z5(N5v~bzTL=_>!E2R+wMu(vbRz+b4RDVA5h7`L%6QhP63~pHalUCO+^^3*!tNj z-HXXxnFZ~(aKmuimW%sz=U~6(rc^LCA=Mhgx5}-!fA>&9q``5;+!_^&ZvzDX;}9U; zzD&G>eV45nd*R>2BUEt0{j{#7VL^qr-U`=&rV2rau~qUe{A`DP3ie0t#7l3lCf~w_ zhHpdbvvelrFZcuVGO4Wz8wqK8B@?n+99j_tPTBs<)u$-Of1U=Vqs#G!;oIW3bKZ1$ z^kdy(4*TrZ0!mn+Ro=;v-LgDi?{3iTQ|Hgx>)(nuZ?FFl;^(%XNhM4wLA6<6CjSikVaO$~cB?_6R`nYyKZ5k~ zD+5L(+z(+Cs#e8+thIraynd-(pekII9A&dv-fhU=c5=UC51f9sPlh2^{ue8861Nk| z|MAG{pHlu$R9^3)L_x7^;&|otV^sUUMh27qtC!#HH511|#529UYXjV1a@=bJzo{<$ zA|-yzDTOwYSJ$r{Is7?Fl;Dp24p%w2vW>nEB7Y)JaH!3k0Sec@fh*i2#^3MxTC$eB zxSqWn}JDV^-K^`1Dsdc3XoggJ9;y+50yz9Qu` z_fg%cp<3mJR^C#j%R$-QN@wkS7|6e=dkUvZ3Cy8%_!7|2czUA#Y3`&j_4Kzlej3}z zzdrY{|6|QPLFFG>mKvvLRJrOf$(0DpYCEvA{|e=gHGS?OxoWPtr%?sSa}UisG@Y=2 z#;xR1d`6^_BUZYe{#^ti4F1TJ7VaCLiLf5axkYDt$TcVEW4tI6c%wF^k82d#WfnM%3AyNP>BcDM3bM|e zE_TjnYir7!v2!PlpDOI8&xXaWSN3iiMGnPtH+2Q-zr1I45jjE;PW_5;8jDB~PI+bA z12ZYY>6cbVnWMzft5am6@*u&~_Vh8{4~!JoqqH4aH&nm5#>gjBVT6@ODocuoTNICx z7b{$E$=^`^bWIG4mTH0QX!Nx8C5sajx->vT^jIwa4Y3DIu*vS>@@_{dzlE`#`mQSQCq z&i7!vW4s_f+L2iEMPDM|YfP-g0j9NqMDpCkx-Smu+qHqnL-+;&2wNpVUZ8HvwI(Q$ zJOf0X0Gb_w@p7jM1rHM@l6i2?*s*_d2K?Ye(6t#HVb)Wu!T6BQ0bf(Vx1Kgy);L1O zvY>d!4KZ)MHnIKOzK(Ab-Jp0^q5I(6C_-$JAvPl>8IrMv15LD?i*Vf;heS&rV$ax- zhcglsz?N$>czj4#&M76R38@LtcM*71E}4hVFF?LkWP3=wvna74eLIUZ36kySBAbjL z&|u%rDp`$`9N${AU8E-Mu4PB!gA_gLp>KIHvePZ(TSFy;{G*VNBTf<`i#tSIgH&O` z9ggQxxC~M0!^~yw^)(smGNnuAJmgOKCu=7Z5fG{|Sp)G=p1ux|Z?qsEBA}!sC@GoJ z0ktX{Bwv(GR#H@PiKNI}28<@8l8PsjUqbTGqYeM(TG#p_uwH(oR(cP)Dpu4AARD4vBTOXQ^Z&_lU z1N|Kz^-#&Eo@_1|(N0z4K<2ozDL~nXg2o1GDd|@Y=uV^x&VPvXbHe7R)K|>a8mzxv@ zwXC))@%X4|-2Tw>s(kCvqmURJ0T!`kMn9TPj+`4fLFu_+E6ok6(Nb3m`qro%%ie@W zJS$TQRy~Tl6OvRN5VN`*k(bekydAwt&Q}OX8~d_GWHlU$R+OHQ=lRy*vp_Vi^c)UL z)|^hfgPhY*Vd=R(UOqqFl-JV)iUH>pj6I1RV)(1uCT7ogzu$`qy>CC&lqDlVL$O3C zKxq=p1bCEu-%iyMGVFz%ieMLYmSHa>Zk)sAlUS2)40SBe$d8dql-aybn<1K&F1&wHHK&$s&L}T9G`AE*7%f*AsX}VWr!+H zgdrO7i6*x&*Z+w!L{W1K`V<)=|8Y!iiXjSqB8I4x=cW^7hz9Zq^(iw%CFU6rOjA1; zqJE#K&Gh)BZKju1o59R*G8rQ8akLp?h&(5Az$re~fRl?M>c)-kGiHdeP?oDN48!h! z2SemME`|sa1rl?dEQYA#3G+jabW1*U`JrI^dPlrKFnkVQV&N7S6d2qs4sgnlY~b*# zZ;k8OMqh%i!~h>a2V?VyurCx5=3%Wti`*8cZw(|(7o}_|8&Nxrbzp7RZ}%-*xOF6y zugSi_w+`Ych@l{NA}K-w1C10krR7eaKn!)999O)&GpdJ~E~igb5v4~if-%FN1M&>D zE=1M(*2~3@dEL>Dl@Ek&Ts*~8bKSt0`qryD`^2dNUo6)?VjUnkd#rst#Q&$uN(vj5 zoml;Nxz{YqqH>b0h(sG8NUwZ|YKRhy4dGgp6^oi<1d#>qAOjvNplyZs)~>L zKPreq70Y%55nWm!g?1wc7bUzrRRvLK^epl}QV<145`A+Y$l|GT3okzxL`ks^wghB< z7ZRIHvk+r-7MqS?Z`3sN>JNO^sVRtRB-Tr84V=1yC^2hqyEeBViltB(mT4mTq=G1( z(@6}KSfBK*U${l^LhI~neQWS7QPN4Qlwg^_N;!>HzI70n`8F-wCfKWw65H~O^}e0> z;KsMi_3Q=+)wY7+rY!{rg(aA^bzs&I*f~PZwfH3Sb3^7GlcAe`$}n`*CWda-XU@<; zdX{GBs!lbAZX7Xm6aO6y-5BaeM`P%2Ih7f@3M_a8LuVGG9X~_&xggDoq5D57NNX2E zcd81~PBKIHxghOC7`m<+Lw9Nl(oQBr_bCa|{?qxn(U8xD#6cMcNi`QX6W13c`DU{t zL=w5>5YoX8DIM*TlbCL^5TijDBIt>gl=OKd!X}{}zLswkjGge|g!BcnJ@BVsMg@Pm z#=aI}J!0(EezAUot9}8F#nHAYL>%)eP#>NAkwPVmgn7J>#l*-bwE~b6k>E7E~~7vBzM%l;zP!$ zMU^byc=;_SktxOrLfITm#UPJ&WC2GORD~?4xLk|JM~y%sos2Dw_^5DJ%txH_K<${% zeTW6W6gG>DQ0*!A_^2pv5{gqNIJ}cNH$|hL>C}n&QL3&D7_lP6{lP)a(f!EiS&J@%nHI{jxp#tE@g z#vUIsP)Mgw%Bf9p`VaX*5s4BMCnnH>OAwzKqx59#@$!B$NerPWp_r(APVC^F8i|fP zbcfTCvT?V&1@-bRL-o+HB}^DNlf;7ZW*o}dnnO^YIkqILTeOXI^Q1+Q5bmubi9L_x z62-|~I+P~24#aj51l*`OIy0PcQ1y;(ixl-8u+?xG1vI}X`mdV~Z9=QeR^yll)l{&bDnN5j4WgDi5)P@O8HqxoqWoCQU zi5s|QwdE!>uC7__89lx4C^ya5LY#II4*g<(jwDVzzmeIrF+~^K(3vh&bY>jK9vN?) zsO>t4{MAYUuy*OmHVI` zW@FTgXvNeVqzRyE4{5u`?r`~^__iqu5PgRC5>5{D_33S!f+fc8-0_!Bx6I&&E?mq^ z*NJaX;^;kZQi=`?-d)WMNA_XadnAX24vp;Ro-gK&JIN8L$%ncmotnk4kB(ZJ?p8;vXV3+X zJUq)C5+fT8`~y!;(I}Sq$P>o?OsfEm=;+5dv!9E3pzmRF?Xn-8c{t(YG+{0z)qbKU zr;se#PerDPEZWbAqqHBi9cuo$+Yj0eHzA5dE0_CHYQJ;XhQo~PH)4^CYj}pRzb8eR47-#oC4em|#-2vI`L+ zmzxko5oaU@1F$~F60b0K#1a;CFiuUpe1woiL0ob!Fm=L%BrF)}vw(JpS1L}LcqROa z#VgSh5wGxh#B8~USfu9=uh1!e6j55_qKj98Dj0PxF$7M+w;m#JC1F`Bq#A0$ZvHA( zE!Z<(8p(>!jL-4%(j$c|vdYY}-cey{AIoEkOku3NmY$wSRw(?x`$>)=tnSKb?DHorV5kh^Md{W0OHc691 zfwjuobvi|aQ0wwZ4keC$xw_ZVhn1hpiO|VWd9*UkG^|hac>U*cqMYMLP%Voxvfj_- zMASjE*ZH5zi3AHI=Rv_Cr>DrzwIld<1M_JK_4-SQ~Ef7@1z6x`dR*fac006>}YBD9bV0#H|XAK`R1R= zi1+5+YMBc(5Wmh5i1)quR%6Zj7T?Z`#5t=~_D1Z=?mFT-fMvd2l$te}w8-y;O-auE z8GuSh=6yQ7JU%|MJWv=Y5{vSXDL}F1VKv}u6J>!cnTo?$g)NWuJLsbYk*AOBdwe^Q zjnMEs?q%&OqE9h~t*(*!8%SFp}7jA2r^M7$2864BSmO*P+ct>0Oud zhF;f(8|Hic5#wN{ea63Ti`U?$=#@_2e&0?!Mu;YYIQ;MtY?-+tm5Rd>!5c1+A;gBa z;iz5!@6phK0yhl%$xsZ#0lfSYG*-cM5U;8PVsj1|s}egvGUqTEiX#I)fH_rz_Xp>D zJyH97yimXQ&2W4grK@`H&Pd(iHrJx-ae-b0msXeAcLOMJ-S-%PK`HNU8W-eS>JejO zDBdFwAA?7BTAi-gb>t<{njfW{Q9etDH8}oB`HmX5czZ(Wd zMVlRg#0SO5B^(ZfjCYa2{l=S|{WlY>-PO~#mxW=`#9NCzGcXrm`8PJ+kq@gTj>`lB^9Br7AaxIOd=y{%f z7z|uX%i#ER*qw#DTubMs3U_4+nq+y6>5ectfsTMu4pVb7mKm#K`6w}CQ*5}MzLs-S zR*k0E@VwaId}A3XNhoeCj}3NUD8&ht*mWJ~JcFcL8@sM!Y;b`eCE}0O*ij^Tv5_d1 zTOGmJ$POrzj06sT4|ldl(e`|e$qQj5{bB(nVf3Yvmq^gJC)rED9}>Ja zc{wcNoCaQoeT|OfCY{DBG|3br6_CDAYA9jQTO_nLITd~a#+xDI!!TZ~awq5Fk)nuk zC^-)IzT&F-WEwg;G^=W4mBc7Z3ZV%U@PNGHZaK@eS3JiJ= zW6+}qywHj(qUaN)VHypLm!k~>#V`;?XDP;ux?$r$c|*Tzqx2Y8nX#Jh%a6}-#IK<@ zsv4wC_+;F~a~YVH^9h?;syRE&qR@4pdlsNTG@%#J&tX*9eOLmOS; zAF=NNfNs1NKxQypgi^xThh7vf3C8DPJZ!;uSR=;6mi(ZB2ex)&EL_ z7i=^neVY+029=N~q0m9}5~KuWh2fI!4Jbxufg2(Fspnt-8F`3KfRh8vhocxPQG}tC ztNwOs&Mslvlx zPkk6G`+3tHCA-K)voLiR9M6oE*+iEZ=`i-9576u9HPM=_yZ-Gg%|QBG4@9YMJd8o@rk$r z3mOrODShemP+EisN}Di>_{`~-X;tY~@rw8yPE|aj1&Jym-0yaxc%7oEU=~FSI|`S~ z!jGs*K_jY#3SYD|ghzfwRSs)#wXK7X`%3CddN%)Zt1ikOeo}m z(wxo{`4M#F23nibZ?o0<1xgMcX@-N}W2+@<==gbR;bwz^PV~a97C0b5L;h-EA*;g@lU3uM8NjS3ns)kRkeE#hv17%S?I*-dtF13@lgy>JbJARr`y6*ZWknRkuFYJF{O zEw%Nn)?To-@mkFSa`T3G!#k)zLbya!?vVfUocW#I*@s;T*w()Nzvq+LIp;giIrBT0 zIdf*_WX8d9IIfDq_FVWEE1p4I#UaKvY@0#*V`pvSba`Rsr$ukGn2t{ytZke&r$u&Z ze@X-UFQ&AS2DC6!wpt%_S^E84ST$~k<2H8bq?4di)m?`-51*XESv&Ckd>IxFSZa}EC91*g}C_eHL#6a6I8yExC?kbQAp zuRA*>(i@n!AR}w|*QBQsO7X+H_%^=%!+FGEs8s3t^?>K2ZZ*FE+>LtEbQKZuYpes7W-`lFIV{{xak{}Yl!|Fe=q|3=9X-X=NpXCl3Lxj}!PBm5`HpV9)bQ`$)W#L$&v2&C5QeC zC5Qe&l0*Ll$)W#x$)W!q$)W!N$)W#`l0*NKl0*Lr$)W#U$)W#q$)SI*>{4auSZ8p)w^n&i+qS90X{PRXJF7m`E&A0&tVC6Yt`%aTL?F3F)^ z9nh3!yxgGwSO#_u{ijL}{XWT|-!Hk9tYf(3&_7CY=&zL=`lFIV|AUf4|L-M-{^ulz z{x>9t{>_p@{}+-&{|Wr@RdT#pUB5$rPsyRbNOI^mB!~VA$)SI=3rHBfncDN51w;4*flj zwLDV4TXN{XSaRqeBsp|mBROn|U9(BDIH=s#C-=)XvE=pQ0E^j{%4^iP%?`frsS z`u|&U=>L`E(Ep<3(Ep0$(EqXI(7#1;=-($f^ye0ca)y47L)A(0`lc&_4&03gh~rCn`Di`=I2=?~{@vzt2mK ze7!0;^ly+H`ahQ(`j7pN6;bLxRdVPomK-`Sk{miClA|21lpOl2B!~W6C5Qe;C5O(( zC5O(%lB2#}l^pulN)G*Pl0(1q6j7egpD#J|UnDv7mq`x&mrD-)<0XgwD#@Y0UUKNa zUvlVwOmgUdU2^DuS90iYl^ptaNDlqZQ$=|~e}UxC@0A?-izSEtv64gowUR^st&&6k ze@PDgKa(8#AC(;XW0FJv%aTL?R>`4%hvd-jbc^zY{$nJE{?jCf{{E6%$vOr}4*eq} zhyFQ|Lw}v*(0`xg(EnS>q5lcVp?|UD4$HkSIrMLk9QvI-t$6YN6Z-QdhyK$fhyFg2 zL;nEDp}#_MONL{jvYQ#Z_k-l_yozJ|9r`zzeMsZE1ltzL;onrp?{j>(0{As(Enq}q5mPt zq5oycq5nm`T&xspTwPbG)`=Ou^!rIJJc z8p)ymQ^}$KOUa?XQ*Tk8(0`od(EmNjp?`$r(0{e$&_7*r=)YBR=>M_g(ElsRq5sd4 zL;nksLw~d6(BCFG^tVe6{oTGN$`kreksSI9C5QeJ$)SIkM+d&>xW;`iDsl z{SzdI{^^oKe~skOKVNd_Um!X3|5bA6|3Gr+|4ee|-zhotXZ0233H?1JhklRb(0`uf z&|e}s^jAs_{ntqj{kKUD{ifv5|1-&<|53@I|7ppg|7FRc|8vQqf4Ah&?>t+SGxYb6 z9Qr+yLw`TXp+6uw^beC9`qxX2^govz>ASo_Khi%@a-{E(9Qo}hIm#^}Im+!a$x%Kx zN{;mBNsja%lpN_lEIHEui{vPuMUta@-jf{VvtDwPkIN^@6FQHV96EbTuFF$$=nqH^ z{lg@O{wb0}|18O&|JRa3|D%#a|Fe=q|4PZB|6R$UzgcqV-zhot=M;)^hW_4?L%&aQ z=r55R`pYGU{;MR1{_7-%{&|u^|9r`z|7ppgKPEZ!zacsFe4O^$P-yBHek= z&Z{0pRv^xy|5VAL-;f;o!;(Y)NXenUQgZ0ONpk3qN{&4IMsnzXOmgUdQ*!A4Kyv8c zDmnD;mK^%K^b_R?{oj!s`p=OZ`u&na{{+dQf2!orUn4p6MJf1=-(na^k1#nUX{QZIVO(e957If#lHtSIMD&iR94#j^xn4UvlX0 zbb%;O=s#X^=n=Eh2+rxoeM=dL;o3)L;tywL%$(8^jAm@{o^Eu{+W_Pf34)u|Cr>^|Agew|Dxp3 zze;lGUn@EEeXLDBK;F2NBZYVj`S~< z9O*|SM}DuAJj2>SmE`sYcG^8cyi(Emrtq5mn# zv#kj0B!~VM$)SI*DL;v-XLw}9r(BB|= zCri+8B!~VdB!~W&B!~VtB!~Wel0$!XsVGnAKTdM!?Uq}x9M}W$ z;KRTR1TO=33w{xJFTwkPV_HyL&spGj{1WFS6;=X%k-vYis@EgD%5qvWE zLczy_KPC7zXlG4=9}E4<1>cQyRtf$&+VL96VZT=JcVOQvcn0>{Cio)Q?-Kk;a5p%& zabC3R2ao3Z`!XTH-F&c;yV6>zG&qj_zRYyN^><$CBrmqW{etW7ygVnk{?5x#nPuO7>HyRaN#a8#MeZ^_3M^RZbi=VaAy2Dk1S3t=trw z`yzDr@wEK#osRm~8}hXW>yv2BUA!M*z3K&ZZKEyHjaIxLrxkP*V0|VyPFtW3$2hTH zy#c2^9dz)tZBFw@w$fMZ z$&)hwD=Z7$?{NP4ysqQx_H#5bS@#^%xsrb!j%sTa{}pmlYG-5bSSw0CGRAWcd6E0) z>P@wO|9C6@25S}nmHVHdKCCoqY~N{TyV-fwuk~a3t>6Cr`YCwsdBv8;J-X|y!ANOl zMk2)w$Au~DQumoG!mpJ09o?uj`CH^cUps$}JZSD8J~Ucd5beuf#oiUYI{Sqa$TASU z+8KzB$fd7J&ySX#9Ec9e4@675Q}Etsshd{!M@v1l`bD&~7p)dVOZ(93x6x8BtsaS% z_M_DwqNT;OS{N-IK&!t-OZ~KZDq0$#)pOBO{?>L=w3I(wy(C&%L96A_(qXiEIa)fB zR;!|=SJLXuXz6HLt%;V7r_~41(uuTM8!eqetIwjP(`nTlEv=%}=4k0`TD3(>=g{g) zUlV=EyH4fWFqato_4lPlY;(Th+iLih1bc2YdcGVm4+MP&g62m0%CiyMNZWRpOMM>& zd>aD31F=`L4f9KbKGPiAoN2_ibv0@?US!mMc2Q~6^Dw7dTIBgVua(KR6JuMC(WG|6 zMS&vE-*{ud+!5P)Vp1qGd9y(gV_Uo0ph130O2sE}LEkpRd@E?~3z`Qw2SMLQLEpY$ z&-E$?TZ6u>L36#z!FtXCWh&r%TjgP^&cjzmY|Dw9kBf`4|EM%mKFF`~LAfLew3Rh* z2K9!bY+DxW0nPyxYJk4E4wxM|~wq=qU$!MN;Qs_4I@BBP^oo+?F? zn58@pDDzgiZ?wwY+Ms(dK7qypDt&z*x5?ITZJ^^e(eSB*->>A;aVxtV--{&uIqrFI z+TCoW%gH{4)1BpN<3l0V+lq~zYGc+*dGJ9P4}TD{fhP@AD@rDK^o2dmL9 zF=FenWGp}YwjXc!RGsPC{>v%azHazQjYqeAZunNOsR*fx zmwvjo&+U1YlHb7tpyO@-&3{qbU!&y5+diGIY=DmhYuM1iwr`zosr`TOFKGKp=pmZD zxr+LH)$sX1UmG;3nbWX^hdW;edak9h4vhxX0D+`)-|72`>hv=@CD3rfx0FUYCY>_B zq$4ffcGg}L%~t)N9?h*arrTS$UQ(>TAra|%&8p?16zHX3A$$sfus)m?{JxtbT7#=OkVKR+(sMkphI<1j% z9H{O-J`&WHdYn_cEyFeM=r7yb>69CaUg_Btdo_!P=C5yyEzhEYH|A~}PL7&;Fr(dE z#3TGoPT%&qpR_yL9lp0?pE$|dw~C6*w{-4?B62ha-H>TnHs|}=Tu(MpJ6oIYTV-yK zZOZm7n)`{197Xvg+xNDaWzNjL;ws}x<0|87W7Og!{XjRJueSqIb7newm8v<8J zj%P3vCGVtEIBt*}S-V4W%iQq`$#JjZ5y|-m3%Pd5q30;Xllk&Uj(mMza_BFX9Qp@K zZpm>}N{;Y#l0*Lsk|RIMB!|v-B}aanC5Qgql0$!2q!%wA=s#U@#Q(nJ(0`NU&|fP# z!atQ9`hO)k^gkgv^e>Sd`ahH$`Zq}q{Xf7uUJlTIvE+z9L~`iAT5{;0AvyHlE;;o7 zN^W|zp#NCOq5m|=5iXJ(`t9F{wLkm3O4>tzrR324H_4&@?~+6R zYRRGhUC9yNB02OQkR0WIJhsQn4f;=&9QvyyhyFQ|L;qcpL;wAfL*E}HM|hFs(Eq;V z(Eq9A&|if8$MXyQ=SvR#<&q?N4Typ4tNOI`kE;;n?ksSK%-$qsK z7Iw#B_z*7#=>MMN(C?QV`Y)Fp`o~BP{f|oy{ZC5{{Vz!l{clMQ{VkG1f4k(+Uw~&j z@p6EEx8%@o|8}V=Pw1a5?V|X_7;K zk>pmgj)>&YKSFZoe@t@de?oHTe^GMie@$}e|5$S9|59@3&*gzOIo_;_5c<1I4*l0k z4*fGEhyJ;eL;sH@hyDeUL;vHFE7cCiO39&rwdBz6Mm#oysYSl&v;Tk5<9^o9MUG;z zw9~I2K7E~}H^^(HbkF*yyAZ=xZoD6Kn}>YX|1e*}rf_H;@hyGG$7!N@#Cb>Kr+e1l z(fEGaBWse++I9RxJ!=mmKCP16`yI^x)f9{OpVam!ycY3Cli%)i`D=DLdAKS2HNbj0 zS1dXGOr4Ksj;rHqp6*$DJ>pN~L~KshUn=cv?#GLLoQS~9h)+Rs|IB3F6LN&m{yZG8 zIk|u9+Fn0tKlHQqqJBk%)|2>-KWlHsxszr1l@`Avk9tUB*zlnt^NrBl%}qqdhoaeM z^de8ltn)lYYhRPAv2$IMtM0dyLD%!ET#dgc>WHn+tj}^amS*s#8?8+NSK~vxjUF0x zt}n@OHRkZfW2s^@n(FI3^J$Z-u}sC7Krs}&+k%;FnWrs(V!MX}}rqQ43i_JJ^nb|H@+SSbPW3wi4WW#T)upb+dvg~MikQoTb*o+V)zpTb zb`vn3^3!j|>R{a}!+fc#bM49uTGy>`&6`0c@z`~V*iEkbv*WR!(Xkha*yG7W?b_Nw z&2uUNY8T6IEO?qDsU0n^TT$Jmwkg9Z4p-yqQ0-Exd9Fc6{fPF^c{^Qo-=mbwMXts> zyDuPW)GZI1G1pHQ8LL`cb*E4vW~?@v=%#qximEJ1Ge~tgZy6b;ls6N7A`gkmRam_9ivEDGu<*qtE?Y!k2`r&d`d1`t7Kzln)%Lq{6@*Y|?Cx=__ zn{O3I%cUwB*-_0{WxJ}S<*#II4_`q>h8YW(v3UKFRRyQnSI_;hZy7`OOG~;@A+HHV zf1!@Q@u8xV)dA_6mr3Oqn!BWlbn$K6#gQ1{d=jvNKcwJO6iKxs zbJ5be?tBb78Y(gp-ptxPPFLMdvP`fn#Xe19*^0fE#5yVVY!d6N*zbtd?uzfmRd=5< z^6&xYXfY|^YihZca{Cl%ceIRVACHw#U+7YX;~;d@RCURpurVGE*&~-_=w9!UjD-| zW5o;s{ZrRkjdCS&qZJ%%d;>)jg?A*0`&)$9e541ZnGPANfb3S4ax!v+y`9~jf zZ1*0=9ba(5i6@=>ol{PA_dM-%&l%S5ncwZz`+MK-bCzA`56&NO!G#z3S?`hFrcZZ| zz8@8lzDNHzE@`^&erKkUS8#ilk>{?>9+mmncnIRBh20=)br8?vhC_}IeXa}YE0lBFI1j5dAHjy? zboy4v;dmVR=FMC_+CFA04|r7+xB9jAizF2pDY!1rZ$7X3Upu9m^T$P)I0CGU`K^^> zrM)nS$u`A9X*TiGVs{I0C_DnlV`ScsK0*q>&jjZV-|o8N8rja+kLr%&bk|t7w&8z(2Q@jJuXNW)N0W`Ldyc2?F;3@z%}MH^n_5f&a;qW zhRiBYamXCz@rTTaC!e-Ejp*gs(O%@sjgHJFv!}>x9$hz`N;wUgyNzhR5%p(>YFnJH z`qQaVhGH#Q<>m&S|J*CoFyIv~Cr+%OykWoqo{a4dHO%ph4x3+w&HWgQMsLV2s`BK9 zYnRgQZrN2d$KwpwE^+$WLNp^I-?t}XZlmPJldjRvZ~-^d;)qhnx5->()DNRM5zS7c zKH%AHu8KA1vu_Xk3fQ-oE~du&)=)W6U|(!28CH4r^ZZ*ftnwUSUqShKJ2}wqnm3J3 z8=+`~WM)LDEXY?7q6shl2ubM`+WBs%A@W*VsCM@*SKSBHFhaF4XE@_E0y(ZbN~oo` zdtPC6d~FbF7`Q7KEeJ+uXNTskaNWh%pP`0Jcb1#$%_*J&DpNNX)5xItQ7E=4E7Xv! z?&Nd%hjV_l@oiZCSW zG?m3oGolJYJJ)d8j--NJMiowZ4MYoks}mXG*5eOQ*4+W$hXE?J0xG@H0V>siZ!ZPM zt9wo~Kr*UxAVH4JGF)EhJ*=T(aqFjb);WRvf&zdo@| z#R$}giM+@2d+Sf3!lR}ctiL7Os2`C**r+efQAIc+lR~jg)NDs&=~5oiN%^RNM|9@W znMjv**|@a(fRDl2C9`eQa|~DGt?gl&Gepz=>F89UhFR^gjm|Ewxf%zxM;dNv@A4Y) zS?%G5!R@gP1%}xcX}Gc7)fjG%t;-K|iJ7m`=E3dd4P^wJT|TGK^!6^FTLs6Ztg43Q ztQo#H)!}IP_N!ys@X>!BPz402eymENVjdl#@-L<-X7%4Ux2eOlB*R?Fv)A)uTPUX` znMVEOEHhR_6=`lV*BD$LS7fuL8Kcde%r$JY`($&U9l+E>NGzx-=KPlwdR}enu`e-YTeAlFxRwPN0F>P;W*l( zI#z?`he2~!gvz6rI&356+LqJzbJ~t_b7RXhbmbW`UvF7Rh}X|!y_(iaM*}6K8a6BW zH*sYpB|mWY8a}pqYE`xSoWA|~de7=#twO$AeEs`+`}OsCds`dagD2otkrahS!^6M|I4tQ0(n{^hQ#>VG(Rb}75H8n?uZXk#;Hp%9h`CF^eP2t{K9^pJCbQWQ3%$&)|-; zxIOSTb?=DQPFmP$eiq{EGSu7yuE&O&9}n(UsU*_T*9g4??+kmd;O)pyvEW}K|9-*m z0uKqk5b0M4J_q(A1%CwgqXi!g`-y@tfc(q$Mc7Z_RM(sp=yLDpLL;f^Z)zS`@|766M`CpFs6O&R+=+}4xc~a%S8K)MVPtHFhng4Xx+^TaY`)XS3 zPUe-vQajswG2fvW5%}Iqs{Nc+7L1~Bt0FiC+2Hv<|xq;XLM+8(6=HKy~#bV$#C5po42~^f=EM2 zerViVA-ZHS4=BS>^iB`QqoIGU8v3ipGu5ZlV;$bb6<6^?ojOjE{x5e$$oxb{Y<*G1 zKhlQ*lwP{ATOZn{$8P-O)Isx5L_nu=eL#-974RQ3+t$j3QGjjxQ%lb=qj;%rbiF!v^OZ^;9I&NS$5{4C6^RdY1Q@Q_i=h#P(D3_1j$^CP8 zGH&wB>pFU0yRfK#@!{UruEBK%>+mZvxUa2lXn!?)XxMz2ZfF-6QK#(`8}K-NO`&96&m5}Vo8!8RClf@g9ns-*)0*y-F7ka&^L6M3X?Dcipl)Y{YUzeg zuBVyz7@GHfG}lA7-Lh|umCxH!HNaeH)R#Mq`XJ5Ep?jdiGt8BAw@}@^E6<`Z{a>B6 zp%Z)PuHEp??4cW7!*lq~Cn+r&VBNl3?wZHF1l_kQhDYQ2%pA z_lp`b>3;z4%nIbWZ_lRx39Ri@mgmo0)HSac%}Suri1purUwe1R>W99)F-Yo*g7k9& z_-uTzOEqTUW8XeD(f_A+BJosX3Z7e#iaX*5yLEpE!RqS{adYSz$mA}?K2}%{&di>B zo;${l?d@X-1?h)3^R{x>={`+zod?a!V6XdR%?)rjrO8h73&49>IL^-l*XJy4-vYa0 zVLt-)ZgAGlOWb|avChBg{SDpDbUt-`=y1BRPczPaAsF&_k&95*v#!5%W1mM*-g-ZJ zEpfWBPe@B>^YKk3d_PqhP4Zy-96=Mpqg!V#Vu!1Dq|@~nctQ(kH87R`wc z&UW3!|1cb;Nec}#cF}WldUnZAcWXb{73%$Vh@KU`sHQ7K%w1%o?|<;K$%2Tv(HhC| z^Kwex9UvjL$CCUUl{7G;r@`aZ(|&VVsCJu^g?MS2H0{`k9&bd;vct8@oW8ewF_j=c zcn(n%%FRYfcYLUJF-6(h%mt*LiuzX5mVl2__UVV9WS}A+yoFL4O*Frx9>PvRhWCgc+N?KpC$1oSOx1hd+9>Om&my=n2$$oPg`||5c=(R;n>@A>) z;w3bBfif35FW@P5&D+XPBkB2T1-+6?MWV;eZGrkCiWaD!oXt=7=>aUg03=X9GfNrJ z(`J4fNP%UMLl0bCjr5?N6CLTV_tuZh2-J_v4AfU-1?ofD{`%RS0`>mR^%XfSE2!!w z%uiHaH#!=^=Bh};j}ny^Hs6hyi@6HJz2AvYS%(bsH8pQq)tfFRZWH`gy<#4ri@FO$ zhwlnRui9tL5a5bPRAhjL@l?$;?SZEWjOQP3qHc8RqIy)7@$Q{sL&$uOD~EDkTtt&E zcpd>Y8cy7|n`Q|(Bed1;sxP8^n>4wE9!7_=X@)?U<{23E*YBozB|HJe*h^KjHJ=KX z;2sL^r!ZYH@HCZhJB1H~&R6q2-Uyhhg67Ard7q=wMyhEOsJSw$=FV01GR>;FGOOlh zshTTGs<~-7^<|wY!9e}7wC6zmP1*FX6%;o3DK=OB&@5H)yL6@RQu8=?%S~MA$ukYA z$B9`6)ClPnb}Q&ghYOo7a44s$VQx|xrQ4s}HdQX^g2`-ZnMIGasjA5+WbSP_T|F+} zn-gy6cfzbOxY)5Os&*GsnoAR-L#o~LA|F{MO|RLS5!*%+D=yT2npSaP{UEwv*_y#~ zHfS@=*~ru0{Djw8pBHHu)LviO-f|BWEdOH){euBV_{7ip>>+T1(lmeBMkvyQlZEG-O|#*Xzzs^ql_o&PHBwZO%Y`cE9oep54cr0gs98*Ji2= ziSgK0j+Z%7Q5x<@8Vp$1XM~F41BAp4->-d$&xad39>UnK)sCayjh*EDuRy7II1Rs< z6Cfwk`AZu9Y8t*V4IhEApS-5L0-U4SuPLVsdq0b_InD;h`77-77*ujySDHTxdp!o# z{6TOx_M!Pb;JpOD6Wl9!4Y(d7>U65W{ldO4#$8R|? zHqpl+d6nCR{U7PIa$nwA3Mb1y-L<=keQwsKG z3a0PN>L)*3m-|xK>2EvO%Rs;L(9ZOG4ecy~!IqtkPQj{Du=*727b)06!FX=b62VZl zDOa53Z|^zXKYp%|F6*9@FRoMR&LY6qhZ4)_8C;cY(HAqpF}*B{_n$ny08zXu^$fm8eu;Xm&U#V_G^Xx z^=a(+xaaiSg#EA5*#80c6h%4RKDiG_rGGW-^_(1S&-VaQ*>8uvTcqEa?&hbm&nM3M zy~5rN?ic(AY0}|&@0^aFbE9=urm?>P_M=7mKTc!+Anf(|N1q4yEf}ftwFve#B7J@- zPAYqTKPu~=FYG&Kr?xL3&h`t0eg8D}17W{V*k6;z{ztHH6886|vHvaXR|)%P(%3JB z{aRuFQ5yTrux}Ig{Jbz#d7em|%SYe9(Cwi(jeP|6^87t9js1^c@22+7j)KbFm&V?q zFM?>U=(L$Lr|<=lnlw6Xdex+9Q)jAa9NM33Q8{jGQGA*x&m&C&$+pSULK2~at@ON8 zPLS<%IN9=`DXU2!+4i7+SxN%Qw&NxwX1*!~ws5i~Wj3x2nU9BsC1%nptN4x9q{2of z3+J3&%d7ix2>Q&9FcmK=j;nok?g2~rhVS_DeA zpEPsStjaNy`He72xILU~i8<`bO8b*7_^mQC>7_DOz7nBiEBa#Pq^Z}8s+tzxXEI4= zT}TO9C6KVUSaJ;NO2pxkOp>jWj|Q|YTYQ{e)MbYCeP^Ip%y#rui6#Y&-rxvV{H5!8`s}eV4dgM z_*|R)c{YBxjr0Fb>GXeXP-Ns97e4UL4ZTxc^FSGFs&Ja0X zg=x`x?Ef!(iH-NP+4FsRZSN*OJKhWv74D~g6I_qo_ z`!?{=g7Z+AU6tTkN4?-~g!y`!o!+k(;e~?x5ndvA1;T3t*ZMXKJ{@7*X!L$-z`HZB z>6s7SOYjBY0|eK)`8wO4P800M3%&|m&nx83ysQPkQ`onGFA!Yk=dXh6>y71tyAl4z z?<)H@`CqIvbbeH+AAHT0?iuTJK1q@b(e*Jqo?F00?BoDBKKHTXa|?5rF;cEl>{oMC zlMbf+f9sCM=W_|C**Tt~<>_dAKbdoUuN5u+tK%Q)87KGEGEbby10BqNy8p$}?Rbqy zN0+}A%J)6#65Zj~0PClESRQ-*aa2)WZ<+pzIHt|T{ewQ*#^TT!Uzxmk!SGBrlg#76|bKjB=mb8jjy1uF7 zJ+HsIsgwE&Quhs9jrMB`HxgxTt76B0O5d-`5!pPbEYtP<`k9;VBM!IkAEG*da5|8#wS4I)cjy6@C!r|bK5W46~H z$JOyQPuKVJvlDg`tyTP2>gRCMaRbYRSUVBnaQptJ5Krb`?w{|_6i%NNpWt$+zQ3^W z@ZT@_l)k}CdGf1#S$#kM56I_+xr+W1$cgmR_(Zc*)ii~J_p!+(>cojCfCco_yD&#**4RSne_jkwju7}j+rKk z{b~sk_n{3=TI86iqw&*?nK~NZPy1#~URvx<$JfV+-lp~Ib-L^22epBYh_%G&#!L%f zSR>+dS=n8>F_RnTd7Uq=KaQ*8A8O20f%p^cJ0ri;&td!Vq|M!cHHg5+?%`Z7FF=DZ zb%I#S{g0tJ!PiZi+2MC`7kc|0_Pa~`d_w}xuh!Q8&pyTe#ff(~w{Td_i6w!(=%HHG zq%l)^^LCpvf_^lU$+OKS2F}tuDEW#y|IMONwTz5-`!w~f5tmGv;sG!&tn5FQ+B%S_?Xj7 zZNSd}TC=?yVQtT2y;SxU#E*6)<}mg`JV*Rs80Vn2HA+tdnLcCE4P&Y*M=|3ku$YXX zo}ZwyEO|G1Bqoc32)zSA~bm~_1 z&1I_Fjn0-Io-;JST9=2$Y0us0J9W8no$!8~h^YJiGr{G#w-R=8#c9}Gx^s6&OZ>-enO?)3ik+D{wVFUxO+J(A6@<7qUQJk0EEkhj(F54repWd$8>to7{qQlbL@i}u>F6_k)G%&T|QT{`?`DYc!XjZrupSE z`u5J@iF2A=UaI$D@%E0q!&B#(`%2k=avI-F!_~Qz8;5l&wa*^p(;`lj>NJbfDW{g` zi?|8euW#+=NN&sede}{Vc5IJktHOtWZWAZ7f6+2Wh;d+N+E&G6U=dg~(*XJ;q|BlA@lRnm@^Qqse@er8qTBKB_AW?q{n?Fr7kXclQO`y zpLB%VkMuN@?i|F|n)-TE)q5Z>KbTh#%yWnHxIOT;0kp77xBW_MbIR@5bkK_H>ObjR zrjMCZC|~&p<<^?#n2P(!)_#4d(;1Q`ok_6gcAt5vRQ)jnU@R`X(t;dxRM>eM&-VT&&AsDwJ1C8H+Y*q7whXS zX@52wlVf}P^=(j5D-C=4d|kng?Rj51eK+~pG3P})KRlYd5gskLAL0L$vB5~4AFO5D zN;ftbjY0o>#N+znW1agFcDlW$yS}~OGCSy3_U-A$1|5x`Zfwxe_Zfvj$5oYU%SnKlFINjKwO2y3aI!}jA$ zn}=XngZ1H#4fHkLPjrH5_RnJj`agjVj}3h1^v5Irj*kuO^XdFbhjo2PV}pEEKFti( zu;55f>nhcboZI>P%8r2T#I9nd{^6qkPdYcNyi=YI_uQ<`o!m%p%l6_=qPkwd${M6p?Zg6jV>lm)16Z~ z8b94RrK9ovq=Yr;d}?7j{*j(jOr4Ne%lxN1r_4vZVi8}T6EseDP8o^%)8~%EJ*P}Z z{3AW5EQdfhGJLq_lxD>9>x^P8%THZzR?Yaf&MDUQW;?x?_aAUx>Bu?dcrFL)dXeTg zS=WoAh~hymtN)~Pipo3X>4?rLCPz~jqfLstVy0zbo?Vdr!=I>JoaVZ^nd4+)X%{V=bSR> zn#vBJQ_d+q=dkZ#x{poNm|uC5-$5TXU*T^6?F*T21Sd&DzA=4voIe9ZA6KUD zw)4y9-LAT!)Z#+(cDU*WD$fd6ok5;*e(^j%KdjxGaYOfKct_83Gkk%4>XhZ*@uJH$ z?;MU4+mcOYA^v{5tBzlG8=;T-^eR7ZpR4XG-cBKR$ZQRnyF#^1`Js7RTy?*uzK=f% z?F~gQ%MV2d7lh3N5pzAi3!h$yzpRzMr#**#U-5_E>4oOBanl#BTj)DR>c#nAxTcjm zT*pz6UPYfj!L=>s>P?AR=hBAi{BZQLws6sL;pkv`4?cSbIm71GusN6%v}RO4#P6%8 zPuSCU)h%(c_4MJRE&1Vw?tMZT&7o-5Q1pkiCs)WEMM^4Yp>GymMz7>ABe7J9w(pJq zoO4pUWTfqT1Esaj<&UZWYYGef}Hmx8S_WrsUW{})y-A~$=`3M zf}Hn$s9|EhtL`}7cQl{AogIq$ovoeeJKAA$XSnG2h`A#|p4z4PVRHm!zl@4-Q`jus zrAjCq9nlsl8tw=;%%YMir6S^RkZks|jVhuiQAGTndoG=ZU|YDMPj)Cvl^IH8D3wuG zC>kUY!^umZXf%fww7f^c=W{W+L$z}}1+VV|-{^`F5O#ntmHsU~HgM4BYhoLvVxW$s?Vk`ZW&HlQ1#92(YVYQ zLC2W&nTm)>pSb#h{xzYV%0H=pn2r8n7=M2v;t2(!zx6bck*n@}x>=<9i9+R}exf&d z%IA^CO&+6mU%aE>Imn5QVh24`p`PL-7`f`s<^-s^3L*_RyF(4by`kD&u1G_lEZ6P7 zr#o69bFr(j{30&Z(OmP?20rBPHH6B|%@GRI5kSX%xw$_=rI@eFn-k1;H5P{Heod%h zj;DeSonCF!5%t=|b`^dv{kR%uWbhXjMsjEfg)-T5DS5KkGn72p>={O$PV5;@p3dwU zL7p7;Tt*%zdq$F{3wtgnPgnN*kUU4R=L+)Vvgb-Kh;N5WpZ`-=^Jdvg?7F{tnyg;xvG1p z_R}`<4DUfdp8PlY$YRYwuYLsdsH1Kuk=!vd7g;Q^|K%LBCG zhXF4&m;lw$kbrjzwFipn4S2_UhSElAD|0+os3xVVG-Q56@vfo-uI7U?#EJGIJF7w| z1Lp?{Z+6gnW(NIC&ZM7lS@d&7HvJ6kM26uaQc$S&`yQH&h+^St5`~M3WM}9iX5vjN}Pp3`s|4_P*~oDizQG` zDbg;w1`2~+U5z(UNzBZp-B2SOnn&CMrQS_5q(A zsQ#(_Ma;bsbBpRDxIKo*wzboQ`SedvMj`zp(+2uDicz1-2i%~H!h!UGl88Fy24xlw z%;W$cc7w7C2hxWNBkIT-lwCM5n*)6C4eC@luoDOP_#4!@aA0Q+@F6%Tr*L2n2lyx) z@cOto-a07LQh5Qx9Tn`;AR$oFMt1BUo)sv9N>PX0A z^&{l5x)JhNy$E@%PJ}#GA3`3h3n7oygOJDSK*(eDALOyR4>~kS-+qIR32H^H`Dzpr z9kGi>8g29?M;cQNqfUhXql|0tj&anGc$h<72v;F@A(7~KPe^q$;RYI+Gz6(rd6CW% zpOF8`WAnqkKca8yP|B`GvM=%;OP`8%x*97oyhCXaO5Hpiq7=;Z4$Y)hmUn0tt+KsC zvuV}I%ZFe^XYWw@hEGL~cW4f+oZg`vzl-|fQpo(+JG2W0yLyMxAyjdccPJf26}jG_ zbRbo9^A4qBsUpuil>aHt)#!J5ORQR;Y&*QPr(lM+B!gC&-V)kZC9bjMmXlSxzEXP)VvR$av_ zdY2QgCf!guPTe`@%a(C;@Hu+%v*F+%b(7qE!3A!*Yu?*EXO3I(Kro3b`ze)Euc?~o zKEursFOCc@xn$JP@DGE%IWk?y9^ofe($2$+&`$Lnh?8j`k@6cWf%rF8%Jb%DWL=Zd zHLsYyyF%Z>r0=lMw=u0RUSfsws&FeGHt_7&|E`8QzJ*!S_(u@pB`4sZUhY z;(TB51ca}{ny%!M{vWV2ijKK`uEgEooW8!l$VogPxK4k8EuCDl)6cISx7o8!I#iW= z*2e8Ro6@ACpZBm%zOSj%-^qZS)c-V|Sxb9pDi7Ge*c2P zl6q<}RaWv}b6-GCmh)qR>vCQQ>0q8?)Kl%lRc6x9eY(CY_yKlpIx__Hw=%osKNe zQ&(%qY0&V@^E0Sc3kRo)M(@sM+9#)|!NTI_JRSpoX(Lkp*g!za!=8eiX= z=Kj>~bo|rpkowD9>pVIr%@eg%x{2J_E z$J6U>Twy7k)~z?qArCYAF~i&P5&tO;*qqM4MzhGnhm>CftS260d33%wIqq|GeEl3Y z-5j3#5&w3ir&m&cD(!5$9Qu#+e?&&3{g2f<##-*5PrtKfjG3-)j$?w3n!;=Ot>5_j zn9e=#u;0hjWIH(gN=JMSkJEUXLC|b!<~7~0buOk0(>e}NXmhIV|M0OZKd04W*W-D| z^gQ-bnz_roABV}=xkV2C<+A=w?hFE{_&LPw^Ko@Lfi(6N zX}B62s>W$O=w)yGA2-FcA$|hP+tpC9dTNrX9ywx$5t~{Tv|o0*@8jc}7wytL4?YtH zY-{hP`hs&`WFHH-ZQR~Z6$`HI{!`{Eos0bGm24|%&)q1b(TK=HDL%Gj-^=yD+}6EN z$l;i!eh>bUeP6nBcSqyvbGL3kdXF8A@23c?$*Ut`t>Yi++?nowWBw@8(?OYkeeSlm zNw!^x2q7I2YhC^tUrwG>=gwZJ5S=fsKaQ*8AL`sW67eVM9bql?b69F;(_OIF@3`Q8 zjfd%S|IB3D;i#jL=vWTeoZLU1JI|V3+<#R6e%9IZkmt^#!eZ;?3>}~U`Up2NIKNu^ zDKDKJMp2GYG%DLD8tgQRF3Sx@|J+7fjoK|4t=ars$<^5AYTWB;YzaoY?+8XuJ`jw0 zwz?X3x*GSp8aD-thV94-7F~HDD;Uityd%~^ckMO@i^lKBifzgd76rCu#ai>r8*Zg< zB-579U5)f{;bxAO$3xd&#reJjB zS|eIaK{o~c6dc{^)MF>nKDZ|70mLd=-lt_9EsHFDs?4^Qxf;74M?WW@LO-4}=_k80 zm3D4_SL2to?sK85aW~!M?$eik`t>(r>zrJ~vGvZNZzX@D+ts*|3O7hqu--|5W-=Ra zA(dKe1KmPxjcufIZ=*zW=?>`*T2nf{J+T(rwvW=vkF`1}EsFkR4LRdk_1kli(ewR)`F6nk zm_93>6KKeG7_nAb=bjYk{dS=D$Hv^X2gn(7*YRrZhLgz6-N?W69dN^ZU)AdFfUhY) zBA??lV@(BrSL?+EM$eafzGZC-m>Z1P%6xO15ql}0cGJa(ZO);3jcuXd_i2-p_IV6# zbOw5F=)KLV@vqzY%jR3wzKz(+`2k-n_6q&3jKvC!X#dzEYBDh+dW)Y>FsfPz9am)O z^lgg0LPy%VVDzpgYB#=3Et}}^bD}+o_Q9=F zDb#yiXy?13x$AgDAL{)w4bbVSFFoLh(6a-YD)J7xp=b^r>U5-2KS1@GeMv)~vm@pJ z4?hQTMjFnkp%Xx;;SV0}d?UTT3ej;xzVe2CeVcobNd8tmJwTvG4~Cgxn3rc8X4q+% zLvkb03nS4RXiCA<{77^HJ(!qE&;76N6>6B^JxIUEUq|~#t3x}ef841$j4dhqNA5Y( z^^aC}EBi+}2CObpb-2_oQYRVMnn7(L(M3|{NKM+-KbAK%@(Ik|O?K~3hvvx_(vPRF ztC9Lh?w%-=-QPO=_&AGgbkZS-?r{@IWl5A9vY_Lbk1;w#*(lyM+VYbyA|Iu-A)k(9 zIuesRMb**AlS^0@#MaXh8t)9bXjNyJFpZYw(-Ex>XL~ouS>4s%E_=hI_W4ig4{_>n zHEyFmDqVm06_s$G3sp8%`A`SS9U=FL)Jam&a+la@b&1?Rwo(DxyF}R^?zEEf?NR+A z*A5jhb&A|0QfKFC+)DjoteH~UtoBDgC-d%exi9YCnR-7i!%qvSC-k*Zrx-uCqAz@i z`oeIukw==L*rzmW=o5E1`n;2aUDkxUydIAJDW6Tu&*@ogxMwWf^W}*75r~zg``(K9Rz-X*<-S$rKAOu$^BPu``(6*lTHWQo&7s&P zS}lq-Im>+?#$xolGPan0*T)v|ID~|{1HKm89j)F7_%@YOXHOk_x%r_HTU=mmW;L|= zU4y#Ya&x&6dy!V3hGWefCrtaHc;P6W6k{}N>lVKeTSDtUsk3#gDZe~=A9uh3A4ObD zUH7{3=%2VQ0=~ro-+L|Nsl!wAfRe{^2lZ$F%>LMWYP$ZIX1-;GGqyJ0MUM}Tv|FyD z+&dfz{d`xa`8$Nv+!TJgOplP46pQhW`8iD^3z_ePb}psCVY{ntG7ZW@JC|93t2xkc z*12>A9%}ew4fTuBU`_O@1%YU=DLQ;D&3ubq<)(l?I(+op-8HncD$m^AO|*8^JxITE zcXJiE>b!guENi0YvF$DV<&IFab0|83rflWVv_dC09^Z=APINls0WEc~SDsVDgXK>P zd}~yI20_FTP+OdO%cuFiHAQs|HFRd9*@;DE*=AXHn(s#w!HUXq&9akgV;LbDl-2I; zI_Fo*$}0F?0!;#KiLxSAaWze58$nYiND0k#G-)=br6y;>eAd(b8|fhpq~~O%$F1~u zYIo;U^&nA2W%*`VucETUl(Mfs)O-F;m!6cTZV%o}# zW(a+QG9z82(W5ky9xAgwwYxi4{g5=8i|EW@OI(-vru^8a)Cnh52vvhsRa|LinOEhk zUr||sSyo(BcCuMEfO6?>iBJ<*R_5i~Hk8rU9BLKZ)VNjF5VN)4OPfclK}xo#c9+97 z?*po^V00m0eT97O0~>OmjF?Nq4Fl?FE`%;A7tN-%8WmS%UdW^-)^G#Ohr6{cbl%SD zcR~%FrqKLhn!!j@d1iY<(TT<7<}#ypYsP#YxQC-TG-H-#%Kl#uedIkfchB54Q}<52 zunk#6$JD+H{cDJLNPNU~6rY8o0Xb)~vp}Bkb{)Owdk5%8ch;P}u=JA(A z4c9ZDob0-78F?cO&v_P-lyL3FrgC$8dBcNzFQeSt7oPh`JH-gk{nT20#;fx4KA7Pw z@BKk}?~Se9%X_~Wo~v+p?h-$>Q=;KJHu7viI#y{4Fpu4706)x{&+Fxxy~WGwJZ#D? zV!lWt0oCkiF7j(e^bT(2<>sF9-rM7Q-@|fddEsxpFV}+ zd=YwhzL~?<08jIC5waXi7#6G^uF#WU3=5M zqqOg+ec$(d!PDT#CLy3G=qS1>yQth*G(4Bekaw*1sFF&fuKGc4S;dj)aGIrm6-}e< z?kT6abIz7uS>>fSa6V{CORkcn>&ljP`=C}B{ zc{fb)JQAv1-xO)MdlFSan8t%U-=kKseq42LQt_eI?MDyJ@Ua^eZs*_tcaQz?K^BP4x2AW%-88`5iwu;;8x%~20UhXO@TfxiT zwzi{qG5+|+&AdGE=9|~>GU}m+_VW__^Pe~Ia{4cR@d7VHfBV~=ynHre#(lgz(A0DV zFV#;zxrmo_`}d#B%LVt`^Cw;+XP$X2FH`#W{~<58Ty&Aa%U3&hX7W<|^2>vHnb@!2 zmAnjj_~9>kd42u*e!T4d{BtKSpIm?aJ-j@&X3b1q#`=6idHG(C9vAWA%+Ai`<)_P* zUCK-8>8Drn^2^1Guja*DP|%B)bML$F*SvJ?)XBxm*+2jJ-+0N($?3w2=a^&q^Kw#6 z%>%rA{K+R5@bXG)>zTX^`tElp@p9{5{_+Yho2sjS#mg~Wx}3zzcWP@N zXG^_Tz^MrptZqcvJU?04+|y(8Y=D5`2o5+fI(8A|f;i!T-|x5gId=k_9^d!-|G)1! zu+H6QpFOO#_S$Q$z0cm~O#hDX!-Ef26Gksye1foK*svpnS$Ez!nDBE^Q3Bzq@4sJ1 z7}mAx6NJ)TyZR9xx#gA_g!XA^ZxTKoKKwA@*TTZd1ay3HWF0urjbJt!;|aS?p1g)I z_uFq*5`G#z`T$|mqmM2lWUO9&4`I@>W!ngeefkU{yf$!P8R4zi*iD3`4?N%?EL^{S zAmR6dg2xECPUlU8pNSE8vT)&Rgy*B8))Ol0 z>kWheKfjiQhLn`~gvD`jHH0~R`$iJ3|KNk)2!lTVd>7%Pd+)6yJpA#;4TO1Sb0(q1 zOD{c7_{S@+{EHC!{`-FrY!MOBgxbT00|?{(_@kUK`=_6>2>;%`eI}uQXy`bC(O?KC z>^XhKmKdNZx28GH=*YhSKLh4o0RlA zAu~RHG2x2&^WP%;bLh}Q!p9{gDTK&tuboJ^@1~ocCfvDb(N}~v&pnq)c;TLVRuNWI zS9c{m_RB9D30*pL=u7yltZXjfk4GNaNw};{o2v=`DlVQyD6XiulQ6z#&-)34dw#{@O{%89VkPB=JsZaQJ}-+%Wcq_13gH(~niw~r!hpEm7hf<7bT1;V$RH;*U0 zH)O~LLd+LmR1mgKo%#de>-+CNPN+L{D3Gvz-@fY!t0qkNH{sCZkH1J5@Xa@s1Vd0z zM}qaY-!>C!=FEAHF!1{8t%Qeq^hhK`bm|mF82Ra^wS=S}epo?xGcWI6!fJ=(I>Lvg zrB4zZ$;s~#`dxEPDB+DkgGvbrfBsoQXq%q?3_*GR`GtfEn{5%{$$tI%6K4GQV-8`> z#ED-L7DY#ICA9SSZ$UVE<+@XCucu#@G)y{xPH>j4O_mN zwQ52BQ^!XQsQK5XkN*AMlEloPPrZ7>ZT~pBruQd%YG-UUT^g|By5$|;Xz@yT(6!MN<6yp(WSewCK5e zs(70On=_i@5hPJ{zuv++&c2tXR@yT=Z<4iz7U3nJ}Di<>gD36YjY2kv9l;e)ZUD!Zq(l)e^ow{=ip+LA(54B^bkx zk0AVO*0dvp=hn=6nQ+)I_Ikq5JzGu^a&KC_g>b{Ik@E;Yj{W#0LfN+u#t^Rm?W#$H zsD16;B0SuXxr4C$mYIHp`LQ*Z5Hjw0^JBte8|(83{x6OBn{eqX@4Zg=Yue*ggx80S z+D_QCEVVn~f#lGQgqVscT?sGduZ$$j%(g#DIP~J&IfS<#==T`m#$RWY5|-^4`V*n% zxqn?w$TxmHk?_>IJANRHD<9aAu;)tC0>Yd3_KGKr9i9?J_;&p43c~M?eUnCLn7_Ca zp+4y5*9f-g$qx`-iaK=#;kB}<&k}|`aqMTpS4kVMBP0&;+ez4U%}XN*6Gwb?6XCn6 zE`fwwe$4hKJd^vxJA{q52Yo^a@AB+H!gYUr@*Tm?|IyzF2QFLi5aIdtoo*(4Hur~D z2z7x6YY0Q8?EH{0Vf&%AgqAIqZ6*}<9(xTT=hKGg3B7v^f1mJC-H6467SHeKNmz2E zY9^sg>i#|ibG-9Q!Xq<2Xi4~Uy5U|zztHFF32&6Pyo*rUuf;cn!F&I_hw$=!89x$c z1o0hZ=DDu6#ZHGCc$pLdktaIwtvnhEOqq%lMrZ6e~$3?6{8~v zb5~Xu6Fz*h^#Hv9!+l1auj3w3_!!Dxv4i2cij`Lu_9YraqWBgm9|e=@SHH zVZ{A}yS~}nnQ&Y8J~t9tE8E5sCO`CPDB<1F_Z1StZtHOeA-MIVZwarC{97UXQ2oXR z!d36S{7=HX%-o@bgc9RNga>C2nnLJw$(5H8cE0*sYeMGYoAwa;UR!ZD;gYK^znajl zRoga%gXt^&Md<$1=f4sE49&ySvUJtiCRFMDS-T1dH-CTGRKgdw zU*9H#ycT_&Frae$wS>=4zK}y$T=S1B3HLwMZ7bp0UW=TBXJdw}AZ&{$%p$z7>Z1n2 zTbtV4M)>sb{Pl!S9xv-c*#7g2HxT~uufLWMy4~^qZbICgSK1OD9kb?L!hKKQGnQ~9 zqkT4E(biuagdTm4K0;Wq{NINOA3Qv78DUDnt4|WFo4bEOSbzN`-xF4T{q~&%L&v8+ zBRJk0H=R&?=kHGt*4{9u6=C|Qj)w^Q-}zZjNFDml=Y+klPoF^e^7P)P388Hn2m`IRtt0IFpw%Wq*QHMu5lltc`0&xcucKw-9CxF3KR>?OZyTu;$Cb z_Yro#5l~L}XW@^#2(gbocNHP4+cm!s?wN3J3gP`n_5~31FWmYt;rO%3NrV$^EIkO{ zPrCX+!Yjoah7l?a_xB=9D;m(A@XnTm7YMh182mV4)UggP5~|wwwG-BTabq>%=Y;%Q z2|GINIY4-Pz_)z~?`a;oNoKNh0y17{R~1- z@b_hetv~F3k1+oJtVM(;R;MKpHuwC=Mu?vJP%@$5my!Jm!&*JMIsCRyBK|Ue{LlGy zTTVQ=tIvXWZ#n&J?-%cm%qgo}ecuzW_53vZy1S}lUvJa@`0^n^JwBY+Wn0*Hvqpau zGcCRF`ov>L#y>Opt;;qod1%eU6MlMSsx3P1)PY~OKXU0kBR|V{KW)+0uXHc`v9a~h z-4C?*<@>0X1>HKowCW#^w+n4{;@k=4zUcKRI=~QgX`DT{IECajjxlh{rg|H zF5FpvyQ9<0^63L=ubgpp*Ic{x=dta+?6~ZzllS)Lb@Hq)oM{-Ddjc&j3zx?^H{9KIwg^kX}iPl7;Tz}rp zDEGDuunZn<96Q(8H^F90w3@B>=w4FN)E?HvN&WE9$@6)NCWlS^`g3ti6Nf(^tu=A@ zi&2#K4LQDYm$OR^^1-(s%CAwc6F3ON!Da4@H{w}2k3#i+6vB+xJ_ol$O`o8~S8(AB z4!au9u)o(1Y{tm-|J;)lA0V&4l|Qz`%w-X(OlJwm;E-FDvJZ#AfWfJm4HCT7sl0&5HkV^%Du)<|Da zgY!g-V$H{!rY>y{Dkm!CE9(%^b)u437=T;FSre5AT>@l|tO`*T^|9-eZTb0<&Oyz3NEP6To$-i_B})TZ*lxlLKv4a+NdbL?WC`!D5v79z4Om&BNHEy&HP!vc;%AI5H18H?2&0zFZ9 zOx7+R{w_zdnAEy(u+*WkIwo~jILZb;tlh6eZ$>zqY#FTISotOz59=ocZi1MBH7afq zy43<9;Cn3sSxhp};JTU1kSoPlqbmujQd`U?3F(ui#5Ivbw$mNTfnX*R?Scv+Q)mtZ z(5T+Bgt*3Sf*7`m;@rtRXqP72ge{IX3DVjmUPZ?#7|`Fwyss|C!Z^lL>_n?%*Li%e z*zqom{lrKJ^jN50ynrr{LKmBHb$b|FM`x%7TpvRt_~Ul;!u**n>y#9~s`hN@V8O&~ zh`2H)wI+OiLnhi__O#@ymQhPMLebBoPp?zb-r|)%imIwwgc=3}Ir4A|<<-5PFltJC|f4DU`3a+Hi!ZcI8{}!2$X&SN=eyeZkn#a?46bXZa=jF!|I zqoZe&`Pri#KePNx>akQ?Nogrsp@+5yQrxHRbPPM*)cxpZS4F2*8WL?()8Wxw8yt_a zYOK^v?p@_Kk^LDO!;TH{CO^MTQpA})K+QPqMcuGo7S!T z0|Vv-wozKP4$!v>YT*~$uC2e~bLeb0J@}U6yX>Gj*A81$@!Klh;3rK_h3jMIuQ|2! ziWg4erdya++}5LQ)|#Vt>cVEU$$RzjoojD- z>yHtYKR=@Dx}&xExvD7xuUqid%5fiN>sI_}y?ok+f;pf2isZsYZ(~Os&$*7w(XQ)&oJ+4@me~j(ZalkajRcoK#P`bf?Bm!f_b-X zJI^>RUW@Zg%Q*b|BYPmSw_$c&i`Gg&t9JfDZT$j+^)1`zTKTmJXxmZ=(zo^xZqY7K z*S2+FfWBQDuu}i7Ts>&vOv%zx_1!9j1`WE<^s=;D7W>KgOG>7dEW%0ew~ z9@XvtBktZm59lj`A6okD!)NZ_b{xz#Q`EPzEZs^;w?<^edc%o!zi#JRkJ=@`X zPDtkr$C?dg@)ke^PDzJ5XPR}T!-_3Cir*n4M1tvj{7^6L+NN!N|JuT8+{IOWQy zAt9YD125H0Xc50Rb=Nbm)xLZv@$%W1=!%|sXSjc-h54~>4~@HK^D14;mi_k2@64R= z$%*g&+3k@;-ACW4$Zz^TLiE-`RJgv+UBg9Zg+z{eO7lmGRdW z1Z+CE^vFFo#Oo%FTKnl+uVp><<%pjBf=}1!3O3#F#w!Q!S$gD$@d5GuuhnIJd3x=q zBZ7PO8}-&>b(3Dxnd_e(zVF%g-TS?^>DOsruFzc_`KogNmP_7yF?Z{z`GZ#7KVe)l zrcB}{Bu<-|oREyqzVqdX9@8kd3?Du`s#iDTV0`?JP2TfwaIAPyTjGSt6A~~lBg=B7Nlr|do&>R**62>6b>{T(jbf)IOrJE>RlTbiQ=gt=lBP{a zNNkj0s&)1lucF3Trza&R=~O%>B)jOsOG!OqHOkzv+O(6*sZIXKE6*vMGtJ5H>(06! z;}en-bUnr|D$|^__iM^P07Q`WuR0=JyasaVOI!pPF2x)x!L} z5rE;|1?T5n4D0tj&b9vL=28mU$rAhe6zp3UuQAeTbZGTgs2SKzI3+<^d1!M{&CR7O zR_8{!8`JafxzvqKI={ITQ!hxrk;l2eZ$+C|BOYdfjC|h;eDf(c!&k#-5_?(92KwAj z&@XcyLl6TdoHz!?I3p6CH{8Dn-3nfB<*9;~80tjmw(ydZ6&xr<=*oHenHtQL}h$m?y$HdhD3>}J*z8JZkhjHUDZ|p*#PS27ndD_lg7&;{t z>RBG^P1?eAt8fEIE5+*(D5jrUh*Y&ACoxVsDuVf>?KrNjPZ(JgMk7g^{1_6baFnJb352B5kE5(TkB_}vlyhRYDI1l2+LEflDpq6tlAQ2~0ZWUMr zxUpcm9Aa?-xmO?{Sb_#isu4NM1rj1Ck+7UzRW)i6b3`C3BtdaT8*z#YN1UtW73TwH zM8?OlS=E+ToRi}bXR|TRx8+h64HxS!DSt? zVf?J-DBi`;CZ5*t#$KLESaJnVrMLk!kd5i8ICJMb$;3rGt>r0?IXDb=o?=Lpm&=d? zr(z+!N06@gZ(i=lsp>GZZRBYUPr1z7fRMndxPWonSb&ppb-dh%Q!%q)T#n0H+;#rV zP$6&Zn!`V#%0Iw2}<#Iz};TG33s^#lj>Q`ApCWD(rkj-z~E`pSD+g=f*NZTq!@DPKCL~t$h?j>zR>?Cdg zg(%cAgh6NtTc!x@TxG>QL3`qH5&AoG{G^q{D3(gt9=m~C`BFZf!-;E2(os*b2!>K6aGgf#x*3*?SBZJ_h0|xzy8NX^*`ucz={aZ z0vdoGrm)sRO|N0ErRWQbL-!3D2&Z*CQ5D0I<5WUTM|*^>hEpyz4XrV93C9C*)FbEY zcnICZ9KMbR)iWL>qCC1F@QhLDIXE80q~H`23x7a39@QuSwh!eUWQYz_F`bbrVe9rRuXqs#{(1!$B;UU22nZz`^jhF1c(t0odDso z3AaNiOuCO$qQZ94gu@5J!zbhu>hA;4`Fheay%Bw zq}%ohb1wW3Y2$^bA$?6L;5qv#cy`YEPNOg|DTDm_-?d=?GcR5FJozUF$zoln;gdwOOt8k9!O;```RDq~f z4A6zLK2f7Ati{6}5w57*%bq+5Vj$6^za&u6{3X&P{UtaeZhwhsYTf>l zdkE_@kX}w?C}eJb339IbOBA$518Mp|8->4w#-Zn=`rIH0vQM8$PATvPQ^0WoVM0bJ z^3rSb8AuC%sUEpq18KLvBuDd&{Uuh!&PG3pJ&}Hsr@tiI6aG*AmEs|OpJ=?y1*lm4 zc^V{wn8ZgI4?S@nXP&6cI)GssrrV(ODINSQZi=-8CoLUJ+}r zx7as0%wm;>vu_w0BplE;tPY&%6_Z*WR0l(WOEg<#n1Mfd8wr2#F;4#Ar6&9t&u@oS zFf=tR9wjoA9A+bBGmVZNhtTOk`%@w(N<*0_4Pvx{L6iuwa5@-9u?%lx7-ciOieXg1 za2>;_g5gaJvl4{&Ae{0P-cY(EY#t~_^(j%rHf0*COnI2NrVKXoJTs2x5%D}vunoq` z>5zexDyasr9Uol_QqpQLi^}5pO4JI_6O-EDr!4rDv7ijND``)v7r-8O1C#|D9gBR7XPRh<1>a65THr4m_sPx`??)Bl* zv#f)%+GHJ-U!s}aYw;vKn`_TV4_^1hGT9e=%B&jWy_P}6cVQFd;YB=Z-*S~v6^b|B zg+*t~G{$6H?f_oYZqAuT)-zK_Z}2F(d`hqAi~uMBOxaNXDJf>W0?%xW?vp#aIyz$l zUS#wnzb}Xejl~PK9^ebH;`x5a$Vq%xjHP%k3iJvOO z3(6L}j$VXUgf`Yv+a2%7MH^VlloA2#tpQ=MIfwCDK3+UUzFD8BK$!FTa-tU$1%y?# zaLJQQMAMIzOctd<7$}aF8l;t?C(|HJ6^B6$(q7RxH^68i*HH!^qc}GtQEvkWeoxcD zdr#ERKf0)cebDzh)=XRM+Z}0tQ#V0NEm*E950@TA8w#zAA8KX%P%GmHx`sc{m;8aM z)bu0J6;7e#nlqCM;wc?tw@F>W;64T)7UH;(!D&L;4>34`%y6z{a3-1I+{@tLc;Gt$ z`0~P~TEUctCv3{XCt+hM>wvr3->7Jj5GodY#F{lB@KVpNC56CPGFGA&1(o}w8m}4* zf$PJn_I+Eury3A}{4^-y`D(msOavt(gicPJ!a7vLBFLHFQ? z-&~#ZZ^qj0!(3SQ({LRu0aXX22`7y2YGcH#6tr^(wc1ZnA%Q zn*5jyIAZMY2GQSLFKDZ4#tFFd2s9HX?9shqQuo&2E7$YDJb3dnjg)LUJJ#!4;29+X z6OY8qujXxK!QJSwRr*CpVykZNO2}e*LzQe2&j|QHOsK0y=~UV9 zN{!I~QX88nRTCGAl6MW5aYY_@HH~XPQ>&uHDNGNnFu8&}=4SG!BF4#fk31NxB2Qd1 zc~tS+;GL&hsk+rz_6!VK#;bix_twmyVcA zNGkBWTDG_+iyAe6CPJy1cwcMG{5+zsq)oMoKnLAyYUY{cpS&+<8ELpFj1 zjWATj3K@+`+CXN!00Bd8D59^?P1rW)D{9DXR?^z3xzAVVkULIEi>Gggy3beqkUL&U z`$&~4FF_P6gF%5nc!?h+Z$`z%mOLqQ(5W`4BS?HDm5z@;1p11JPdxG2t#t?Dv!ncC z;3NA0aEKQ;#8>`BuDaH;3jVTwVGxTw>rc4g`dQ})GwMX&1Kn|zgIK5ZXFz2>>obd* zJ?pD2J0E&k$Fy+NfxeD9%$0w$y%(|6OqL(cP`+pRFQ2u1mie#|WkQ#r%<#%r*|oja z7K@(5@{OV<&+<)8md`Sy3@8&F6=fQ$`g6yH7ynPQJOf1YDWhtxz1&@lKZOoN8AyaO z45_=6!x5T^Vzu!aTbpX*=qTSbL>Vv6g*k*{`INh8 z;Yb6!nMieU+~-J)@|*IX{}cN@8gEL42KN}`<2C-U^GBC+DUkAdCYNGQ!8!+@xBZ{doWIdzeXQf*^RoXT zXDy#)PP<_H|Ly;#{a5{4m+lIqr!7XS(x53;jM7xq#o++#C;XwqXY&W(R0x5=mjZsm z;7j?bwRA1~o*RfcHBZ+9t3{-1ajHqzLe5}ML#m76TByFG+iP-#{FOF=E&bZHZq-8H z7B7C*DcCgAu1$a*TWECLJH!1q*!t6g`*^tbW`xht%jfXfx}8{Hm7#7ca9wlV^t0-fR=3{g@bftWe2yTW1MK&2*BTU}0Z9KipQHbj zV;$@ z08b-;UCLJnni0pt++F@^XR{Vif7v|jN@n$1`#E-t4Dpd04~jj5nwV>QP;OA;eKpHG zpL&r@9BOgerH*@WSmuT1HzBWYnJoNV>!(`st(*D93zYC<5f|>0Z(Y2m%=jK!{coum zNMmb&FaMg`!_!gaf4NV=zV%}V&-5uCUrj#S`%p}`^$eG3&V3J0&|PjM%pxfF@F<4M z<@-7mgP&p$j*?LsS%9S=C55L~Dh5u<7-rVsx)jT9_>|I_uY_ENpACHIsB1odnNR-m zX7cMX2cj5a45(EZxm7V(Fp(6iH%1@b8l9SH5Qy-!O)&)P5rbiKM2Wx;X(RPDGqJ!3 zxQZk=mGV~UR^m2~WGaTUmS4uqWuE1iv5+#4^3^1WE$6NBGn7BFqInXKwPZ(QIv9;y zBnC_1Jcud5dUcH=hAKdoFFj4x=f=0pvp$tB6jkO?pJ!s+QYmDpnfgXLJV}HQcsCSs z3dBn)n<146Pz3443L;;6OR(U_i)dat@D>9x2ip|=&EexiSeYk2o~%FxWghr6%7*)% zOyOnI_@GyCA!P+ploV=G%nQDBf~zQNc!5TB9#aeflx9QK)jo5yP4lCqmO1Os#84&> z<)dt}_D4pz`i0sejFUwnr1lkth;k_~j3{LhrFhjxQ~d{sYxI?Q(pTn5U)kB{Yl^>R zM5@e_zD5ni1VpaPgT6Bqg_MmNjd3iZycznSe?TI5AsfrH1;I!xG{9_hCi0^_5rTG9 z+pvS%r{~=>Fdd5|O1K<3q9p&^+ES#=6lc`Oc76Zct3b*#v@r`U6-Ae>Y`VRh=LZ?@ z<_FsU4E#7#BLRgn!H+Ueew?B0iFBDjy3B(g=U4^!aR!-S(dD9Oyah~?|LD}6HFyq* z-TQJ44fIcpeKo#+9Hf0ds?ehnEA!7;u_o#L0@+!B}UTaY~8f3cmsI zJP*anoxfO;Y!FX z7CPIkgghOGKuTPs5^|3yd_X*cLr}v{EZVC&M_WAhRqIT8P1eOqL|qd_=`5IKisC#A zik_d%@|3i@;A_I{WATtN(WV%HUD_MGVVJ}PMP_Be=i&-DrtvKZiea`H@$t%n0&$gs zr=xojlH7<=M&>(a!&3(`#DtWRNG~)hSHZn=>3=#4SPtstrnKVvP}NOANtJISgRmEl zck$Uowd~4NE!N#%9e3hAHXe0XjzJoaHF=H`-uH=H<(;COc_2ckj6Cf)hE-A?MQG?( zc0e*manm=+;>tRRk9@M|niFzK6JNZ5cD*2Jn(U?zc>Pbx(^~AqvnU3CO{Ny1K4^vw zsFSUUV6iG&2<|3l@Oyxbi{B$;0)9^mS>v;eOd)U#;pwLkUzgOa06$czQx-^hqvZX; zHgHMaI&nqGJ0wDy7 zPw57`<+Hp{t*!DfP+a5~eYjEmmBmC}`mc^QSR>R7ewE*gbdl&AF8Og3H=kZ(f7R3O z^pxL@Qp7>>hO@DNtyT38&;C&?``5W-)|y)x2_x#vr;b&%D&}piT)u5>`vS)HnC!o6 zJbp1Su>8gepxBHnnBofDC=x~)id=UzrfYT;=6VhOvGxKqX&?p=xEf@zpnO;^gzrW( zYUa4Hxs~SBbNFCUHq}O-#=Z#6Z1TNUk;=$yRt(W>$$If+;#r27&w>I$1qrt(A;1kg zdMUyP93g3GKwPsLz$IK#KpH>qDruaDU!_YCj0sGNAPGY0Ej@A&=9Zq)LQB@pfM3WI zl8kwAU<@QhC?mNCsTloD8M&b{7z2Ag0~nz` zpN~%6T@#%#`50T0c3B^lZVpEJg2?ny_)X~$X5pelvF{5zXRx_XNx=#)afY5lI3AyE z6#-jJhFKqz5$A{Z0IrHOZN+Er@%q1OxB4UAA1NN!Sa;2meNy+GHpXreoXWsq(quPrkRQ~>Zg{O zVE#@_8wD`YlN3B4Ef(Qf@sVP15=&o;;Q2(S?rUkmcbRo&UGg>28TNT#D&qVqKM;z~ zi~pj}hKm+nExIauX=}H>v7~0U?2n!oQXr%y(w+&DM8hi)wUJ@L7Vw3aI}j~mI`OI! z(SB;eS`pn1F<=zNL?|sbq(Z$}Aa3@>O)xB?1bmgH#PX^F(Jj=34w3L7$UpDY@N`Vz zRpXe8_2_g?0)^{j;CZBx=P}_tPcrjtje}&zi@NDDIOh!?7Lmy5>^e-5g5gW4f=+-PpKxOv;;UY<`r}lihPV0%-f2LP&v4);K{-4osb>7xHQg+ z?83D!f!A)yRI|&0k}Ep~j%w}QkX^KHleI%low@eD$S&Hyh9z>?7E$7^z2a=O$0B^jPUY-)yND>Kw2d(Fv@@!mO?9(P`)$5*xWT7yQ?$B6D$z~Cg& z-?lO+913RzgR@1Cb1;|^hxWic3{J<+9Ze|vq4DaF4K_ETl$&fQs;+osxoCP>p zJMm$4MCopE=KeFRcPD;UtOO8oT$3G9${jY)wc-4EQfP#T(k!UoNNiRz#BgbMMCmH} zeXunfg;$0^iSSGj*dtsy1geEAjlfaqTv?9^Us|})ng^Y_4;!rx!Oey4z(%V~C~b_E z=5fRX9gl5Pe4eMIZGc!ndlMll3;N*bss=ZcsLlYTd~z(@fhY*0*r=Z(-oggDSmnZ=Zos-ztQzN{`DZhVfQx^fSqe8y7(eUf?_mRU^1Y2pqKU?v5>l#*Jy4Mknf z8c1-dh_7VnMx3nSs1>g9W%z+_Adw~75?P`>J-q5M53ks*e_1J}%Dn4m)mXf)RV`{{ z{c1HJ*)Oq^Kt`)ExvfA3m%GIXd1Pjk3A-w>DH==#FuWVUm+c$@oL0JG?E>9Vr7PA# z$ks&2$j}DHg)>ylkeQ*~48<{YfFaTTM;Nj(?liX|JhTv+2SkmXw z(TbG*7Gmh%MH}!HbdNzgqVR2cv+C9r%88Un_@8iS@z!uovk;XfnRLkn(*73uj){m*W+BNs((Q91eSr*v5DS_*!&x9%x^%gL#&`v4_ zxU6BEm@r;C^9LYm)$ybXhbUUek8Dp|i`Qw?L@9>$%qR$!+KoguL@8b1a)TvM(V4O! zT#+L}Cb>z#t&Vd*)(1|Fe=%5p0u)|g?C29B(W08nb z_{l7xo}RE0a{pqe;HA)lnJ|I{uzwY>2Q{KorLMz7qUcnST?;S;1-}@BYlxe(0JabN zDym^dc!@`g$KeTmfbPf33MFl~8g$@}Sy^zYny^Mmdk{hNB9DnU_LmK=ZU;k#9*2Gu z$9UR(bUmDe8g`W6L+e!QAi%nX+MFsJ27|VQhT{=b z^1=`ri8eGfj)gbvIgVvA)&!5?GLH5uPk}5ie+lK$$e~OQxiNDwve+>P+m^JPn;66K zFU%ZDFjoGK5X-w)4C3#e=eU_Ys!p1n(eU-A-Ze!SxmAX%ZAWf{=aLIZD%ma0hhrfU!u+Gxh)kn1DVpC zeJ=C1&t=~BxvY8nT-JT)b`&{O0pUbH5%Y?h)VV~7Us~2LQ z&+zcg(>|Z!p&n;qo3zg;+RHxUK_gu~)jsn{b3_^Kvt){9pZOfwZJz~4-1Zs#@UqWt zcDU>_cmW=&ZX^o#vd;n~5Bn@oa+^~PCvW>)=4GD+elGhgTTF94QJuGa*6_m(i54t9 z?Q@y8eU@ms?6ZcIYMK0Az9R8M`c85>xTCd@Krfd(3nuA-EQ{C0&j z(73XdwWobi(i(^uEj&(A7DTTruN+AfJ@?F=$(}cUR7C7pF6}vgOJKDOl^pqMny4vz z9#rgO&zZH<)2RPMo(lWuVSiy7z3urTk8*@PXE|lS31d*#!&+g~r?`B0kMf9ollDBK zq_I6m$@F=}Y=D>+kj{~hQP(e${C*Mm!=`Iyn*-;KjohOq*-1_+KMla{0C)g!1zJ8g z1ctr|SAdex*yU=nOim5_Z#x27`$sR_prqZ32NjWW@Qo))Q48~xv?bsW`Zk~Jqq7(i zC&Je;;GF?@DgwFuiiBp~_ z#XLHy6V3vrq)p zHDewtZ3?Lw(M*=5v;lZH7NO~OggE#s6EkmRSr+A0ynkv}Aks&a<;Unx2%Cs-0TXeU z>}6SSDdx%DYile8irPV4d+#Oj8V>*pF3;9|m*u*v76Y$qO^c(K%x=O@wxExV_gc0NT&J62gMiIj~@`&;* z#w3ZC>^xzH1&SyaFZ?UuQ`kXq=m}!Y2`C%4rZ0@a~V zrwaI;F1aEG7{x&cVj{_Tx)L91;tcly&T!{D#%?{0g)#=gW#7 z-XSOWyX=xNoWrKWf_B|6WB8RDu3tmUVL$^{%k10aZg5UQpKpT$Ycp^yLKBNABGy!S z9V_B|1!~#egaP!n%;kl2P9Sg_EB66s&-Ow7U5>y)H;Vi^o{A#62r9*UGT=jgM_TcA z2&CWd_{<}{c+F{3LZw*wc2M-*S;nf_F8hl7haHnPxa*ViGiV>rhdYh?fMUh_Gx-V~ zObK=MkS`+0YIqYMI7CU5;ur;g0}l$6nH}MB;r50qlh5-Wr7LHxog1Q8WC;hveiS}P zbVlzm`XpE`(IHIr)YK;$(W(1`9NY+(wKrg4=FEGeGoI`T@5oOvC`w465+e3L(0h?_ zP=k1xC{Fp@7a`(9;7o=LtcmWkWp*(VsVTTi0*`T>aF}v}#NzcdR6=iIe^B&_Ovvl$ z=!K`1v~dB5qYw8W0+!#fw*<9gDbw!A>-fnkU35l&!~6zrk5ST=qA$viZYpW7A!dHV zJfu(-c0|@?Z~@_fV37t2NPC9yA;9I1@|AkWEx0d&evYfPV1VNiEg0ko)Pe@bN$4Dr z*666!f@a5FEjZ6ntOc)f6llTQ9JvT8Av(J)&XigC5-+sfj`;SY1I1f@gI9)%`!nSZd9EY@E zfa41-8009^f(FN{TF~fNsRhlBr?lWa$9D({mWM|J6TS*lU;=(WC)&k&{UZEIz6)Ll z$ooZPFxR;0&;uh%(Wxch>3hTUCmkc-8wZx-ZN*!mWHI%mB-Jww0{EN-UJWf;gDvrq z-DYI_3uTrD9snl;*g-#;E$focPkATAPYD?YWWW!-qm4=!#8r&{C6~l}J%!j$d{0)S z4RCBl`9ekm90%0ksvt+U78~T)qQx2 zg_v7CIqhP(3}CsS6Elk`anM0#BT=bZXtxS(OaPt-c~4YJ?c{+! z=x0kQc@@}@m4lxb#83WdWhB1tjOP*R{Vw~M1Ql;rlR+v@1RxA5@<*T=_R}m)W;VLk z(<@!JDtQigRb7<4?L(B12Lu6C-)Z`S3jSQ`&)W(7HYs^KfggVIzf?vR)-Bh*3~}zi zVxN2KRzZO+TLk#yBX}**x*8xz#p`uEt6urWYtixxo7$H)<@Y-I%}x!N&l9e~wI^sF zUyPZaJYg!gop&D+)6IDIuu*aM4IN+^Jlr^TuCZ@|&6a32TWu4jCnZhoVNIOW@0`B9 z*c4Y(yqo;Fn0wIYsWpsJf4OIqd(A6+;zQMVv&vvTA?Lw8qD;TkC*GpQ8__p;JTHHA z_u^Ni_lZwX?&8C0`G2eN^SFT;$5#2HgGh_= z)el$((ahtRuEuBH zD6h?G`Sa9xZEx-*d0Y1}e#wVMd>bQn$7j}eb=>mA6xt-KJG35YDALH$05DY)_G-8uO^HetC6L~j2k!Yw%%HtYl}a32al1r z)LMORHT7bEp>a_|h7XS&GbN!{&v6O1F>z`Yp05UwNO`^*K*o5zpFq@3;^A5E zjrNe=pvJ3eNllINeCpM1unfx(<{XR7pDc;RvQ*2Qbe zhVP-(zgWFV^+Nrms+qHXN3-G%S)%s6U#)!K`fuqKVe~xCx(DBM+j;N7H)!uk0TO0` zh}?s(uE&o}znYOT%5S^wQWku69fuIR5COM&Cw|OPt+q=C8jBz8;CEFZy{bq&2}!>% zENJ)$&rcG(<$7&lY{p!^Kh|o9wMT|M5R0P+qSBw8hav~-i}3#Fr>;d!>3U20 zr~pfPOpqo0-e7x~C4Gv)zTUJYl%Jxpj^@Oh^=6iHEl-accuq9({CGIW5?t5BZHy7R zx|q~#Gcq;c`#TXje$J+W6MPMLXqghm#j(e61B;go3}TEg-UEx^Va&{@EW$I30gHXs z_-3v4!@b^NmL zhfzyXNkC}1NqlrEN1vOul5^tDy{7f{YXAGf0yw*nW7?XP+XB&CRHZ*oB;YP%EmkN$ zJ!9Q!+N$4|wKkAUs4(GG#YrcE5pKw|Z}E=}3qq2_P1l%mv$9+0xe(4;73wr$P@A~1 zv%WBE6|+_4m{!==`9FjW4nV#@B9Cl``H?v1a??Imb5&MW3;l^uek915Yucw@os~~i zZELGd)vVfqL=9W*<^EjJ2@=wtjcM8*=3N2&FJ4~x3V-T)1tz&^F1%>%`CwSBm5s90x5lqq_Bn34Z z1=f<#71+Q*4s_OdRJGPrZZ867uy-R7Upz&fYrqebJ?##vKlGk#pr)PYqWu# zQc9ipBC2g)wI+LL#tPFq2pnecz>O-|C-J2b{XukpygHWs|86CuLpN_F5V``igGfqY zL$RJ+$+-u;RTV<9qJ6($Eo2^V-=zGB?s>>hvQ{*$DNjgU5Q)eX)S;ZJJ(9Qhm{f7K zzK(LIUkxz}rns^19Wxc7lj>Quvl7B%AfpNdOVEv!sU`LmAQ(g8YW-mozoBZ~kIo5v z8+PlVA)Hm{T^)dEHPsIu((8{yG|-Y^VNg^0edt4&mH`Wa9i9n5p$HvA94iElrWI66 zN>!D<5M8Ddvf6f61G#lVm6)obee`6!^B}M`3Pm|}kG&kIqw=Hr8WU%*t)q=n(=;5A zlpF#j*vqDMbI5ugsQ{Pv>Q8|#A!-H?qR$2X>@Y|COl5YlE_zdE%Kt%AIrS_!ct}vu zjhG#%h5#1{4S>RB-!|oe0DU1*JOK*AA*$%@)%NuufRV@abtZmG%DRh+RB0%aXFeoQwYPo$2a7P{0DNCwyXnb3X= zK^Ca9O-|Jat`VK56RNd2szIl{4CIPl1XBjl11&{pIiu+AIE(In-}UHJo<={Eb`Na_ z9Z_jt0dWLX8%3L<0O$cy-LMV%2JxFku%!LN;tWt39o_2?ktr(!Mn1B(n%=g?8EmJt_NU zg@30oYE4O`YL?LeyWk_jxIo_u<4kdbN`bUh375vXTeP?^*ix>oyV>YO9G;fi_CWWL zpAY~cGmrpkVYTnFwLw|cZV=AarXqs;R8gU#RYm&-tL@9CrS=gHoZ36le9|OTqBRX{ zO;CvXr|xHKQZtiO;kNC9rcoM7U>l%#4v3cR;L)4JV6I^k=C`U zPRfdEOerT|7V_Hmz>=CYOWKV#)k_r=NgH$mVu0mnT89!=XX;*QPK8~dJr(Lr+S6)? zJ>pM7?0ahl73$z`&7wlBfFpvS2%rjkK$9v2P6&Xzmr0w7raLJ_ps%kv^$!T6&K3>Y zP%dn!@GC%tXx0E?T_be1ueJtqK{S-2F@%W}2n9E57YFw_sHBO993b@^MqwO#p$!Z| z19L z&&5g2G_tRuUfG$#$Vt=-H%ayzx+kpofIzE@%2m|}3S{8wX|8S)ybKpk2S=H1hO)ZD zf~&pBRaA!$7YJ>3;k`{bDMa+JkcbF!*Ueagd|%ZW(H|3H05|o%>#;E(--@vK>n;8> z0xbR*TKnG{Y_a2Vios%^5n!*g*kgk1>n-+sgH2m3_9=$YhDrrr7t>nMrw-9>?k4+B zTC1ss610gna<|TZ(lG8eaW}`sXo&M`gIIhg?E%j=AphA6Y!bEung#qP_qm!eIwLu3 za%_6P*z{RJvFXzdvFQ^#MyF3VMyEg0B|2kbxcki>?mYla&A;THob5FQlVf?@YHW52 z<~XLb&M*a&lQq|xWX`e7wYJa6dfe*A(?A2y!;CyX7@o6pt}c(AKWFC*-MXBeQ*=c+ zI}>ze$l0(nCu>H-zMQNn4F_}U(dltQ55yTABgZlalP)~ZUR-s#*GgqKeahFxe#F09 zSdJyc>CCZQ;oOtc|B8~mBKJ~LQO>RzN=1;EddcnDu-dd*S(4cz_g9S6^@l^tbGKn! z2Sc6P2X9IEIx`R*Sxmg-WR1d&t;&)EEpq3k#B$<=rT#6j$qdcQ{gtySu-?ko2LerH zx!+<=B6nNEZaL{<%2k$ZXn``SDsr;=Bo=no*V0z&3v;qea6v`k%GVnLp#;RdiyPqr z-rHf?r!2`A(=D{y%GddUrs|wsQ^u;DtK7!pbUDK0r2x8|27VUnuC#%h{En9E5s-HZi(Ty&ZI|m9&Gd(f|%> zbMu`C$pp}qBN(C1rQ~GAIBQfMuz|!}3aBZ<#DRXR#sMh>22&9TYY5KGZ#W{SQ6v{o zMpcbU7-WHL(5OM-9^%lAwbe>)cnX4%E}JF;IlD$FCxYaR2?$vyi3cHN0c`%03oM?bF&&w%efNC0c5N?rV;{KAO|!; zP$HQj>`M<9r)Qhp)y5@X=8lhd$J-Dr6#}nyLRFCZ63=?cLQa0)X*s4wU&d!U%L3sAXQpIGDP zEm3lY#7#*iN~+3Kdy>!W2zw3(8Ui@pvQq$6DrDg=G48@&qC3U(K&gc(&U z(G5D$0g>I_R80ZVug)1aL&*%vt;E1nOpw^iMVGI1ZloImZ1Qv1wTvnmSyP+^pdidm z0o-|ep44}V8zdVI9Gy!daw{>Q1QA{6sgMYc$|dSh$W;YEy&K&WfqK0Q_1jH(D(2&+ zC|N8r`jsy8{D6pdaBz-=H-B znXfTEp=v8|?n_rs;Ot^|&bS06JBSKhOo~XB<8qHD+l{6bKnyBXvK~qvxQodUfjhLi zDs7w-k?7}c!w8U5B6I{`mB{;<^F+8{ZM znp+i6Dq=FkUY(oI;Tw1k(eyOGCZTn~DNKL}9S$Xf2IZJpb~EqE4-)2XpaPDM)qW=C zKXS&!D7isY&mdb&f{=7vALGy%7_ZA=FAJAVFLkswN*3B%It3L})T&fd1(R%hUTzjg zbKtR@2BE5i5Mb^@sBD!`jDltNb7NWKJ@FyP!|+yiMLG46<5Icm{D(%Tz~^=>G)5(mb=NlTiZj2t8*XZ4RrcOPJV#Ye6{ICXA1Y|Oz2qNoe4_WS>Tcjb{S2l z(-V^-B6Pa9oS>g$+Cyk`H`7!{mI9*oe@!mLq=!%E$FxU|TiIjo!z~YPBT2n4jU@EG zG?LW&>XZkm1ja7C?^4@R@5hEkoW)8~?>_{+-^fa0$^&d%?bgoHUC?wi#5cf=uFE32 z)iW>@^B%GtGz$prB4$2hk7EI{TWQ8mOn$V$gZ~^The2kZn;rjT&(&qQCqHtsXXx^! z+C{F0Y#K|cdx3aB7(`Z#rB%JF`Y52HBazS?TGcag8%9terauG~F6M#?bh(`DDY`;w z4|6OtP@{(*0)t4&fnPco?>#Yq#bT7LDoE7?0w*y6qV^os`T?hIZk(Dhe835_AUW9y zx^2?t;y{g<5s@6Gs6)Jk{kot@k;gqI zMH*Ffv7557Bk5|u|AD6SbqoJbYO3>?JHenm#E40c3zkQuZPPuW`{qFvE-#k3pVlpNrPe~p(**FpFSLQ_A zHs-e8=d!+5Tc7Nn6>*2e{111j=`n*oJ;s2E^1J3>(RF0{+cj8a6Wz4|yS4gYCKFpb zESO=6vGEB;=2blBUsc6DUbky&TdLONdLLn8R5G5kNgxM3t6R4F; zcNF<+M1E$-78%y!aX=~3?!o3Hkx!KBF0crB3?h#bv5F5I_9AgLYB9P}uXLBT8mYsz z)L1&?tU~HKOX`U>i8mmRS>!>QIFTm#62!%8aW)Z$Qz_mdhF4dTIyWAhz|7fVr2rNR z^yBjl6th%h0b=`6)ge-hoSC9PW|xTR$(OZAU7)4LiY1L^m09k}L~52@qowvB+RY)4 zqDiwsOYEWc(#hVTrBb=+RY+~nIBn1 zqFpTVAlidPvNn;LRJ&N@LA9Gj9z~OA7mHj(d$Gu)Xtq_j#!wg97tA6LJn*h(!|ZT& zNwP>hB|}|HwYofscC$!g=1&%p=mIUZ2hkoZlC_D{n_PmavC1u!BEecDIPB_o=&RyQ zUmhj6J71%mns~W*bwT{$OR@1#cRAS+j$LnNW#It4P!e%2HO9$v=)e@}z^7vjb<3go z&Tw4Jy#<+AD#_zAbuB#iQ*dp5CKsjR=%N1hM40hrM&g*R#t#x#SP`n0BQDibQ)~8z zsDL`2WtBFDLZ z4=s9t8ws-r%C*>756vrXA;(_b)4Js0mUREY>B9rCEPE%GW&hC+%ckucW3sA@mZRAu zU0E0eW@D*#7v!VfXfXYg(S^^OZOHFI|x`>M!5xx;7Pg177}Y^S$F%wVc$oYX{%!g{^RJdcjM{)^VTA=`d$yT9Dt07ksaepI)}8YHHk)qaW8VJ2+=Xp6|8q zSjP97!g;1cRq?K$Go|G{udz|jTW`Ct(UDtzeV&EK*mt=CN9&JA z+mpkhqwz_CI6fASkHuT#C&%K_7HfYfY>s?>9-Z;)JRljH(LDeZMW)ZT4Yse3wHI+( z9Itk)Ze>Xiw4{&0zJ;OKw=gm|Dt&+?B%(&4bzOdl?^k^xjP!3iWkq=Etr-TkJ;^I@l;=?h34c~OwLuLY!MPiVz%01U%@C2eZ=|`-h>~*vY6J&`g2gz=^%+fktK9ZPJdI0;KX7i zVU3ZPQVEK(Z;?pkAZn&AO5?;1a3ac76s50>Bm-6>5ooWq*h{1I>tv0%SYt7jvNnrp zldNc+CA7p<(Nf%v#Ee&Pq#aq-wLz*#6VU~yD?nzHXNiPq#6 zaL$7f1xO*<9USjq2M5TD5~3R^n>|v$Lv8kYNM2E-z7mxewvIBbu;^E5Rj%`k)Yr4h zDEnrMY=lUAEvt;OmqbaivzXk?ZUK8CcN#bFL4?h$5_5GOEm&M7kjO#IOrr&>tOPSC z|Hu}puR=TNx3N+5by4=U7Cl6jB;#UJlqO*%h(lK^i}Dbz8r(&bchY3L1gsQAv%!%z zQtz;U^|HYu^~ccfEuz7b@%S74dZ)XS&rpt?wUbviY+)x?X}nzYac+_EZ1LtgIa%%7 z$qQYbys}}_1$1(a*#^&^9_G>0fv|5+Kkn}78!m27N5ig#0^Y)&-o>M*Qzu`fo?g0L zWB$l+wYzt_fbPyESLouq-2HuuQh(O|zN4X>{oN8;>=J>IX4&asP(1W}bDf^7Z`A40 z2(r`fXeha$PVd2!IFFv++uielc%zD%~!e2&n`5UVsh=k4>kw2j*q5=}(45=ZJ#!kEaCO$VH=ud4HzTJ5v^x z;PYx8{(;m^HPRSbBI`j+ff(v-4r7*Q_+>Sa7->5c5Bx6Ql= z{YA4A7iKOcUz(NnCafX3evzbIL!Bm$BJW|{E~d!ScKO(?izMiL3A7Fz&rX>)Sl zoJG2*!tX%`%?x^g+rnIw9?-~sc-xMP&N_+wP;k5REdM#cUZ75igU?2l2g|Cmm(ca9H>v)BVIcBHW*jU8$1NMlDD zJJQ(4bW#@VtT}y}4}jxY)g0KM6deZTXIUEW`!0fuH~zk$vNV?GQ@=>uRq zwO5V{utcifcH%fj|4c4M{`rYTZKO-U9PPNm)8!X%VPhMn1U74Uy9I}m-Yx=0bz53% zegf0B5k;8R0A-?pLE@H>C_U!@kP#&0UI?x#}_4(76>DW=#du;@Q8&8 znI7L|14f0vbpuMzM`*rwz?%w91>8*qh6l_PniabVDex>Bc$$iAuy~q^ylg;C#cjHf z;Lc*zfKh}M18OR=6~joOdUl&Ko~D9j0E%W!#gA3Pq%WH`lrL*7K*8uvSaNfb*A9RT zHr8V0K(=(;%|$kMSlwXJfYCy$2Gp9^ssZIIHy5lOP&E3_de&Tg7Z1n?LK*8Zdmtp# z4z-pusn7$2SKqAOFItPdhQL}2TS%bvtg(pI1W#L$*Ay5%hINz<-Dj7lt;ov@-fhKW zG!Z$B7T|ztTFc<1_%1gv3jD4&5Q2M9VQUVT8B{Qt7A-}&*x+d?vXSL!DSii)GuLNO z5q*a&F zmJilAsd%z^2+GYJf2Iy4<5mu(d=M0+1X}u_WPI&|QliD|W2~&iYX^DpgHpIxKPZi7`GcZR zhHNhQF%=Y6f}-ELjRSXgWktBxKzJF)6}EuF4De?GD7vFU@q52FU}XqZ&x_!14k(H= zJVDWP1H3z+RA{-->6Gq@U5gTN6&|2>_*oL+WzY&BD@4}Rf1`IO)v;I@;e}lPF5=d* z|E4aYP!CGo$@r1YaxS#L+fM>5mGF{ip^%ky9XgAGCsKLxf(b9jZBzgK9^+S&{TsSX z0R6-ms(au0kFTG+j}?pSw0>g5ZY=Bc11fAluud;3zy>3qofMbbL~)^L*z{Hx;aQ(= zrMTn!-L;ldlJlQAO}isHoMKxgPRUy(PU(|!j}~ByMbG@`IND~Bl(>a)A<6i9n1%y9*5gGF2^+h7q_&Nf)YRTmXbP0&QEiwd(7=p*x@eN$Dd ziVDXj;A1X4WMjic;fMrs+=fjUyLQkb%vja$$@yaoR$O3vFh*bx#-FqY<0$RHI7oXi zF2K)$#qbyI_Y8w3pT%&2 zqN?kI!c`PyG5m>lwJTO&O{QqrbJgWH0eBZi-%;o3+Oq8Wgs*p*i@q=sb```!0Zfxao@BaLus)x#|-QQ9%11 z`H`(q!k-O`x~8AlYcl*viB8la;m{R{bP9Q4{ z-bwCa4Y6qdSZw=1{Viam6%lFFtfpfB2Zd`uoF*R4p_SaMhE6)Mm&**z>d%Y6Q4|vy zZ&o0s{3Za~K$FPL3J^3a{8j{^(KHdwN)T7TL`JODP`g3};RO_HR;b4hK^1N705$|h zEuxSFhWy*1J+zct)lmJ3{Uk6Xg22$KC<-)5kPbDfVN{EN#bP0cmQ@a#sJg)rNr^h&W=1%g)t8K> zwL}wII}uQb+(1&Z_Gk{gS#^zfO9`zVi71MsL|q!K3PtY+MVc6lO{`G?fWC*{N>GGG z1uB(|su~1gZwbIy1tKYF5-^&fQDM@~hpZ9UU*c!T%EnF;qV@7a*3pZu6gY8wxXHvXaGC=-ygsfl1pWhTLnu5+tvO9 zqu9ZVWh8ZSVrdY5ITH6+mHYD&Kz+sfOn@|aYV zx7(WX9g_SQQH(2QKhdsM8*Oz(Ih8O@$OI5JQ<0as{M}{>Jt#Z3lCN?U zhE2G_FhPBdp>3)t1g)b`X^a$k*&%KlgfbWA2ZfcEhmxym6a=e-am5S{+GKvcdzY8_ zfT9$gOLLt&mycP1!uU*vy)FKC^)NkahGmR3cMl7@{yj{gjpA8z{GBl=8d?gUOI)wMrry^Ih}u?s}vU&qE6)4Zx+6n#F~m!hS`Q;JwHEK zxn5!p9u#rCM+EOR5J=oTB=m{A&Le_nX#>T$2ZQ9Of7e*Bp!Qf`X?FdG0>1OL)+o>? z{(27rVn{7ujIF2c!PXRllRI4Z?k{syTh$IqxZWLKa8(Yjl$zGk`TBNwQBEyIYsE_E zzoTpM0_C~-zqMxx)*>K6tQ`Jlx|g1{LN8VO@916%Jrs`;F=J-z$(r{1_p!?>+J8ew zQ}CC{_*3fH>)+cht7flvm%DX~^@>#DlurGd1+0M^?kowMMJsyXbhK zl0RfB`7#@F>D`LFDR&Ipl*?YOTyA6T%+C(tHBf%rXgb0ADqk>-oXft?wdU80Tz=^i zx&6`7&m(ZUlJRB^Y=>Gdi{f<=Lu8jlx=iP-bhzt3@v{-3jB_|aSGPJ8hYXZfh6?{k zQ@g0q$kV-7iJU(TRA@r#p)@#9puK>AA;F^aibfuo)^ z@Ntw`5Dpp&$eqfcfZ*if4C4aIq>yE@pS&Ich51|YLMit`DIk<0hEi$KC9K^9oN7wp z!9j|Q-T1j*w~G!9x`-q#z49ohJg_SzVcizW0$zkhMR;ccO7#qd^4h`j+RgIX$w^mH z7RxCM?6yr<3wKJR;=QvV%$*E#2gBSiJhlum%EUyBN@W=27HLSDfMqfmes;rE%#a0h zsXT=*qz>c@$s<}4qMk@8BvSShDTkF(mgP>Q>|&(sWTaFo<;*I=NO@p8Wx~26lm{d> z#4UDD9zH_#$erbpMtOKi)h%^T7T&T{$epstp+z9d#Y?cfCfuzE3A_dCmi^z8F!!aD z#e6Awi8yBgr|a)YIj4YU^Y;XuQ_i#bd$K0iB!5HJydUJ~c{U2sTyr&enu%9yRd{jA zVqTm)m7{FytOXf4IkJe+ruHb?x?F&=aWkYej_Q(|-G@-2o zQ&s!9g8h1zq4b(ssVRpbCaF7wudy|Npl#%J}o=HT& zu~WN%F{+1=%x|n8$4;P?iw!b?Oz|&#JN<9*;Z$h`(TdBc2vd-Jcu{LI;$L}HbeEs_ zG1MxoNuc&?`ygt~;X+O_mP&P(MTETXzAZhF52w1~2lC-mSNuReoK!tzx=r5XGZ`pB za=%kT^1f2)HXcz)UmI6N?YhIUdJqHB>u$*fYj;?NoR#4hUu;m|`V{oo+6gk9w}UGfT>F6AISRDh3Sq=}{ns7d5SKYNj89n#=T zU^$;{NQ1*Aee>CZG;sGQ=Tm_+ZRx=~pWR4vLF7{dmxM6JDI=n}nT~#M(-B}B1)DQK z3kG1;D-jq9q^bjQ&KBLsUDPy2+Uc2{QM(E9oCbLkz|D9R4pJn5f^T}H>|(}`qM(9G zdL(J#G%~*!)~t>JF!~3;Nat&^{?Mp>bcjOJMN`5Yp_HCGH>H+wik`PoYth_7&*$m6 zoSwtTLv2+NJy!q|Z4ZxYVMp|C25YAZ=P)-OcpHWGAT+!=okLtzj^LOUEa-x5GUJ;I zn5^O}(g>VU9c9h`bpcuw!QX?zvNxDDnPWA)I{MdG^Y!E*EeAu7z`RU&-jA7TYe^0!8|DJZ4{*7kR<8mDw@hM(Cd^7Li)Va~GsbV7NhgHsI3bi7^ zGAF%vQRo2u98vUV-#v`}`fr(U|1DGW-&?8wmQgbx&QjZp#JL*L(zY|(Wh?h^JeFVR_1)zoOFG^I|Mu!lzfggq|m&*odI>1MmNTJFP?EE324Q7@)&Gr7sh zotXg9Y(Us0cWDB&z17nIsTaQzpm#64Qtuuq){8v7+7t5D&(n_-U>tyo&S5HgMa@L) zGwvcQX*Qf}I1DX4Cle0hY>pSxa7)}^b-b6308^Q z+fIoy=8BYq7YNO5i(O}x@U=bD|NWrK z5nJq0N|x?ONrPRH%98b$Ie0dsM>>)vAlWHf?4Oh@(=mrO<-)|6L@5{L;6WswGZzm? z-x=x8+hQ+J`blJVq{Ef&iW=A*_+i6Rkx5+zqu|SELZ^qO^wWxd?xI68Hc}`uy2v@C zY9|E;spyoo0~Bmc=ae0#&^>e_%?V~z&>1i1u$!lfd9GXM%F_8v^e2n3-X1 zQMB)|U3-i6J+jM{l;120hC)%%zNB5pt-6$5Mf*&<&Y)6@h9>TEQYonstbU7z8g`Ws z56hDC%~266o}JbQ{`yAkDkaOq>KF*8JII~}kR+CUIb~mg?3*I{wUm9e$iBuFyN0qa zpzI%G*;^_5VvrwZyHlBq{QR-Its7L>8smxWDk7KXAiQr#?U zOV00o3zabfGLczmOJ(#IEIcf;K+Lc*h>u%Q2BhQ7$4)mNqgfgK-F#Fe=MTJ<$`}ie zhjInPQyFQ34_maGk%!!jG(#Z=d>PsAW&~d8s4~*roYcTUMKdNSs)r6#K)PTe+0Dem zG7}GBn=bM{;>$#(n~6az`*b%Gp~?AUZgbZ|0%e~m=*R$kO) zPclqXbg(LQFD#*cNA<$k@$?5qJL>~7(W2ESu!h2Dqr`ISW|UCk8kq#qhOJqTUrpX< zc4&lk%p289RHNryQjl)aj>IGSvrNB9eeoh=JD#yZay5GM^Cq&{U5evO@bQMoZ1*;> zw!6HDXSTZnneB!*6z#>+$n1GL^4d+D?k)gc7LL>zYS_*C?59P}NsUvhlVZ2wlpqWX zczUebb{DqRt=L=u(y*bLT7TPNe@Zx}2rQWctcV6zRW=u4d`$qD_(fyJ(V8 z9n~t*|AfzwD1DvuD~8NGe5r)=SE*=$I167jsZ^wKTVi3! zE))8>jO*tz=;voMJo>rJTR*=RO~p~}UOJi?`AkQb(I{4?)X`-^N0)IOT~uc7a-1?f)&-67TU)I-*exa|u z=qG(G)9=yOGWl+O&B%A_YeqiP*Nl9ouUS0^eeFd)>1&yMkG_`4zp}nABYj=A9eRrQ z52&cJ<4{axXJn#>8e~dIUzd?iEhDAITRJ7Kro^PhKmro8_AKk`I_KU0YVsz1jhwl@ z7Nm0(TSodC^n2;+vNJ+oqY?x^Zz7vLKKgnOSGW5f+fyzpTAuBm3R%zYOWIQ{YgnZY z-%|s(IT*2qChjR%;jEgP>el9aigDDhC5=r|NC(R*{cMIjlB_UPVI%`s=yt{Un88N^ z#0pKX7&9|?|3$3O`-*WigZDbb3M)V{xMH4x!By>L6ktppgmG3)Qy#Zv0N@A=xoVmM zxy=Ir$71wVSFPitFPRDsyw|IfserNI3Rf^GLO<8lzSE<(E(P@RMRDEC!g$vgt^gu< zH~#6}ok*|acu5>C(%&LpLICdX-Q5VlmGACW@D~(Q0gu4H?==SiN?*>?6^a)cgYhbE z@Gu<5BA>*PF+OWpc9zNw9X^82XW`HxBPNU+HF#|Hn58SFO8EFE8@`v3 z^RMR!BsY4`=PSQJ@BY%bfIsoc*th)g!`clVF>GjD#y#>Yz$>2LlGrXmPFeSNf1&hp zm|sSAH>$$%CcKwbI%$=*T62%+hg%(*J7N$=v!N(Mfg@x_iB-}>J9=oW(jNp2%}%Qz zTqKOPO3UrRR_EbRdoMM@R%b<&y<0Gix}ktZ*n0(0if$S?Nj;u~MRg0IWKqMd?d9_9 zz3OL&TXT!_0}AJ|{43|P8x{3vw|4r>A>*_386)*6nIp#a>Sfa#;^O1lW$N{Y4ti7e zllpe?h6I(WN4IYG>tp&1%^sJPt-m*}LtOmb_hqvu!}Esw;^I5R8RBE*2*S88{=WD` zbF5OMx5xGGRg~tcI&>%d*6du}@b`b== zsE#$NECL6$L4DzQ_ z?hF8L9{_F!ys^qdKeb18iB2+%ngn$hQbtTe(6i71ERMqm51x=UWZ3Az!_r3&9yw&x z7>4-Fi18CfWsFnNm_rx!d*yzRml;%shaoKXiM*+R)0=Vu*DK&&W5`vX4VH!T&Em4h zjTtq1#F)vdxbYdohhz;=#SP0CJ9fmlELGgNjI0rHJ$m-Jn{kB%BgPDg8<9SEWVLPkT3sr#W#W&qRFcb;JFJM%y#7T!Q~mqXp^X6-=B6@>H#sm< z2}IbJEqeB)oltUk!gPM8zI!$McPerrkfvCKH2%d0_lx+M)vx#!h(oi6X6NUB@%kQ&cH z_7t@)Z=MVY0wCC)5~RypDg%N6(AZOgb$Rc~01W{3>?s;u-gFsI4}kjilzO_nkusn@ z03r62`no)ttDuw+07C64A-cRzWk4tZT6;>UE-zmOXaQ(oPtoe~#>)UAw4ptvfiAC~ z3}^^Im_4PTF0Zo;2m_#zJtYi_jxwMT06Ke0Bi)SpG9cWZ68=5y$dp!?^Cw-hNQca^ z2lEG2TVnrkR%&t!)i@u?kSt!IAcc1h}sFsM%1aHtpdahRiV+|dDiEI6_o zww2sz%3Z1Ms%xx)KdGV!bK=Q~6>!sMN<4~mr*wI((Dtmuw(FL(y~Sv6+amulb>cSN z>@Wu1>463j^e@n49j1T=6SUkHsv+oVUuZpoe&-9VPtf_k&=7*!eW9U=+n#^Mt9&gW z!@VF40D064(hv}%7bFajI4?*eK$-!P>kKEB6N^a{&o{6RE72{9Y+#SnS%+xw#4Pxe^~REo<|mj5;>i23HC&RKHc-q@=$H5r0I#Qf~>h`ag)5_0Xt!}m1Uxe~BRfvsV?;wVHK(G^W0yyI56 zZlMs3^sWdBq5Z2|^(jP)7_Rdu>w6kwT_-3+qrIzwLS$pP$|yvmuWK`fNDsJHQ-}sO zR{@1+j_O*15bomIKIu$R)7^`Y#<(s_erUnAf2@4IWA0tg^qM`?Hr#G@oO}P~w;%iS z#cxxZ46%&O*G`|>?&mqi%9%@_Ygqky%T@zN_k5xE))B9+Py1K134IG9KbduW*A3aL zTXg#6z=p05Y>xk+^ODvXzlQJVJ}RW&ohNR4=cm`Y1=loQ_1E00E`QW7+;UIx$mYL? zRva$NdGy%nywAsfd2jMlZRXvw@#)8JOv-xrz0xN%Q6C;zUTzwvdt}Yp=$99zEBz2`P)qVBoP7OKj= z;SqC!Ea6eJgS&?7^EF+=V`kMeg~!jVZwgPy4GI1(xIuWlDLe*|UBjcghDUS_4>et8 z`a`<$zcKfbZA*m(r%=+twJck?bzP4+5iQRs=R{1Vl)c+17^Z@0Fc?P!j~T&cArnSq z4F*IeL1m*(go{KJ+f0IuhV)Qi1rq5sF`B5wI|e(O3H5k{+(2NXg)GF1DGywX!6wQpqw#6@vXxEA#Xf9IM@{K5)X!2?Uc-9O0eF)YgPI-}h zD2eY}M9;g{wa!KQD!Qh!JRfpYBYFA0^!MlZX-Z^-N!H412p(uyGb(`yTX{lJ&s6_c zGZ#tY_}4lYS;pztbB0MzQlA&}3%ZCV-?jsgY8xLMTG4~z@|7PAJ6Nq3Q;{p42i@V` ztDlR6D&AQb87)SYP8Ei2b6DK#5t;;d-n~sfQiJQ`i0kzuv18FKE!Hh9O>$O5V6`x! zGEvvUNb?WLnR_nCq`*Ud;4B5jC()w!36G)Y@*(-se~Ng+avZd=~ePoDH9Nf-KH zZTt6RsR(P^>0WEw{S5^cTH4OS4tspGqPI$6(Ym}F(2cCQRcN}aO^yhY!-!SyGdlav z7)c=c;AH8DO~T&QHMacD>!`a+N>8!=P_er+R2pstOqbFUPtZPX_aFVo(*iNwKYmPE$U?(iLhm1i{(i&nd-lndgd#E+vEHfLy`nv<3T^&=A+X|4^ z0UJxFL`Njyfo8%+n}o9+nM`a_xwSnZw#UZPWa$(!ZmCHE2jJa4=zNmX6=k$%LsAd{ ztsYqvl=+icP~CP>RgTjH4LP_sSxl5Pg=ZYF7hUYsy(CHcsbf{+rd zr?=r-o>h?01xRQys~+NlXw9Djf)k@nosS+8*u01|Dz# z8PX)Fk0MLRcplW+rRbwn@iwUd9;4Mnp~-H+RAa$CghWVydH~4D%+d8pVEx^%Y;-eru_Q^rw*le(&fJ?B3| zLt!ZTtZqq9Foj2qm%1gm=l2Btr>)LEqHOt3U(zi}l6$xowYnZDdLqU11PZlkkL#99 zyo8&l9t^8(hJso>iJAs zaJJiO`@?u!1qRq?i_|6dhwIzBg_!K<(e|upHOVN*WbaL)8yKyzAXLv{w?)?{nT5DE zVIplPab3dACjDhG6u9UtcDje)j!Hq$aLLs`1{(fy-N3-730&g35f9W)tkMRYz%3Pm z3^cFxctnLq5m8A}u}mI~R4i1%;U%vAz!vq7=I-iH)CZIXs6? z5}3>Z3-n%*&Be(m=I;*!ygNh+_j|=!?+=l^DjxceE-IE*ve2>ECHB@3AIfQtnIFKjH}snLKm0No{OR#evQqX1JgSWJgKI69tNc{=_sM$d7`Q%_Z>-HzIidVH zir-t~PH^5`IaH+z6A9fAIY4QZSD-bVy5a{~!>KF21;h|dq8SLJOSY#9Of zw+2$o<(I=5rZI!+NZ?|pEf_tA4Xem2J!H(&bw(N1aYTveuW1X@P% zSAM`XAWDqOEZ^L}zU5;LXxPZ1_jM49Kv#Mn-7dc4Rlkqk#&sAGVPupTAfVR2`&NfV~zo%wdNDbXpAfoMT#PqnS2+N^ikb9vjXoh(?-hVGHb3KA5pHd!1_p0_^=DIMn6ci6`(` zdH2YEC_*T^r|r$R0USKY}mcx(KvKE`pDvLMM^TNQ9w0BcYQ6+B9Cm6s6bJzX5HUI^qYk zY3hh?1Zl*VuT2rg@vmf4ByoJ)ysoZwEdL2$QTe{ftsIcP{%nf=y#7Qz zQTjmip#fr3?ms= zXHyvNyV`x~3%D$Z3?rjOX;WO3ZHm)a+Go~;Q3H#DmhVlDP}mb4xIK{td*Uy?G7G(r zWjSnD|ILb}+6b)E>8;KxED=wMZb?8ajRJN%TS%+I`k;$NwF2x8#o`)NHgdTW(AK)V zlb|aZ292}@o3<)rnNBD5ZymMYpw2acSs5zq#LMa_ z+d3=*X#>`dv3Uum5RgqCvj^Z{wmF}cJ89uL8Ecz;VDYdm{j|yqBrJaRVJpD3%&=^1 zC-O4E7*E%3HPpps_?jB#tO-h^Lb3UjL{Qr_|AnJi+LRVdF19~Gzm(ZD4Ya1N%9mM7Am@eT#b_--1 z)D=IFZBSQyBd8!!1)q#4{0RJOwGE=VZWQ^6yRTRR*#>l02wlFqS?E?dR;3DL8|eS0 zZIJLcZG*X-{%f@jzNxcq(BbY$3HJ>aD-Ks$Z)krF{wvGLfZ>;s-Hotw>Z`2Uzp{f) z7WTr9lRin(N!ph#txGm+v>Hm_mon7+Qoov)QqJf8N(~GX^4lO%vxBYE!n>pC;&NN; zrsUXzT^*V?l1>*^lm5&r0ox|s59Q5uFZ2YKm8RnPn4M1|GDiV#r|wXh;ZRAenIye1|Bd%qDSV;OU> zVCSI{uifS7W-_KJXE~!TDYr5-xxFSjMba?#Lm^0b`Nz9|wRDpT4)%&PFRCi< zr+29$4czlhI1c~&K8XR?AP`P=(@m3WFalMBm=aWvYLlaTsBXzlsjo)mM8;w7spJ+w z1%^?9eIX=PqFSy{!iZoPVH|@+$RtKGj0lbqnoux}T=bH-g*2@`dRO0C+Us5WYB z*^OK@ZVR7zqW@jC!zNLObsa}%p9{M1`Na~=&7u|Oy$!JE%m#}?6K%ns4zvd9;rQS{ zXVfkE3)|~E+BG_B;_Rgla2h><3i;70lP>YnT!7(A8A!RCRpVe{*4yK^* zEmTh368h{z2kDdORm-UcA!ZUa;5RdI)9}oOW|{~gL#)_VsT&*LAzwewuSe#I<3`e% zx*zsMjt|3c^9c>Cxdly67UDMyTweP%eprW?gh_2jjmwI~QX>lwOCK^`elXm}V;=3+ zK|eBMyk52v+UmPK`dDi3lpdz!UizVv^__=gW{%G=X5bU=2@}S|WsHBai>j^^5nF+- zf9JQ>7!kwsw_Z*_x*#$?{x34ek9uZE z)`-D~9V|X1pm0WJ7QSqrpi&82nM^+_O02(5;pO_mWBF3GFZ_Rte+>6R7s(8lk^Opp z09a@=#uZ=2msZ7jr9Ro)oStexP;7 zH#z?%pNxI!r)O##zLzL}8;>AyP}>(`5%LSP?ij_(@92}UZ~6Ba;tldTqWpWMxkZO- z@Q-06A@R$|?ndxYPnDE=My1P(KzH_Xfgh73tx1;FCP{xLNn4YpRaV1MKHD(9ltHr% zhm@U+i-2zGmIUz!4}8E8jGV>sKqfL%&j}jk|x@W zg-VSXdxW9;cA1en3^q;yl!(Q!8D=hy(X#}HFk{y=yP!z}8(RHXAJ@W~85U~cf{vquD#83{%g>8AY28SNY4 z%_+(Z0;@i3MpBtkV6)B27kdacBfZ&#Ee}jzKBK72X5h0)_xMi*pHa2=46e;*Gb&RL zKGm;xzaaQ*R*O$y`tqr#GNZxgwl{M|2|o3;_(V1N@)=EK#(>X7r_Bz*XLKz-f$7U< z43*gyeExF)?E{tTGo}`w^=k9kmdcC=pTGP*P!fE$t;HuWeff;1GCP3JR*mP57JSCn z;OU7ljHX^Fert`%LVhlWTogZ-g*G{@#(FoD^l zQLtZ6?t9)Hw@A=2IEv`7LITEbjRlMk%t_5c0$SGp6diY$7%cj=rBZDWz$1@8(V8)U zQmsM&;d1v=bllBitk6-3so?zcRZCo~wosx?a30CV8F23Iw;o0#smR`7bWp@SIB#2K zG}W6?Wxw@s8AE0E2baAf%|U|8-rig)`>lt~&Q#_=usQwE!fk@h{j(fj0n>){i}{5iU(gU_uY9r2Mj zdLLvvycVCpl-sk1&oC-;4ETJp(Uwz!&-7Y+y8Eq%Pd$~H2|kZTK5h|wj;Y0`yWe{F z>_BB^fzNub{htXwGi&kb?zbL3L#fP3;Irm~s`G-+tXh1!`>lu1W>n@B@VPxG<4M8i zq*{E6emf|_n6pC9^#@mWDe)*>vj`l&WNVWzIG&>5Sk^q$cWIx!p~PrEP8wTuWE|&E zg|!`}{xv}V_F(N>19@~!Jc~~k3LptucY^lS1k}C;(!Q(;LLrXne?9#o>KuY#3rkSF z4gIQK1F2rtgTo+-Rzv;tvW&PM)=pe2GYB%jYWX_u!MsbSYdmmzF3oj(!JTg z(q+uCQ7RJ5nGgT+A!n{HR;=9IDSIw6EEsF77e#@!&weX=Sg?lmEH`V)Zp+LH#v7~V zX5cOD;UBSz0#SlDtad4RbN5*`Dl^{LIH3n`nLqvdi{K4wVM^ZI9hMnRj5pShqruzC z=ik9<7^}FxSSeHThCZjzvcy{pYQ!;M?d+Wk4-3|?jHYDG-BUfRv7Xu%tj&nWaYURo zEV3zCb9Yk@Yiyv82W$0i!2OCHWqaNYl)?s;U7e14GVNi*4!P` zQ*G2mm|{Kn*3LtMH!R;Nd2{zp4{vO=?F`;(ro7)m@P@@bC2yi@j*z>hheI|f7{TF) zzF(3x$T;jQb7=Yrix^no^HHhg=!JXTJ&}zPT44#Bsjaq(Jw;@|NcL#d`XVzQYnTm* zTI!F?WV51X-?-GK8&P6dt5B*9-1r`Ym<@_r>Xpo}ut5Z$-2U1Ztn4C%UeyU)rA^Gn zMJ@GBW}l`)1c?h?JrO>T6x{(#?)y;GdW=8b}*M*M_7$LY$6~nQcYh^$6u*|IS z{$Tl)wPAAv%e}>j>}FZnTRl88qj4a3o_eZ^4SWXh++PgJN}k<)*26QKdZdBp4TJJ# z2%ZOu(OAi|yXSg%W+w7*@SO7erx}9hG=Dt1`>%&*X2Yd}=kh~sFAAQA`{NnNvcmQ7 z%q9e5z;k3b^#`J!)BW-6?#v#ZncbQRo){(;wfw7we^Sv0f199(e81-)ai&0rg#Bl5-Ap zPN;HkXfv_khy~ceV~5{MTQyXdTfifCgQ_^$$KcQj6KeSv48+t`!fEY|)^qsMqZ`}E zLvFhHvtUCcY>5Ej`$}e@Z$ggXyLNOZ;Itlft@yNd=bI-LRoC(Zt-W2~^mnGr6qj#V z^z5&-q;dSY9GBKEuV(G7n&b1&8Qc{3mQT$oI|~c)_tb6e&CucAtKRdMsbJ8^D3SO4 zxmfrbKL7=8puJ=S7yHlIHUL&m;2)C7|K>emO+deLtPniYULxKMyqOo3K1}8BU4y$n zP_-%dcIkO81Xon)Wrrc=#kAH~9Fuo&X2h!Imu6%Mp&_jNtBI z1w4#Iz{yOKRAQ5MSaplm(LQABj1pbmcTjZX5C^-MBa&i^nWqUBGCTTe98bW_#&SpZ zFsmA0Q!U*@+o*MmmRs>@S>AIPserhR99ksB7TU;L2n#v-;*E^cYS<1ZIoQ$-gbnNi zt#&|w3mR5(Y$@9h4H{xg9epE{rR~Xv4M}PzdDsC?lE68HD$p%mE#qK4Nf}a?CK*bt zh8;@PC_tVZg5<5lS}{nC2c^k|O*ZV3fVUFeqLO5) zyHp?}LnnN`K=5Q9nTjgG#ZZR+AAd~+w{dQq;@aCz@{;3M6sJ3ea)!AB!e?az1_D0M*uHC1={k%nm{Pv33Xs) zb!S)uc9k_44)n{^U@EUc8>_+IJ~c?5HUrdPf4?=DDI@r+!GQs5@OB{8p$60Z*5LYj zfom`wH8|W|gJXPZa0)QNoTxWt4QBeS!S*sjfEvsSScChq!>}$jILUtv&H{Si8l0Vj zA&Xby6sp9Tc>ws-qXAj?ug95or1o2t2QhB@?~F5N0ViN>z7D)A*XHcG$ir`iJ^=gx zU2@)=Kr%aKzlNKr)_L#Z!KY^TL1p=`*?9{nwZHC3K9GRpzjEh&2(*Cp+YP97sNZ>? zA`|~r?1J9&u3~wNb%I$^wPwe>FL7hl`yC6Ao3c&v*eNTM*~r3g6`LJ1mjT6!FP;tS zpuynb3B%utWYRz;xm@M|&lbC!JbOu-#cpyv!y#Lj$Q34gvTR64~sCxy3Ep=*fp*U z7Gp+(;rXvI0oqEDp7X`%Uxl4kJRgxiT-z16p7y{^j4=z`+@ahS3b=>Qb2x z=$F=*V+&o+B0}ENC-P_X-|k6o@}_?yPQqe)B)#ajGbodfm;CSZz(xLy{{3g%^mx(# zngXt*|6vcD<>RKm1{Lpz{)LM6;7z~WQheoKUy)uZ|L;z_>GYz1hzIUP{|ySblKzsv zyz_C>{|qAh(69HTm%B&>8uR8qkv7h|eWLMD`;-vH>(`%!30u?k4>XODa~1g9uOa*y zl3zo3yZgP4ehtZ8yl`kJyEi1ihO2eO(nk2Cv}>SeVN45$ei1Zud3!j7BQdM=XV3f& zotPtsO>%qk_HVc%RQH>1y>tmffyd7wcFX$rbJ&NR^1)|cjqr15;T{h|?Uu9j!K0PC zGlV0*^KuYQ4zszxLvrtT5snV+7JOfjg`t5KX4!^aFJFf)+1KG3?(1+3#xE~lhj(cd zz78QFIH$;jpNK8Y&movGNf%Ahah-h=Au^ALy90PU#6~dY@zAP|IE)bKYy*Bs~gsZ`m$r6c!oE>?BaFJ-iX0u`>IZGM_&Jg7|z%SZ5L0qyY#F0#TaI0a(cJ}yW=})WLM$QoNkt{8F zb7zQ7FK380lC{DaqC;(VJgw2erQdp~(1Hel4QnvUv)qmx57QEQl(jwDf=xO@ZV|0+ zXNdIaGIxdu?ZKTP;v-ae@Q~KaUJsAq1JrDI0d&DhVEQFEI3zIkaKm-r2H6oJK8Cf@ zlbqg#^vOtnI4W5>oh0qHr;^J%i+zmj>X5t}!V#h-8bA^aIqiePLJBjdhvWrOPGXMM zC>$ViXNW9KEoX?Q(8sV@TxeglX~@ zN)AcuOU2|JksKq!JEEjnJcL3ak|Mg z$i(=cab4pwd7w4&XmBOg$RlaN(i|Q!GsqMkl^Y!VTL_LovxJ9|`xP5SaS6NwRigMV z+jEwH(w7VT9?tpy{T_0O$?JH^wRt9M#L_Yu`zC;7kBi9`_dD?)K>*)NUc4Ko8Z~^x z5chZ5?BTLL4a<4{7>B*q@+XJM1yHndJy^$I82P5(5&(XY!$m$uIa^hKIxPp6Z$3*o za|9<6U^($Ym%KE*BM=|TyJOTcgAa3LcBZ^8j$tyaM6ak!r4;>qU%r!U3_ev-rE zec(qpJi!OPf%{1}`oO>7F)!Vc=|LS_+31Gx)1ybXwud|0CYd43Cj#8e$pm#uZ#kZhT(YL$^pqC@Ka@eouhiFw^ zMm+eFUm90bIhW@vppcc==a)2h|ryzA~kJmT-J!o)q>?JDS6k zeT332NC~ zfiq0Qg1_n*1 zKSNPJj7j|X)WXjRc`D~O zlz(0EjU33+V3L#5el1v>W}KqxBddz z8g^d)zUA|7B#LKk!XK-}9H{3AG!G=Z!ngcDwnhbSP@UZ+$pPQ;M-BFJXIKYYqXYl+ zxbA26F1xI);p@+k93=btF_f33aYE5=%%h=nhFllkj;%2|oC*SuhIA5+RBgl(+nr{t zz3CCd)Vu61koH=T1;7jlif@U3cta%rf}x1Ot{U=e*c#9~bb0k4BD`TplC~I*R>qL; z9NDiS`6ed6hLH-thO}7A{2FF?`8CX4;pNtFIWoVUtu?ZPme_V0dvEe^$PQn@>fPZ` zJh!4nNjO;KDM6q}c?VyRM55NNaZup0tu*6k)&L*(hB%Ogoxnoun(Sf7gIPQ#u*NJS zmL)A0Vhy)qYDfoulhr|?>B zhSa}lGkp3tZHD4H+YBRy4ZVszvh56pt3FpD$B)fGXKOB_N+|T~3BW!8ylvi!eE@nG z4I1wJ818}%1&$EB-^UgrO|+v2G~FNa6P6tkI*KcJ8mLSttP^9e;o(v@VknDm)L#%Jj> zM(R`G>8V#Qo8Ax?AJ;BZuQznio3fwOw~IGmiRhZ9=K;U>pm~d!p9@=G518nK^AT2= z!Xt8n9tw{SnuV8Jrpq31O=HS`?|Trz0TJ!Fg1t_TR>H|ju6r{9j~!4t_&)IWmkGV=S^{4Q>8zBwS!dV!sf zy;h!%WKZP?-6M2LYYz8aFF3~Wd~c$j1w4@MuPeUL{q01C{4VgRJt;3yzPK9^Nnv04 z)hLk^VSy(=DF_fu+16MbPw4J996`_T;?@rVN*XT!{2t5kuVj0qAw5s(mBV0vKtE~e z-2)}{r9X}1r+Ve;seb{^M1WMIQ2_W|oL?aLy4rUmEK}q)%_m=9w*1jfDBtjeIs6_D zm{>ERc+q}o9QAFx6d%ulkJ5wU@-2VV;0dEgO!gQbSMr0_-q7x<*DKxG=$PreN)A7Rb;z4~9zP;50X-o^~Az z46bjIDooCb5a&UybAPBrj&oB&v}+K+KB&Q=CIHRS6Y!dwqBUvPP!RBb4dA5&QCgGp zNQepLn5DjvNYcF)`>3);;oLTzKERBTMkNpHhtg{@n zopl}#k$%IIb~#GcVh5*5d&Vs7ld4S9_fkTW^JoatAP$9^rtg!BacO@yW4p0#DYh2( zjYqs$+G)nI3{-9G_2wp;IlWK7x(aQHI)4_1;) z883quZoU+}g1qJ11X`4yA4wV4{%u;u~cDb3(G7kYn z8VCP#Phi6%;`-W5#4!{9K5)WhW71YIDu7bXWeCdFu*}Bwwn&v!FvQkhW@&{PXMKY~ z7T+_KBxceUNj0)q+?2DdE!yp%2EHW@FnL!%D&<;iTi~ahV{+qTOVX_7Rx`q-q|SWzlZ2NI2O1 z9D#^(5HiW4-E5N1$}#|y*RCvci?-AxZ4@$*Ddysk`ld-ehfB{-;l)x7yF#=Z%vzl2 zi!vZ`I7wkZvot#gy-Z@?k(iN0ns3LmS^9bwZgPQU>EpS0Aoir$3s|g+h)14sD=?DI6CjCwuz{+^0rbQMBHR?SHf_?bmCk@n7Qv(r3O;0+6-ygr8bwEu zzWx*uT6BqzzeE6~euJBCDFDwzHBeQwSkeS53il9FGJJmb-9}xCwwP(=tcw-cTm${K^Ultqhchc8I z$Y}tGF2)_)72q}q#IMC&nq7)t(?Dt7X1Wiej}`I|Lb$gze@+1cbbMVk?W$L+98G8J z%o>l4v?ggM+b(W>E9vw(_TG16*5d^KiH2-^Bgi5Q8{zwxwk7Ho6rG!UV!$aA*dC*JP?u;LHlLdd_{esl%f%U+j&v zfi6P3`Z=PnWhCc*HGV+|!{1qQG8~^L`niI=WQZAff5$2N!X!Ax5g>eDd+{?LJdvK#DleLYQ|r7|e3~oyqra}@cjEZe|CE=&ztUU- zLm(?(iA&)yGcDT#h%nC_->&ROPvv3OP!&H0xLht z1wQZH!50(IpRBom;QN>gYix}*c4a*)AkKIRaq>`O5JL(`l^w-owp_K&)#Fp|A@$DR0c?w zl(;K<4=u#v{JZw@5^%N_tFRGtDz3Z`OQm^T_NN|<-W2-5jJTJYHZf1g3~rU6{jk*V zUhJD^<3gn|J&zn}8Dp8)q%`5Tk-dKz6Xxo$H1^Aa-KkSb7H`RW@Mdj~#oM>s^vbR0 zCQBbTG;H{C@t!w#j=ylv(ml779$mC|*}UglKV_La<%hSXwLRYBt%cF2$GrUQz7y)u zo6gUku}wc}*r=ZUp8nus{|}#k;MG%evR-f0f646e{nt63KK9U!FWmNF@8=dj_W1I| zE%EO*NjuTz_HQ<tQhuG;_5z2BED$TVc^>D)>oJsFPhnV;j6Ck zQyNDe`?k$b8N&vx`0TE~3{hD(bs4z6`KvF!)BcC8iw6D{J!X2ZcF#_n`FhNo);XOP zegE+2TPuDodbMTD$hF#SLtg%@<+-#kr&!zN92qodP+rwPvuC)1Zg0KIe(Q+J>0PAT zSA02d)5(mny2P%ha$hhvjMM1zK76RUc+?Z`w3y#DePzqH$GH9)@^09Z)%HzaY+Ufj zQ|b5g-WKzTZr%s&ANgWT!>VxyIz8JYwYt*}Z?-x2{B0wSFMLM5D6z|9t4G?yyS>nK z=CN7dy_aDr{3vhgFHbl+ZOhImpP+Znc+Y%`@#CkQeTRO&sb~F(58gL^&&69G2zsY$ z^zWq|tv56%-E>&D^PPg@NhRZZg*{`oZ@ znwp#&TCwuL`W>tFRchPB`!3FZzVy2m$L~tsvGeseU!ME*)3d)iykN_#qf0l;E-k-f z)uMX_be_HRwd~pF_Wd;e{=N9J;j&4pwAkEZ%zZ%c!^ZN$bl~KK*WKd6Ns%I~7gY{^?g6N4`J! zrg{@!&xxF{_SK1zx3nCg|LV}pvx_JG*|qno-|qd#xv)j+Di=syp4)V*X=~E+&A+}o z{0`L<-#)GXQI+0mQTeid@7y;$y7~9o>f2r(*5~t&_dF(bb55Gp>+$XH516W7@%_P| zXM$Vje)ikzL(`iUH#R*qq37zmdwl!QXOYi6s(R$s8)JLD{a`=c)&ncw`RSPt)9zAb z9h$y4g z^r?^;<6N1~K5UNtc5$3Gd*|(~n-+cZ@wl(1?)fBXS=zC8NB-;RoTq1fe&o{4Z;u-D z=BjkRgBjZGd~(B=N918=|C`@s?a=sIBQfjOhMK6v`AkassO{4>6y z>QKVn$<9G{RL|7!wzaOz%vuX{e5GNDJi*VH}!Y&HGh!TWdZSl+S2GmDEq*?scu?nBI< zg$I}Fx~wWbVrriK;alqx_T3YHxYNQPbJ`ic?GlyX=-o5)`>`p(jk;$1s%h}o+#8m) zojm1@=<(l7?z>1@^izw8ZdNquo$-g{9! z`agT~j?k>1-hS_=SyLZ&-GAiSBWG`$v2$cM?XZo7!;5-EHLD8Ueq+0iox1J5>4)Xf z-I5pH@JP{!HbJV_QgW`0)X!m%!@!Rj(bl&2cZ#ccIWkJ)1z2A9j!QdC4f9v$?pH6*X=-c*= zH52dN|Hj}~k2aouL;6jz_Ity(wm7tE;hwU2Z~f4J(nooJ_8T_7)vcEbbKjZQefcew z4ZdC1J3g-00qgcTF@~SUR-LHqfB4eM4nvN{T%6E(%CYT{4-MMCba+MNpop&JO}glp z>^o*T{Ke-V+?Xbu2lro}T%XOytlbdf_l{{nSQ#~F&kUDhw z11A;^{jGcJ`~eGc?dLyOvdUQ)edDxOvet}h_)=bv8UK2vujWa z7jAEp-?jhYKl_ArIrY_TLoy${{gvwR?M=_Wnt%Mr;H^75wHotS$FeDDS;y9Va$<&Y zT)T>|AH>6ES(m;3tjUp4>m8L(z(D30&09b!klc3OX<>GbBHXW~Ym`YB!Y{^qBnLpMKlO5c9z z=B3>h4N;}W{gv3fyCwRKtdy3KM!VzJ+s?n9yy)e{^ET~1m1((W!N?=ppMIV3#?Qf} zW51lHnX$(3?VXkLOow`(_yS5o^ym$UZ{r59Y zZvW!<#AA-0H*`9Ew&b?HQDYxAjQpVWzuwq?IP2`V``dLJu>15Mru1|ANvnJQ+2Gt8 z-(KAICEN+$`MULo`|t17=f(V7{nF1yUwruWd8I!+`Dvg2Z{N6ZSnOwO+wa`_R^Nx( ze0=5(!-LJ9KlQ{EL+sq3ikb_V_uQ!&c;k;b``gCUv)<@@z17&22OezVwC$x;*#}iVGPvD_f_JveasG5-_`Quy9VR_@N7}n>(mtrD*>mfdVJ((_ zcSHF6c6)<1q>Nm2)0qx>Kv~e>oQZ{=a6t)#!&qv%23eQl-uhx(#{C^H z)SOD&b;GAMyDJyk_TKtdqtWAbM)Y}ZWyiKpj_tI0#GRUo(p{?>#UB6Ql4|WMy2Ql| zkLpI9d+)iC?@ryhzTs~#FZkez8@Jo(ug}r56j&jO>*)``h9^C$hi$e*5|ELt0lp zo44mS$K>#*^7g$x_~qG;jq9G-?>qg=eYVW9l?9dT{j%ZrrS)F;(K__g#`8bR%3jiR z+EVSV&&n5S?;hE{d%L2b7LQlV`lVWX$AY&WinuuLw%Z=~{+2x-e$-HRV&=k8$J1kS zcP!m?v3_E|ch>J)_~^8CDe5O0r=HEN|4Gr}papl99%^*wteUq?GasB--r@S&{@c8{RzyC+_`0oZdZ#lng{-#NNdLLc<(fQC#Qy$n> zr28uQiK^7*HHU`$b9>~B_d7RvWXvC{wqz9b+}n5kuWkN6_PzuzrtkfK+81d;2w_l^ zq^3;~W@;uAZM4{;Qc|QyAxqLiV`SggWXql{gtS-+DP;{6(TXA}QT?BD=iZz~^O4Wz z_y2x>%lEuqGxwhNInQ&Rv!8qJxzA%VEaUboBZFN}JBNF2TGyaFtBB^#8uq|!c=p$Z zykU#dPV~~fHD%wd1Xqh;2klvd!t;`MU)#BNU8l!g7tn8ns_Q;kdXsi%POr6>xEl`i zOFrv=?t;I`Y`qh_i6Q=5uH`N~csnD_dgjM^y5sVK7^~ij3m)IL&9QlL)lA#LD(P6+ zz^x~xi>D`7KW;d%YrO94H*2dr`+r=u>v9@DrFN)><#DM#hY#g^-jn2!5@9>Le78f_ zck7=_^-B5{H&E;K@Zm>SZ9O)we1>yXUX|XR{JIHsz5&vsCo48A>U!*Ln8d1t)u&1n zc5i++YQ&Vr4dvUP8tr?2sd~tGfsW+xlaIG8KeAln$*AmyTDr@ZWoz#5yZiFzQ-K$r zOtJYIJ!Sq$?V^&yJ&GDnCXCtLu=zvG&AhVv6Gv!idq1w%8rmgfqlDXHXZPR_9OZ3w zYp3TGKbkAkHEHgbXibj;QrD}!WV-IFOplwm!Tf#CLE8t*4L`Pf?&w}$`+4^H?!D)0 zkD8YQwVoRWe{FO=8*bzxb=5p+O{YcUwd$WMrp+3E|AgD7Q}@SrFSA|uQr~pOq`kv7 zeq(G-+pwhK!O~IRy&m)%Z;))iD6}{+-fECWCUV*<=?c)s18yKkDFQ?Es7r{{Uv)y8yG4w~3yYU%uLf%VgtJD!oh z$70=obHQ%5RjyIwnXVFA(h0A758tu%!v4#$yjcGS;Uh)|gr8s-kL%r2qJB`|ptJ5> zJzkF9T&fc?{OWa0uF-3==-6=~55`~0G|KhxHpL7j+Y&J|8rs|MnY$ zf0T5c|6?Ovv+I`K9-H4aRPIT9Fxe|U?O}XU=jn2(iAu9&if20Hs#qM7x~J^_zG%dY z9o>>+ci4E9FE%jP+IN59ro18@qu9JYpXc-0L5jWB8XX+Rn4f&>nZd&JnEl3uL-ls< z9uv@^r1z&{x>LT*yN%EC`(%gAcn}aeD$DzALmF@8u8-W=|9kDkngL%2EHpU6 zG>+danRVY~#>(oG7b}COY&YrVe}6%4^rjix3UaKktn9VH!A8~P_WbL2ZkH&kE-{eJ zdClFm^mBTn{cUjn`xCn(vZtXQxYi zdtLd&xBk(F*aFuhx|#~3_m{}08F<)Tn)+tZgW|&V6H5ZqhyTs3da>uU(4G{vS8tCt zq=EIUP_z5B+ zD)H`L0^9jTdpML6zc)|q;88J!S1Dq5uQi5zZJqZL)$>b~A;j$iKTHHfPB?A&ZwseU zn}43@&ez{Jh-P8cVrmd>#U8d2@+CioC%&!1-#DQ2GsvMmS%g#PsHpEWDBPSBss=>{ zhj1nMQSp0`o0X#YI1I$NKjkz+!;lD2t+7;4Hw9qv~7e`?YSx zoxh?w!yFIpQB-{lL$_sUvme~=-f4`7IAl^peCn?c`E51jr>>%Ly&(W$ zqVh9HdIyS-yi)Z?!5(na);o<2s=^plJ)`<>>zxA1rfA(E%6O7~9`ayLRQ|SPN73g| z@{m3x7p` z&T6X?Zwb=LZ@CHXm9fNShF`!UZ{GzzTE1S3(Hw!C1&RItJim?7A)69SV#x%W#9|eR zUP^NE=(}7M2&2{pRR3oHM)k!#a8I4#W=Jj*p5f-9R@AmbZR6juHbBydUjyK?Hj-Tz;r5KW( z(Gx8#sH5FzX@MQ=1}}MB07VkJ=zy@F=ewyskMfJJ%q+=t(b$Qv4Gv&9I=4x!G2$^C zt!F5lf#LW#jMlEmAq@Rm%HogL82_`*e4j*_##~FjNle_DBc7Z{+{t*TPEg&+lYVM0 z8c5=z^UixRp6G?De+n13=4dZHwdOFO7?M|t9<>?VQR!1x76hVus=rZj8>kzRD@8}a zzdQ5Y(w|5I21Q6-#hv-qB@_DHn#CRXh{}Xmd$t9(5m(%qZy%E00WrfIRsR$;4{q98 zvxt5#h}sY8^AtVRe#EU=sPENQPzjM&(QF|<-p{G%gq~OM>>vsL^vt&d*`Qr0hU8T= zeKbt^d$#|~xA8E;Kh}p6kF7shgd8jyTC+F`l>~>eGYqZdIfjutQ9Tf_62Qzf&?X7mCFzL;e?fZJ&_(H2 z(v)_ls`4vods9{Ym9)L7s{KmZzEmkXLl^a*#nj$Z85H$T()Oil=%Vo}Y5P+Bl`hQ? z>|wUAUWfcj-M&-}t@M8-ZC_qR=?qJNtQ=vgX)Qgcg6cUN zi8w7ihec8UBu(Q8tT<50{3m4R0lmMd+X;-$vY9y+QWuDhM^DT(yg>9hsS6v?RtbkM zH&(V{{k+h}F)DZ=)RBTLngcKh-wcOnXypqow{?b2D_& z`dNGJO|^|)*}hZ_UD_B6+Lvk@#cOD#-p+b$W87ec2uA=PLjBkDXEx}Bx8^@VpJrL}e>gkZfZ?Qw_mf&3kmNB_ zxKUslCkQlfgEn>sQW+ypkNgDFJgF4kI^v@|QU_0uo(Ut7b?Qec8~!_MevMs>`B$`> z;_>exz2_=+F+)Zp^>i#qi_}*aOcU6Gj%+xZ2>Rba9}V*}6Le1(Ag%8}!6`#)2?2Ou z?}1|t#~fj{h<5x=sAm~h51*GHRo&yhp&L-iGOmH2Dh&F8ZctDox(=34sr$6Ra-|i)zc$AVNnGNYvgSuz5*aeUws|`i)M|lND%K0 z*8DuSfF}+4wvMQTJoE3d`H$)M=+Ul-F11q124#;>@;)|3`W4E&4d{mkJD{$p^g#VQ zM?;?{0S8EtR=&P8(AP)g9~96B!6);m5bn}5*?jnD=mAj%He?xa4E;1%hOWXw;P5|k zqvw2wft($^pdNgwNW=L8_=4;sm;Vk_w}YpFUmy(sfo@Q6Bf3FBO*}KmG&_1~GlyS8 zk6H{GanRllXmDSqq0fc7KxIRe5-J^}!QCdt^$rx!cPOBXkR=pbMJO@Ku0V|=@R6q9 zW7D&c;&u+-j}jW2in`+n>mE~b_hVK!XX1`2t*rK4#*=y0t-z3M>fBZ z6U~CqdQS9mDNb}Sd;-y+I)B|=VR$n z=z~qz{hEZ%$g-!gr?cJCLBY}TW~9<6wNxJNZ9xw^Qab-yMd2GgF%-11`-87kO(7d* zUoH`d^tlUR`1(*G6^MeHZ9z3XvWTMa3B2>rt(w9oqO6(qMBicFMI8e*4q@kjA|@2G zqhfB^*b{1HC${f|I@yUGJQy{I{XO_l4;0w*)1xh=(XEP58#}tCbg{Fdm(w`WTnW(e zFB$C&g*Hu^6YVSm#sFlaxpIW=bx^F{4O)&3|05_h?*(@N^d|vOb)Hh*hrl3E18!{j zWz1%{9|ZT%?)iD}JyxYkY88m_jGvcU3EJYH^V31iI(!&~t{_uBy2^u2b!5|p%`aes zy$U{<;4NPOYSXRxjpbuuN5zI;R9;8uST8D9f{%re{~`E^#BKo~Yyjm=|GiYL|5v~F zM9-?!-sWxeTuA7mkh(4f-xr}UQ}`h#8fF8S6A?nAeMS$-f2}KOjPeEvslorzy-t>x zaK8Zm#)&9j2&MK!sqe}uoB?4dek{37OO!ca;`T(*+f(%LPV8|~+n233HUCmKI~&bF z;L!d9+S{P^An%em+TF(YmAL4o4LB4Zg;DVv#Nb+pDL9G`i}2BC(-8npG~IRZWI^Hh z9;y%(?h_#zN_RXdCb55na0QZ{+9Pb)TOo03&xXQlNI4i}0u=t9#I;25Hzckvg1;bf zsvouRA@k1?i62hN!xO=MNu1iVqWH`u`Aiat??J|Q7r|Y~_&y@|d@?@T^Fof|Kb(xe zSO~Y^Lr9!K;;4+#k8uk>zNta|p)E{+^u0!A_4?i^Yk9-ZVEQg-o*wJ>)(TeoQudw+3RY&`OarTI31EQGz?uuIcc>xX3`aFY;S9J(4#jUZp8xTCc#*Syo&j^`&h!tW4fPKQnmKfgowM$OAP>(uw4ubx zXr_;wcc91InMB(E-EfZY@K-FXfShsLW70R7;`eqJbnX zIv>ckDom0I8TY48{92~H^y1bs?WJdtGKsDwDEi;6C9K=X6Uv`?JM%xCq!*3OA^{)7 z40BZZQ;<0Qst)A*N7WOmKSWE>Q@FUbgbztCnm*Z$sN~yR2cf|KD*dWvEh!0aMAL_1 zq?J)U~|M-mFj=x+>)Cu>~o50L!#CuT4&Vmi&9z4F123r8%*kkJmEoL)4gIHeB zGhtUx73nXBjbBj74r;{*5C%GfG#LB`uz`!Tv-g8Aw84#xbAk$Xekua{!$vpwG>MIF zq>9}}V<0{9J(Nw08g|_ly#(#h#qQOnE_Srz3%iS;i5;B`gtq{~qk*7?oj5wEO6p)I zq6`v7fn$c~aG?{3hK>)y&A{?y#L|LA1C>R#Xki0vRne9{rFb1OhxD!!s~AG-I=trq zVl_(RI;n7-+!Pj`OZ?YpTNk!9ac2whwZb9PApd%;fOM{h{a@6%F1l7A$_k3>@2nLl zrR%UXXsvR+9czWh!s`5GO%O{CCTOVrzqBTx>VYhlU)F8n)&!KD3~H|Y(>1|c(ZQP( zKolMVIGU$K*A(rg7q=#8FFgy=MlwQ<^nZ6v&{K4hC;5uzU)-92@ekJoYX5Le zp#Klo1kt4Y3^K!Ld_a2%qH7Xy`wP?=(BG{IJX@UJG(-11~on(EBWStJtD=JyJsrf|w~b{5ug%DmA$&=x?2rBK+>CDl^Id5;!O|8@uvHvdehw>A_)BX z-gIBM_jpd%cG7ScM(~9Q9uMi-t{M&qok!P>)Cfb#MD~Lec%B*b#Nqs9YaKvok=X~6GNpCS|o}}BlNB)Dud7qqNprF_lcr%2#pp+<;@<1E^L*) z0w7+k5Jf;Hv_d)n!fJ&m0W!1|(h(4KKq69qrHf5F18<+p*q2d z!))U6^Vv{DhN?t3XwX#wsb5$b3M(D5n9qgMl;^-goB=3Vf5K37U8YD zVW1~0Ee?#eY8+-ggbK?8o+Y3$a?$xybf?ym*$gf}kMt1cv7ly&wCIWVLEKC-h-~N( zND3ruqj1~;8ZihBN`K*y1*8Dyn~5SqO@_m~1C5!iYB^(`WVsnDAR>LL6SS0{ zFuyE%BB+9`hmi&4|VO@Gg)44Glk99MFoJm<4Q!Qbo}jWOOt*C^7Gn zA?Pt0wIGNMBM@lGhALJfM4%_$hJk^|C^Rb-bhJ$$)huFfYN$l;g$P7`e|B9;dIE;w z5|s5qiw5zi9D$gIMnYnNG*PTDDiYz$9ahi=VAaI7G4GxLIPYp*q3Cn*WspofBH&3w{Bx$ODfOuz~(b)C^+95s;0o zfXh#ZlR{vvMmTxYAyNj_v)~XXIR#rK5yRH(3m1|!r$e?<-}k7kG(t9re4t`O*C9>h=7}qg%tgj4##m7xn6#T0-llp?tAyh)hEEu}+=z zw!Tx`S^7Tc;i}E*n=J-+T3Nhsc$MziAFo~wJ6o`;U`V=>qV~KV$t;D~NcwP%tJ%XI zUZ@VSyU_SypY*f?T|4+NJMyL!ToqV+*z3(Kdw-{N>-y2XdK3nBGz<$KZy~p(A#1s- z=iKBIUj10d6(32Qzx%LM@^tTsj&b44CGTIwcb;Z=ys^wOp!*}M@ALa_=xq9E*OmvT ze8*g#@oefg=bW1GS=+yR+jY3yHFnI@-T_68HkWU%OY;vboA_h#5--lQRXaC77Pw0( zGyH1ZUYZ@Gb(r?~jOS^CCxTF=wJP(h9rCV97w*s={6%TU#xHYsJH86t$BWu1D;Iii z($K1)5oeqACft`FlbbatRDEi{%0q8*Kbe~@xzIyxp}mEfdz5i$LHE5S#+8GX)}G0{ z{58oWYt~JLvnu@5r8j!NuJ4&8D}Q_5d?&-{x>KwR9?9n1_8M|K<=Xj+vG`4EupMaxZJ_yOi41OY^Xm-Mgpt?kk6lI-Iq2@!_s}qN2BROWf`(O;<{idvW66 zLfJmM`>$9!G?Mvrzotgum*o1(Kincdr+%5c_3YPeKdKcQZMrlijGXK6rlRw1d(F>X zKL;!r5T|wX!u}BJ9L@SJcZ^oA^tidhe@Vp;|A))`R-35Gv7J7tek@2Hbf(;eeQ0d# z&Wt+qlBD;W=1RY>WNi zF3MXkS*kDpsCT`KN&mRJvafVD7Y^fxYurq)tT}n9w(G=Ki;b!RJZ61v=v&s(vdGwV<*&>6lYVT-tD2f8_iBp^@5Q-yPfaBx0w-Q8P+ri5 z={40pbmNvJJ#&Zf&H-Lya|Z-(-L|M`{gTvg{rXK^vhDKfhql89Y8NVvPujoi%gPU) zolec1ytKkUkk)gPKC9EBx%o7YS4v~0tooixD4go#L4o^9^0^%`UgI16ITg?wq;%!~uEtg1-4$jM8g^B)e&Q+0xP*)WQXy z96H@QH^jBn;N0h}CgTd^R-dcA<`!GNlAWd0&*Am;Pj+usru&@bm%eR$mJs4<*(m5E z;b3jcwoEqd{n32m=sia_C3|m||8nYMQg-sH&OPo`B+}B{2fn>NGk8f~4XNjGd*4-Ja!IM0eh%=$~@<^{jnCU3$v@2&^-Ec$PbC(zi*4J+fWu(v$U*{8Kb~ z^^?<%PUEg%PS5OgYu&YSt81pJ4JEh7PAW^Xx@LDu;IQ7x%~E^u2sMpQ`;&Tyf1%f& znQJ$s!fR7;H^Eq^P3iW#X&=@eIk7k(bJwm*hh_c!qs|=ztyR&hB9hCc<&|BMKRJ&u zc~?5^^MUhGR}1RQrJ6hpX9RWAvXL?mQkt9Zck6h_sn>7KB{QnWPpPTjvH#G(ZrVD} zJ{Iel_TF{HUTN_}gR4uQ-yU`B$RdAN!OVMi^d~$Lupa7M8kOR{I7ar$7pGwdmuKjI zk?e9b!(i>)E6JsgDs}e?l4ZY#gvdMgFI|)!EI1TX)oD^jL{Y%vIWb4Ndrpb1b8RrB z15`vkh6zB61wCVt;? z37yaLMt47y-mTB8Z%>Q5uD*QM;j#UGo$#b7GiHQH%-+*0W$3XrysoU$Zcm3ykzw`U zmAiS@4c+1^+|@FDUOF22Ywvs#(ClZu%6h-L+=n-X4=n;OpAIeP(bHv=%-VocUDf?& zc-y2o%^$2IUty+Qxw$&wW%tvcA5HqcC2pUMOZEisridLYWo`~lcQji#)c1*md}?f- za<|e0M+!f`jmjP6yTfWj&?{vf8<&N__KOY8rr8fLI517!VC0t9U(+Qv4;-f_x&KaR z=uUI#t@hKee{UGAe5!8Ym(AYV0T23)Oy>5vZFJ&d-lcCkbty*Dy=Gkuv>SPFle5I; z{ufuo=Vs5kblQE6sjAw@^lSRdQ({d&%XVwrJ>D~YL*Cv=CG{arW1d`AKjzW6{mbM< z6?+{g>Sj;c<#Ni?u559yp;n>wVKY@jR@QuR&fi$0AICCYzvE%9T5;kvhlbJps#zmX zUr$N5NtwmT>{|Hym6uZtLFl4YjZRP7ayH zJ7}|Ph2fi0`4?L+So%m@bN%rCq@%NeyTbk(AKn}&+&i&4;>xNIo|lg#_B2bLUSLqS zzQ*({pYLJ)$?*EH9x3^^Wxs|_pYe8Qh5SMD;sJK|pWX|ZWqE+tW1H&1$Kx`a#&%ad z;H?&0q5C2-Hh>qeFxDeFe#aS__QuKH5}sN+U%M;SWSCbi9%|6zagOSHdUmed-MTki{_R@kr}UCd8cPMUkPhnf8Ik4gIzvR_y`D$TN! z*fY|VedW5>Y)|DOS5E;TjbmQfxUP+PRQ<+rU7}`IZ7jRN@_2y&8X1=)Y zSo%GnbaCUXa!=!99a43S)|K}^E$@VYK-2T&}d+j#ZldM`Ya0Om<1tJsvZ|{?_!b6O$GDzq#SRF?Z|KJ9a7Q zpEY()duS26qGML`ApfP+YhK37rg9hP4e0Y_)qrls1NjvtTM`TnKi>}RdL~F`*xLn~ zzPxA0%K4JrYI;}A7;gGz_0fg3hie>pCPAJmTNyFF3%PQS8WJ784W2x}xXxs?|96{| z2Zxp)*X`;TzfJ1iw5E=?PRKp|p?9;N!qw_R{^H~}Zie>jIhkFof@5-IbfO+#;jyQ+nH9DT3 zRGe^6u|GXR_1yZt^4WoTUB;T<_h#0vO&3vJ6 z%IFD_>+Nir&%BD~ndVP+^6pbDuaJ7UpZ@quK2!Z-*XV_h%97Ks+BZLF<-pZ1AF&MO zp6gkLveTw3`DrOcZ+y1tYpwnST{s!>($f77yt}++Q_su3lRmg_n|f<|ubuBJx=h}z z{pnJpL_^Fv`LDH!yY}C(8F8X`+F0Y>G9}K>UdMj2nUh!ff%8?vxIE$d`m4#=GoHpd z>1A3oYc85P9nzXFqix2!+)X|%^s(Y%FMpks z*PFBV6=y{^X7`3q-{tRj`dUisC6h}_nzGCq-_JKcBQp0t#Qk}~T~-kkq+(dNO!WRyM|M@^JW_UNA( zYw;v3u1jI=)QdqWJNx;(f7kC(nfZ6e^B+!SWUh$UTDf!UNZPl)t~>Kgn>sYxDOJd6 z$ey*=JHF8OioML%I~#(I#wRo%aIQ*=+w*RaZsHM7i`gZ8X)_DG6>ceCbADCmEL)(x zYeAol!TdAb)i>TT@Yzz&4=b1G_{Dk5giP~9sdJnRrQ_8#*UC*!t{xaP{GHCT^AgrU z`+A1ze)P&e`yxxlI#VL-hR@~3nt>flKUi#zOgk){IBb?@x5Tdw#ol8+r<&Yd_d>?M z%f^ULO~aN%e}7b0`XqDt_dA6@JoO9sUla4$+V8h|za7}a%jMFoDyP~@lVWltoHp@R z+)GNOJ2$_x)|XE#%egpp%Fw5)U;EEK@xXg{|EwCF+ux$(_l+5K&xbDIC(kJB9arEh zc(`a{ZB1>uWJ7v>D9hpT`FpnVo4Y3|KTUYN_`IUh_wmnN@}CyGy{f@>>2P<;L+6Qf z|97v8k}pPj?AK77lrpYv%ev@6#U9Q}_lHToOz*nLN9O4qKd8uUV*hW&AC18Sek3~p4u5SUYf;P*JXgr;%f(8 z{h!cZM)cnl+* zSJROuedCqZj6E|UrS!3Pko<^3mGLrLv&eaV9eY{rR7x&>GOLF$`kumElobUBW^+Ni>3BsC$2r^Whp&A>Y=h^L-P`?P|rkq z$pK?G1;(e!5X-$Xjb|@y_wwxPRZ}>&kA~X{RjsVcarP{lWhSG4x{`i}yhi(Bhf|)@ zbbEJQs;bemlkLY@B`tN*g= zq{N`o6>c9d=XzKa%C6bH@2Y0S=D@<{$OjV9^S?@udopswz<@YfRLmS&7q?mJQ$1eUYjO%l2UdEyn0T#eyBsyiGoEj?^pKOKGABH z{cD<&Vdi=!!*}P^-tvc~)0<_~jBSfuN3OW-opI#Y{i)L`0^a9u4A`_^ufNs)axONB7xWuU0ato7O0Q-oSZlo(fXmE(%&!BzsX) zQMX1?pb)b1YQ@_DBRXrDo+|L|b~mW&j9#k?FR|47ecRXb@X}$bw2U=&>B0A+{3TQ5k{3A}q`m(#ny;IAW2)we_c@n(hF#JaF*l~l^A6+3 zVej-XEz>UP^UO{cjMT^ceNHH`wd*CK7{@?&Es4Cgqiisv|L|$7tOd8-JWH9R+B!m zttaioz^)zpxiUT92P#f)Y)Z0zE+3+{>UzhRqw_j3mArP3da5$&eq!F;$IFcf_4_V?=bQ6VZ$*vH4XsjSrB%i3 zpVpvxW8{WPxlEO^<`wRsU4Op`=XT$<8}2?hedF8NISFmP7v(2&6Jlyjq8ga zZP{M+=-TM%oj?9)?$_9BYWRm+&YM_q6FW;r^t5YUQIu3_6+S^(b>g}kbqfrmSMFb1 zX7}UB;fvv!mwKnfd!_B4$h23O~I=hV7p){mG=eN%JitlRx=spXB42|LH#esQrR zCB}2--j&Yk8QTx|>q?B(8XJ9Uen9&DE@_sRKUvE8ne!DQ++Ka4JCv=^3tf@&^u`JY zN$FkRr{v_0IXbk*_->E4Tl;R{zTl8o7SrhZ=?&#rK;$9m<+ zy>B9x>qTa~Q!)xqyt<8d_QK{9=K57yXY6S-g7OuyXHkN`Q*^p&0X)BUTHQ@*j}HKHuC+so-yN$gtZ)X;1;uKcuFQir_eLnAiVH4Io~ zJ-6YSc@J*zj6qAjxQ53Hu6sPR==1Q4^r;7%4u*EV6l0+hcq}kH{^q<*9o{YPoN-{P zmi?C*=7%d%jG4JIW#6^=7U6|IE;!Ckw4a)~T=_&_`M#&sR;kRDZ~Vd6YW~*g{y5*$ zuCoW&-Yw{SYwhSEO}aU`+a^`j=TFFfJ8Np!t!sH>t(D>vuUrdX@5-H%#~-%EefY6V z+IzYvDe`4CL=!FSKXiFt%OSj|((#^j_tks$Cax430r)5-m%-1~m zDa|bW{$-nfvmQpgJ3C|4%S#WgtE@0}Rs1%RQ%%1;*WcZGxRX0Cbh-uPscz2)3w9@0=Am1o3?fXdstP4;86Hq~%qx!=X8duB3Zw7TqaCV3vx|MhEJvFy z$@XYk!npNu%bsZG@v=VxL#mFRG7ju*_rPZk4BmS&e6e$mlF zVro_CTXypSP1*Xe*I_C*`!4yoyZf=*OY#osPik5rDA-{)x@?i}rcEJB_cv%v&FJzv zf_C$yrm@3QH;;-sC#LEQ&vDKj`*re}HaXopV?nm($P}YD4_1dhd(=;7mg`E7zH%#O z)R{%<_c0kUvGVO9FFp4?S;LMl+o|gvE5eFgma4wW8L8!@FM(nvizn@pY%|Z(lh-x#cy_yVABp zWYh4qu) z^W4FMH~QYpr*qOy)E@L&IM66;>GY$TKOUC6Em66{2urNa8etpR-M0QC^R0$_Xr=YN zA*V;oj*MPhx4zbW+Q$VhbxU5jzS2u&b~|7hP^<6szTtes(-mFsheTCPDwyzadZXTp z9uExGFZniGzkXD;+~-5Sa@i+`uf;mt6rYXJKF8i=JfrQ{#}lax_#}o#jx=` zuW9*IJ((#r;l!fZy5l|!GVYe!H+-nStHSrsn_k@0u9*IH($x!wzmpN+YF_GN{O&B^mCua8PNp*&#q zHB+yKvlpw+$4y^vVWswC$s8%g>-+?J{^7k|)7jjE10tkcuZ);BDsbyl%VjxpL;DmK z%2wU<^D{f_K7U^FjRi6bS4Vt$KY;s)^&*SxgU&pO0Tfzp=Hs!*K^~Z6lEUh!Sgd(J@=A_9^I+`YlGy$bGkVlAHL3|e-1k@ zE`#;LThA==s9v)ztswV`?#aPwSpMF!$1qfPDom7d;sdnhn&s=Z!s z8s32_P~g>BD; z7Z{8V&sJM>cK30( zoN29V!<|lD)7Ny_S8ANIF@Mae4fHSj*l&)qXP7Xze(574J!0bVm}y~Sb7&Dx=7SAr zg;`!V)*YFcq%-VxFgx#zL$E>W(XSn*Y&>zpY0f~^4mwXWZBB$|?cvP){JpN`R@8|t zFPwX66hAsX`ud^lHwPie=hnXR(DHokq&E-^^I@W`jX)O|(w z%(9G1}i0ug7 z9qb~D(hoUGmphIbXtQ!<{nOdDV_c^zEt}k9z{4GZy-Z(x$^GiMD&oX|K6?K9_RNp4 zD%yD6pX;(qiDC9~{w**J=Ub6TbYTAHw<2Sd88Olp%35n>;49Kq zvTSA32)QxJMUqlZ9oqb|l!M5{IXDpUZ~U%Q^y@>Rlx^9ZKp}skpBjC`DYX7T+_d}& zKQ)&l>aqnSZ`#sljp_&gZk4DD!1}?j6Z(3RI)qN1ao3}8(hr48xRDf&4zD9e;^W|! z;6s2varAv2YHy-$HULC?Dv;!}n8K+BMdGU{oceH&#J5m5_3<)^)5t^cp0uGhmip+A zNwZ`-I<=VPAUuw4K^`;wW*Q5FNS{e7pHVB{Fq)ei@g1w1r_UTWZx3I;R>6j?d@I?5`#NqI4=KU49EF|VK^=iUktth!*TxGF&yWA6vOd+rD8aqZYGA~ z@n2#%&c71Fad~9Pc8baw=cA0_c)AQRxE6-v{D)yU&VMw9<8qF{aGcLn49DYpVmQt} zPz)Y{;ds6_V>q7fF$~AkJ&WOZ{A3Kr<7Z+xp6){o$N4t9Op9#!|`+tFdXM&j^TJYaKzv?7>@Iw zjN!OE?ih~q_s4Kto)s95^A}(^9zPbt@%Zr=j?0rE2EUBqIRA7p_+1Rg^OcL?IG;KU z$K{bCReXrfUmY+U=hFql@%;7_gZIa9T+U$_j>|Iz!|`;zF&s}f2*Yvy>%`zYF&yWA z4#RPIk}w=kH&qOtiQzb(hhp$|7>>(dh2glIbr_EGZ^m$3&Tiy771b}!rw@kX@%1qr zmxm_?cM^lUVmO|zml)g+!|{Br#Bf~BjTnye--qG2{0SJ2^SO-Sc>EMG_#F(#)6K?k zoPRBbq7fbPUJk_rY+Se<+6IeAZ$(9)Bl> z9GCM9hU0uPF&t0#A%^38o?|%9=N*RQ^1R1zoKFpg<9wPh9FMOieBdPN3zw6D z;dr`~PDRmq)j|lFmXB)=IIG35{R#HggOmTI^=Lc=<7u>2Eq^F82zQgL2g*-f zQC!@K)0xm-dL}SyEC21KXOZ-++5})ll>7|vV2**^qgx*QQ2Ll@83facbchR$A-uHw zQ{_)xDV>h`EiuR&R50Lvr?bHg;)s?hK}XV~d)$e}4T3;~iRRywr1!yz;hw603J!o9 z^eDxm0P@N}8&2S;Z6DN(P?x3XDIE26(Y6B+&6K1MMIOwF%HNjkD0(a@zZRJ>G&Ug_ zMAJvZXzi9fNtxYZdUT1^ZpW7``A)i%|5G+Cx7VJ57pgF>qhCKcg zP~Y_5&$c2G6K&P~|Fok>Z8eJ8P}G35scpqQNDxBL_*muk*h@swQ62yLbRCM0%xq#z)$=VbrVJGnv zZmZ&!4~flO%Jw1Qq11=By+l`wn?kdN7c8`_iNpXTMMwr0g^`&qB2G4P%V-g%f+n)UQ!8) zTt&xHG-M;5qT_LU>BX%D+Dp%Zw2@4$+5q^A;D=mGdlq_W4Dw1{Q28Kw(YaiK%;@jt z^6?}+#gDp(lqaKCQM2dEh zcAHE{NJUDB@t;vDTI^JrmCSUu_D?1`^u${r1(7;1gQO@nzymk|8?cl`f;vKJ1$OFO zWk&+1Ji?;G46o@Q>mOPQd z34{t%1a?C>%p7K#z)DLyhbU1{y^sQ0D1>QC2~!m+tOO}YeHw%WMj#UrOJJqXWj^Of zWaOm~N_4F9jR5MaSh>}QP$Kf(lfenkRo$-^2P|?JzpLHWeX@SY4bdLZH zucc0GKnMv^2qYr34w9CNj^#vHktmu4RpSCH2Z5avhj|yQ@(HDYV9>?Yk`*g5|7?CH zSQ8?Dv1Bj%F3jaF>xeNDf=)p1a^Kc^(D&b zFEdHC{~*E&n$hnufgDFLMmj2&9@U6^E{jom5@~s0^Q{0Bra-3`Hc(Q3 z5TWvvY@j;A?k8}W2jc;eqQDNaoTJ@BP3W^Jr_|(tk|8Of?iZw1i|lAR!m&W$;=?9N z9EvP24XJ7YZBCSSEOKN3ZiHGc)S_}N$c{@YI1#wGBXTb!xd=6xkWd!XxyU4;c%aUO zf=i(0EO42G8m7RG$N8BBQU+3R(Chztxq`ql7la&rDxc1ndw}K=j^;x4nGsdZ{TqYk|T#3N}mf16cs8| zH?V^o=aR#Pz=hRP1rGpEqq-AxC8CZ{4XOb#l_HSBFhvbO0vA&lXo*Uo8i26MsNosU zK3N3aUDVyuvbp8iiq3x4->&`$GHe;(2gDO4EU2nwV5PeE;SJ8Up2Y0x7jVPqyvF!Ca* zktv(TcFFy0888#esMgh@vGn4pm~Fs23)u?6O! zpc*vGSx4LiQ-taA^lY%l*ubo|;aBnaA3?X)uO=D!Pmndnk7_KiL&$$ZsHtA?4c*8C z(!jqh4Elj?K!Y`yAcPwf)MRT`f{ZZ=kTym6pB5RBE*O2>Xfj=nzDa`T^`vf<`Yer^t(u z{vgc0AF^|ZwDJ+U4E1d!%8=GCc^;_aWT88i4O{`2#ueB~BWsL2fsqE14$M8?0;7Hz zY z8Hq@wea3}gpV6u<`;0~!|4Q?W>}YchWdBlv8*QT@$&Lo~>D*{n4QVdi$*`eFWl^EX zm6w1G7BI`G3{A;~Ukm0JyTBa)JxPGD(}=7%66O-s;l`F%4Yx_QNd4aK+C0k`BbpGXv_atZU{Rk zBEnWzU>N8#P4rFlkv?K^d#DTuQzx@E8*K`}9_lJdjki3+?5RLDFZh@&kuvu8S?xvr{(OVFc$rAf@ua>9- z2<-;Hw)SK-#NY;EaF!U{4sf(bJP*|;IHF$RIu(8hk3|y{IHFGB>Ic8JRhdUD_`qVwyjU#lBaW9?Gyi{K}nDaosCBh?F&<{@{k|xX(NX)w2wu( z;p7d%J5nHAxfqVW-=2ZtIDcOZ$N4YEaGd`t49EE&#&DcZ0*2%1-okL4e-?)0{6Ati z&Zic`@pPrh%`(yQ>4xDre-jMH`H#eKoWCuG89VL_|p6(hfKF)s! zhU5ItV>r&|Du(0f-p6p9{|gMq`G3Q3oWBIQSBWs3zbb~~{M9iW=g-D)oXr$y3d8Yq@$>RH|2Ql@&i^Kc1tp&&R-A1asF-?j`Nv?;dr{}SpYc{7v~>^;W+@Hli{Utb%C@g4|12y% z&i^xp<9wPh98Xt?oG(QAt716L-x$MjJ|i(4PuC8^@$#91;W+@Ig!*HDcMGVLJ zr(ihFzW~E=K4ln=r(1*JIR6F=$N6_dYbJ1r2hOJthU4iPVmQu!IELf=oiH5d?~36# z|G5~B^AEvroc}Hi$N3z@H#!*HB`A%^38N--Qyw*kX({*vU&Qp5x2-yg$q z{@NIh^Ebh8oWCW8@G~$8engZVboy9K>)u-9!w>`KMqw&OaZ+ zasIC{9Oqw+;W+$NA&uxN-iy$aOyAf%6%F;dr{H z7>@HFjo~THM#DIDU1<0DC&;=_V)yE{QBxq3_pceQ{@oHlRihE}m>Bhz&}IYS&bI z9Z2HjvJ!kk*C3KEg(Dug8v-80^Y79#fwryuw>Nz*NsqT3fLaz4VT9-BAC-R!VZjYr z0-`JKO#29ZVPu9;aiBV)=&ACv1q?-@`YqfNE{q%ue|P4{1!9YqDPoX_52gf1;h$*S zIRGO}H2;@L`gn{M-BR*Xus7VamH*4+1`dymi1Pm@=Z9$wAz?5{PhCXiZ%cL**BuS^ z;1Wmzl%2NH7kB1Jg>3)Sz7N3+{zTLFY;98hw`YzF{$o@AKQ`r~ZDs#sQ=aNk!mAW9 zinPX%Pl`r9_=yCG*YP1bLJ0}mvMG<25cqj&%4Rtlx>ZEdLtY&*IP8^ECgq7U(5;Qi z|MjtG#CJFP1Bb?7e636Eg^J?;u_;d!*DrM>ZY?8E?$J3$i_Qh&)-vs-7q^yaFFgxHLo$i3B`EsettG5UdbqT5|FJ1AEDi=);b=*W)(xWV zN8DN>gIwI2w<^`P))K8u%C}=J@gJM=#d7G>2s?UAbI^Zm%8NN8fSR4Sa{@LHMx7Hl zgxdGd_x#*8-t+&TwJ9&URv^j>itBHz6)2PP#KNGpQTgAm6&^#H$ce5AV#%=y;Ye0$ ze~JP3$RQm4THHVVHtJvWg){>MMp;A8&bVWd9;zOwFwu3JxHUl;IVMwc<)5wz-jd}_ zrAu8!VR37M_R@=66SS9}1%e@&sC-g#QuKd!P4FL^^1_n*yK92@_O1!$`uX9XC=2by z3%^e4TEsVrpbq5-5Pow&-2PofmB2;Z z9E5Oc4(f`M`;9~G`QP__FZm)yL`L!7_lk~O!uMhLb0?MOe!x?7{6fiyI|D}Zq#6et z)AE=*)6dV>1GN=&a!YtzivnAYUQqxQgUAIXA!-Kr^C!6lM$8-km*y0zK8V7BKhZi7 zH>Xg#3aGL6Pv;b8DnXHJd*_t)(uR7Z>#@G{;bmx<~y1h5cW7ZlUUh zDhJWJ5jV$}k^=`d#-TDpZI)`*)EG68#6`y`M=C*)tLPXZ?zyGC^y222_R_OR`Kf$T z;!^Z~caGsxj6|-Y`TyMpC#zTqG1Vn`tO^-;PkBJq|vMxH1i_^?gQp$vr( z6Ais@BoPbdpuZLVcPA=w&pr4YMYIQwvI-ZQrck&!Au*|ktBr8izX&ITez~A3{NFUk zQGMx8=Qz}c(Q_DsEFp@I2lz$DV-zI>ekeW*dB9Qe*Ta2V@r83J>IB#v3f}h2q2i(; z{O1HLoNvjv7*0LrK?pWow~GA}7dtnTM<|GK1dUVF+^mT*4-R3}{Ehs2=notkchGqc zDn2@6gPdr5dm&83M`=;<85oX_VJs1xisvqZvq=9xKGXHzWRG(al^^md+SbIa73PtX z{|1r{l|SnH@}!??zv9*kJIHvV7sLa1;?@f7r5CqWXfHhrgh4Xt<3hnbMgMo#3J*m1 zQC`vfi(4z?kOYeSgDS9;$7xz5MBj-mSG9Gmil^^-> zen!RPkrBhls}cmDcbuZ>BTRIiiFjm?OphWD=0wvMt`&j;+q+g^8vmC*j|$fU%|RM! zWk|?>_DtHIxxPC}MmU#qe)mX<%Ibg9TutO1^7N;3H940;Bf;m=pul#`rLCi((ic1D zQO71x(?$L5cXQJJmN|y17gRRLwRevBr_ZAkg~|Q$FFHnun`7EbFK&)$FFgw+L^6ra zF%SL~m!P>7e{V+R8Ldl1$15Vo#KHnqx+iU3pzlJDpqXwh z@5vU-404+@6Ft%q{Tf|S_2KWo7zhN1aI9)+|69gl3Dr9Hy`HlQ2nO6OVjGsVW-1?4D1yBr1{?fM(&xhUc(t&&df%YkzgL#aJTM`zH+ z=E9z6&Cjw1Rc58KyqN#T-n+m@QJrDqXOqo+lMN6dVt@r!O%yPjL>`?g zs3=zvD=NaGXwd>maK~jeifyrKiDc@uv?Uv7>Gz|zB^PHY_|e-^h_e*^=xr&+ zSzIT!#UH-C*gxpFlk^*}P7L&Q^{#a#y|cO2>DWRqpzOWbm9%zqofEG?cC2llfERU5 zuGTfig;MB{R_oN>#{0mW+E%I3FpBSGZ*S@LHX4D;A1=7`zhrMMkj$|kK}QdP_sEal zuT411ffM`nM`%kU&a(GMZ_9R^W#^CHmQ6UzwjaGM4LHlX6WaoNtCjZF73O9R*uT}> zCc@nCo=%vo%khrhqx4E?ZL?Fun{js-_GZK{r`GD#-iWdwJzUW{EcJ+m;3N>I5TLF_ zfEsD>&TXB8_!B6@>r&GZ<}v`(5|E5|hnI_Am$l#G)|Sy*!;fxp9^D!Vc6y+*fy)lA zY;g5+=Yu;R-1*?nA8GN0&v#*Z9zyBe_;H4MLKfy9K`Y_523vmgo|N(U#GX_e{3EpO zzZR`oF|1X)kly*jFOZga>l$s|y4^N^QiDI~9dF1z#~Zpf=-1rUer@C;uU7A=YqWZ` zx4m`E4sYFlhcBtYQ@6+JOWNVp+>5>1wa@sqdXQNC+Gb-PaDmbaKJY97&(iPMrxyD( z=;!LGpQ{hf)ki;9PyJk*aIWp&!PEHd^}V*~JB~kudbH>qo%DK~hkBf+*Q1kO54>gf zTD+o{DVVzKUW`JEh9IzdLV37xoISBCz&;&p+-bkP;B zzpi*tZc<>X4|u3P%tQ4757h?>d^am_hepc^Om&8_QQO(rsO>N|YC9BoBr9--b^aa- zOm)WYRA)Gw{WgCR)fqojXDIO99$kig^!i9+(fa~Efa)^>^%VALb#41s-x((;&lHdSB%0eUXa#r0RWj<`kvsr&Hd zWx-L#kRCPSWf~TNfAi+e>nHlrzkV-^mtPhK4jiZzwY6A%d9T>JSDbzJ*;k4yuLM-P zPwd+#KKS5+KZ`&A8AW^hioShCRaMnZ;-;Ih%awRzwp*Nk{`tQbzyCdU-S@Hh_+w$Q zSS}NnU4}#c+(Y!}A)HR#x6BTzxf8`OxL!^2^0P{_&5gV(L_!dVWZRLSpICrN0rs z`3~H+QXAyB1a4Ss)4u#MrT8Zx^@Uj;daFv$*+Yv0}xFXT`J6qRJ_o#pcbTd-v{U zVK$@cf5;FS8DiJ2T^EWAFGLdty(iv#Ppnz9rjzK@2~Bw;Pvqr^Awz~dCLVhXO}e&B zl$D8#FTVIQ@!4l++S|v)@#Df|GHnzaH=>DG*Nggk@#dRv-X-q33r)S;F6?$OYSgGE z(bR+{PaP-5jT3&q|3-1+jc9u4Iq}?cA~iL2u~@tqBKXY{;)y53 zdAV4(Ze35&vnNEdq){|BivIokPZEfCeBeM&s_l)wd=nPTQl zi0aUN;=cRDi!Z+Tq4@Aah^#V6BqfPQ9(m+l@$S12-TU{7d+!xKpRYnxR6vAl*NgS* z#j<6~szr4*L|HIH%$OnWx#ylQ#1~&cq_;mV9)DcK#l`(g{Oey3?afz+E3OcK``h2P zi|yMX;%6H~LxXTQ94p1jl@Rsjxnk~I(XCszTg9!nLgeNyqDvR?)?05)6cZ;x^cl^f zxmk=JJ^GL0kAFlLT=+ZjyWffN~4r(qlQXMu)vtbuYdh(CyW@XQGO7{E3UcbnuRc0s7TM#VXWep zzx-uy7%5bxF%8Bk@G9`(FiNP*r0ZdfV#}5-|9}xfb<&r@_{8$%%O8Nzkq+&Lu?dgI zvjIj1ReCBH#wCs(JvtUf1(lk)0>&hE?AXyAMg-NmZx@V5#Ky+1fzd$4J{$sL5%0Y7 z&c!eis2V;CW-^IOFTM0l7zI@B-BBwtWfg}H zAC7~PLRBCC86MvKCUMb47xjS>LAB?)pgiJNzxvfnP#UQCt$&5G zh+)HqJqRU%s&`3*a)^Ka^PkT^DWLKbk3kv4fB^$WKnbAw&708q;?6toyc?Yk6ZoTs z&K3(6Eci7#8K&^NYtXskmRoN5B{~%*@p>ydQ`~?5{aet9FpZq$=sfZH=bwAfX)uv5 zkD{|gO-;=XbP`MjuWpTv72kaG%{%B6n9M7eqBF!*S6%fmIsv9LYYc=h7A;y71EIr& z;)g=m;%7hmSw4geQ~Kxz2v-aqJoqq#3X{6+7Z9d+?X}l-Lx?b~ZI42D;>cC!ZV!p}^$A|Aa8aS6_WK078K2O}`V37YPXo3(#no z;H$Twv0~)Nk@usKFvXV7(KzwRC!f@yQ83Bpzd>U}a&q!jXar32f<>sj@Or&JL#1J& z=L|+=#gr*iUPC2eszqm_a-y)XumqKY$$t7IDkGkL`suGw37Bqi0!}Wnv$IFyq%h&F zpWtNT=Rf~>GEM?h{<|0CV)g3PQ$PxnE-eI^sH>}c8YD37)3R}}*t2KP&v6h;{Dsxn zSsXcXqz*g5)bH4XLa}Pqsv`hl@^e;UL;MyC{=htmtq|^%tl0@SNLtnvVTGdC?NDoq zo^KW#cG&0N$W|tS?ZkyP;1hY6P^;j@{|GlsUhHhRbLz$W5l+cEUV@sCG`$cnMcMZd_Q*??Laj&(#~^Hz zRlbEVPf}Wi?x*bI5`+uVg3l4|$xA%|vnH*)0qFr{DZSuk$tp9UKBPUjz}zUC`3ua2 zqQ!X#v!t!N5f;dsRw1mB*GWYfrf6OUH&0o`A*dro`N!Zs$xB`jb*5}QhjA z%DVoHFo50@zeRdRUi$#t6?yYHFfa02{hyA@ z2#e%RS0EjsENni~Hu8#ognP2Se7IfG_HPib$vaL)SR`*X8fgYu)vpk4C~LV8VThu7 z64DIv62F96Q&y0Uw1%SNEVvzt&fDRR$qGu~KFQ0jgFB??aS-ND)_WGh3Pqg{kWP{} z91k-hFW(*Ei@e6ANK478FM|0|)S3r3PgYq2w@2P)2f{5y+ieI_WR;5$J}B#Hg1e(E zFN82jUM2=<9z~h`FgvocWTZ7R`$alK*=Y}?AC&zqL7GTe!>urLiq>I-ZHnGOm@`GS zG=wvXcBdokQ5JJA(l?57!;wZ)cAA3pjsq#5ZBWvcy+)TMVdib$vJTMlwG_4cSq66iZqa-@fx@(8eL37_@}7Rif~5R zY#!2h%06#Inn=+p5$OeGn-h3cLSdG&Ry)#O%9b}{ctBbC*BDNaSA7lX9*rtKhWn$@ zh8tmnvb?zn*OV>JK)OU(_sx`+B1^AC`bb&b@8C|!yMBVOMNwub(l*ML>yiFbG#G#| zKwh&BX(D9}CWK|mT0ca(KwkVz3_B>wd5|7c^nV2D24!upVmLsfrk61sAus%Mge}Sz zzeJd(EM^1JJjz!8g*1Rh3-4n%K-uAK2m_Q|<{-RN*1H~QGL1^6A|0kIwF}Zb%CaXR z{8E&A6yb}q)`>`iDGPoaX^%h`*CHLK=r#=LDrFmgLpngCuiqn$plGfkoulk&EYb(c zUS34HLs>{Sgd2(qN063Mw);AUPn1P&#c+$F*kGhhG^*H$VGTvqfk+c*^mQGERg`57 zLHa^b{9z1_D4KnRw1={bV@S&>Yq$o(AIc(rjbQ|hQjR12q*2(_NN*{-eICOD%4Um@ zu2UA}!!VJug;<1j$~MnOI!sajFwzkkW%fndMA_m}q=7WLyB6s_MctnvJ)_a&Ll}P2 z=w82KER_l#h!}2wZ8D>bGq| zSNq(D3%1$@SLoGr6Ht6hD%*o^{N&=A{<8;LTVJ)okUhAb<_XQTc|vy=`$E@_^XM0g zcYoxW`!P*o!Bv-dkGABHBL@^Kt)O1SgK*rV>tKi`N?58*pr zDDi~k9;-e0;8ps`cj^7O6Q54E>b--u`NKD-&wLu68xu2o(hYmu)qu~5x}D!V2~x23 zDi$6`EqypFlm6J~Px@oWeAbQBTD( zD@lMPK@uQIv`N7eiuHu9N!%Z=zw5yrLVM8wvs-UXgB!C5sJ*flXq5*a{Ib!Egg$%p zmdj>yn;X1196NjI!)w^tm5-`pXBQ-x<$?rlQVK4}&<-&KdaLaw!8Ff86O8!^#GWk$ zb*8$nM~m@jS10Z-njF<$`U+X53*DRLLPy(NsIC36W1eupZu5rk7E)x!fw8#XMHSEW zg$DUTw_)nUjp@G7_)JgeM(Eg8*`DzD+{5*y{7{W;@~zWt`m7S$ggb3TfC_J4%&#(16JkGL^M%X9cI z&&%(L-C{I-tS;KNiF(Gv#U~Y<^im7A{@RO@skctNsqKXr(dgJKZk>6{q#136uIuHS zGL%E2(UT5wW7gme*Wc2{5&bEnZ<`tzxPDeZ445=NFkTFpfN(J2mRkeY4;V6hWd9j~ z@u=~CWT82Gq#G>m2xl>`ebYMv$rS@PP%5V5RgJs2kFm#zzqD`kayB+F?dJy{PjmiM zPU1h+^LI37ZJ?c4+McJ>w@yA6o!d}FV;}l0=JpqIW6oSh&%(^=tMB(O z{U`EQZL6HJdh?AlCh|n(@0zog=Q#g+KR0W9_;{4#Gyz zzE})Q-#Ym(>B4{SSs&G7==JOPy+)+zCok>2mzSOejgB!=cEHZUf0B>73n*aTMt#XorQpBujM6w+s{1dJxq;7#!hgtfwnjgcNAb|P4S9cC z(3?)5MK~$)5inrpEmLp2>H4X6ivQD}O|YTvWNWI%7XzcEQvZqkRdueTdGW?O1xZh7 zp?S@89yLag-V?6I*yX_5TWH_trK5TAr+T~tWbL*8RF5y_<4Fgimqy+&^wTJ_87urt z@}cwRDtIb4^ttUJE`eC0 z`=7j|alDZubd;ma;^QNBCE0XY@v8ix_NaBIf@ip)i};s(06ov5p1-3UrI;1+X(EeS zm@b0Mxc>S{#&cA-&i38!DIS=gufIU*)Za*g4%#?{hCcgYClXYHd4a`RCL*u^B3ohx;eimgE=7I?=386aaB*Ut?ZBs>M55 zYj(IC@8=iEdRc4U#Wd`?eTisXrgjgW5%?0d;XMs5Yt3rjJ-;YSt#M&KDFlYkIlD0D z8#7BCYqiZK;m3Lua=?@<~Gx+Ud8XO;Fl*?aAR8qwR*$hSzzN~w}ihvR$YZEP zAh$pu&bsEze2X*)mqwHJ>vktP!*g!9<-IT_@8Ss$>Rm`Du_XNP8IL^Jd%7#9!KJO& zhWFFnvev92&DW(tnr}4xI8G7S*uwO%U$$Irc&_{)xM$+({0!L=Yt1@oy}V&queP0J zg>Sag0|d)lcv>L5=(lhS)QgV3rF&5qZB#+r#+|R9p>4F*Y^K`i&LP?{NTV{m#A=uJ zKA%+9fiwe3f~w$Pmt&(gst^^;`I>pYy?!ojyIZT5Qrshj;(4R*P-O-}7ADXn^~flP4u z0?UIrEpbKgQ_}pDOky&tEPv@q#o&eG7iqaP6Z;oT`+{(Ph#Ao8YhBhPrDFaO=s|{5)4q zOMm*&C1tHS7+sV7dQEm1H9>W`GPD=BR#tYWHfr>DNX4nOK#1HX>NQY6DB(x;z;!tt zwGfM`$K**tZPXYtNo^VAFD0`t)A5zHro}&T3wvcq2)=+-p*Cl0#2d(djS|p3<078Q z2uK}8r;o@vX@e)ZvBG0+0Jps6nG}gi9Mf1$3+7;S4I{c%a51_?4bP+YIjni^5S; z-I@${WV|j19M$S@FbuB+y|>O-^kDBCJmx?Zt&dbx572r=Wi|CQ0M&8jn`J$zPFR<< zMBPwJmo|7BNa|$ubb`Tc8H2Gee)a0rVgCTS7d@H?1Ch4apw($D&@s~oxqVBe1huzw zpy^xNJVSpfigtz@$;1uMxI?RB1;Y{8OB*!{3dS}U*{faudCj%XG1{ovxTsSsoLAy0 zMcly|iRU%0v>@Ta4Uz;`=ojWta_BBR)bS>zTGkCNt=?(f2-|Quj#}3`HafL0i>)=Q zWTW89bQz$1=(hOV_qnddT6SH!_YR894Xq=9Yj~_CE&2u ztOtK9q$)*dh!Vg5AX|5tYPD535>kYJ9vtc?_d<8T!CPyVOC9N_@0s6Ep3Rl7?-LrD z=r%RE$<=HRU2TyMoPCXOtGz8#Hm*r@Mc${180}#-;A)uaG)Q6%DuOTp*Vv}`Qct)E z97b7LLsw@&Z@Co>vK5=S6?SQ|C$_@Qt*~<|?6Reyq3LeZF1O=Dw_~l#aoDYWhOYVH zt&kmItw9bV`yrI|I0?C}8%pxC3~erekaR6%dLGw zU7&sJa{N2Jfc~TO2dlNb~(@o z^^RtzcF^%YwF1vwBL9U{_EGkd9^C{ICmA<4L9!SI9kwLkKp4YjYD5#vQm?OU1mZZG zLl$eY-U?TKmTZQLwW*eEK^ORm?I_Uq43*@f7nnuwpwQ3)x9KqK0co7e@hK8Er=tam zCEEhckZs|1kcQ|&CDk~&EwW9{utiWlqqm3jgCsFHk|mLYB2f%xPwV1eZ0i*>A?vDz zEa0JZSwviv%m;MsV%HQZDTI6C1{rRu$ZgsOHwE2-r*b*IR9hnz-SC%CE~)6>+8XLs z)CftM-mgYvjR*s+Inh^Pn_GkUPOX8K>8**ls;JgPTokv&a8)jLRT^B?r%uP$p}UG< zG^A)GUv~c_-iV?Z(nWJ*Z}86viWU_*jJP2cjgCF_(D6Oomd9yog5Q$EpLar6`{Wap z(rIny(1CpIU|S=g@rJ=mft+mcdh@?Dv@0@1Z)?78rfjXoz?1ye396+FTBO~Ej4XE;m9BS|Cp zP{XF%jz#YG0_g&NWpyICA#%YLT0M?!pkd_x$cRB6ir(0Pe2b6N-C3w4U<@JLrUo}9 zwX4vUX)bgHnFPkY_1X&AAN$k6$=#vzp&2{!vm_sPE_y>&$Qd?gYAbLos!}VPL3Ppl zqwUzJX6Stx(wl?RqE8^d9T6!ghm!=+mXoBQcaEvnjhAkOu9)R$2o0T0*G1@E3K;IJ zB_&5{w?C6~+|Vpajc}>Qs5>iXaBvDI8Lr@9t23O@9oPPx8cb=8VI|g@H(?=c=BN=U z^Z^{ljuKWQ#~Krk+#!>pwfcpn_sPmSI#{*>T++m7gkoCbc*~`&ajd~mBY00NG&DFW zA(*Do<;UP~6a6LzhsR*>hmzrD`UM`RZI&ZrDjb!lEej5h$4P^uk~F$dL__L*i9xz% zS{odd42KgOoGS4|=e5DXY0m4MV=*j>dXBZ@@zKy(p}S`PFAk8VMGcSwQj7kb)cgkw zkf#1821rwWx&x$fZ3Co9KeYkUn6?4Z=%3sG2}zQEZ=`L2gkl>ri_ zjT-}`%>SVQQaY~p{sad|mi7inxTEsZA0Tz6@sauejgNl#_=pDK9WKv2q2*N0t%}>W zWo6e*TkE@&k8ovVbxQ5={Ne@u?7id89CNw9M{#LsY-W05W>)94o+B=Ib~<)wT~Wib zHOb>9miEoIC1$&dU1pn2*dBW@+@rCv*4DUtS)Yd5hQy363EiH4qUy{A6%SbHx&2u) zhF!Gu<=?FB{Tr%m`oB=(1sFy#8YNVtN;b-Db9DrCYM5%_z-ZR2|Hu zXHnPHuCpBaY+2s+&8tuEXS4L%yJywe)25f?&8et}U9>QC#-`16ohs+ek8h}3oiuJ- zF`mgPPG9^~Mc<}9YtOZqQd3`fY5oO|J#>FhU+HDmS6;q%;OHxcc3-}1W&EsZp2DY} zoPSn&=a|mVKlQ+Q+cvK_ZQOWg@7ntM*jJWR78E<3rV&?^be?^i|KbI6!>RNa~1?yBp3?9=rZ2c{3cpkH6>dG@{uXD?YYCpTCT zO0mSGr9Jah=-kCm&g(OE!tepr3oE+#oc`1)H!O-V_KG0DlVzx=?Z2li|{ z@6h4;{N;5k;wmfdO~^<$XB_)%!zGi(x$HZ)Z0OmqPuc)a>9CZ{&dJ@)G4b)X-lpDD zCJsAy(uBch(fbdMe7fTN>WAia4$iwTncn%Zg!}K@y0O>dC+7C1=S~aq69zv2Ue&FM(*Wa_lMepNznu9g(I&3%5$;k6fS-?FBA%b|wChpQ_yMqlndea^gjG0SV0 zn~xpdc&W$fO)7LG4VpA@$l3H9?7I4m)@@r?bz8b5SZIm0S{KZ_Kdrc=B*xY^wr}-= zb308P=j*q9>)JD(UR-G}$Tb%n`n1mBDfT4RE?X8eb>d~`6**Eb?$yjXR9cHfk9CyjTX+49+%3mf;; z_g(s;HfYIQ5y}MVQwdAFFm^yEAH0@q<&eZY#{$t86>$SIW zx&6?g+T3+@>r;bsf{7WOYZ*%TKy>o)J8>gqY^Qzi^OC%aGbIg1{;uRFS^5W6&?x&5HpPeXL;pfWq50!tvi zrBL(dVIt$u)N*vma+tacBAN>InF2E$4b`v3DaYYdxoFxeICVCfyBIE@5#9bYT*@Yh zyc%7a4%IWmRI?z;*P$i_P)QF|_W+s^M3+p3`9A}fk%4Yqj%H;*b&jA*YN0wVm`WpD z)Hb*Y>YgHW=>nMhBDkMybcGM@;t0B_2=3--h_3}^Y=L_2L|1HwxU-?^lc378U}AQd zT0eC8A-IHTP>W)SZ5vFt7^+hXH!=-sGzsqSd6;1kW_kpw{ybEE4oo=bV{Ux)hag_(?oE8Pi~Jp$cc4K>|~E?)#!w-~PF8JPDbnByFnhy^C@ zf_un>IyS=P9)SB=0N3(5%>H4x?OAZUW8jL&+!w>`kAo@M;EsH7^9^v7r1pJZG;16Mi=Zh9SDMFz~f1z}(sOg#V-nhlpw zK<^r&XP)80CPDS5!u>8sI0(SyZiB0R1t!r%E)cFW0JoY6cXtftS`62mP9X^4;dQ9I z879_3&%(lF4ngI!VP0bp@}7ZdmLsecBlK0mU1q@51Q8k*!Tm0Qo7)R_;DNc!f{S_> z;qDkhUlv@>9Jo#!!qozpR3^-E49q)#kXa5>U4pQgg^+1S*zl3Rhq=38_6J~^qY)NH zAiOletRD}?K{ zBRuB9bygw_OhHJfhTAPbc-xCGXoov{8m_bf;bjCuLn1;!B|_kKxLqGY-yDSD1#q+L z;Iazgo;(O`uRs(}Km>DPT3cYMThWveXhtWf|6(+yH`MuZh^Z9noDLCmhALeSaU6mf zEQ1I&E=js3sNWK}oeFe&3{3PX znB0>vqY3Ehg)lcKx_vy2+twTIdm>!o1h|wKxSUU6nh(M4%%kV>;rd^Onofs%*aVk39j>7i zZr~x9#V)8|AGpFfaEVXAy>5j&cmgV%3pLD#n|l&&Jr5?`DW;FD4?;^WT=*e`fv4cY zolwJKxSP3fle?h8b6{EvVd@U3Y(3O+8Pq=)F6}miicSbM^)Sh~a0$1;JsgI~Y=JvH z1lL*(w{|&9aUQ}%E!^i}xDzML!vVKF5iYzIA*>$max22u61cWlgo=4^^CfUueG!Tt zM5q}Dm$?<@vKTHr7op%&n0qlo%`ysY2rmwV!`^Tw#c-uBA*|#fWG#VS^AXw`;i|g86`J7AZbKNTMrfG;SJ(%k;30HT zB6ev&b5o((^C7y8P?-%-feMH(2sM9zOax7Jqf1u7)LjtKWl$e7!(mYUdYrNZr;0_> zs&MKgGKb@5cynmsR^nV4^y>3lnbCH@leTOP~DAaMi5=%gZT&HG7`|O z%h9ZOsLpb9$ug*p8>UhR7qt>@!b;tPF1;V-9)$ZzL{|)lyI4ty8r)44#J3t|oC@{a zh^}aWxKp6&gQ3bp5&aWjYF2c49b5vbMG3^V9H#4p>eRxGltPV$!2Ka!AN;)N?+50~vkx6gr^u0xmK2Uk}C*Ajwx z*TNjuO4-EDxm z7Q;2iAOzJSJcOb0aWJtp2oollOf4n7Ft6bVc^XV}Fv40XLSGf!r5Ub9Lud%W{my}# zTLE|Afw_3$qV7ewTZhn>2A4AruG55YwE!lS0&~0!<~;-<(*;wVhp?H7kQs-taT(mb zfVmHb*{_FbdJq;$5MI{8tqzAPTZ7QE8m@mmy)OvitqShI4fkh3=$Q`_UrqyMxOpGK zKpMhRG2B}cTyH$WV+>qpCBlFgA)x|pHv!>o6~dqy?yM57bS=V5DMCXsLczTVfve$m zeF%LO2*VG+&2E6pN`ZSCiqLlN4}C1xc&5{I*A>DvE8TR4B_XjI4<==!-C5LlEK}*h zrjoSu1u@RF%=xj-G+Tu^c6?G=rZX+Q1kdLdqu6*ht4pfB?*lOV&M2xoDdp4M!UyXh?SoR?>dRC6`Y5bV6lr^w3 z8L#e&6)XlW7VLX^CHzw(?e9#XU7xORGgP!L%mSMaS!RcX6 zETi=w`P{AC->d@@RGdXKRmFMxZWU+#`&69yf2HEgzeUA)d#8#sf3u1+|K}>s{KhwW zB68sUtfZ(|A~^GBsW|hWrQ*zgjf(5EVzP=e{~Q%({;-NO|8pwN{4c3E^S`d*%wMnK z%zsS9nLi;$Us2`LTg91wfQmD}Q^lFztKwY$G8Je3aVpOIzf^JN|AUG%{|hS4{I94u z^Z!%DnSYatGyl6P&io&#IP+)oGpi9fGykP3&iq~#XZ{f?&iq%aIP*_capu2W#hL$p z6=(i+D$e|GsyOrSQE}$~SjCzDsERXx5+4_l8}oNnao)D6xFH`EXZ}el&iuEjIB(yh z;>`b~iZlPSD$e{hD$d)rD$e{Lt2px?RdMDw$LTvnSy2Gk?8`Gyet^Xa2n^&in^docX^{apsTZ zSKIB(BTaptd7apr$O#hL$673b|&RGj%=S8?WFrQ*!L zQN?*Xf%9`!K3!Fu`TMFk^Pi{U%wMA7Tz{{MGyfpNapwO} z#hG8efCHSWd^*#MIihjq@2=v^-$%unzfi?>TH#Z1<}X)q<{zWt%&)09^FONM%>Sf{ zGyk(H&iwT%&irqvIP<@&;>_Qq;>>?s#hJe|bqJP7zZmjYaYOzp&it3DxK1m^t2pyd zQE}$KRmGYAUKMBlM^v2o7ppk)|53%6|8*5-{*5Zm{BNo_^S`U&%x~r6sF+=>JVS34 z=k072Xa4h4ocV{SIM;u)iu3kZ6=(h%RGj(mR&nNkP{n!s5fx|tr&XN!x2ibvf1u*L zeL%&T|FDWPe==R?!lKH*mx}Z8XQ?>z_g8V|FHv#*bYhf>GyixMXZ{;iocVvH;>`by ziZlOTRGj($rsB-MQN@{muZlDO0TpNdBPwplAK&z)MU{U~6=(i)RGj(qRGj&*Q*r%t zBB0{T|8o^*{t6Xm{wGwN`CnFX=Ks5jGk?8`Gye`1Xa0jK&ir4iIP=HSi|w#PrTry(-T9m#aAQ->TxwKUc+>UsG}Be^AAl|5+7h{(q=A^RG~G=3lSk%-^cw z%-@Nx|3>7={Fy4w{5BP5{z4UJe!q${|40>Q{%cj7`Dds&^Uqgt<`1hl^FOTO%)ea4 zng2}{Xa09pocZ^vIP)J@apq5_m&9RF<=;)knZK8cGyerDuG5O4D$e!4Ld6aFt2pxq zRh;=BS8?WlTE&_FPb$v*^(xN%Z>Tu)?^JQ--=pHp-=gBopQ3+t>?HZ)vk!8K^b7N6 zsW|hyRGj%osW{jFS`}yhNh;3#_oz7YSF1Sl|60YF|92|R{I9Aw^RH2H=HH^?%>S;6 zGk;tZnLkIxnZH!UnSZ2;GyfPBH{`G4hWu5W`5#bmL;fmm$X~^o zf0K$c|1K40{w5V?{zEFx{1(2ks>;8oiZlOND$e`^RGj&Ts5sYuw2CwTI2C99n^c_n zf34!o|BQ+=|6f#``TwTk%)eE|ng0V7Xa0{>ocTXjapv!Qnog+7->%}!-%rJvzd*&A ze}am0{b#5+^WUZ7%wMVE%>SH>?o#hL#r6=(h!zF!=X zGxNW#;>>?Q#hL$@iZg#gH~m1Bzqg7rf4+({|3xa!{G}?+^}kBRng3=LXa1Qg&ir?) zxY55V&it>dIP=%5IP`briZlOl6=(h=ez~qH|6VF?$X~?``K!1ge--EY zPg8N`pQqx?uc`b=iZlNT6=(h< zD$e}z^dT245q)O9bob5&fY6~!vf{6kcn`G>1G^G{T9=D$P5nSY*&Gyi=m z&isE^EE#hHJ*iZlNq6=(i9ddWMMljN`B%zv7S8}e6iomO0`;#~h>D$e|6 zD$e}BP;ut}rHV8EV=B)4PpdfdFH>>m-=^Zszf;ATf3J!&|1lM3{&b$yr^+ASI+IHT zXMVeiGyml(&ioTqoa_HH6=(kGD$e}XD$e{*syOpMr{c{2l8Q6`8Wm^$_f(wuKU8t% z|3t-^-_}DXjL4Ju^HiMq2dOyoJ5`+duTpX5zeUBF|8^B;{(DrM`5#ts=KrILGe15O zFPBJrng6dU&io&!IP)J>appg+;>;h{Q#mj5_fm1@cc?h?7pge(7ppk)U#a5Ef0K$c z{|ps3SZ_GyhT*XZ~6hXa09oocZ^w zIP)J?appg+;>@38(+MN}!u%JhIP;gNIP(uxaps?-;zD0;S8?XQTg46et2p!jPQ``3 zEKzYo{wi+BU&WdKQxzBb64P7%jmVAplT@7fJE=JH_g8V|zf{GUe~5}R|79x9{8Ln% z`R`P5=AWzL%)daznSZH@GyiH8XZ}qp&iva|ocWKaIP=H%(N|RYr>QvecU5ub&sTBg zcdIzp->>4#KT^e+f1Zjn|3VdK{@!URK}*Dw4Fp- z96|Jz>I)di)qkm5O!&{@j(jKaEXHH?-6DVYDCac_h$DLGhYjNVp~pLLEOGL5Nv!G1 zsh+slkP0Ju3t)8Fir0NbGIhqBZM;lR#dVYG`XzcY9Cm7$s`mXPE zI?gXBz;l&YPW>BL4N(m&mUSr>shCh$wR)zdnYOLH=FpE^|Dg}o;ds6^A=GE<2l%LZ=4IxU1psfzfwW6{K0Z@&5Z zTkx@BH|88L8p3rM=|JBk1yu>8|^fzYaIVwF~rNq8^;;HA!9}P zRoj0Z$_YC`_pn{f$Eo!)*1#yLoOJke@5|p#E@}O%3UlgqQ?+7f=G(< zRYGL=h+6$OBFU-6629asYtzvmlGXoGEHT>rePc;6BL=(r>JFZjJeztr+A9J#Ce*J#K>-p#aJiPjE-S^ zJ6HM;%GLgFiEV~H81hm3xTDxMhke^PKJfd-wrh+ND!;04>L|9I>hT@Lwo^U681`n zhVri}KRvch{vP9_3ktvQ_{fkYRiRkcLyv8qiUWx<_J>^d%n?mg;;C4kS^q-=TSwy~ z8XFnoBbk%9($d}Zq7a)GZyV`&AzA$|#Wo`!v!Pw8A0sLB?*Qjm1tl?J)#M2ji;O_i zZY(-+7ov}ho5&YN$0DBEF34n}V~!2mv=GkbB)9)p#!W_l=#4tLPtHI=dwF**3&Zej z-#505HcqJgs=lG4*mA1JcNAMr_4s1ckLqN!)2Oa-{11&S_ZvjYuiE~OVoNn2SEwAX z`jU=f%Q)`8Og^6akB&8tH}HDH#PBzO26a$GPd0M zUyCj2Qa(*o$$u-X$X1?8Y>`v9U8fLOz(^weUy3a}ZC%*VuJ0dPNJ%)hVD-CVi?R#O z*l}zz;tbir|4p&Q=np9z{89Vl$BHdw#tD^Qb{P@0qu6q)$9EK4PWAX=)P(A!#unrF z9~xV?KYvi(_Z_!17|sJ-SuDF#AGgrA zd}1mM4yHsjdlJObh}Sm>Cra(wU0d7*ZULb zTissmEl;S6C%>ytYo)!@Jr(uoUagxaRMz6jABBUDd$lVQJ)v@YV(S~85ccqfuS^H* zslcbPE55Ye@wzwcKIExuGJEi0?uuHIr>@cLsoQP#nRa_kE4`-W&WaCElg-x38&CyD z?f!Ut4bOv*(OYXW;`1_0&R~Yw6CPpm4ca%o$y!s;$y3pi<_s2OSSvq9ORY8KrWin} z&S1GY##;F{W3j+2gvDAbS1@JTKOVlaln!Zi?dcf&R9IKB*NmYm1HG!js#$d zge3&-r0qm(C(w3c;6~a`!gf4uCk3ve?PP4n(ROmcOWP^fHq&-WU=VFvupLX=mOu_| zr(!#Xwo?PA({>uR(e`q4S|G_<-B!!CJ*2LFWQ5gR{?37N*mFd-1cq;JCR;ZIy8|a19CsPBdlqcM;lh=fnjlhXe#WF}G z)?f9pwUXYoN9Xp019ltEjx$?pTy~qaW~9iA^;UcXQJd|-F4oHXaCMuCdZWmcS875T zy2WKT1^1E_+DYcKwd9prPzob;*)72`OW<}Y>5r1sywX&ZNc~O?mZi?bw@6*~0Vqk!D}|lA z>}kQWG;5998Z5PvA{0*Yt)ec0U!3hjjNd)dUZ9pn1{Pt*xk*Ppg$KulX))%hB9_ z`ud;;;xMic_90o}-NgL9VO%5R_YJ!u?;9SPHZFFDDLJhWuOQZ6JB(Ko;}E=c*qJf{ zhfl$OT1HSmeLL5Xv^l2O#WC%Y4Iwr9wuQR!r#yxvvxuI@A!QHD#<+2vOUe-#<>cx( z29OY(3{Dj7-v~PqHSVB|9Xlg1e&S7ICr-I(?Bww`P8DJ{-z*~)IF+#?4v`D(Pydbj z{;yo0oMYTP)SG#d>^mAmW^&$aT*o3=lCF}Qqs72Gn%7aQoL4_e=P=gkx1%xSsUF|a z81ht)FGd}xUFsOpIR1x@A-_1q_IEUfY~kaVqHfWPA%6qw==x+X_n*-&>OVTxINs>L zj;>FR`uYR;)B(q=)R}G=boY9QvTinK!Dnq7iA{$ksrdzp8cSc5g*1Mhn+MtbXlFzt-f} zj>z1N1_~HKB0hUCQb0J)^l0z5mfNRTYf7!wnzA%dBNwb|N;GZ4W-9VLW8D%gO*Ph2 zf~6K?JvmsKVyq_xOYs$U{n*4{X_B#?5G+kJ*5iYv3C4O{ur%ISHwR1OjP=-Hso7YM z36{nh>!@3dTo0C-@GFpSnC+f?HzctTCMlC zAmj0AUqW!mUOqZhvCHZW4@vi$R$$2NsP$l`&FPfEjMGfYfKQH{F$$N1EmeGF5Z{cn zie(tfSn*MM(`VR3&YfngBQsAm){(s7_#yUnN3C23c zFY(4YMmllEI>tn1V;!TXSYsV^i;?RXZ{b&Tp?0Q2QplN`P1-82*1)-*_LaAy$yBk* zgewIFU5oPqq--s%&LCE1?hd;WP0ibNF*dK&6Ua)b)%rD&uXKGrO8UGF`s~*>$jc&C zTPWRwN?Yu%PquLA?(^y-QjtC3FUd zw9b6P6}raaw66759D{~m0b_R5y0odJ)d5^j zej`_{LzA&2`?arp zA&3r_ru^Cg7cMKLqc>*ukX_}{kiVaB)k7ca_~^ofOB-XiyhiTSyNbpp_!%snbEE=a z__U)WUsniw`rvNTofY*am-Y@-X9uc-YXUglCHn$>Zt3dGvvl@Ue1b~`mTu0lAD0EL z#tzyV6c(Yds5AN<*9?kKI1*O{E=FN=5iS_WB3u&aqZHw4fh@upGeIfBr2<)mvE~6Z zBbpG`31kt*oST)R1TMnZvqmYx6#{t_#-NWXMYud5i!c_QqZHxVfGkQ5+!$R2TojOS zO5loU7*_)%YzbUMaAydoD};l~01{3O*rQ>L_9dJaNR7Y*xx)P%&7E`;cG1{gw}Ah$ z`Zw?UrnU8lj_)AV4(G^wP-cwr@WG_-8khMo#;a<7jOR)rt||CWi_eTd-#*48uGiY< z>Uf9;Mg0L|yY{jv%8}a3k_e~DpS-j;=brZJcZWULdp-A z;AE_A3@4Mb$Q%=640i%L76;|)Pk<0FEhK?xDX3#Kig`Ut87rvcaDaQs`S#dOo^=clY80{i^Axh);?;2y(^6?WDUaD*K(q7%E+`}hI zM!T#u_*%_j^BowU~^Amty&A%rE>Z-8%m` zszll8QZfxaKix+8Dek4{mlx?~Os2D9FD^`e?z6fYd6ZHfqqq#Sb%C?S__N*qfJOh?sR0~2%UF2u2Qar#tG2v>hKH!{0Mj4@(bFp7<9 z@r3;tb~bq`cC~nN8az46T&Bi~#unWBo8A?_jxV&M6)O{cA@hZUR{Avapy>xap;+7v z#X-b25|@paXI|sen%eHc(H%DQnR(_pRkeZ5)*AnzXJUeW5m;&cTY1d!$y#~b@%^vy zn8s0CFUPeR znrq-8^qf~KAEa2<`>10>HXTq(e+pcUz2 zhlLBymAwc#dBQUeX-#^c&3l0M3Y9|ra5FX*${Q+=hc=hTLYtwO6}zFzTf?p%!jtnp z>vAvrYW0pno#f9WBVVJ&6-?& z;(chAxAul(2MaxeZ#|bo=v$~$?>L*T4p3z*T(lkcx=9=-)~VVHfol8x+B#>&ZrngR z>ebf!a<7X zX>lb80U7vb&#;z<{h-s6E3yMgX;L8KcJ$xirC9K|1qrLkkWK{bS{oW zTg-N!3C7^Fdm;*At+FFUfOd>NL1P68Pa3XgmD!#PGUvZ+M4q$4TKPIgo_=k!PkWoL zM{4i;HN;)06GSC1F~ERHzKK55$5KF2h$I_a=mXq58^_ZgM;!)PY2jN=sw+A`2>R(=9P8_ct+6O-CDVT!He=r&j6Sebf00Zyo14_ zywWUyJ%a8m+$(4B;=Ixx0DA`AJ*<^}1~17g?Fq0~(B0EIzfgjuz4Bc4OM~uS&DpfA z-`|IhSZlgC^Dt|}jY|TUu;IjBxF(Z<`4wfRpxZ=X9|CDwjUAh1F+q0>p?wLZ$v1Xv zmc<6$v4q+Qr71dgY?hgWZZn~05=s+!?AR=e3%cV7J&ORWmBmwWe9#?F=-IS^OD^Sh zY?dVi-3f$d6G~Hu?ARRDN72vG0O+@EC{9PNOo+NB?sNfgq}+% zOO6o z?B@}XMn!a8-5PY`@@2W*+PnaF)(z)W2{X|1jY#~1IYq_4LOnOJ&UcYnYj1kAZ#>#z zXT^tfqu#5nkv?i8l$(kxK2G=Nd~U7sVPkmMbv~RECMZD$x{JQC!K<2@BwK!kkH;hX;xe3 zU>Tf13z|x3AE3C**wQ6f1~0Ii(Y`>t0L=)N!40fq)DAQQ=xM<+_yM}oM+|2IJq>8r zU>O|2Vn)vb+7)QGU>Q8YeT<$Bv>VXOU|F}oEIK+HNG6cegJqe4$%NzpIUPv%VA<(` zazf4l(jCYd!Lsgw5<<=eat4sBVA&agTtfN*$pX?NSe6y&Nl1SnJ%IEImi3q^^>qML zuxGHe=diGAfK7&^NPc0hDu%AWV@FT&sn+{mYudlXxYi4YY=OVmT`;+1MB?U0aEXrn z1q6@OTR8JF>_K!*unR6Rrt97U(s!at@DP5Qk6n#VG@E?Af>m|$0D9@mBpy(wkhdc4pY%f_Jhw{^? z94PvW%HdP|G~Y{>$D_O}l>HIhbPH>q<4~K-Kh+|$4~RVWLYwH>`uo6MUPWCoRXhre#!C_l%GN6K+*qH zj-K|@+%H*fL3tLH1BEtFIUJRrW`N0Zn$Af`xxFWqrD69TD5tq#vYddPv=1CvxxE+d z10UwM;?9;Vx1zikm0O!D3~$zcepzv#gM5n&5&0IT&%&R{d<(t|_lY+8!c$K)iLiz_e&sE zaL0V&4V(K#?hztmr-_gS`WS4m>K}1ReXzFw4Jl7q1-gfdIoKE&_)L4a2~zle)1GEZ z31#j7om(0m-qV-@=^OVnZ1Cs87n!#;&Y`PfzI>T4{Io{HR1zq8t}pX3_>o^j0g^HbqN{l1M)R;+_RME}1uUs2i|+C=l% z=yHy_(6w>82WIRi?FQHw#uxL2b*cZrrsIEmJiq7wuV$WfzWpY3AJ}t@8#j%l9s^s6 z|LyVbXV+D)UQ~Vyof2#j9en4C58)4{3!i{fVNxcD%dwB9TL`y9<%Zk!R&SvojMp1~*+W5?cn{mm1n-AR);v7t=prEb4Kc*v+<13cI#)% z7Co7({i9A`G|m%M1A~vmHI)8fA@d{ABc+ndM7Bp2&msSTg>ag3Z|rY8SWh^8cF(|< zvtFqCe-VX8@Bc@>$*At%!1uZcr#XKH|3cOm^}Oekqr#%{IH=N$NAnEp03XkKr}Ce} zO04oH5GnIVw`+A29xblV(SI8klKs$P;D%jilf#R`4Lc1e zxM8Qu72L4L3_g#+Z`k7`1vl*R+wN`4H^cq^M5a#_`{EZ`_N6SVYl>3saX9HX|GAz8%d!Hog_Ng!R)PFywD+cQpTaR(E}m zTHcZRkB&8tH~NpvT9rK=Qb>w{Ws3e2`K#8Swv{T%eV3l5AJW1HSg`qh?u{?umu2-+ zPN-~(iSkkRQ=flaP>}b%?~NytBjlx6{zgB;+N$3Vf0LhK#bba6vYnyRF`ODFul(RX zXJ%EcwQ2yWUbVwoWx=n0ZHOKvw9Ze2`T4a^aq-?yPYbz_pVCFdwt2?5r=uODiGUSf zTjdO0Ial|NLhYT3dOV>x`!ozEX^N@#wJ*OX_VH_37|306M>lUMfLm+fa{R&2KL0|m zR+Q<{@@QhOoYaevp<@S4>%AlF4UanH4-Y=*soRH#6^EKUN8j<(?J|2!>%69oc$SGa z9JovUq19S76Z#@=C1|)}c*68XzDGw>PjM0JvR2&SHtoZlMNBZp|4&TXhT^=uiaofP z8?d(q@$?uy1m>^$V&-}&ihJpnKr_AdNtX|v5e*Ei+A-6z-y!9KJp*SGx%M{buWa?0 znwdNgw<VaR75DyvxWblU3Dbk0FG8JgZJVl#a?8LxtGD7SQxGz?6oiN2 zE;&8zh+=tofweeqAj)Hkg9GuTvL!qW_snl?XNTCx4!DCpyqz7)ksac!mHpeD-nPH55H0C~3ZLwDFB#}Gz`n454?F07zGB|j(Pqb!l-6yd}H+w@f zMa8ZJZ|Lqsx_xFF4Asj8ty$Yo=gFo0v*pA0xaE(_lFqFy&Wc8pTU+kdR<&*lRoWM$ zUe2RCq2hSDe(xN&*67Z2W(KQ9e2Xw z2+Y%t{(t1X4SZD9nLj?01elPJJ17ELs)J2!(kh(^6ceR7lT4C3I>BIoV5<^d#TE#X z37~ZaOd>Noj?$NHyKT4i*H_!^c5Szd)V4N(gaEz;5JdzHFKUK}iC`fKNdDjNIp@yY z3^R)EZ@2yL?|wcr_nzmR^PKnRJm)#jd5-l|%ixI20UY$PGVJ8g%LoGq!=y3H6muA{ zJ@N%}7;K0Ha;KWZ3?rUv&0(vgp!an$|Q0(-K2r8$umyuLqfEU1HKu=tACbY`u{$ zq5Bovi-i!_v=>WVBv^dF`G_@vWxmj}Xvq~gy5+NC-fQ!Pg@py^k3dNbCx~i|eiXv_ zB=kXaL`bU-qa(w}ht)H<7w4@8d6X-(rC^o?2l0h^2zJ^Q`yDRQKu6`%~~v* zxWJ3cQ4{3FLcWVL)oE`h70T*aLgu+d;Sx5dS-c)x)&}^R`*xO9Krs z#_?Uzah^O%aigpo~8LUu%Zn#Y+DG{^+;6siaxRR+_{2zchnSL{DAeQ8VZ z!euZ8*wFZ>cEl=`yq%eFi=3FxfTxhbs09-RFt66eXQAfbRACtYV5waQR`G7aDt-eZ$W+0W( zC*u#EzR(o=>Kr9EfbbxN*x<3GVuPfDnEDB1M8=;dgi*2+@Yk@$MaD)PRX6hK4+8}5 z%T^H?W5ZF>P5w)udXzm5LIp?+#t4zZ95gV@o^9d+vS5mkCrDudqzTjDXZC>#qY@+V z$f(%|YK-*35|HO(z^7CA0F)3vK$nqTSos}CQx5ThLL(LZ=@Gib?XzophiTmk%6xa$pW+-3C;>s4FN;Vk>KpWv>{;VHWEB4@aZ97 zs0k6A6Ud2!3F6A%E2Unj{l+4}VvA*#TBy~Cg&H+cKOQrQLh?z)Q~Kd&@RYBTXvF!z zR6OPJq#fyCtJyluswlY$6FjGvr6Y|9{8XOHo%$M-jUi&y`?E)uHmj zk_;)$q`G^T1?J5MPZL-v-%E_Izmu&bk#q7Q7_KSzlVbHCLZ8pCPE_#|TkI2w02QBU znV-+V!TB*U_=UzNFOw|)7aIS16+e*|G2(w1FXC14@fz~XNGy=@O)P(^vyyXE{6t>B z;3bU2X5xdR!fgQ5yF(2XgXbV?#4Twfz5!3gi*%{@3li`q=AZ5%{a%G{R{8H$Zn7q1 z^Apo2ELl}Oq0)E2-~1$|f7gO#AL*>5tH7lWOMZmA>OL3Gfm?jKp)-&ri?>TzPSbtJ@g;z#0#3_ zJ(#*ZgB>^lR*6GYb98N|u5E|mw@N)!GDqqkSOYhQ1(SHHB`x4?iH_AHU#mg1hC`l) zevj685t^b)q}bk2qpC`8Z&+e{HsDBL{4AMH9r+d?rJsBb=`C;GsPBsEFtwWbt_~Bd zyLuYlv_g90gGrLpIJp>p9Kn$DPQ3gR0cc=idV5I?UKZU2{nQuWT0)mE)QkAO(7V2t z&KrHZqB!g1&!o{5SnZ*-&*wUe!av54r=cvG3(d!$Y=^62;y&1h)kA*_(&0jIC@gLP z0t${=4&PYeg5!E+$h*18}Lb6Uj>A*J%Tj4t3!=Wx$3(8Av1U(Gq&jpiu z-~X-%{KqF4&b7_wdfDgN>vOgETphZr-RIh>yIw*xVA_WeKyF8Df9Q`+zFeKi6B%>l z*DYS( zex)GkC;%YfpV`kCCIe*w1Z?v|3Nj4E0%Uk#4gH6sba0Ij{A~3I6cR35;CA}iP*%7y z1JmisM3Lbd8F14z5+#Q#D^NgJ7AgR)Y+(YWIve!>*Qmf)`i(+$z@^pO;3}6#R(bMF z98JWIfe_-q?rV87-KRb8ch%Y85r%1??U5yrn0|8|dr73uff$2=+=aTd?Jym5UKedd z`4BWb{Lh?AU_m%sX4_V-SwrQv?kBOpk^b?MuWJhtxZLRvZ(v9ChyR@vPHWo5^sF5? z`>H=BFj_1Qy{JRm@E3X%wP_nR@gr3342ym!B+&0+Tfu|#$n~S5Gl>N@pPP;ca7e5b z@@5pprv0PZASDl zxuGs+72>{+{=k#(fZ;HQv&sVyIz*=dLXRj02tDFC1B5PtL#;g2%;JcM=o4Om&?kOj zfY2#Q0m2gMTLuU{1De?HtCQ~{BDzO8Ksfm>oai4qoH+R|oai7vIC1h_IMG9Hf)gj- zg%e%mW;k*3T{zK4{BYvryKthDRKSUo@4}hmteOs|7RVG%%~^FzsDY#2)ojc?TjiP+ zCbqGK#F1`bzP-;46Z<7WH@yIVI?&9D27_Wza#J(bA|KSbnFFYcU$HDxEPN1gVoL;n3+fWV8Lv)(y_>lcX zSUoretJZ~V`S-xDc*51$+D`0MI6UF+kdQ%j;U2L*2OS8M@*FGZLVNcxy=gFzC-yFO zp*qS2amG!98U@VKZ2?8-v0|IS>X{um-+M-H_a5|}YqaProuI?vp# zzR2ntUu3O&a1Tte)#&RHco6KBKXj5Masue)MYMr}g#NDj`O^9nDDW4|K3TuvLQ{Iv?yFi1WRXjh6T1CQ}|bo%Ks`pj-tUuYZxH z&^F9QV^Hk{$Ln^$`a!Qeh{nQrxtZt-9TbHU$V+LFqSb@yr233#Xs5X(EI}`k6|y|q zc2B4rMWF>e81|kFJ9e~r2XAE1%W{>XT;(X2Foy>{nV$(`Unquym0l59-rLZe2H){M z*cHPGef{)4Vf7mzhaU`2L)U2J2X^L_F>q0S9RAa-TbbWHJs-+71ETRd5dLv!*EFN^ zz=T?9=t*{?^BP-kK=WDx2a!HGmYj{ zXTg%tGlw3E(KC!}n4!}{lbPYY?^T%|y+hXjuR%I_3$_&DNgrgkIxj z|2njV9K;}MRqR?IqbOC3vR$n=v{=2k6<`qN0OCXq8YZO${taQa}W(>p>?w--p= zhyfV~28@aiCvlhy3>s%Abr8KfC6yy%4yz)iw5qTT^EgS}ctweX+JUezfco)7e$*_& z9v3H>NJEx`CE9S}4Cl3SgJ z)+Bw_8@k~{Dy$&~50pBq-H>wI^`=*YILj-=xRn_F)gFLx$oGsjI3q>`Dlz)2i{XKD zzGu>cGh#%b5~IJm1Rh{$&!h)u#E3v8Mt`*z9yslLCL=f_Mg%G``m0Offdjv1h6QKD zh(IMqe{~r=aOU^S@ZgLX5vauIuP%oNj{Tk)5u6bt0+ks3)jB+|>NsNy&JaYP5~IJ` z2OtgrpUDi)5JaF7qrdtl0C5KR%*fyjK?Eu>`m1jS5XXSeWCdpkB2bCZU+o7FCxOpo z2WJQ(P>IoBT>&5t1D_ccoFRxnB}RYsbO0|8&d9+ALUa*m0DH@LV*(Z=9YY017`SXl z#dE5$SI|Hz4SdL1DG!&Kh+Tvj`Brlh*n(7ZlGs*AF(>^(j7V=}L7E=XVQ6CxlsKbM z;+%n%`g7v)2`i>a9e)^VJB4EB;f%+zA@LH9UgH?D%m%VF=(nC6+*=YEbG7V4(Lahq z%5LyulF(uFnJL|VQo1A*EY6>cJ6_b@4D3ZAc}foA>=iU+6_@4{Y?&Zlf@+2TA~>?5 zog@r4ZNs0zWBH0+(l-2_A7H#dp2$ODT?o}9(59v<;2J`+z=18HZfQ<;k>YEpKbkKz zXd$AzUpl1 zzF;ideCt~o5Xs4;R{vb^7@fWK6+)3PfW=a&Yj>&S6M1lRh<5Hq5=vxEaf=o(*85Jjacao{XM1xC8_KKd(XtCa37P&f0@SH7r{#KEc$aIWl zL@6*TnqC!YX^mANc{~%etf1fnMrHss>~`gKQNb)>VM7ozYQ1WW9(Z9P4_2mH9)d?KFf#+7 zV^>KpFf-Ni{5!nB&J2K(Wl1lvGu86wJG{Wq41ktVXaj^`XsYF@cX)xN82~lgE4{$d zRLcYJ@B&ja0D8vd8)AW}sg`Hm;RUv402^38l3rkKsxM`^1bKrOHn19{7Z{vsdBPpB zz~T&y3@igOusGH7U^~EIat5*jvjGN^Q!UT40}M82AUkj)z+iK#KS}(8)B!vykOwdr zooab{9igWKoD&!gum-R^v<~ns9t@c1w*_%nhb&o44Jh=pMEhyaa3jkTnwuS+hJGd3 zoak2&>3sb|&?#l?_!yPv_3)!&@RKB{H5~e#%|tgy7GktQ+wjkVIPBFnY{Un77=t!I zpX@ZOD3Lrk(1hV{avD`8kiDUU7~zX?2@mwkuT%Qv#{*X@<@MErxWL1p4acE-=PtNE z3uYPa&mD9-16c+K6Zk|(AmvaSLLtoSSakbH3FyQ7G5P?vTMV&Px061!HM17iAD8rD zAWj4X2@u0*utU%aF%DsJZyyJxq6auI?OWf@xLlp7WMCe6^)I+0fmEt~I-$AxueoYEKOjPC?ZAVILULj)j}HV%q{N_#xfdt0+a-SqLhLv90=%_bU|ypN%>HsQcwj0M*Wg3 zXpK(gL%~Wx6|5Nb3*$SW24j^EEP>Y+2I~M&ownL!nDS6)YR|kDw1I!Eclgh58L$HL%JK?Y&qV3RKCA#jq+3klW25h94H~?_toktHC z^bc?)XPVKJV8AaS{tD1Ty^ zVh4i2orv?KShbyH7m$HcYwdPIg}^%(s$MtGb*437xyMuMKO zcih>K_mZ>GdGwCu2S$^$C%xlfo6md6xo9c;*a~rf_NS-*I2^-K+zR);IDz$-Ao|VI zC??AJ_ISC~(bTMmwo2U)7^1_DT#Me$5F~=wnxoM)xg&?IGxMgLKlBs9iiG}k9gqsf z2Y0xA(01I+_;wsvr^M~Ji$Q^9j@pxM*q~wb&^~k9i2D40b6*Y{a@dyR?%aj%%VGB| zabJ#maoDbt+i_x#4m)*w{(2$Kc?#r3?-eTK!<}Em56K}{49<~Q{_L2+Tmy3=P z>^A1p59kunF2QDz^8;$ovQJb!%?=K-B4dSK|FR-rZp+E7YWI5q?rkY4xz3R{YkvLm zK)vG&lcr2^UNf~`xLgmorcQEBndEZjOAkkZ(>2vO)mbDG!QUA5VZHBGi*=3N`iblj zwv9-14d4@$A8!RT=?-~g_D14&eBGK;nf9%ux^0X?U~dCc6_11x9k*2jjD0 zXxeeTrMRt=a@bDsC0AefWlaN)qXH9jB^0hl(r^J;Bptfz4`<*)vWJENSHo~&b3V@l z6EDW?WK?^)A8`#^DZ8PPhZE zII9M@gDQ<4u=PpH7*B&|A2ugVqckh+CrQ&N$+{hA-&Se7h;LIG$;xpH`tw4d!oH^$ zhJQ?*;-;*H$*PKd*3Z1-na}o$w^Lb?@iHCwA5NOpo3mv9SGc-VpH=tkC9_jB1Gs(* zT&SUhsznE$fUF!TsFK~kKwT)FuP`1#+u-;les%+BdVf9z{Du_p=_%mUJ5PpxSqeDEeX{VO6mT9< zOcwrUfU~@vs_zSW3fLbMe1&QPK^p;kM#0w!)sDDrn?nj-iKQnWL5uJ{jUVwFwloBd z0PJE^G2u>S8$gU}z_~?ExZ_ed@QAU9w-@ka`RBbw3~#wi1eaqApIiYFzJf}Oc*Hot zdsPZNjVgT2IArQS~#BgaM-ZR8|R>YOduZO7$v^s-@mDE!gEaUb!yxZuFUfY->?a8 z?)Se`aK5OYX{7smQ+TtvmA{zaW-}yVH7-c+uxg4u-%@Z!<4`d0zi)z@>t{G85IhV| zxba+Nf}88drQi%}uAgZpxVe7DtMQmvKc6ze&Gl2H;LMM?e!Qme=K8tC1UJ`DtqG3< zxQu#uQqd*iXO$T6HKyhUk`7k_x#`6R9VZb|;XIBE;puc&bH++on2K{|J0dCOW zJcZ8)Z_wX|6W|8@?M;9i^tVz?*#;hi&i)_)9;34faD$%ym(TC5tmOql)R=coa#{Yz z?hJCE&RNCgF#@N>%|AR3s&<#I^XDk`5wgW@BY=AMenx)GQT5I-!gLG{X1oe_m4YX7 zPFoVvRlx-gAO|@0=&(S5kJ!m#JB3svG*+s=1d6pj4JEO>X;WVSLUSW2{zm4<_2>CCBwg|PGrJS>PCwhHWC*81PFl>lATfRBDOvi3?3j3{G--Yk zoR$S2Q3t3~Hgp#HL*-EQ zyTzHgB{*)YS%wScl@Xgc8I?lW6LDdJW2ZMCDmyK{qFvgCVJNF--9Xyv>KIa7uh`J} zm*6cLY$uI}^^{){+6GC+`9`fdvQbNVRA zyeZ@#35o51wL{N;N!_dR6TFqg)*sHuDZ;H885$(EVYN423`uLwxy8jH@5pn}I@F+o zhlhvCt;Jz)&RKe$jm{BXZi|qEqvl}Mp+0M?NhXWiXkf*`Gt(cr%Py|}fv9So=Jtnc zq4@Bo9fZdybC!&eUkl46ROr2e z_NB4!zs(B$+bpPH9+x)(_h~^mR~>+y*C}?}-iqZHu^iA*{gc=W2z4Q4<`4Mon>pON ze}cU{LwIZ4hlD(=s~dd|VJ|^g9ULby&qT5*r*I7!By`9M8709E%RiB*-HH8UUJA&)gz94U}|sD4vejnz+u? zBOcA9?A_7@9s2E7UwRo8zkQ)HhqmE2493fhAG!x$ypVy4VR=IFOKpF8bKSVn6-qmF z+eCXq8N*IhQJM;O;SPr|Zbo*ML0*4ua1UTKo=$by!9AXJ$XxyB@yfB*=ixQVT0ar5 zY-{~xcx74ZFUD)6wLTlKOl$oxylg^Q%k2}FF~1F^6sV&%v}5S*>{LIs6gmfm7&A;LseoF z=sY0h(4HuR5?DV}BnA+ipfrG>{?(7o(6Qx3cuYPQJeqVu@2`G5=W2cjHKBfruE>tM?Ikm=m1%mcN85Fzv zVQ^`_0ztK_3~F8dSz6;Q3IxTjGAMQRXG5_~fuPn^29>V^BNA1f8a2JIKYTJWp!7@~4 zFFG}&6c>1KmSZqIScd9+RRK#1Jm`vp8No7C=r#rP7I<)?V{llo3|0DD1uQM_;84fl z@L(A#m1_p#EGzKfY{%e;U>T})g94TpcyPpH&=xEk5m?1gdVvSqb%U9~GFxB~0loqc z4tflZ43^=_G6HTY@Qef?D_Ax%P(r}X1s)vt7|afq;rs^y{sIpUWDJf9mSqPf5>Qd# z!J&^qEm$_H9_MVlxzh_gIl;0VK~K>;r=eO3K}&{PgyH@C?G1hQz(NTS{po2!KNZC@qpmHSVZ0p};Vb0FK3YV{xFkIW*;n!PsP8Vdic)cKM(g zNh?OuewEhrpFoLiP_rc?HQ$L|LA+{QoAImGcNd_^p_(Q7LtYS*_YrK;L{C6`fca3U zs!*c|N`QNO4P}_;P(L_lguFy+XqKyKN8k!loj9!#R3q=L1^fIc|;f4mcgnplU z=#)%Euf<;%G7ims(|l{zv3pkB0tdT+m}|qUQ%xD54l{F|V#>GzM^G>n#FVk!6C5F@ zjO{2xVd(kTl(80MQcfA;Q2XQ5lmYH!=#+swr-iR*^AmdJcJq{Bc#8HndveM!JVjqH zdveM!JVn1SdveN9oZatk5`t62E8 zp+i9j*##Y6TnvIRx<0uIyZE#E0Hfjq_!v2V6sq~dk!1eJ`y=m47N9GmLehfa&^NDGJ_A>xx z0i`kSD6j^3ZUHqu2%0YysWByBBETd74@{$jp!@PPg`5m95x@hJ=^$voJWb)v<%EFA z03Mi92SNYeMLjbuP70V1;DL#C5Ocsj<-v&olL9<2y$)g?kf$l+!CSejJxPMz(5zjfEI#L%Um}?WAu^v#qmO(2auFBdJCvz3i`N*{4_eX zIF!xf#JF1rE4|77@YiV8P+lfORb$;H46%YE{HoJ)YMWbY{2J&2l+-*=k(335C{aBV{I>88 z1iE*jBeJpm5?6p zdJ42)P%moHnrP}qk5p><)5tI%2bP~;S$10W^eS-AXrd}`&ws@F0p~sRmYxjgBS`h^ zriU1}sTn%ExPPb!4iK)4Tr7;hZefs|1U5jtxwyMkahaV42zR$CF7r79gu7c6m#L09 z;`Tc(_ym{v3nLWnZdF|7w+s;OZdF|7dIN;}TLqUXjyZyt$6^q81f_u@o|WWu^Yor||+Tx<#4u`MHAQD_1K6~Zlgn{as??|`D1*7!Kcinggv97e~inule4hPJ6$xAq20AoJ;hpa$i~;QJj1S77IKv)GJ8MYDtBsK4H<3#mdT+)^pJL>6qzsLOU&bAuG7QeggJK=C z8EI#l!`MZbI(VMIVe4RtEqV?ttm3CR>Ycm{6P*_NxS0RuP@@S@7q52&CrxGC5)cWu zf)@~u^%GTbOE8hTBEqq_q5^ISmaOX( z{5rz1#-a*t3D&Jk6#RO^vDBgxZV48zl?pzMaICnfhKr-}jfD#SMZ&T0q9Seymaz^6 zzkzTF{rX|zyCg?@$OgC|t{UJs0;Wa(8n1uX?r07c9WkBDr^Hg?Zp0B&?ib<6?8n zfy1$a@P-a!Qn;8jNy?m##TF29ip-XNVv0OwaP$Kjr%2@`h?dz4Q>5||^vmppDN=a} zQfBtT6e+!oMC24%rKU(BX99OnBIZb6X0s48RTOn;O}{6F5fVsDe$84F#FrMKTYm{D zS_B7&1@#5t{gfqNP|N>b>PwPk;{h%m=c-^-p@RS?X)dTRzXc6uqnSyt)-+Ctz!C`X zIur&|JGA!w6ddtJHgPfsN$^-C$t38XJ$ebcP^>@ck*^s_{^ANZkWkEcWD5Z9=XG`< zywLpLBd9A8;8;0ArrzHyd z`m&z+g0vb3k_`H~L$|)GTX!K&@Me(MD5&N!5ZCAROq_0$QkFUpSD*rI0=8Ya#!)07 zLV~`&Ajq7Qved!iM=T`L1%(C4Yl)(EU(z$558R71L04s(5?NLp8R#mJ1*#AVG&PQh zv0I{3a6u(VI%W&d=@$am;9gr$)g2(D)0i{s30!U|(qmfN0?72ups3p=MHThM%7hG^ zlN4KAG(C);u;n2OWD{|Aid5m$p$G#YE{^5Bvi_po+P9lC@gBh2FD{79?3mc=!xCTn z&X&fGz#3nq82m;%xoN>~Y!UoMpoSdA2zhrk7>qPrA$v2gvTo5vvx9N*$;4$B#Hv&D z6|Ta@M^Avp@JtE9aUmV$s&ny1F!KM09>#pH<_FMXFoFu6sy&cb&I7f=A^(UQOB8j zB@={?#WF>`33IA%-r~Z?jUTcro=U=Sm!r}lhVJOY8Ku-AhW2H{@U)(hTXXVofujR= zMUKZ^k#^h_X@f~_VUs(kaO7eUY0?jk>z~GTn!P!&$$iJLq#B|`C-6~Lz-J7WX-VRM&G24D&cMgH~Obb!NqARe2YGccZq^G zWA(^K^gFz7!;kfu_92eGj65++Fo)X~>5jw6DrkpWa#qj*Om4~k02HfZm4=2El z{%{}xZnV2`50`<*X!rZo_%q-}yFZ%%H`@KbtP{4NcGu>s^QMtqBmRf!aQRex zBcAbIc!A}=Q^jY$G(SsJ{CzB(=`rfx0FfRhYd^lY4bBN{WbC$+S<=M7)TCH_sA5wn#sS46}k2h4;sKoAnsS! z!?VGM!d99u^u9Or9L$VVKy=2{r&xSI?T8C6&)}@_G{x5~;$bbz14|^G6sjNLTiA#T^galsmg=bk#Y7fv_ z0fO74cvc%L+^^HT3r(qs1ft8)%2?G=}b0@+RE5F&J z;W<%j{IcPB5k0SjCl-IRFM{WlTH_6d=f(8=6g;v1n|(1nKczKJG(5-9GZ&s%0?r-- zPe`#c49`pG`Du7!6*&76cz!x&%+s4YmY!F^6AQuFW8ry~yq``KWgI6p z4csX_K0%Mq!2|2T*`I*N=hV){1bV=f#UPf0vnRmg>cG_^#wY1<4Ll$`oc&37Tmx++ zu7xkB$0PtI!2`Q;?0*;>c?msRwXjVaE52SAk^#GB?#&LiIL6^{86OVV!z#03;jdF- zi#=8j!AJ3pgtK#TWq{H0Q(=H7-thihEB#c%ud>23-thihabuTi_*H4}j5oYLH=Qw6 z!>>w*XT0HYg%~|m!>`JKXT0J4xx?tG8h+I`4cz-U0XaO|5pAEk%M~qh8#nz7v|Jaab zgW7eM5H68!;tQ&Y=+N{a-GYut$xgQ9P>3`?Y^=+zix9O9T zuODyXyq)R+5%^!VRupxGGCA-|{neF`_cS{%U?w@%|SYKNatP zq4C|w4D*!8`y25;F7NNY!1AZ!{f+pEytj!B71fxE_cxe)bNex_5#NBP;{C^~fJ;Ow z@xR3OqkG7>Q9&P9<^QnrBdK`*CshAq`S^7)O&R9=`5 zx5!NV4u#abKR8b^B;%>D*hEgw7pd%ng)e>mK;Pit+Ew}Fq{$W=3SeaD&S#6g01D1O zbdsED=zVOWRD_=O&@4EDH-n4C;vplqiy4E-y3Ks!W~M=1^X}8z!TPWz^l&;@<#fsZ zMvATcko>$qe0At7U{0%B41;j*9d# z8+RE}eezyI)>cr7HLb0%x$BF#A-o5tA{caEsExJYX?O#*T_tMU-KBrAmo@zvCPu9e zS<~1Q)tY#XZ-QFKMm>a`KkQaT?m?xZo}u%CT4H7YS=6CWoJjXarnqm8WK3lhVn0(< zrBl>Cml3$u*qe^cs;*2Q^!a_KI~WYxityQ}H%!a51Rh}d5%G4a&)g5z#JW|Oe05vA z&Oq+9w3nzVTBtFgN~coi3}QaUnb@KUswXxb}C#Y?66l5Q20XA##D z{P+mDMBL6ra$Fm&X|t2!Do)9kF^hi-`MsQ@;}efflv4gBlhe~DwOpT+`TQrDO^UGy zW|sGhHUjJ_{1W*MVw{u$ek0(-Q^N|xW5|tW;5!+fIVs>4V^UaPS-5ENJen(r8xX)` zF_-=p9N%A7yK0domGGSb>z5lrdD7o7k6@h8e}tLD!}*W0ErX~0Hi3A^XPTxC%N$iM zhBwRGv(*Heh^I}#6Y;!e3QrXlBi%G5#G^Os%YbK_;O2B42*Zcr6-wb=D*oeeqdor1 z@^E=Z`hVwq!7lb)u>xF77pcx#UP z#5y6GM-nSk;Z6*@SjA7w|3(%62^G(HCFXw~Jd(-PjX`aci|tQpX~Z|$e>7mpvg%Ys zVFmonPh$S*PRu*QyO}9G-&GMfrb+t~(@(`)?^A2xB}8I+64Mu^TdrACICbvSDZDZD z!+7h$!lJ2^xjP&eem~hdM?3>=@##ig4!2Z63Eoeg4}av7P7Fk9^SNI22AjRXt<9Yo zdV32ubHQ;9hgNL%@O4Le!5w#J#^lK0zMyA$SgQ!_{KpK9rlI|ly_ef?3)eLN!USzlwm+-9KKu@qz=NA26N^;38I^w%w=gz%g%} z)X@ZEs7Ds&jz788basmMfwjhLPqn`O?eSoXDG5z1?qeH6C&sxK_K0%f~FV9f*8UWxT_V1KssI_wIxC7MphjXYcsIssi2ujug+iFF^a&QU?LlVGg@)*6Ym6Ihq1prevtT>`8tB-SoqU892LB*7|!mG-J28nF38 z6>Id+9XS5KZJj@iP9N4Ptfw)~w~xcY^x+u7So2m)&cRhZxcPUL-S2_{0PJ94Tdd_6 z4CXesY_SD9v`zalcF~F9ije_=cLEH`kvjonzQWZi`goVELfdo{ecc8saBv+mQ|O=U zKWJgx$s{3@vxf&eFdT2up3KEjBBBP4tFwXM*K*W}i~E45!gUA(il~k&RL>cxo=b}A z>aPyXj<4knpkkIPTv3JUD7O3lJ~Q_BnX7O$TIBDs9sfRa6(0BZnXkWXuGSyw#e|t+ zIG#N}Z-OkuD21d5AQy)~3c5JQVnlnI-(bfin~`Hf_^ZE4k_W<)1G2)DFw1k)Ydb26 z&S?)$z_yby<41mv1KMO}Zt#a!ftW4Fytx>9%F7)fuF#TR>^!*@%FJUIYb$n7$KPS7 zB-id=tks>cVo&opKK9(WSX=xyKF-({Yu$SmYp-7O47gAD?nU?$h*Y};juUuq2Vfrn zJ^L1G*Lk-f%yr(Kqxt_D!vos$3W6O0vR8qu?kxU#p24pb&`$giqONzC3|iOA9N|wDS!XYK6_Fx&-YoF!{>x=laXpK|hMsTOT+0xnUSXbkI>?9Dca`OKHH==(@e11t{ z-oLmM_%SkTyU|sTus>rQUFY48TDs1AOpLO(EC>YuQW2n(A-r<%@%7GV;d%?kKB`~E z@3>}vpc3z+Oz=x~{->!#nA8?CE|1pJ3^x##N`xFSUTsD5bo>jiIDV*jNc?)_RyPXh z)*gHWB&ZwqV`P6oO9Aq3!}Aa5+syb6onaYx8oZ{)~cVw2lBw0-jCcn zyjpduC=_dfl_E03D!>N@zsRr1si-24RtFM-|5x~rY@^7-a?poiE_})q;5IcvjLIQFHjGRRd5$%V%svx~wMN7J5UK+s+d#Zt zkR79)c{+;fXFbcJgOaL>Bz`1fl$SNY0`m{`{NF>oafzNA=Mo{NK!ehUYb8-e4r8>*ei)Tw1;@J$;R%BW2<`8_?Df!7So8FI6B#6+r&V7UJf)W zuVHHHd5&2b$x4!)W~a=Rs5E3}2lLdavWJkZ_+*C>Qy;w0O*mPJ{)*Z~2o!)bpg@R3 z*{?Yf%A#>5RAFR4Hu|2n;tkP9i0=&siT6KH29Xh96u@D0;?kO19kDKo?oAMDWrGEq zH^`94%Y~F*=F})}C(}+<$WGw>zdpfZQ%P(38KxOI^o;HxIs(d@f*pCCCH`AXEn<#P zbBkDuntEOAtWjIv>b8N}v2Fce$?$i0ut-q%g&}ZQ2EdsdrhPGFFj?i_Z z`Z#L?_y7ZLMZjm_=&<5ryNLNp-HXG-M?azcJuS#;*WWgM@G+?0&gm%UK~%@*QH)N! zVMrsg7F(aku$kEbT8RqL-d6S1xBBGP=;uyTfo~nE)^rO?ynfk!_tlQ`M=tp>wg>dc zDmR?hJcRGo;(W_qeSJTpY7g?lWPN><4g^@a0*$_^xwSac@>hI4(AnzAT=qOX?yG4% zk_qzD>T&fv-&$<7yifP@qZz!T)ni@O&e)Z$M_k^Q5vZuAUEpXvVns6wB>a3+gzptd zh}7MBq{!Q2XG(T~RCWU@W#@aihg&@lmHWSvYBNfZ0uN?G9d>$q)OaK#~n-D zk&xKXLODfhELcL4_76<5GD(svj3lr7z!Ym@6;*BfopzYG0 zH(EV~)vB#Mm-ZYs8u-$lBdskiET&`;+0?Bqmtq{Ydh&aA5mB#f91rn|wnfJ>H$OWT zYe4pkl6>v3O?5dojI4CkJ5r^)%6VSG=;*S=^QvED>UN|qaxVJ)`Kec`+bbA>%C>nu9c{Pu zydvtoWd@oMf8A}rt$W|rwyW--8p#uT4z^-|Ju5o;ZV5~T>=A<=3r<{eMk7*U#%a56 z?Kn(ISkDTcL(3VJoi#GkHe&d&jPx{X;y&mWL$4t5y#*cM{KuixXWWI-uO?T%*QqVY z$JCa8vo7JCGZl_Q^6hwEzTL0LcTJmoulu@uKNgYi=3mNpCyW+uu{NfcrP)U89R6^| z^kMd#-P*TC&CVX5x!?AKk#}Y}CLI3cPp?>fdEO_EUH0qo%P)0abmHRQk6vXjykua^ zpT<5g&RzImQS0@?uhVb*#~YrVmh;8Rso%Kv#V?GVGRO5j=YfLDC)ecu_|r!}bJbN# zKJ}|B-*!xzxZ<o-1d>)J8@ z@Y4O?z4uFNCfxVh*B)Cse_3wro68^n>Q}yU^^$k)eq#R01ykmos@c5gzJ=2kpS!DB zPxEAT~)+wZ^g>A99eTRIyLmmRUax$~`u-X-n09iZ@oSH`1r2<(I0f* zdCc+t;j=$Iw|Fpb;Mkd8_b=~ro;-2l_r0s$Eqrg_uYWrIz$y1D5AJK-Km1kwwSRp5 z*@HO;DqsG_OE11ScJG{y@9jFU=knb(Z9i^3y6vj=C0l;A_3f5P%`2Yy-Ol&6Pu;QR z*{7a6`@#*+ulsuO#*A-l`)2UlH+?7jpPv8L#vk4K!!bX2>0iG4-7o#~gzvxhy~iT+ zAI^Q`%|{>q$FGF14!sk6qG9EOQ`VhYzq#?grfD0_J=FZmw8y=_dgx!b|7PUB`~U5c zUw8cCqMy(F>9>Ej@3G7N&+R|?;g382^UB{Z-1PG&yMFiC|5*Cl-#pR#$AYHYQT z?@!nL`ToB={dBqRsnQ*bYgant{_)igc|f+@Q&HuZf3IWOycH`}*1Bs~ELvVyw{%kN z%DZkDLWyNRO8%doI2u&2^rXA(+=C~Zeg2bf8Fn6!!^f=4L?haK?D!FGH^!IRZ08X* z0q15r9>ZQfb({!ap|r$k9gNQn_z~`=(g2<^aGZRm~Mh28UFXhJ2qC?*qR>Ap;vT%dwnxb90QRan&H7H>Do zG0f81a$ha17&aUm4kqU)*vNa=wcT@ecU%71{cRJ^9&Wqz?6J1dXHT?x?&)~}OJS&r zbZ48nob_9QY`FH|i)eh}x~;P82dCzH&_RUtp&WvuIKk>kRkw&lY z^nup-mmW9_$;MwPr0BM^74@{X&L4f?7}lO|_!^GZw5_q<`xyP6vA538JaB@ad#txa zrd-up>^krQ!b4Y@z*o60gT+*EMh9N5&4CTWp{2Qbt;M4c z^!P&ybDhk?-F9$+2Tn7UCy>m!pZ(KZ`+cE!-1WaL*QT9H#7$g%pr*Bh0{MV_&ezt_7%Cb1-z|H4@Q-AL>( z%P_+oORNKl3GDl0iHV9mW=gCOiS-lrPOGTBHSub461;nKEHPB3s;o*RhUF+aMrACq zP9z5GMeGx*!cc!j-e*tSOfgkYE2crDEiv93i3;>^_;r%S_K`ZEhD8I;% z>>RNU5l=>>Adm~h0v(ff#?V114j%Zwf~zuytEPJyPDjMorfj=R?Z?b369MRqNnf(W#I{oHfNx1|fo01>cl zj~)@W_*8EjSc}66tqVl$vkS;3z)&71ss$hAXg~}WeAPN+TfEz|+9|u#yFF{&@R(c4 zETO(#2Y2$T%7Kg>>}Y%UEOdI7=B|MduLe0hc(ASi>@k1nr@8A;X^_U%2&#wN9(=QH z7f9Xw(Fc3lcAOnRW)GfhYdO2$*RZ9A6mn&8+nUkSA8YlH7OojR`-!%DYdi39XEQzy z;$v|KKHkK~@=kp8;A2%UK2Ej`)ZU+)7wv$-K}mN=t+*fRwp73-Xv08__TUxh4SFOa zH?Dk#6`Cjzj*hJJgy&>KYw3Bg2>!@D>wN9)>#%vswIVD<9$m+9>3Sr@5>-Te?(p3! zTIUy8nky!r^G$rKBLDQtY#gc~%UYN2&p(U&tgZA%uEqN&>j{cX zyYao+(R$cp>BCpGz4h>ImQH+K(Rz4>rAtf$&ep>|OD{f`=DJ%C-;MSkSR2T#Y&|^B zvJam#b8GN_d+v&^@Am^Ws||msF;QEhrbI2VhFXh@Ea@o9T2C{I><_Q$@P}9I^M{vo z`olHQ`C8Jehv&d-77XZhC~H{p{)t@86UB#lx5zT2WWRT#KQiyJwtIS>HRh&1)Jkkp z%kOznOl%V&%I4&DDP}!PaBZV|-sa5Jmf7=O_sBT@4;i4IHTG$_70{rxdj_AY-_3TI zkSmGWp`Oo3N^_{E7M&L~4DvYCs_4e^ddksxLA(H~cFS&j2t8Q#QP;s|*>(4_x4wo5 z2Rqp*kI4?XW^@j#($1=M;BT=Lf6LwYTZQPWYKHDoCmp)y4_ZhZUyO~}Hr94aK?jyTAKHbp5XjVpRi~957(E$1H$|uQN2a2yj%8P6 zFYQXBB!0fj(%gEO+`<&19cOS9Nx^P#ogH2;zvr z_|C>2Ni({N7&%=>PKhCblSd+N`~z>(vg`#$DMD?75FqvKAUu*7NGizwEyy5SrbCcG zHV+#R*%95HG!WUvA*r^3T4aQ%J-ux^mc2wi2dqrAM|^?f*?N!n1?~m-G02Yiyq%K8 zvUBo+h<90(z+OmqXY@od0iJH%dbjsw@LAyEoWMd^uODL)g4r`7rpJN#>1^A(%OH?; zd7l{#Jcru2iLiBsx5q+Z6JoILj@;wzm1((&7aK{Ki|_GnA1!9(mV0`3v~Il(o7N(! z8fHh(wH2*L?nVJbfhr-FT(%uJ-yv|%XbRr9GgGZwJ>EeJ5FO?8u9E3&ZJ`Vr(|a?D za}UJNJ9>_{mbknxh%}1Y{?Ief_S>HKR9$&`o}(1@2$J%F_i7ovY;Ws=Oz%m=y&IzE z-(u#Mb=T^dfsG|j&thgiGTPfE%VkH--Udgy?Ag`@0E+BAO9u3v){-Kv7tx1SW$Tek zMRI5=hphgI%bsan0HDb4Gh}YxXlt&9vPjkMh&?Uwvy zyIU7b^zIXx-mQ`a&wM~+UDYisV@I2<`t(p-`9@~QUtuEvRo%KE->7Cz!Fxmr*qL^* zo>6T4_l*`wZ*_T3+sO+JpqfvhX5PU2y|#B*Z7uiJe%UT-j8#W|W^0kwVPo5DwWFE0 z3~@($UKX&AM8i$G=83XLj6d_U#q7YhHF2GmxR&yiR$VjQ=O{0!a4f4`Sif}9N0bX~ z{D@CN{)RYH%Z?IDA)_UeDY1NMrq%KNO85fxWdUziLIcCz7%?T2L45{r%5c`H_%2m( zMGEd#i`p-MJd0=UyhU}(@0Qors*81}uCWY(!Yu>w?p?!hTpVIpoco}oT!BSvV6u$2 zSz0E|ud6%HdYQ`1$A3{a!lI^F-l$L{Uj@V8c5isGE&L^$r|7^x zAuLcsebF5!dy1*fzXR!&;DQVK`TK2L;$ZsDr(oIDG2v z^R8$^i`5$$gL6!^8N(a4Shdj^F!SDQFWR~CZ72mNYyZ z2gUWsbehb?7G<*)wW5bc1g`9!MjjJ-Up77L!6A+0vtm6F=&qseOSXD2NG4=aGz0r3Jccg*_!%z!G`0yCqSTLqtBv7=yz9%}0 z%w}ky`(MO9*$^86d$am}Ol=temGuyIh@blext z@rMhrc+nb&gT98XNE_wP*i{jp_EM>9haOom=r8K?Xy0xrbv66* z&k4sj@YM$sVOr@nZ>Zg)m7*LOST}C5`iu70H{TS=IL>jWTU-3rj;2Aa@j<53bX4B9 z6Vqsu^*96d*lhDOyp0-PiCedJ>!B5W^;HO7|C-znY+XS3ek8yB8kLVRuMW%)97lFTJV3_uGbtSV%Va{;v@|F5oTN3o|r9dZ;m^C6fAl< z%V1F(2DM>N8|JigY~HMe0G12|3S$!N&uj4GbFsqxXc{6ulAhc)MP+&>O@@`_IFT%Z z#L~DaEA5G-Mk~s=9k~?0PW<@1$UkH(!gL-^_vSbr$^f#4VK?PC*Nn``E6H(qjGUKd z)d5mwg4~qlPk{KcDn!X*k$}DiKV!e4!ju#rtOIv4~xT|Vc5W+olQQ3leIM9`_v*J z5k5kdkM(R`r+h-e8J_I2f#(hrob_P9YfW%2PYn1!nc(K|zc9hg;omjEnI{8Jsj64z z#|&R? zv_QQe`+L&X$fUZ!O4lUU|Cq@Uivwj~k<5JtPK%p=c=8iG630v`y@47wE}kW-zSu_m zv=NABynG3pJA|ult)Ldm-3jR$9txe|v|NoZ;{3Sr4ZVTHtp%1e;!uj36WkzAxvopi^ofvkRf|~S$YTUNtK}>9pO76eq`B#1KV`Q;}#!rdwxD#040_TFA0_!SB&{_ zzu5Y>g9tao0^J%g&I^idP0bI$WCw1AynjodMQfyfq$gZT@Wnog8WwcG>m_g6FGD}6z(tlcFc+u-G%%fa zJ=-jSGQRDWzzxPyxUzKXA>`6t$1MlhO`TN5+12WgDf^l1z{eSK>XK@-<< zrQt8*g5RK%REDpvg$en~&Yjg}L_77F6*R zW2M4|JB$o@QB}^^s;4wocUORPmQuh{f$JVi5kK1#cH6w6mr$M+NPsOK;1J8-7HVPJ z=?h-MYl$cSJ-y{{y0B=t;9Xwo2#J&zx-Cn2C1ed`J*Z_|OeoC!!APS&?05DBh9QTA z*o;Nz(8K5_yxS>UX7@}kwR=M4cEIyI*Ox;KM$_+~LymDb@c4@G=iv$Y4Ga-pzXG0L zf+r06IV&PdFM&`4S4g36dBUr0O{cJSgr}#yT+|BsRi0IQgpz9BGF<3efPH-2*QR5+ zR#_3kt(7qI2#bk+6a!K&++^;L%-q(8gxLEkLN7s1ggm;LFLvC#hORUr0LzDzr&kCw zSOmFd^o7Uj?OV}8gTA5{13q84tj~A)JzR{Yhqn4defsGmdeN>`6T3fe$ci8V@mmkA zyaECmyz1LanJ38Kz}Nos|Jw zEvyMxdz?dTc60^MhHIofMi7T^rXHEOtB(h7Ee&1P04`m`J#G#6VHBfPaY+Eokz+xg zEh4L~$)Vst{-=ll7!ak9XozfuD{NT$XLunmfWNb8ci>tNEUX~KD|}&%#E6N-l7P&p z3o;}21sSZ~W;8U$z8p;gZ}d~(H%SlJ!Nv=apcKAPd-Pr?jWBn4GznRwqYY4fuwG!t zHOaBMYJ3qR#@8_18hwUi86oYSux`^Al-nZrSc`hsF7k%&%Jvq$sYR%CfqU8dYINk>-V1E4m6r zU?Rv?Xp6U~Q;VD?w(#ZN$gNg=!4_Y8##R6zE1qqO`Vcs>0)o>)F9fG^{K!xx1ywpz zcN@iG9k?k>)iD@zE4}!dqcyfcrG)hnjR1*|m7=(|$SUhcM|B@iMHdJ(Ui3BevFLrw z**$53>YMX1UTgFt^m$dgO^f_il=BK%_`c{dqXk3(jrK&3mc+ktm_Wn6S_xTM4JvF~ zbT8w;N@xu(&}A_yStF*(kdfW22A$PVx#kO^JNUwO(Hm4(@U@o;4ntI2JaF{u=tH6~ zo`zb;iystS3VnoGj`lz&K(Pf2KBhE>?TUNGp!vyjPC3lJ6Z5F@l zt1_qAn(j_+t6j)fR5ItiI63{lAd3)nh_aFw6|+V{O;B|@89YA){0k}IH>QB!lmbrP zK3TdoDd0;|zym4Z>r=oVNdftkE46?Fb`H*Qc%XC5ldcI8O+bQ5bNdbS!1UJh#)S)Ml zu36SIjsqDF^TVYCD6)7yqu^ZXC~*qDaOT4lp6z6W51HT`D+c_RCiq1rxRB<<&2)K( zuo3>{6zRTW!edVNN+Q6+m$_VL!RYZJoV3!w{~0bw@eqCqeg^z$6MU=*KGq~lGS^SO z3C`uHfv3s@A7_F;ZGv-sYlQ!-TFWy(mzv=9Dd4|L0q;)%zm{_V9^yB*%bg~;xgOS< z;FlqekxvJ{`4A6(vF9V7aY+znQA1-={qm)Ee|6E)d;fl9TL#@X%9%)$QpvXVDcQzm zRY~j{?7B9Eh;7g3D*Omn-IO5lysGNoa2s#c{S9YI+17=|cL5V|Cd#Ia_>_H^A0vI^ z?S?16Rkw=;J$ixpzeUA&#$w73BmUF`xRI{$=KN=Tn}c3vRJ0kGBy1|#mP5tod})3X z(bAtJ!)*?P?~Novc#L*t`?D^M_y(L~F|q9dvOKQhe_YvCP$d*p{qLj7w(P3^Zf9mp zPhwqT-ovKGh0C@I3UI1OD9&8C-i%{rJOgg=8JBHQur;eH^c*&c^`h0_>#^d;I(-@! zHg@gdTonJ0%(EAAiP!eL>EWf-k8;w)YGxYNkoRyI>%@}Lzu+Ypw@dejvxK$UipcFP zSii1gau66ik^w|Qb_4|%W1kngD`5@F5w0%1q21<<)C`{P@J{S(>AFHcy-%OG9aq;E zy;T27MF>|JwAlRCJrzZ-)c=kvI42UF7Meq~2Hmt7?75R_4KaHxo``;K&yh&U;KVKp z5JFvh`a&&{%E8mSChlxGhD5M451CA8OT!6kXfMo$oZdTeFI>Ip4JXn(_~^2FLN9tw z?}nFW;ug>87g=b}#1~tRU*Q1)Ps`gta?p2rKh8N}@&Cv?O!@kPQ=&G`=#goEW$Aq_ zZ$WDUG7>I+oO<|1J>qSL90VsRxN>$xGCtvrTs_{u0QOMdOs`k~JECu-H@&Jo!de!x z39gLnrLI?@cOu-lX<~#gY|}r5s~hxiA)G+##0xjG;qH%#Jy>WXN}+$^n|kIsuWP%1 z;%?mk4k3vs(`h)~^+26wVh5@kmybZm!uoFUWj^CAdZzv{)-V>zxCw%{LqNbrO%0n~ zgv^SyKJK=|(hpgDbUq4@+D~&3kfeal9(K^tUF&Z=E=|h8R zO$QM!dKEBIZ^sup$1bUdUY=Fu3!U~+LqmyM*PtJo#I23F-1l%bi&TYv!X37TGuHYX zJzNUiibAW_7)Gain!VQ$AVO>#eptkd2_!@Nw5Fecfi^-u=xX8Sj~L+t`j_#f;Lr8PZ8Pm?J zV61T|gbLy8ixieny2!E$*+qB-1#pecaC_FD{Siv2J^GAv^svJ`>IDdzI=5(#E|p*7 zv`2r1FNhc?Al%RjA?i_#9r5N4BE)!xV1YtyW~CLaaX2ubxD%{W0)(J8gtP?8q3E@y zSl&F-og-y*05!Zn7{C#7L)Hwr?8V+t|L4$Qz3BKh&z_^6hG(swhIXs>dSI=8mR+vY z1%Yqo}S@)Gbi3mBdGM3%aQ+9|tl9@H;X9GW0wL z3x=X-&~}gDaiGzr@}NDMhtA#o%Z(IDOF?$D9>}CyFz_N|cSzAo=Fov0;yrhOW!UcVG#{m5~S zQlob_HTyy%>i-fQK!%wMmV~(=(@l|2Jz`UK1A$^8Fx#QEb)`r-x>LolsTiEo8KZ>h zp{A{(x*um^$y>Gl-=mGd!TM*)jL(!gw-e79_=!@Rbkc|F`JE~rlTn|^%@kkgy})G8 z=I*=rIFRl~@!ZdyeVS=m`I$=7@r&EjTIgwUH(c4<%JBa5m>aGa&K*o=6 zW3xeQxop!Ke?u6n_Gb(jdef+F0sFd$@VdZ;VU-;&v0>7L%&QAfWVBCsZMolwMIMYj8dE+ z+KJejFbV8H21WtJE8xgYxfK#Yi-^sPvKxccYHQD_r}p%6JiVOS)7GM`cEWAID~J~q z70^}*LlvdKAj*8tvo6V+O`^8_{^x&w-?x9iWbgg#wchovwchov`@6~$XN6aBbl1qJ zTM*+yM#;5ka(x|^yX9WOJ~fpd6D|8MS_Z~rK5i8}rZ0!M-?Gf8C!!m$K+}#ckK38W zV7O!3(#bfX2`B7gZsb9C;u4&`o4&-GeWQQJbN0PlZI+y2rFz`Sfv8MS)1lERa!5uc zef0*^94DP#&s^ykgx05(nYQ)H@KxcfS-o8?_zbUl0oqc=XgVA|&IJ%=jJkg>>vg*e zRh%N+LFSNDmfd0D$=7}WLk1jyPxW9`;t#<_s>chfig-wOkj<|QMY7#GJk@i#?=Fw{ ze8Qs$*0st@-r}q6j#kpSzZ0#7hdVP7m)q`W0@D3Oou8S?*WlFEB^>(26CJRyr+-J! zXqwpX2lx8o>wUl4;@*U2N;Z7kN4;p;`tEuO9h7h;8nW&~neM0Rvc0xipaYzl6^)K|gZ0Rdr>Z(#n#*+n+LB?XfU*RO+-%&qeR>6z4x@TGTM6>~-55>~`N2iw5_qY}(WoBhsR$A$M znN3v9P#Ni#<>CuV#c*T`RyJCx$C#roU;BQ<(MtbLBtlvwf~1lbkwcaz@){a5Pm)l? z-j(AKv$8y<8?A${LmVx8sIPr1xR0mrC(rSWh0~wsqv_n-8_O)Iz--gAyw_qge%1;e z3HiR=74{zTwGU-xrFxF>-CoaR&AxS^JSr~x&P9>n`mk@*-i`x_YAe0iYaPT|?3=xR zVj4wltVz9bW4K|TeIS|{b0nTAXIxx?1L4g%HXuh~ReHp}w-Kz2&D6MJ?hWxWk(dD* z(41F3D7D^A6O~~sSw~wvTOAI*x9BhF3_ZA?jRap#R9S7vfO5>+L0gr7U|)S7M4qcn zj}xj*D@EV(;iw3$O!T36I=VanE7|YybU7w|2Z`y#Z%?6`u+onaW2WSDsnC#`3Kyxz zgq-_2Xflb#e8nS7mb55&@pSSbh;%DRw~|a-bX9Q8(%Q^;B=Lpo0|y#b>scq6jcw8U z;_0hb!p#}d%^KG8_cH{CQ{);^70$TKg+r`#s~@jIiZhs$%#^QVl^Y8lv@+ISWZ(L@ zd#@E-jV%QsFY20KqUfa#V^6`4@nDIy|8h^kR^KQD3sFMvYiP{=vQSxJ`{i&$*6s{v zZW22RkbfS_y&Xs`g!l@5WS-R0miS+S65F|G}1AQIrO19X0 zaD-u@eucV4hsw!ot6)|x)=9>)J1Uq>BB>so zF@5^d5J9_mk|4%Qp{|5X1M!Z1- zV;Moj-X|Gtz=ZaChzD2jzm4f=DJJf9k>I}Mu1NZKB80OAowV=|&2hAR310`+;55m1 zp^l;*2jWtk7JpUf=@>cy;mnO6Lj3v(r_2Xtm`WJr)NaU^5M(LEATjBRo4Q1PnSu^u z14_=rIKwjC;YWWwu*X2fwmQ{q+`YoYHFF@hp@+4IhMZ+Y-WNx2`!pb@xg)VRa>LO&> zPgr(l5_#mgqe5H+;oQg`$Vh%XX8izHt^tT{f3RuS<(Y1eI+E)Lcx4wDCh4y7+%8yZ zMgK@p5d%EA+py1DmoqyHui0GLKI`YXUl(k;%7%>Svk2*=A_;8FHNpkb0mVBXd$dm_ zs}vQL2EKN3o7+)nUuM331Ur48C3U#z#0FH5FXDvJCs>`it>ClC-MLZubmMqHwXfqU zu&R4{U*YJcul;z)3mbE}FNm}mpP^*<5E@FXxMOU-zex?>TfzBNIOf7E2<81j@kH>Gz zM?W5y%Ewwfaycd3R^xGkeDvb+BJl`X_jaNgX(4#IgT!t|5~wClM}$e7evAytj6aw8 z*9ZAP#ORh~kCQ#gEL%&TLu*sZ17x!M=jfk^uM|+DHT;I~J`t^WtoG8~*+e?`%HPl< zoro$bx-z)M-s~IuWXHy(P0)k&;3buF>vF6H<8V0YhP*v{3u9>Fu-rkG`vYv;OTLqC zK@}E#DEQ>jbTk232U?j+u?bGl3L$Iy(Ak@OM>a6fik*d;kYx}mhB~TCwA`8Zs!+Pb@1kj(7TzOv4kJXd z_2Gu~k+diXDiN?s}KL9!z$z<`-JEFF%rd_E;C>BtL7B zn?@)Y9&?29BRC+#_Elg))pohlu{1=ksrentGt;{d5$YtyOt(82^D8JfEmCe&ZeL(X z%~83Hwi$9;>E9yx&3r5Kt@t_8QB~tvZAmozA zFSi6gO5P7f$d3}sz((d6YSr%@6j_d*@Fv+8_Sx5=7n1ue{)C)d0$mqno9`#{;a$sT zX2IdG{Th}cf<)AQk=+KK*9B>#E3|eX7I~QnyI}_5^(5kT%gTtX?jv@$YNqMxk!>fm z!=#=tn`M2PFQu9_e?KmpRietr8H4sA*$mW`a3p;%v+eS0qS!ZQbF*nKhPnd1mE7I9 zvm&)J$(52@YPH_?;N&3w0-exj81X{;xl-&`4X(L$Z|*mgVr+iMqgu9c6ic>I-o zwD9;Z@-c*(>o;I(6^0jFIhSAv8r+Mwd|cZ{0?u6nR{~nakGU71INp%^5uZ@ixN_g)6Dx__U3}s^Uao^rTsDyVI-j_hBKI{up&R7N z&EOL!2y<8SiBomC@pv-k6I$$boKL_)QOqYiiLs(dP|U_4QG1;QAkZm>rxuCfsjo%S zH(@FA+vUj_=@^z!7DnyvK>*=Z{{;`m7!M~x3u8Q-W+27Z+n#fvtNqam9kfYHl2+QTV-8xY9#%2 zY~<~ACr{yt@0b`#9&e09Us5Q?MZ#|^gpV*quhIw@QAXvBego|7#nno5T_@nqNf9|y zB3|@)^lbHDtaS}PhkWWK$1P@Occ2kP;%OCZxy& zry)fA^>OWtFGdbIZWPXpf`&N>^G=u*0o7ro%5~XI$P1(p}7!u%5Ji$4qIBbGhT$ElPx8KAfb+m3oe`5=}{vHfxuEjVI zlBRpGm0s8*$dVDHbAHSYgD$67sWq4%g)I5n!y-rIE^*O-Elc8X$DO&$QO*Pp1(_9} zG1um6e+2a_DsB-q-MB5tv#-O&`WJD$8F!gb?OYIsM?cbRB_6q?yh)@5^IpoqusZlb zu`LLQ6n-zddtJE((6Z9Q>V{uh>AUMEAi)C+MSQF zM#~$`TvgW#BN#ABP|NW}EBGGAsX|_u#kdPp!l}a;X6zun>`p8rc-G3ki$TWi7-T%m zT?A7_NLc255KHz)d*#Sa!(kh(Go*7kv+xKe&Oc%;g0aWW&F{oBHBFZLC5VD$LoNfo znUl_sVWB@uEc<4$?2hu_k?GC8d6gcFHEtN;`%I;4(QEFP!@+HI%>+!II*jQ8jq#)5cmZr{$quL)~IN^X4ZE8tAbJ~klfeaml` zGB*qqIG^axb%LgFj5#kq=e+#6Ujou(o#N~32!cYc2~^36s1rjXUm%c_nn8+3QE#3h zzFb&mzgWmo$dD@EJtCa4+L&R#1P*JDxrlDBj3<9i>w0hoW6>p{>Q zvRD<0B#+zWP$*EvzK*jX-05%)CQnj3Fna%a7FK%;3`L+_wBjp#!`_ATzymPV(LMyP zFbfg0_xswvDIDrTi%E4~`zSyyv@CMF@HQAaNfnyH9W7$Z9xN*~sx`}AClVJ^Z({71 z%M4I|fQqa=#v_?5&W?}f12Vr_6)~v$^AJopwa3GGyyee{Fp=UygR%HS`6ZzI_K9*N zdxcnLl6y(Wp{k$rQm_Ty;}9ceD;9AG<=?3Jr^@_q1}28s4QD9cuqYuTNkbfCEH2 zunqcj52oBdL?H~&lYPht=b#AZT2Ri1(@_bPl@Dh-KIw4k14w^PKIXq>S*odO_oEib zxkZ}-ZKRhV(ZpM0*7bUNFFR@I5Rp$xTO@Dzv|-V9Y_MD|HGKm@m!s2qtu%CSY4r%9b;o6IUaR zk(Vl&2c!Hl{-Bog;~8VND0dtQkdmTuCvhf=0-8o3DkRX#w4(OPs?W(8I{pww)F>GL zX}mi%ttfF7qM4k$fTMCEm2mIeW8E`BK2 zFo-QykWwbKoF7J6!1Qo?$F{_40v5Sue#=c0oVa9rUhT!)&-VON&^~drSZ>?H#y0HE z^l8#J0Sk0?99X&(6TX;lPuv(z-QvZl%oZe3INbu1D6)q{Rp;wC56;5}qI^7yk4Utd z2l4WIk>l-kBxf|uxm!JkrABdkCk+B&j_$U#1z4S>el17wxz4~s2y zV+~3fXgEEwnv3;nu`cFBv04H}6|brYh);{p5X&+!34-CXF7vameI;lJN9eA~9m6;b z1{ixKQWLL&)F8c4N_AYAh4#C~Tds?$sIxmKbPHO5Tser{fhXk7L1ISGR)AvE*Ur@_(adx(Hmpt#QF9lnpOrh>v`{yNN>=W&hOVoH=yMxe)ZT%F5(yT@ zl%H?;27p|o=jyH^5Ki@=*8B}XMQJ@2jt-6>Z*@X(&0{?{8=N@C-YmL0FKu}<^`sli zTZcpCB_GKp;af0!bSFim{uA-Sim`S!EGbABBCKod(;#lY9_q9Jr=5^DG>%5}g@8XMS5?_TEtTtm9Aiuds zN{4I_H|CT5Rrrr)E^|j4o?m<|2enorAkIIvvryBjSe)&S+)WH0!WtPq6a9^h5M$PI zh=hmBPwoDYG|XOCt`MAx9$utT(2vz`Y+aon)x?HGb z%WlUW===bZPYfUpQDw$ zP@2&6C=XbthGiP)uGw2!)CyHG;KKw-wx*9-2)i0IsNTt=QH7mR2mvD+#nn6N6%0LF zXdO#Es>h)PnAfKm!9l}Mh$Za1F*MBGpqb#samjcS6#&}51$F5M8pg@yY^^h3H7eq} z>kRoK6$RCu91uAb>H$ws6jvFFLa?j{W0-3jk+2-(fDnttt|%up7zm4SzE5{QeC;=a ztSJ3(=EbwCtGo{Xu0(4%^=^J(qx&;ze48M`?o9;x&`F#SvEMtpvJT}Gx@A}$h72}v zBRdA$)?-;K_S7fW;oC_V+`t$?ZSHdjNz~KgdvI8t?@nsP7W6u)LHkaqBwv}nGJqEU z+d^1#+aQf%y{POyd|0KJ#@P`0vIE+j7 z^7;hII29;!+Z2x{1&KZj4o)b&xfs4MkUzgVQzan%f5U7O)kY2nNgvAcs z2vkB%?nHcLkX{vJIqta}K=j0G+|tc{q?!(+Z*u!Ot_KgfZz>}6OukV*T)7_u6ileS z8g2jRhT|GgiVRm(-|lHXrhn^Q zWh=@v{qF3a8sNEg5K=i>!6lf>l-oMaOceMnzMp$#nP*ASxR0*526*dHDIBZt@I&mV z4;CjW7{1={cYoisFP>h@++{O7MHvWJ%qogUD=r6qwBbJy{x1;xGRhXNo2e~6DgMjK zJhvAO#;Wj4D*9n$h39H~I647hB~t9-5_k*=HWMs1viR}(VAF+ zoGbQ=(Z90<{{0g8PfFnI+ZChFMno~3UA$uWUrOMAErA~aPWy+QEQh#+{=~f>1g;qU z<4WLcP!w~2Dsa-DPbG;<=uX^ep+|(PaG^7Sk10WCQVD!c3H+84xLpGORtfyR68H~F z;6E>c|GotNWC{Gm68M`X@V}P8sppI33+-qY!`Zeih7T=)H~R&*XZL(&oT6dw00yzxsC7xe)i z2cUi^7B6Ku0yZvM#ziJaC$+-DMXV({xp`dc<&#HVGOlHE>m|_<6GzfW1rDF!2HeRD zrnSuH)i^R%H+(+Wo3qy>DIvYK&8w3z`;nmlXnEMYJs574FsJkFhqK>09h zAtxNNHVQ&hBL%Y_3)`k964Mr(N0N*)X`0WIXG~4ZRNu`HVj{{|zMDuN=#e#)XZ=Q_fO@~gNHhb2LS=Y{M`8Y&WBEiliB~m<&>Wb4BX`B3IjLO?FIuk z<@PQEH`8sSfwOO^`PpjVrkwoMz)v>ZA2Dz<-%nDJcc$l;4cz3vtpuJ?xHCO}Xt+1i zbI3rZrc6&WzLOR1q_fa)Z_>HLz|C?!Om&nPFF$@d-NqXDsRn+tfuCmJD-8UL2L4?G zH`DXSR8qJYZXJF)+$RnEbOZmZft&nQN_{f7o_ z(ihvs6`!X2>s2F->1onmX5gm#4-MQbk3(5W;3A!~@YCsVwSk{);7bjBuz^2d;9oNE zaw=b3q(1~dP5(57JIm3ThWm32_g5RZDQ`bAaAvip?`36%i{YAbJH^0F{kF0M{)~Y) zf|jO#DH9PF=?C!B_{kd$5sQUS53c}l>siNoL{DJ(lP6ctp;w&ryk6v zdsEIYW~GaZI8}%a_i_Vg(bxF&68M4=_yz+v>x=gcoJB;_Kbe&}E+?Po8@O3szG~nU zJxyntft%&`X#@8g?spov>Hd^2z!5I;W6I}sCGf`#+$tfI-)G=vd4I>iP5pT`BZ@<#36Cn|yW}xGB#IPAkwiE;xS7tPv8ebr(|I&2b%mSsXBfCiKV{%%x%h#Bo8c~JV+fZsU%sz!rl*-N zyA9lw|L0lR;G%m|{$Dk4Q~q-$@ckw523A_QNZ-uIsDYdLc)fvBWOVx525#!-Um3WW zK3M}d<>6TaH|62vv&g07)6^&D7`RFQQUj;T(R}{5f%^@7y@8wV_ZhfZu1B(wii_!H z;tLJj)Q8_TaFhQROW^wr+|1vvun~-l;hJv)WA(SeAvLvaCaEEN$1!`5v&N;#DfNIro%)7H|hU}ftz&tvGCwxyi9zs zftzv|Hri1p{r3$0Z{i_CZ}OkH`n@Pv0jg{|;xaUwz8-o1^?IanF-^ zNcq3dk+3@dw8NQrD3<@5E|D&_Du>K}riJ#e^Zzrz96<;l4~`eNfB4)gi=Ag&oBGK+ z>mKsp44*s|3%_=_^mnY|qfU4ERUBtHd)Bp|-nMVx+@X!~-0V+p+qYHK9Sk!h0uI4G zd6f%mRAG4LHY{Dc6~@|lD$RjWH8_*^u&-k?oGJSTj~%_G@uttztYqD4rgH9eJy6JAx3cekLZyN>Xxn!J;6F(Ce?e&Dt3W= z<9ck?r!agB@Q4QY+CuI+o&)%S1~=JakgQ`Pz(X3`U{fSr`wUygIMnJS?7vBzndsE}Tt^e(&`^et?u%Jg~9A zJA&~8ko!{+vk$Dmvoz!^_P}PV-oPx{VYPF3wXKm z>Kx?^=e~jb=_0uFMd{`mzLr1eNz^{*PWqQUwan@gy3lT}xsr^Aq&|T|SlGn!=IvJs zGKTF|OBs9W8YQ%@rOpzA-*yIw@b`Eh-H!*Mo&LlaXcd*Ho$i|_*O7m`ZD2 zar=w*4X}_d?4_>3ZiRzpe7Lvy2IviLpcRZWb3Q6?&j{%l;H)xi6o=z{M1t##xcJ(i z07sGZG%vPKEIkhkv$=KUEX@}-=nt3sjS9R)?6%6deKriq&|7!e%0OqtemkC?@`|W;~yC>%UC}O{ndZP?yz9$+}ACx7&h;6@#A?au}xboV~(A!(3z|l;qDz7nY zmEu|QxI@lbq0e#7nqA$!k#Rbeg5ybi7Qz+oBV0)I-$~hSuIb(x==>Bp-k}8_8$E6m zdRyc-cCh=}d1wps3x+{NZZVG{>ABv>@OhO>zryVxzoU5vM`LUv;MpS>3<2*fArqCJpyOfy~6Z|*){Bk&%Ol;do4G1Z0$Ze{kZ`U zIWWg-N0HLIj2w`*k}ebJZ>292=?|UB~hGW+VPV+5g!cwfivgQm)6A7Cq&ZYyy;Ojk@P4OXq?Y>jW<0G**F=3c}*qmmALaA zzmb(;yVD+9ZEr?x=1%SGpL)Zc+R;BUFgp--HI9$iW4-pc8hd07+6PK?Q+AK(Q%iI; zi%d{v zZ0*JluzNd^r>mIL+`k0M5vX&%?z#rX!jz6Z(Wzs*nk(t1`@bN5G>E0-54H)gkw%K4 zyfMuwM$rQ5^TMYbUHP ziNL$W);V808^l)n0;Y{mIspI#`|9HM1reJxcHrji8X>y4sT~8*+#Q>Vd=WOY-VJQ* z9yEO=8XWQ9nnVMOw(sGEy)b^^#W4%8Df1U>M}qaIER3ZFVe_U-*hNadG$s?t^%(Ve zY8MLsVp`m@5jf1Kz^3B}nKd$0l!@9aVe=J9DUD5wa-rPN7A(IPKDNN3?^&_*S8?*E zsI9#ZdSGh-q#wiv=oPp_{$pLDYafP)(6_@L`Z73jA=dl^`UY*Z4@#ED)rn?Z9=Ri| zP($Y?p)-=tPf;ewTW&T)4E+aX2pd|Od(A(gSiu#oa2e$Xg0OrO_?7B>pHSy$ok3Zt zmf^qRVsEnUZ#dI}-Ja{9xOe-k&Djsif?JkciSshs zU|S7V5!$v`ZO}oPI|szzyd_=!x9rZc*p^+9 zQ#+fNm&2U#2CHEc8?G^Twgp?C*7vCtS6XfRP%#U3kltQxlzok0jP3i&yx7VPY5yi8 zIbmYv`d+kiPl=)Z*S3y^t*&OxCy7>UNbauC zbUYWvc2zhFXAi-O&3bn@n>#rSKO-`ggId};5tY%Pj95h)HX=gSmUlzT zm-ePU=uJLGfnZ~A88~u*KYP>J;#|^+@PuPd;_3d2M_X<0V@oHD#gwxxhyC)yV9xlx zWYB)ja(BhtooM3Hl;;~|-DuQNKVZA*0Q4Mpp+PXrMW40Y21=q5=oVs8*FYq&-fq9?)< z-bOcGq9=Ajsd~Z)XZWS4pE_^d3a3l9Aa0AV60tiz-uB99WkP*Sde|$YgTuBjvKIWB zQF}J#enLhqGwcOMoJQA|@j=8dmY(22Rla%AiNcg?aI^0l3CJH!^le9@hH`}v`@|0{ zFQ*RH7Fz6mskbgd6>POF@@5bB5AM6=OY!tMRvRoZ?i3rBtu1fF22Oa*mDj&i8b<$+ ziu$u9WP7yy=565OyxQG3uhzZ{HfV(BWL2Rr z5rX{(*&ji8b@uy#&g=*MhhOHs<#Vja+MYu|>GDn1mR+bnr92q!Cm8NW+wY}zUX+Z9 zV3wYabBn+b%tMi(Wk@9SSCsz#l>8v7nGx=otYN`PY|9RuxEnjTspZsi9MjYNJt6G{ z`KBF<#2~E&P_vGz?js*$C%dCe7N2yaKg27WIMxboD3k#~F}2&XcyzpN_2_hE7i`?G zBkyC=KPn*X8jhq#dO0cv6IkLEy5~OY z)SfVVXCu9V5#H1xSd}~9cL%r5*c*E5M1IKjIqZRtwKx!PZmVUTit!29%K{LOnx43 z1)4DEr{dqeo%xvdbU&`{_se_kChE$xCpQWAf_!>%=Q!T`JKkSI1H^RyTjO11gvYny z4q)-j*w%O^G{wrawnj3SA7}|?d;olv(oo+*E!72l@&W;pw$-$M2J>gf0e!c;I_zsGM^9>XHB9+0dO8w(Ei>U57mlg<2&vbG0Vy2TmZ?16 za<6Vl!>$iF93&aUd23c+Q0^AEE9jp{Cbl2uq8OymBQR6)qKsF3Q$AvVtN`D^Z5#)z zzalJ~abpL^!P^k0|Kk_C4(7#ojhXWpBWBI;k4?_GcG?0zcm4S1P4|zRKW*;#@o|4( zNaK*9^Zow7Fn>5X!#}h!&}33n^hPx|U*NBwcx`fSBI!SG$gm-eUphZ2-U3Sl=MQNd zHYCv4AU}}A`Hkl{20=zmc^$O}d>Fo|=~dTMGA#BohpTE+Wsxes=kY;RwLrpE-q96T ziJFH<5krukLRg1*m2Ed z=p=?~F8@YyzqR0TR2A&()rQxA#r0L*c$Gg@cDrXnRc%BeEO0BL?Pbm2pnS%lHQ;G| zRrQFcgojqRTc+I8e4=YiRdvQQqN?`JvXNE(+sngM^{IXrS2cQ$463R}T>S7`3%}JP zp04tas_@S&{E|yr2rzpkrgZP`FZ8`v%DAES01ivyuE+8swp)f zR@Lg+D|e4as_L=x9jUK*A6s-+dAMRB@S_bHSQVpyBjJ#1CLNRs=E+PoH}^W8U8D2q zSI84=Q}_H^kvthuF|Mk<*^&8D*8ZqyevdTA^-UAcGDFtznd!PmxlhnNE@EOr6u0O3 zjEm*8rd&L_p5YC=uAoe2$`GqNDU-MNL;9uq&x17ALn8f<$XZBb^@wMv4LtLu2t7lw z?0gZ~?Q@yS%Nz4ff=%{}@;X9GJKKQ}n7#GRLl zwu?)$i0gNK|Ej{hbc{>mlwrEpmwsv!_yE@w^+D@NzLvQLD70|n9H$$&(4BbJ;m}2y zn04n<->XcVsNNUjTUkCTEmyQv&~Y;9@U31pt?> z;~v5@@l6WX_1xnM_bZ*G>$)cu-l%Y0-@U5vy$XL5@4R;5C-yp1UU7-~4tGv472}^X z?8R_Su#--!%0N+1fd=>P6MsPAIv-C{c&Ea3zBMRZ?>W?TST~Z+{C*&cOVn$)57+LM zNQk-#c(cM=l^}@v1^C4Ze@JEJHNbdXuJCFKJT6gx;7&`S3^%0kFNm*5CxuT@xTrty z?Pi5FiYn=5Z^<9vbKX#NSC z(DjyXy(6DHy7S31l(eo(&KD%-&A*9X@TwAz=)y%)mNWaJmy)hmRWSofM#bF;{>cSgj#^Dov&Ygy>@w09e z`|?3ha3OM)FYMGPgk<%G{(M|+oVH-$ta)=q8=CUNVyRRJU&TH#-l-NTyLxTwL4vrP z?zyUl7u|D3i*|pC!kzBVE#ZDd3HO(laDSVDQ)TMnttJ8sN{&OYp z_Z_$n*TV$B#ha$h_hTKn{zls$yqG>zbyM);)vM|qem)65&Ch3*M<+haz}W`T?r$rB zKcR4EzC3TZH}id`fm20k`X82{Q>}!Fe46qw&cIDRmn+=K&vy*>COG?wgH^cpH34Fc6o#DP>xHr?eUbS<`&x!cy{QA9to9VFM zz)km;s&)(MuuY)p+-%?`|EqMn0&W#aJfRzEly}qpw@To`6aJ_c8FnKhhf9fP9`9sg zE*6R?m2uU7n94&1NsRtMgx z(s7D`Gd*?t-LG(_4S)L5-!(p8)hn}=1C8r`&N2t?SH$jd;JTmlpaa+aoV5;ohpKNx zM&X+dSNB`$6ki(G{gx&NuKO($9Jubcu)WVq)6xBwtq$C;^yy#~KkZ)kTV^_N-EUdq zz;(anJ_jCBdgK=le2T)iI&j@@nQhd|bfWt$oeq4HDolGFxbC-<8|6sQQT-Ni28fY9 zn^eE0-QiyMPwsQzx_|Nu2d?`kI)4}@f4YBS*874V)j!$gpp);PIB_NauD^S)i(_+( zbL-2r*;9u|C)nRIkDZMnZ3`2D^Ib#!r?$Z$m0T`AeiTtXo`6Sjh15NLyn0YKt=}~I zc|0)5LK;x_nRW8PQiPe^3`grttq;#oxGtvBm&^5}BV3KE;-p_o?uB_u`FHZGvN!KP zfG5%%nn&b=_OGh({8t^mzK8II&(8FF;ZyQILHVa_n%55H|5ql6XTRfp9Nvqi|3ha< zhknH<)1Ruxnf_M+qZ76X%xk5xHQ`J@{jTrV!xQ~Cnx66efbxI716S+_Km4>1KaH7A zUsV20jL%ND%N6EKzpcu@*3X)bj=z3S;h|XiZQ{Ttu3d^S(~nIY?O)3;)rnJf0l8KU z;lImux4h;5o&59N$vYkQuu+67q}u&VZ&vlr@F}0g!f!eaA8_gVQobFXe(2M;B^H1B zy*$Gj&mHO)*Qejh6H;wM@(>b?gs_vRLak~0h)W81mh_n|Fsi=*bK$YfFY1;dVQ_Mp zTpN`d?n+>)T`wbBQ)>mglew1kkL#Ah8N4N*;)x}+{U7d%imbuCob;3~ zE=H3p|F|4@oeBqQ^S9z72U}f#3gK@TpRlMhG0{?Md~p|fpjH5Og+xYmg+!?M=%L02fx0G4^b0(Xzl?W1A*J# z>J8~;Ccp&CzQG@{Zy1b~;OX)8-9KbHL^6Xf32*-Eh|Gn*1Q}QN!{JpN#+J!E2gu{M z;jfU)spets++4A!Vi`Ul#$Q)42Du2|7y7YutV4WLM@{6G2>1BvOpjUVQCMYinI9|c z>{0dU%5S7cH3m1_ctLtmZNrAlrM)=UeNk=d4WC$Bi}N=Ue#9Hc@LlGG54>CHyP1m? zmSjCjt&`kgk8A82C4@$<<-)?SZl<#cVOU}9n_NVU^QE~u^s-?fJ2E}038{2ZdQ|Q3 zQ70is5;x#=6qb4MB=&J$=2>$s*4SpsLsn*RmaCiFIi-LD&{afJ&5ds66cSjKm%Myo z%|8}(BPz+?TWOo}M4H_{(`!*4{VpI`mR91)%*E^DnFnPoy9((S&&-g=th5C8Kme2P zQh=>Amd$r{kUB3Mc}#x^MCL&m;tg1xbAvb4d{T9)xz?Qn2K(UuRd z;#7kn0|`(o$N&!bI37NgI&Aw#P2me3si%24?cp;Em0EYD=>RjtYW}-0e~X!44`znz zF(aOz|Hh&Ks+URhgX>=YVZDH7j$AN6wZho&VtwWs<(R{r%mo7xwO}AxF-FX+x?C5+ z=`ZLWmz(K(MV_BN^YJkMUS!#T?Cb6kzFqk}t3pgwUU5#wh+}~!Y`J?bcFggAjMZ|I z`QJ20$|#rRYhu0?uF`Xls^eF1D#k`RH=-{g6L?|MkM+It;vP)8U#UI_IlwcUdd1u` zFN)zKfs;<73R=hvuuDp~pHc#!4V-j36&)c%z-}txewlK=Ni}#D;hh)bO**ZrAtU4l z*mv+N#{a*Uz&Sy|#!MS08B9yXV)j9UoFwUMHutD`9QxIBE5>Y$!vrv0!9c+RG0)M4 z2^JNqGHcAwm{1{V&ZUUC8bkn>?sG6XD)7@|TK~e2xCY^8_A7oYP}yE&H(a|PsM6o* z{$z!dKD*)C{q+XU^wqf5v2@RNt;Wr{1rz679WQ6NJWZ1qZziAfOSm`fPMCb&Z_qKr zU1i|xo@+jTsN{#AS%x(JmcpHUnqwFypXOWyyAhgBf*l21PCCmK&Tvis|J_JulYc*n z;G%mK74d$R_%Glq)%#)xuFLI14qTVRy$)QLw{n9YhO5il-#@nD9L$j87Yh>$0x&cF zKQ@5jM;sU>vy9-?72+SRZ>xNfZ%6BrQezh()#>k1=~W2=eDo?pwd#I`!j*U_)aBaZ z2v>hlQ#{bj$4=Mjz4{64<|4$nG;MfD>)TlkG`>QJcpVarCr2IR) zyN*?TUMKEMKQ`rwnPrH6#Ia1ci*_FYb?N-m?=$g0Rzn(4_a-W1T)O-*|Cturzs`S_ zX=mO8a&1ulb^S(+my`cuywhE)%FvLC7B}^-tgT z51bba$j<+#@B7cZpuj;$JceMity1jwiP;B4Z}y|{5qk}eeYc<9MHe00u$UWnt8G8` z{G(5rS#qAsw>${`ey)cqN`zkBW@2!jODU@#|KXwdsGs`xYFP8r3_!H6WCQVwl@C-P;KI_KqrDsR_on^ z=#MP}PZ(EFETsD*Knnpbw6IwMRzNIcr)EsRflVw#9am{80H_w;b6N4^n7>y z10m!y6n*%cu+OFJco_o7Ck9((nsg+%Mw31sD7v3Az%q$e-}-Ncq(ng05Q;A`d$mv? zFNIKu%snn2x)!J8`oeBjjsZZ_nYF(5H6o^vm#pBgSA^?J*j5?#=_v4s0GY@0kcp3A zBSde*%c-3oMlz9#^6p6-JE7^2^;X#eq(e5vJY9r5eTuYIo?CGvU5P_B zaW)}>kp~$<1Th-vN?xD)2EKDlQygiUxdq$X=}ss*WH}sFC$8nkS}Su)t@*JVW>})N zi6}p!G_AuhmkI%=pZa5|wQ`J#!63B6$#mxh5p3!-Lh#_bH+frOtSx*^c=8(9J;9KU zbcnsz*z29&V4VZMu#1v9&A>Y!khhaztyL=#D`@@?N_X%~? zIN>+ec7&8Obsv!ws6z+fa9}t^ECU-w)NyvDIL96i@zpO*y@y>I#8f$G&eYtRiBy-T zdc3|nW}%kL?;&d^RfywSD~!Fz_GbGPU9!THbLSyfCBLa7USG!n)S&UU!`MkDc!^~u z^aDdU8yNzexfy(Kw&WopR@Vs8%8udu(bU^LR>PrGZdo>0w$J)G&PyCDLd3p#?D-PW zRp+U~Hb$dW1_K$~Q;&j+qcODrh(ki{m&JL?QY0{V3Ck6O?Uz}9@qpsE{ed`NxL2e| z!@4+4ZP+gZ9+O#eI{1`Q;$D{+9C7cn+Wv}Nuo#6yBwmBA^H{L0Vta1HCMhvSnOcnv z?H+dmCNvxe$uE=KgE^e*X)rV{6GtdAR*5=@*L&)$V|fU!I0%`MXR`sP8bfQ`ipNa( z=Y>lcAbQ8TkEixx6uDC*s@1lJdo^1!OZtgaZsHlXzk!zF+0UrMkbdMqC*k+FVGD6? z5=ls++F2nflW>!JNEBn7HXP;tLPUY*Xo^Jpged5&6H&=EL7f!z4Y>IjdV+&$8D5`M z(Fr0+{so+=^k?P^=3t1%!Q96ZW9CR=JkvMNpEx)5h&}|^y)O4UQUZDe(j2#$_FAU% zsokg@=PrR$WD~}4W&RY&99V0K;5d7A`nFD|+<35{UqssG%7Cz5kos{S^<&iT68h18 zGHO2!T`(z%GkSgZtcA)DRwm-<-`26|oE#Hv|8rtw6sDotr$KT?X6lCX)Mf9;OgSw2 zypEy*13MxgqxJ_;_io?vA!v?6ekT=5v~E|W4*QlqZey?dp*Rk{Zra=f`&w;1BQupv zBQnG45t$l{VT(czB@&O=PvBr*h;+Oz6w6$Qc2k5!6Dn#+U47mj0nhQp2P z9^!3p20CNeKbMWm3_c?U{T#P*v92id-G#eQJ5HSww`bS+kr5UhDT5tMub6v}NH0Pt zP&ocpA6uKNLJG4z&?ohT0vGy$@rctKrd~E8@nM%jB%~sTXtSD$!k&&M?F}E?+LEd4 zuf$*0Hk4E}>yRAej+%k-yr)w|e|4n&jfA(o)7SAwC^*O;%I4BTUzG7xd1$-5FrzT?Hmi>Wn5N=pY2s?hE&7r&9?`j zw1gCLMKo)~9M~u3H}aa9Dbp6o*2v86{(Kk|7%dEQc~X3sHsJ-1dAp5%-%E`S8J4pbO59wLKR& zaAivyOyj*#HafH9X_up2Go;X-guaICYPyhN#Q*%tOfnU z;$XSatijRlXd6X{u8-JHN01OuV3E3dRbUf!)nR+By{loXz1z+*nV{#sELxyTl3ZsP}X1~0v4JMX^ZV*hNu_W3P_RC>=dw6s2t_VIy?Y&_;$M&Ta zZRm+M9Et?@M{I0xZ`qvsz~yUy036V_*SCU4FjAYuu?HP>3)M+MkD#KUj+7O_DD<*W zUD01{q~ZOB-4XW-qD}UkmAUX8%A2wy5}p*koEi)z3qinai74M@8!!TpjX;hs3WdX_ zl+r;Bu!6Uw4tCO{Uoul0cSAh#jlpv$@`c7=&Fh7>U`=5z6}_QCd$6effsP}G^-Qe> zRIF(I8M({)qKWy6^cA`Rxsm&VD8S2@b!6=0{C});P!NP1LntU8Bq)T%*YO6*A0&a2 zL1D-w`pKrGsw--dRKh14&!Qm-?x4eE8=6@Tn-FozB`PwZ!QOAloHRh?q%5~8Cj$ri zW+TeayUa#Oo*9_Cpl^JOmxH1yCA+SOnCRu`IEo^YdmkEOrONl+g^U$VtwQ?`+#>_g z_cWw3>PCYZ6&#|3YS|D@2qvS0M%3FaFk;yD+?dRTNAi&gUlG1iNMvqSUT?xcZGVhW zaGqbPS`lqD^L@95Qy=+my^vivrmaX$k(NkPZOy91-j_R>wDS5i`1GwOg@ex|#s!~F zi~-Nt+$jeGRBj&OI*m>fhn- z3i!J`cY9xb9JA&6q9z)gyWY#O#Vm>)*Eu|bJ6fVNGQ~8QP={f`XP|9rL{eZ40%aJz zo}F+P5AJTU-}SY>fM;QV@Z1s5zoV*QS7=vqAjB93tndk~RNsm$q!~%*Td@ic8OxnI zw?{&U9e+B4_JDF^;x5;$zMzG-9Lb`D*+2)=;pku%m*TlzI)eb zNkAplq%DTYaf`gX(aQmuesCnxu279(d?TE?wGvstBb^KJMc`hBE@d5@=fYx$3H+*r z&zmxhae#t()o~1zKww*Lrf})X3`5sNW}^%pgQwEnOVV9Py0h9oD&%hNWPFqDB6b@5 z;p|RNRAdm>6v+(QjVB@Oy^Tz0!SqoXbon*Va5YTJ91Xgl-4Wrq3K}J-r6DY$$0OPa z`G~NtgpEa1o(!41*84hkq3j|~_Xrxx5Hjh+opj<5y^p8E8ot~6!axL58zK*w~x3|Ib-{Y-H#_=KCRQoJuzc0<`y)cn84%u#) znd^LC|3koZ=a6AOQG= z5efIMK8-^}0+l#uWolyXO{tzEzV?CTC|WE2fQA^x^?mIhKr~Z5<-U#p@VNaVyDJ#D zE7W8t;LyK>cgNj5ih8vO8x@L}gc6G9Jt5;*)7OT!1IMUPancuhyJ#;$0mj_xTI^lB z8uoC!1=TiQ`27F_s{!bK%}STowZKv~nibix;^b}ZAXO*E8qxYe|i4W-Mr9N^c&hf3NL3SY8 z2)cU!^`3noETKfbg)l zSyl~W+`;Eza#r~3^x|a^dnmB~)W^PMi3~^XkWq+J-wc-xrCP)vhBSRB5b^Y2=m_Mt zh_P^fd~cF?26Uo08O-d zD-*4@f?ZYyL-+TuMymSm@AR(5=saSRI(&@p_6>M|g=g@3Aq`1l_F&YSz;l?xs}a_d zxm@+&E0$ez&ZCS!#xAhv6}F?Wkg_u~_DEb=dt+|Y!&217&AGUH9Sl0f-JNmwYnclN z#@$;nk_YRZSz%gggzs>j0JpPJt4U`a9M0p|9gsuo1VPWAceYgjYlrsz4O4q8X@5Y%V6-Cndb2kkNb50?)|j z1_|$wQwFDr3Tc5l%I!I<`3xU?Rfq@L(%t$Ai=p}l>9Ik|5?6?YGm$!X*nZu9 zJ+%XKcIXxFzypLJQCHbLJ_c*TnEXI-ko|+pU5K8UFmdL(q{0i5idgnX?kvLZ5_F=6s{)fShJt9OI95kv3u>~{aZoKH~SCAJ{ zE!*Pkm3cKcRL^h2hX~kk+5JuC=>JEr|CjBd#gR;U4R9H%5w4F_c9EiayGS&f)!*|6 zxe7RMNy@75+yMwCzzm4=W~-!6emuPw9P~z3+~PoBV~T6g{;242NSXZIMY~Na%D`Wy zd_-0Ko&CU{vU}B174obvYTv54B2v`^17Rcknz5P>k|&Wau1Yj~T(E7X=)*3QqF=D9 zHL_}%+tZE!VryU#YdvT^h3G#GLs8GbP}H-+P!z11HNh@a(a#o_;yj2S7ohVxnQMza zK2Gtfm2S@^MI&WZlnsVqrzSAyFwX^pRhz5sbC0fizw-mgQD+8&zSH?4}v>Ue~Iji+b=L@UbfE&he}_|Uv_Z9+Sd z*Hio}#Ism9<6sN!-;2qJ1+RJ^?2(V9gQAlfKswhKW%qyKT6wNdqusCvm=Cx_*_Mx3 zqvl+pC_j{5D^F@iU&Yqkp9yDNJFYLGQ}GhSPYg8Z59&S=ce<}uWlZQyV3Y7G=6;%T zzmoEeOXx)0xo@$U`(-6?P68Bj|AP|vuS?(@QzHL*U%1d`z&0v;6Bi)k61oHT?fB9C z6tyWulv7}D;a7~GeI;TK`JEq9xpO z&lugizJQ3}66F>5>lD68;iCM}fm#IFrXD6QnAVnr385ROVHxw>g^BqK=FK0{$d3z? z*P7Oc6hae8!Z^{?>#lQrCX)Y*g_e`&&RYP>Q97VLpN?{iP2kr~ZK7L;)uTDn=3qO4 zCX(k?1HwL10mbG6gsgWa$lVISw7IFgg(qXPLK|&G_1(&l-@gEMr0uPtIy`M&tB;{3 zMixf491$i`;EZXHOKsDI?vVRy(Tfn*nW}v9X0EBOQgT6@>vA=&%ZC$> zmT-S<3H-2un|lsUQmT#gO?;Tb+5Rwh{&X7dk2UywwFLf-ft%@Yj3UZ#D-Akl7`W;F zRs%QP|62)M9?>D!Rx=JdJ*Rr{g3B51-3D&D|7{6;yMdehxCa*Kn{>`Ha5G+}eIGMD zZNoiPpXPs%s#?fDcUNlsRs%Ql@y8|bCl#*q*OF|zE+Bx5^i6)^C2-ro`KbB%O$q#J zCKfKzr^y!Wex8Aw>9f+n&2;{mft&76;9_%Jq;K*QE`i@v0ypjZm~{3S?#*xq^92{f zHS_CF25zS31wP4^cXxS5_8m%tYpIFm%n+rJvP8Q-jd zo8eY6lW>tAGhU+&+?3~;25!>7y9EBIft!4uK+m|G`8CeK&2aBGa5gz~eEZW8F48#> zKaHPb;GZ+_ZyC5rf31O=d>%((!bSSrm!#>RYTz6<(D+CLKiR;S8aT5;yZ@enn|!V{ za5jy!`#&4F8Q-C*!gi+TwFYj|`B@44trB>RYUh!@NoPz6T$}+3w{-8vPxJq(;oihQ z&&c4Sd$ZhKPy&D0z)iV*#lTHEhf3fBndrC}u1V+fCGZOj+@v2jaFfo|68OyqZqliw zkl}Ks!`UV9Rs%QXYDx+GHUl^L{B{Za!4i131irZh{xl0ok$CMXfmgEd6mfrc3H%HS zrE*WzuI2421E)&X_)R77e=ULkx&(gwDGXKS*QvN``ol`#5d-g&{sw-ULFY#XZn}TW zz)ko6Vzh_Nboi-(n{qOPl>siwn~5)AV7Q2zdVYoxuE~#Zj6Zbegr7~S9jR`4e2Qu} ztLit8&sXhTr5^IQcJEgKX!;tjFM&5Y@MVgTCI_zRgdBLIa&I|sZM3k}fopqhlN|U1 zs$Dh3fou0OOW^ZM;ENsje3gI89Jr>x+<{L~{H%1~ovOWZp95c}@CQoZ4?6G%Rr~Cr z68NeTcxMTGg9CqvLW*mXyyfLY<9>xxZu!%fPEU>Nai&h?K;wEm$xlJUrExuec8>$s z<2@l2n0Bwnd-gbRJ>D~0jazE>dK~3>2d>9UPBQw}^rOd1{`o!Prop@aITLq&#DPhv z)B&F46;k(Sl%7$qM~zLfnqiWJv;%dw&XNy}tWCSFSu&u&2wzY;IJ$*bBg?_1TozUlbu_YfY6rQhQ7rHkc? zFw>8Dr2XskYXL_78}T!*U4Hqd$mBoi^walC@kKx99pT{%rRpP}L;dDAY z?Y{Er-W}6didBY0)LCxWypHL8Y!$_lA-R?lD;x*O{khzm8|ZDpJ`t=$x3PNV^)eV_FiYDhn>z$ zvFzX0J&1eY0M>7cjRaT*R_?oNDYC|D!=shz!9or!AMxGs4Pu$ub$%Xci#CJ-p3wX8|0G#VT0UbC@7bbBqVyPyRxz!D``RDEl3( zRVc?I6}^VcYFHx|+B)~*9_!RstiUGh5$>_N z!aYblp2wPe$r_F%!9tsIu~apTs*-w_SWPr)@^HH_KUI7oEqDOUPitL+IZ6Mv=$dw_FDgqy?~ zU2)bZog@e3kIep`mT&GVWKm*C)qGc?w1{#5&V2c@C(DB>oU+hfd3BD-W}clZ*W?`G z8Y8T2oj5*DD-(Z<*)L!hcRq}~SxGK1{01m+;WyI!T5J>(n=s$P%1h17v;fu?ZjJN2 zdu;QR>p+pXW5el7s~@B4gEDExl4z+-!U@{12bCZLD=V4XeLfgPeh%VJPj2W_dAIiQOM5yV)Y*MrxLG~c?F0y@F+36^3JiDO<7A7 zp~Ia@Ub&cm4W<$2pi$8F4_aANL$pWPS7aMe4fBX~OvZU^tyTUcPWOY+M4ZVMsfg)Q zCtbtfrxib5Gx&$K9p;&USO>%dDsd)Yqypv^YjHdto<~%~;dD9O;~K)oVPQ>3v9&KP zReRlK-z&a!sG04qTKu-+$1B7?1e)?J6=xZe$G;K7_4n||^bouEaYwcZn(AE3(N+G- zWz3KsF)Y=p#rb@A6z--_li}LJze2oGJpX^Nhk2EXJEwL;!^@Et9NI31pIQR12QJpaC^|yE@O-YqHz{0{XFOZ@6{A0~ z1U|I{KDz{da|t{RT&!VH9j_4Hd3_&0;vt1={{KVa4=G%fbzp3O3OeO@z$MBv?rZQX z7B9xX7{09p{zeI$t&C!HsKdz54#khq3&466?(c^OTsmG{YgLTSiNHx`rE)LIJN%Ve zLv)^UzgM{z__>sABGuz{%%cHTWd-0K!d`aL*lt#pvixw6JSB zcP^?x=F8qDv)y>Wd^oDo37MRdcrO&G7*=W zf^t#KQ|IeBnIZg$i{m+!;z|AuSI@*b-lH$J?Rb$6-D^5`5ya)B|L+n$ivB|eZqh#t zx#C4SlrK%cjQ}p*IL@T;ZyUHdSM%QrC;v*M@q~7%;hwr$)7fj_X1E_1c#Yw{pVD9a z%;9}aXRLuUUK*cg;AZ-NL*dT!UuocG`p}pQFNSNmZGfF>uO; z#;-MSlg}jzck*c)xXI_w3_5J*YWj~GxVaYKJp(u04^euM@$wsV%ropvKJ}V7C!hL^ zBjP5X_m`mmdjmhs2zQ_oCh}8f;HMk-=>~pI34Dx!`wjQk7`Pekd;>T0{T>59!=Tfp zaK=|X;>qPQ&)_=~?>b-l4-lV^D!(Tx+?k$w?Vd9|uQTX081&l>{EG&@!obfm@V$nd zn|kIrBVWvXf7Zaw^znlxFXk72`qK5V#;2$ccdEO_H>vkm9k?E7?s4F{y`$|OYdX5U z!?nGjiR)!YxEfd4s9#IkQ~tF6 z1E55jX4xk3PwPJfxAZ?0Kl9T52bv(BHUIiPPGOA>cW+@~Zlfx{Ny389sR`7QUB_5nOlcjFPYU{8O)NU(a8FL#g#_SEIjh$!GbG zk_G$Ybwn<_6Xjq*UE!pLxF=tUhuQ7(P zEtbtShJ6no3J?4s(U|Qm52toY5^cR}L+{wl`#toRa;(W54j|mX>R)5AJT*pZ%bJ z!}}sQ_Y40Id+!1sRdwxw&t&qLJWoQ%ix85K$qVutl0Z^KGBAM|Nd$@%sYS#P9+x-F z2ow>xGgBSM2wuxoYrSfzwboL#)PitTB4VU!d5LJb7Li&QQ;L@Il0yE!wa?x&JBK-< z-uu6|-}nFT?@Q*K-&uR_b=F>cpZ!>S?d@m!{cc`IYZS;X=AZwx^9xh??>fF~+`a<2 zbzJu${;P{@@D|b09J75T?paKK7uML4M2*49D4bhjDfCZp5oa^+w%;?~lIUu%ZCeF; z=^f_aHvA4m?t2put(|VPTN1m!rPiO2gAX=mu6U5_D)M8+&&BiDV7%C0_!trS&^?H1Qw_I&bgPg`p?2MaoeT4>^MBF+Y(+I2u#LO z-!820xn?@Bf>r(z)?7_3jTctuI`Gmb{n15T_lD;4nWG|;`>i*?xG}f@m4AcaNxV;R zHc+f>fa%JB!`#}j(CFLa_BgSYc>!6swB2b*Vk;w^E#-f+?xY1+Pd9w0Tyd1Y$CldJ z8`{>cCKo_R2R@CB?9P3bt!g+M|4Z?np=C}M?Ic=`mh#UKpGAff1Egr(DJAlIRlZU> z-8%%+aPHI0y#)ogvsDbVg;>)*0Ev>Kk(RMVby76tx3S)xu2I$_*HvOCKh^|6q!vd2 z4q^W^TKTQL7)v^zoU@NIrn;)(h}q~|_YV|xf%`a?x1FBr4T_gezJib8UYqe*{TS5| zT?83I!=hauwFa(l_4O#;JBT{uNuncqGg32**xA#wX3g^*i$``|iM0)14qr^v(IwAS zbg+vv5ZBW7j%^3^t=MY56CTHLCfH^84a5rNUggH!E&e_5^U$^r4wxL}haKhn9UXVZ zVF4ZfF-~{q@b6OnBV$MT~Oy{m8^~ za!QC2o}L)7`=I9(T;>mPdV;A=&ueBdxBmN33|b~5-yddM=U<|k;|A3^)L}S>^3uye zk$d}xf(u!AHFDk9>c5_r!)^ZQslk_7QK|G)uI!@_Tnu#9275=-tJVWH&joNd965SU z4nr2f8eCd;?jlD|l#B2-MM)y%;5@_?H8A)++^7XhjH~z9;2)$L zu1`#Vx=;>6e`wY5Ojv)MP!+B~OF+dH2+M-XZ~K~B+D@LcPc)icjpQ1`F#?8QBD{b9Iafyl!iEUIU8Umv4={FJjjJDd%B53+t}5dV%5O&-VQ&&m zTI~7g=yf+M-bX;#TaVyHUDcz)-g@+>SsO@y+&>o$VE2EZ&7n%5cvF!|YoLUAXnKya zhQ6qu8|cf+lpWWXmxaE-zlyS+{KDD&7ns7dwsn!dT~oUa zom2e##P!8AuEPa=c}>-qlQo_%(&6;Aqhhi9kFvU)(5TCa-s*CI)aBQ#yvP}!*|(D% z(7|aM^Fa3=8kwuw7iP0VhBuqQAZuZSHBYO*#BRLc{&sLV6=0}+>bTXY{C13ync5&d zl$!5Xh)Q}+-Rtd448vGvn)~*F5R{(0TURQjia>1SCn<(^sW=$5k@eY0gTxd}6 zb=Dn|+OO~@PqN1lrYKm=hepzu=4sLp9F6e-JDF5;5NxnrBU#>!2_jrW{)%@CuJNH! z?jcv-Cf@FEZmFLiG?I{$iI{NEHGwOgt)%Fa(4 zaGqrRe#N(vV{qmBX&qtjDZZacbTyprphQ=}>1YN=q*uo2Dmg~!SvcKyCAtDmceg~> zpVR$DqNAfbiN9kKU0+U@g3+VMHdkvW9Bb?P4 z->LYzi2$7;>KXZ7Ljthf#cgMKV+ftVfUT z0V|2uz#JF6mmCYC4M!wL$FDrM8l-_yQNZ?7Hz*REfHQ0OomnPtz8O|MZD$&`f?5OJA42t!zsJo7i z=cyWs8t7Kt-~~S;UvHuQ1|w#}SGl%(Z~X!(g}tkyi4gu&>DXZOBO}IhzfG-ruo98Q z_fYy?TqeUhoLEF(0Jro7c;LVB1t51GqD2&6fJGdWzW~$?5p?1Uut%a3Ux0HGo%jM2 zp~_HP`3o?CW9QI*i7&uviB5b0ej(9`FTi1mPJ98P(KHGE#23KIG5HH{t3)Th00D_k zd;zur3w;5O5rO;#peCOiLUO}F{dWI2B8RmtLc9OKH5$#I@C2^XbisrQ7aXSX&+Zg4+EJ;dWbm7ZmR@ zYV6S@$hOB}I_bOM{(!ab=6fvs%YEld@*0z98g7JbuMR5{ zHMtuMx8e2Hl1d;j8=^?I!{PjINSQD#qI_O*0$8Dg9Dl6I1x@hd;ta5YOq})XVdgpddUxd?Q_% z*s81q@XJVk|15aMY+E@EtJAn9+dG*D{@8Gx4t|3Uelu`Ne;?Nk)(!x>U5B1*_#)*? z`!gfq>vV9x4!%(b{|Rv7vxc?Dyo~|&OC5S@$RqJXvjvgxcXaUgfm6Q1p8{)dfPJh( z|5qLS3!csft`frbkS5sJdyzsSu)2<4nlFpQXRZ!TW5h`Gv@aqOPPW34@R7iYpWC=! z0M=H39|y;qvWZJ{Y}B7#A3#U@3d7umb6r(Kht}5`X3lWUpsPAED!qN-kU4nT+v=9z z;W%}&Ilam(6>(;^tG2-I1=DYz>sltvQ)Qc8B+g7#$#Qk>9o*5MbNuvW3z?0=EQ*7y zhupr9@maA4@mn?+-K!+n3YFT)6$C zb9C@0bns_&@Z&o8Uv==3sL1?Sb#R(8jl}T(&(<##oVpHs4_!r)aXCjMbt4whsMr9eNtXQ_%AHO9_{4p7%+32I2|5eP6=K z{7K*r{;8$(vm|_`gv;q{=D3hUGU8D9wM0)%mq`Cp4ZZmOpVy(!;gyj1k@L0a;L|0X z`VJyrbv&WUjq13-t9Vz0(wF7XAmP-n7xWV)JWs-(kZ?I)#S9_@N?*?RXA+)|XCi&s zpJjoBxA5N+?m-#;~;WGdC@Cr!j%eL-8 z377eg=HF$am-)9zc#$L@r-WN1e6EBSOZY#yqEh-L5}uxd8w71TT)=UnFU6lIuPHk8 zGj!-5)}jB24*dr@^v8AR`%$BVpyl7faV`J1=+L+8(EnJ6{%1P$AL`Jb(4il|J4agn z%Q&v(f4UC+Tpju+bm)JfLw`(%zFUWWAaBsL{8w;X%YT~={Q@2OpX$*6N{9ZBI`qeN z=wo^Rld3T_rM%l|Na47a|3V3u>(TX^bVwc)#z^#XJz@h}JlD!Cn?7a;+I)q7O)dRY z9r_I%*V6w;hkm~f{Sh7dKJ;-y(5By?<68bF>CjKpq5q){{eS4tAJU;eszaa2ZJ@RM z7jRt5{}dhi89MY2>(Kv1hyDW{`r|tE{iw4NLH-twYx%!LhrV5h{>M7>KhvRqPlx`9 z4*fZfYwO)59r^*hVhVaHHwq;j*S_y438$_W|127W-&0D5cflwb!)==MsjoocUnE?n zU#dx;cW(@yI$}>d@lQ>xpfA8R1;Xi1gcg1wa510qum%_N7tF8*&jh`g zU-0tri@?Qv!AT7+{IQWSI|V^6#_jiLa4~NG`g?Yk_THr9YG2{1axa`ecV7Gam4+(y zsR4%wELhOK&}FDvxX9IBHTK5Im25{X2*@8^`y32>XDnz}dHwJFFF<4x1x<;{p^4x4 zd3lOw{PQSoS>KoRr747{7iER&@58)5Mn9B~&>xX3eOn0U!xmhrVUHjX0RJUgIaJ_= z($vP^$K&&6JrqUDzZFj?%^@KQ^+LqAXmF9g_-(>-y4K3??_ZJs@jO0PFWm7!ooNLA zIahD+U(5d#V3dDNh(f(c*3!B;rsdzk<3FrX;@&jgNr{eG&ir$uQ#*^CVa34u{K;rLxRUAo@3?Guo{L~*v$#M&$0 z$3M1v0Y=Ct38u9?n0QJX4Z^l24mz>^3?qX@n9cu&;{6;^Iu_&X%@YiU8=+Az&jiM7 zOssph(_Eb0kHe;q+IkM*=@Xt)M#Z}i6wCwGQ66jMyS7(JvfXQ$EpW#jm%}N#e`WK$ zVdSZ<1rdzTwCO5dJ2L8()XAOTX}DADq^ee z#omW8%#sdvA&PBVI^IAP?Gi8<7OhINiP6OB&!H>@$DBRcVJ9kgB!4*4dZA)bj{BnJvrmi_lI^=gtWbA)G7=_okg*@h zcZ};HyB>p@KnYl3su4iwNi_0IXK)w@ip z-WB*jqI&l}ir8*2tave8zkd<2e%t*sE$Y#!4yxp6Zq!Xn*ighzg{F$m?pSSS`fSGr zAo%0NE+D)A3PY&IuZQB}!-9scB`}jr_tz8zp9Kb+W!oFk7K6>xWu!e-_C~~3yc_U{ z(#>b)Mm&`jt=NQR$@lJDQE^@Q9dBMYY55+C+tZC5Pq}TH7+H$Jl*v!&hl%$OKw^ zKUj|8Mk^{f4=FQ7mERhIx3U}XBsEJ>VK<^=OHK|2;Y~33;CV`v-?Q&ta4jIw_i6iv zMmwT!ueI56K%O+`OyPYfykv(nHgr}fY(4l{r1q4iH4&|F#$oVHY0aU85KiOA2bGsW=7^~Od=aow9vaD@ZlQ6ZsS<0 z`bhUbk^M8-qR^ZPohc~-(*b@H$tHvz>D!j@1t5_aesl0gYx*DYESO#ZE91CWn-h2q z@JKSeUI)KH2ftYdpRR+?(!rPN;A?eopALS%4*rM^zDWn)qJzJxgYN@Q^501l*$7Pk z@p}}1k>pH+3}%C2#sz}Vaq1HizL?{oxZ#G0U(pzCwrX9ltld3x5gW6SjRB3_uC}z0 zorKL@My3|i>Fh<&a}Q(O?ODiPqPHD~Yc6JXzHPhF&Rnvwi`!Sa+L^h=?Q<8B5ykik z%{NY()H1zoe*27t%i4t@2(yNWNvm zz?Xa&F6JNUStBQ)al431&;*WCvqfbg<^q>XIE}RhPI^Xx=qWFOzfK?m;Z$}4{|MI< zwDfegsK90VatWvT1d+~l5-!u;5_uo2nE1@x%fk<-df35jc-Ltl;)67it2@kPkJf`k-zwD!b7^| z)hR^!yRXRqcpkqd6jQwr@rP<~k+1l@na9_VsZPbN0##mRcmade8SzNk z*O~)7Qu&ur#cR%Oc4v z;b=UscmsHZ&8UGp%y5z8ADgw%U)D^9a9`FifUUd)9!14*55ZWix| z|C`g_7js#^W3DqgKONcFwdUiFu{{po9%qMrr+HkJ-T=Tgn)%nomN%p`j zob7Unj;8QZyWJ8P>TG)*Zie8O$mzNB4Q$>2A$-T|EZ^;Dyy8k7z6d@!ehxZv#o!;E zYU^mRU_vdirLFUZj_BRQnX}`%SVths;eQWqdqz6;f9i@J=kMF;+jEz*8OO<7apFv! z9Ylz**18j3-JIw5IXgcxu{ks>4a8j_>Foa$qVgQW?D~67rTL80f0OZo!*ddD2zI*v z;GZY&KegSuYXhHqyM^^}apH(=8c@s``Tr`!rTFNG8ubhb@iaWQCb`qW5{K`Aa!)^K zGYZ&$5NEe^UW#@2FQb$LW6T|OCUT0@K~9_;fz|LianAGc$ksrT#nBagp599FjlnZ} z$DE#)wq2NUv-|(5-18CU!yjDLip?Ey;;f6{p@jFs=hnMiPA(&4y5xjBsooW}R82lfYBjlXjmufY3~y`z8p zESs_@x{r-qVJT_RnedU6YHNIF=}CL}AMK6ryHXu(Z&1R~oh;$#^EY(#Wkt<}ZZmz) zVupVb-x2>b^Ic_*z+?yohb-A&yAWDiprUhlRw?9HLhSK5)AVLW}I!i$9J^kTmbKm^YDpPhx4b7 znc$g;=8m0#zBtUPZ!D8jymGve{dbAnmH#ythCWc$E3)t>oV78Zk1if$RNJ>$Bln>?i1ccz| zz}7Qo$BI;E<34Dvv+-gRG`WcscsqmTDPy6*ikC*ltsN81 zt$}!?fFd)O@ADt9bM18)_dAXI;C*X<&|&;N+y+8@$CCO&doyuO$_r0Rucg`>_bi2@ zpg)kxJB){+^`yqJ&OnsIk0ZEV&t{6potCJ229G3sd5}E|>mqM=QHMbgk{_C15+U5N zpp?+O?zL^(ig%av;omg+(EUqR&RDp11{z(h_Kusc*tR!;$hy;3exSvF#EBXdE?*oS zckr~G4v@Rz4BUxB!~B;W2S0Jd|JCWQ+ex2}md5wd4!++?-wa0VAdhbOP&%i-A(+Lq z8G6;~{~gYt3XvkWnGIKV!6VdLKg=wT=OK#^}PriX8XF!beZ`-W5P zy8C16AOSJgz6aO6&rgY3h!aZGlTyaA15|Lj3QkSI$u-{t=}knBKq^Y}*Y`(_O3Cgp z;T)X%qOl?N2Qk?5>4}YcRo#$@XP{w+=s46Zl_A8QI5DMcbV@-8Fc@Yc$=^`o2yD+t zcz!&5&Q5qwDec8w8F}yM*u*G5X7op2wMmzqzte*B`xE~N3#tEveE9h<*hKmRdJj(w zRv1im+I^r*AiZ{)j+H0XSc>6)l*K>O96NFLKQWh1V;!1<6@lpxZnE&F9X}DxK>QK? zKDt3*x`W?J{6(T~1WxoH@hrstq0u_@H|XFrcA#{``Ma#Ff!(e{AMWh3opIvi2~1aPs&6rgI%@zM}jVaQ@{w0m!hH z#~1rf38Ns&PrXyu%&AH@34s6JOa+c`8~d-?tADMz4j!NS>~aut6BylVd8cP5Iiqj# z2-NmbTOs%t`lmP7@jMYDEL49&|F!v}p{E_rVydIyT6UdvwL==d?p(*uiFqEH*l!cs z@&wE+oWuE;UGU!8)5CoFZKH?8p`-DQ zPU2Nx6+`GP80q-m@cb3-B-c=uZEwJKG?4D-s9@t=NBL(M$F+3S?Ix#^&VzrlqEp?3 zIg{%K!HyG7qFI9Mvd5u3w~xFZBep+!ki&BdGZ%k#zl#juHMB1|q=(Z`&z<`(7~HWC zryoNs{{^J(ICwHxj@028*4op3klCYhSJA3*EtO85qiYwH4&D^e-j}Rpi5>-HJpyCb zV@?bPUuj~pJC9im{{C=b4O=4&F8;;<5WYZedDwfeXlL*2q#?Zg(x12Bcwp(J*CJ6A zet&vzh*P|``qBqkbSf6{;-}pQ?f%ax7mR8!-9!diO(a50l!fGgfe9eU!sdq)xI$cu zxhgT%HRIh~D;;f%pi2KBH=!Sc3wvNuDkfQg2eLeuja_5er^FG6f*)@@hTFBqH}1$q z(P3n0#z4p6A9VpwnOzr#ajsA35m}c-DZYVF>5k@}mr2(f-&DMRz%R!7IH5Wfqi-9- zN#<}`9CCTt1lQPi{mBs+33Dau5$4{~VajrJj5RwN-*fo0=rrlZ_m(GjW1#OvdZfu` z8sC8rW(-hGsTg=R;*i$VCgtDWAnrUn5$_L6k90pE&7BAjn?Z`c!G`0Zll&)FPr(>X z<%xNjb@=X_HJ$L5D2uHr2M6wD0a9d69JonU1O z!N6lI#ixozr#^SzyMc)z_-Bj@;SZe-4IUEw05>6i`OHKrl~$XhZ8{BJQDx`gd}1W$ z+YBx|mtcl{CoWKE@p;3B8Z+2v@4RZe_*%Iect0 z|5gr@qL%aT9e%~8JoGwF@4n+(jR#%DbpEjk=asiK9&`B3tZd2m@J^guaBNw2Bh4wg zj|`ud4LAF-S1Pv-M=u59X$nz|}$O}YA@U`UO1XwA@?M%}rBImk}T72HR8NB!%yoLVg- zTRI&_QntjX-|D%vVzzeoAPWi?>EE@+|4kDj+5p0AkDc-QE~SA$j*WH3_%%`YU|zy5 zxsGa1jG{wcWp7e2w_|-G3#EfVrt_2@KRXzto@kiuMJ-84DHtt|bj6$Q>3z@A5Ph(F zDIte^ZtYTCGt&z%%Xmg+xJPkVyD29o(ja-w2$|9q=+|`Uvd10_WwybPL!l{6)%lsSduH zr_;p8&`hU*`E}^2u_S)P`aRPhU{C4L(_9AY%(AHrI^9w@?~%{8l;$Hs&-qLS;tO9w zs?VX2W1-&ue?pTWy{AdU;iEL=K_m;?XU}lWy@T1~gUA@ENLL?E2H+yWoY%ad?g!WZ}l65cBv376B6?Xl!^;&^#d z`tqDer-aj*u*mm43GXZ6k4tkXaymyPT();f=T(aGmD3+4;c_~UN^?UpeF5TApmgX@ zg!}k~z&CKYysyQ1q%uiv1PMK#ufc^r|F`E{{+A3&3h*xU3S6wXQbQB}y+QLp+a~DE zu{ikT!dfmLx}{4qPgjg_OE|8bBe_?TFOSC35ZClufj>&~o5t6hWBIE2Hz99&uNwTx zLBzk-9ElT=xQOKFhMiyW{cq**W!_`JXzx{-p09ro^8-idq;&!~()Bz9;%M4LZhk@DX_jV;2j)t}IR zZT@JoZ=XLmy!rK7b0ouRYQMHU$OZc7^U%b8`QBG{bkk+(W1q$5R<q;WU&YIe*AxlF1Oq8 z@0D5j*K2)zF^xAve&i|LaS-Mu8l=cMesykc2~uu+40#3-gJK)0P z%Z)e%ke9RB6K?>okp^?Du{+tlmczr5Ey*}Js*yVPkmp~i2wVu!C7 zFk&^C2BHqnaBMYeVpproxV(ohY4U~M#}Qa1D~M29SO(F{e;=oexv;@()dU;^L>J2( zFBc+KckBkPUdtfB;p`gZ;~arWxL<{_@G;mMs3aIrPGVQZJypfB~(~z@h_}ks7H$T?|`Vxv{PhuVtn)jVsUIsV4S1Xx5sro7;yx~Ww-i20vkA| z@=DJ>Jm1>=3b#udoyu%Ptmni|b(%BU<$65$2h4qJxGFY(DaE@KdLFzZR0%1TN%1|0 zNW`P>dw4?c+)L?YnFdz%u5^5}UXUhjgovm$P<*qHX3)ga8&1jnoIUP-l4=4qRO(Cs zt6z%uQ6?K!q8o4-7~O!D3cC&rmsP1G#3q;d z=a^}G3`zXl=u!_F>aLu%fnuWZK@l0;uaaDy{*w;>7Z58KjJq{3sloF_f%|750~ISM zHnXsn?zU3}v~7DG|5+KoG8Jam_*yS^A@}o z?A(yZTEu~Vh6fezTeu61f(-Hb z{5^?r0T<(_2G^)_qaemMRg9nYQX9qh8X}SyVK=5Kj`hGT{(WJSKcS!BC%KN|a(x+* zAlJ>I_L;{;6=buSt_(+D8QPuG{CGHMMw7B}H_hHN;d};X4B}(!+v)$*b#Jdcn}oiG z3gMOB^4IVv%U$z+-U3zbBy`_25;_&c236kH17xQZ7WU!b-%#g6{h+pQYMleyTL_4P zb}wuTFfr#ghH7)zJ_R#X+&<+dOgKHJnW%CkMvVaktD2A}^cygcpuXpP{89Ke{eyLn zC+aSEzgKyG z2MTgrGrgmPIdCoPbN<5Le?8e5-EWGte|JJkQ`9>VCjv2XSBJFb@bpXQ7uHNah=O=L zChRM|6LW5=d6P4d{NwW*494sreS*g$f6&r=AIiWJ9W_;@hHX=G;`eb4@!;B#cpI)q zvuhhfZ@3MACwV$-?2EFLZKmvDo2fRn=t2fjVCi-Z)SP%Vf(W&3|OCm4A^ravbb zAMq_B`IV=!jXYP#>Ig8ZGo+u|FbF^-oW`<|aHkGFQ3s!Njv& zM!=pzjdtgaW0@QE-n)Y_2};wh9K6Z#?PiVV#^EvB1uXk?zsiIxl)P~D9s=eryrX?7ONHinF{4TeYM#P`trt2QbF!{EOWSA6 zoIaQNbPv(fY;EKxkx@!%*8CZ>*(`CdRIWzbkfE!6`r;XIgvX5JXfO2A>FrCGE?P?L z_1@7;Z^PaVo28jJ+S}(%pFab8qC*jg1jcz3m${jj-rKzx-uKyjbBL+7MIlLPF)p9B zMT=L4bT0vAFX|L74Mp@1fz+Pbb}@%b-3|(bQ`;o)l>{Pa@q1PHD*QPKm*<+_m2i2k z`C}dYGadYj4jv2rra*jRycgoXl;c`C$aCmaPsRJ*E~O*$xmX7$3wjEauS|cR4t|8= zT7FJT^fEu=C}9LG{dA7gk4&G&C&sk=0vD-up|L^=a``$zAUFX43(ULfI9BwQ|+b{$;a8!gkXmgr@@lJ`u@ z`Tk6zm(v-}D}3$e*v9`ap9yMV{%)ghEbDv$5bJkY+@9K@h1(-exSUN~q09f8f5 z;+M*wk`(bp`KJNXmK`9&TE0%ToNlC`eOJ2Iu*j%y<^{KcCr*7nYLm736Hk%y-$x%w zg!eTWYHn$mGH>akgUT_DL?E|yt$ApGnB-l#kZTS=RB*; zFmoiUK9M$D0dB*LU5`z%zY$)H<9kX45j|j38oOS5U@{!|9k?r=cG#YaGP*O!j`j{D zkG;8;a|Yx!7dJ2qG^=|JcNzVE49{A+PW%6$PGbtj1>bFmOuBNwJYKyI z+sYg0|(SyilTlVsp^mEbZ&X61m`!O>Lc zuTaqkKf_+$7XK%t9Pa;Q#7Nrx>%i*NZS;!19tiQX;O{_1x0(RCvVerxWAV%IZ)9z$ zKleKmInkJb!VA=Bgl!-r&3)d0xzCkkZy8~yV+-&xSK(wF`6Yqg>HlKRkhn5RU#J3! zN0Wq0Fxo`3d>gv{I(`9Zo}1=;L|`(S zC+%8Xh?y3!z|Ib!Us6r_UWzeh5rGJV%X1ebFA7?muMIYR|_CWiv~2G4 z|JUiGui)_)Ytq&7ABlI0@;>MPO&)>THmci#f5DetA6<+sX$&I=ZT{$^FI%$I^_BbR zL+ggrecio>50m3O9-7#1xQ|X9bo9f6}rBj}8((;AT^#j_@Mt$7}AU}f9>qH+EeL2PZM?j+EE&XCcoP{w2 zjP@*+$v0vU!k%QyPYT!#Mi~?*Rq>K?vlpHYg>Ya`7VM>P2m!YBIsDy>me~3OUPRp; z)}0czlOZQR@MY5CS8a#TUp-~Rt~td^&M$EVTb^f#dGbk)4UNJlIWl+M+2a4q)-{H{ zJa7Or-*O%KE2^=*Ld`@=09)jo{;uvuZjYkwhZJQ2`;I$D5K}Xd3uLAE?!<)?8;6{p zE8m8n8g_RjL%BO1jTReSiP3`lMb-YQ@k3XlFnypsNk@cSsfe@&Ua+qq`>*G~S=g}) z<$npiYUo1nEPh$KVbSh(JsVMZFqXr%RF$3J4iV25n4C(!R5H<}M_#V65Iqzkm5rYe zWvbZA#;rAwxsUu?IvPJzyl%#YYQ_OuoH;B}FUd7zH44)*#YF6d+XedxfWIAbg*d}TJ>&<5d0=;-fK^+!J1u1`{)=5rtXyHH z7)phXj36>Nbh^_5gH+P7(8KvW3)t)3WJ!h59MT9IcPZW$@tg@H6s?}YH&L2(7G`P( zNB)Q!BIwKG6;QgwpeEhFljy)yfzSnLCh8kQSyIHM*pW()cCkmQkkpDq=&L|&+wO&? zt5tsy!Q@nSxw50kLV*7SH3Eq#6lqz;sB_y$5&m!6_W+si0th++- z^B4g}zg#ZttyKjfcCR4iU@o))?Nv;O=_L`EeixLsZPeq`ZPS9!g9bIyjyii?3(B^} z{S0FpJEG+x^n;ArfmG(lUo8q&HPvGZh_6|c8_eR2?qp{G%_6mZTk-M~4VuB)kT7)v zr-p+xa`i{ADq5~EQF@5TJAe_PRD0{t=a+;EfOqI_FTH%1Jp}H+6u{N$^CEu?^@{ZP z-|4X*-pm|<@8Jc|$l)#KTgq4+Oc7&s#d`{zsTs403{g<9zh9B)E|3s{*MOs!0;V0>iY=z-NH3`KE8r2{Khm33B$mH=%oKWl?|E%sC2l`mdU;urNAL`2d3 zU#!WOUrRLh#Ah+f0YxVfgj=CFJXIgGkjlx1joxm&RmKU?KQ^w5 zuY%(3zNo%KO&DBJN}5{36rW9{s2klqWC^I)JIS6`@oqspYEvPGn{gRjPwC*OjpH~_ zf?CE@&k7RJw;(y&Hd52z7HFhrHG%Q0aS9cf3k4?nN^RfJ^p3{-6ts4CWS1l6UYfFn0y(P2xG1Y?x$>trhg}oRoE>GCsRl?WbE~2(=rgq|H+&Tvc(*W zc0@xc;Uu7|!`GR6p? z)Hp@r^L`ziCVwN*Kc<8KS_h}~%t+~U>EH)+@DFwHpbq|-4*m}vJPwK;iBCFYEfP+i zBO>90ba1N+e z0{zJHER=BBo}x;^>02lGnIhqGI!h#+rU(SRN5Wx z+aTd`d5N$>L@(>ZRtcBWIVs^XeHNd~)XKR|!eu^Xdofwx9+v3kd|#DtIo}U; z@QXTlI`0}1p9PYf3njcz!iP%uKnb^Vob;y%e}hH$?hP<69Az(j0<6If(p8 zFXSNd7r#w-NZ0%|L!@7PMgGV0_%)%J>V=4Ztu>XKd3;TDLk%q!L?>3V3|cpJR#OpO*hfyc6x4{QbYF-IMT@ zAndmE@<+FRc3aq;<2C&`Hdw#DKgTBO5b)5%e#2`jPCq;6)#2Yed6LurHd{!MO`lGj zqzG(XVi&uFlSRc#qc67Zuv_uI!JcETMw&AEHN&vEU7eR<(@6gTtZOu@|CrhlzWu|~ z;P>RAEN~=2cn+JdqhtVwS4S8)-GzOZuy1nRfyJL>nsp=FCf|$1j67N78rp02ZRJ+- zaNzHT@mBXQ*<7YPbLD##(N(*hUTX(tjr&A9d9qh0>B!KE%AFxk(N_} z*I}eVc21l~@wEf!ek8Ql6vjurX8jcJ_d(Db@>u}|Z^yq`8$z!UJcJ3SSsO4Lr}ze| zQ7{?U`?OYy$5t}J@>I`p{ykqtTlbfH@a8ie0rj+P2VDNGu=rffEb+G(!VZYi*FKYdt-!4ga#EPM#f z^zB@6BT%wugV~x30)a;km*ut=+71qLznd(#!MF}Ta{`l-kksNpb6?!e$6|u#qbr^_ zV}ZHYyU`pXsS>Q-%wz!v@%O;+&3$vQ9j~UYRjCu-pR0~QL$Umbh51gls@B6%*K+Jz zKmR>iUOCz7|Ae-h4?r{7>i>t6*!mF5K+ZrM@?o|pI9kEd#HQ+7{n$1Pt2Su3-O^-( z$4~q^@Jr0M;5QY&6Y$$N#Qsf!5#RSnm3SG@nyCZn7l1i%cb*Z^`Rpq~2RPHLXo2FR z)o;hT*Y5$Hw167Ydl8o@La6K`Yl@SbS2E?0v`Xj?YjW(C2E}WGFa)b*=oB0x5uq8af%t{6*){dw3dpmvngOK-3BJ0rBd$i zfjD4y$c!(~uxqS6Fd>dGn4u5r|H$Nu3Pvj}W}4qGBh`V*DBk0EBeaCwIcmGqYmYfR zG@yE@$4;>H5W)95h@+W|B&ppYQ_#1$<)>>Gj&bf4-~B@HyGS5ZK3t{+E_I3G+EtEx zn}Auly7?Z(Fa_-s-b7tW3wC0f+#Z;Q*TL5!2d~pYZ3*!6DFSteuHpt8yp`Wg|{JW^#6PVbi0 zJBecBbQDyxI+7CAPNJ`ecv^74IGoA;7yE1+3TaB1LE_Fw#+zL8gnB66e^ArIT6UrO zl<1#g;^@Cd3)cb7@iAQV*f(DLQ6}wTPU|s&XmSafU$^hp&L-wKLGp4 zF+lJKc!sK*iiYA6U6O^duN+sQ#VKDd?o>NjUn(xix|NzkD=*FyT$@%FuyRD^44~%J zcL^&R!DINx+cCCK%a&Eqn5lF`MvH90?fA#_7W&YD52H{OdIweQ(f*3HG3B1^s5(>$ zKnj!G^YUu)^Hi$5X$(vFN380|WqeN%&?_i6$V||=?qD&YFlysP4DN+mcHb)OazpJ~ zFcv)9w*3YQ!4`?O&!^;Q$}ep35&W2z*jS68_-+Tw+d(ZC5v9Ko>60F%27kk-SEr)o z_SLbr0SYJ;C{eE=ZuUvvXI?tdB#>~~6X|tC`V_A(s%1s!MHSx#RKM=KH?;UKxB6im z!)hnoPKy#%e5VjSSO}Ixk+RRC;=KV8zedxU3-YU)PTyXn8>EQ}=wF@s`igfgS3L~`;Qy+F zQ-dEVoqyB8AJM^|(7}JHgKyWtU(><&=-~TxaJ@BAYE>e=?>QZuCQl;Kn{{wnv!uxl zwq%J5TJqCdg%o!Fd<9Qh@8iCHd0f5+fFE>E3y8w|0tiBjpVC@jXnB(_G}59V9>Z@i z{m6@nz4sNkIiYr)(>-6~h1mLKCn>p!(do3ap>5vuwmI{r&zdopIu|TZy`w-KiA4P2 zlfXg=fe3`tyqCbK-ciuv6IGbu^4deY4t}?U%WIZ2t3!d(m)9DPF;vB6`YRGndLj6f z*C5j*+|KK*HvLIDIBi;^prt4CJc0MYg~<0Y377eo*DPiE45Ne*=tq|SNC}tae}fJ_ zSqHyO2VbCruh7BeHBOnIrzCoL4fQ!4{68gJmcs!Zyhp<2H904Bv=QjBye7Iv!sWHk zjS^1txuU$x7`0NMbmTQKy*0=g61`krb0u7sk4pz%ql4e8gKyNqpU}ZK>)`K7xLjTz z>ENd%TrMvY#?ur?ZZcji;c|J|C0s7Ar4lZ$u{|f@ay@!Y!sWHM(-JPPJsUCcMS=K~ z*M_qtT$aN?9lTn?<@dGe;NOvOYGZ}I-6!Gl`wE{J#HWnEB+<+Ic~rt>JwGquvYuB; zYmjpK4LbOZ5-!VUri9Dw-qR8;%ST=-&6nhmYQ_x$y|1h%^4h1Ij#$eidRc$wOX(Eg znUM1u376CVk%Y_qKQH03+;&O0oX-0aF3aar376B)pm78O^^18CvHNn4(|Z--Pw;<( zgv;Nx6%sD8 zUpsctTl?QhokoQBd3~U7I(6-M^$x8GmvEeSFL0-ZK@=fE;N8Q}lL}l>n%^`&^~Whq zxz6C$@Ky6~0xiWKfD;d< zzXd$LtmBlDvDjT+wqh!qwc;@ObgkxeMCGhRSQ5Q(zrdSEJJ0mawL|WlWSYoTAZi zeZ;a{(ZpVb{ZlW)YyY$mZ1bO;Jn3b6OkPjc{UsZ`V@)`^xQszwiy44*XG_OSOB5}} z7}x=4y{1{Q{|R_Y$DNia+bg(YYfCm|D^}r;Vk=*i)6*4olJHqJ|JW-njc45-!#VVx z?lfA1!V%+9j&&EW;Ctb!MWpB?Wh4|%LIU&X?Fjssv5Zy9{_GvxeXux5ZzU~GGHxh$Y3}_yw#lvjcd)?}N3cz5!9r(^ z)Bm2`k3%7U*GewRu^x<7i%Tpj7W~)HULM!f&{{rLroybaCSoUys|xY3SB8%BllS(x z>=f1gdz`FB`)}O41EXmf=9OEvk$8o_YVq`G_?*WM)hAR(-L`4ATjAN;j? zZ+1%!midyXUasl8?n)EJ26RvLT)F>ects{b>k+Ig!E!+HzQ_u(i=kppo;`zU3F#HM z>5l}=xHQmtm{`tk@qdJM4lEXfKUxIF798(C&;aLt}0 zBl6YXkLKSYDU}OaZ&?6FReAAc0iw+;SoI07M!9}U z%jv0BtcG5|k_2>w#RcyHsElSqog0NsuUdmw{WID^wxLNwL;k>bkeFC??(W0*cX)Q= z48?B6dk(Rbt!}JXsmo!s^tc?yDcnR$rqUvryEAA;LhG)OCrc_h8r&)C$6ys=-Ietm zqc5Jaeh9??V#KorYfi*o3m(FWy=yQwAG4j+ z-hV}vq(x?*6_2b~9QqV-%(fovR|b85fK+|J#C#@RBZ;5c$W*u4 zE55lbL8H4bZM9dtbOLp_J@uf<8iTi@%gvajRjvjh5O%)BOeh)ZFVnpfp#t5A2-Z`< zUqL?V8Zxxhy@l=N-`pIy6&|LJxPKb5UBD8Y#N&P3#nxRO=H`hx15kX+po+B0?)w*3 zg}|xrHeA^tLbf z+aX|1Y=>%Z}}X6ylJ6(HQZBw2c%jOBC-S7ifv>h|$E>~NS4-q; ztTxZrd@rgNI`3uX@AVPtMsP6xfe!W;bc7AIUgI9;8JnpRG1Y)N^z35_;XBP}*Fs;^ zGiZZ5u_UYNb143LXqJc%TfKd3ML1l4tVe?X4oQaUw-CAXtN%q~$}$RhGG$Q>A{f)N zP#L&Pg_#5n^Z*!eo5>xW0cS|3BJ0t(=JikOqm5|^b!oz_Fj^J4!wZTUO}mc%BxpB@mxYJ*^Z6G zWDP}jB*9OZhM*rO2mhiYQ8IsI2E$0r%`<h;qL|RR_Xegx|nuGZg54W)(=M29b**#d}EACk$g0FS&FV#zfMullQ(@Cx`n7 z;ti}>@sgivGz3C9Sk-wRm{w)Hj{>v>?qHwIhrkd2Y|gZ#qWSGk61G&Vg(agV(Zi+w zz;zb8A9iHt>}avGNtUUsXz@N?TFX^SobHC=4(3TgM2l5{-2ZF*(pg(D zY=#ew{{CI$;R0rH_}A(`)Ln#6hX0Se9ht)VrL<2JenN+T&(a^ATHLVqG5qmL0mR-} z?%iJmJ5<{-tZMZivrVQ(56$LjHsGSMUct$v&q8f~8j_$oei^aoV7d*qKpgcLy|f3G zzD!=S+i!&#qRQ-v7Jpw$xbmS|wFLTF+_Sq|@ExH3YC7w$CgTV^q-IvXqs+rpnKTC> z*FRC}&DH}{Nqr~S*OTSLWK8L|QkU-c?19>HV*FWl_4pH-_%ifKEt?TEK3CSSgbEXm zFDJ)oRIaS20R-VR!ejZ2ID$7;);l>)qdXO-ai6lD1`b3|BRv(Tv7fR&hvViDPUAmi zy^-TIT~x(A=I!E^WxeLopJeCx7lj#l5F6yFDk5ZnqH zC(UY**8K_TJ89}dRT+GY4*(Gb#aolG6nQ}@J~B8B{uuv2sN$yT$nAm6|9Ag8P&>8#gP_7q!d*4Zcm?ly2!gc-cfrP%w*~G> zQkhhyG6|~6#87`?C(5_sYJDN~AQvupnO6U4#XFfb9ufN5>fQ>pcGQ(nt0QkcvR%cj zqK5i~t_*Dr@{K?i&_;~wX)-`Gnrbpkj;vZ=Ld{`%NhiOHFFNX)`6}MgRvoqdr&cjP zLm99KTFpEx9%xmQJms<&THSm~JkToVed2*uJC}(ESE;96x$&dmO?ZrQU}Jh4ZR{{~ zr{bQ*@y;YA1pkk&mSc2LfgvKeNDO1N^ zaF~qo*I#M;Wuftxx^IS*eIZg787bb|aEHb++~BI;A>YnWiJ{@eh;cONNcHaD1xD1C zw~RHn%#jh=T-LPHmq6`*=|8Z_>VCCu>{QQlTLs#k&{xYGSTwXwcmU@QSY>QV;*su$S~b11i?s1lQq8$eJc8 zeLn)weVkVaN;dc@5Ybg(AGzQeAR#WNv77Ih!?}P@2SCv}34Vi5YCycaA$Xq#WLYi; zNYNO@zu<;Yy%2?!kr+c9?3$9XPLd9PHF-E!rPxqz7;LCE)EkByMi@pL#u}W4@rFr; zsfHPbcEfDLJi`LR62lsU$KW>v3>ys(86GoiGCXbAY}jIW(eSFF)3DpnWjJU!YB+BA z#1J%`HhgZlWH1`zjLAmDm|@H@<{FEQwZ>t_M&k(MIO9a)Eyiia8OGVhMMk%Am2r*H zXY4ROV0^^5$@rArs1X$rm?2Urm3b|Ow&yZOiN75 zOv_CH(|XfGrYB9$m^PcXm|ik!JhE4@N&0y(#*c=og}2j_!=^ihd`0Z}g$) zW6|Bwm!o^4O)>E?i7{z088KNgxiO_N6m9@Hpgstl0e6qS(Q))v+UDZLwox zow2R4lVT^w-V)m$yE1l7tS8nN`&jIgv72Hy$G#N1BX)P}JFy32KZrdV`+4m7*h{gO zW8>q}a@>@-8F35Zmc^}%3&eHAJr?(P+>3EL;&#RDiF+q* zZ`{GSBXP&#y5mm8osWw#E9MMyp}ELhYA!d|nn#*#=85J>=Begs=IQ3S<|Ss2`BC%Z z=BLb?%`cl@HSaRNWj*F7d-xU8${O0(s_z&Wb$9Kn{jz1fJKK^oidP06eVS+WG zF=0f4Ghs@?jD)s?*$Imh+zG1^)+DS;@FfHi9!z*B;gN*L6P`(UHsQsDmlHY@_9lFg z@JYgngi{HhC!9$zC8i~2B<3a-C6*^vCXP%Tn>aCXO5(J{_QXYrs}lW*9f=PnK9cxo z;?~5M5_cuOmAE(Y!^C5W!NjwPmlETW5|h%Bij%67tVy<{TauX$t#oBCHs=^P7Wk@ByUQ7HhF9E%gJ5Idy?NtKA3zc`AG67$tRM}BwtSMNsdp+ zO36zpOesyNPN`2Bo-!_FO3KufX({tkmZZ2-R;S#ZvOZ;F%A+YSq-;%jDP>p6{**&0 zM^a9uoKCrz5~n08$x4<|tduKOWwbI@X;sE6la#5-Ey`?Vp0Y;Ss644`Ql3^eD_fKo zl^x1{<)HF`5>!qrmz2wjDOE|$Pc2L>P92=um^vbLWa`A!xv9%iSEi!(n|gQZ1E~+D zK9;&E^{Le7QeQ~jk=mKMC-p??=c#8>FQ>+&C8lMhm8MmuHKsMEjZK@HHa)E^ZEo74 zv~_8ow2rh#)1FLwD(&gCXVZ42?M~aDb~x=s+Uc~jX_wNH`{eb>?^D#LywBi1);`1f z*!qm^GpWz?K1=#6>$9@Y>OSlHJk;m8K3n>{*yp7_ulDKe^G=`reUA3I+$SzQIXx%6 zG`%u?So-Mn=5%NJ`1C31)6!?B&rM&DzAAlP`rYY)^as)(On)r>@$~1?cckx1Ka~DK z`qA|6^i%0)(l4g>r04c6>|5Qpw(s!1&3#+@PVGCd@1nj-`nvme^nIl7<9(m(`$FHX zeP8bTR^LN?kM}*%Hzp%7BP}Bu_L21V|T_o8HY2@XT)X3XDXTLnHiZmnYo$8nYEdXnIkfrGskC6 z&YYXMAahZsJM+QJhcX|}d?xd`%oj6X&fJx`H}hcT2bo7Qk7a(6*`0YR^L*yT%=j!N zt0=29t2WD)H7%vwE`P zveUEkvg@;lWe?9Do$btS&7Pb+J9|m?^6b^wYqEXW>$4xtek}Xx?9JI*vR}&X%{pR&s)o*pbyZib3 zJ=pK*e$V#X-0y{cFZJ8gZ*RXt{SNm#-tSDmOZ|HK#pD*{7Ux#yT62fx4$rmaj?EpP zJ2`i1ZhP*$+-13Iay_{Z3^*Mnf@31$LHnd73LM?)#o+l zjm)#pP+nTpK?{MCcykmK1 z^DgEY2gD6X9FRUBYe4aU!2_xXj2Pe?&^loJfCU4V4Db(FKVaj4CkJdEuwy{yfZYSS z2D~-k!vV(!oE~s~z~uqP{N#KkKR3TI-H>ek zlLgNfyio8`!LEYc1;-0c6r3tJU2v(Ory#j7y|BK}R_H7oUpTe!mcr?U%L-Q)`U*D| zK2-Q*;d6ys3STVjEbJ;gT=-$(CxyYn&kN5MUMe&Vj31~B%pF)buz29$f!2YI1IG;< zKd^1!?19S$x(BWq=o@(Vzy}6CHt_L*n+9$j`0~Ib1CI^-WZWi9-CKgR9np)IWG_S~0w7zI#(bGkni(V*twP<(Io}xoV9~K=iI$d<8=weZf zCDD>)$+47MMp$f?(Uw-rbjxhZJj+VUYRejn&+@3{Ny~GV7cDz1yDe{7-mx6Ed|>&| za@2Cxa^7;uVl0j;PA|?WE-khek0>5pJg#_r@v`D|#T~^D7C%({Sn=b<&lbN>{BrR- z#e0iCC_YwvzW8EsOi5yiQj$?pT2fw8UoyO8WXZUaNhMQD+Dqn^EGk)5vaZBavcBZe zlE+InmuxB7RkEk#t&&3}AC{ahIa`udnp0X|I;^y{bW-W$(&?r1N*9zaD_vf?rgUTJ zqot3PK3)1;>6X%$N;^w;m+mh;UV6IJR2Em3T$WyzTb5r|SY|C7Q8u#7SvIlkma=JO zGsflr0i(fsj~BBrt+BbwDQ98qVkdDW6P(Nx0lZ? zUsUcc_mtmVzP|j?@+ZrmE`PTC)$(2ChsqC^A1@D;LB|Jm5Bhx2r9tU~O9xvA*A5;r zc;w)5gU1h^Jb3Ql1%nq2UNyL5@I!+i8N6xmQ-hxw{PN&;2A>$*J^0Mvi-Ru@j;~NE zvMP!ysw?U%8Y^rSQ!1ub%&k~nv999oiU%tmuh?9%rDAKvTNQgNj#M10I9?H~I9<_G z5m%X4nO`})a&)D$vbAzXWqak4N`K{Jl}}baQ@N$`#me24U6ltbk5(G1OjU7J$yGU3 z`BlYLl~uJ>!>SsqMpjL!x}|DS)yk?hRlceRs~)O)tZGx$Q&lfiZLR98+Ew*V)xoM0 zRozuF)$!Gd)oInG)#cT;>gMWk)veVNtEW^is&-eeu3lH|seY>Z+3GFTyQ=qA@2@^m z{bBWq>QmKct1ng?Ym#ed{GH80h? zTGLhYR?YsJ!!<{1KB+lfbE)QXjma8s&9N3*ORbgGM(b#6vvr(xnstVCwsnDZnRSiz z0qY~y$F0v;U$E}7c3BTuk62Gx&s%$}@k26(WDUt1Qa+@9$kZXzhO`ZtH)PQe_mJg7 zRt@PG^2m_Khde!G^N=k=whq}duvQD z>)Y!W)i0@EUcah-b^W^fj{5cWkJLX}|788v`j_ipt>0CDsQ$zH6ZNO-V}`~JO&eM? z)H<|&=&+%~hqewKKXlU2sY7QBoi}vB(7@33LpKk7ZsDO{hX#k9A8H(C z8WuM!ci6~b&BL6-#t)k|Y{oG6urC# z+J^cDTf^9faSf9irZh}%Xm425u%uyi!}^9t8lG<0+OWG}Ps84ZLk));K5RJFaJ-?X z!PuDBSkzeDSl(FOIHJ+k*xGnY09aF%J^3PxBegY-UU9&;@ltKkN{CJ8$@d?S{EBNRK)~Q1L3lp z3%pBr0V@a`fh0f@sE|ZR5HFBuz`9-6(!2j&)6?48iUkjnoKI zgAqZ61TVnv`<=_~?3-N()}G7fcjoiiec$=MGtWHp%;lZ;nVDy<9&^o@oH1V>bIX|9 z$1E6AF=pwQyT^QO%wuDIJ?0N%wvE|6=8Z82#&nJOV9bdz$$5kGhUN{+`(oa8d86}+ z@@~zWomZT9XWqSe_vZ!jewg>uyvOo>mG?y6AM*YqZ)4tzc{}o6$$KMjf8MdYQ+Y{a z&mTK@?8Rd*A3J>PjbjVOP91ye*xSdJjlE;+onzOI4UGN%*k6r(YV2ReZW_B|?B21j zk9}`!&)DQ~=a0K&+|Y5Cj~h1bx^Xv*yLsG%aRuY5#w{OLJMQjr_l{dT?wjMjKkmol zemm~TaZio=?)c-!=aJ z@n0MNv+@5i{?Ft8GJfOu@c1p`Um4#%{*Cc(jXym8)cErzoIl~_33(I7P4G;ZJ)w9) z*@TJ-cTZR~Avoci6P}pxmkHY@?3%E5!odk$6W*I}V!}}OF!z=2Yuq{R3GM=Sk$bMY z)Lr3T>i(Mho9>^xf9?MN-G6ZZ+1>7b-QDHxaewGO$8(-%u;(JrFwYI18$EfR37*-W zGS3~JyFB-LzU}#~=MSDgd;a2i(esw)u;&BMho1iV1M@G*zdZko`NQ+C&o9WoHGf9_ z?fIqo%kx*|H{`F)59EI{|NHqr&VMRDod06}uKd0E`}5z+A6VclxV+%Xf~yN|D7d*` zbiveunFWgrf(4<1Zx=jP@auvn3!W~ShT6g@fn}_WI@ruwa;|@ zsDX&?%Z=I{hRNUu2YAwQ8wO5IYjyQ|IqtSx&v|nYeGv)4i3Nk8rOunj9^Z#kV0QSy z{-D(`pkFNxm!D{uAoiShi|x4iiRU4>8APs;-z>>H=J9$@nrn7is-qsa9r)3m;G)uK z9-@1Tqj@MyTbGpFFVRNjM$@Wf6X(!^aj@} zRCum!pcC~}-u_efZhr}BV6kd1$2H>d@bL-o$qDe=6X16wz?UV!R{`f<>{cZo(awMc z6;As>bfTT%+K68~{(qYQ=UTaV;WsA0IWrb7{9hB`2NK}#B*1CICm#Ke65u?IAzt_k z65yXtfM1mWAC&+fp8%hd0H2ot=d!tY{I3Dda?j=lA2`v6;mWzvc;SDl!nw)qZugr(7AzW+E#}m(-RO;~+eG^d@-I7d4-#AFJ@(Iz;+9{8ok2Z|*HSY2d7Xm=+OkH0m84!<&21 zX)cbAxViVM#=uQG)%Pj}cro`r()1J^FXkT5|IffP@J#cw&%n*_ZyUH7{#XLMALmfv z_}C18v4NX=Rj)O0bMNU*3Gnd-&Ud5cf3|^}{FfTI$q&zQq9dPXeK7Zen|tYgWrV*B zadf&b8u%9sT%UPnuZMe8c#SJDI!+jL%=$Kj;~_YPGwJ`#z)k+2GjNmtmkr$HzsJDM za&h(-$@WS&)4jB{G{LC?MGyK;K+^px{FmSV;{~!Tw z?#VX8HyPoFfiEqeod$k|fuEO3?j`?U#8rnMZs3^)?lEvvo(m1!%$K=`+vM{uBfN>P zNr3;@z|DL;Y2aqQ_8YjFuO#tOk@+?Ab%}wS`TBPQH}mx;12_5KlmKr_fFCk&GhfMU zaB!?wX1;O^+{{;@ft&fd#lWuwEnU7#4g4wtZ!z$z4g9YLZuSq0`67iQpQhXb25zSN zn1P$={>8w}blVNwO!qE+aKYKrU1Q)`c&_ui&cIE6erMn&KhGPu$SaI-$VVc=gf()}<2KA43E zM}Exk!xP}11o-R(_?-#xpBcD0em-pAW__Nkz7xr(3qLK-MF!5O8gDglvmWj-aI+rn zPkBdX1;DSaI+lmF>te7zMTO7T>?Cu0RLM8ye9#k zPQw~-z3Pd=`I_M?k zj&+52GChV%(E$vMw@U00^jh4J=BJIHqi7C@P?R@)P2a8Jn{|&AT$+FNJ|afv693UZ z3%AUZ7MFhFVy6Umle|R!b^i7B7Ch1SkwCb)O~p4c-rK{LE6mRSEEV6fJxH|?EQLRA z`A?7m*QxL9?^c0yeVqhI5fQI1c;xv!_p< z;-%j-0uSK+U`x>ErP{P?*)nZ0#C68=LT~9ueSN`wE36X{8DPh|B-<)`FFSn#QGhnvHoec z=Os3Owas5|^RKh{-L~`_ZO_wf>94mvZ?rvk+5GEm^qXw)>ut}oZSmbU|1_Jw#OANI z`Ri@|bvA$cIkECBvGLPtxUcOP5uQbSG1-Gz7svd?6_{*r)l^lvmQ+<% zz+bam_?9o_oD3&s$`-mX2eimlwxX=kg{hm`CAG^Pm``!dzuR?B*|I7}S>=MNg^MdI zT<8(2mN_utQ(C#uRaNPNx!sz@3tTDRNthZRxTy;aOa{xMne8-vc_8RW5CU7`Mx-mekfP zuBvoYyB04O>4`}c2Q#{~wDNA(;u_90A;j`1R#UdLx@uYJvb$X?N|!C>R2ZkdzT%lu z$eEmcpLa^3cgiG84^^%xTPEgVV&G+EV(O}NS?SW4@Pe&g!PS&jglcUy1SDpM=2wnf zSSE}$<8D!O60AbbC?%Q?Q&U{H6jxRi&xZgPEFvESP~u|d4P_%LrnAx)v!a${QW1^|yh>$rGJUSL3?wYWf=IHzA!RFQ^-m zKFft}mb^sp>B_&zhL2lk5>Mb zHr%WH583e9%KxYhr&S5M$8C5}`Jb`jKUDtBHvD(WzsH6@t^A!fe3SAYx8biSzaFJ) z`Mjs_4E4&;xE`%%+3?RPf36MJ;Vc_|v+~cf;nS3Vkquv{{3~tvJ<9)(4S!JiAGP7@ zl>c!X{(a?t#)kh?`8V6}CzOAW4gZ7kyF@8Rb)w4a=%ema9G`3)oNPNOd07>o{ihpG zMkbgq)&;vR&<%`Ezu%>=_q&{W>3F)ZYBi+Lx-h=abe$uu4F17ggCB7vW6or|!VmPw*a3(5rJgoVCL#8=%*B=jN` zKR1HN8#~#hfa8_lGiuPN%ZcU3Dy8FVd@wM3*#UC2s`&TOV>o+W>9_OF;EgJwMJfWv zd>k{{(@&&JO;z=OK8YF5o<4M`_(JNtE_KwXQOZPf-*u@OWL`P9xVkasJy+P13Z+~? z`!R)~Wv5_JH*mreX!C`tV6pB4Xj-$1)^^iKs`aQmhIdoprsIrHGrJkqCh?WAI@7!0 zc`KM^h32LDL-&PYy5n%6FeU2?EzRg;aBpB>5iB#G^e=dMYN%%S@uIb-R$n9Rm~6zU zb6-9Vdn1ShJ0jkOa5}6tOM@fcz{KO8hQmpi!g`1>nhOI_ z5eq0VNQ3~w-Z2A5jn@bbaIC%MhL3Q_<@Zq{4Ijap)%V1W)A`6M+(=Vf-4IP+Hw;wo zI02K)pWNzQa3ZkF3Z;laBMt|oeNsrtg2^3-DTBtM1JA=)N7UR+!*N&~J_;EW1`cXl zgwondC}pTRUhq*XR2YU#o2@`frnO+B)!dN`OV<4X!P15{@L>f9WePJ`NcAlt0C89- zVbXyilXQPl#C8^piv<2EELqCb=%G;;P}4TOXxc2pGyHk+$d~jMY)cEWo}}k%t}jgL z@-OJN7Qo{05pU?i*Q{h%oO#{~^jmRZ)c%mwumM(fa29qqRP1r=O4Uw5CUd$`dt?Uf zx!Vwv!GoX2qFG_L_TU1TP(uAsMHacL!iFGWsaWRg;8QRz6R{sQ(*q0IFrUqe3_Idk zD9FNKdFn#TuqB=WFsDh_qq!8fUYa_51?JRbO&$F%&NgR+&P`!*ny|s;7#7(1SSqwd z(e)?r>0R&%PoL@sMO@$eum z@X9$Ogo_ty14Gf&kD&OeHBpJrtVC8Kx~TV=@p${NiX!{jZo$s0r_yr$Y1!Cqh7E7| zX&H!+pO(4^Q5P~k+-8>2+_dy>^uyyvlEt2~qO`1sxtHz10fpQbHxv8025?K6XCp{G z4_aG6Y#XS(1ajNcQmyk=rloFte(ScEw$Dl{X&Ct6fQS2sQXWbE240lYK)#g;!Oi81 zGs<&x4_@?a%*kmT{gST{iS=T8l3KPWXvOK7y9x z6;oFx${4XZc2UEV7+O~*z&VDC7rr0?&N33|Qh;!xPT*RKUpzXPlZ=bsn*e_x0lqE) zPF)cBX=QzZ6ZHmHHuiY@{GSB)pA+EW1bAx#ygdQ_P6C{|N)FN%s2ixmmtls8KI*)= z8)&)q=q*74i1C0zG$=jLmDes?zIa6$onJaC#+OTt zI;ioIXory4(gPB5a!Sm67(0dZejAZu+;bvz-@@YKuvY6ze}H>B;%v(rf0iH|agLca zzMUW(agOITUaaaVaW0+F_}vE1dZO`P8@Q>96*dwPj&w|1>#FSdTLvAI&yNh;O!op3 zfaAps|8)cB_lV|GnB-RBO*(1ngN4z!giMFO!oWXg;42KA-y1r-)=iKOmn>;~ml2+Q zjmEnS+}zLLQC%bHnCk_r4BSljYX*LSLH{=fZp!~p25#o-6$9te#|WPWZt_1^b=Bn4 z#D^O=^%0uRySS%gc(c5IMgWc%lmA~ExXF);f#LXA1rdI}cj+RysyA&Cj^MiA>!YqH zv6|>V=};{f_-9t^Z!|YBy6cp@rLT7%o=7LONPQFQ4|et$Oh>;_S*CQ<=@3`dm5^{t zZRu)UiCudg*W!*eKW%*KgyQADuj#v0{A^rJr{kYVC*wsVd!9%~?}IXF^4=bHp2Ez! z%5aY>`MGQnwEP){ZZ>{wf^Pgww}_oKoFy-!&u3g6UzcAZoy>X_f02r>FE(~We(bz6 z>}FLV8`VR$Y4%I@^oiNa9*|=ZAHeB3AL;8Yzm>T+72h=Kx{3u0q+aGsXJXwrI_Ip{ zw`E+YQ`d5KqmMerv392?u*3PtF+45GY3kX)zRbBM0I&X5+3aaJn1ZvYTvktchc^i} zdUrZ}NdtND26kG3&Hg|u9(Afm0DMW4@Lee%_mm&;CT*ZkJeUcizkI+L$0NihWrzR` zn_QkA+A)RBptW{w(b_FYpk@{#T0K`q0*jPA4Id`)VV-zco~qLDCCwBm<8eRGsDY{k z>}^0|>Cq611sFta-M9|+O?d^auEW&UP#!y-kL)$&QFCup2jOXWJB4W~d061t$ar8< zhc~c8N~2k4Ixw|UW*CwX(nEY-VA2s85>gN$eSxXRJyQP6{r7R42?EskL)_e(%{7~Imjqk@vUomMA?oG` zt%I>3?f__iWc9qqv%A)AS$!=kvNgP^D~07bIhgYNXTNgD7$4}<8;J#Z_j**kcrw_%qGSdwZYq?K*}fvGs%3a2U&&xj^1( zP|Qf`eo!eJd?$f&qj`XwM{AY{RiAQB{-F+vtui7g1^)>c@#G3AN+mMiNU zaGL}fH&)6NRcuL+huG30pRpy%yky6eAM=}QAc3iFAKEi2y+436OJ1}+mUS+c1QU); zhRnsX!VJW+%S@VC3QV%Ld?Z8NJ;k5+Cp z-zP?Y$j*=zpZ%e((7wRsk@lZz)CAcd8UWsFvfZZJ+ifbii0Q)E-i&68_J-=D`rO!d z!l<$B1k`Qq1Z8M6H{=ifA^TRjgV5&>XIaRPJHG=10=z8b%f`uJ0QeB&rw!s|v%>*O>JFm8TV{g{(IHsZ zuOqy4uQCAAl#j&Qg+wz1QJq#aRXjpuF)&elM4w@J0`W06U+PgtBss>>tVQqe3`0+h zfOqxRlJH>R-InYAUgDQ6di;cTlAzStEF8iA`=M&CfH9PXwk3p zrHdqYFjX)dw{pn@5+zQ?WY1@3O!VJOAWJ6@nvbTznljuq{SuH2@q%(6je)`Ea{aKxK&sQ8tE7OyP4jP!c4hjb9 zU-jBqy|$B>*3oc|o{ktkXoUNjx)PhE?v)Bdgj=Gp8;o%Eaj@?wEJf*GNbhll%~8q^ zVt-QD7nJ^!SgXQlgY9&VkI#OtES{Eyx|4X?6XJ?78zb@7tusjCb?ChndDIu1b7i`W zXn%;f-pj1Zi8?-kt1RfU8m;gqh3oQ~sBo=|)n#_8rlYc~@e+mW^^3afDivO$luo+* zxXy_DG$|dEF2k=YyhAY(DMv%eB<7VklN2*w6f?CHGkL^KEs;s5m^j*KTVy&)%oyeB z$*H*WN3nBDF7Qi7@tL(_lt81nE)UC&t4MQfxGs-s8?MV^jSWv%Thw<$#d!j9#j>E8~ zckn}Y!i%Mui|&mV>s14 zM3CvYWAEvXAo8Y(6HstRq*#mN9DgJdkB}QjYUv+mhhAEWlXVj_Z+;rCK96LGjpqyJ=-N?%TM-j$*fexs$ znSt6ID5F!CT~ipmj6tl??>pDtk5a{B%H6qU2QCMBY9$>^9F#Z_i)7 zf&EiL)3+Ys?fv^W*XSR<%X|NR2M%-mawzljzTl;qzR_)Wo!fPZj&Fs2k;%vU(c#H~ z!mX*^K$|~^HBgsk@`Ev_+t2gR!&c9JF9%#nUgwilU{`ssA^@#72nU9eD@|0VcegzyBGid(Jwh47=t+th#czzGyQ?>lZU3f z2YqzU-?TS6VU}c9dSl(#`E00*gdB?5LRUd4OmY=Gh zs6$Dq4$u8K%q$i4(2IH)ujX}}spj?T8XUjIO%B|*71Iu9U+uU+PE;c+=!woG9k7x% zi7x|`yD#Z=lnkB^D>)KlEMzBI!#C&}uG@^DE|@i_ACI9fpMq^8g~F49MBAL|1QH>{oS7g4G~k&kkoW^c7}pPx$|&Sx#g_vD0i+nRPL;P(}8Xg;5%e4r>QHMZzgBe zpp*}sRTmB{ceZcEZ#R%RDe2|Tx|Ec1XV(jOHhp0F2hO@d4Dp%_QCG+iU9SS3Gcer> zxm{%I-}>I4+GZl7{VQJn(T=nz@PeoLjbv~0zW(S)r-bJCnykP9zKMr_fY%K0xtY~+i%*yp@ZL<|0+UR4F{SqDDV#NQlkKGDDxWe zVjTU>T`65d%GX7EW4tW^9)|iGY5TCeACss!7McRxp(VS$-0Q4-H7GujujH#>9RF%R z-^nz+p-b^5#c<{Y#96)FYW}c)mrFdE9JgZ+J2Uye;H2eA%-TR?DVt}Ig@_Q+(*Id3a; zPbv;ww?cC=OEAITvhR=G16t<)yn6-o>l+y(wPpSfyDQWEgO7R}b~}85O+M$7B$jii zW&X$AD>8f-5r$T{%6-ni~-#g6qQu z*9#=|PLu09j##I*JJ)`h-MZ*CAzSa@!~Ud`{!1{rUVa?SF_Nq3ng#5}2-T%p!=LvB z@?|FQcEIfqzY^Ml>xsUjIvX6E5IG67vP|yCkXg|MFS973eVXF$RrI%`Mx3VjueBAwbxX1^`Dpc zhL)oHT#WAXPC#rkm-_-0=sv4ZGIy!&b93zmZ^P>jmC`Hh+WEF@!kbffpGoWb)_?Z3 z&$JrecGdpQ3JmE>x9P|CctzFHGMN4G*Dk49T)kxR0$~}*RbI8sB|qA)brpPN_O$6! zCwct0((cjN(rOq`a#vNCRW4t?WJJ}nit&z^?@_*}61n7FngJQ|Y;?|2myzUX#78>a zM5RuqDn^{Iqm&og76Cu>1+Lbg4mH%z@%Ddc-7;y@eNUy6i+iOm5xD-FoB*Gj09WeR zQ7fe_AE|)NjrySZU1>a|B3K+EGId(flv{806)!HmVdR3+>f&i?C%{U?U0ey9PL*;~ z0+huj64~p_Y*3FwJrv#3N=|lslYvuYdOh_U22MSZ#!sh16&v4sDN}iN1C5DzFxPi>FaA>(@(T+w^8NaqY0`jWnen`RZ}rxhfd$6A~28o$ADVLnMlW| z_i|UoP(7`V@kS~c&!l6_88uoNrtJG(>S^o*lyi%#O~=T}Q9D>^7Y}+-7vMs7v&P{^ccx#WqB!%dZB~0_0U7yNP^V5Oh}I`|Tw5gRa<1@LTJc zinFRs6C(J7MhV6cd|D-NHCV>5edf9WHSOwu{1e7)r(KoKY+0` zvjuqaRft4o+$|85;c4`Eob82~ZeDzu(|DPlSt4>?qMpvlg#5ZT;P)c%s)d>Lye!FF z$IJB0MqJwGSJN{mb3Hx3sTW!4YN1C-wTmUuuB2%aYhuJDnXSA`&+K5Re-+{t^p4Q~ znq(QWT=IJ-;3wu9Go(>*~PGR~m715I6s_9yj7UR>l{l=QB$W@sA*2eiP%j>i8fc z6t7oM9)UdevF;2W4m;0Jc`DawYEyuT0}3A(W{xdoAIaV_$4|% zo~iiGt^+9C78Y)cE?g9iN1 z&rZ!1Gv%O^Twp^ew>mv+R@4;r<%1;FLPs?J-sU&@mpdyLrCOo>t=BjlQ$oKxw;qJ4 zfc736mOiRyja6$=Y7tn?Enz}KkrqaYtDNH3`Rsae$uS-tpjOT3Im0`B&Wl}L&b6Z>lQnU(fvL!|%0*i5TucrPI>(C4!I9gpf%<(F z`rbNpHy9TD@6ezNBZA&T12Ha`8oV$q!5pPGFn%i9f?Uv$xWfCB=fzG{GN`T=u@%4f z95X8hi`Ace8>Y_AP|s0yJIwYbYfmz!=Rv`!l__R@XXD@y!>sTAx<}zZ|+W%@-VIg@$vnHD;-(S#^6)ZN=1!FNk@kAm*Kd zt1=EQgo26hd<<{YH?w_|vo>aw!$Hm@Imki(Iwh1~oRe;jb6_P2Au)&dnT~JbP2z1w zBfv}^C-8W;uX8Q>j7~Qc8=d#^?k3*d$-8TLSHZh0ct=%XX9n)rigxf1Ce3=RASMTW zAxsl?e$ve;jXn;d;>>Y)Ltl0ARm3U6V9kh*$)Wpvxu8Fy(+b^peFu!GjX*!X$=maH zE33Ry{^;c!)o}@;ar=IhN#jDEfrmpS}5fUT#uBwc{a`* z!fAz$B~p+zmUU=B(~AtoNIzLhpW+cE;m>(9QW8m&l_;a+h1bhI!xWeh>^>zj7VL2r znYl(MPWkwfuXVDVDxz#8DkzqcC|DszU-CjH2I^kSi=K`NCpw}J9kpvfUsMdir1)x& z3eti}Kd7HQS z?Fmyt*Ut7fcTMo0v)dQsrntXxS4Yq5zF={NcW?_^=W$HRdk61EcX}J=<}r&YBc`Z` zSYF00SJ8-B*5Hkp`W#^eiqpM=TQRQ>9wucVBBnUqT^WhKuj2D`#3X$@%2P#0l&Q{m zOkr1bl&91vPe;HLlLAl2Bk|5C1x%`a8YvWxz@~K}215iWEsQ14M-wI=6}`(LPM#;C z7|xJoS#roIg&rtA!VIz-hccqc8yYlxa%ejGTdWC4MbA43cU(2l^Vi7uQZB9tUhWHG zVwqs<;qnEmvV6h2vVFliM8fi)I(LN^E#3L#9DGm*iyZ$!O*;Bl)WcvAHc+B- zZ54ZtI6}d`pCZ*kZMFh)wq|2Gn_ENm@TDk23?q`T2Ntgu)mFqqRH7pJnc#f#h(Dr$ z5zkOFi?U=yELIggt-#Srin1mCj_y#&1fslqkNJAi`ArR6K2x$m} zbP1MqLLV#SLh5P_1{nddBGe_=Ye*m>tO7_Rp}4~N=LjY^XKNNkBl^RW%!47C8?y=GHmtyjX`}w&LkconS)*EQjKp$j^AM86LmxMk$7>7H#GZi6c@|I;zqWfznzIb zLk0cEt()5%qI9^o!wCEg!GBIHw6q zdwZ`jq5dwat20z}ryIq7$sEOwk3%&opMU=NmfNf`6or2Ia8p-0n8B8cX!=<4m4@GK zSk+fG&sCm}rGBZnEzjm{VJcRGJ?%zEg#}=#5^>>nTDrUk&AM3xu&F)dc6%GT+_k?) z@nWq6$J3DAHZi7-`-M=OiM}(n^Zj&;pg(sZlQ`TY7?rEju9BQ~)_ep*o=?NDtnIm4 zBZtJvoEsUdbCVUfV&$N#c7I+m8vVV&)dGvRDwtoiL{bP2V=@PO3*nX=roBkRa1(s(j#X)JETW5 zb2Z7NlZ;D{5gJ;MIlGz3!_k>ZEA$sVF^P4Qb21m1i!izIc_Wt&i~MUN2^?o>)zWrF!Q^+n0EL;(y#4Oc*f7`b$i) z4Zs>qN+I1E3~^#1W?Jl*h%fZ*bc}4MU*&`iCSRRZlUOUKMr-8*q7-$-{JNT!7Ip1g zE>Wv7fr^Uv1KBY2G-lN#R?Ml(gXZNvFi5Q!PDmGS^u(kYu72^MQIr zMpVqNuQSOsnq=0;l3|OiVvDR2EwcTACPk;3%zwSrq|;&2ITAz1P{GDj@W3^w2M!i23E4NIjLskEwbB=SY z>>Dn=sHlqN@Ys)GzgERwf;D}%QC(ENpJx1WjX8dq5TzCG?z11=$iWCld(n|(R5NRg zeeTEWr}H&xVR6{5qjM+kmhx^h?-uaxIo@##aOc0{4u(UZoaN_-($rE-+xgMiXlQ%Y zWT79L9J&??S`4HtOd_UtU1N?Z%cD}mmp~o*qPj`wi|Qu1_?OK;^ec6f(67`@D&b!> zx`lf1jB%H{7ABHD$88Te?a&(fa}IGoV-CKtp_M}O?Q(Ea!o*aul)YIryVjO{|E3rA zzaS7S0{?CIgIug9g6$GuN6WsScR%RT;A;Zx6wAf4M6d$_InuK4+uakh1@i6(UMwTu z#AWrXp@P0mF8x0u!kxe;yc@a`e5FrKw=UTN-pJX!biqxAh`&LEe39JXOM{E=Ula&9 z1}j;bl{Nvkla-%jYjAIL?fTPP$%o|AjaP4%Aa_{AJSOmCR2_jCmtZ49uptvQ*^pT^ z*@&drCQ{tX9Ui}DisO-Fh9KQ8l94+KaB#;Yd=F2}7Udv!0vr;dkpF+{o+lHKNp5D& zl`LNr)Z4frqnxsYzGy|3h$o8&TTfR@sqYo39T3kBAhlei=5E>WZ{5%PU~@<0`-PSb zzwLfqgliSRu9giy?{30z8v<(=*lVcwx!vKG4Z-f$Tk?O{-N}PRLMz=y(=E$5V|8veF8TP<0!|Ba!PSE;PyD5Y2@xXvPU8(Kh1?h(TTvCs=a3<+}%a zJU;IB%j(x81o;Ay8L~!f7KqqaGglUvv9IPa7i$!GHC|&&rR3#Sm3K+1HronZy8Vv` zD+6~5nmv5Wsj9t_8G2TBk z2p9CC-BNdXi`4T3XG>jAuoN#k>M<9ij#HO;r_lTOf_Fowx&2_hjBl|=rIKhGlti1o*Qfp>XurrVZ` zg;@B+Ezatd&i)Z(kQE~~p^9lpY!;%S<`fIf*t&x*4vd+py(Ug+?WTTID1xVF=1vaz z&PPiSuMhFD0-;6p%XYmojiNfA+!d={=6*!#;;_F|*16~&u-NvqQ8116vtPF#iJ<-L z*X>7kO=v&+yH)$yC1PP;+Wv0Qeyl*N-agbW9vx`ex4(Nj^xFL1D%`q~?Id2K5;fCk zORG>iuL@8$qm$zPWJQH+NNzSH7^Rg;?raM$2zaIlW#|j< zK?m^_v77c+P>?}Eyv`T8*cU2J3cT0+Zc4)&&XDJL!-wbjos)JsCvEmP|B$k5S7$@V z_(MNrHH<73FL%ByYAEWZbL{~PH@u-MP(9D!P~n6FB~lanh`5(X{}OLh zylZjIBG+>4TEqsp>nloY7L_eK%gu`-;nVzmmU|XU)aJBKl^)M+;oig&?i+%8OS<1z`zLm?fG=M~3mLw7YE+}()I#(sqmW5 zx%lp<8?M4<^8*i#bm?wVc!|P?N!XFE@J5B#vqIC&7l%iwZJx!l-rnfIUQa-a^=8iE zVg$2o=M-3V)$*DI0hg66tX)vExT=y#lrO7VDmIViuEfz!k{Gv(Mgv92am#5WVac7| zg=(^A4^~}uSJ|?aH^xx6kr50;XvE#cDyZBT!?E0!OsJx)rg;A1n&slTYU$!$OAX>w zX2?)S<$Vfe45#hG+3`i(>~?Q8rT#h0e9uYHZrEvxo@w4{;B&u%!6yhQ#f1JlvZy3xyx zl1R0B$ZmvbsqW;Ads(Y*lJRxFBz>|B^gXZIJZSmIrG2uOH!|n!&!90kO1nkkaxW{! zi4Vc+-PDYMJ#>VlxXUIP`ed$Vb$Ew0`$Cyv-dfGaCt%0XIac#YEM~hjB(PzfR`aO| z!k|LO1Z&v4){eKWzBE<~2;4D#wbgtmg#=c@^on5e5X={?PC1Hj z%mAL^nB7nK5NjZs-$+3iJcseO=B}|;4tCTo{}AS1o)-agUR6;r8pQG|BibM%+9(yR z-nJOAGc_t<^jcAvuXs~f}rfAn1(JoZc2AnzCC?nb+6%Ff! z5~L=jKbBu^2+@@yBkaM4C|6sr-o%QP^AS$7W$iUq;aJj`lI481W7zWf2wM3(|F-at zYM;tI7}$5$d4VQh04Q@9JhF@*;l&Y2y~nLw-FL1}-Iiod=1JB%-z z!(o^zx){Gn>FP8b+Iw1wmg5W5WI~sPipN@6LZ$v9tinTmqo$HaYD3e3>PwwXE+-`1 z-c7VK(3pK7o@?E}5H~QyXoe7` zC8-V)^R8Io2O3L|a84^5Ud|pXFxNqW1!^;d=-%g(zzigZRdNUpRTOy-l6TxKqN)kH zxL;&S`A(XcHFDn4;s2=N5I1{`gzmE(d+S6t86A7PF(++aa15z!6VFsH2M(d*jX53S z7|@)RIUKA^nm7_8E|}~XxpJhV_gIHK>{99T!uK!AO1S?iV~=V*xMF7D>@rC-_Gs)c z!)M5g$U8-Ae|PfJfVlnrz226tBGc!wM_=P78hi9Lexk9*Gb;Zc&A7U%>J>rhH>zj^ z*XcJYgmUBOkX?TKRI$sBQL0t?wokrZ@>{mN^d24-D+V4e*BR|-P-5?_TKJ>9r?4d`0Uikf(X%D=CnJ*m54%on+W%Puo6?okUE8=$}A%W%K>^>gk zE5NuH2g0V9)sKw0;buC7iXDQAzWrl6dh?6KYeAo0L z7}m9#!Qyg>eR5`)XDO#Mamm+DACl)pRUd+}O&h`Da!Ear5$0LexifLe4$X*@NS4$A z7{THuKO{EHvy}gtlBcaJgKnba(JPt3;wDdZpF!$bR?;&iPnDDrCsFboofyI5CeJss z5$0Kz>zR_51JX#(lqmTx#FCDiJP-3QlIO@3vp6TwO*x--*9A5_gkHAk?PTZEJ4GkR z6@nh|(v%$^qUs)vYn4+2oq>bR$CDf0z$ZhG^=QMP{?0#Kh_8;5yFO~zcex-DkBx>C zr)nSfJR=)1JJcAuk|hvyKAqmM&zX>lq%6AonE0G|4g5_+@J#^Iq~fu974n5F{JH|ZVFljy1>V&)BKj(n!PE+?qQHm#z!AKx zBcVMFo024y5?BNujBAu}QQ)BD*3<9?OzxVm zFkj#}%%Eexcqdlip(f$HC+E}G>$+y6qqF=z!fccDJockY({{L8Pj{E-C{R0x1R8TO+l{I62 zZDmcZ>&6kIMr2=iQ?2mjtj@V0T!M8+%O+7{i*VK zj+XM%(!bF!KP}^t*4-|Y1t1B@TBE744j;HSKRTg9j?ycNOK<(T$rJk}rY9-&{%1Wp`}4rq@Ah_y&;3##ltvT| zXp#)YGQYFvX5mU)`}LL25}zNI%E!H2van*>3kDq)P^{ya(40RMWe99Ies;YDV|o(c z(-Yt<%XoC^65!uUfd4)L{#*ilJ8} z2F|YqO{ZDm{C+Z9>DC0{U$KSP?SEf_@ZAaUWYi}*42>Q9GSU1DNq~RJz*(Pl_%Q}< z(z(UJ&G4lLZiZiJ;AZ%T4BQO=Qv)}{KWX4*_>Bf`%72%Eo8k8xICU^OzdZ(S(iuoW z!rA5d1p_zv9AV&QxkZtLLyLi%blMEu zq|;^KCZ8W0xEcNe^$O)Zic_fz)gN88n_w$HUl^F^;H8m>D*)BCY^5@xXI_w z4BQO=jDefsHygMa{xt(P`FY2{&G4TXxS6kXeuBYKo+cfaftz%0HgJ>ANd|6)zumx1 z`ga((8U9`aH~IXAftz%GYTzcFrw!cX^LYa|!@p|aCjGY!+zkJbft!4$sUe$Po?kF< zlg^C>Zt_`V;AZ&Q25$1X*uc&3cN@6LXUM=!IzKjWlg_^zxXEXWft%s?7`REl)4zt-7g!s8NS%S&2;ZIaFfnA4cw&jn1P#g)+=1Um-T!0j|swWHgJxW z_50!#1E2>&r44j%#jsMiZP5MF)jd0|LT2dYUtpwo*s`Y^O@Lw=+lm2J}H|gJM;QY?i z>CQKBQ~nPdxG8@Z;?j{H{K7gQ}> zT2_g3a&2cij1VV3lr6#%#L}f@nw?L5bs;8)FsfQc=(yG0IwcqVfNjWhiRPpqVxxjP zqTlDe-Oh;7+4-m6&O5_Z zs|Cl;sE72D2YdSDDPH>pA^u&H*Xs7FW5R zFlzS*Qx%WmfdvDq!Oy{_9=5SOoLLXV^G6dCwG|t7ta$U+4pf+VT5w^{ucFM5HZ(_D-pp54Ia-){XXt9h& zDup>Re^L`{X8H$X-wV>ROh?4HE}EARu;eLR+PVur;7c(GNI z0L-XObkUHPHwhasqc~X*Ce*x1ubDVG5hm2UFf?d{hY7Wb!i1VP33FgkI-7iuh9Lhs zcJ%pZ>=5?1l6GP{{Vl#gyMJ&y4bvqxdk5nQjdA)iu^ox4$zXTT7o36vx=5}ut`gVl9H zV)I;N!Kl+w-QZVc6}cvI1Zu7rX>sVS$U>G#^IZ+EsN&6_^^j zw76Ftn8rGQm3@_1P>7n(Gp1X7flk#Xcre0_{rf+?9|k1j1%U^gvxEOQkhcE~P)JzGrOW^>jpw=)?dZ0;JwrbDdO^$o#N zUEh#7U~CAM9QuY}$)RsZ4QLLzFLNb~0d)QwIy>wbMJ+1C1eWX)PI^vlcCP&^wh$kj ziS8o0<1Kop`wy=7+{C|aG>)>lW&Q`{)12FrK=71 z+<4mFGJm5qu^_EX^DUP_pu|pho@#cuMdQ z7WZLx4$fcf!ZG8&cp*vhiLHgo7{X=|a)+?*2JY+$f?*&?MTLGMMfa$BxIwhLspxZholP63Sc zkdc>S7?D|hAB?y}1QfjPDoE@nWJl20B+`Vv3P?$&spQLG^JJQ@2olmp10=3$kn|%V@=8u;UOj6QHYF3eV1{2S>WlNq|{<6Pd zbr&`)M7BD_zc3`?{KdOTXDY2+K@Fw#qs$UW#uxZS<|16l_fA2n^8;FD*j?^TGI|oU z*41pXt6_)WJDK&2*vG!*SD0-(o4#cxMqTmymOrC!u|jJyH;dF)w)%qAdwjt~9ll^m zrxjdu#0t(jZiQT2{Oyk0|MVLFL^`4^J`8P`t9av|nn_mh^B5|1-UrsAg6OLNeu*Jt zm!CX|;noG6yD_$mk~v#>&V)wcY~(o*^6!(>%GdRlPm!|{=G&^y{}wuYT>Ia{Ymu|M ziM|i*n7n@DF=?_GX=!|ERKs;42 z%z}Tv5c~`m@8?DZU*@I+h2WP)1z%f2R0w_*1pmZmBX}X+h{&)q$ZjooVmik={vtaqjYX+;-F^{ z2mKiNbCj;$($=S}TJJ%}aW-$6pJB+~r?-r@qY?coh~7otKSeMPB2^SqLn)ghujv=K zNeo+~q^`mWoQT&u*UYklmv^@E8zeGl>1&Jn24ZV zrtO@l{FU(4em!W3l*oNJb`XaAps>KkwA=7SIS(I{<@lbg#OLG+d`+TLfW_%d{9(JC z_;-o_Z1L|F|I@^O$(7VJjpJX|u|3t>cH2K}d+IxCFeN(Z-j=7H;s=)KC}S-y#WOy|cW{Bo?7B0&hJCc! zAM}gz?b+cSw%He)k?tL~#oGfzXLB>W!(Qv1*Onf71~gOh=`vgD*}uYRf^5Ib#9YZSTt=)~04yxL0E=?lM*bE$?78%JL3| z5{pAD?_g2AE3>?V)!+(-ui3z8jdKRF;S@l58IF4iuN|4utvQDZ)%rIEks+uXf|D}t6BtK1^wC%TJX>^_pJ(`||lufB&b zOUcaU=m;y8Y4UuQ!>j1%%1{r=v6W&L1?2Wo!y8qva8OkuRI7$272kLD;1C9sqVEe> zVtB-X`!zV+q}7xqscog#d6|%S%TuZ8ABy^AGMxd2w8gtFYCi7PY^w@G%N+QsHT_oX(3M z!eGPPGZ7+LD64{d$ER@i&fwjVvI`{ z!jE{PB37fq|6JiNE>wYgPhK2raRCTimb^H&;7Yt+;Vzx8;$pF?n9Fm8AtWy7 zjUdZw=hrMNT~K3UG89cHMS^h^Z>)D^bRjQS_3Aali%V}9xuCSVcv|!^*ZIa>)!TdV zFN3OOy^*AQhtkAk#;;ZR$H*Kzs^z>lA)Yx%XUE4eP#nBn$=@FS1|@$xe)elhY->g& z8~^aX3lvz?syapJxz$|<7X%s3ZQS#gQ~LOfbGY#{-Fh)Q4cj~lq;iYtsOlfF{d1MV z@hueNTxzXA3;n3uh)ubdivVe^b@Uh$WrtB9!*eP?flcvx?y)ZeV&Iv z$2{tFYV=dDLC0!p&pYu}wGro4dJJbzpAF?Y?g&r@46BeRdwF_@PW2=-rdp|-rM#j?`AiJcefql zU1>*nTU$5phKIv#5Xh>!J6$cFacxb!z1uAW*y34L=P3z4adcumY0qm6ude%YNlSC> z(HB~f8(${mu=MCodEeO5Tz2$Tc@H9UkM5KA9WBi>j=s(NL76Sh{-f_p*wxZpbo3*6 zkJQE;#b6rjH%X*~dvl*-=W%ci{vso=$hUq={;Ju`s?P8Fg+jfArrJy~d?H%6cAny=3 zpSzItwiDtxbKcg{(tM>#tGENXDJVf2x7OqD_QvpaM=Lcwu#Q_n4-A8}Ac$NjdUy`D zNe{f==|(}eJn(y{F`g}Lo1WPSVmIJ-uM5mx6=47wX8K@-8Ln;H#@kX5p~S$|Y$;p-Wo>gZ zn^3icj0;L|Vq7X%tJJX|M%-#Si|~IV7p0Pm5=whvW(S+3sFADd$kTO4%SF)FlrT1| zn*FtUR3(P~JJVk*(|?E(y%sfdbsf0i1+=jFm@Jf+NO2>vJ8|o8tI2eQPaJ(t(pg={ zXhm(9I%YIH;{`r{Xklim=hREiwYR}+GFt7LOun1YrXS99$(!$p&FQ*fw=|!>y!A3j zu6@%L@=2SYDdI|92_Ts8tt-@?ocFyKQ5PFAsQRiSR3tYS^5LQObXg%Yf~7wf&6 zoliDjiS~1O`0h$9)Y<^061qDy1FVs0hNW@(AA%jb%fuYb!|sKs;H(HV`AgiujHYXi~RCY>Bh|7AjRJ1US6&aso}Vl@st1$n%yKThv&wlXmVh3J>36}2XO(a}yeZM2cqRZks3sfRCWJIIXe zB29E`h@M{2Qu^WQPP9)}_p&y0@tR7uY)qO$?KFzID;l+$tfRk2cr4q3R907gcOBS= zlp=l2YqH9b=Zzv}r1FW>H&>tqw7sB8WYy8y#|h8q)FmRSI5~a^?R5{I)utL173b0( zyiBwJvc3zwLaQK~Wz=3~;??l^M~?`~ma4`ZzZ^;#%>4X4LU<95^hUV}BFGprieh^x zT5Lsa?~{y`jCFx6&Ewim%9uAYV;@#-#ac4aDI}p&(68;5=8M{zMH?6WK1)TuRoSnS zWzi?8{!R8%q8HNr4y0C?SrQJh`)FQeb|2v%FW-5Y>O-2Bw!aeo?($v2kB+3dto?O9 zdNb0eoNye%z35rcYolkmEYhWdX~RFY z(O>}nnN5<5lXZA&hL*QM0(0BnLI=7VcQe`#Ljo^HB;arFfdpQONT8^lV;+i4%7J|^ zZz%@R&F(+pXo`r0J&FanR1>{n{XOE$|e}Zv!r!RP##W-is=_Gn=#f;xEct=tkzc;+&u0a3S(|gEH z&{=fM?<_j(4Q%Jo-fB3A-(lPE9?>ztcdltf!&77X@X0EV7}{fo75Cmo{N2)ozu6u5 z8;0Lv7yj;a|Rd z;Wu#wsojSU;RfWk9qz^rNQMvNJzpothF4W_FcWBG5)E%Qd7)Kj_cenFrDXbZwp2t8 zkm87bC%#Y_fJ8e(+SlecfhnmO+z6dasf*0>P(GQ?G??uo7 z;k|7g4CP{{_YMQN*?k`)nG!aQE#D4@+m7SGFYCdi$WkgReGB?xu<5Cn{Vs1GlHDtB z*KuTkP8j#MaCCsN0=mV;jeM!#U5#;J__3oNNV}~SI0ww=UT}v&ExQ;zgS^{1`AqP0 zl(E6jjs5$Z(Yr|`XVOLi@!Z$gyfUbk|*?-_wfNv|-7Fa*hQr!T;9%O?j%}}(=M(Hyg z{7|Ui8A639R~_9bgo>w&MVT|9{fsL(#@qa&qg{-eK~e1$5g0a?B_9bZIK~%?3cFI& z0Uh?&V(@`lAcBj+7a{qM-p1^&)56EF2eixAdjlIIRh1G3`*?X!9ITiSUn^@T$?a=l z?Ie*SqKXQkkVblhT_Nvm&90EQ7;*@9g}lXxJQYW0X*W8}HHw>&#z<(V2Q&#V}ETB7wwWWOj<{FMFgIoL@gPnTfP z+YolK$~^=|*(0=Y;D@NCkBd4Ksi0&N165H$(JPX}t&GJuXfHbpZN(j=RrnF(nM zHbpZN(iCipW+tRbHvNG&z^Q0#`+dn&J&cnL4a2q%D-rd^wy+qEeGAil;UBl9WMaIa zM^WF^A7SAq)F=u=B{7P6OpT&2PLQLh%lf^9Z?Y4Pofs^LkrM7X#9D=MUBPu?aKIh} zW2>EF6t$b<3x2h6B;AZJfKQjKOi(Azk3%_3>wB^sVBw84wGn?%afngWk0Ya~??y&Z zPpDB8CBRYCV`>yd3B-(|AOSs!B0qvRHHwnFp{La%p%O!h1h1GDjG`zK@iB()0Ek47 z=KgE>zyJ$^sX~p$Pzrz1QIya~o_^#MS$7hhag5%H@eL0R#oIkNP)&gM5p;Y~0|hU5uzINJ#`>v4TCwO;sN-m=@@afGM9f;A1(3i?QjYggZni-mu zC3AEHVUL5w&&eF!fE=A4lcQ{rqc0#sso*eOX6QO(Xh=+kVEvm+LftVh0}P%k8N3=9 zx+Eq;m@+1NE`-fO*le(vg7Cv+`0)te&z>VpFf&RnqPP)!sLW9=a+DgAqiHfn7Q#+L zjxLfp8i^dG#pDRf{wT{?$WjTi!SC?}k4T@F*}ECpJ0~W4E0H~( zyTx%iR+BwLO%bw+BkM8B>%yT1SW;bF?}xqw!xQf?EN7khkl*>c&11a7ns8d?I+l(f z%c+|?FP6xoc)DX04?_q{ZDhIOR9FaMutXlm(^p4GI_n`SWaL#)K2IXg;ORyz;$fOB zoGi&je~E0CTwEc;wvvkpGR-~UB3p8CsYE)+#b}vkC%DL!TzpOY>GsXofjdtVKQtMnHVpV%x2w?ObnGs zE}6jUB#P9{S|gdbNFo-w7%AyY0~d=V7fy-HA{W=nG)urmwdCR)i7aBeSIJbWk?u;F zZn8w+YejKk)f5U)d_j_taU$98i#IJ!M;4{>d5N(mk(--E+COEDLc~USd0bxB%gZyk zpf*Lc`q4Y|uNV$ow;NL&&HGZYQsd%hgeq~MT2+OIT&&@0**D{+rtn8~T(ZH*vQwLD z-$dM)bskZw(L03k2KLhkzc_WT;mrI;bSNFhL5e-8a`21Uyodb51kB$53Oi}|Di_u51iZK0^^xuf|Z$$dnojee}4(VQb@=*9nq<7iL zW8uqIycxdeG@{eaJ%J7M*iTLd0B-9B`LY?3w)QNVP zn`7-V7l+y<_s6>M8Qd;8KT$P+(OlsJU2ik0n^8*`Rb&KFMFtR6Fuqqt6-@uR{lR)B zy}RpR_^I|s8hO9BYhU<@_U|=Gyes@z`%gL~-Vy$B`-6fe!+*E^5kZ&XL+#%aw0C!P zh1a(KgtU=0mOsdK2=WZZ$9uaDwCrCs`an{6N7p+o`-*Pjr~CChS@6^g&b2+%7|2im zfvggtFLJq0p~E4U&i)6Nw>}GQ9K)LL|BxPM;f96|S9527<6Mkrt%}~UUu3*QS3U!~ zVt$zo5OfA9)Fawe_}%jcN<6jxkg9K)GEhBtqVXZ}*)KivxT?_1!bs;<2=Nq`BYOw_2cMGcy2qLgMJU?Nm!$OO*7 zL{mYfiUI}@l~-Y+*dowQ!sT=vpjE4ViniC*dau_$Y|&Oscm>cRU==D=5nmZ14_}Bc z`2PQW_MTZe%n0hex8L{OyMLLSbN+kpwby>X)?WK;{D|+=GCC_6X_yP~Bfk7(^_dgV z_~jZm_ml-4>ztVypP*$LzNFnR()dEXXMU!3|06t$^m~_wk}gqt_8`3C)`mwZ6qky< zt_t$fzO!lR(?TnQ+;py0H}*-G0gazL?Ye8PyJp(t3}Q5j?eFS%F}j8Lu}mn_f6mR* zqZ6-zEJ}2?^PFnlltvP&G0Exg=q|Zt&YUCkmKZvp^H~c2EDfw9(ggI!LM=;T>_6jqu!x0 z_`E>_KCKMO&Xdv%1k|f@hX#~_f7roqEAj0T_0nEj$?x{sD(6wn$CXCXd-S6bd{WbB z&f@|6bNseoL2`BUEX!^`3N1z*%V#9lj8}ZL9FCrHBohZ}t36G5SH6v%#}}_m(xDy` zITwB4O0d`)UKJLu!f0uY;u_s=m-r7jq1*e^Q^&xrtyF5kt=Jl`z4^+k5VVk27dq0z z_D7eF#>HI_VWxf$C`*sMQLZUEH&LitLGA@J^(_Z{&A&yNsjq=X`nA617Q9x)4Eg|*B2mRGn%*gS(ITMk5v>ya$J`WBq|#hpyiZm@3}gj?73 zl_05SY)!e{;a0<~`gZ@G&cE}FkkWeYq(=*;51{5-T&|eir)aDA1>^M?i^C50v(;?& z)o%{gTv~;*TgBMrZeEJ`h7&j@V!uc|CjV+8$JWpCYjl$!M-uX=(K} ze-jRHBZ~_4^;D==5>-65<75#Fts~x}Jinffi{WGO$8-|I-M7t8;VnWP^{=VBWe~R% z)ozCBN>(1QD|v1DMe?|H<7?gt#!%sW&D-!|5h3Tw z%~~Q_>%XFc++V!efC>r5FRDz}o6B^)iGDMjpn9Lob;j5H2L!IGi>xWW=AXbqSCaXr zlDuhxZoY-y()B~(tQtXkIBP|;B#2qRy6^&bBWPbu-$uTt8xOk!En&H6G;}^&+JpA( z6l;^y?;^^IoVr`6^Rd*rU#cOn*Cy{nuA6U`qPy`OPCz9OYhjoAGXsUhseqTE0;0h* zy!x6)!>YZ`R6TVQgQ&p1=7F%+EaFC`bmjXJ@L;OmJ;pJfs`|#o+&RJ69#1r^nrPOt zRGPj7HdWn9v(dCB`2-mnnp$)| zIv&wMxT=H%t}hGDyV^6kF9WXf zg&hQps>66zYJ3?d$uOo};WeFVa@LqL?4t3P)YUeOuN^ZMm!Dr3C19Q@iy4z|%Bj8N z8x3PF9zT8Jv}rTDdYdwP@??5bPwmWLDH3xgE7FZKXWdM<_#A)J%-NIpKBH;6y4{@b zy!n7@E#U6DS+i$0PMk)R%;CO)*@^@|a3Q*KjU!0fdh!fKtEqANEJCDzjT4(m*WE~D z_MEBLO;Ns@aKMSk#7UD+^wP~&v}1^f)1uM1q#zak6%J%K|gDMjbDEcjyr=TRmTE(h#1 zz zhR;W`;7?`2Ul%x+8x0)~69C4YJ_7|V<26L!GG5~a&h;-t|GNTbpJ4D`3S7o(lfX|E z?mGl7)8EVS0}QRD`~Cu#?n46Sa**L?mcV8D{8-@9{T~F*Wi3PJIf0i7yg;{axHAPV!?gu2%hj(0F3Z*90+;FYyuf8S*(-4AzPC<9#!KeQmjo{JrJukhoshs~ zyvAg~X9!%DTU+3g|N8|l-M0x`mfM#FF7xX{flK#Ay8mT5$a3CS;4;2Jjl0X?rNX@| zhrbrMEDsL}T&CMT_yL4Xo(AA2jq%TVCyn9XJTHbN-%a^7ZZFaCA8Y{qH2%z! z<=wnXr;Cp<{ibXGvTl)%@jur^+)Z{W+-AyuqZi@VBnHF$FTl_EH~F7!Z)z$VADEk* zN9wSY^a5A} z<8_t(x}tErt`tg;up@&-H>X~0xL`KC6 zt0JC**pTw9w`$r(+4)tzJ61&sK7ht8fHiHt+g63K2^HzPF*0Nl4>D|P`U95&ONNXs z^ew#)Nl&sRk;c_z9$~L#*jN(hda##^s9+!x?>{QhugbpKYeTyvmsR(v(Ch8@dGmZx zxS|cowB&vG9F+)F6=55sC|tAFcU!Af^9(rfuEH8Cf{K0E!?%cQ;k>Z6ZP!o>TGwly z^No1g-`cV@dIpjZHf`3x`kYAL4VE8=GXS*Lk)s^72wd^B4duJosR$)TAF>jKTq4Ht z#Qksk=0l;-#fkhi!7aO|_@?a$##VWtk!@?(v#B;Q6w;Z=de3YAt^NaV`)1}J7hC6n zLe-gtC&3AHvhH{S&o*2Z?xT7urdk?r6*}Ynh zbZIxYHq+S%wb0wSZJEE-*)s{p$E<}T@D^F?q#hKw6KW5s90doho|@GQwk5gPo!+}~ z_BOUTdmHawIvN|2VS7`=hSKymyzy_8$3FDTFBoz)w!Jno8fLxTJe^J0FV@$59Boqf zBV&CWS01;k;?dIDG}n)71)RbXR0V2#%hvhj;doV<)wt10L^d7Nd#pH<dR>Sd=>l4Ep!tth@aC~T4(EhuQgs-_9+@YEm1qY5O zvY%6%Mk=e5+!#n_OVbJ!$K)wM&0cet^gX0@lCjH+?IWgdC_b?~82iXGzh`L36eKYh zefFg;-9PZq@oGEhE?4%YELA;HyFJb(dzXC*l|FU; zS2|z9UJUaulK7U_sUXNe>;O_>C^*b4eEmx6& zRjz$9nSso|uDknNP5I{K;<$4h`Da0|tj@nbhK5{Uc4{1?Kt!a@&9g22U zSvZaiOm@jYZip5QtShOrXNVk}qjC`KQ)>HF<=;40{*8W=O1oCFDn33H|4i;sHlx}~ z%=Na@O2dh7mpb-|Z&y1n?X_xhVYSyb&{=!!1W-dAfV74aPl{=@tMM+?>KWfhCqrtW zv5c}FXOYM!ct3zpo4P~r1Nn_=*G2Y&`Omyp;{j`u70>^2x#BQXR_$+v*gVShxfV9y zt8rI(p|bO}P%Z(@mDQ!WY9>oLIIN8AW6RzKC6p>QrYA=Q!LG5d`Cs5DlDMUm4OpTH zCk~w5ZdgZW9;hwOkLJhftMc3H)Zo_A!vI=Pz_t{dk%b5x(a0||8?J)%|Y-(i@uw{bp}N_}^<`u^C;VUUwu;QZl79ongp1F(A_0pe|eGMPsZtd=uydJ0%J`wyt= z=U-Col!1NC*MSSjUU)fRnBPMU7~(m8Y}USK*=V8K>r`=4;bJfWI8o(94()$)KX~>Z z2Hgn8EtHyZWOrzF9IP;CD~exLUbFp{K8exT@2&T8*k;CT5S4CIbnUB({>(y}d=Y){ zGOK+Zyh1P|&Es0&$)Nz1bJd!p`&;$^N|4B^c`teqN0KPk)Q*=*t9mQZR0`1|UB;0Z zLx7+znK}cc0+F-xpb)jevTM;W*Nw$O>gt4L~oQ8P- z*qSP8f>Wa-KW^wYe%635V zDJ?SPYxdHzadc6<76Le1Fqg>dJi&_3@y6ObR(rmh=VBP|ty#YyY1bB+6nf+|QFb{? zRUwCCL(6iammRH$K%PRkpsE^_2~wN{D^jQf$@ekZOxO1?G|PA5wh|^&Y?H|}Uo!{r z$(8u0{GqhHhIcdZZTyS^5nzMs&@`TJU6SLOTjcptVGl3$D9#1eN7>}$yvCxJmPZ)Y zyEKtMtatgX-GaR<7j+Nzu8#ExL5AR~xsV|keuO|msMn~B`0!p=WRy7w^|BD$T{`Ts zEJ5k8A#7r2c~LSexnn7pQi9Lz+U|ms-8@?5l;Zb} zwyU9?l3AGyQI)!s%nJD|VV=VTk0tLHdS+%!vv4n^yK<7I6;%XN@-HKLm*!sHvv)~I zNx(o_gyEWdv46$|p-lOX0;cnQOz-8M+^=U0SS2?@JHjyP{|uQE=D*TysyR}1O27YC z%A#=Dsz`?;ALnGjhh)K-H<{>+22NRp{W_0TeFb)17WX%1!M~FQUz`QMEernREckuE z$!9}8USL%H!}Blr5ueqKsIJ#|a_>A-e76Co`y#zqZRotA@k+hcuIePPkFwC|iGrAk z{_(&`-|T6q`U@IoYJ9V%uj(%Fsw{MdWx+4fbc($245R8do>ymae|;AG#w_@Evf%7f zGR61DS#Yj2W^(`US#XXtm~Io;x5B8l22bw&6W^(E)vf@4EeoC0Vsazjrp%r>U9Bx& zJ9GNv**81#CDSKQr}zsyUmhdUVkdJ5Komu}Q6H1%&YC!5(g2E^7&#a&Q#+)H9=jY2 zi(!VMWOU#;I#b1@tNZ$kFB+rx$S4zJB!^P2jsT2c zP~)`86K7`>8A|!pB12LRf1>c_qpRW5kcYZYqT;|v9 z0+;3CcLJCEzaa24M7q5v@G}LT&uJtK`6@`PT-QyzX@FOxliDd&S|=TWxQnjIYi)+e!aje1V7&rxJ>_Bv*16^g1@10K6KH* zTTad?WDbUWQf|Sd|JfRMyC0av{fsQ`=L+|-e*Hk;vi$ra3;u^J_zr=~dhu!&d|wtk zpPd;D)1eeUlMclKm+faCfy?@Gp1@^(jTN|z?;?SpA;SH+z-2jkK;W_*{z>4nzPu}N zSzmf;Spvpa)|aydF6+xMfy;8+cLgr_yj$Rs&ff(t`F~mC?sB+KxbG*@?U2A_ zdGN9`fMI+ketZ_ZRN$rXW6DE+jl20dU$~e2Oc1zCpVfaB)q^XB(DZ0lRen9(o%d{E)tdG(d{>?L+Ok2B-|7VqH`}i2sZ#tMG zFS=N#S@k)u+g%nW|BS<_c*(~vU;zERtFQCo)e&X>vnUwfs8mnbTFcHEYRwS6n zFSZ&tFRsl~TP*LFEbgUVKJZ#??-$jzys~(7?&49NX#Tp|{G4DST81s=eOBWE%kx49 zL&q(F*m^r2)bjJW|CiFguy9oVLhMSWv{S_n<#B`Ex8!a5`YK333d#3ZO0%@)TQ&QA zE#HHM)w0#HpY}CBi1(H~(E-7Q^UCreC5QhIlCbyA)glGltNIDtwAXUHgPm|}h^oL1 z(q5}F*H}zhrnu$q-L=@^fj8!z!V$aW$}V5u7wM3TjxAF75`Sw!oTz>^DF(W z3@{x(Lmx5`zLp@C8?fCo6_1pR(29v5;LyANNP2L6K3sFX2qmcTKYwqC{XNHYG(Y4& ztkd7hGp&pAaQ-uvpL+{d^|2o@thX0C0L~fN2;IS)#l*r^gLWTO?y(W1-G_Qzl6tT0 zH8u5K*J}daaaI;I|HqyyWt-2nOk-5q;$(200A_(-F>t+yz<$!C{8vy<0tTOT-;1P%WxPHm9 zM#HX!?`8};hae1b_7?_E5`-bnZq4BG9Gt`l>7;kl4+xyyo1t^L#+h%Tsm-}TxM#W= z_gp)tA$>W=`c)P>N~}b?mvl;j(U1;*#x&>`gD*E0pIXP%{~PBf*6DOJ(R7#LY-7xW zx^I_b43hF{LS~GSZH(DnCb|h6PZv8`$C$_JKie4dSp5eyPwp|M@vn#2sTdgk%`@8= z)2HMAS;v@l$C!TE#+a7&zdXgc^J4PP!0d}NjWJDSt<(-b?HIFCSN6|(Zo-`Fd`KrW z$CzwG4F9J5WgBDOrOWRG&A)k=d^6t|Az+Wn+$vXk)G_9uf&Nde(<`9I%M3H10@h>9 zw45X^s7Hob@#Zp43V2ciLi3Oivf@82+pG`>1qu1G=CZ{={jK4+=Rgkh5(N=23ZUED zAZv>Q3-$J2I~Wp1myrJ|RPRB19Yl)?Lk0VxcuCp4sNJNV6c*E>O^!yKO5?(^o68m| zPY~jCKxj-U&*7an)ljUj?7@WZ_Ei=vD)G`?Lr*GYsTPFgCg z8Ul)#B#^VO-HkZ;mhvRW*Y@F`Z|V84i5`8=jJV>Ll z;JG3BkRt0O3uNgWiBn(8Y7|2X5*1nBS;G`o!dPj+I@S9@xULz#u`jUVd-(5+DW~9V z<&F549;4!j0k2pG6$DVF#a6Fj01oXmSuKYvWt2N1R|{#fv85o1X9KH8@H>YX;|1s8 z#fk3#d5cGP-BY)GZze2B}buX!d*RLVm=?hAs5oR|94nqZ@(cNGPw=-HO`ZrSTG z0fE%lDi);)I$&QjhZ86k4W2YfUrSOEf)roeDr(u#bP9wM73a7{ImI#F=bp`THKl2e zaY|uaS!s&)S|lZ7Rmx&j8gGEGy03XNK*c2eP5`Hty)I(E*wtqoj=kSQ=RyM|$_`M>as~p9D>vEbNR}!x%FW{ym$Jeq3Ct6r+otl<>7@w50X8!sQsE`%) z&Zm?=mV+Wh16s=Bx%ZfGX_q&Zq=pEj4&q!GmEqb$Gk z%BEWOw6a zRP*XBCmEqcM4rc`n${)10~aAswpbESM;K@vfkyCeZt`-KZm&8C=EOr6Dmbh}$x=3) zMAv|hYGiBn2Yr!sfR>Czp-Kb}`H{HO$}HaEUS8+lgS7*D9VToK6C*cFWp;i1)C{b44nIDX;@j(5RkbT_~ta&47?+dDC*thgt z5JGy4wV3EEcQ4j?9QpFtK~FID!eImqAM;;<{n(KGaqCGu#(hXVgn84+lQ(WMj*O|4SyRzW_ngxF}3w|dX1{ls4 zIqos$0gbcQ_2Fm2WzR@MocV6>>j}W{A=jer5cu)1Gwxp&xZKa~gUJhxo6dy-mvn9x zxTJG`7W~C5_#uJIbjB7yiXXP^hX1b#T(0>o6u6YT`l-NA5_G!jL}z>@{}Z#|w+LMF z`CEZYT`x}vT+*MSn`C#m?E>ezfr)Qt7X0KMa0Ej-(!G=qli@BB?j^oL;F8YYv)~2n zLt)(Eo-6QEU~l*j3;c@$kBRau^RX0eXh@&Gl=;+apR;FD*?vk%jB6?M{}!Dwrr$L2 zbhqi*);{;Mv4UyU^@pEKQk~pK-Cw`gI3y8abhf0Bet4r(9ZU*8R{v)0b3n?c^J4t7 z{gcLoZ=L~I^4&d>`L|=_|6=XG5>IK2|IfPix$79i=QxA>cPY#G?$G`h;$0dy*{QH( z6Bdw;@cxi4D6F$I%zv&k8vh1opWx0rKsoER|IfPiIaMz@bE%1jZ6fp19e%d8&;9J2 zVLoskssAS54S?aywNnO6Pi?U4&GS+k=iT`~xT;EF1N@c#!Rl>7&jodn;klkPMNiHJ zDlZIe^StXK^Jdc7S^EsdPfH&YkB|4(B^ocRYuRDNPpuhM zcgWt1i>^X;GE}iM{B(z-AtmC^&sDSfFy@;f`_1svFGc*3+=Gn4tru_(ikFt1U>XTf z-}nlc8=2_0OGUmIk>7>LufkDgSZ~3_1mUNXh^VjmKj75q%fbJL@x?}u3A)F9xWWvHbcCBZ)4jnIwh;AJ}0#bp82Swv*ob+7<^(Fxv zfbM{9letQ_Nhfrh*yFt|JD`JNgsNLtss$pgB|A7CYpdzP#Pi|mxOfQ;;l^isYxd9c z*>BqGuri5Lul8=s{%g&gLf@^sPiOTI5AQ~YwMwX2T(H5{FJYGEr`Sp_Vz8}ImC#)!D@R68hVl!LW$6b^>zLo zNETl>UK1X8eo*aHhVAO0-R|FmqGE5TOI&*h9`foFRR#5lemx_ew&0dGxM~9ZJ7rh_ z!ZF^rp>rqnwH&NoLHo|W{0pFQr^br4L)p%&vtP#a-y8IN7_2#rODGz5K(W!^M-41| zZj@cP9TFgk-y_>2jq9!WkVrgtWTNn|OuL}{7RpQ{@s0gfqMvV6qPWDW*^NSVdeC>< z8gO9M{1wp)d0+B1Q>Y^t`=G?Ps5{<_@}W@8)}U|1R+OS%2yi`Ah zC9XMCpD29VzZEgLIMK%&_Pp;zs9zb?2j!oD)5bxn4RSOFy)--N=?K>Bj`pw=#Y%RY2dAOmNd5cDpm1sfat-V5OYUWM#-YLB7L?LJ5dyOkBZ`n&;hI*cjq>7NlGorQb_f~v zJYFpOAlfJt$Bqk88b++E^KV6)S7^n3L3Pne*oNwow~=T54Z(`lb}O1-6vv%;kwiaS zjMUbYq0)x0zt8P_>15jru4xrc;k58H*U$QUNBO7~}-1Wx*( zYR2d+qK={taHr1HtIYVi%nS%TEu^ivBL<{YE<2RCvC>RyY<)TTWrAh$*Q{HxKRFML zNxaFM+=$ed_fa_7NJ_;XTBr;~AU+Hofv@>mq1#2=QktGNO;Tc znsrUP!qC_h+Z(8_+0wKUj(kg*VOHY?^isFB^M1C&@%%FKbA~DloxbK3aDeCxL5sEY zBfPU9+(S?CAy83++ki%(AfT5U#)5z%p$o!?aH0yrTXc)ty1N#HR;M8J463xXY#&+$ z7K9yW8dwlU>Vi;~Yk3X^w(TV-foyk8S_5Wx zQ(A3}{Wdgulye&vk$`$7+=YWmu619SC1C6x_?o|uxhQnd#B06K!w?+OglzgIAY{33 zaSaBSsuep3jZjcfQ}scjILB_aJgrva)<~kvDNggY>_@qQ4ho36VcUp%scoG@*_+$g zoq#4P#G?&eJtPP_O0Bki)o84_MT%f?{b*+utZ-j!68FY-;KtTnxlj;SjxMMyT!60b z`Pj?3u~$8oXNUS+8!iCB)v;H-v6u6$wpV!{Yqiz(a;{bIJn@~mv6nr3PxL{l>97j0 zZT4ZLU~}0103OJM2|SW0{u!BoJ-mQ8D92t$aXB0=fYyl@LAWyZdOrN(K2EFc^;~)e znCDmr$=Bp7+Kx6yN{FgiW!W}aQ|{A?hoEwj65zv z9v7krpeQ8sV=p6x`aSOi@wCcM=3^%`ZGlOZ>08z3TC3n`lpCb>+C(}1akYxqiBlZr&i-dK7g9DWjv|usW4Z?7W(2ySLeQQ|x!5zYt zC_*YFA_d!Ve=jq3r1tK7!vAw&`rqpKSMM89SX6P|Rh}vakwhPr5ojatU}PiqM)1pG zK++x*1Ms^_7lU1{VxU++z@`{5^PO_A6_?UR3O1qyMo=f(c9p2ygbv77^qb&86af=5 zG_@cY1kQqvy!T*BZ=;j%OekbIib6Q{MiI(}DF|IlK{&S8i!y+cAI4Y_C7(q?7KS2d zJoB~eqjEW1C)4Dee`c7ieD-k=9br`M4I1ri*numFb70%-Xpdn5gIdYvzaZ&qW)=Ew z{UTal_9DLkz#VgxKd63-Ls?QVJ*HTt)L^z!31u$atFGjIdcY_;V^?yV=}Jy!SF+XB zlb{5l4Kh8+h(w=)DHztCnB#OLN_%9m=I=M{uJdfKt9d%wtG=;yWIVrZq@CZcShQz( zmC8+SczL0naOIoS-UjW2ohRw>g4uRMquewL3KY3B=5!XZHRX;tbMUI*)toEnaT_Te zP=j*iuJcI;x7$r06NPF*3?w$A!1O#ZD8k8O|_xrzUEz=kEpA%97gO^r>AbPTL^0<=n#re z@YdyB>kTHxmE{k)3LOt;GA%potGvD?kC8}xIz-GvWqIf(6UA%2s_r7)cJs2vI8@pvDoQyhm2lE#%4Cq{YvJ8ITPyJ5R=fEU+t zEm_JCup?ih_DK(7leymBM+I%C2hhLOftiau{sT2njf@vpN4t%TN2_s1H3}e=J_WFy z8H}yV4P$QO#2X$sSPul_w|GbTi%a=ojr5Nx^@gFR3A$DzWet|UP`!*D>5r6_glgV{ zs<;KWtJopvc)%M&Tyib^FDW9=HQRkl&tZmLh1ul%vzS7dbV6(F+Jl`vReWQeo@lSs zY`xH_M1BDYBu7CLQiMF?hMovkGg_kXBkBj73`|Lrh=VlzhJbHa=_E_ z6HH~C`sE0UL9zxZJ2gFCi(+XI#wu02b{ezVmr#=I#)WO%F1}R%0pxz zf?Rqvf=u3sYKU=ChLPP6WT*ahW&;p4KBLW(RRFIg~_*gwaVRIP?>2zYi~`>5ZbH?j6TM+ zVTNGllbAY;+o-gDLHuQxxdITv7aU`#7^%7z>oQ69Z^h!4Dp(7C6I}6CB!n24bKIi_=3OXs z{#(lidp*SZI-BMEN{yejPTVIQjeS(u_%4%NC-p4PqfGWE-0vgDc+>#@T9o7LJ^RMkl3GdOuTo-Mj!&dMK1RLdBv| z5$m+g=zNewj+7-5xsVfDQ3IIB2b9Rmf(L^uxT`1H+0<%!3bz6h1JZ0isOP^ z8ye_g=>ZVt(yR1b`p=9a7gc`8xVsu?uJNfwm7dN5AKGcXrottaP@-1Pq|pm;{G%FZ z%%pSFOuA>+6_vKxNwuJIYL|($;!w5EY`1V^tfAxa4%Iq0-;Lb|Wvw$~srnwr&T$%L z5WBS8&EJGArRTgxAj=UBu5xN88o0V4mldK!RQi_QmP)&LiPac@UiMY<&#FsYaTs&5 z)&2t^j9IEf_Hz{}O`nStfI%I?|eNpp8EJ#Bk{qM6*FB-lzG62pg1lW$lg6M8hYO6 z7g>oWEHXp?ea*9K)#gK#v;vekEcS8{2kPHjLj~*mV%Gmbf$z@NzHO13)xg3^F?_-1 zzF6@)fN!hjVFgo^jjOVIQ`muoPECz;ZHe&&I z6^iXi;rL0G{{%I~@Lx)CKXp_*WN))q`8QOwqY2FOwYY4@Zpd(k*1 zh7JaXDl_lIoQP*PSE=(osHtj^ItMD@^K+;*J{SKAduUDZJ+Ky2RI}-(tw_aci$A-1P$z#AB}Ga8u%-HEmxrT=UDcFkiCn2g0&S-k5l+j zRH`VNSII(yl0ydx)}lO=3}15+;|~aV#$H2tU|$6F;{hz)aa6Jm|J?HiUrSgqv5+y6 z`hdF*lzc6xGJm=bmeeZQ`I!D4WtFV+SE{?$tE9>I;3GsaZv00KOiQk!<7=j7>*P(4 z8c;IC9E@Ueg!POFR)Vpl5q=L-{kHI#1(tscw%~kAW+A=Mr|R+lytlp9mJVx664PH4 zhzp(hwq@tP9X@l+n_g?+n0GOp;tC_IFgL<7NaS6_3q7d4C0O(Jg1@lZSk{((SOleb zqh${rh*{5|oMbb2;u(fwWP0&xM;*VP3ivUKMU%7O)#S%W-?p9I?N!M-lmHcH#4}SQ zZ-af(LON)^QCJ$1yP@Sf!-(;IOw@w$5tx0TLBL7gzTvo!-4>U2JG-ISa0;*+>)7AI zm9S8&KY~REQ*3ARiCmOIu_}hi%waYdP?LWm!pG3W-k9VF8BAi_n~Bd(*s5kJd5*(u zGl`&{ZiI*Av!J55O0I@GMIXIZ@*>2;wO*OJe-(Ck)J9HSjkz=d#JCAen7q9U-9}zAy<9t<5gdS@%l%cL~jD5^qzs^+BUfqd}MWypy zub<+!58ls?<*av{@%B($y`kp->B(#qtt4*Bz*-^Y&COlw2>MIuV-p-lb-6bk1zd}} zh7y6U1NRoDVhGKxGl)X2VCETpI2fPl<-n4INxLJ2W~WdMS9ams$#pqWDR!1*$8m+< zjNetm^3_c1{1{iR=eTkM#+8Yj^f+Zd$CbOCh5o0T9>b38?X7frqSe@@M(|jJYR7Up z2bQ>bxMuyl{>`mT=UDNfWlDS<3W%X-`?W5Dy=HwQxf3PCzo%sbbP=!3K4Mq7-MP`< z3Q6;pR%d`8?|jO=-mS;$A2GimUXN_R-l>`;DFUWIATgtZRY5ZO6judlm?}u>t`)xN za@5a^FPw6eBErm6=gRd$jBYpeiiEA7%(u4asaWY%cVi$S4n^$3GQ|&%uoRXx6{au9 z=)4DksoPC-ZOm3K@*N7QShPo5gYl~|uXipG$CN)5&o5J#s{0mmL6zNN<7)c_dj}?V z{tasLr_U;@V!M?X$L;A5oeaso|HI72ylxBTb$7~Qf&HIO7K=#Dj;58eSWp{tE?lyp zwC7VN^I}Sb*NxiC?BgsvqUTwKEv(|>(LWaYw>o>#TrI)!h+2QFtJyp| z$>t&GX{%YyCCCj}g4}>5$fvNx3cdF%$HSlJz`JQ&mtGy^+O&{ZUNrlhaV$Gkdz=FV zPGw@2QGIylU(sHw>0lBmkmIy7tX)nGFf~2ak!!EM+1J^m${Px4?8C#+scP=|mYRDy z&Y8~BQC_;7JlLWX_B+R5(7YO#O^+mp!KoS_rR$ronRmJ{dy8u6-viiqwW7)f5H082}lUBG{BL8SsF;M;AB~UNsR|a$01D+ zy%=IHT}K6`7^o(2P4qY_kAEH7I&^c=G$`Gwrkm-M{t-RW>>_x>@c=q;)j;iX?zT|G zFeG@GjR-F0ViCZaEZ2ja3q14^9OhBVX()k3p;03L(~Cmj)7ShCl0aP$gwC9kdbJtB z^|w8+z-$3mB4u5G)9ticf6LZ?Z({$A^*62yiH-X7I)hpl+T>gEJA{{^`wrSq`CIF1 z4$Yf}rg|#wJ5oC@KcHhX)G<$XZ0n*Y&<*-5k?=Poos4T!`8o1|Fq&vr5KPMfrz8JP zaK*)4OA40zqEktJ12tDQF~P^tk~*tyo!iuWHZ|lh1q1?0N$!>- zce{=kQkxl=BIT-ORP-dy*<(}MFnn;vpoSQpX3U^oQ&$mT8OqoE3V4YRw3clhdjr_Nk8OD}wgB=qw;S$aVBf zv-cK7pVV6vp|=RutnJcW1nnC!A;Lkh_c~76ruvIWx@sX~tJBph-Cv~TU8;q=i`uYK zYZrNpDEtw0O zDa*{5P}OPJ-ELw8V_16oU~JM(mKsw`3IjJLeTU zzpdIkCmk^;HNC2@`BXUP_LO1-GwTjDwQ(+iA~&4H(!L0zdJ`z|S2d2nF|;!+v9I~B zz~ck49fn!(0bgQ0;+Y}UeJwMQw8`ag{0aM$GhoeCzf#?=r^`V)ysPMjQ!#LtMn@YlEvgjl~*TAoWq>S?<0NmxQNqkM7@QV62+#K^}`71 z0@wyu{3=EGn_UR&5lHgSSSuh=48>mSIx4vbHcI{zdJmlbCj0)wCWK;!8tJYEoy-56 z{fDiogjUj5i%brtrp_D$AF==7WLxuh;To;N=(+Q)_=Q&E`k>uvw+69769fuLji;=N zHY~U##yxe=DF^lOUX;DYlC2f6xJyd25c@SP??-!MRTs+1}@t3e~4mp7`Ki=`m3W$|D-ngAdI9sIm}hCc(XcRH3!bD zwCVWHernvCo~QOPeH7=ZXqRz^Tw1=6-?|}QZRF$|Kf4;StY>HgNRB>C6PSz8UQ;jF z(%fOaOP1tiIzyW`Ah&nr@ZROHgBzT;g)Xq13Gl`r&Ap`Y$>(rK_HM{~o5yf*bxp7< zsS&-d1YUat9_%#^WY;hN7)}xyMuL3ang{)5i}FDz)@=lCp?Mm&zTj39XhL(ii}V@` zq*fpnFT*LvZ7(S|BYUZPhs#J8=6D?ksUI!WJCOG$FilU6TD73MBWJAkV`2MA#5;XQ zPWpbH5xAdcL${3a8__EQ@4wWvqFD1k3awD@hdgrOR8I)(FOPJrgZUJcokB zKQuihWCh-quv{eaz}u}X7mK=qUaWiWc;q_DN~+w3OgfqKk@p=vZYaAvD4wZ=I%z(Y zc?Y9z^!wy=YUtgN%e#e+BsRQP&Q#F&gQiu__|>QCWu`P|ojOJ3-)dBzb*NQOBBp;u zCD?>I`c!YP)oVg;@9K3={&mw+2shSaQTJQBCGwZ#Ed_0sl~T0IG@rMuFn_0MTFXc< zQ+^;Xkso!g{0R55oO&s9h`jwp(_4M?{HaGeoW*oNmb==PV6O?F<;5N<&E2G#&YyJI zOV`&>?^$^lkk*kIq?(WnY6OO>Hes3$Rp06rtnHv84Z*6pP|cubx_{Pr1~Ju;eVx$ zgEJ5YbsRM4wnOz>!208-j`(OE%%cV`N+*I&Z&go#h4IVe{!;CJ7W)Oh>u@IGJ(K&H zS@4DQ3qF_WtW*6Au-mh^zb6a+Z&~m^0Vn;PJg5t!`W`%=z%LV@TeIN1fRoOIbiXZJ>^&N1(P~!_vcj%~o0I#=ed|6)yS8Y08e+@hn{Xc5=JI{37oAg|# z@rExu_%i2_v%|R8xN0k5_lCwFI@@um+C9AT*3eAhQg2`;oT3SgZ$m$aj!FOi8h_|3 z4zAiMyk2PBvqHhB_K7d)!7Ow_j2J$EcRNiQKXLZ#{<9{|j`pvlst5(+QYWqO!rb5_ zUDH`gnT7EJN-nLWnQkXak-?2l449;{>B|sWF;d>tjZ^TJzJtoK!bMaA=Blfvq*GE) zX;-bi<8EVc=ST2VqLQESfX_eMm zpGPVjd>iK}3>rlYCUkU2Dsa(-D!7drFDWtvySkb=?Z(ODzu7cVahWeTNk~uhjcsb#?RF4F>y9|n7b?E(d{eGIcxO@ zc*DI+8mD{K3*)|8;DrJoC2&c9zQB2I+tB%wz}d7J{BeO73w(@jr`_?IEO0i3hE77@ zlAoUnT=M^AA3Vd5zU1dC0+;-JOW;yR#;LjyAstF}8-5;Q2_-te6zs$YUrG(jwU$tB|bI_ZZj|#@>7bR zq4PI^%ksQe;EbYie>O7@#-08{G*0?5{lfy6<^O7d%W!L%*)XId@pS^1>Dei8>HaJ| z4k8^{zs3q&mWK%fm*ru$z$O283H%I%VbbS5fy;DTEAZ2V`?mxx`T0QLlAjak8HVwa zbovThhC5W?vb>GdxH})m3HQt*6R)%M_>tkt_M}SSvYtjX?xsIMxR>SR9)ZhrxL@Eh z9sVqEnJ+s9F7sutz-9UrmLfthjF$|zxRj`a%W(ar3O*wJYXvUpj}f>`|7$evPM5wT;^9?;LIY!&yNHy^YQlrm-)3_;CwZ7 z@|YPgN2Hs^-SIk2xR>ens=#Hu_6S_YD__qe8Lo`i2?Ce#`jWt9`iC^`=5wrYFVla5 zz$Kjp0+;D_r@&>p{X^g~zOM*e#&=&9{DUm`JLM`{j;N<6RHSjq=in^(WdfJ=FVrlabVe8UwkY0&6m>wMrp zn+4L;#V3UytA9UykY@LkPv_-W{RiNj{s%bTQvZ#AwlmTg{>}4ZSn|D6I>P$_9sj{D z-1sxkv9LGq(rLf1%CGdh+wFAipXFbgO6}k4N*I%W#_d$RWXk_Q#Bs4x2gv*{z|Z*C z%NT0z?#?^TKl`1H)q@=W3w3+&1$_3x&mBH_$`t+zZot8q_SpG4GOe+_Fyp#8 z(PP#r=^r?7u%l)2*mX+I5``n67zse1b79U3zKc5qKks)CGS#?b5f>{$e3>V%8{#v% zp0l?6tu1?+&IrY4;4Il-2=T5Y3)JS}h&NN;9Ny;+dep%o6#9AxUvX6rMC-Y)_s!Vr$eUz$pZP+ZLRwZmHLD179EUK=~3*>J|2g*B08Npb3d^8z}XG^1@KOwg_LA=S_PQ6eYc1N`;1=jqy>% zmgfU|bdlBe0bFk+11L(t(%14`@(`=W6)+3%rX1m^UR1}S@;%uKF-u6lDG64EC>E3V171m*rj(&X_?mA6 zn(Pi4OUU59oje&Yyb6Q4o22BW8fXL|{O5IOPl9umtDU=7u&wHRSrMn~Tv`VK4vaZ9 zVye4Fj5RglM%0M@*=xj*%r#{vme!>uAFDMt(vuXEm4QI z*ZF>^R50#CeT#i?f^X4ls^abK2D#+J!7Y1(iQyioh*SDJzfeN;krhy>NL7k82X9K& zycIo;TArv=HXiAQU?Vt|)VL~kFmJ)xk0RWhM^tr6%v+mNK@^4a8HM;R-l8j*I(n|^ z)FW)KeQP12+)52Ws_7*SN@G`prh11mEa>EcE~5}G&mjg)b$GW_(LqoUGFLn)#|(fR zDgO|aeo>(*+IX?RehxKkrHDF&P|KkK0RcJ0bhM%j6Nk}xJ&?ti=u68oIIN_bYQ`g= zf-qqPRlBVMiP!dFQ@eCE9O$;n*HVX?pbP9i6L#?MvyiBFYJ9lwGm*X>*=sy%zA8zn zn$HYEmFHbgUjc2r7U6ZU^XkQGje2E6z!^@qhF}AxS?Mzx?)KmT*d`hd8-|(EjazZj zu$%RrRgAuhZzz64A81jALbZ22Xu-qpJ)b-tS-w&gAtNBqcH}BhOKxI-ss6?8Ozs3= z&Vr%ju4Tz}4shfA_TFR-S`*3xqtYY?;oV+kxOopZ6Tj%BJGcse=Kwi!GZ$&>07LbC z_iFp(O>D8qnrN}s;2gDT#ZoPn(|-L!#ZT&}arfsFvbJ8Itv~PDdi{*eMQqIk(|Tp- z&wq?I;#2nL?W$Qpe~$L+CwR}^pQB%Qny=W$`MxE0(qE$PL({L9qF<+uLZuf>^y|=w z!G4`hj?=H_9i?BVl7XUlo|BdA;)~e^^gkP<*$d=ezfy!PuW=&>+M=}{Tvc>#BV5s9W>KA{*)d1e{EMZQgzw+bJ@99 zAcV~kdd4U~J19nD-7@yMz z^bPS6$NPTA5}d<^ULF4J+CIu&H79G3o~h=9!c=M;p(=yv2_cTI+LRYno3by`cc0a_ z-SY3V;yu(LVuT(9D-hZ~FP`qPMHOmkN(V0n z5@LLD3amI#QjHfHUkr)Zcz112oGP0pNj%Xk5%g{btgFru1`>4-_i!cS-)hM^jM z%J$(Vcv0hiZ`ic~yj zk48(u$pLQ+xIR7_6Ndeu4lckRCMc-ftk$Z2ryCB0Q=-}(+9No)2SaGTQj-hMW<;VK zZpNxf$3fK&j>cRC)WEN5K@>KIjUT5amZv>li@3gMRcy1rjV9zUxPm{-d+@g|URxHa zc-EeSLE0f$z&QeizqUxl276Rlytdp-iE2TxE#le22~Wjtdo(Om1S6j3!ioIj$S_;E ze(6T)b!1|yk*d{=RNxUVd3?S`3XPR2VtA?|mKq0~uuPYabJbWdEl$JtfP zoQ`y_Z=A%{8C~61(mnWh(}xOCENtj>k%sk^XGn<^Yr`>60TAfDc5tV0f zd{jgEH2!E%d5$n#8|RNElRc{me>9ow$+6kf&1BDr@kf)%o@v4#O(y%J`RDkUKblPb zk7m!L=8s1DN7eXz2ATW$jNvLX8=sFhd>76bv@;mrQQnVgOw8zz zem=>3TKWv%@Xhz5We4p|it`VewzGXoTPgO zYH0FFcf_O{8J6)c^T(tU{WA^R>1EP|_KdSTeM~ygo&zPOhYVBlLN_uzX-B?kPb2*k zmxlJAM1y{ff8)-4oA6}(Nt-mKG2t2a?r*n$^X)EYIU{Oo&o3>%^qQs_(WcTt{j2&{ zer0fz`tr~B5AI)C)!$!P;aHRoz@2ZEgDbiHN4X;!_dU?unV?JwjcHejskLGk7NR2< z>5hB0G!mQUKq)MM?}ZvGWag*Owc_lkJZC(j_d-wZYUyv*J>MYV~Wiezv{W}$n|P8|t@hqU`v7k;_Mm%H%mHNMb=Qxu5d z2DGe;rR^7Ke1iTq;eJ`;t;`RYfcg*J40tL!`rEj#*7#1{s4ds_+>}u1pudg#Q5s*a z8SqcT0}YHQk$$p!3cD!$F^CC57C>WrqwRXc_E4Zuy9+DbjPWWk@yg73uNmNm1`Mb=0va^f4GpY5!quPwezz--ACHrj{RdaoRJ!dD zj$=1yz!B633>vKM1`TriL&(~$`Urnu!Lb|cM|e7p8ccm_0;z8uSo+&xEcLA;!Lyy$ zPL5V;va_$7K3OGS2AD~h2}UwzfSHsTU?wME6$zd=W>(?boIaf~gNKI!s8hB$+S@qm zW^uxIPSZ8&xa}M|Nu4`JIlyUHbv!xKLE}_di~!u?M01)*+R}+e>Ra=l`X=L!LA6na zEfHnxOEqBTvIa*{R;I7>P_n^vzf*r3dd7XL#)JB4@a6iu*@Z9E-%Iop)g-43KQqqz zsm2W*!{@Jrd-hSr{ok^<|GRK6>3=Bjvjm+fI^N{xY=Qq+;N=1zO@}a)Lu2}w{&lRz z`KZ9p@OgvAO}vczZ)b7;p}@}(biSb5D_T>m+t42?@O}dSp~g+P6JSSU`a9B*>GPn= zy(te$U zdzt=2HBLT>8xzdpe!Otc{59jDUOgP2q%ZTOpTeTO~Sn_Kflc4 z{(j+J(tkqWXMwgU4;K_T0g?Z+1wLEg)_Ycc(7LS2AN^-1$CF<0jvY z`|k+%%rC>|j|6_Mz_)3f;mUm3rExw;$C#wRRr{>@+^cc&Df9i1a4+fm^|-~I?@^7L zbSTvU&lm1xzTE0^->Ti;Dcs9^Uz5fC2H{@P?-aPq_ZbuhhH>Zny#kl{{-DMgFPWZK z`4pK{zAq<1m^1aDlAq_`XY$dxP9fd?8}||6UgrBGfuAer+^2DOzW-L^%r?pAUj)v4 zH{rGk`ZC|Q2=_AIkJlZ)JKx7>+~hlgQ08jkUgpa*m;2?~{Y}EX%=ceraeu#XFX=xa zaGCEf>oYFoU*_+VJeUVVyh}Q0+{A0A?$=)u?qz;Gtrv{k`TnZFWj-!sX27`9(?L0B z)Z+vlZmG6N;q(X-Q2*2JO+P)sg`0WlLKmK+`^)7n+{Cxlg`4uT(}kOM%=G7mPt&iJ z>UbF3jAu$U9Y#k-Ng-7(To+5FKaN($eW`XgPCpG^slR8r@PPhqcHs^Bd%X*vpxen} z&A*{<=5=FTxS7}e)PRF*Ru5h(CQw+^#*0Vy#>faAanc{z}{_C`VS;ooSPR;*fT@Q)T zl&b&fe*wJaktVX`sH$9O%ot26S&gcPi$}Rd=at$lxK%11B5+zafxm2O|W>`%4!J3c_D3q zD^Ot1t8`1E_v>)lO*nsqaFcrPT%sQ4eiC)RJtRMPm9D+2Jzpu`MT80!GYkalcAJ=UB^XJH?Uj2TGNE2#2b*XSg%|wqG5aIk$Bv)b42!`( zV-JP=3cL2gv9nxDS7`@~RlG>Mkq@5x%!G6QFcTikf?ooh;kM#Q zqw)h!?qy`6GaWeHn?1P(eA9dvzfA5^jYlI_6tA5;WAf~Y(aGayaUJwX1j~#BXH33{ z52Y|L(}E*3_N54zckMOxIc4IUXms)%rJe5xkd7U5zJ9U^WZP}#Oy3qb^Ty!!3S7E> zP~e>Y8TSth{0jo#CvZ;ZjQaxJ_>v##ewe`7pBVS@{JnHv3O6*Q!=EuB{bKM|{XM~j zoBaLUW5)lcVPYxxXA-$~dGQ+MA+b-udi@A8CG8|JlZf#~OYBVUyKL{G>7dk2XdN!&9cHKAQ>5;MUnY?OImJ zhZ&oh`bvz(q`&i(lk*L{WXiv}dTeWHhs;0vHU3ThWgDZlYX4KUfAerhi{G-I8F%I! z_e0tP+Xjxu+~H>%qp3*2{f`Yn{d9+qFZ+#m6}{70WH6}cCAzjy7E(cE4u?;CQ$PtN%I zNbk){s`8)TcgHEe|Lgg+U#dK}=k&M67oT_WOM|9Q|N5%BS6Uvv@tUjWuX`slEP3B~ zdv54;c-$Y~>HeoZd#i8w@Cy6xe|_-ovg78BI{me9`IN7}@yeB7Ta`0!#XXIWcf0F3 zYjB@SpZ@W6CtdjKkISAKADevDng963zyGk$HE&;5+H%RCfBsBGk6Azb;q+?@2VFGs zFL&j?8J*_cSkiaifMr(??>~6cke7dcQ@@hli}HSQcI@6adfdD8;k8%opBcGi!wcs= zao~=zCzsUR5uUgEj_Y4NaqC$ncYV;U=)~DeuK3<>)_mpP2cG*D3nS0C`#?zr-!ogWu18TH*QrT6#sdcHV&=<&b$m)Eu}{^pO19((l4vwpPt z?2_x>*){Zww@|#;-kk z-eU(3-`@S-e?GeRt2?T{8m#m@_|WyE_bfYmyZ_`n&wgmp6?VyU7wqVK>LZJH51bl{n*XMJ_}U4`F$_}2mdvR-|D{*Bi+ELhpz@%EYbe{25WCl{~uom%&& z!(*>lJL+#ees^wg%x|7tI(`1*)=S%qpS*gjZ{c}6e|6`Hd*AxW%jMngc_#j+wa?x7 zZo_ZB_Px^|-`{!4lfV7N3D1ms?y?PU^ndGz1F9EvY@0DOe`@{(OQ&3DP1t+<<6pV5 zS2X(UYq!6D+VqvjeIxpdAIv=d(5tUh-!$)!_YZjS*6l0TY@YLo|Is1q2mCSdv!`>S zr~m5l?|n34&zEmJaN7;PESqxv1C2ku;+1!&R-O5W=(%rhn0w~Zlb(3_XOqA3^2aMy ze$@QEzn^hN|NLL(&FgVO=jFft;+gx~tLA((Y1;0}8%8~`e$iKBEzf`Ovr!A~ZT**y zo2L%U+jHgf=XXDM=)1qackX@D&pF}Xg`tCAdC}i{XY_&V2iM)%@uTHmzN&4~+kMu0 zhqs*i{sY!2SM8a9&u^b8dTjpd^>aRW`-au0J$3KYLCc1})A=uV{~%CM8@KvQ+qU?} zIsKp6TYc_^Q@(KDN4Yab+%fi*5trSR{LRlR8+P4z+3hc`KmD?fg^$em=7bFkpTBF* z(=VEOZ=U~K|NpoC|BtEvPX@|Nxi`=ME&u<6%71tNk4(Os=l|yae`EfizjdQYck}!o zmHz+so2e$==K23r{Lh?ow&B}6|6BQgZS;3cxaRqv8vgl%OAX!s>@{YtGnzGKy|u2^ z9?jZ?#6o(WCb6*@uxS~vg&DBhGhn}VVfyok2j}enj5TVmIZzI~l`k+8)PKl};Hl)y zHNH^eLo~jSizP6v>VHnoXgukDAs0Sr^diI!>J=+*T*QD`sPP!ymHfGu<1z~*KQXvo zTQiGZzc)CZ${2fmWRjn!o9t`sni)kX{V&s6{S&a3YwxD4yaYVcns%plUy3J{pg_+2;{ zAe|Z&uAo2IU&U~1+~HP3c)5Sopvr+ckf0tvdrG5z0v z6_n$RQON)^CK+HxBm>NNWPlls3@~G%a>kTMRv+%wn)+Cw^UdH!jw9^CO?|x1jqCbo zyKqw=*WY)!@K*i(Z!UbN{{Gy1 zG5^h?JEh^lKtAWKmi*}fLO*BG2lhmEihqIqL%SXBX9^LWF2Ob8OZhnSrtPZffpG9!9WsB z%wixRZbUE%U^{I7zwcJn>)TKLY?GPu&wtLO&gp*deRb>Bty{PD_o}p;fd^JeNe$wD zqkXS&z~apR-SKnbceJK+mwoTal~>DVSX#@;PTDpu*upKb31c>}4-k%@GKFmiP;4C+ zo8WE?DJ=BJ=6g}oi4C3Z#hV?i>73N?!Pj&)s18n2q%!Z_a1YW}|1opU`>hg{|8~0_BZmAL6E(&oOMc(JUih3K{&W0$}|4^8GlPrh(3^~^5;}? zyBfZdfnB~tgdgG_B77v+6U544f?}uJb9X31K)Ny{17BCF%=iUt=9%$d7FqBfQ>L)I}aWVhpkL)8cM>Q;=;Wc3U{at zhh1g3eU9up8ZaFNPwXiM&3=UX5gKeo^L{|^l1M8)u$fkDunI1C5v)k@0MnPBWx^() z+M*rAbKkLvt>JdAbwlTd^_A-pf+@9~lBz%zG`ZRE>bbhIqHA|AKN8zzRb)?P{1q%W=NCSL?pu-G?KzA+wXo-K&#N_`dz*V= zT(@U){AaJU^!_D#Fn8PPSy|KUZ&WrH*uVcIYlF(P|JdX2@O`$oB%S_q=^z8LGc*1+ z$u4(=8KwQf?CE_IzL~mzBVt4CFly+d@k3z8*qaCj=P2E^2?W=TP4&E5k^OMPLpBPh z1{9Kqr0hr}g)?C>#q^0sN^P=O4{yC^sjly2+vQ)U{kNpnTLpDs$D?cPHoIQ$`go4z z-|PKLJa@m`tcO)XN013w(?Q6-3<#NyXjrcT_pGc86gijx9-$SqWI@Z7YVl@qVKc!Cz5G zQ8z}<#dP_r3MT;n$7XA6lRRwC3J=O~b2UF>V_4h^qWt;pog;57e-`<~(d085KRWj9 z%)5o3!pngzqj}~x<61%-?k)Zm<0_teUfg#AFC|VZdxH98%zLnp|6B5a+k@q+$g7;( zZB@w;rNo2#Zxs%oE7l_bY#$Eg0N=7{w9Cq&??@nVaVRyt)p^zY$Q>s~ zcPv;aFO=d7b`tPZZIZ*&BJR_6!k?KbzU8E+x8T9Ms?$0zC+N;`cE?f=Cv*y+noi;$ z9J{BSo^f*}XA*=Xj%p^rS>Mow@kVu#?C0V=QQ=z7Pbyr~yKn93t?Av^lDM90`>x`{HrK`bYlU-o>+p>V*YvyF z`hnhjtLS_V!E!zOQ|Ml=5piCn#L=KU?9N|FsI&^uJfQPVZ|G zcmi_JQ6B!Bn`3VrK4A0X#t`n>m33j%DNjFD-yVVEt zgjGnTW#s0j*j^L2YPPz%$8omKx$uk_?&c>g#;p=hL&V}F6 z++rGm!f7HOcdnr3$@?&E)cfKtJlEE=bNY8!)cfK!Hly1uA@h%6U3iy&ESq87GYHNX z5jWdhg8z^>k{(_D9N`^yZAP|y1<1OS^+q`UsJX>yB!=UJnRcPaSjWuib1u2a%`7Go zJDOX>%G+2&^8vo;`&3baq}*b^U!+JT7%K7oUOe|MV6W$TjNSbA;<<0*Y1uUVEhqJ_ zUdP`?-kGoP;<@khzHbpG9_zfpWV?6`b_)r829u&C6Qu9zI&|_;>s9f+oo3XTfgVAZ#2f}p1<|{3o%jBO)ufoux;pN`}`~BajJg`{y8TY zTQ(kl%UOdu%KK$(ZRw~5LzfEE-D*iFi6J2u&8jdDLvrD!<}#=`zKre;O~b(z`D8V; zlpV2cZ5mT=?U%hgdHL}*h&i4cKsYc{$vR+Zke-ASDJnhj zCATAdkfx)(JhreNKTSAu69(Nx0lW%H@H@Y6U>v@ywif z?}^CE0{_h1i_%LxcP?PzQ)qQLj&M|eymuNLuT-b_Tc93%*34>V}cJ>v8Oh+ z%+9?Ey?Wzz&DN*-e}Y6BE9=1B@=Nh2_9xNeGg-{;si{409Hybu{=4zqzmf$`o9Y>8 z_xw?{*%Q3{bg{66n?s7SufVi8lZ837*$9S7v-OBs=A^Ez+%}b}N&Bm^mv}v=*5Wj+ zu0$q(Ep`;YusVBA8o>}`plhF@i;C&RR2Z;qn>TJ+b=TiA;}+F)y_y-6!L3ojc-#%k=E6Rp@|w0}_t>_U zF}=n|mU=OHuWz9#+akpi^y^z#M=x8QGRS>^^AnO@&(&>`gf{MMp3F~Z<`riHdc1n^ z+-I4npi+=XmT_PyI`;AtrqP`8r%L6(ETul%;<*b%qJ?c<{%lYTx_pS|CWyy`X{4K$ z&X20~_+>T<9xAFtsrhc(;N|aONYQl{0;cmhTMHottZg*w-gZzxmoH%wUDsFf+$4C2 z1nEH&9z0`(24M&RdKP)Hcci8FMSI?5-Fvvi03Y1F<^U9 zm}c&*_N-`7@^uKG>VG_lI|UxgufkukHX3>?)z2ZVvf~iJ|55b;+mAtnNBe<(#Mznr zM`acA5NaJqa^hfs+!}aquWPXu{_I+0{KQUoElT?pNOMHjBDD>RL8wPQ1`^MIP4pps zjjr9~zG2(>s9w=t+V-#k`rE3`S9RHoF39iMZrV=6cKRQ8?_~euh8_1mW*`&8{g3=^ zD=t=RC;3UEN}f^V>=7tu$8$Fz6R;hFm%ko%{w5Yw(*C2c%y@1!HO`((8)`h5_G0GN zI5aP4sdiB1xmL>RE8X;Nc6ThcZF>SrenHlq+4IQs%|v!$4e8IKWz;X(m96Obpl2A* zZ6JZo3;KKyCk%0+47E}<)>*o)_VV{JmAh zXKb5M)RPE&76?TqEFIF|MT_yASpmlS-pj5E?j4Yoxp?m(5Y@7Er|lMb7AolLPJtbq zPzmv4koqsEGIvy6tld$CbGNEb@{=l8X!}058RwBbaTRR!1|}!m|B^FW`>w>WUVy zw&CKXToO(7^HmeoT+D?ov~6=#7w~8J`cU|vm4^TPj>3oIf3P$>dto0a{zps0|6oVq z8$I|`o+g@2(mJjdD*@^ieA_BZq0Ajvu&Qv4(`q0Y<4z5KrU1*4iSAB6!V z_N{R>C0MWc5aB9ZlUPRj?y#}y;CmaD8S;dYemClW?yqUeDa9rS~F z!3e2C6&laoiC#oY!ynW6-LPtIdoBCmSZ=J8Z`;;ZkFiC&)IBbC7&8tD&wWCwn&=FZYqC95-%r7eb)4NJjd1ZVN|eh9u4TP!+Rs<#TN8g(JpO~$m6-|8HkXp z*ihy7UTQ%MgKY1Z=oCTGpK%Qr!A}5W;_#AEI)5b&gYITmrWIZ}zQcl{U%XciryMsT z-upK7?LUpAr=;`W%NjK;RhN0|fHrYdzN@l#bM`R4=*5%CA#Ble&s4sZZ)Ej8C9F(^ zC%vsc1;}Z}g?CUdv)wV7!~9s8z0_6tu32X9-R82~+FX`m-yZ^A=j za#th76(U48{L%isHqzA*GL*U;V9~}4Z(4b&bSNdLoa4EFftphJbL-hp*$wx6o1zA) zQ6#UUtxM%6!l2^0KjMB^o_-nJ2}+*Y#?720U+9*Ig92a#|E2VjUkM~04`G*wBp#1| z8ULli!MGO7SIK+;hnLw4(a~!4S9|Ds`A^DwE$S8tnS+6HMP}r6}%=d(e;v-N42)7a@!MLew?jkjc7nY@$K_(3g*TR;q2VOCf}mxT}IVX6V#=VZ@b|WuJUv9XlZO7Rt&G^YuPHv1k-ym z^36_(?Cq||w&OHz+O!+-;x@Yvb%xOmCRdC0Dr$udy;M5CT4wy`D1V{HH)RHrj_!+6 zx>Nmw!BA5Ay&OtflEP&u&f)P5^78<^K!@XiF>WzapqN;N{O8MzX1M>y{2vGU{e)ho z7qbU|T7r~JEt>FlUa#vJ?mUO~VHiJo-^`7SIM20f_LvfZOT%p^{w1OGcL#hV{_M`ie{~Q};x7&N0phd}rhD3&KhKrQx;{ z|6MlyEjIuEJ>VnpcSgiNZba9U-nfdc-&jkq^-Ze(n?ZPyqcr@`a#t_8{O{(V6J7tn z{_Y9FOZ*GB7rz+c22-#7AP6V%mWGQ;zn5Rqj|eMk#LxQYg<^e@>gNd_ zrs|OROT$ISzjQ$2e3|+S8gZ% zlJq|lgp>G7!$rkk9QtKH4*Tn>_Fz}i4@hmZ`MTZlj|@AcRY>)3ci1uXJ6cImUqSn` zWL+rz?*!?P^e@`k^lu5mN%~8}l}&#pA8*ZnaRVY?6L3CyD%r!l{D{oB%C0&z#2=!> znf#~+TLJ8cmCOp9Fx~ZCerVqs1)_&?dnP$Df9@4B0oP~Glm`aq_ZDgw~vi7d_HI$@B^)11Jj1RmluynRn_#2Y_3X- z_~sr}HO;aIvo|_67T%tveVEtNtEz7#?PAjQj2iK!Jyw8xbyfBFN2)3(jh`HTLX=Z!@mN=M(@^ zRdpa3UsZz-FvfF>=n)&rdU&HpKFAM8h6fqXcet3|M(PA^2Crecf2@*wE;X=t2hH?3_}_*0bw~bN8sK(+8$b8a-mcFov;vpbz572;7}Z7N+lvpkES!-%$o<6DDW7_)TOv9~z;^7@*&)-xXYKl{CC-@;!{SNL$Z{sVkV41RmYF8RG-L4pe^l7>#uvFqXX^*zi51LG615O6J7T zY5Y$b%`)(a^}mtj`V6MAxmX7;Q;BRXt&>LC7k90SB(55Zagw+gS2Nj z1OG)K|Es`x!ssIZ+jrpKzXShuJMiCX{jaj=Gx47RDJDz$YV5nSF8#*e=$d)aSk}KN z|Fj+WFWQ0s?be^K(NO;vN-odFe@f)*-$D3w*8gT3{FMFYh|4)3|NMWM)kFrV)N&Me&J~Cg$<~MZCNuLZ4`{75OhaK~^ z9L_u`hc`vwlYlecq>Wnocfh7b&|esV&$E17|HAEC^7#n*TO#l~ET1;pE=vCo*#C*3 z|5*h7%Lx285%_b!sfRXe$I|ZuHe~Su+i7ui==&C58^ZU49?55e#if4-+A+Y(=1TK?QLwLdBZ5C%=N*wxel(W;~R!uR!;Yz$a#OD-?FAd=rTKo=+OTQ2i%(r-=%0%b% z@Og{Zhw$4ip0v31=MeO6i+6|c)fOKJ;m=tdA1#P;d^S7&A$$+mx1=|OA8GLci%b6x z98UyZ&VJZGEr;_PymI(C5%`6`DNp;q82KMEm)PYNueTZK`f|M%@3eTkrT?16*M{() zIzAsZgh@;P8^So{S`|F*^N*w+AuS-cVjlk%^%_;`ySXz>IqQn(&-i5+e6 zdn_(}D)@cO;>rCDAs)p|ws@PxrQZObnHFCg!f$l+A2Hz_J?JS|&`Nbk>UVI%X^|L}#|OoPlYl>4fH)@8XqjAeH+JU!Mh!cmn>;KLB_zQxJMq zS7-5IZbx=DzO|o!F`?F$Dc+gQJobM2#g}x#>8e^V2e_nRF993BY&tHJ;3Q9O&kIai_%*<+yGv=9H3$Urd zJf2}$!k`>Z`WXx7HB7&F&Wz8Ll9z!=-8ugfh=<)dxpBcI^XE;!c>aR9r6G4fLM{tC zI%bswsviysGJQ_Rydq&Sd6OopJfzl4>PlcueL_e^M;^v!b$n()hf>_k*&Q=4n?CE3 zg)?#R*Cq32;M~wasWazxIwQadq6_52E}8+vad^i(*{^|=2-Y%fdUI+@3JEJ_u)~-J zm+20pJq-hk5ciWk16i8b(%!4bL=BXHt;#+Kf=T*fgTb7JhNm()w zlbW56eJ(C$rJ(}SV{+$$`ImOg%yJWsne$=bP%w@@n{IQ_aG+v#ijW*4+`>{2`W zM=TzWm!AXDkw3f0j{Z%8aAA7B&Po@i=QxcnOn+nq{dEf0a>{;c;6wfzU!~~xf}fM~ zu?YM*g=;?VE1Y9D$L9=22p5i*;~9su3-0LeP`Kv*J%zKY?daVcJiRsU=HZEJ{!b`A zn*Z|(*YqDjKc0@>I$hUVJe)6IRP;LEpHsMwcLw^+bYVVS7H7Pg&$lAz?^5&}Dm(p* zwS^(f-?Mm_|EvglcjjD}{@)ZI4pCgZ{So*Z3fFoVfqo}lSkApI&UkgY>J?rCKNoLa z;T-BX{6`Ac`S^^*!|}eX=yklUc503CXgiszaGkEX5%|p(56Am$MX&SyZiRD5=F;`L z!gai(?fg)f{~;C+=i{*v^ln}?On+Sj{Sw7r>+L>;>-u(O1nw5!7%zv)F1>r&i5TJ> z2RVGK!nGbU77y#;d_}MIoQV1pR+T(0`PIz=h=*XYsI}7bskpuNx!qA1Yki z`5!ILi!Fj8$7_mS=hvZJV1}bS91=S{%fhq86AJ&7qCZsOmqp;$TRbe!mlVCumpdcq z?~9=Sox-&qUQ@U(M^#Kb9MgLkelER7DO~eODO}sz`4$hSYrdk_>AEI@erW{#GYZ%C zuqO)@9Oc*e&lRraeAeP&IbT%tjLPZZ9fj-q_Ixsh3-g(8amu69`}GL=yCdk=N6>GI zpg(|-!G+~H-r`|-&X1sQDt=nt@yHH`OT_&I$ZuJA^MkBPufiNGgC;8P;- z84>tb72c%exm)20g@1&dML4GG6#QJe>Lc)$2>dGw*LM4p2>elnYdN1&ctXkZSB2|( ztb&CZE}SpBD_rNxJ`s2#0zWPSKP3X66oH?waGl=g zYyCeGfxo73o$tHa`S`Fs9H?+De}l!ta<(XXE$6)v^s6H13la2hD0*GLEn{a6j`Fi= zar*g)o!1ZJ=S1LNj=-O=csRY!D0(f=UUq#T9PhCf5AzwP=(XOaM9|NSpuaMLesKi- z8w%I`;Ztc$aA7&yEY5UkId6!d|9S-dh6wss6us7G9UCpUuso+)JS@)z3fK1Vl?XoH zSM)kv_bXiUc`Sm@ONw6e*%CoNdViCyu>1#EJe=N!2>Lk@^xYBkcSg|P7eW7O1ifs4 zi6n&O|0p|WaAEn!Sv*WXCxX5^g8t43`uig2H$~8owCi1Ac|L0KVe&`N&yS$*iJ-qT zg8se;`b`n^BklUzF!?P$O#TS^`4RLz5%hOP(BBt9zbS%#q+JgT%YVGZ!}3pvpr0Q> z-xEQ9X9WFy5%ilP=ttW1$*}w%wRl+maS`ev1#2 zKZ5@H2>LHY(BBn7e}4r1rU?3x38`j=*FP2?CVvF|zedpiID&pv1pU(y^k3wl8jgBC z7eCiO`I^GdQ+Ul`cz`24lkVtGR(L|;Qx(oGo}<51;j983ev`s^>+pY5xaRYUnjhBf z;Lr#JhT}!!_p5$|#@~&=E0i9zejZo&`G~{Gxx13{LWL)APe*yIX!4wq|015W>B)s~ z_g>lkA>6$ucB;|?`MdYHvLW2P$F(GcyZ5-h5yIVjT-+Lw&dKlIvvP@XxO>lPADc*r zyZ5ZdhHzOV0pBSh+`VTtJA^0ge8Dv#+`VVDG=#hNtiBV%yDgvo5boZydL)G3Vd+Py z`F4^dXhd)|A>6%Zb!-SvTKeV?-feMy1xrWX{0&$<8^WcN3;!EKc#@qvxbKAUZj0X^ z!UrtgsOI?@uX_)wJA}LUpl%J}?mei15boZCdNqXC+wn<_nzv`XofdBn;qE=C&Jgb2 zgSs(S{ z@HX48x<7=kwfHk3+`R|&ZU}epK^>^(^O>$T+iy5Egs-*u1tGl6w$s;y@U<5IMhI`S z?c)6*e67Ww3E^!C2nF|U2;YzpI99FZ^C`c3->Er-yZ4%=g>d)&(wq?P-c$PEd$F4X zBF8MuE@&9j5F3;2Sd<;pHE+%(mvzj!DmLc-@$r!{s)<#!&3@b&m$cUvhuIr@vD0q> zNV8%QO$La$85n1-o*gH$8e}|HjWG+$nJUC>^AVEpwVe3A`+atL>F zyK6iA-MuEgb|>ZUvf;z>ciZrHxD2<?BUmu;{D-usP*YO*npfmy17f5X;VW&Js}t^~QEu$EhBg?!N#0R> zW+$KGH}KK?4ds6yKP@lM^2U(mAC%dd3 zxmnp02!wB~yAHxGZe2A-19l58r9aursi!|d8;R$x!+%S|X4&M^hR2=@vfa~jUf*rZ z9By~#Z)#Y-Z7IXx18eZduGha1FLUH!@gTevOA)!ec9VUYY;a^=-)+oRIcyQzgl=+d zc%I$QkU!i6>lm-^r;N&d9gfeuyY{o`$96d<}=2Q%E;Z4 z!QgQp1gBhl>~CxdI|IsA-i60Sy(sTyBRNSOjy1$_o07VC?)M-Vx{GHDv^4Ul%`QKc zZ(+uN&dX25&PbnknmNSFf1ysa^bihB^#5R)JWip%2qq?i!lxit!}`Ka60h3R!t8PR zusQ$scg){6k=@K$vpa$<2tS4SNkPDF4ew<9N8`D}5huz;7W;vXluaMfecTFyN1?vP z&8l2+7{mNVffy<&5ZI|f@4;WRN7+zD4lukQ*-_LQ95>GDJ(is!BY7e=>tx-VOs$oNk=|7-_hky;|2 zI|It2f1^8}6B%Jk6Hhr{ew*Ci8&Af5QG{ynu(TvjYyg?9LLrm53*4G~DatQ*R1C_m z=f94^<@KG50yJnVx{^IejKBY|*LP+>qW0J@`MHhxIrVI8N9?~LdC44jfeI_`IcgFL z?fENFuPS`#TgKEe<47TaMub2u7TW;c{*KI6TU1NEYs*4Ynf-JE6 zYa;VQ$E%KU^*gut?E4C9E-4c{8P(-z_HK7fa_>#>=W)e|q4$YY{I*p?U$*t3%RUr2 zXgl6J8kvyl=hoA#kz>nJ_*?!T_>=uk5MBbv#$;0Or2BquYV~5ZnHvipz)f{(s&uBj zcP{Y4e)!|w9{Gut=Gay0WEX&~ee-8?hfPTbl=6ziL|?OQ=2-0Nk3CM!j;R^{#lU+N z>_KV?hF->wQQ-AG@j@tJ%9CRQubZ8h9Q_=?iv(uL%#W>gahbGHl=I*XC8T8ccq+0m z8HlncukSk4Kd)8}PHcl9F}u~alnb+k4%!D(dEoGDv<&v}Y*v3bg$3tkJ4t$P5rbKu z;%2p1AXR~BI1`~M4hlKEqPD)}?y9Tfx!b^i=EbI1+2X;7Luv!j&-=yN6r!ha{7yyJ zhiJX1Pvbe+j=Zl0dF1p7`UgXYbI+xq(%wIftzuZ`#^Sj;0jJc~*<5nR#Gr6=deCG| zjN8eyh$PHk?#5efwnSwE9|ISVwvaRdb`3TTQU-C1qP7qYaUk=sjV{BR-Ct;WyTDuQ zwOGWYlk!90*v2;H8@ompHI|mNR-ACr=&BsHKmE0c-jt0?k-Ft~;;*D^3@u~*mda16 zX2cJRJ(X%*j=wPJ{)lY_(7WLdu&y;b2j#&fcf6#G`y+0W`kg5d@`NksN!lTI@@D_X zoWC%ITM0|+Xw?_bjQ|1n@X?&a!2im)!OZAcn5~1IhUs}^|vDRGp9C(ZTQufTg$J>@xBJnJDE$}U@MJVJ{;T$0~{o7Rkxj}w# zOjFDck*=_(&?aNDmvbS8Cu?zNuVt^^Y_Z!B&pn42jNY@qp?^YJIa}$W4in|vMf*UYqso^4s3LDF13Qp$H6PO`ol$Ncins{!8_%e{x$VGjk_pM@Qg$Olm%Jj9PUVPa` zUMmzf`O*m~Hgc8pqu75lX>$gV+eFJZ$%Q;DZtj$NCi!ve>*Q&jty}3IyRgg=E0WEY zznav3Q7BL-S%=lT*kOP@gRWJS@^=~Niv2&FP*l^f*>okmzN<@y?S%^rX){~7?bu~J z_hBa;b*XJLo_ib1T~YQK&pji)v;Y%O#<*=*$k4>s4@IF1r8F@LdKO7M0N z`DpkS-o;;;`u{@=IlTVg`HCou@zS$}E8d|paxkA_y;itaK-7tUDf}mH(|wuRMix3L zAul>ZR4Kd&RE5uqM7l2iG+@;qV3_Nrh`ZY6wU=Ef{_x+^S48Je{#w-F(5v14)Q1Q3+{h*dv?nK3$h7pbgp9DcEzwEv; zh{nJIX|imN0oC$w-MBA6v0)@#hQ5*yV0tU(m{K@Gi-uMBD{5ZXFEa6Byn8gl2KAkU zgI#z&PDFYUeS23PolfBgwChx=uwlKB7k&t~wttfDyI<1ohC(2Z_wI@q3JXDmQTYA1 zL}hLEdtUz7+CrVMv*j1#Ng2>gJv%#2Hm7_vdm@e$z;56&_4TAk(CYuyX_Sge`zRr1 zH-9^1N57h@{w7~1FkkN~$=CB62He~ut-sXXgUJ|E)G@8eE|)}%Su~kmiT9ojv$9aU zmpimHqhPf#^?zr6=SO0eEz}L;a4ep?6mq%AH+7}W*9k*_e5ltCrkqJ$JP^+v3Uk10 zP%7WmhQ3{;6c^4gJdc?3t!-(GRrAmg&J&sXoE5j3jmkihpn2$h9HCPAscjiFlZ`xi zg8T1*FFFs+wUtN}ZS?}M0bjw;G_00#h*>zR0t{UT3rmF2wQZaodPlOo3oXU9rhX)o zEg-OV<3_Na%Q!iPAsMLjR-T>coeyKS`DFbw{%DQv+7N%(aFm@_(uFifh1MQ&?0S&eK8`z=1 zu^dyO`RCb!peOgf?O{pOXbVM|g&t_Z@J~z4d~ML^nz>+V$(B!vv#(XyTdqL|^C)md zbO{$V^RwQ?Z6aoolWZ)?PK6Y%W~*5!$K+A;oJ+|7%siNyf+hftrYPHoWHHAFEjWVn);wSq zUJR~xZ%9%sZ(NvgV&&0Q00Yz#c3KUBgz6sd$q(Tk2nko@=ah>1lI*WMe^hN@1#G$K zk9vB$;-kHh$^#=a+r>9!vLp?%xE`0KL$zR8l*Li8Bnx!a^R0>BW3483tu7^v1eyPsA}9$Kc2hXdMAn| zroDM+V9&K}F&ycM9OMiv?t6D*(PT?0>kUr(@f^puIEbmyN}QB&QmMohAaSzEaQAId zsU;F)!uSp;5_6kU3m!!kTJK*n!A8Rvz}q2PU1>aD6{XBWKH8E~C-Jy$FAEkAqhfGR zl2SYi6z#b9a0q8YOZ8kFt(_*`ChIc(-(AFk860H&lOm)PT9av>Z%5tlpo-N>g7z_( zbc{?L{S;`}pgJLtPPCwIafb=`DJVE$9J_8W7BvvYIGX5XCs9%ht4M^pA2|ubY|I{L z(v7iCkb}J+NA?shq;wn#!um{JBCVyuodS}=ULa;XNm^f#$3f(=KL`we(Xg_(Z5%>g zh*D52pKMXET+3A;Q*mO9vRi&a9WHW4ksI*^<5!HsID$i6Jp23$F_4zZs>rW6A86+L z&53wM#NL5ruw)qVI?{DnzW;$Fti`lPR0|h*#w#Lk*(af-^J&o@wNMJ_heEK#LVuFjs z>Y0x=ifZf_d_t))$MkUlN(A7ni!zlDOHf%7Vo8MJq#U6;WG5AQ=Bj-;0n%nL;6W0Y zG9~C*u~H^a=5)B$RjmG4fl@1A9n7BE$-3JmoLvC3lg^xszI9dM^YD`S0NaQygPhw6 zHvl#L)S?xv%D&_pHWVPiS&+~~74K1U^+Smb^?nsriV%|FLRHvTBJTzcjc-Rc>sSk! z7dM!4b6#t4ewLY9MqB^RP*M5O3(vx3h~IyuU@BP1E=MVfacBG?_6&;l-Fr9#oCf6# z?@yY=UzYg%8R$P{50DW$47al6MGG^3=f9ukamBwA4fGE9E4m&RtG~}^$EnX zT$#lA7!q8ZVJUFt+t`JpD$uae{)@cm{fLm}JYBc8Xlw$Lz8UZv zK%S(_C-5=g^5RY?fj>8mIbT}YRGb_s@D-9YrUUmhLQ`|Fv);{81;=yj$C=r#-x9smw z^>W@7iLnsI9*7$@xK<6yo9vHzCz~*K(lc0*X?hQbGlSHHrGM9-P|Lcpj@QE}uih3! zf@A*VM2c-Vf$-2``!P9x>PtMxq6%}N6(%7~f5I7rwzy;Q1$L^AQ+>nMuP#cK?|6ldr8UY?B%QR#=>|b5nPixtbxi)lK!` ztke9WBxV|VmqQjAdF8v!dpM}G7lQ(e1z!F{*paE!rOVm#UWMsMcAYeIz0oVjY&{P& zPR>txXY1tr*mq|w?bKj!<8Rcg)r|0*4KYw|$cXQX^2GeA>Vh=ibq8rsU%181L3osGE+$0(jV4(+o|QVlf?<)Jqy-KZCk zprDNy0bYWW7#ytMQU+pNFQSf0`-OB*0TZ#TP&|JQ+B?SS`OjwjH(LGQ48^T|y#|^a zK{Gi&>WzF`5>53G*+MaIZ55^bUFuXS)GeVmkyiXr0y(wm^?8j96j1C(3JDjiW+63Q zU-VF);@H=k!Y3diOx5e_RNbs8)X@G=a+%TGu`kuQ6F6B=da2ztac7P22}scd)U|0oAQ*RXS(ta(2!iTLlB%lIN-2@5$v~ccQ$T=Hyq~XO}bAglM8yIZ%ATd@E z!@OO02woJ0*s%iNeGwzkR@C)^$7L#Nu(I$TI-RNhBk+!}neF6M@p2!3C2tWFo(5Sl zlv&>@tQ3&(y0u2+PP~^kU-%F4v&RA#euyWwbp2o)TM@jmJCl#wb4&!!>;9+PNexVz zFyWL$-PDV^=4HDQCyg09rvA8-yX2|ix`va-)Q=t0P=A#1;PE~u*PmS91lD$|gjo2j zo@)5n&vfP8ZAwvtUp;T&CdAKuS9cr<#P71eZ#FTwBl#zO?SY?ZQDd=0 z;PRN%AXqUJCfx^Mcx{+D5eC{F4d84lS8vcrCHEe#4G= zO$M(SWzSNq(+n14=k@<)LA>^)m<@S zeFQJs@K(#~D%`6xR?fniFg#-gC#j^&;S@C!$!?#3)w?8yt_-GI|8g zGbxk9CjYrOdDHH#hh@W{}P1}N-$iHG9 zPp(Sfv=VC;Y36ZS%tCD3eK*O|Ja?co*!YOoAlUFcw)MbL8~>dwo8|OhER)Su$+ohr zaHLY~0tA1?@;a8+wyNrzM<5?=8d+YK?IT`8hOI#Tv>I9V2=eSvoN4wOoM7}=Ri#(e z-m}}{U2oi_Z`4gAZ)VY9nLm|z1ZOYiA>yCO`Tyx`l|3O(h1wgvo&s7oQsEBcb)0Q#KO$PS1#hrd#d%QnXP>#9OdNy5OC7BS^m;SBVK;XUyeQ%foCFczO7o0Pe%mKGfv9U zUmbxj1}=K8gwSva`H#i8_is5qJhO)M1D0O;3kdT<1pVJ5@JiId5-$rlob(lN<=(&L z;ypeBPe$NVBJd92jJMtzg7hm8?{yZx$Ko?66x>%Vp0InExjh$nW=T0YS4H5DN8sx$ z|E1Q@7MN&bBVoto__N(Fhc^Ldx~lgz45VLx+tV%X_I#4|8aQ9fEyw552%PT}m!t2A zz`p>T^0X(6JQK|&_OB82cUt;;EWNbR2=hP${X>?%t=2G>b{MxWMbPhtwzZu6#{j3C zX5fOpqiu^b5%iymzJ38Nh(axJYe^xlo9h`Ph8i_fiWZ~s<7zvn7=WRI>Zt#y7Ny6Jw6073jCtV-} z6Suv?ElN**L4Y|6XJ2x$*a#w;ekBfda1rw~gwlvjW>Hi6hzKwtBtgs3mp^(TIQ$@N z#x~h<;=;m?kOVxG!4eq38>V00b;-=j90-|90Yg=aE$q6;0;S?wz4E+_QV(mS!#zw0 zrarJZKFsU*%nTlqL8&N_(<%>wD94#$h96GB&{xcu)760^CFFz?bASYiw|BlqX#~Tg zj6UST6_y2J5)D@Rki_;R49M06J%&Bi@fV~R9(%ciF68{4;ps0uR;0X+gr+pbl3ArE zY79FNiASiEoQH&?Gm7=9ITpoK$FcqG72T8=_dmeezqlhJ@P-Kdya@cF2>h}LoD;ir zlxHveoIJM?gbU-pFz_(^!3g|mg>!7^`2Q&a-yKaO9plyXTuq}3;|E0GGZappyLdM! zoZJ04yq=8Vc+vFkJn1n0IYoZ}!Z<#EQusj%e^22$UY>zRM{iAkM+C0Vn9%Y575xx8 z^3nVkpg%xIT&L@n2>eG8_{$2{@h-F-4Dx5!$m!u~g&(2t#S!=yBXGCZ2l;D0-;1Ds zN#RGTcwbkz*3Tz*0}&kg>vUaa@jZaspd^cZUeSLP&n~@RSGd;mk0bC`6`oLh+?fuP z=P-pIX~#drIfi!erWBq~_%wwdrSK~iezd}Wr0`=E{-VOiDExhe>wMqU4&*7P&ab^9 z@Pi}pVoD zDqQQWPvKf`w@2Xr5rO|G0{^YTb$a)+0zWtcKPCddLg8A@FDP8w!*3MMHrkcPjS4?O;h$n-4@dbm?)Dla zuJw6`qSyRK#>vI-IT2SE@4*V!^cN_6tfK#t!Zn|J6|U*GM&O6pK`7-vR`I`7;aZ+0 z3fFr0UIhM31pcnVwVdPjf)H?&N5^}f!gaitD_qzAy$aWM*r#w^PQMm`-x-1Hvkx?% z-zs`-hX?L0$&z$wyhY*KelCo_yCU#a5%^OPcp(B$*?BAKe?R=3eJ)VA*5_vxuJ!PB zh3jNwcdsluFLgq>~z9~>%#*q&UESeFspDK@7)S-LKvrqhZKH_ z!e3Rmmb1dn(=lFcpC4AZ*5^SA*ZOpOe3FmmpHcK$&sRj?KT`OqO8)099@g6%ieBsO z7&~uBd362%@d*603fJlVyux*QZ;rsf5rKa<0)I#0I=@mhZaB)X@s0@miwf82eMaFr zUtU$Xw$ID?vISf?-WL?E?c^bPTeyzfFx_T9^<-a8Y|JMlo2NC!$BJkA__>&R%+X|;jT>Y>YGY^jWtMRcBcqRhx zQutW#a{Ohh|Wa;p`S!u$NkM2J_sqhov z=ji_yfgfV`z76Z`HwxE!*r@OZ#eX-uCocJD`kN#00fmoOd|ptv&c`DXAc70a*^&@g z@Cmqe>7A=^T`tx{;O{A1my2Bv1yeZ2tINe+5%|Fo_%RW9uflbHeNExoPQI^jZ6_xk zCSr=5I$zFKxaQxfaGhUIC|uL;a(I#dB-}bZAE{c!Y3E-d z_Y)4bIOWv+gd-KM)7zwQZ9f@>Yx?sPuJduO!YQ(ozf0k~b$E9Kev86&yx)kxf2we; zw?`GO_4cyDHUE?N07t!P`A<_ggF5+JBk(SZhx6sLiaw+Gd|BbG3jbLI{;*RS~ z;rl3jG>rg`={f^HM}L&Ubv~vPuJw>sxYomY5%^UW59{GNMX&YnO@-@p{injUeNL!j zs!Y0cyD(MZn$IN)*X`qt3O^qFoPOpVCG16Sn*WUv_}xbr={5gHEgsgx9~C{5=;Gb; zm?9q?@8Js9dT6jX`B$2t^8fGlp83w9u;c$o1pYULYx_B=!g!DmyV8!&!Mhgmgu+t_ zKTP3|tMSWe3V(~n2S@%X{2c#VR6i%F@PAL>0gm)7_&Iu)c8Y7Kj&N68+b3?PIs~`f zcD_LnvqMld(X=ndry3#z2{}Ey(j*0d(X={dr#c6_q=Sd_ry=P_i`Zs z$IGE|Xa4v-3LP)Diz?3v`8W1S8+DF-Dmr5PRr3L^&0GT9J6%3RzK44bNt#Kz2;k)076bJ4TM}$b2|JMhDAU#wIP0S_}cg7{{ z^<%3qM+exOeiq>lBO8wzRv$rr*^k&M)C^?Db4s%jv)KQ-)xP zWla6=hF@6!7XYIy_4sMGmWqYbZ6BYV-0s?;F#0>Ut8Tm;h^q_dpwC(?oc>B1-ql}@ z-pTKtyKqx3{acwZxI0w(nHMg6jrf{AUD$T$b^CNfkh65|5|*FOVcAJL?L-rzn@Wdc zUxZa?IR4#%m5YDfDe!>%yseka({TOqHOjg3=Vf>HY>~zj>Ko-~k;KlQEmEyIG)WO8 ziFWrxa<<1tK6`^buARiK>l*M-jb^=f5Vi_=$IJhUr2ItNeowB#=I>+J5!_xns`#{WJu zL%stxpTlD}hgI3}CF1xShn56;r4{2_ojuzDA>lVjMv6gyM6O#9$=#?vJvPUzt(ujiMN!`UN>@{6r! z@d5Nt>E-qa;YaLay!ygh+f_C;0pZqIJO*$nxc zC2H)wF&gm~z+UzOL%LJ_+(5yY&wRkkd+=A>>_V)f((NhZuTh-#a_mF=s!I8>Lfk2S z*zV$WIcnmQ*ww}H>_%wpM?g9GWsQ<^aXG%FdyiO#`LCG7Kas6+jIA9B-`Y~Xz2*28 z>B%$ybCYSCvj?f%!~q=4G3?NYdaN5 z15y)rW9=}WpdrGY#lJa4`bLXudg`mq;^&aQxvCl;c~_o3nz5Mic&GIbk10s59m)Rr ztz|66c_;Y>$13Mgdu12A+TQC6ZBD+av7p!>?mvxRIeNAObjlj{m*5 zFURLs5%>n+ki=PmaJ(i@+yG;O!AOci}B3rw^Rz zU1|peQf86XJ0j?R5rID(fj@5fciI7iluPjcv&9EO_lT<_N!InQEGoB zUL_V-j%k^^GEA*5E}2K}*|0s(cjrHxqjq+lx)}fP@7O}$$Qjazk0MKxJNyewe*aiX zW534>feWY4$l{~lvU9qubVX!~?~gpiNMk5lq% ze6hmyJ1tH&78|Z5IOqC|#JSGn9Cb@ad~dlke+hd}T(7y;DV$?c=j!bZ>Fu(VAdL#Q z%SD1D6|R?oJcW<3_q?^(2D6@G%kI~8u1WdvEI@Ue=%Tj3`u ze2KzOR`^{C*YC94qj0AyLj4MFviH0U*n8^PF8>I!M&bHhk+ljx)!y^6PT{91e1pRE zyBuO5@MFA(TN+;6d=c?lg>(B=I$n;DJM))N_>l^)Q+S=i6ZW3vf?H=gGF1D)gV#?zcp*0>u_pBlp5czQ|*cjM-42zTRSyhHH6 z;$4CxT?fjjbJ$on>Rp0*HkNSRwqE?8?-E=biq~)(zLv^5tP($4jXSc~&W2}Q#4Of* zC^FgE@JY}zyso?O7=-8gwRYB=Bn_z}}(iFmh7|3CUJ!9DCO!mYK8Kj^yz_gIDK zI+Ogu@^>hV{?5G|R;cxG;T>Jny966;`0h{u=CyWRc%X?THHiCec2413eaQ5Gkar1| z(6Hfh<`Vpe#3`G1B%W;r-DvZXeK@xNPW~Da!9~4G&_;pbp10-4JQelto;iJkU6FSB zU4oCDcyi+heV1U36BdysCE_INfe&FVbnyl}dj1W(xE0OfzV0RGH2!`n&c%G!Gb_EV z+zEUY0^wY%j6aCo;y2;}oa~o+^~s@b-Hf4(1XHvG1s=*#a<0IN?2jQX z&i}MQgXF|}j{_|tR3|E5B%zzj#vWW@ci=EV;-*(#uMBY1qRR6s| zjC2!lw|ou$itE>8fY&6N{S79|u+(cxsps=t47>zkbRaKH@XQW5>?FHJj{15Yp~V{} zc3>b1UZn_&;_N0Il{!}|HHB|4yuk(Yo>!}Rtir7iLMb@!vhu;M${h{j3w#v)OcKHRY0l^PYH5r?wT`voP{(Bn({5v^Gpml|g#AGhaNSN?OK z_3ddW<}}5$Ba6GS1vUMsS<> z2g(~qAjD$w>KQe;s(wW49#x46RW(>?2aidkXX3HNJ+_R_YG3SXZT5s3OS#}8x+%uf z{*&~dYu>}xyq!(44^CSPyA}XkvrJeIu{Ye$z^@$rya@cN2z+S-etQIdR|LK~0)IRL ze>MW=7`0rwM!|r};XJCc9DZa39<@f!IpT7BE{woArY%RGi@SR%US#8iJ{{XbE1j`z)8F?Lx8P-I1L=e0SU8Cc@?PS#}ZEW^q zi0ie>m4XhZe?j4TZTeM(YdPPwIOSARN-@1(>;CX_^6(u(I?AK4YT=Th6@i|C1m_IirX1erR_P<5&acl0B zN3Z=oVClnawNEKN350QS9?b~hcsUF|hx464x-g%Giar5-_qK!VgpQFDP8w z)k)}I(9ydVKgWN*#l!OSDEfq==evA#drzEm#LhVy;&wV%yy`6h@uTcLFOBw|_|f*B zm!!QXevG~6#k2RsIfiqt&E62#Yr)eLKE@H_+OF{96+T$Ttw3U}+L0#QIXUJjKz^XJwwh##)-guSPI^5>k>iNh1t<92&>xEt5~F@(GE zoBO69ptt4Zf6E%^W|v;8pK5z`m#8(+*=)SwcwPz}%P{k|?T=x!bKxAu{#&{9ud(61PylB?E_@emsH&s`>~)P@ z172jGX@ATM7v9+)%`|K~43e}2IX);C5~r-}B(JvLQTN+)upMRl7LI>+VCCXpV;jS- zhRQ)WevAWWUJ)K_^;qxbgbjy!0L@;#wD|7aX2_uB0YbjT8b23 zuG~EEN=^6M)m_t%*akHo$3?rItrb_cS%0&vV;=_1RSr7O9vO;J{ILFWtNVc2d{>DN zazAg@j-Gc*fb+5HxHNT6YHHg54VJoaBs^BT-gC#oyG2NTLwhtHTK(7M-18T)E~``Z ze0HDnJ%6iRTwT$yZRmBzBVyp;rPx2V=&=vA1{XeC)&u6&Jf0`P_P^!B`UcL|EOTZf z7YZ5?d^UN&&EOw+-Nbc_KAv-UBiAwPxvp25g^b`RN?B%Lh+&Sl`#-mqU<+hOs*yp7 zEcF;UtVJ+m1kMFJCpyN%q4Wat~Ap`?lc&l)1tp@;2f5tECvgv6HTzQ&YIrY(Q(=I zIWsUp*|A{3e9V0TGhZ6mXU9h!Ri$|cQk*c?%$uDs*PX*yHfj%(TGa-8MH zG>7A!jyT&2hfg2~N1WBN!<}A<>#@=2@JvUX?T(}O3BnO)d*JY!2*MH9@_boPgKK$y zq;M?{^N}vh|MvzShQFn7wu4Td_Y|(<)$i}?v3^s92@sAqq4?0xIodNFG5$8-C+@%c zUg6C7bLV!<%f`mco1g6%GwF<}$KmX)nU}@J$Zka)v+@1ajJfQw{MTFp!I@;$EDFP< z{NuA{s}K7)tZYT~nYY@uezpxy-Sf86GO}Hg$UgJuLh-uz!|<_|XSm<7v*Dxq%sU%C ziTEi~J$~A`@H^^rrV%KdCi3}tIj{`vr!A&!lHvPp_&fNZoYTL9&cjW)K4-f%2$wGA zAH%xvF8`wXoJ(!^*)Ae`4JV7wVcAJK&4O!e0M-rcUxwq4>T@Qn{ki&rJn6#mqglXO zMzPbmqdsTDiDT;x&Cd5Z*EuC3{v?IKe-&zFbi>~9`mV1}^>+jN1wEG4;!nQ8*~mu^ zZv*k=p&TEij~cwY)tH}zF6NZlO7z?2^-bL7zm@8L5=1>)cfB&vbA5Hi{sTQ5M)Yi~ z@OnNGThd&6NW7PAY^t9vy@{(Ccgt_apS+XR(qP^>%lO;eExNId8Gozl#>!qV%LW+` zzu2#+P9rJb(i%+lKLjA2yAt?nh@Wr9PBw$0^r0Uu_55pU&BjB0iz>XCYnJ^H#KMPf zdnFW~Onypjbv(z9%+vY3{X$C2IrZd*%*h#2$O-ABI+>`uP@oxx5i!3K!ueKB_d~^$b*`n^s@>aZzx_uP>Y>F9R09 z-ULrkvq9FH;D>`o@-Nk2!?b)k)qfPP!Ja;R8?b?|!o6p#vd^*OrZL7cF_bV?(mQZn zHAgw;U-(Axy}kT}3A{a*J<7|EBd_D_-Ys6w3OkAtylaz}zt-lqjFUEK%PSdaNVpe^!ugw)bLe2mhe^7ADaVYqJbv!gHRP4g z)za9dTxMX?H69GGdX|?TbwnNg{akH7uGk4EzneF1*KBL5e-7wPp0P1sejomduSk;c zClX|qcj8##5$_#~y4d^NN=8^xGLe*PYAX@RJ9s-c?LXG)uj<+zZ!N}iPogqyg)&b{ z=chu*J-ns|;=TU|O=iQuP)+eY-*kS;s+c!!k9aRnz%@oT*i|6gYV0%CTDB ziJR2@yv2LM-M9z}?{?gSE?2vRH*gFyn>U$?t;_BOnZ(oFH+GfyLYhU*cDJr&KMK74 zEtJ!kV5;xB%4I)sUc{3krZ8IeQ+R*@VN)aU9n5+@w($+o9JigIDiV-HTD*Af3JWEn zsY`j!DT5ifX{~rSXnrpEt4?d?nqD$2SH9_|ou zMXUd3&wmsfcV+T(YU?u)p{DRNcv*WsJ%8%UBC~h9ciLl6YW#-#X(Olcqr~_P$07H< z(~f}z@f(_W-?OzPe#6b?ZlC=(_pBZPXdiF?C%m2qM|l2P*WP#)zhebg#|_C6ll@UI zoIcq6Cx{M4i$9477;naZd*iIXqh9JAINfjl6Vl8bF48dXrWIa%{5n>r>7K#L%s5GT zH6#+A@f#+hDq-bos|F|f;ugWBmRpq&g5}igc|C)E-EW=Wl5aUjBsum4!Fo z;oIJ{t-^0`dwPD58v2qj{|$a?#b^)#!>wEwhC7ZSUVB$l<2(R7B}%Vqq>Z0caU za;Nr$TfPf4v8)<@GUHcx^F1~k$r$&Zh%Kum&bz`hz*GGvA-|2zn*mDQCAFC4e}8Q^ zV0n-izL^2>-mB3TLBzr}$n2nfUJm1kEhFoG-W9F^e=nbe5oBtsQOVc@n=S+s{4g}Z z($FqulFm;=%2%>*&X)Mn`7>(L`75fIL2D>mFk%{VPoctl60=*kN+sgO@BV$d>72TF z?`*``@Pv1}t#S|~mfrFvYeBE+buT{gb&8KnnTBo43Vn!K>MN4LLj@w-PPlA6Mc+>G zWhGZ=As_Z=SOwh0KzUOIczIJLWMEQt8Gv`t6XrV&MQp9TZ^!*P&=;DWZbFda9$e{C z{VyTaRMHIO53Qnoa^I-;=q1YX`fe54w7*)q6lqo}ll`$-P5PDIlN(sTo6zl*{*h|W(*CaT z+$7pL1E3;9WwyFf1rZcm-2(TNw()-0Dfq0mq3(^|4wVgn;HLpX_46ovqknE*f6ry{}VrZ zLP*%t>u2<38?e*mjkVqI#?U8||BfjctY{10VHm_VJMFjP#@YV^@f)tDEXSaVVhLcW zNawGOrA_By8Q<(sJ*A!%6=M4nx5jh3Ae`yG!J=H_l+L%r(oHKf@$nnHo@;6UbKYj1 z$?gd?m+o0r=~W;At#-11Y@;_4=E?ThYr3Fz(G}Nt<1VP37XSPwMRoVv8sXYl;W7X{ zrs}SU=h~5nss2AiWEo6PifQ2x#*KWgL8_!Ox{Eh(g$dUDtf_7;?7=QWo@z(cCTh=H zh1>cs<6CtC?*(R1pS ziumFj$W4PS?HE23LQf%R#d2w|n2;Z}Mb#?kk5ydJmXd~R=pcG>MBMHu(mfBN4cm}u zT6@JYWSl{Uqk()Hj5!i+pPZkvcI)K)*tL>mEE4^)@JAF?4tEPp$XV$m&^)VYC1`st zph*o$6Dzgli#DM272>(O5g0an7t)cEA-`w}Ib8=N*5adIi?I$z-_5m+nVGLk^&DUF zD|+_+F`l~^mV<8tS#d3bji&kN|2geHlkta!l0Dhlx{79hhY4p3$Cc}Q?xvhwT=AO)q8@q1d%e<}k@}t&`k1ropk2?LgUrqVH zOEs)|VB;aFqkcCI5@&BiEM0kiO9qv_=DJ{PDHl4`FxfSQUu;Ir<^Ne8L}Lutgf!H} zQZhvo&wUjnjuW&eoh;an)*e2GTV1%EbX-r1COJb`p*vjo?we$4JHX}pzJgGqh?k7p5KRecH?Ki4V$N35dT*;y3Y^ zI@jx))NaPO(i+L!0M-weG25k{!ps0FGAw_h)C&XbtQ^lxMsv69GDq{PM%-D?0TiNm zZZ!Nozs?&>R#w7~Tr zATC4QRVvU`@!U30V8>^+3&D=h@f_zJQu&rjWPk3PFuUMuK@3OC=;;LTWE6EGDQ+4? zzMg^ImK}v;7%e=oaU@kxkCqCQw(mkDQIvR9s{a@S$etm2OEX5dX0Uk`MGs`p)>gOr z?@P5a^dXkl)}}4cCuOiwBh=}B^INg57gGJ)M9*{+QsA+i)smgc+Z;^cL1NMD(7!B& zWwI1H1SElyVAYj&Tx7>%n8!KN>$@70lfg95uqmMUP2WY7_(V5*99uDzW{!3C55|wf z$2*%uADoLoMQdtgsskTg>LFLp%GnqVsmTpDzKaJ5UJy>OF#f;9odsMJ!Ta#hMl5VB#6-kSP=t48cjj(xxD$W>dgr6; zKHqufnP*~W_jYGzsp8di16^Ktf5UEmI1jG;Z2)fZfQ!l|rS!9)Vu|=U7f|8Z_=FGO z9tLVbbgrmT0v2)kgl!8hPT|cq*y0K`$?)7Vq8$7fvs1rpH|N313T1q_x1TXX#-o~2`bAhk&|~yK zw}rnbU<-m16i`rUv_`)Mi`+mjl-7@ZdEELjq_qCF>_OX23kU50U+`#tRgc@d8u_ zyue_R!BOok({tdR6L3F}t#V2Oz8h{o=RG&!8PmJT;{mSaKFe3=B5`dBYzr6Z#!pcK zIRC|IAh7(*+;+I7=YqiN$!;(L1TFZ7Su2`d^VklE@caS;^UO#%PsBozw@}7HQG07`sn4ZyObqo}q>T39bOf_m{#%;!pbN{Ou*TTnC(Y=eAckC~GU)}Hof zR-FbB5&~5J|2Iblc6reN%OSD%zslrd!id@=INyqsNR@94p@~0{W=L8J|z=pzpn(YFM*Gez#S#>{Td1UhXl?Amm%W(=_rBsl)&MQ zB*srTxPTyd*FktX0edmA@Ex_t7(QGT7w#m)2l5l0&28Y6ET)BZ_4Vp#4a{2%yNkX_*ko_YaMagZp4{Q?Lu)g@d!STwUzJg2+rN zfkfo#;%e>e?(WFU1B;4dR^o*|GcQgGW^*wwWCjOD1;+Zt!+B$td}|-RmAQvGeDRad ze7{U!8_xU!i}4B;UIh*b-Ypd<;Wc_$=ir*Ff+)1kF@Cu;GB7d#tUk==GqZ~L0U_c1 zAivNEp*~y=R*)F37K;VZg;_BLj!g}WjfZW*loPZAZYwyy0;a}ggLTFh4wV7808%0W zlpHFv6YpR(fVUF^V{t5etClbYD}|{hoNb67c%zZd8_rLI0nSH*r$QWhpdHW+Mdr3m zN1WDQO6WtI-~x;Z>j(~y3(T3TB_PvwN(p^(uG$ZRlXKGKz;OrzZATe#=s#&^J;C97 zgxH_XP!R;$PJhJVhAfwt1pP1x`dcOF7ZdvA976d1JPdFH=K*6s8wpObZ~ z@rL5~I^;dYK@ui>A?&LIg6(^vPEY$8hB(ZV>_71m^wT8hFP5O6CqaL`1pOij`cCLl z4*E$R7Yg7fHVia3CwLbSkL$r3ak?I&2z|1>QV9;P5wV?(1Sk8+1quAV1pb}iWdD>! zmyobrqYSzcM|q9mf)oSvj|Qeci99d^Sy#NU2jhbeX`!(5uCJR+6p)a0xVZ| z@E`j*f#78Os=*6(5a@jSAP()2{dO(E;n8Cy%>_C8ilKsa9aoUbAp%1$f&Nq|b{Ry5+aB{reEy4bALLVM# z*#0Ym!(Gh36P!Hmq~OT|1XwOozoP^`1aZ2&&V)W$-W3EV?QbVI=}(~qeum)WIH?3L z!a$(?(LfxQi}c4>g8pa;`rZU5+bfmeWPeyLffo^+90%H>_cNiNy}^InUOfp;>N^me zJgy@Ur|V%3p->^IrKXl+J_vE4{az8qL`qGIMf{g{^N2@Bsf{# zSrYgT%0BjIFU7Gx2Pn>Z17?L0_Q~tpw#4;0*$>HeBS_9e24T72e;kIR9nAHRoJDc$ zXDP*Tx$yh_*iH%Zk6fn&#^L)jTZrFl3`gbs&)>^uKVmNUuz7r7Qv9HVsEE+;z=&y_ zLEs1Z|HUgs93CheEE0VO)(kKh%5eEuvDv*OICjFHGG-_qZwlbW00_$Hx&&TE!Fca(p!B%^0+9(gy)g!8i}S@>AHeZGsXF=}^M_9}VS3n?$>568Gn4L!2;6=cg@7G# z?O&|RY7`(v*#7XR15S^-6+GwDZ3mP1q6$fb0uku4it`<+E5MEkf-7_m1bA5vyCR)G z^hsR)KJcUmf-6-qbpGIG7I<+Ke^tEY_u%!72J0K}VEFfUl8TI2U*KOeX4ecHhhQym z@T!O1{1K46fq&qG`8M!H5448yDG1SC>iv9k^C1@@+wN6N6A5y98Ad}lnkEn zh~$?}$PyLbl&nno zYevPFw-NO(hKg6F`mY%!^C;Pul4B@2m6CHPIiHe?C^?m?-yBNLr({>E{(LFfOir}? zu9WOc$uX3iO367?{l!rE%c=Ns zDqfkYe;y^5Q2ta=_C8T^6=k18_1ALR9wmRGWMwKnkCOE$*_V>dDA|>k>HbRlFE85P zlqs1<$$FF=L*-{i#k*26k2?N+srVR5PNiikzZ@z)pOT9xIfqJLLdEA(@#R!}6(xV7 zWvYLfQF0Mwzl4&jDESj5b0~W;^mtFTcL^nzQ*tVmzKUueS1LbWO3tD5W2pEdDn6f* zsS6^%xF~%dyNnLAn-CQq6`dHxV-}p|_=g5ZB}DR~6XJQ%LA+SMsNg`3e?m}DU@R{_ zI+_;;Cvt!}BZ38vMKvcIgz~_5m%?NG;8H5_fw6HsI0qsjHju-9CK+WsIW#T+ED8?R zNREoMj0+KdvB0O`AcIIASjdGJmk<*Z z9UC7wnZqPD5Sw|Z!DLB(g@W%oN5=TYhx$hZ@}m9W8qRSXF!jPOB6KnjWR<|&;K2au z#ssbEcNUU=X%fra?kP!Zkm z$w53pc7*JE2mX5E1ra%lPq}?cF_i% z4cZZ^!cRhj5`-o*GTS$KV6}JqIali^vv9P453}mk`V5<#x zOr{-qelSn;1!k6jZV5dB?a3~69~a^m3z{8hMI)ne5g5lkv`H*+TgkFl=SB!H=1tOUr--b)Ozb|!T^EhrTLL^NO?2CgtW zkdv@T@G}Eob*JWt9|R|Dxe}!psy2gA8Gku0*1 zQ2;(=AOe`L5m@rg-JSK>*SaY$xkZ|!JhZ$(k2zO6m1-Q4L22Qg7XWWY>2 z6QlvH02_`mB#grI*vQFewl=~w+oA*F4cOrp+{hy%7-#^ZL9M~XPK*U9Zd6WXp=2JR_GZ_P-gZu)}L{Eakb1u_QM63uF1!U%M3f0l4 zE65Dd6iE>zI92l5)2bj69?PV__n(Hcf>$uYC}(SLzKxrU6Eh!Gi0QeN0#kzKpo&6r zq9|}!w)XLGGpFoBb>UeFScjuETmA4#00UI#FcN78@`-pP@9H=f{f=QqHQ~8|9dX4BCt~#k#}0=bwuN?>#wO18_Q+za68y?Zj85&fKD?ZH#P9^_zs`*QS82{L7lNjbg zhxvSvu!89LmMVzUhn?$h{s~TME&C^Oh7!}vY`<~kyW2atI$DdZIkw|4{Y#7<=!@2F z<{mC?tQxLolrK|i(J@W3-d{>1XkX+f+qG>$3!B^6*gL}^#Kq0Z-r3y4+MQ``aehep zY7pa*X!%(Cum}B{{T90?RnJV{1f!mtwYxj`A<)cww!F+*zwng<;#Vm;eL{P1IDr|* zFoO;}-AFo^Kna09TPSF+`7y_yB>zb-2G^I+-sl*~pKoHciTt6*|B}B%Jt}|6RWB$L zbU{%5zv>ewR;c&aa{bS)FAnEp!T&HY^M1hljGnFGXGgvN`c@-+R{uZuP9r(Hl5vIk zBWb;EE|^tdh9(v$!$}4pz&Q_)KiVAku7i;v|8B}Bn{U7%kjfbQa1IYt z#r3TXAqY@k3H-$8&Zon=}dw+yU7ybsghxhNG5r-?L!hktk(gp@?ipL|_gyM6MY)A1`NcN$40g^)~ zei+F~6hDXLEQ;SpaxTR`BN^udMFsF*7IsJwiYfi>h?i1aAMpx`k3{?p#m69CNAWNG!r#VWRzCvyW4;sVX;b>gk&OMt`uH6~J4*j4 zl6@%t9mydSZ;dWZk|^FA@hplDMLd_{-iQ}aJR0$0if1EUO7VQeD=2;p@i!E|f_NRp zA0w`Swz%HjBUz2&jY!s}cn35&*M#EQh}%)z9C06tPe43`;t7Z+Q5>(UpG9zVDG0kc zCzs;d3n#%5$t5_nV}|q# zC?11&F~OmoEM%vY;LuJE(yyR+3F2=E4()74cIpTY?NlLsTz^o6`lpb-8rouh2g%wL ze~V-jf4#9<7x5&5Llf*$Z^C-QevU-;b18i<#0v-x z^Tp@sVu}}`d`l@_g?I(U@%jA?#qsZgI*P}j^8vH=6YvB25B5h5r0GR7{u!+J{NHXw8iz4k7VpG=EaC>Q~EcMY(nvBBx8TEokqlcD19aP z!w`fJig!gkiQ>A5XHk48;<*&JMZAFEaQ73ge}coR@<#fl6puu_g5t@DzoGbC#Oo-& z0&xYjh4lkfc<4N>MsYjDwJ9EhxCz0b|C^9(NAdkg_Mvzgl0zu|6v;^x|Ayo&igVEq z@?455B3?l8UWgYH9M(fVDpx7R@%2yz#XlkaHx%cg^KKo*?GRT$`Q!cxKPmwOe&-%@ zC&aZW{fS66p?D;c?I=DC$vzZcg5(g2Z$fes#SbAli{clNoJ;Y0NG_oGJ0urVTngRz zDW$j?;uRFvM*I!Mhap}^aXZ8n&=%M8SR~_oFb_c-=Yx47;wF@xEF|-o)@1KTp;H%2 z{_VSD%tywUm30RB$Hj35QEw7b?-`P!$^YGZhOj_9@E_I*y37H4Y%oJxeE$)N&F(=; zde=~|7n>pnC4~0?aot0thIoI((Qt|=hm(r-Tv2=A2p--+TTQTqhp-uv@umdjZ`Xk( zFn^c_I-Lpf*GG)bznsdKwZfJG@53#87f@XN{cCz_lpfz-gf?No=~qyGz`S6tQ)HqYnc*RP>^5gUYD7_w5K-&lCMkp*F8E`thjR28&pVU)A@9L2Z?$f$yh>09y zfGMN&CNL2ZaQk621MG-ve+45}1NSr7{%|P4=`n8)7~S?TB@d;a4+SF7{zIAe9jeM`#zvVYip_AmbCuc5J? zG5hu3e}C68KTD83I?l|%x-p6zumbR+*T8xB9Vh(~_$4Rv>_)K0^_+J;we3L%V7~n^ zr)~`R5E-Z<=HtE3Wvzzoht?9FJI>z(ckJe`hMPCcKKw?4Odq9mU0~Hdz^adoHCRAi zLI0Ljb|YBvb~s%2*35pPl?+&ZmsvBLUELMDV~N(=g%;rww%YaqmzY$L^X$1`;nt7B z94^GqbOh`8^B4`07_j_sd;s_amr^>suiJDRWFt&=F21+jd|+Ot4_NIRE^`ZB^kh~7 ze%j=!4VH7wfN9K&6~PgE6qbhh0?esGuqRxLxKSWch?TVJT9|A@^Htf{L2 zjesT3nPrHZSUhKVA7(Xeru!a;3Q8HpPz@}1ODzHo7HS5I(xYO7Xa)ExDj;l$nk^x% zMn!|v!m4=`A8rMgF@B1?IPU|$tcSj3Y|aN?Uel3K9ELZf&{W_PK6cXJ!w5|O6B@V_-`N}_XbTnC#o%G5g8j$5 z*g#MrqTPk9yG_g*#r0r(V>_NXtTaK#L)EYU2(Buv0HT;4qzrdz)-fwQ4-{C3RG1Pk zf?i_|GSDvp6{rC;YkGi0*lng-RbaJd>;OtNQXmc<8(;xuP68K-j%l7_cH{Z3+F5A1#&h$pY z>tdKj@IAh?CivkurS$UvrZwGX_Dh)khs^#7X8$q4D+&FZ%zi1ObC21-%IrU2_RE?5 zN6h{mX8#GZU%~9>fxf7e{+QXn%{p&WRbO%r{5?+FEq&TQA4h|3pwZy^R;$U}iP)!_E5eF5;!B*lR zT;sY~F`Ga&G=skYL=|+2i3An0>WtFTv-%|_H{<1DcY*DM`-`Bvq=R(K*A4&o`%7)6 zu>bt8^%uca5?GXWpuVvo_-kOu{564pjr2^x-@!xlISx#$0}~7Wf>;M8)`5w29jI?= zz;PW2C*Om=V8*@cKtmI_52m;=RVMZi97V_gM-no?(S!_eL?HtlRmcEG7Baxmg$!_n zAp;y`$N)zgGQiP>3~GtEqO!9B4oTKCEag~nW-9r8CX(4`Z3-N_5#N%ga zv|m`pb8@guZ}+!g|4<9@hg*n0(n36QeMvh-$j4hqf1-u>lP$#Kxk*HpBD<$sNdL5j zc>GLL#3&&=Ya#vf7UEyD5dX4;_*X5&iQ*R>G8zJ>S=EyUwz+LHX+*h2bEEyQnbA%05>@mpJn z$8+2y`48{ez+eXc!`+=v))hahIX{2Yo!5H}FE_|v(OY=nz~x(t_X5_I#TY6~nd!8K zv*u!m#olWh`@PPt*^&_fACGGV)t=%hqz2?EP zUg@Vk_6on>{ma9rncKAVqHfej9-qJaS?=K;oVo)BEtEgTbL0eb#~qsL=9zx#vvw=n zcHeh9O=050Cx_;)oV|7jCloY+Ncf*_pCrA_`tyB%Z8d$&4qw66EeN|T9R0S50%-k#oZBdPbFFRgxZ z`fQ!vC7*L)d{)o2_WK`K+K=YjO&VY3P%%#{VDHVc{<;O9JmiwD^-vmGp|JFSt9{_J z8+iOIIND?OW|K&5rHRoguCL9XcG8{F>b-~8!4CT#s?R#oUSs#|?K(N#yG)sD%Tdvn zf9L)m>buSwvwqL^lLcKXG#_oVU81zWVVTYQ1=lV*J9IhOJ|XgYcV7HX&0$%o6W+%R z9%p!P$_KT|+@gU;H_Lq~ycRq7XTP*Hsk=JV-gEEVXKLd$n|`~R&Nr!dT^`2ws3_m5 zYo4WWweK$3Q2*OWgyyp=HSwsHKdWwzs!dzKB$`f_-a!qrBb(*Ez@`VjiHAN!)KjS9+qVwRU;D^DAKusfcy7^^?^M z-6J!f$v?ieZBUlt){(XTcV`?lm0I!W^75faGFSd`b!^|g+vHCnH>{gBZ5x_) zEZfc1DW6?lJepP3*!HCIn>U(OM#lGSc7B|@|GDj*!XEQZbx+{cpWQNHU+tn5H}1Om zA8Di0_|9kYv$e7=^-FZL6>V&KB`!&8Z!ufiTywa4r~j$?(?un_MzI1%eZ*Jkm-%cZE+UIbU(u@>#DMz@px{^|r z6mnH1y2;S{N1shy-@64I8=9fi1a#ctUr&M$g(`t=v?kejU)QVv(o?a@zpYu+X0 z!iDWjpUbuH_@~^{`dzouU1rPr%u3XnByZXDzWtQhZ+BcuO5C|S?9y#F>zkp27Crk< z%g;mYzvH*}qm3VSoERC@I%nOSg|Sh?erVj)J=l`s#v+2^&ulwb*iPkCu-!Jl*(B0#bu1x4E%D;auUpG{~ z`)7=HYFY+m_EXdAn{e~~+@cNg-m4yFe@`hbY5GfCgM;DBW#%&1rhnAx`lIdp9=F?FU7%_B#V{K|jl-c&u|5LtO*^VaRlHUM{-fZOL^{14gsdccnB z5#4lhrMI1NZ!^YOtzSivOuw;Zw>DVzP5m+a#!GXPx$-Lec4&mY7};y^t)NE-Vof5< z+O*5j*)t$z!Z#xYjr|2PFD_W`_@c98kElN%I+V=x+3EE&wj?&X&&A^P&ewML8SJn= zuWa*=+fzGAUHeb`hYxdM|2il2t^2Zm#@DuQw$WR5bK#N2*KH%875J}`z?ZAsjsEp6 zDWpe8edWPngHN6P9pW)aD|`C1p*61-%>FT4PkT_$>f_%=Z69D2_T!shnog^f0bapp zdk@X&cc{#29Vh+Bs{@rYu5vFE_I1~f&nck2c`{4DG9%AIEl=aj{x?qAcZG$LQ02FPG#`PT6^Q%Ut&&!wV5b zpK@C3POx(y!oSz?a872}$??VW`F7f8>^V}e6Gv_OrL$&nOa664^;a`#G(Rq8>|@`j zm-ehUP@%G-lfRM});8HQJaVu5_~~Qb4{(~fGr7$K&#$Tb^7ai|WAyQiY0BhdwX(a< z1~zFV?YTE){)`#wexLHXruVT-?B#a3YLC#~*d=#db zaX(LTS(~)~*UreHhT|Kk*O0I|thr{?w*^Zu3x~VAuQ)LXR2= z$}k&op&bW2(Zk_={S2!|8~X5$HEf@R{e$%fe`>RO(;xFDjr9!s!)N9rEvsJLJsXoG*O~LpVf5#B zX9E-!k|xw%?S!l3&*>$Fk#E7G;Nk+#AI{P8)e_E`6Q?U=v?E<+r+jL6uR&46u}~%= zY~s8O)A1S+=l2Zw+OO@Nlb4_T;1$*8$(65|6%qaRnx99=Q)Q>;E3Yk9esFN}1DTog zJ6Vq1^}FjVkBlP6+RWKQo?NbcnAsu?$-i>83U0;4zvh|tbJa6vtFWY=RF6dQ#;bTppanA^yypprFMUU>c zeSL&iUYIStBYGi!(^=2>iNmeC>J3lPg6h9Ceo`&wN&} z#(!ei*!e?zInriE68~wOQ~7mBHalk6q>Bp&&uzTePPN+^`!jn+!wDLKfa_NmkQnfM zm8v;`9=XF42=bh&TOazia+CZ1d`tcN-Wz)MjhdGK{GjKmb_?5Oj(=dAbYbc}-PT9O zti9H+OHSB}cASO|o$na5&aoaawYAUtYkH+mJ=^Z z?6*o7pEG^rzLSrS`QNSBFT2LgdsRc+>;YqC*ZL2&ZZfgF{-$om&5Usm3wrdEcP&r@>l6#x(D_Z4#zbZq=BgU>nkF_hlPU~JFv(nV= ztIOW$-<%6H0v{)ZGJMejXy>Vt!WKMDmwZqH0e91hqk=(ibdvSQi1+VM@yzR9s zU8<+7kN=jFuyB}YP2m0q4sFh$#((R790hsKpLU`8_8ZlHjCuX|bt*4oND4n|VAnBi ztW-JiXS7q3jK@i@EPb8EIr(VSE6=U1a~4?^b(^+m>%(nHi+gOE=G^doN>K3`GgIFl zp0nf3PI1(y%coCT^ZY^BBPIUuSp%9*CXXyW+<0!ntb4OGpZw4sH`yh=wPr`ovkj+? zM77&EWlYKqv#ze%Yd&>UHpp^IUSl4nJSkPPjmL(^U6+=C0&=-`y}bMF+MO!gks3H* z$&=2b79a9^7?P)IWho0kZU+J`zXsTs`}^^S4$U^4CHYG}4dWjhz5nXBwa!m^D-~%^ z8EA1Tq5lB0R!+yR9m@R8<4g(uc)9=n7uRRZ+u3CFtlwJC80q_$hDH~1M&orYk*!`}oXp$6XV&yvEHJ9`2yNXBEi}iL(pGN7gjV)DGmHuVDb9&x9 z)#;0S_^;^26jS0KeEjqP8gQ!2diiK4utGyfg5Q{gXFWDNNv!9Yr%Fl<4;n64V{Uv< zSn$-yps7ETUQaz7n%6lf==I#7$hkom!#0F1S5G{)A;mn?E(ut7cm4v$<<}x@)EL+NFcWDHcXeQjtB%ak@T1 z@qXjj&0Y#$O@@@JRtETb4J!@&7Y^}2wIX2WclDMo_^bMb)Rm* z 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

TH<=hy0E?epL`*XmCw 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

n2=QkC-F8{6&`Yj>!&xg>z9YSAa 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 }PR#*d$`X;(`Z*6r9W4f|?)&p6}s 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

uTilw9X?Q&1<%czRejJLQS}Zde1Cnk( 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�!`{hm&So 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

C&J6S%f<)#~>|}iNGaOS1M{lj-x140AscIHB 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�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%0DLlkpLe#%}3g4aPoh<@IM&fT8`reZ!+oPWvFwi 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 oeTx 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 UpE6~uzle)4(r>&9z01h|0mwAo*#H0l literal 0 HcmV?d00001 diff --git a/openssl/1.0/lin64/libssl.a b/openssl/1.0/lin64/libssl.a new file mode 100644 index 0000000000000000000000000000000000000000..e9fcf1f02f083a9d0014781650dd12f8bb454363 GIT binary patch literal 794130 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 lrZ(*ko<1UxG6z(pU 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

      uS2le+RQOg+sBE2n4bO)oU;f+F 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
      WG1c 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 literal 0 HcmV?d00001 diff --git a/openssl/1.0/version.txt b/openssl/1.0/version.txt new file mode 100644 index 0000000..8208c6f --- /dev/null +++ b/openssl/1.0/version.txt @@ -0,0 +1 @@ +Version: 1.0.2p diff --git a/openssl/1.1/include/openssl/__DECC_INCLUDE_EPILOGUE.H b/openssl/1.1/include/openssl/__DECC_INCLUDE_EPILOGUE.H new file mode 100644 index 0000000..c350018 --- /dev/null +++ b/openssl/1.1/include/openssl/__DECC_INCLUDE_EPILOGUE.H @@ -0,0 +1,16 @@ +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * This file is only used by HP C on VMS, and is included automatically + * after each header file from this directory + */ + +/* restore state. Must correspond to the save in __decc_include_prologue.h */ +#pragma names restore diff --git a/openssl/1.1/include/openssl/__DECC_INCLUDE_PROLOGUE.H b/openssl/1.1/include/openssl/__DECC_INCLUDE_PROLOGUE.H new file mode 100644 index 0000000..9a9c777 --- /dev/null +++ b/openssl/1.1/include/openssl/__DECC_INCLUDE_PROLOGUE.H @@ -0,0 +1,20 @@ +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * This file is only used by HP C on VMS, and is included automatically + * after each header file from this directory + */ + +/* save state */ +#pragma names save +/* have the compiler shorten symbols larger than 31 chars to 23 chars + * followed by a 8 hex char CRC + */ +#pragma names as_is,shortened diff --git a/openssl/1.1/include/openssl/aes.h b/openssl/1.1/include/openssl/aes.h new file mode 100644 index 0000000..245c552 --- /dev/null +++ b/openssl/1.1/include/openssl/aes.h @@ -0,0 +1,92 @@ +/* + * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_AES_H +# define HEADER_AES_H + +# include + +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define AES_ENCRYPT 1 +# define AES_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ +# define AES_MAXNR 14 +# define AES_BLOCK_SIZE 16 + +/* This should be a hidden type, but EVP requires that the size be known */ +struct aes_key_st { +# ifdef AES_LONG + unsigned long rd_key[4 * (AES_MAXNR + 1)]; +# else + unsigned int rd_key[4 * (AES_MAXNR + 1)]; +# endif + int rounds; +}; +typedef struct aes_key_st AES_KEY; + +const char *AES_options(void); + +int AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); + +void AES_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_decrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); + +void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key, const int enc); +void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num); +/* NB: the IV is _two_ blocks long */ +void AES_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +/* NB: the IV is _four_ blocks long */ +void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + const AES_KEY *key2, const unsigned char *ivec, + const int enc); + +int AES_wrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); +int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); + + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/openssl/1.1/include/openssl/asn1.h b/openssl/1.1/include/openssl/asn1.h new file mode 100644 index 0000000..9522eec --- /dev/null +++ b/openssl/1.1/include/openssl/asn1.h @@ -0,0 +1,886 @@ +/* + * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ASN1_H +# define HEADER_ASN1_H + +# include +# include +# include +# include +# include +# include +# include + +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define V_ASN1_UNIVERSAL 0x00 +# define V_ASN1_APPLICATION 0x40 +# define V_ASN1_CONTEXT_SPECIFIC 0x80 +# define V_ASN1_PRIVATE 0xc0 + +# define V_ASN1_CONSTRUCTED 0x20 +# define V_ASN1_PRIMITIVE_TAG 0x1f +# define V_ASN1_PRIMATIVE_TAG /*compat*/ V_ASN1_PRIMITIVE_TAG + +# define V_ASN1_APP_CHOOSE -2/* let the recipient choose */ +# define V_ASN1_OTHER -3/* used in ASN1_TYPE */ +# define V_ASN1_ANY -4/* used in ASN1 template code */ + +# define V_ASN1_UNDEF -1 +/* ASN.1 tag values */ +# define V_ASN1_EOC 0 +# define V_ASN1_BOOLEAN 1 /**/ +# define V_ASN1_INTEGER 2 +# define V_ASN1_BIT_STRING 3 +# define V_ASN1_OCTET_STRING 4 +# define V_ASN1_NULL 5 +# define V_ASN1_OBJECT 6 +# define V_ASN1_OBJECT_DESCRIPTOR 7 +# define V_ASN1_EXTERNAL 8 +# define V_ASN1_REAL 9 +# define V_ASN1_ENUMERATED 10 +# define V_ASN1_UTF8STRING 12 +# define V_ASN1_SEQUENCE 16 +# define V_ASN1_SET 17 +# define V_ASN1_NUMERICSTRING 18 /**/ +# define V_ASN1_PRINTABLESTRING 19 +# define V_ASN1_T61STRING 20 +# define V_ASN1_TELETEXSTRING 20/* alias */ +# define V_ASN1_VIDEOTEXSTRING 21 /**/ +# define V_ASN1_IA5STRING 22 +# define V_ASN1_UTCTIME 23 +# define V_ASN1_GENERALIZEDTIME 24 /**/ +# define V_ASN1_GRAPHICSTRING 25 /**/ +# define V_ASN1_ISO64STRING 26 /**/ +# define V_ASN1_VISIBLESTRING 26/* alias */ +# define V_ASN1_GENERALSTRING 27 /**/ +# define V_ASN1_UNIVERSALSTRING 28 /**/ +# define V_ASN1_BMPSTRING 30 + +/* + * NB the constants below are used internally by ASN1_INTEGER + * and ASN1_ENUMERATED to indicate the sign. They are *not* on + * the wire tag values. + */ + +# define V_ASN1_NEG 0x100 +# define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +# define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) + +/* For use with d2i_ASN1_type_bytes() */ +# define B_ASN1_NUMERICSTRING 0x0001 +# define B_ASN1_PRINTABLESTRING 0x0002 +# define B_ASN1_T61STRING 0x0004 +# define B_ASN1_TELETEXSTRING 0x0004 +# define B_ASN1_VIDEOTEXSTRING 0x0008 +# define B_ASN1_IA5STRING 0x0010 +# define B_ASN1_GRAPHICSTRING 0x0020 +# define B_ASN1_ISO64STRING 0x0040 +# define B_ASN1_VISIBLESTRING 0x0040 +# define B_ASN1_GENERALSTRING 0x0080 +# define B_ASN1_UNIVERSALSTRING 0x0100 +# define B_ASN1_OCTET_STRING 0x0200 +# define B_ASN1_BIT_STRING 0x0400 +# define B_ASN1_BMPSTRING 0x0800 +# define B_ASN1_UNKNOWN 0x1000 +# define B_ASN1_UTF8STRING 0x2000 +# define B_ASN1_UTCTIME 0x4000 +# define B_ASN1_GENERALIZEDTIME 0x8000 +# define B_ASN1_SEQUENCE 0x10000 +/* For use with ASN1_mbstring_copy() */ +# define MBSTRING_FLAG 0x1000 +# define MBSTRING_UTF8 (MBSTRING_FLAG) +# define MBSTRING_ASC (MBSTRING_FLAG|1) +# define MBSTRING_BMP (MBSTRING_FLAG|2) +# define MBSTRING_UNIV (MBSTRING_FLAG|4) +# define SMIME_OLDMIME 0x400 +# define SMIME_CRLFEOL 0x800 +# define SMIME_STREAM 0x1000 + struct X509_algor_st; +DEFINE_STACK_OF(X509_ALGOR) + +# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ +/* + * This indicates that the ASN1_STRING is not a real value but just a place + * holder for the location where indefinite length constructed data should be + * inserted in the memory buffer + */ +# define ASN1_STRING_FLAG_NDEF 0x010 + +/* + * This flag is used by the CMS code to indicate that a string is not + * complete and is a place holder for content when it had all been accessed. + * The flag will be reset when content has been written to it. + */ + +# define ASN1_STRING_FLAG_CONT 0x020 +/* + * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING + * type. + */ +# define ASN1_STRING_FLAG_MSTRING 0x040 +/* String is embedded and only content should be freed */ +# define ASN1_STRING_FLAG_EMBED 0x080 +/* String should be parsed in RFC 5280's time format */ +# define ASN1_STRING_FLAG_X509_TIME 0x100 +/* This is the base type that holds just about everything :-) */ +struct asn1_string_st { + int length; + int type; + unsigned char *data; + /* + * The value of the following field depends on the type being held. It + * is mostly being used for BIT_STRING so if the input data has a + * non-zero 'unused bits' value, it will be handled correctly + */ + long flags; +}; + +/* + * ASN1_ENCODING structure: this is used to save the received encoding of an + * ASN1 type. This is useful to get round problems with invalid encodings + * which can break signatures. + */ + +typedef struct ASN1_ENCODING_st { + unsigned char *enc; /* DER encoding */ + long len; /* Length of encoding */ + int modified; /* set to 1 if 'enc' is invalid */ +} ASN1_ENCODING; + +/* Used with ASN1 LONG type: if a long is set to this it is omitted */ +# define ASN1_LONG_UNDEF 0x7fffffffL + +# define STABLE_FLAGS_MALLOC 0x01 +/* + * A zero passed to ASN1_STRING_TABLE_new_add for the flags is interpreted + * as "don't change" and STABLE_FLAGS_MALLOC is always set. By setting + * STABLE_FLAGS_MALLOC only we can clear the existing value. Use the alias + * STABLE_FLAGS_CLEAR to reflect this. + */ +# define STABLE_FLAGS_CLEAR STABLE_FLAGS_MALLOC +# define STABLE_NO_MASK 0x02 +# define DIRSTRING_TYPE \ + (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) +# define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) + +typedef struct asn1_string_table_st { + int nid; + long minsize; + long maxsize; + unsigned long mask; + unsigned long flags; +} ASN1_STRING_TABLE; + +DEFINE_STACK_OF(ASN1_STRING_TABLE) + +/* size limits: this stuff is taken straight from RFC2459 */ + +# define ub_name 32768 +# define ub_common_name 64 +# define ub_locality_name 128 +# define ub_state_name 128 +# define ub_organization_name 64 +# define ub_organization_unit_name 64 +# define ub_title 64 +# define ub_email_address 128 + +/* + * Declarations for template structures: for full definitions see asn1t.h + */ +typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; +typedef struct ASN1_TLC_st ASN1_TLC; +/* This is just an opaque pointer */ +typedef struct ASN1_VALUE_st ASN1_VALUE; + +/* Declare ASN1 functions: the implement macro in in asn1t.h */ + +# define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(itname) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(name) + +# define DECLARE_ASN1_NDEF_FUNCTION(name) \ + int i2d_##name##_NDEF(name *a, unsigned char **out); + +# define DECLARE_ASN1_FUNCTIONS_const(name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + type *name##_new(void); \ + void name##_free(type *a); + +# define DECLARE_ASN1_PRINT_FUNCTION(stname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) + +# define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx); + +# define D2I_OF(type) type *(*)(type **,const unsigned char **,long) +# define I2D_OF(type) int (*)(type *,unsigned char **) +# define I2D_OF_const(type) int (*)(const type *,unsigned char **) + +# define CHECKED_D2I_OF(type, d2i) \ + ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) +# define CHECKED_I2D_OF(type, i2d) \ + ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) +# define CHECKED_NEW_OF(type, xnew) \ + ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) +# define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +# define CHECKED_PPTR_OF(type, p) \ + ((void**) (1 ? p : (type**)0)) + +# define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) +# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) +# define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) + +TYPEDEF_D2I2D_OF(void); + +/*- + * The following macros and typedefs allow an ASN1_ITEM + * to be embedded in a structure and referenced. Since + * the ASN1_ITEM pointers need to be globally accessible + * (possibly from shared libraries) they may exist in + * different forms. On platforms that support it the + * ASN1_ITEM structure itself will be globally exported. + * Other platforms will export a function that returns + * an ASN1_ITEM pointer. + * + * To handle both cases transparently the macros below + * should be used instead of hard coding an ASN1_ITEM + * pointer in a structure. + * + * The structure will look like this: + * + * typedef struct SOMETHING_st { + * ... + * ASN1_ITEM_EXP *iptr; + * ... + * } SOMETHING; + * + * It would be initialised as e.g.: + * + * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; + * + * and the actual pointer extracted with: + * + * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); + * + * Finally an ASN1_ITEM pointer can be extracted from an + * appropriate reference with: ASN1_ITEM_rptr(X509). This + * would be used when a function takes an ASN1_ITEM * argument. + * + */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM ASN1_ITEM_EXP; + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (&(iptr##_it)) + +# define ASN1_ITEM_rptr(ref) (&(ref##_it)) + +# define DECLARE_ASN1_ITEM(name) \ + OPENSSL_EXTERN const ASN1_ITEM name##_it; + +# else + +/* + * Platforms that can't easily handle shared global variables are declared as + * functions returning ASN1_ITEM pointers. + */ + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr()) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (iptr##_it) + +# define ASN1_ITEM_rptr(ref) (ref##_it()) + +# define DECLARE_ASN1_ITEM(name) \ + const ASN1_ITEM * name##_it(void); + +# endif + +/* Parameters used by ASN1_STRING_print_ex() */ + +/* + * These determine which characters to escape: RFC2253 special characters, + * control characters and MSB set characters + */ + +# define ASN1_STRFLGS_ESC_2253 1 +# define ASN1_STRFLGS_ESC_CTRL 2 +# define ASN1_STRFLGS_ESC_MSB 4 + +/* + * This flag determines how we do escaping: normally RC2253 backslash only, + * set this to use backslash and quote. + */ + +# define ASN1_STRFLGS_ESC_QUOTE 8 + +/* These three flags are internal use only. */ + +/* Character is a valid PrintableString character */ +# define CHARTYPE_PRINTABLESTRING 0x10 +/* Character needs escaping if it is the first character */ +# define CHARTYPE_FIRST_ESC_2253 0x20 +/* Character needs escaping if it is the last character */ +# define CHARTYPE_LAST_ESC_2253 0x40 + +/* + * NB the internal flags are safely reused below by flags handled at the top + * level. + */ + +/* + * If this is set we convert all character strings to UTF8 first + */ + +# define ASN1_STRFLGS_UTF8_CONVERT 0x10 + +/* + * If this is set we don't attempt to interpret content: just assume all + * strings are 1 byte per character. This will produce some pretty odd + * looking output! + */ + +# define ASN1_STRFLGS_IGNORE_TYPE 0x20 + +/* If this is set we include the string type in the output */ +# define ASN1_STRFLGS_SHOW_TYPE 0x40 + +/* + * This determines which strings to display and which to 'dump' (hex dump of + * content octets or DER encoding). We can only dump non character strings or + * everything. If we don't dump 'unknown' they are interpreted as character + * strings with 1 octet per character and are subject to the usual escaping + * options. + */ + +# define ASN1_STRFLGS_DUMP_ALL 0x80 +# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 + +/* + * These determine what 'dumping' does, we can dump the content octets or the + * DER encoding: both use the RFC2253 #XXXXX notation. + */ + +# define ASN1_STRFLGS_DUMP_DER 0x200 + +/* + * This flag specifies that RC2254 escaping shall be performed. + */ +#define ASN1_STRFLGS_ESC_2254 0x400 + +/* + * All the string flags consistent with RFC2253, escaping control characters + * isn't essential in RFC2253 but it is advisable anyway. + */ + +# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + +DEFINE_STACK_OF(ASN1_INTEGER) + +DEFINE_STACK_OF(ASN1_GENERALSTRING) + +DEFINE_STACK_OF(ASN1_UTF8STRING) + +typedef struct asn1_type_st { + int type; + union { + char *ptr; + ASN1_BOOLEAN boolean; + ASN1_STRING *asn1_string; + ASN1_OBJECT *object; + ASN1_INTEGER *integer; + ASN1_ENUMERATED *enumerated; + ASN1_BIT_STRING *bit_string; + ASN1_OCTET_STRING *octet_string; + ASN1_PRINTABLESTRING *printablestring; + ASN1_T61STRING *t61string; + ASN1_IA5STRING *ia5string; + ASN1_GENERALSTRING *generalstring; + ASN1_BMPSTRING *bmpstring; + ASN1_UNIVERSALSTRING *universalstring; + ASN1_UTCTIME *utctime; + ASN1_GENERALIZEDTIME *generalizedtime; + ASN1_VISIBLESTRING *visiblestring; + ASN1_UTF8STRING *utf8string; + /* + * set and sequence are left complete and still contain the set or + * sequence bytes + */ + ASN1_STRING *set; + ASN1_STRING *sequence; + ASN1_VALUE *asn1_value; + } value; +} ASN1_TYPE; + +DEFINE_STACK_OF(ASN1_TYPE) + +typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) + +/* This is used to contain a list of bit names */ +typedef struct BIT_STRING_BITNAME_st { + int bitnum; + const char *lname; + const char *sname; +} BIT_STRING_BITNAME; + +# define B_ASN1_TIME \ + B_ASN1_UTCTIME | \ + B_ASN1_GENERALIZEDTIME + +# define B_ASN1_PRINTABLE \ + B_ASN1_NUMERICSTRING| \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_T61STRING| \ + B_ASN1_IA5STRING| \ + B_ASN1_BIT_STRING| \ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING|\ + B_ASN1_SEQUENCE|\ + B_ASN1_UNKNOWN + +# define B_ASN1_DIRECTORYSTRING \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_TELETEXSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_UTF8STRING + +# define B_ASN1_DISPLAYTEXT \ + B_ASN1_IA5STRING| \ + B_ASN1_VISIBLESTRING| \ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING + +DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) + +int ASN1_TYPE_get(const ASN1_TYPE *a); +void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); +int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); +int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); + +ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); +void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); + +ASN1_OBJECT *ASN1_OBJECT_new(void); +void ASN1_OBJECT_free(ASN1_OBJECT *a); +int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp); +ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); + +DECLARE_ASN1_ITEM(ASN1_OBJECT) + +DEFINE_STACK_OF(ASN1_OBJECT) + +ASN1_STRING *ASN1_STRING_new(void); +void ASN1_STRING_free(ASN1_STRING *a); +void ASN1_STRING_clear_free(ASN1_STRING *a); +int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); +ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); +ASN1_STRING *ASN1_STRING_type_new(int type); +int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); + /* + * Since this is used to store all sorts of things, via macros, for now, + * make its data void * + */ +int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); +void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); +int ASN1_STRING_length(const ASN1_STRING *x); +void ASN1_STRING_length_set(ASN1_STRING *x, int n); +int ASN1_STRING_type(const ASN1_STRING *x); +DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x)) +const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x); + +DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) +int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); +int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); +int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n); +int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, + const unsigned char *flags, int flags_len); + +int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, + BIT_STRING_BITNAME *tbl, int indent); +int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl); +int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, + BIT_STRING_BITNAME *tbl); + +DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) +ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); +int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); + +DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) + +int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); +ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); +ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); +int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); + +int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, + time_t t); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, + time_t t, int offset_day, + long offset_sec); +int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); + +int ASN1_TIME_diff(int *pday, int *psec, + const ASN1_TIME *from, const ASN1_TIME *to); + +DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) +ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); +int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, + const ASN1_OCTET_STRING *b); +int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, + int len); + +DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_NULL) +DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) + +int UTF8_getc(const unsigned char *str, int len, unsigned long *val); +int UTF8_putc(unsigned char *str, int len, unsigned long value); + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) +DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_TIME) + +DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) + +ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); +ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_TIME_check(const ASN1_TIME *t); +ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, + ASN1_GENERALIZEDTIME **out); +int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); +int ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str); +int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm); +int ASN1_TIME_normalize(ASN1_TIME *s); +int ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t); +int ASN1_TIME_compare(const ASN1_TIME *a, const ASN1_TIME *b); + +int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a); +int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); +int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a); +int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); +int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a); +int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); +int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type); +int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a); + +int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); +ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, + const char *sn, const char *ln); + +int ASN1_INTEGER_get_int64(int64_t *pr, const ASN1_INTEGER *a); +int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r); +int ASN1_INTEGER_get_uint64(uint64_t *pr, const ASN1_INTEGER *a); +int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a, uint64_t r); + +int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); +long ASN1_INTEGER_get(const ASN1_INTEGER *a); +ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); +BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); + +int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a); +int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r); + + +int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); +long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a); +ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai); +BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn); + +/* General */ +/* given a string, return the correct type, max is the maximum length */ +int ASN1_PRINTABLE_type(const unsigned char *s, int max); + +unsigned long ASN1_tag2bit(int tag); + +/* SPECIALS */ +int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, + int *pclass, long omax); +int ASN1_check_infinite_end(unsigned char **p, long len); +int ASN1_const_check_infinite_end(const unsigned char **p, long len); +void ASN1_put_object(unsigned char **pp, int constructed, int length, + int tag, int xclass); +int ASN1_put_eoc(unsigned char **pp); +int ASN1_object_size(int constructed, int length, int tag); + +/* Used to implement other functions */ +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); + +# define ASN1_dup_of(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_dup_of_const(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(const type, x))) + +void *ASN1_item_dup(const ASN1_ITEM *it, void *x); + +/* ASN1 alloc/free macros for when a type is only used internally */ + +# define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) +# define M_ASN1_free_of(x, type) \ + ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) + +# ifndef OPENSSL_NO_STDIO +void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); + +# define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); + +# define ASN1_i2d_fp_of(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_fp_of_const(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); +int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); +# endif + +int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in); + +void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); + +# define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); + +# define ASN1_i2d_bio_of(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_bio_of_const(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); +int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); +int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); +int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); +int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); +int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags); +int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen, int off); +int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, + unsigned char *buf, int off); +int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); +int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, + int dump); +const char *ASN1_tag2str(int tag); + +/* Used to load and write Netscape format cert */ + +int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); + +int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); +int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len); +int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, + unsigned char *data, int len); +int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, + unsigned char *data, int max_len); + +void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it); + +ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, + ASN1_OCTET_STRING **oct); + +void ASN1_STRING_set_default_mask(unsigned long mask); +int ASN1_STRING_set_default_mask_asc(const char *p); +unsigned long ASN1_STRING_get_default_mask(void); +int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask); +int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask, + long minsize, long maxsize); + +ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, + const unsigned char *in, int inlen, + int inform, int nid); +ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); +int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); +void ASN1_STRING_TABLE_cleanup(void); + +/* ASN1 template functions */ + +/* Old API compatible functions */ +ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); +void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); +ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, + long len, const ASN1_ITEM *it); +int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); +int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, + const ASN1_ITEM *it); + +void ASN1_add_oid_module(void); +void ASN1_add_stable_module(void); + +ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf); +ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf); +int ASN1_str2mask(const char *str, unsigned long *pmask); + +/* ASN1 Print flags */ + +/* Indicate missing OPTIONAL fields */ +# define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 +/* Mark start and end of SEQUENCE */ +# define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 +/* Mark start and end of SEQUENCE/SET OF */ +# define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 +/* Show the ASN1 type of primitives */ +# define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 +/* Don't show ASN1 type of ANY */ +# define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 +/* Don't show ASN1 type of MSTRINGs */ +# define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 +/* Don't show field names in SEQUENCE */ +# define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 +/* Show structure names of each SEQUENCE field */ +# define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 +/* Don't show structure name even at top level */ +# define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 + +int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, + const ASN1_ITEM *it, const ASN1_PCTX *pctx); +ASN1_PCTX *ASN1_PCTX_new(void); +void ASN1_PCTX_free(ASN1_PCTX *p); +unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); + +ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx)); +void ASN1_SCTX_free(ASN1_SCTX *p); +const ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p); +const ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p); +unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p); +void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data); +void *ASN1_SCTX_get_app_data(ASN1_SCTX *p); + +const BIO_METHOD *BIO_f_asn1(void); + +BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); + +int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const ASN1_ITEM *it); +int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const char *hdr, const ASN1_ITEM *it); +int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, + int ctype_nid, int econt_nid, + STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); +int SMIME_crlf_copy(BIO *in, BIO *out, int flags); +int SMIME_text(BIO *in, BIO *out); + +const ASN1_ITEM *ASN1_ITEM_lookup(const char *name); +const ASN1_ITEM *ASN1_ITEM_get(size_t i); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/asn1_mac.h b/openssl/1.1/include/openssl/asn1_mac.h new file mode 100644 index 0000000..7ac1782 --- /dev/null +++ b/openssl/1.1/include/openssl/asn1_mac.h @@ -0,0 +1,10 @@ +/* + * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#error "This file is obsolete; please update your software." diff --git a/openssl/1.1/include/openssl/asn1err.h b/openssl/1.1/include/openssl/asn1err.h new file mode 100644 index 0000000..5a91126 --- /dev/null +++ b/openssl/1.1/include/openssl/asn1err.h @@ -0,0 +1,252 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ASN1ERR_H +# define HEADER_ASN1ERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_ASN1_strings(void); + +/* + * ASN1 function codes. + */ +# define ASN1_F_A2D_ASN1_OBJECT 100 +# define ASN1_F_A2I_ASN1_INTEGER 102 +# define ASN1_F_A2I_ASN1_STRING 103 +# define ASN1_F_APPEND_EXP 176 +# define ASN1_F_ASN1_BIO_INIT 113 +# define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 +# define ASN1_F_ASN1_CB 177 +# define ASN1_F_ASN1_CHECK_TLEN 104 +# define ASN1_F_ASN1_COLLECT 106 +# define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 +# define ASN1_F_ASN1_D2I_FP 109 +# define ASN1_F_ASN1_D2I_READ_BIO 107 +# define ASN1_F_ASN1_DIGEST 184 +# define ASN1_F_ASN1_DO_ADB 110 +# define ASN1_F_ASN1_DO_LOCK 233 +# define ASN1_F_ASN1_DUP 111 +# define ASN1_F_ASN1_ENC_SAVE 115 +# define ASN1_F_ASN1_EX_C2I 204 +# define ASN1_F_ASN1_FIND_END 190 +# define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 +# define ASN1_F_ASN1_GENERATE_V3 178 +# define ASN1_F_ASN1_GET_INT64 224 +# define ASN1_F_ASN1_GET_OBJECT 114 +# define ASN1_F_ASN1_GET_UINT64 225 +# define ASN1_F_ASN1_I2D_BIO 116 +# define ASN1_F_ASN1_I2D_FP 117 +# define ASN1_F_ASN1_ITEM_D2I_FP 206 +# define ASN1_F_ASN1_ITEM_DUP 191 +# define ASN1_F_ASN1_ITEM_EMBED_D2I 120 +# define ASN1_F_ASN1_ITEM_EMBED_NEW 121 +# define ASN1_F_ASN1_ITEM_FLAGS_I2D 118 +# define ASN1_F_ASN1_ITEM_I2D_BIO 192 +# define ASN1_F_ASN1_ITEM_I2D_FP 193 +# define ASN1_F_ASN1_ITEM_PACK 198 +# define ASN1_F_ASN1_ITEM_SIGN 195 +# define ASN1_F_ASN1_ITEM_SIGN_CTX 220 +# define ASN1_F_ASN1_ITEM_UNPACK 199 +# define ASN1_F_ASN1_ITEM_VERIFY 197 +# define ASN1_F_ASN1_MBSTRING_NCOPY 122 +# define ASN1_F_ASN1_OBJECT_NEW 123 +# define ASN1_F_ASN1_OUTPUT_DATA 214 +# define ASN1_F_ASN1_PCTX_NEW 205 +# define ASN1_F_ASN1_PRIMITIVE_NEW 119 +# define ASN1_F_ASN1_SCTX_NEW 221 +# define ASN1_F_ASN1_SIGN 128 +# define ASN1_F_ASN1_STR2TYPE 179 +# define ASN1_F_ASN1_STRING_GET_INT64 227 +# define ASN1_F_ASN1_STRING_GET_UINT64 230 +# define ASN1_F_ASN1_STRING_SET 186 +# define ASN1_F_ASN1_STRING_TABLE_ADD 129 +# define ASN1_F_ASN1_STRING_TO_BN 228 +# define ASN1_F_ASN1_STRING_TYPE_NEW 130 +# define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 +# define ASN1_F_ASN1_TEMPLATE_NEW 133 +# define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 +# define ASN1_F_ASN1_TIME_ADJ 217 +# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 +# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 +# define ASN1_F_ASN1_UTCTIME_ADJ 218 +# define ASN1_F_ASN1_VERIFY 137 +# define ASN1_F_B64_READ_ASN1 209 +# define ASN1_F_B64_WRITE_ASN1 210 +# define ASN1_F_BIO_NEW_NDEF 208 +# define ASN1_F_BITSTR_CB 180 +# define ASN1_F_BN_TO_ASN1_STRING 229 +# define ASN1_F_C2I_ASN1_BIT_STRING 189 +# define ASN1_F_C2I_ASN1_INTEGER 194 +# define ASN1_F_C2I_ASN1_OBJECT 196 +# define ASN1_F_C2I_IBUF 226 +# define ASN1_F_C2I_UINT64_INT 101 +# define ASN1_F_COLLECT_DATA 140 +# define ASN1_F_D2I_ASN1_OBJECT 147 +# define ASN1_F_D2I_ASN1_UINTEGER 150 +# define ASN1_F_D2I_AUTOPRIVATEKEY 207 +# define ASN1_F_D2I_PRIVATEKEY 154 +# define ASN1_F_D2I_PUBLICKEY 155 +# define ASN1_F_DO_BUF 142 +# define ASN1_F_DO_CREATE 124 +# define ASN1_F_DO_DUMP 125 +# define ASN1_F_DO_TCREATE 222 +# define ASN1_F_I2A_ASN1_OBJECT 126 +# define ASN1_F_I2D_ASN1_BIO_STREAM 211 +# define ASN1_F_I2D_ASN1_OBJECT 143 +# define ASN1_F_I2D_DSA_PUBKEY 161 +# define ASN1_F_I2D_EC_PUBKEY 181 +# define ASN1_F_I2D_PRIVATEKEY 163 +# define ASN1_F_I2D_PUBLICKEY 164 +# define ASN1_F_I2D_RSA_PUBKEY 165 +# define ASN1_F_LONG_C2I 166 +# define ASN1_F_NDEF_PREFIX 127 +# define ASN1_F_NDEF_SUFFIX 136 +# define ASN1_F_OID_MODULE_INIT 174 +# define ASN1_F_PARSE_TAGGING 182 +# define ASN1_F_PKCS5_PBE2_SET_IV 167 +# define ASN1_F_PKCS5_PBE2_SET_SCRYPT 231 +# define ASN1_F_PKCS5_PBE_SET 202 +# define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 +# define ASN1_F_PKCS5_PBKDF2_SET 219 +# define ASN1_F_PKCS5_SCRYPT_SET 232 +# define ASN1_F_SMIME_READ_ASN1 212 +# define ASN1_F_SMIME_TEXT 213 +# define ASN1_F_STABLE_GET 138 +# define ASN1_F_STBL_MODULE_INIT 223 +# define ASN1_F_UINT32_C2I 105 +# define ASN1_F_UINT32_NEW 139 +# define ASN1_F_UINT64_C2I 112 +# define ASN1_F_UINT64_NEW 141 +# define ASN1_F_X509_CRL_ADD0_REVOKED 169 +# define ASN1_F_X509_INFO_NEW 170 +# define ASN1_F_X509_NAME_ENCODE 203 +# define ASN1_F_X509_NAME_EX_D2I 158 +# define ASN1_F_X509_NAME_EX_NEW 171 +# define ASN1_F_X509_PKEY_NEW 173 + +/* + * ASN1 reason codes. + */ +# define ASN1_R_ADDING_OBJECT 171 +# define ASN1_R_ASN1_PARSE_ERROR 203 +# define ASN1_R_ASN1_SIG_PARSE_ERROR 204 +# define ASN1_R_AUX_ERROR 100 +# define ASN1_R_BAD_OBJECT_HEADER 102 +# define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214 +# define ASN1_R_BN_LIB 105 +# define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 +# define ASN1_R_BUFFER_TOO_SMALL 107 +# define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108 +# define ASN1_R_CONTEXT_NOT_INITIALISED 217 +# define ASN1_R_DATA_IS_WRONG 109 +# define ASN1_R_DECODE_ERROR 110 +# define ASN1_R_DEPTH_EXCEEDED 174 +# define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 198 +# define ASN1_R_ENCODE_ERROR 112 +# define ASN1_R_ERROR_GETTING_TIME 173 +# define ASN1_R_ERROR_LOADING_SECTION 172 +# define ASN1_R_ERROR_SETTING_CIPHER_PARAMS 114 +# define ASN1_R_EXPECTING_AN_INTEGER 115 +# define ASN1_R_EXPECTING_AN_OBJECT 116 +# define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119 +# define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120 +# define ASN1_R_FIELD_MISSING 121 +# define ASN1_R_FIRST_NUM_TOO_LARGE 122 +# define ASN1_R_HEADER_TOO_LONG 123 +# define ASN1_R_ILLEGAL_BITSTRING_FORMAT 175 +# define ASN1_R_ILLEGAL_BOOLEAN 176 +# define ASN1_R_ILLEGAL_CHARACTERS 124 +# define ASN1_R_ILLEGAL_FORMAT 177 +# define ASN1_R_ILLEGAL_HEX 178 +# define ASN1_R_ILLEGAL_IMPLICIT_TAG 179 +# define ASN1_R_ILLEGAL_INTEGER 180 +# define ASN1_R_ILLEGAL_NEGATIVE_VALUE 226 +# define ASN1_R_ILLEGAL_NESTED_TAGGING 181 +# define ASN1_R_ILLEGAL_NULL 125 +# define ASN1_R_ILLEGAL_NULL_VALUE 182 +# define ASN1_R_ILLEGAL_OBJECT 183 +# define ASN1_R_ILLEGAL_OPTIONAL_ANY 126 +# define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 170 +# define ASN1_R_ILLEGAL_PADDING 221 +# define ASN1_R_ILLEGAL_TAGGED_ANY 127 +# define ASN1_R_ILLEGAL_TIME_VALUE 184 +# define ASN1_R_ILLEGAL_ZERO_CONTENT 222 +# define ASN1_R_INTEGER_NOT_ASCII_FORMAT 185 +# define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 128 +# define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 220 +# define ASN1_R_INVALID_BMPSTRING_LENGTH 129 +# define ASN1_R_INVALID_DIGIT 130 +# define ASN1_R_INVALID_MIME_TYPE 205 +# define ASN1_R_INVALID_MODIFIER 186 +# define ASN1_R_INVALID_NUMBER 187 +# define ASN1_R_INVALID_OBJECT_ENCODING 216 +# define ASN1_R_INVALID_SCRYPT_PARAMETERS 227 +# define ASN1_R_INVALID_SEPARATOR 131 +# define ASN1_R_INVALID_STRING_TABLE_VALUE 218 +# define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 +# define ASN1_R_INVALID_UTF8STRING 134 +# define ASN1_R_INVALID_VALUE 219 +# define ASN1_R_LIST_ERROR 188 +# define ASN1_R_MIME_NO_CONTENT_TYPE 206 +# define ASN1_R_MIME_PARSE_ERROR 207 +# define ASN1_R_MIME_SIG_PARSE_ERROR 208 +# define ASN1_R_MISSING_EOC 137 +# define ASN1_R_MISSING_SECOND_NUMBER 138 +# define ASN1_R_MISSING_VALUE 189 +# define ASN1_R_MSTRING_NOT_UNIVERSAL 139 +# define ASN1_R_MSTRING_WRONG_TAG 140 +# define ASN1_R_NESTED_ASN1_STRING 197 +# define ASN1_R_NESTED_TOO_DEEP 201 +# define ASN1_R_NON_HEX_CHARACTERS 141 +# define ASN1_R_NOT_ASCII_FORMAT 190 +# define ASN1_R_NOT_ENOUGH_DATA 142 +# define ASN1_R_NO_CONTENT_TYPE 209 +# define ASN1_R_NO_MATCHING_CHOICE_TYPE 143 +# define ASN1_R_NO_MULTIPART_BODY_FAILURE 210 +# define ASN1_R_NO_MULTIPART_BOUNDARY 211 +# define ASN1_R_NO_SIG_CONTENT_TYPE 212 +# define ASN1_R_NULL_IS_WRONG_LENGTH 144 +# define ASN1_R_OBJECT_NOT_ASCII_FORMAT 191 +# define ASN1_R_ODD_NUMBER_OF_CHARS 145 +# define ASN1_R_SECOND_NUMBER_TOO_LARGE 147 +# define ASN1_R_SEQUENCE_LENGTH_MISMATCH 148 +# define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 149 +# define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 192 +# define ASN1_R_SHORT_LINE 150 +# define ASN1_R_SIG_INVALID_MIME_TYPE 213 +# define ASN1_R_STREAMING_NOT_SUPPORTED 202 +# define ASN1_R_STRING_TOO_LONG 151 +# define ASN1_R_STRING_TOO_SHORT 152 +# define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154 +# define ASN1_R_TIME_NOT_ASCII_FORMAT 193 +# define ASN1_R_TOO_LARGE 223 +# define ASN1_R_TOO_LONG 155 +# define ASN1_R_TOO_SMALL 224 +# define ASN1_R_TYPE_NOT_CONSTRUCTED 156 +# define ASN1_R_TYPE_NOT_PRIMITIVE 195 +# define ASN1_R_UNEXPECTED_EOC 159 +# define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 215 +# define ASN1_R_UNKNOWN_FORMAT 160 +# define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 +# define ASN1_R_UNKNOWN_OBJECT_TYPE 162 +# define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE 163 +# define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 199 +# define ASN1_R_UNKNOWN_TAG 194 +# define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 +# define ASN1_R_UNSUPPORTED_CIPHER 228 +# define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 +# define ASN1_R_UNSUPPORTED_TYPE 196 +# define ASN1_R_WRONG_INTEGER_TYPE 225 +# define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 +# define ASN1_R_WRONG_TAG 168 + +#endif diff --git a/openssl/1.1/include/openssl/asn1t.h b/openssl/1.1/include/openssl/asn1t.h new file mode 100644 index 0000000..a450ba0 --- /dev/null +++ b/openssl/1.1/include/openssl/asn1t.h @@ -0,0 +1,945 @@ +/* + * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ASN1T_H +# define HEADER_ASN1T_H + +# include +# include +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +/* ASN1 template defines, structures and functions */ + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + const ASN1_ITEM itname##_it = { + +# define static_ASN1_ITEM_start(itname) \ + static const ASN1_ITEM itname##_it = { + +# define ASN1_ITEM_end(itname) \ + }; + +# else + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)((iptr)())) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + const ASN1_ITEM * itname##_it(void) \ + { \ + static const ASN1_ITEM local_it = { + +# define static_ASN1_ITEM_start(itname) \ + static ASN1_ITEM_start(itname) + +# define ASN1_ITEM_end(itname) \ + }; \ + return &local_it; \ + } + +# endif + +/* Macros to aid ASN1 template writing */ + +# define ASN1_ITEM_TEMPLATE(tname) \ + static const ASN1_TEMPLATE tname##_item_tt + +# define ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) + +/* This is a ASN1 type which just embeds a template */ + +/*- + * This pair helps declare a SEQUENCE. We can do: + * + * ASN1_SEQUENCE(stname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END(stname) + * + * This will produce an ASN1_ITEM called stname_it + * for a structure called stname. + * + * If you want the same structure but a different + * name then use: + * + * ASN1_SEQUENCE(itname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END_name(stname, itname) + * + * This will create an item called itname_it using + * a structure called stname. + */ + +# define ASN1_SEQUENCE(tname) \ + static const ASN1_TEMPLATE tname##_seq_tt[] + +# define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) + +# define static_ASN1_SEQUENCE_END(stname) static_ASN1_SEQUENCE_END_name(stname, stname) + +# define ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #tname \ + ASN1_ITEM_end(tname) + +# define static_ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE(tname) \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ + ASN1_SEQUENCE_cb(tname, cb) + +# define ASN1_SEQUENCE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_BROKEN_SEQUENCE(tname) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_ref(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_enc(tname, enc, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) + +# define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) +# define static_ASN1_BROKEN_SEQUENCE_END(stname) \ + static_ASN1_SEQUENCE_END_ref(stname, stname) + +# define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) +# define static_ASN1_SEQUENCE_END_cb(stname, tname) static_ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/*- + * This pair helps declare a CHOICE type. We can do: + * + * ASN1_CHOICE(chname) = { + * ... CHOICE options ... + * ASN1_CHOICE_END(chname) + * + * This will produce an ASN1_ITEM called chname_it + * for a structure called chname. The structure + * definition must look like this: + * typedef struct { + * int type; + * union { + * ASN1_SOMETHING *opt1; + * ASN1_SOMEOTHER *opt2; + * } value; + * } chname; + * + * the name of the selector must be 'type'. + * to use an alternative selector name use the + * ASN1_CHOICE_END_selector() version. + */ + +# define ASN1_CHOICE(tname) \ + static const ASN1_TEMPLATE tname##_ch_tt[] + +# define ASN1_CHOICE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_CHOICE(tname) + +# define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) + +# define static_ASN1_CHOICE_END(stname) static_ASN1_CHOICE_END_name(stname, stname) + +# define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) + +# define static_ASN1_CHOICE_END_name(stname, tname) static_ASN1_CHOICE_END_selector(stname, tname, type) + +# define ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define static_ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_CHOICE_END_cb(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/* This helps with the template wrapper form of ASN1_ITEM */ + +# define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ + (flags), (tag), 0,\ + #name, ASN1_ITEM_ref(type) } + +/* These help with SEQUENCE or CHOICE components */ + +/* used to declare other types */ + +# define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ + (flags), (tag), offsetof(stname, field),\ + #field, ASN1_ITEM_ref(type) } + +/* implicit and explicit helper macros */ + +# define ASN1_IMP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | (ex), tag, stname, field, type) + +# define ASN1_EXP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | (ex), tag, stname, field, type) + +/* Any defined by macros: the field used is in the table itself */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# else +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } +# endif +/* Plain simple type */ +# define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) +/* Embedded simple type */ +# define ASN1_EMBED(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_EMBED,0, stname, field, type) + +/* OPTIONAL simple type */ +# define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) +# define ASN1_OPT_EMBED(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED, 0, stname, field, type) + +/* IMPLICIT tagged simple type */ +# define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) +# define ASN1_IMP_EMBED(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_EMBED) + +/* IMPLICIT tagged OPTIONAL simple type */ +# define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) +# define ASN1_IMP_OPT_EMBED(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED) + +/* Same as above but EXPLICIT */ + +# define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) +# define ASN1_EXP_EMBED(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_EMBED) +# define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) +# define ASN1_EXP_OPT_EMBED(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED) + +/* SEQUENCE OF type */ +# define ASN1_SEQUENCE_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) + +/* OPTIONAL SEQUENCE OF */ +# define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Same as above but for SET OF */ + +# define ASN1_SET_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) + +# define ASN1_SET_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ + +# define ASN1_IMP_SET_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_EXP_SET_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +/* EXPLICIT using indefinite length constructed form */ +# define ASN1_NDEF_EXP(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) + +/* EXPLICIT OPTIONAL using indefinite length constructed form */ +# define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) + +/* Macros for the ASN1_ADB structure */ + +# define ASN1_ADB(name) \ + static const ASN1_ADB_TABLE name##_adbtbl[] + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ + ;\ + static const ASN1_ADB name##_adb = {\ + flags,\ + offsetof(name, field),\ + adb_cb,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + } + +# else + +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ + ;\ + static const ASN1_ITEM *name##_adb(void) \ + { \ + static const ASN1_ADB internal_adb = \ + {\ + flags,\ + offsetof(name, field),\ + adb_cb,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + }; \ + return (const ASN1_ITEM *) &internal_adb; \ + } \ + void dummy_function(void) + +# endif + +# define ADB_ENTRY(val, template) {val, template} + +# define ASN1_ADB_TEMPLATE(name) \ + static const ASN1_TEMPLATE name##_tt + +/* + * This is the ASN1 template structure that defines a wrapper round the + * actual type. It determines the actual position of the field in the value + * structure, various flags such as OPTIONAL and the field name. + */ + +struct ASN1_TEMPLATE_st { + unsigned long flags; /* Various flags */ + long tag; /* tag, not used if no tagging */ + unsigned long offset; /* Offset of this field in structure */ + const char *field_name; /* Field name */ + ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ +}; + +/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ + +# define ASN1_TEMPLATE_item(t) (t->item_ptr) +# define ASN1_TEMPLATE_adb(t) (t->item_ptr) + +typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; +typedef struct ASN1_ADB_st ASN1_ADB; + +struct ASN1_ADB_st { + unsigned long flags; /* Various flags */ + unsigned long offset; /* Offset of selector field */ + int (*adb_cb)(long *psel); /* Application callback */ + const ASN1_ADB_TABLE *tbl; /* Table of possible types */ + long tblcount; /* Number of entries in tbl */ + const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ + const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ +}; + +struct ASN1_ADB_TABLE_st { + long value; /* NID for an object or value for an int */ + const ASN1_TEMPLATE tt; /* item for this value */ +}; + +/* template flags */ + +/* Field is optional */ +# define ASN1_TFLG_OPTIONAL (0x1) + +/* Field is a SET OF */ +# define ASN1_TFLG_SET_OF (0x1 << 1) + +/* Field is a SEQUENCE OF */ +# define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) + +/* + * Special case: this refers to a SET OF that will be sorted into DER order + * when encoded *and* the corresponding STACK will be modified to match the + * new order. + */ +# define ASN1_TFLG_SET_ORDER (0x3 << 1) + +/* Mask for SET OF or SEQUENCE OF */ +# define ASN1_TFLG_SK_MASK (0x3 << 1) + +/* + * These flags mean the tag should be taken from the tag field. If EXPLICIT + * then the underlying type is used for the inner tag. + */ + +/* IMPLICIT tagging */ +# define ASN1_TFLG_IMPTAG (0x1 << 3) + +/* EXPLICIT tagging, inner tag from underlying type */ +# define ASN1_TFLG_EXPTAG (0x2 << 3) + +# define ASN1_TFLG_TAG_MASK (0x3 << 3) + +/* context specific IMPLICIT */ +# define ASN1_TFLG_IMPLICIT (ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT) + +/* context specific EXPLICIT */ +# define ASN1_TFLG_EXPLICIT (ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT) + +/* + * If tagging is in force these determine the type of tag to use. Otherwise + * the tag is determined by the underlying type. These values reflect the + * actual octet format. + */ + +/* Universal tag */ +# define ASN1_TFLG_UNIVERSAL (0x0<<6) +/* Application tag */ +# define ASN1_TFLG_APPLICATION (0x1<<6) +/* Context specific tag */ +# define ASN1_TFLG_CONTEXT (0x2<<6) +/* Private tag */ +# define ASN1_TFLG_PRIVATE (0x3<<6) + +# define ASN1_TFLG_TAG_CLASS (0x3<<6) + +/* + * These are for ANY DEFINED BY type. In this case the 'item' field points to + * an ASN1_ADB structure which contains a table of values to decode the + * relevant type + */ + +# define ASN1_TFLG_ADB_MASK (0x3<<8) + +# define ASN1_TFLG_ADB_OID (0x1<<8) + +# define ASN1_TFLG_ADB_INT (0x1<<9) + +/* + * This flag when present in a SEQUENCE OF, SET OF or EXPLICIT causes + * indefinite length constructed encoding to be used if required. + */ + +# define ASN1_TFLG_NDEF (0x1<<11) + +/* Field is embedded and not a pointer */ +# define ASN1_TFLG_EMBED (0x1 << 12) + +/* This is the actual ASN1 item itself */ + +struct ASN1_ITEM_st { + char itype; /* The item type, primitive, SEQUENCE, CHOICE + * or extern */ + long utype; /* underlying type */ + const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains + * the contents */ + long tcount; /* Number of templates if SEQUENCE or CHOICE */ + const void *funcs; /* functions that handle this type */ + long size; /* Structure size (usually) */ + const char *sname; /* Structure name */ +}; + +/*- + * These are values for the itype field and + * determine how the type is interpreted. + * + * For PRIMITIVE types the underlying type + * determines the behaviour if items is NULL. + * + * Otherwise templates must contain a single + * template and the type is treated in the + * same way as the type specified in the template. + * + * For SEQUENCE types the templates field points + * to the members, the size field is the + * structure size. + * + * For CHOICE types the templates field points + * to each possible member (typically a union) + * and the 'size' field is the offset of the + * selector. + * + * The 'funcs' field is used for application + * specific functions. + * + * The EXTERN type uses a new style d2i/i2d. + * The new style should be used where possible + * because it avoids things like the d2i IMPLICIT + * hack. + * + * MSTRING is a multiple string type, it is used + * for a CHOICE of character strings where the + * actual strings all occupy an ASN1_STRING + * structure. In this case the 'utype' field + * has a special meaning, it is used as a mask + * of acceptable types using the B_ASN1 constants. + * + * NDEF_SEQUENCE is the same as SEQUENCE except + * that it will use indefinite length constructed + * encoding if requested. + * + */ + +# define ASN1_ITYPE_PRIMITIVE 0x0 + +# define ASN1_ITYPE_SEQUENCE 0x1 + +# define ASN1_ITYPE_CHOICE 0x2 + +# define ASN1_ITYPE_EXTERN 0x4 + +# define ASN1_ITYPE_MSTRING 0x5 + +# define ASN1_ITYPE_NDEF_SEQUENCE 0x6 + +/* + * Cache for ASN1 tag and length, so we don't keep re-reading it for things + * like CHOICE + */ + +struct ASN1_TLC_st { + char valid; /* Values below are valid */ + int ret; /* return value */ + long plen; /* length */ + int ptag; /* class value */ + int pclass; /* class value */ + int hdrlen; /* header length */ +}; + +/* Typedefs for ASN1 function pointers */ +typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); +typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); +typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); + +typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, + int indent, const char *fname, + const ASN1_PCTX *pctx); + +typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, + int *putype, const ASN1_ITEM *it); +typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, + int len, int utype, char *free_cont, + const ASN1_ITEM *it); +typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, + const ASN1_ITEM *it, int indent, + const ASN1_PCTX *pctx); + +typedef struct ASN1_EXTERN_FUNCS_st { + void *app_data; + ASN1_ex_new_func *asn1_ex_new; + ASN1_ex_free_func *asn1_ex_free; + ASN1_ex_free_func *asn1_ex_clear; + ASN1_ex_d2i *asn1_ex_d2i; + ASN1_ex_i2d *asn1_ex_i2d; + ASN1_ex_print_func *asn1_ex_print; +} ASN1_EXTERN_FUNCS; + +typedef struct ASN1_PRIMITIVE_FUNCS_st { + void *app_data; + unsigned long flags; + ASN1_ex_new_func *prim_new; + ASN1_ex_free_func *prim_free; + ASN1_ex_free_func *prim_clear; + ASN1_primitive_c2i *prim_c2i; + ASN1_primitive_i2c *prim_i2c; + ASN1_primitive_print *prim_print; +} ASN1_PRIMITIVE_FUNCS; + +/* + * This is the ASN1_AUX structure: it handles various miscellaneous + * requirements. For example the use of reference counts and an informational + * callback. The "informational callback" is called at various points during + * the ASN1 encoding and decoding. It can be used to provide minor + * customisation of the structures used. This is most useful where the + * supplied routines *almost* do the right thing but need some extra help at + * a few points. If the callback returns zero then it is assumed a fatal + * error has occurred and the main operation should be abandoned. If major + * changes in the default behaviour are required then an external type is + * more appropriate. + */ + +typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, + void *exarg); + +typedef struct ASN1_AUX_st { + void *app_data; + int flags; + int ref_offset; /* Offset of reference value */ + int ref_lock; /* Lock type to use */ + ASN1_aux_cb *asn1_cb; + int enc_offset; /* Offset of ASN1_ENCODING structure */ +} ASN1_AUX; + +/* For print related callbacks exarg points to this structure */ +typedef struct ASN1_PRINT_ARG_st { + BIO *out; + int indent; + const ASN1_PCTX *pctx; +} ASN1_PRINT_ARG; + +/* For streaming related callbacks exarg points to this structure */ +typedef struct ASN1_STREAM_ARG_st { + /* BIO to stream through */ + BIO *out; + /* BIO with filters appended */ + BIO *ndef_bio; + /* Streaming I/O boundary */ + unsigned char **boundary; +} ASN1_STREAM_ARG; + +/* Flags in ASN1_AUX */ + +/* Use a reference count */ +# define ASN1_AFLG_REFCOUNT 1 +/* Save the encoding of structure (useful for signatures) */ +# define ASN1_AFLG_ENCODING 2 +/* The Sequence length is invalid */ +# define ASN1_AFLG_BROKEN 4 + +/* operation values for asn1_cb */ + +# define ASN1_OP_NEW_PRE 0 +# define ASN1_OP_NEW_POST 1 +# define ASN1_OP_FREE_PRE 2 +# define ASN1_OP_FREE_POST 3 +# define ASN1_OP_D2I_PRE 4 +# define ASN1_OP_D2I_POST 5 +# define ASN1_OP_I2D_PRE 6 +# define ASN1_OP_I2D_POST 7 +# define ASN1_OP_PRINT_PRE 8 +# define ASN1_OP_PRINT_POST 9 +# define ASN1_OP_STREAM_PRE 10 +# define ASN1_OP_STREAM_POST 11 +# define ASN1_OP_DETACHED_PRE 12 +# define ASN1_OP_DETACHED_POST 13 + +/* Macro to implement a primitive type */ +# define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) +# define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement a multi string type */ +# define IMPLEMENT_ASN1_MSTRING(itname, mask) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ + ASN1_ITEM_end(itname) + +# define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_EXTERN, \ + tag, \ + NULL, \ + 0, \ + &fptrs, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +/* Macro to implement standard functions in terms of ASN1_ITEM structures */ + +# define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) + +# define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ + IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) + +# define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ + pre stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + pre void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ + stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ + int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ + { \ + return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ + } + +# define IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(stname) \ + static stname *d2i_##stname(stname **a, \ + const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \ + ASN1_ITEM_rptr(stname)); \ + } \ + static int i2d_##stname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, \ + ASN1_ITEM_rptr(stname)); \ + } + +/* + * This includes evil casts to remove const: they will go away when full ASN1 + * constification is done. + */ +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ + stname * stname##_dup(stname *x) \ + { \ + return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ + } + +# define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ + IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx) \ + { \ + return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ + ASN1_ITEM_rptr(itname), pctx); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ + IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) + +# define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +/* external definitions for primitive types */ + +DECLARE_ASN1_ITEM(ASN1_BOOLEAN) +DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_SEQUENCE) +DECLARE_ASN1_ITEM(CBIGNUM) +DECLARE_ASN1_ITEM(BIGNUM) +DECLARE_ASN1_ITEM(INT32) +DECLARE_ASN1_ITEM(ZINT32) +DECLARE_ASN1_ITEM(UINT32) +DECLARE_ASN1_ITEM(ZUINT32) +DECLARE_ASN1_ITEM(INT64) +DECLARE_ASN1_ITEM(ZINT64) +DECLARE_ASN1_ITEM(UINT64) +DECLARE_ASN1_ITEM(ZUINT64) + +# if OPENSSL_API_COMPAT < 0x10200000L +/* + * LONG and ZLONG are strongly discouraged for use as stored data, as the + * underlying C type (long) differs in size depending on the architecture. + * They are designed with 32-bit longs in mind. + */ +DECLARE_ASN1_ITEM(LONG) +DECLARE_ASN1_ITEM(ZLONG) +# endif + +DEFINE_STACK_OF(ASN1_VALUE) + +/* Functions used internally by the ASN1 code */ + +int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); +void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); + +int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/async.h b/openssl/1.1/include/openssl/async.h new file mode 100644 index 0000000..7052b89 --- /dev/null +++ b/openssl/1.1/include/openssl/async.h @@ -0,0 +1,76 @@ +/* + * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifndef HEADER_ASYNC_H +# define HEADER_ASYNC_H + +#if defined(_WIN32) +# if defined(BASETYPES) || defined(_WINDEF_H) +/* application has to include to use this */ +#define OSSL_ASYNC_FD HANDLE +#define OSSL_BAD_ASYNC_FD INVALID_HANDLE_VALUE +# endif +#else +#define OSSL_ASYNC_FD int +#define OSSL_BAD_ASYNC_FD -1 +#endif +# include + + +# ifdef __cplusplus +extern "C" { +# endif + +typedef struct async_job_st ASYNC_JOB; +typedef struct async_wait_ctx_st ASYNC_WAIT_CTX; + +#define ASYNC_ERR 0 +#define ASYNC_NO_JOBS 1 +#define ASYNC_PAUSE 2 +#define ASYNC_FINISH 3 + +int ASYNC_init_thread(size_t max_size, size_t init_size); +void ASYNC_cleanup_thread(void); + +#ifdef OSSL_ASYNC_FD +ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void); +void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx); +int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key, + OSSL_ASYNC_FD fd, + void *custom_data, + void (*cleanup)(ASYNC_WAIT_CTX *, const void *, + OSSL_ASYNC_FD, void *)); +int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx, const void *key, + OSSL_ASYNC_FD *fd, void **custom_data); +int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *fd, + size_t *numfds); +int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *addfd, + size_t *numaddfds, OSSL_ASYNC_FD *delfd, + size_t *numdelfds); +int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key); +#endif + +int ASYNC_is_capable(void); + +int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *ctx, int *ret, + int (*func)(void *), void *args, size_t size); +int ASYNC_pause_job(void); + +ASYNC_JOB *ASYNC_get_current_job(void); +ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job); +void ASYNC_block_pause(void); +void ASYNC_unblock_pause(void); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/asyncerr.h b/openssl/1.1/include/openssl/asyncerr.h new file mode 100644 index 0000000..5497ba7 --- /dev/null +++ b/openssl/1.1/include/openssl/asyncerr.h @@ -0,0 +1,38 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ASYNCERR_H +# define HEADER_ASYNCERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_ASYNC_strings(void); + +/* + * ASYNC function codes. + */ +# define ASYNC_F_ASYNC_CTX_NEW 100 +# define ASYNC_F_ASYNC_INIT_THREAD 101 +# define ASYNC_F_ASYNC_JOB_NEW 102 +# define ASYNC_F_ASYNC_PAUSE_JOB 103 +# define ASYNC_F_ASYNC_START_FUNC 104 +# define ASYNC_F_ASYNC_START_JOB 105 +# define ASYNC_F_ASYNC_WAIT_CTX_SET_WAIT_FD 106 + +/* + * ASYNC reason codes. + */ +# define ASYNC_R_FAILED_TO_SET_POOL 101 +# define ASYNC_R_FAILED_TO_SWAP_CONTEXT 102 +# define ASYNC_R_INIT_FAILED 105 +# define ASYNC_R_INVALID_POOL_SIZE 103 + +#endif diff --git a/openssl/1.1/include/openssl/bio.h b/openssl/1.1/include/openssl/bio.h new file mode 100644 index 0000000..2888b42 --- /dev/null +++ b/openssl/1.1/include/openssl/bio.h @@ -0,0 +1,804 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BIO_H +# define HEADER_BIO_H + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# endif +# include + +# include +# include + +# ifndef OPENSSL_NO_SCTP +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* There are the classes of BIOs */ +# define BIO_TYPE_DESCRIPTOR 0x0100 /* socket, fd, connect or accept */ +# define BIO_TYPE_FILTER 0x0200 +# define BIO_TYPE_SOURCE_SINK 0x0400 + +/* These are the 'types' of BIOs */ +# define BIO_TYPE_NONE 0 +# define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK) +# define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK) + +# define BIO_TYPE_FD ( 4|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_SOCKET ( 5|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_NULL ( 6|BIO_TYPE_SOURCE_SINK) +# define BIO_TYPE_SSL ( 7|BIO_TYPE_FILTER) +# define BIO_TYPE_MD ( 8|BIO_TYPE_FILTER) +# define BIO_TYPE_BUFFER ( 9|BIO_TYPE_FILTER) +# define BIO_TYPE_CIPHER (10|BIO_TYPE_FILTER) +# define BIO_TYPE_BASE64 (11|BIO_TYPE_FILTER) +# define BIO_TYPE_CONNECT (12|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_ACCEPT (13|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) + +# define BIO_TYPE_NBIO_TEST (16|BIO_TYPE_FILTER)/* server proxy BIO */ +# define BIO_TYPE_NULL_FILTER (17|BIO_TYPE_FILTER) +# define BIO_TYPE_BIO (19|BIO_TYPE_SOURCE_SINK)/* half a BIO pair */ +# define BIO_TYPE_LINEBUFFER (20|BIO_TYPE_FILTER) +# define BIO_TYPE_DGRAM (21|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_ASN1 (22|BIO_TYPE_FILTER) +# define BIO_TYPE_COMP (23|BIO_TYPE_FILTER) +# ifndef OPENSSL_NO_SCTP +# define BIO_TYPE_DGRAM_SCTP (24|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# endif + +#define BIO_TYPE_START 128 + +/* + * BIO_FILENAME_READ|BIO_CLOSE to open or close on free. + * BIO_set_fp(in,stdin,BIO_NOCLOSE); + */ +# define BIO_NOCLOSE 0x00 +# define BIO_CLOSE 0x01 + +/* + * These are used in the following macros and are passed to BIO_ctrl() + */ +# define BIO_CTRL_RESET 1/* opt - rewind/zero etc */ +# define BIO_CTRL_EOF 2/* opt - are we at the eof */ +# define BIO_CTRL_INFO 3/* opt - extra tit-bits */ +# define BIO_CTRL_SET 4/* man - set the 'IO' type */ +# define BIO_CTRL_GET 5/* man - get the 'IO' type */ +# define BIO_CTRL_PUSH 6/* opt - internal, used to signify change */ +# define BIO_CTRL_POP 7/* opt - internal, used to signify change */ +# define BIO_CTRL_GET_CLOSE 8/* man - set the 'close' on free */ +# define BIO_CTRL_SET_CLOSE 9/* man - set the 'close' on free */ +# define BIO_CTRL_PENDING 10/* opt - is their more data buffered */ +# define BIO_CTRL_FLUSH 11/* opt - 'flush' buffered output */ +# define BIO_CTRL_DUP 12/* man - extra stuff for 'duped' BIO */ +# define BIO_CTRL_WPENDING 13/* opt - number of bytes still to write */ +# define BIO_CTRL_SET_CALLBACK 14/* opt - set callback function */ +# define BIO_CTRL_GET_CALLBACK 15/* opt - set callback function */ + +# define BIO_CTRL_PEEK 29/* BIO_f_buffer special */ +# define BIO_CTRL_SET_FILENAME 30/* BIO_s_file special */ + +/* dgram BIO stuff */ +# define BIO_CTRL_DGRAM_CONNECT 31/* BIO dgram special */ +# define BIO_CTRL_DGRAM_SET_CONNECTED 32/* allow for an externally connected + * socket to be passed in */ +# define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34/* getsockopt, essentially */ +# define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36/* getsockopt, essentially */ + +# define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37/* flag whether the last */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38/* I/O operation tiemd out */ + +/* #ifdef IP_MTU_DISCOVER */ +# define BIO_CTRL_DGRAM_MTU_DISCOVER 39/* set DF bit on egress packets */ +/* #endif */ + +# define BIO_CTRL_DGRAM_QUERY_MTU 40/* as kernel for current MTU */ +# define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 +# define BIO_CTRL_DGRAM_GET_MTU 41/* get cached value for MTU */ +# define BIO_CTRL_DGRAM_SET_MTU 42/* set cached value for MTU. + * want to use this if asking + * the kernel fails */ + +# define BIO_CTRL_DGRAM_MTU_EXCEEDED 43/* check whether the MTU was + * exceed in the previous write + * operation */ + +# define BIO_CTRL_DGRAM_GET_PEER 46 +# define BIO_CTRL_DGRAM_SET_PEER 44/* Destination for the data */ + +# define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45/* Next DTLS handshake timeout + * to adjust socket timeouts */ +# define BIO_CTRL_DGRAM_SET_DONT_FRAG 48 + +# define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD 49 + +/* Deliberately outside of OPENSSL_NO_SCTP - used in bss_dgram.c */ +# define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 +# ifndef OPENSSL_NO_SCTP +/* SCTP stuff */ +# define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 +# define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 +# define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 +# define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 +# define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 +# define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 +# define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 +# define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 +# define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 +# define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 +# endif + +# define BIO_CTRL_DGRAM_SET_PEEK_MODE 71 + +/* modifiers */ +# define BIO_FP_READ 0x02 +# define BIO_FP_WRITE 0x04 +# define BIO_FP_APPEND 0x08 +# define BIO_FP_TEXT 0x10 + +# define BIO_FLAGS_READ 0x01 +# define BIO_FLAGS_WRITE 0x02 +# define BIO_FLAGS_IO_SPECIAL 0x04 +# define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) +# define BIO_FLAGS_SHOULD_RETRY 0x08 +# ifndef BIO_FLAGS_UPLINK +/* + * "UPLINK" flag denotes file descriptors provided by application. It + * defaults to 0, as most platforms don't require UPLINK interface. + */ +# define BIO_FLAGS_UPLINK 0 +# endif + +# define BIO_FLAGS_BASE64_NO_NL 0x100 + +/* + * This is used with memory BIOs: + * BIO_FLAGS_MEM_RDONLY means we shouldn't free up or change the data in any way; + * BIO_FLAGS_NONCLEAR_RST means we shouldn't clear data on reset. + */ +# define BIO_FLAGS_MEM_RDONLY 0x200 +# define BIO_FLAGS_NONCLEAR_RST 0x400 + +typedef union bio_addr_st BIO_ADDR; +typedef struct bio_addrinfo_st BIO_ADDRINFO; + +int BIO_get_new_index(void); +void BIO_set_flags(BIO *b, int flags); +int BIO_test_flags(const BIO *b, int flags); +void BIO_clear_flags(BIO *b, int flags); + +# define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) +# define BIO_set_retry_special(b) \ + BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_read(b) \ + BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_write(b) \ + BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) + +/* These are normally used internally in BIOs */ +# define BIO_clear_retry_flags(b) \ + BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_get_retry_flags(b) \ + BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) + +/* These should be used by the application to tell why we should retry */ +# define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) +# define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) +# define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) +# define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) +# define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) + +/* + * The next three are used in conjunction with the BIO_should_io_special() + * condition. After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int + * *reason); will walk the BIO stack and return the 'reason' for the special + * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return + * the code. + */ +/* + * Returned from the SSL bio when the certificate retrieval code had an error + */ +# define BIO_RR_SSL_X509_LOOKUP 0x01 +/* Returned from the connect BIO when a connect would have blocked */ +# define BIO_RR_CONNECT 0x02 +/* Returned from the accept BIO when an accept would have blocked */ +# define BIO_RR_ACCEPT 0x03 + +/* These are passed by the BIO callback */ +# define BIO_CB_FREE 0x01 +# define BIO_CB_READ 0x02 +# define BIO_CB_WRITE 0x03 +# define BIO_CB_PUTS 0x04 +# define BIO_CB_GETS 0x05 +# define BIO_CB_CTRL 0x06 + +/* + * The callback is called before and after the underling operation, The + * BIO_CB_RETURN flag indicates if it is after the call + */ +# define BIO_CB_RETURN 0x80 +# define BIO_CB_return(a) ((a)|BIO_CB_RETURN) +# define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) +# define BIO_cb_post(a) ((a)&BIO_CB_RETURN) + +typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi, + long argl, long ret); +typedef long (*BIO_callback_fn_ex)(BIO *b, int oper, const char *argp, + size_t len, int argi, + long argl, int ret, size_t *processed); +BIO_callback_fn BIO_get_callback(const BIO *b); +void BIO_set_callback(BIO *b, BIO_callback_fn callback); + +BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b); +void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex callback); + +char *BIO_get_callback_arg(const BIO *b); +void BIO_set_callback_arg(BIO *b, char *arg); + +typedef struct bio_method_st BIO_METHOD; + +const char *BIO_method_name(const BIO *b); +int BIO_method_type(const BIO *b); + +typedef int BIO_info_cb(BIO *, int, int); +typedef BIO_info_cb bio_info_cb; /* backward compatibility */ + +DEFINE_STACK_OF(BIO) + +/* Prefix and suffix callback in ASN1 BIO */ +typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, + void *parg); + +# ifndef OPENSSL_NO_SCTP +/* SCTP parameter structs */ +struct bio_dgram_sctp_sndinfo { + uint16_t snd_sid; + uint16_t snd_flags; + uint32_t snd_ppid; + uint32_t snd_context; +}; + +struct bio_dgram_sctp_rcvinfo { + uint16_t rcv_sid; + uint16_t rcv_ssn; + uint16_t rcv_flags; + uint32_t rcv_ppid; + uint32_t rcv_tsn; + uint32_t rcv_cumtsn; + uint32_t rcv_context; +}; + +struct bio_dgram_sctp_prinfo { + uint16_t pr_policy; + uint32_t pr_value; +}; +# endif + +/* + * #define BIO_CONN_get_param_hostname BIO_ctrl + */ + +# define BIO_C_SET_CONNECT 100 +# define BIO_C_DO_STATE_MACHINE 101 +# define BIO_C_SET_NBIO 102 +/* # define BIO_C_SET_PROXY_PARAM 103 */ +# define BIO_C_SET_FD 104 +# define BIO_C_GET_FD 105 +# define BIO_C_SET_FILE_PTR 106 +# define BIO_C_GET_FILE_PTR 107 +# define BIO_C_SET_FILENAME 108 +# define BIO_C_SET_SSL 109 +# define BIO_C_GET_SSL 110 +# define BIO_C_SET_MD 111 +# define BIO_C_GET_MD 112 +# define BIO_C_GET_CIPHER_STATUS 113 +# define BIO_C_SET_BUF_MEM 114 +# define BIO_C_GET_BUF_MEM_PTR 115 +# define BIO_C_GET_BUFF_NUM_LINES 116 +# define BIO_C_SET_BUFF_SIZE 117 +# define BIO_C_SET_ACCEPT 118 +# define BIO_C_SSL_MODE 119 +# define BIO_C_GET_MD_CTX 120 +/* # define BIO_C_GET_PROXY_PARAM 121 */ +# define BIO_C_SET_BUFF_READ_DATA 122/* data to read first */ +# define BIO_C_GET_CONNECT 123 +# define BIO_C_GET_ACCEPT 124 +# define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 +# define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 +# define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 +# define BIO_C_FILE_SEEK 128 +# define BIO_C_GET_CIPHER_CTX 129 +# define BIO_C_SET_BUF_MEM_EOF_RETURN 130/* return end of input + * value */ +# define BIO_C_SET_BIND_MODE 131 +# define BIO_C_GET_BIND_MODE 132 +# define BIO_C_FILE_TELL 133 +# define BIO_C_GET_SOCKS 134 +# define BIO_C_SET_SOCKS 135 + +# define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ +# define BIO_C_GET_WRITE_BUF_SIZE 137 +# define BIO_C_MAKE_BIO_PAIR 138 +# define BIO_C_DESTROY_BIO_PAIR 139 +# define BIO_C_GET_WRITE_GUARANTEE 140 +# define BIO_C_GET_READ_REQUEST 141 +# define BIO_C_SHUTDOWN_WR 142 +# define BIO_C_NREAD0 143 +# define BIO_C_NREAD 144 +# define BIO_C_NWRITE0 145 +# define BIO_C_NWRITE 146 +# define BIO_C_RESET_READ_REQUEST 147 +# define BIO_C_SET_MD_CTX 148 + +# define BIO_C_SET_PREFIX 149 +# define BIO_C_GET_PREFIX 150 +# define BIO_C_SET_SUFFIX 151 +# define BIO_C_GET_SUFFIX 152 + +# define BIO_C_SET_EX_ARG 153 +# define BIO_C_GET_EX_ARG 154 + +# define BIO_C_SET_CONNECT_MODE 155 + +# define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) +# define BIO_get_app_data(s) BIO_get_ex_data(s,0) + +# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) + +# ifndef OPENSSL_NO_SOCK +/* IP families we support, for BIO_s_connect() and BIO_s_accept() */ +/* Note: the underlying operating system may not support some of them */ +# define BIO_FAMILY_IPV4 4 +# define BIO_FAMILY_IPV6 6 +# define BIO_FAMILY_IPANY 256 + +/* BIO_s_connect() */ +# define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0, \ + (char *)(name)) +# define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1, \ + (char *)(port)) +# define BIO_set_conn_address(b,addr) BIO_ctrl(b,BIO_C_SET_CONNECT,2, \ + (char *)(addr)) +# define BIO_set_conn_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_CONNECT,3,f) +# define BIO_get_conn_hostname(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0)) +# define BIO_get_conn_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1)) +# define BIO_get_conn_address(b) ((const BIO_ADDR *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2)) +# define BIO_get_conn_ip_family(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL) +# define BIO_set_conn_mode(b,n) BIO_ctrl(b,BIO_C_SET_CONNECT_MODE,(n),NULL) + +/* BIO_s_accept() */ +# define BIO_set_accept_name(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0, \ + (char *)(name)) +# define BIO_set_accept_port(b,port) BIO_ctrl(b,BIO_C_SET_ACCEPT,1, \ + (char *)(port)) +# define BIO_get_accept_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0)) +# define BIO_get_accept_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,1)) +# define BIO_get_peer_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,2)) +# define BIO_get_peer_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,3)) +/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ +# define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(n)?(void *)"a":NULL) +# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,3, \ + (char *)(bio)) +# define BIO_set_accept_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_ACCEPT,4,f) +# define BIO_get_accept_ip_family(b) BIO_ctrl(b,BIO_C_GET_ACCEPT,4,NULL) + +/* Aliases kept for backward compatibility */ +# define BIO_BIND_NORMAL 0 +# define BIO_BIND_REUSEADDR BIO_SOCK_REUSEADDR +# define BIO_BIND_REUSEADDR_IF_UNUSED BIO_SOCK_REUSEADDR +# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) +# define BIO_get_bind_mode(b) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) + +/* BIO_s_accept() and BIO_s_connect() */ +# define BIO_do_connect(b) BIO_do_handshake(b) +# define BIO_do_accept(b) BIO_do_handshake(b) +# endif /* OPENSSL_NO_SOCK */ + +# define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) + +/* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ +# define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) +# define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)(c)) + +/* BIO_s_file() */ +# define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)(fp)) +# define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)(fpp)) + +/* BIO_s_fd() and BIO_s_file() */ +# define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) +# define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) + +/* + * name is cast to lose const, but might be better to route through a + * function so we can do it safely + */ +# ifdef CONST_STRICT +/* + * If you are wondering why this isn't defined, its because CONST_STRICT is + * purely a compile-time kludge to allow const to be checked. + */ +int BIO_read_filename(BIO *b, const char *name); +# else +# define BIO_read_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ,(char *)(name)) +# endif +# define BIO_write_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_WRITE,name) +# define BIO_append_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_APPEND,name) +# define BIO_rw_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) + +/* + * WARNING WARNING, this ups the reference count on the read bio of the SSL + * structure. This is because the ssl read BIO is now pointed to by the + * next_bio field in the bio. So when you free the BIO, make sure you are + * doing a BIO_free_all() to catch the underlying BIO. + */ +# define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)(ssl)) +# define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)(sslp)) +# define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) +# define BIO_set_ssl_renegotiate_bytes(b,num) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL) +# define BIO_get_num_renegotiates(b) \ + BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL) +# define BIO_set_ssl_renegotiate_timeout(b,seconds) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL) + +/* defined in evp.h */ +/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)(md)) */ + +# define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)(pp)) +# define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)(bm)) +# define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0, \ + (char *)(pp)) +# define BIO_set_mem_eof_return(b,v) \ + BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) + +/* For the BIO_f_buffer() type */ +# define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) +# define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) +# define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) +# define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) +# define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) + +/* Don't use the next one unless you know what you are doing :-) */ +# define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) + +# define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) +# define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) +# define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) +# define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) +# define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) +# define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) +/* ...pending macros have inappropriate return type */ +size_t BIO_ctrl_pending(BIO *b); +size_t BIO_ctrl_wpending(BIO *b); +# define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) +# define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ + cbp) +# define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) + +/* For the BIO_f_buffer() type */ +# define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) +# define BIO_buffer_peek(b,s,l) BIO_ctrl(b,BIO_CTRL_PEEK,(l),(s)) + +/* For BIO_s_bio() */ +# define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) +# define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) +# define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) +# define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) +# define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) +/* macros with inappropriate type -- but ...pending macros use int too: */ +# define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) +# define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) +size_t BIO_ctrl_get_write_guarantee(BIO *b); +size_t BIO_ctrl_get_read_request(BIO *b); +int BIO_ctrl_reset_read_request(BIO *b); + +/* ctrl macros for dgram */ +# define BIO_ctrl_dgram_connect(b,peer) \ + (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)(peer)) +# define BIO_ctrl_set_connected(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, 0, (char *)(peer)) +# define BIO_dgram_recv_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) +# define BIO_dgram_send_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) +# define BIO_dgram_get_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)(peer)) +# define BIO_dgram_set_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)(peer)) +# define BIO_dgram_get_mtu_overhead(b) \ + (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) + +#define BIO_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, l, p, newf, dupf, freef) +int BIO_set_ex_data(BIO *bio, int idx, void *data); +void *BIO_get_ex_data(BIO *bio, int idx); +uint64_t BIO_number_read(BIO *bio); +uint64_t BIO_number_written(BIO *bio); + +/* For BIO_f_asn1() */ +int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, + asn1_ps_func *prefix_free); +int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, + asn1_ps_func **pprefix_free); +int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, + asn1_ps_func *suffix_free); +int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, + asn1_ps_func **psuffix_free); + +const BIO_METHOD *BIO_s_file(void); +BIO *BIO_new_file(const char *filename, const char *mode); +# ifndef OPENSSL_NO_STDIO +BIO *BIO_new_fp(FILE *stream, int close_flag); +# endif +BIO *BIO_new(const BIO_METHOD *type); +int BIO_free(BIO *a); +void BIO_set_data(BIO *a, void *ptr); +void *BIO_get_data(BIO *a); +void BIO_set_init(BIO *a, int init); +int BIO_get_init(BIO *a); +void BIO_set_shutdown(BIO *a, int shut); +int BIO_get_shutdown(BIO *a); +void BIO_vfree(BIO *a); +int BIO_up_ref(BIO *a); +int BIO_read(BIO *b, void *data, int dlen); +int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes); +int BIO_gets(BIO *bp, char *buf, int size); +int BIO_write(BIO *b, const void *data, int dlen); +int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written); +int BIO_puts(BIO *bp, const char *buf); +int BIO_indent(BIO *b, int indent, int max); +long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); +long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp); +void *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); +long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); +BIO *BIO_push(BIO *b, BIO *append); +BIO *BIO_pop(BIO *b); +void BIO_free_all(BIO *a); +BIO *BIO_find_type(BIO *b, int bio_type); +BIO *BIO_next(BIO *b); +void BIO_set_next(BIO *b, BIO *next); +BIO *BIO_get_retry_BIO(BIO *bio, int *reason); +int BIO_get_retry_reason(BIO *bio); +void BIO_set_retry_reason(BIO *bio, int reason); +BIO *BIO_dup_chain(BIO *in); + +int BIO_nread0(BIO *bio, char **buf); +int BIO_nread(BIO *bio, char **buf, int num); +int BIO_nwrite0(BIO *bio, char **buf); +int BIO_nwrite(BIO *bio, char **buf, int num); + +long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, + long argl, long ret); + +const BIO_METHOD *BIO_s_mem(void); +const BIO_METHOD *BIO_s_secmem(void); +BIO *BIO_new_mem_buf(const void *buf, int len); +# ifndef OPENSSL_NO_SOCK +const BIO_METHOD *BIO_s_socket(void); +const BIO_METHOD *BIO_s_connect(void); +const BIO_METHOD *BIO_s_accept(void); +# endif +const BIO_METHOD *BIO_s_fd(void); +const BIO_METHOD *BIO_s_log(void); +const BIO_METHOD *BIO_s_bio(void); +const BIO_METHOD *BIO_s_null(void); +const BIO_METHOD *BIO_f_null(void); +const BIO_METHOD *BIO_f_buffer(void); +const BIO_METHOD *BIO_f_linebuffer(void); +const BIO_METHOD *BIO_f_nbio_test(void); +# ifndef OPENSSL_NO_DGRAM +const BIO_METHOD *BIO_s_datagram(void); +int BIO_dgram_non_fatal_error(int error); +BIO *BIO_new_dgram(int fd, int close_flag); +# ifndef OPENSSL_NO_SCTP +const BIO_METHOD *BIO_s_datagram_sctp(void); +BIO *BIO_new_dgram_sctp(int fd, int close_flag); +int BIO_dgram_is_sctp(BIO *bio); +int BIO_dgram_sctp_notification_cb(BIO *b, + void (*handle_notifications) (BIO *bio, + void *context, + void *buf), + void *context); +int BIO_dgram_sctp_wait_for_dry(BIO *b); +int BIO_dgram_sctp_msg_waiting(BIO *b); +# endif +# endif + +# ifndef OPENSSL_NO_SOCK +int BIO_sock_should_retry(int i); +int BIO_sock_non_fatal_error(int error); +# endif + +int BIO_fd_should_retry(int i); +int BIO_fd_non_fatal_error(int error); +int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len); +int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len, int indent); +int BIO_dump(BIO *b, const char *bytes, int len); +int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); +# ifndef OPENSSL_NO_STDIO +int BIO_dump_fp(FILE *fp, const char *s, int len); +int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); +# endif +int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, + int datalen); + +# ifndef OPENSSL_NO_SOCK +BIO_ADDR *BIO_ADDR_new(void); +int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, + const void *where, size_t wherelen, unsigned short port); +void BIO_ADDR_free(BIO_ADDR *); +void BIO_ADDR_clear(BIO_ADDR *ap); +int BIO_ADDR_family(const BIO_ADDR *ap); +int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l); +unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap); +char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric); +char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric); +char *BIO_ADDR_path_string(const BIO_ADDR *ap); + +const BIO_ADDRINFO *BIO_ADDRINFO_next(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_family(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_socktype(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_protocol(const BIO_ADDRINFO *bai); +const BIO_ADDR *BIO_ADDRINFO_address(const BIO_ADDRINFO *bai); +void BIO_ADDRINFO_free(BIO_ADDRINFO *bai); + +enum BIO_hostserv_priorities { + BIO_PARSE_PRIO_HOST, BIO_PARSE_PRIO_SERV +}; +int BIO_parse_hostserv(const char *hostserv, char **host, char **service, + enum BIO_hostserv_priorities hostserv_prio); +enum BIO_lookup_type { + BIO_LOOKUP_CLIENT, BIO_LOOKUP_SERVER +}; +int BIO_lookup(const char *host, const char *service, + enum BIO_lookup_type lookup_type, + int family, int socktype, BIO_ADDRINFO **res); +int BIO_lookup_ex(const char *host, const char *service, + int lookup_type, int family, int socktype, int protocol, + BIO_ADDRINFO **res); +int BIO_sock_error(int sock); +int BIO_socket_ioctl(int fd, long type, void *arg); +int BIO_socket_nbio(int fd, int mode); +int BIO_sock_init(void); +# if OPENSSL_API_COMPAT < 0x10100000L +# define BIO_sock_cleanup() while(0) continue +# endif +int BIO_set_tcp_ndelay(int sock, int turn_on); + +DEPRECATEDIN_1_1_0(struct hostent *BIO_gethostbyname(const char *name)) +DEPRECATEDIN_1_1_0(int BIO_get_port(const char *str, unsigned short *port_ptr)) +DEPRECATEDIN_1_1_0(int BIO_get_host_ip(const char *str, unsigned char *ip)) +DEPRECATEDIN_1_1_0(int BIO_get_accept_socket(char *host_port, int mode)) +DEPRECATEDIN_1_1_0(int BIO_accept(int sock, char **ip_port)) + +union BIO_sock_info_u { + BIO_ADDR *addr; +}; +enum BIO_sock_info_type { + BIO_SOCK_INFO_ADDRESS +}; +int BIO_sock_info(int sock, + enum BIO_sock_info_type type, union BIO_sock_info_u *info); + +# define BIO_SOCK_REUSEADDR 0x01 +# define BIO_SOCK_V6_ONLY 0x02 +# define BIO_SOCK_KEEPALIVE 0x04 +# define BIO_SOCK_NONBLOCK 0x08 +# define BIO_SOCK_NODELAY 0x10 + +int BIO_socket(int domain, int socktype, int protocol, int options); +int BIO_connect(int sock, const BIO_ADDR *addr, int options); +int BIO_bind(int sock, const BIO_ADDR *addr, int options); +int BIO_listen(int sock, const BIO_ADDR *addr, int options); +int BIO_accept_ex(int accept_sock, BIO_ADDR *addr, int options); +int BIO_closesocket(int sock); + +BIO *BIO_new_socket(int sock, int close_flag); +BIO *BIO_new_connect(const char *host_port); +BIO *BIO_new_accept(const char *host_port); +# endif /* OPENSSL_NO_SOCK*/ + +BIO *BIO_new_fd(int fd, int close_flag); + +int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, + BIO **bio2, size_t writebuf2); +/* + * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. + * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default + * value. + */ + +void BIO_copy_next_retry(BIO *b); + +/* + * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); + */ + +# define ossl_bio__attr__(x) +# if defined(__GNUC__) && defined(__STDC_VERSION__) \ + && !defined(__APPLE__) + /* + * Because we support the 'z' modifier, which made its appearance in C99, + * we can't use __attribute__ with pre C99 dialects. + */ +# if __STDC_VERSION__ >= 199901L +# undef ossl_bio__attr__ +# define ossl_bio__attr__ __attribute__ +# if __GNUC__*10 + __GNUC_MINOR__ >= 44 +# define ossl_bio__printf__ __gnu_printf__ +# else +# define ossl_bio__printf__ __printf__ +# endif +# endif +# endif +int BIO_printf(BIO *bio, const char *format, ...) +ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 3))); +int BIO_vprintf(BIO *bio, const char *format, va_list args) +ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 0))); +int BIO_snprintf(char *buf, size_t n, const char *format, ...) +ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 4))); +int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) +ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 0))); +# undef ossl_bio__attr__ +# undef ossl_bio__printf__ + + +BIO_METHOD *BIO_meth_new(int type, const char *name); +void BIO_meth_free(BIO_METHOD *biom); +int (*BIO_meth_get_write(const BIO_METHOD *biom)) (BIO *, const char *, int); +int (*BIO_meth_get_write_ex(const BIO_METHOD *biom)) (BIO *, const char *, size_t, + size_t *); +int BIO_meth_set_write(BIO_METHOD *biom, + int (*write) (BIO *, const char *, int)); +int BIO_meth_set_write_ex(BIO_METHOD *biom, + int (*bwrite) (BIO *, const char *, size_t, size_t *)); +int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int); +int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *, size_t, size_t *); +int BIO_meth_set_read(BIO_METHOD *biom, + int (*read) (BIO *, char *, int)); +int BIO_meth_set_read_ex(BIO_METHOD *biom, + int (*bread) (BIO *, char *, size_t, size_t *)); +int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char *); +int BIO_meth_set_puts(BIO_METHOD *biom, + int (*puts) (BIO *, const char *)); +int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int); +int BIO_meth_set_gets(BIO_METHOD *biom, + int (*gets) (BIO *, char *, int)); +long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); +int BIO_meth_set_ctrl(BIO_METHOD *biom, + long (*ctrl) (BIO *, int, long, void *)); +int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *); +int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *)); +int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *); +int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *)); +long (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom)) + (BIO *, int, BIO_info_cb *); +int BIO_meth_set_callback_ctrl(BIO_METHOD *biom, + long (*callback_ctrl) (BIO *, int, + BIO_info_cb *)); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/bioerr.h b/openssl/1.1/include/openssl/bioerr.h new file mode 100644 index 0000000..f119a59 --- /dev/null +++ b/openssl/1.1/include/openssl/bioerr.h @@ -0,0 +1,120 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BIOERR_H +# define HEADER_BIOERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_BIO_strings(void); + +/* + * BIO function codes. + */ +# define BIO_F_ACPT_STATE 100 +# define BIO_F_ADDRINFO_WRAP 148 +# define BIO_F_ADDR_STRINGS 134 +# define BIO_F_BIO_ACCEPT 101 +# define BIO_F_BIO_ACCEPT_EX 137 +# define BIO_F_BIO_ACCEPT_NEW 152 +# define BIO_F_BIO_ADDR_NEW 144 +# define BIO_F_BIO_BIND 147 +# define BIO_F_BIO_CALLBACK_CTRL 131 +# define BIO_F_BIO_CONNECT 138 +# define BIO_F_BIO_CONNECT_NEW 153 +# define BIO_F_BIO_CTRL 103 +# define BIO_F_BIO_GETS 104 +# define BIO_F_BIO_GET_HOST_IP 106 +# define BIO_F_BIO_GET_NEW_INDEX 102 +# define BIO_F_BIO_GET_PORT 107 +# define BIO_F_BIO_LISTEN 139 +# define BIO_F_BIO_LOOKUP 135 +# define BIO_F_BIO_LOOKUP_EX 143 +# define BIO_F_BIO_MAKE_PAIR 121 +# define BIO_F_BIO_METH_NEW 146 +# define BIO_F_BIO_NEW 108 +# define BIO_F_BIO_NEW_DGRAM_SCTP 145 +# define BIO_F_BIO_NEW_FILE 109 +# define BIO_F_BIO_NEW_MEM_BUF 126 +# define BIO_F_BIO_NREAD 123 +# define BIO_F_BIO_NREAD0 124 +# define BIO_F_BIO_NWRITE 125 +# define BIO_F_BIO_NWRITE0 122 +# define BIO_F_BIO_PARSE_HOSTSERV 136 +# define BIO_F_BIO_PUTS 110 +# define BIO_F_BIO_READ 111 +# define BIO_F_BIO_READ_EX 105 +# define BIO_F_BIO_READ_INTERN 120 +# define BIO_F_BIO_SOCKET 140 +# define BIO_F_BIO_SOCKET_NBIO 142 +# define BIO_F_BIO_SOCK_INFO 141 +# define BIO_F_BIO_SOCK_INIT 112 +# define BIO_F_BIO_WRITE 113 +# define BIO_F_BIO_WRITE_EX 119 +# define BIO_F_BIO_WRITE_INTERN 128 +# define BIO_F_BUFFER_CTRL 114 +# define BIO_F_CONN_CTRL 127 +# define BIO_F_CONN_STATE 115 +# define BIO_F_DGRAM_SCTP_NEW 149 +# define BIO_F_DGRAM_SCTP_READ 132 +# define BIO_F_DGRAM_SCTP_WRITE 133 +# define BIO_F_DOAPR_OUTCH 150 +# define BIO_F_FILE_CTRL 116 +# define BIO_F_FILE_READ 130 +# define BIO_F_LINEBUFFER_CTRL 129 +# define BIO_F_LINEBUFFER_NEW 151 +# define BIO_F_MEM_WRITE 117 +# define BIO_F_NBIOF_NEW 154 +# define BIO_F_SLG_WRITE 155 +# define BIO_F_SSL_NEW 118 + +/* + * BIO reason codes. + */ +# define BIO_R_ACCEPT_ERROR 100 +# define BIO_R_ADDRINFO_ADDR_IS_NOT_AF_INET 141 +# define BIO_R_AMBIGUOUS_HOST_OR_SERVICE 129 +# define BIO_R_BAD_FOPEN_MODE 101 +# define BIO_R_BROKEN_PIPE 124 +# define BIO_R_CONNECT_ERROR 103 +# define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 +# define BIO_R_GETSOCKNAME_ERROR 132 +# define BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS 133 +# define BIO_R_GETTING_SOCKTYPE 134 +# define BIO_R_INVALID_ARGUMENT 125 +# define BIO_R_INVALID_SOCKET 135 +# define BIO_R_IN_USE 123 +# define BIO_R_LENGTH_TOO_LONG 102 +# define BIO_R_LISTEN_V6_ONLY 136 +# define BIO_R_LOOKUP_RETURNED_NOTHING 142 +# define BIO_R_MALFORMED_HOST_OR_SERVICE 130 +# define BIO_R_NBIO_CONNECT_ERROR 110 +# define BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED 143 +# define BIO_R_NO_HOSTNAME_OR_SERVICE_SPECIFIED 144 +# define BIO_R_NO_PORT_DEFINED 113 +# define BIO_R_NO_SUCH_FILE 128 +# define BIO_R_NULL_PARAMETER 115 +# define BIO_R_UNABLE_TO_BIND_SOCKET 117 +# define BIO_R_UNABLE_TO_CREATE_SOCKET 118 +# define BIO_R_UNABLE_TO_KEEPALIVE 137 +# define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 +# define BIO_R_UNABLE_TO_NODELAY 138 +# define BIO_R_UNABLE_TO_REUSEADDR 139 +# define BIO_R_UNAVAILABLE_IP_FAMILY 145 +# define BIO_R_UNINITIALIZED 120 +# define BIO_R_UNKNOWN_INFO_TYPE 140 +# define BIO_R_UNSUPPORTED_IP_FAMILY 146 +# define BIO_R_UNSUPPORTED_METHOD 121 +# define BIO_R_UNSUPPORTED_PROTOCOL_FAMILY 131 +# define BIO_R_WRITE_TO_READ_ONLY_BIO 126 +# define BIO_R_WSASTARTUP 122 + +#endif diff --git a/openssl/1.1/include/openssl/blowfish.h b/openssl/1.1/include/openssl/blowfish.h new file mode 100644 index 0000000..cd3e460 --- /dev/null +++ b/openssl/1.1/include/openssl/blowfish.h @@ -0,0 +1,61 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BLOWFISH_H +# define HEADER_BLOWFISH_H + +# include + +# ifndef OPENSSL_NO_BF +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define BF_ENCRYPT 1 +# define BF_DECRYPT 0 + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! BF_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define BF_LONG unsigned int + +# define BF_ROUNDS 16 +# define BF_BLOCK 8 + +typedef struct bf_key_st { + BF_LONG P[BF_ROUNDS + 2]; + BF_LONG S[4 * 256]; +} BF_KEY; + +void BF_set_key(BF_KEY *key, int len, const unsigned char *data); + +void BF_encrypt(BF_LONG *data, const BF_KEY *key); +void BF_decrypt(BF_LONG *data, const BF_KEY *key); + +void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, + const BF_KEY *key, int enc); +void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int enc); +void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num); +const char *BF_options(void); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/bn.h b/openssl/1.1/include/openssl/bn.h new file mode 100644 index 0000000..8af05d0 --- /dev/null +++ b/openssl/1.1/include/openssl/bn.h @@ -0,0 +1,539 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BN_H +# define HEADER_BN_H + +# include +# ifndef OPENSSL_NO_STDIO +# include +# endif +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * 64-bit processor with LP64 ABI + */ +# ifdef SIXTY_FOUR_BIT_LONG +# define BN_ULONG unsigned long +# define BN_BYTES 8 +# endif + +/* + * 64-bit processor other than LP64 ABI + */ +# ifdef SIXTY_FOUR_BIT +# define BN_ULONG unsigned long long +# define BN_BYTES 8 +# endif + +# ifdef THIRTY_TWO_BIT +# define BN_ULONG unsigned int +# define BN_BYTES 4 +# endif + +# define BN_BITS2 (BN_BYTES * 8) +# define BN_BITS (BN_BITS2 * 2) +# define BN_TBIT ((BN_ULONG)1 << (BN_BITS2 - 1)) + +# define BN_FLG_MALLOCED 0x01 +# define BN_FLG_STATIC_DATA 0x02 + +/* + * avoid leaking exponent information through timing, + * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, + * BN_div() will call BN_div_no_branch, + * BN_mod_inverse() will call BN_mod_inverse_no_branch. + */ +# define BN_FLG_CONSTTIME 0x04 +# define BN_FLG_SECURE 0x08 + +# if OPENSSL_API_COMPAT < 0x00908000L +/* deprecated name for the flag */ +# define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME +# define BN_FLG_FREE 0x8000 /* used for debugging */ +# endif + +void BN_set_flags(BIGNUM *b, int n); +int BN_get_flags(const BIGNUM *b, int n); + +/* Values for |top| in BN_rand() */ +#define BN_RAND_TOP_ANY -1 +#define BN_RAND_TOP_ONE 0 +#define BN_RAND_TOP_TWO 1 + +/* Values for |bottom| in BN_rand() */ +#define BN_RAND_BOTTOM_ANY 0 +#define BN_RAND_BOTTOM_ODD 1 + +/* + * get a clone of a BIGNUM with changed flags, for *temporary* use only (the + * two BIGNUMs cannot be used in parallel!). Also only for *read only* use. The + * value |dest| should be a newly allocated BIGNUM obtained via BN_new() that + * has not been otherwise initialised or used. + */ +void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags); + +/* Wrapper function to make using BN_GENCB easier */ +int BN_GENCB_call(BN_GENCB *cb, int a, int b); + +BN_GENCB *BN_GENCB_new(void); +void BN_GENCB_free(BN_GENCB *cb); + +/* Populate a BN_GENCB structure with an "old"-style callback */ +void BN_GENCB_set_old(BN_GENCB *gencb, void (*callback) (int, int, void *), + void *cb_arg); + +/* Populate a BN_GENCB structure with a "new"-style callback */ +void BN_GENCB_set(BN_GENCB *gencb, int (*callback) (int, int, BN_GENCB *), + void *cb_arg); + +void *BN_GENCB_get_arg(BN_GENCB *cb); + +# define BN_prime_checks 0 /* default: select number of iterations based + * on the size of the number */ + +/* + * BN_prime_checks_for_size() returns the number of Miller-Rabin iterations + * that will be done for checking that a random number is probably prime. The + * error rate for accepting a composite number as prime depends on the size of + * the prime |b|. The error rates used are for calculating an RSA key with 2 primes, + * and so the level is what you would expect for a key of double the size of the + * prime. + * + * This table is generated using the algorithm of FIPS PUB 186-4 + * Digital Signature Standard (DSS), section F.1, page 117. + * (https://dx.doi.org/10.6028/NIST.FIPS.186-4) + * + * The following magma script was used to generate the output: + * securitybits:=125; + * k:=1024; + * for t:=1 to 65 do + * for M:=3 to Floor(2*Sqrt(k-1)-1) do + * S:=0; + * // Sum over m + * for m:=3 to M do + * s:=0; + * // Sum over j + * for j:=2 to m do + * s+:=(RealField(32)!2)^-(j+(k-1)/j); + * end for; + * S+:=2^(m-(m-1)*t)*s; + * end for; + * A:=2^(k-2-M*t); + * B:=8*(Pi(RealField(32))^2-6)/3*2^(k-2)*S; + * pkt:=2.00743*Log(2)*k*2^-k*(A+B); + * seclevel:=Floor(-Log(2,pkt)); + * if seclevel ge securitybits then + * printf "k: %5o, security: %o bits (t: %o, M: %o)\n",k,seclevel,t,M; + * break; + * end if; + * end for; + * if seclevel ge securitybits then break; end if; + * end for; + * + * It can be run online at: + * http://magma.maths.usyd.edu.au/calc + * + * And will output: + * k: 1024, security: 129 bits (t: 6, M: 23) + * + * k is the number of bits of the prime, securitybits is the level we want to + * reach. + * + * prime length | RSA key size | # MR tests | security level + * -------------+--------------|------------+--------------- + * (b) >= 6394 | >= 12788 | 3 | 256 bit + * (b) >= 3747 | >= 7494 | 3 | 192 bit + * (b) >= 1345 | >= 2690 | 4 | 128 bit + * (b) >= 1080 | >= 2160 | 5 | 128 bit + * (b) >= 852 | >= 1704 | 5 | 112 bit + * (b) >= 476 | >= 952 | 5 | 80 bit + * (b) >= 400 | >= 800 | 6 | 80 bit + * (b) >= 347 | >= 694 | 7 | 80 bit + * (b) >= 308 | >= 616 | 8 | 80 bit + * (b) >= 55 | >= 110 | 27 | 64 bit + * (b) >= 6 | >= 12 | 34 | 64 bit + */ + +# define BN_prime_checks_for_size(b) ((b) >= 3747 ? 3 : \ + (b) >= 1345 ? 4 : \ + (b) >= 476 ? 5 : \ + (b) >= 400 ? 6 : \ + (b) >= 347 ? 7 : \ + (b) >= 308 ? 8 : \ + (b) >= 55 ? 27 : \ + /* b >= 6 */ 34) + +# define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) + +int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w); +int BN_is_zero(const BIGNUM *a); +int BN_is_one(const BIGNUM *a); +int BN_is_word(const BIGNUM *a, const BN_ULONG w); +int BN_is_odd(const BIGNUM *a); + +# define BN_one(a) (BN_set_word((a),1)) + +void BN_zero_ex(BIGNUM *a); + +# if OPENSSL_API_COMPAT >= 0x00908000L +# define BN_zero(a) BN_zero_ex(a) +# else +# define BN_zero(a) (BN_set_word((a),0)) +# endif + +const BIGNUM *BN_value_one(void); +char *BN_options(void); +BN_CTX *BN_CTX_new(void); +BN_CTX *BN_CTX_secure_new(void); +void BN_CTX_free(BN_CTX *c); +void BN_CTX_start(BN_CTX *ctx); +BIGNUM *BN_CTX_get(BN_CTX *ctx); +void BN_CTX_end(BN_CTX *ctx); +int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_priv_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_num_bits(const BIGNUM *a); +int BN_num_bits_word(BN_ULONG l); +int BN_security_bits(int L, int N); +BIGNUM *BN_new(void); +BIGNUM *BN_secure_new(void); +void BN_clear_free(BIGNUM *a); +BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); +void BN_swap(BIGNUM *a, BIGNUM *b); +BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2bin(const BIGNUM *a, unsigned char *to); +int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen); +BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); +BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2mpi(const BIGNUM *a, unsigned char *to); +int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); +/** BN_set_negative sets sign of a BIGNUM + * \param b pointer to the BIGNUM object + * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise + */ +void BN_set_negative(BIGNUM *b, int n); +/** BN_is_negative returns 1 if the BIGNUM is negative + * \param b pointer to the BIGNUM object + * \return 1 if a < 0 and 0 otherwise + */ +int BN_is_negative(const BIGNUM *b); + +int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, + BN_CTX *ctx); +# define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx)) +int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); +int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); +int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); + +BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w); +BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); +int BN_mul_word(BIGNUM *a, BN_ULONG w); +int BN_add_word(BIGNUM *a, BN_ULONG w); +int BN_sub_word(BIGNUM *a, BN_ULONG w); +int BN_set_word(BIGNUM *a, BN_ULONG w); +BN_ULONG BN_get_word(const BIGNUM *a); + +int BN_cmp(const BIGNUM *a, const BIGNUM *b); +void BN_free(BIGNUM *a); +int BN_is_bit_set(const BIGNUM *a, int n); +int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_lshift1(BIGNUM *r, const BIGNUM *a); +int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *in_mont); +int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, + const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, + BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); + +int BN_mask_bits(BIGNUM *a, int n); +# ifndef OPENSSL_NO_STDIO +int BN_print_fp(FILE *fp, const BIGNUM *a); +# endif +int BN_print(BIO *bio, const BIGNUM *a); +int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); +int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_rshift1(BIGNUM *r, const BIGNUM *a); +void BN_clear(BIGNUM *a); +BIGNUM *BN_dup(const BIGNUM *a); +int BN_ucmp(const BIGNUM *a, const BIGNUM *b); +int BN_set_bit(BIGNUM *a, int n); +int BN_clear_bit(BIGNUM *a, int n); +char *BN_bn2hex(const BIGNUM *a); +char *BN_bn2dec(const BIGNUM *a); +int BN_hex2bn(BIGNUM **a, const char *str); +int BN_dec2bn(BIGNUM **a, const char *str); +int BN_asc2bn(BIGNUM **a, const char *str); +int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns + * -2 for + * error */ +BIGNUM *BN_mod_inverse(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); +BIGNUM *BN_mod_sqrt(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); + +void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords); + +/* Deprecated versions */ +DEPRECATEDIN_0_9_8(BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, + const BIGNUM *add, + const BIGNUM *rem, + void (*callback) (int, int, + void *), + void *cb_arg)) +DEPRECATEDIN_0_9_8(int + BN_is_prime(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), + BN_CTX *ctx, void *cb_arg)) +DEPRECATEDIN_0_9_8(int + BN_is_prime_fasttest(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), + BN_CTX *ctx, void *cb_arg, + int do_trial_division)) + +/* Newer versions */ +int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, + const BIGNUM *rem, BN_GENCB *cb); +int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); +int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, + int do_trial_division, BN_GENCB *cb); + +int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); + +int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, + const BIGNUM *Xp, const BIGNUM *Xp1, + const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, + BN_GENCB *cb); +int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, + BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, + BN_CTX *ctx, BN_GENCB *cb); + +BN_MONT_CTX *BN_MONT_CTX_new(void); +int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + BN_MONT_CTX *mont, BN_CTX *ctx); +int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, + BN_CTX *ctx); +int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, + BN_CTX *ctx); +void BN_MONT_CTX_free(BN_MONT_CTX *mont); +int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx); +BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from); +BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, CRYPTO_RWLOCK *lock, + const BIGNUM *mod, BN_CTX *ctx); + +/* BN_BLINDING flags */ +# define BN_BLINDING_NO_UPDATE 0x00000001 +# define BN_BLINDING_NO_RECREATE 0x00000002 + +BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); +void BN_BLINDING_free(BN_BLINDING *b); +int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); +int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, + BN_CTX *); + +int BN_BLINDING_is_current_thread(BN_BLINDING *b); +void BN_BLINDING_set_current_thread(BN_BLINDING *b); +int BN_BLINDING_lock(BN_BLINDING *b); +int BN_BLINDING_unlock(BN_BLINDING *b); + +unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); +void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); +BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, + const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, + int (*bn_mod_exp) (BIGNUM *r, + const BIGNUM *a, + const BIGNUM *p, + const BIGNUM *m, + BN_CTX *ctx, + BN_MONT_CTX *m_ctx), + BN_MONT_CTX *m_ctx); + +DEPRECATEDIN_0_9_8(void BN_set_params(int mul, int high, int low, int mont)) +DEPRECATEDIN_0_9_8(int BN_get_params(int which)) /* 0, mul, 1 high, 2 low, 3 + * mont */ + +BN_RECP_CTX *BN_RECP_CTX_new(void); +void BN_RECP_CTX_free(BN_RECP_CTX *recp); +int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx); +int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, + BN_RECP_CTX *recp, BN_CTX *ctx); +int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, + BN_RECP_CTX *recp, BN_CTX *ctx); + +# ifndef OPENSSL_NO_EC2M + +/* + * Functions for arithmetic over binary polynomials represented by BIGNUMs. + * The BIGNUM::neg property of BIGNUMs representing binary polynomials is + * ignored. Note that input arguments are not const so that their bit arrays + * can be expanded to the appropriate size if needed. + */ + +/* + * r = a + b + */ +int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +# define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) +/* + * r=a mod p + */ +int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +# define BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) +/*- + * Some functions allow for representation of the irreducible polynomials + * as an unsigned int[], say p. The irreducible f(t) is then of the form: + * t^p[0] + t^p[1] + ... + t^p[k] + * where m = p[0] > p[1] > ... > p[k] = 0. + */ +/* r = a mod p */ +int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], + BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], + BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); +int BN_GF2m_arr2poly(const int p[], BIGNUM *a); + +# endif + +/* + * faster mod functions for the 'NIST primes' 0 <= a < p^2 + */ +int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +const BIGNUM *BN_get0_nist_prime_192(void); +const BIGNUM *BN_get0_nist_prime_224(void); +const BIGNUM *BN_get0_nist_prime_256(void); +const BIGNUM *BN_get0_nist_prime_384(void); +const BIGNUM *BN_get0_nist_prime_521(void); + +int (*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM *a, + const BIGNUM *field, BN_CTX *ctx); + +int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, + const BIGNUM *priv, const unsigned char *message, + size_t message_len, BN_CTX *ctx); + +/* Primes from RFC 2409 */ +BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn); +BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn); + +/* Primes from RFC 3526 */ +BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define get_rfc2409_prime_768 BN_get_rfc2409_prime_768 +# define get_rfc2409_prime_1024 BN_get_rfc2409_prime_1024 +# define get_rfc3526_prime_1536 BN_get_rfc3526_prime_1536 +# define get_rfc3526_prime_2048 BN_get_rfc3526_prime_2048 +# define get_rfc3526_prime_3072 BN_get_rfc3526_prime_3072 +# define get_rfc3526_prime_4096 BN_get_rfc3526_prime_4096 +# define get_rfc3526_prime_6144 BN_get_rfc3526_prime_6144 +# define get_rfc3526_prime_8192 BN_get_rfc3526_prime_8192 +# endif + +int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/bnerr.h b/openssl/1.1/include/openssl/bnerr.h new file mode 100644 index 0000000..8a022cc --- /dev/null +++ b/openssl/1.1/include/openssl/bnerr.h @@ -0,0 +1,96 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BNERR_H +# define HEADER_BNERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_BN_strings(void); + +/* + * BN function codes. + */ +# define BN_F_BNRAND 127 +# define BN_F_BNRAND_RANGE 138 +# define BN_F_BN_BLINDING_CONVERT_EX 100 +# define BN_F_BN_BLINDING_CREATE_PARAM 128 +# define BN_F_BN_BLINDING_INVERT_EX 101 +# define BN_F_BN_BLINDING_NEW 102 +# define BN_F_BN_BLINDING_UPDATE 103 +# define BN_F_BN_BN2DEC 104 +# define BN_F_BN_BN2HEX 105 +# define BN_F_BN_COMPUTE_WNAF 142 +# define BN_F_BN_CTX_GET 116 +# define BN_F_BN_CTX_NEW 106 +# define BN_F_BN_CTX_START 129 +# define BN_F_BN_DIV 107 +# define BN_F_BN_DIV_RECP 130 +# define BN_F_BN_EXP 123 +# define BN_F_BN_EXPAND_INTERNAL 120 +# define BN_F_BN_GENCB_NEW 143 +# define BN_F_BN_GENERATE_DSA_NONCE 140 +# define BN_F_BN_GENERATE_PRIME_EX 141 +# define BN_F_BN_GF2M_MOD 131 +# define BN_F_BN_GF2M_MOD_EXP 132 +# define BN_F_BN_GF2M_MOD_MUL 133 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 +# define BN_F_BN_GF2M_MOD_SQR 136 +# define BN_F_BN_GF2M_MOD_SQRT 137 +# define BN_F_BN_LSHIFT 145 +# define BN_F_BN_MOD_EXP2_MONT 118 +# define BN_F_BN_MOD_EXP_MONT 109 +# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 +# define BN_F_BN_MOD_EXP_MONT_WORD 117 +# define BN_F_BN_MOD_EXP_RECP 125 +# define BN_F_BN_MOD_EXP_SIMPLE 126 +# define BN_F_BN_MOD_INVERSE 110 +# define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 +# define BN_F_BN_MOD_LSHIFT_QUICK 119 +# define BN_F_BN_MOD_SQRT 121 +# define BN_F_BN_MONT_CTX_NEW 149 +# define BN_F_BN_MPI2BN 112 +# define BN_F_BN_NEW 113 +# define BN_F_BN_POOL_GET 147 +# define BN_F_BN_RAND 114 +# define BN_F_BN_RAND_RANGE 122 +# define BN_F_BN_RECP_CTX_NEW 150 +# define BN_F_BN_RSHIFT 146 +# define BN_F_BN_SET_WORDS 144 +# define BN_F_BN_STACK_PUSH 148 +# define BN_F_BN_USUB 115 + +/* + * BN reason codes. + */ +# define BN_R_ARG2_LT_ARG3 100 +# define BN_R_BAD_RECIPROCAL 101 +# define BN_R_BIGNUM_TOO_LONG 114 +# define BN_R_BITS_TOO_SMALL 118 +# define BN_R_CALLED_WITH_EVEN_MODULUS 102 +# define BN_R_DIV_BY_ZERO 103 +# define BN_R_ENCODING_ERROR 104 +# define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 +# define BN_R_INPUT_NOT_REDUCED 110 +# define BN_R_INVALID_LENGTH 106 +# define BN_R_INVALID_RANGE 115 +# define BN_R_INVALID_SHIFT 119 +# define BN_R_NOT_A_SQUARE 111 +# define BN_R_NOT_INITIALIZED 107 +# define BN_R_NO_INVERSE 108 +# define BN_R_NO_SOLUTION 116 +# define BN_R_PRIVATE_KEY_TOO_LARGE 117 +# define BN_R_P_IS_NOT_PRIME 112 +# define BN_R_TOO_MANY_ITERATIONS 113 +# define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 + +#endif diff --git a/openssl/1.1/include/openssl/buffer.h b/openssl/1.1/include/openssl/buffer.h new file mode 100644 index 0000000..d276576 --- /dev/null +++ b/openssl/1.1/include/openssl/buffer.h @@ -0,0 +1,58 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BUFFER_H +# define HEADER_BUFFER_H + +# include +# ifndef HEADER_CRYPTO_H +# include +# endif +# include + + +#ifdef __cplusplus +extern "C" { +#endif + +# include +# include + +/* + * These names are outdated as of OpenSSL 1.1; a future release + * will move them to be deprecated. + */ +# define BUF_strdup(s) OPENSSL_strdup(s) +# define BUF_strndup(s, size) OPENSSL_strndup(s, size) +# define BUF_memdup(data, size) OPENSSL_memdup(data, size) +# define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size) +# define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size) +# define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen) + +struct buf_mem_st { + size_t length; /* current number of bytes */ + char *data; + size_t max; /* size of buffer */ + unsigned long flags; +}; + +# define BUF_MEM_FLAG_SECURE 0x01 + +BUF_MEM *BUF_MEM_new(void); +BUF_MEM *BUF_MEM_new_ex(unsigned long flags); +void BUF_MEM_free(BUF_MEM *a); +size_t BUF_MEM_grow(BUF_MEM *str, size_t len); +size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len); +void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/buffererr.h b/openssl/1.1/include/openssl/buffererr.h new file mode 100644 index 0000000..3aee132 --- /dev/null +++ b/openssl/1.1/include/openssl/buffererr.h @@ -0,0 +1,30 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BUFERR_H +# define HEADER_BUFERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_BUF_strings(void); + +/* + * BUF function codes. + */ +# define BUF_F_BUF_MEM_GROW 100 +# define BUF_F_BUF_MEM_GROW_CLEAN 105 +# define BUF_F_BUF_MEM_NEW 101 + +/* + * BUF reason codes. + */ + +#endif diff --git a/openssl/1.1/include/openssl/camellia.h b/openssl/1.1/include/openssl/camellia.h new file mode 100644 index 0000000..151f3c1 --- /dev/null +++ b/openssl/1.1/include/openssl/camellia.h @@ -0,0 +1,83 @@ +/* + * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CAMELLIA_H +# define HEADER_CAMELLIA_H + +# include + +# ifndef OPENSSL_NO_CAMELLIA +# include +#ifdef __cplusplus +extern "C" { +#endif + +# define CAMELLIA_ENCRYPT 1 +# define CAMELLIA_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ + +/* This should be a hidden type, but EVP requires that the size be known */ + +# define CAMELLIA_BLOCK_SIZE 16 +# define CAMELLIA_TABLE_BYTE_LEN 272 +# define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) + +typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match + * with WORD */ + +struct camellia_key_st { + union { + double d; /* ensures 64-bit align */ + KEY_TABLE_TYPE rd_key; + } u; + int grand_rounds; +}; +typedef struct camellia_key_st CAMELLIA_KEY; + +int Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); + +void Camellia_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); +void Camellia_decrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); + +void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key, const int enc); +void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, const int enc); +void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num); +void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char ivec[CAMELLIA_BLOCK_SIZE], + unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], + unsigned int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/cast.h b/openssl/1.1/include/openssl/cast.h new file mode 100644 index 0000000..2cc89ae --- /dev/null +++ b/openssl/1.1/include/openssl/cast.h @@ -0,0 +1,53 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CAST_H +# define HEADER_CAST_H + +# include + +# ifndef OPENSSL_NO_CAST +# ifdef __cplusplus +extern "C" { +# endif + +# define CAST_ENCRYPT 1 +# define CAST_DECRYPT 0 + +# define CAST_LONG unsigned int + +# define CAST_BLOCK 8 +# define CAST_KEY_LENGTH 16 + +typedef struct cast_key_st { + CAST_LONG data[32]; + int short_key; /* Use reduced rounds for short key */ +} CAST_KEY; + +void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAST_KEY *key, int enc); +void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *ks, unsigned char *iv, + int enc); +void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/cmac.h b/openssl/1.1/include/openssl/cmac.h new file mode 100644 index 0000000..3535a9a --- /dev/null +++ b/openssl/1.1/include/openssl/cmac.h @@ -0,0 +1,41 @@ +/* + * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CMAC_H +# define HEADER_CMAC_H + +# ifndef OPENSSL_NO_CMAC + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +/* Opaque */ +typedef struct CMAC_CTX_st CMAC_CTX; + +CMAC_CTX *CMAC_CTX_new(void); +void CMAC_CTX_cleanup(CMAC_CTX *ctx); +void CMAC_CTX_free(CMAC_CTX *ctx); +EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); +int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); + +int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, + const EVP_CIPHER *cipher, ENGINE *impl); +int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); +int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); +int CMAC_resume(CMAC_CTX *ctx); + +#ifdef __cplusplus +} +#endif + +# endif +#endif diff --git a/openssl/1.1/include/openssl/cms.h b/openssl/1.1/include/openssl/cms.h new file mode 100644 index 0000000..ddf37e5 --- /dev/null +++ b/openssl/1.1/include/openssl/cms.h @@ -0,0 +1,342 @@ +/* + * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CMS_H +# define HEADER_CMS_H + +# include + +# ifndef OPENSSL_NO_CMS +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +typedef struct CMS_ContentInfo_st CMS_ContentInfo; +typedef struct CMS_SignerInfo_st CMS_SignerInfo; +typedef struct CMS_CertificateChoices CMS_CertificateChoices; +typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; +typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; +typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; +typedef struct CMS_Receipt_st CMS_Receipt; +typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; +typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; + +DEFINE_STACK_OF(CMS_SignerInfo) +DEFINE_STACK_OF(CMS_RecipientEncryptedKey) +DEFINE_STACK_OF(CMS_RecipientInfo) +DEFINE_STACK_OF(CMS_RevocationInfoChoice) +DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) +DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) +DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) + +# define CMS_SIGNERINFO_ISSUER_SERIAL 0 +# define CMS_SIGNERINFO_KEYIDENTIFIER 1 + +# define CMS_RECIPINFO_NONE -1 +# define CMS_RECIPINFO_TRANS 0 +# define CMS_RECIPINFO_AGREE 1 +# define CMS_RECIPINFO_KEK 2 +# define CMS_RECIPINFO_PASS 3 +# define CMS_RECIPINFO_OTHER 4 + +/* S/MIME related flags */ + +# define CMS_TEXT 0x1 +# define CMS_NOCERTS 0x2 +# define CMS_NO_CONTENT_VERIFY 0x4 +# define CMS_NO_ATTR_VERIFY 0x8 +# define CMS_NOSIGS \ + (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) +# define CMS_NOINTERN 0x10 +# define CMS_NO_SIGNER_CERT_VERIFY 0x20 +# define CMS_NOVERIFY 0x20 +# define CMS_DETACHED 0x40 +# define CMS_BINARY 0x80 +# define CMS_NOATTR 0x100 +# define CMS_NOSMIMECAP 0x200 +# define CMS_NOOLDMIMETYPE 0x400 +# define CMS_CRLFEOL 0x800 +# define CMS_STREAM 0x1000 +# define CMS_NOCRL 0x2000 +# define CMS_PARTIAL 0x4000 +# define CMS_REUSE_DIGEST 0x8000 +# define CMS_USE_KEYID 0x10000 +# define CMS_DEBUG_DECRYPT 0x20000 +# define CMS_KEY_PARAM 0x40000 +# define CMS_ASCIICRLF 0x80000 + +const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms); + +BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); +int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); + +ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); +int CMS_is_detached(CMS_ContentInfo *cms); +int CMS_set_detached(CMS_ContentInfo *cms, int detached); + +# ifdef HEADER_PEM_H +DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) +# endif +int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); +CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); +int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); + +BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); +int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); +int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, + int flags); +CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); +int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); + +int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, + unsigned int flags); + +CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, BIO *data, + unsigned int flags); + +CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, + X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, unsigned int flags); + +int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); +CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); + +int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, + unsigned int flags); + +int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, + const unsigned char *key, size_t keylen, + BIO *dcont, BIO *out, unsigned int flags); + +CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, + const unsigned char *key, + size_t keylen, unsigned int flags); + +int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, + const unsigned char *key, size_t keylen); + +int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); + +int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, + STACK_OF(X509) *certs, + X509_STORE *store, unsigned int flags); + +STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); + +CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, unsigned int flags); + +int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, + BIO *dcont, BIO *out, unsigned int flags); + +int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); +int CMS_decrypt_set1_key(CMS_ContentInfo *cms, + unsigned char *key, size_t keylen, + const unsigned char *id, size_t idlen); +int CMS_decrypt_set1_password(CMS_ContentInfo *cms, + unsigned char *pass, ossl_ssize_t passlen); + +STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); +int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); +EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri); +CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); +CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, + X509 *recip, unsigned int flags); +int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); +int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); +int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, + EVP_PKEY **pk, X509 **recip, + X509_ALGOR **palg); +int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, + unsigned char *key, size_t keylen, + unsigned char *id, size_t idlen, + ASN1_GENERALIZEDTIME *date, + ASN1_OBJECT *otherTypeId, + ASN1_TYPE *otherType); + +int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pid, + ASN1_GENERALIZEDTIME **pdate, + ASN1_OBJECT **potherid, + ASN1_TYPE **pothertype); + +int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, + unsigned char *key, size_t keylen); + +int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, + const unsigned char *id, size_t idlen); + +int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, + unsigned char *pass, + ossl_ssize_t passlen); + +CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, + int iter, int wrap_nid, + int pbe_nid, + unsigned char *pass, + ossl_ssize_t passlen, + const EVP_CIPHER *kekciph); + +int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); + +int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); + +int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); +const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); + +CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); +int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); +int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); +STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); + +CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); +int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); +int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); +STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); + +int CMS_SignedData_init(CMS_ContentInfo *cms); +CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, + X509 *signer, EVP_PKEY *pk, const EVP_MD *md, + unsigned int flags); +EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si); +EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si); +STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); + +void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); +int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); +int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + unsigned int flags); +void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, + X509 **signer, X509_ALGOR **pdig, + X509_ALGOR **psig); +ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si); +int CMS_SignerInfo_sign(CMS_SignerInfo *si); +int CMS_SignerInfo_verify(CMS_SignerInfo *si); +int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); + +int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); +int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, + int algnid, int keysize); +int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); + +int CMS_signed_get_attr_count(const CMS_SignerInfo *si); +int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); +int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +# ifdef HEADER_X509V3_H + +int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); +CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, + int allorfirst, + STACK_OF(GENERAL_NAMES) + *receiptList, STACK_OF(GENERAL_NAMES) + *receiptsTo); +int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); +void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, + ASN1_STRING **pcid, + int *pallorfirst, + STACK_OF(GENERAL_NAMES) **plist, + STACK_OF(GENERAL_NAMES) **prto); +# endif +int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pukm); +STACK_OF(CMS_RecipientEncryptedKey) +*CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo *ri); + +int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, + X509_ALGOR **pubalg, + ASN1_BIT_STRING **pubkey, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509 *cert); + +int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek, + ASN1_OCTET_STRING **keyid, + ASN1_GENERALIZEDTIME **tm, + CMS_OtherKeyAttribute **other, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek, + X509 *cert); +int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk); +EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri); +int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, + CMS_RecipientInfo *ri, + CMS_RecipientEncryptedKey *rek); + +int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, + ASN1_OCTET_STRING *ukm, int keylen); + +/* Backward compatibility for spelling errors. */ +# define CMS_R_UNKNOWN_DIGEST_ALGORITM CMS_R_UNKNOWN_DIGEST_ALGORITHM +# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE \ + CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/cmserr.h b/openssl/1.1/include/openssl/cmserr.h new file mode 100644 index 0000000..3f8ae26 --- /dev/null +++ b/openssl/1.1/include/openssl/cmserr.h @@ -0,0 +1,196 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CMSERR_H +# define HEADER_CMSERR_H + +# include + +# ifndef OPENSSL_NO_CMS + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_CMS_strings(void); + +/* + * CMS function codes. + */ +# define CMS_F_CHECK_CONTENT 99 +# define CMS_F_CMS_ADD0_CERT 164 +# define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 +# define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 +# define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 +# define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 +# define CMS_F_CMS_ADD1_SIGNER 102 +# define CMS_F_CMS_ADD1_SIGNINGTIME 103 +# define CMS_F_CMS_COMPRESS 104 +# define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 +# define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 +# define CMS_F_CMS_COPY_CONTENT 107 +# define CMS_F_CMS_COPY_MESSAGEDIGEST 108 +# define CMS_F_CMS_DATA 109 +# define CMS_F_CMS_DATAFINAL 110 +# define CMS_F_CMS_DATAINIT 111 +# define CMS_F_CMS_DECRYPT 112 +# define CMS_F_CMS_DECRYPT_SET1_KEY 113 +# define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 +# define CMS_F_CMS_DECRYPT_SET1_PKEY 114 +# define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 +# define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 +# define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 +# define CMS_F_CMS_DIGEST_VERIFY 118 +# define CMS_F_CMS_ENCODE_RECEIPT 161 +# define CMS_F_CMS_ENCRYPT 119 +# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT 179 +# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 +# define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 +# define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 +# define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 +# define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 +# define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 +# define CMS_F_CMS_ENVELOPED_DATA_INIT 126 +# define CMS_F_CMS_ENV_ASN1_CTRL 171 +# define CMS_F_CMS_FINAL 127 +# define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 +# define CMS_F_CMS_GET0_CONTENT 129 +# define CMS_F_CMS_GET0_ECONTENT_TYPE 130 +# define CMS_F_CMS_GET0_ENVELOPED 131 +# define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 +# define CMS_F_CMS_GET0_SIGNED 133 +# define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 +# define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 +# define CMS_F_CMS_RECEIPT_VERIFY 160 +# define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 +# define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 169 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 178 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 175 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 173 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 172 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 174 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 +# define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 +# define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 +# define CMS_F_CMS_SD_ASN1_CTRL 170 +# define CMS_F_CMS_SET1_IAS 176 +# define CMS_F_CMS_SET1_KEYID 177 +# define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 +# define CMS_F_CMS_SET_DETACHED 147 +# define CMS_F_CMS_SIGN 148 +# define CMS_F_CMS_SIGNED_DATA_INIT 149 +# define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 +# define CMS_F_CMS_SIGNERINFO_SIGN 151 +# define CMS_F_CMS_SIGNERINFO_VERIFY 152 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 +# define CMS_F_CMS_SIGN_RECEIPT 163 +# define CMS_F_CMS_STREAM 155 +# define CMS_F_CMS_UNCOMPRESS 156 +# define CMS_F_CMS_VERIFY 157 +# define CMS_F_KEK_UNWRAP_KEY 180 + +/* + * CMS reason codes. + */ +# define CMS_R_ADD_SIGNER_ERROR 99 +# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 +# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 +# define CMS_R_CERTIFICATE_VERIFY_ERROR 100 +# define CMS_R_CIPHER_INITIALISATION_ERROR 101 +# define CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR 102 +# define CMS_R_CMS_DATAFINAL_ERROR 103 +# define CMS_R_CMS_LIB 104 +# define CMS_R_CONTENTIDENTIFIER_MISMATCH 170 +# define CMS_R_CONTENT_NOT_FOUND 105 +# define CMS_R_CONTENT_TYPE_MISMATCH 171 +# define CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA 106 +# define CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA 107 +# define CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA 108 +# define CMS_R_CONTENT_VERIFY_ERROR 109 +# define CMS_R_CTRL_ERROR 110 +# define CMS_R_CTRL_FAILURE 111 +# define CMS_R_DECRYPT_ERROR 112 +# define CMS_R_ERROR_GETTING_PUBLIC_KEY 113 +# define CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE 114 +# define CMS_R_ERROR_SETTING_KEY 115 +# define CMS_R_ERROR_SETTING_RECIPIENTINFO 116 +# define CMS_R_INVALID_ENCRYPTED_KEY_LENGTH 117 +# define CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER 176 +# define CMS_R_INVALID_KEY_LENGTH 118 +# define CMS_R_MD_BIO_INIT_ERROR 119 +# define CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH 120 +# define CMS_R_MESSAGEDIGEST_WRONG_LENGTH 121 +# define CMS_R_MSGSIGDIGEST_ERROR 172 +# define CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE 162 +# define CMS_R_MSGSIGDIGEST_WRONG_LENGTH 163 +# define CMS_R_NEED_ONE_SIGNER 164 +# define CMS_R_NOT_A_SIGNED_RECEIPT 165 +# define CMS_R_NOT_ENCRYPTED_DATA 122 +# define CMS_R_NOT_KEK 123 +# define CMS_R_NOT_KEY_AGREEMENT 181 +# define CMS_R_NOT_KEY_TRANSPORT 124 +# define CMS_R_NOT_PWRI 177 +# define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 125 +# define CMS_R_NO_CIPHER 126 +# define CMS_R_NO_CONTENT 127 +# define CMS_R_NO_CONTENT_TYPE 173 +# define CMS_R_NO_DEFAULT_DIGEST 128 +# define CMS_R_NO_DIGEST_SET 129 +# define CMS_R_NO_KEY 130 +# define CMS_R_NO_KEY_OR_CERT 174 +# define CMS_R_NO_MATCHING_DIGEST 131 +# define CMS_R_NO_MATCHING_RECIPIENT 132 +# define CMS_R_NO_MATCHING_SIGNATURE 166 +# define CMS_R_NO_MSGSIGDIGEST 167 +# define CMS_R_NO_PASSWORD 178 +# define CMS_R_NO_PRIVATE_KEY 133 +# define CMS_R_NO_PUBLIC_KEY 134 +# define CMS_R_NO_RECEIPT_REQUEST 168 +# define CMS_R_NO_SIGNERS 135 +# define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 136 +# define CMS_R_RECEIPT_DECODE_ERROR 169 +# define CMS_R_RECIPIENT_ERROR 137 +# define CMS_R_SIGNER_CERTIFICATE_NOT_FOUND 138 +# define CMS_R_SIGNFINAL_ERROR 139 +# define CMS_R_SMIME_TEXT_ERROR 140 +# define CMS_R_STORE_INIT_ERROR 141 +# define CMS_R_TYPE_NOT_COMPRESSED_DATA 142 +# define CMS_R_TYPE_NOT_DATA 143 +# define CMS_R_TYPE_NOT_DIGESTED_DATA 144 +# define CMS_R_TYPE_NOT_ENCRYPTED_DATA 145 +# define CMS_R_TYPE_NOT_ENVELOPED_DATA 146 +# define CMS_R_UNABLE_TO_FINALIZE_CONTEXT 147 +# define CMS_R_UNKNOWN_CIPHER 148 +# define CMS_R_UNKNOWN_DIGEST_ALGORITHM 149 +# define CMS_R_UNKNOWN_ID 150 +# define CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM 151 +# define CMS_R_UNSUPPORTED_CONTENT_TYPE 152 +# define CMS_R_UNSUPPORTED_KEK_ALGORITHM 153 +# define CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM 179 +# define CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE 155 +# define CMS_R_UNSUPPORTED_RECIPIENT_TYPE 154 +# define CMS_R_UNSUPPORTED_TYPE 156 +# define CMS_R_UNWRAP_ERROR 157 +# define CMS_R_UNWRAP_FAILURE 180 +# define CMS_R_VERIFICATION_FAILURE 158 +# define CMS_R_WRAP_ERROR 159 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/comp.h b/openssl/1.1/include/openssl/comp.h new file mode 100644 index 0000000..d814d3c --- /dev/null +++ b/openssl/1.1/include/openssl/comp.h @@ -0,0 +1,53 @@ +/* + * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_COMP_H +# define HEADER_COMP_H + +# include + +# ifndef OPENSSL_NO_COMP +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + + + +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); + +#if OPENSSL_API_COMPAT < 0x10100000L +#define COMP_zlib_cleanup() while(0) continue +#endif + +# ifdef HEADER_BIO_H +# ifdef ZLIB +const BIO_METHOD *BIO_f_zlib(void); +# endif +# endif + + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/comperr.h b/openssl/1.1/include/openssl/comperr.h new file mode 100644 index 0000000..edea63a --- /dev/null +++ b/openssl/1.1/include/openssl/comperr.h @@ -0,0 +1,40 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_COMPERR_H +# define HEADER_COMPERR_H + +# include + +# ifndef OPENSSL_NO_COMP + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_COMP_strings(void); + +/* + * COMP function codes. + */ +# define COMP_F_BIO_ZLIB_FLUSH 99 +# define COMP_F_BIO_ZLIB_NEW 100 +# define COMP_F_BIO_ZLIB_READ 101 +# define COMP_F_BIO_ZLIB_WRITE 102 +# define COMP_F_COMP_CTX_NEW 103 + +/* + * COMP reason codes. + */ +# define COMP_R_ZLIB_DEFLATE_ERROR 99 +# define COMP_R_ZLIB_INFLATE_ERROR 100 +# define COMP_R_ZLIB_NOT_SUPPORTED 101 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/conf.h b/openssl/1.1/include/openssl/conf.h new file mode 100644 index 0000000..7336cd2 --- /dev/null +++ b/openssl/1.1/include/openssl/conf.h @@ -0,0 +1,168 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CONF_H +# define HEADER_CONF_H + +# include +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + char *section; + char *name; + char *value; +} CONF_VALUE; + +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_LHASH_OF(CONF_VALUE); + +struct conf_st; +struct conf_method_st; +typedef struct conf_method_st CONF_METHOD; + +struct conf_method_st { + const char *name; + CONF *(*create) (CONF_METHOD *meth); + int (*init) (CONF *conf); + int (*destroy) (CONF *conf); + int (*destroy_data) (CONF *conf); + int (*load_bio) (CONF *conf, BIO *bp, long *eline); + int (*dump) (const CONF *conf, BIO *bp); + int (*is_number) (const CONF *conf, char c); + int (*to_int) (const CONF *conf, char c); + int (*load) (CONF *conf, const char *name, long *eline); +}; + +/* Module definitions */ + +typedef struct conf_imodule_st CONF_IMODULE; +typedef struct conf_module_st CONF_MODULE; + +DEFINE_STACK_OF(CONF_MODULE) +DEFINE_STACK_OF(CONF_IMODULE) + +/* DSO module function typedefs */ +typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf); +typedef void conf_finish_func (CONF_IMODULE *md); + +# define CONF_MFLAGS_IGNORE_ERRORS 0x1 +# define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 +# define CONF_MFLAGS_SILENT 0x4 +# define CONF_MFLAGS_NO_DSO 0x8 +# define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 +# define CONF_MFLAGS_DEFAULT_SECTION 0x20 + +int CONF_set_default_method(CONF_METHOD *meth); +void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); +LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline); +# ifndef OPENSSL_NO_STDIO +LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline); +# endif +LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, + long *eline); +STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, + const char *section); +char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +void CONF_free(LHASH_OF(CONF_VALUE) *conf); +#ifndef OPENSSL_NO_STDIO +int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); +#endif +int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); + +DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name)) + +#if OPENSSL_API_COMPAT < 0x10100000L +# define OPENSSL_no_config() \ + OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL) +#endif + +/* + * New conf code. The semantics are different from the functions above. If + * that wasn't the case, the above functions would have been replaced + */ + +struct conf_st { + CONF_METHOD *meth; + void *meth_data; + LHASH_OF(CONF_VALUE) *data; +}; + +CONF *NCONF_new(CONF_METHOD *meth); +CONF_METHOD *NCONF_default(void); +CONF_METHOD *NCONF_WIN32(void); +void NCONF_free(CONF *conf); +void NCONF_free_data(CONF *conf); + +int NCONF_load(CONF *conf, const char *file, long *eline); +# ifndef OPENSSL_NO_STDIO +int NCONF_load_fp(CONF *conf, FILE *fp, long *eline); +# endif +int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); +STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, + const char *section); +char *NCONF_get_string(const CONF *conf, const char *group, const char *name); +int NCONF_get_number_e(const CONF *conf, const char *group, const char *name, + long *result); +#ifndef OPENSSL_NO_STDIO +int NCONF_dump_fp(const CONF *conf, FILE *out); +#endif +int NCONF_dump_bio(const CONF *conf, BIO *out); + +#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) + +/* Module functions */ + +int CONF_modules_load(const CONF *cnf, const char *appname, + unsigned long flags); +int CONF_modules_load_file(const char *filename, const char *appname, + unsigned long flags); +void CONF_modules_unload(int all); +void CONF_modules_finish(void); +#if OPENSSL_API_COMPAT < 0x10100000L +# define CONF_modules_free() while(0) continue +#endif +int CONF_module_add(const char *name, conf_init_func *ifunc, + conf_finish_func *ffunc); + +const char *CONF_imodule_get_name(const CONF_IMODULE *md); +const char *CONF_imodule_get_value(const CONF_IMODULE *md); +void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); +void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); +CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); +unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); +void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); +void *CONF_module_get_usr_data(CONF_MODULE *pmod); +void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); + +char *CONF_get1_default_config_file(void); + +int CONF_parse_list(const char *list, int sep, int nospc, + int (*list_cb) (const char *elem, int len, void *usr), + void *arg); + +void OPENSSL_load_builtin_modules(void); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/conf_api.h b/openssl/1.1/include/openssl/conf_api.h new file mode 100644 index 0000000..a0275ad --- /dev/null +++ b/openssl/1.1/include/openssl/conf_api.h @@ -0,0 +1,40 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CONF_API_H +# define HEADER_CONF_API_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Up until OpenSSL 0.9.5a, this was new_section */ +CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was get_section */ +CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ +STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, + const char *section); + +int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); +char *_CONF_get_string(const CONF *conf, const char *section, + const char *name); +long _CONF_get_number(const CONF *conf, const char *section, + const char *name); + +int _CONF_new_data(CONF *conf); +void _CONF_free_data(CONF *conf); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/conferr.h b/openssl/1.1/include/openssl/conferr.h new file mode 100644 index 0000000..d1c92f4 --- /dev/null +++ b/openssl/1.1/include/openssl/conferr.h @@ -0,0 +1,72 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CONFERR_H +# define HEADER_CONFERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_CONF_strings(void); + +/* + * CONF function codes. + */ +# define CONF_F_CONF_DUMP_FP 104 +# define CONF_F_CONF_LOAD 100 +# define CONF_F_CONF_LOAD_FP 103 +# define CONF_F_CONF_PARSE_LIST 119 +# define CONF_F_DEF_LOAD 120 +# define CONF_F_DEF_LOAD_BIO 121 +# define CONF_F_GET_NEXT_FILE 107 +# define CONF_F_MODULE_ADD 122 +# define CONF_F_MODULE_INIT 115 +# define CONF_F_MODULE_LOAD_DSO 117 +# define CONF_F_MODULE_RUN 118 +# define CONF_F_NCONF_DUMP_BIO 105 +# define CONF_F_NCONF_DUMP_FP 106 +# define CONF_F_NCONF_GET_NUMBER_E 112 +# define CONF_F_NCONF_GET_SECTION 108 +# define CONF_F_NCONF_GET_STRING 109 +# define CONF_F_NCONF_LOAD 113 +# define CONF_F_NCONF_LOAD_BIO 110 +# define CONF_F_NCONF_LOAD_FP 114 +# define CONF_F_NCONF_NEW 111 +# define CONF_F_PROCESS_INCLUDE 116 +# define CONF_F_SSL_MODULE_INIT 123 +# define CONF_F_STR_COPY 101 + +/* + * CONF reason codes. + */ +# define CONF_R_ERROR_LOADING_DSO 110 +# define CONF_R_LIST_CANNOT_BE_NULL 115 +# define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 +# define CONF_R_MISSING_EQUAL_SIGN 101 +# define CONF_R_MISSING_INIT_FUNCTION 112 +# define CONF_R_MODULE_INITIALIZATION_ERROR 109 +# define CONF_R_NO_CLOSE_BRACE 102 +# define CONF_R_NO_CONF 105 +# define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 +# define CONF_R_NO_SECTION 107 +# define CONF_R_NO_SUCH_FILE 114 +# define CONF_R_NO_VALUE 108 +# define CONF_R_NUMBER_TOO_LARGE 121 +# define CONF_R_RECURSIVE_DIRECTORY_INCLUDE 111 +# define CONF_R_SSL_COMMAND_SECTION_EMPTY 117 +# define CONF_R_SSL_COMMAND_SECTION_NOT_FOUND 118 +# define CONF_R_SSL_SECTION_EMPTY 119 +# define CONF_R_SSL_SECTION_NOT_FOUND 120 +# define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 +# define CONF_R_UNKNOWN_MODULE_NAME 113 +# define CONF_R_VARIABLE_EXPANSION_TOO_LONG 116 +# define CONF_R_VARIABLE_HAS_NO_VALUE 104 + +#endif diff --git a/openssl/1.1/include/openssl/crypto.h b/openssl/1.1/include/openssl/crypto.h new file mode 100644 index 0000000..7e50b1b --- /dev/null +++ b/openssl/1.1/include/openssl/crypto.h @@ -0,0 +1,445 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CRYPTO_H +# define HEADER_CRYPTO_H + +# include +# include + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# endif + +# include +# include +# include +# include +# include + +# ifdef CHARSET_EBCDIC +# include +# endif + +/* + * Resolve problems on some operating systems with symbol names that clash + * one way or another + */ +# include + +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSLeay OpenSSL_version_num +# define SSLeay_version OpenSSL_version +# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER +# define SSLEAY_VERSION OPENSSL_VERSION +# define SSLEAY_CFLAGS OPENSSL_CFLAGS +# define SSLEAY_BUILT_ON OPENSSL_BUILT_ON +# define SSLEAY_PLATFORM OPENSSL_PLATFORM +# define SSLEAY_DIR OPENSSL_DIR + +/* + * Old type for allocating dynamic locks. No longer used. Use the new thread + * API instead. + */ +typedef struct { + int dummy; +} CRYPTO_dynlock; + +# endif /* OPENSSL_API_COMPAT */ + +typedef void CRYPTO_RWLOCK; + +CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void); +int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock); +int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock); +int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock); +void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock); + +int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock); + +/* + * The following can be used to detect memory leaks in the library. If + * used, it turns on malloc checking + */ +# define CRYPTO_MEM_CHECK_OFF 0x0 /* Control only */ +# define CRYPTO_MEM_CHECK_ON 0x1 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_ENABLE 0x2 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_DISABLE 0x3 /* Control only */ + +struct crypto_ex_data_st { + STACK_OF(void) *sk; +}; +DEFINE_STACK_OF(void) + +/* + * Per class, we have a STACK of function pointers. + */ +# define CRYPTO_EX_INDEX_SSL 0 +# define CRYPTO_EX_INDEX_SSL_CTX 1 +# define CRYPTO_EX_INDEX_SSL_SESSION 2 +# define CRYPTO_EX_INDEX_X509 3 +# define CRYPTO_EX_INDEX_X509_STORE 4 +# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 +# define CRYPTO_EX_INDEX_DH 6 +# define CRYPTO_EX_INDEX_DSA 7 +# define CRYPTO_EX_INDEX_EC_KEY 8 +# define CRYPTO_EX_INDEX_RSA 9 +# define CRYPTO_EX_INDEX_ENGINE 10 +# define CRYPTO_EX_INDEX_UI 11 +# define CRYPTO_EX_INDEX_BIO 12 +# define CRYPTO_EX_INDEX_APP 13 +# define CRYPTO_EX_INDEX_UI_METHOD 14 +# define CRYPTO_EX_INDEX_DRBG 15 +# define CRYPTO_EX_INDEX__COUNT 16 + +/* + * This is the default callbacks, but we can have others as well: this is + * needed in Win32 where the application malloc and the library malloc may + * not be the same. + */ +#define OPENSSL_malloc_init() \ + CRYPTO_set_mem_functions(CRYPTO_malloc, CRYPTO_realloc, CRYPTO_free) + +int CRYPTO_mem_ctrl(int mode); + +# define OPENSSL_malloc(num) \ + CRYPTO_malloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_zalloc(num) \ + CRYPTO_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_realloc(addr, num) \ + CRYPTO_realloc(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_clear_realloc(addr, old_num, num) \ + CRYPTO_clear_realloc(addr, old_num, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_clear_free(addr, num) \ + CRYPTO_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_free(addr) \ + CRYPTO_free(addr, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_memdup(str, s) \ + CRYPTO_memdup((str), s, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_strdup(str) \ + CRYPTO_strdup(str, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_strndup(str, n) \ + CRYPTO_strndup(str, n, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_malloc(num) \ + CRYPTO_secure_malloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_zalloc(num) \ + CRYPTO_secure_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_free(addr) \ + CRYPTO_secure_free(addr, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_clear_free(addr, num) \ + CRYPTO_secure_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_actual_size(ptr) \ + CRYPTO_secure_actual_size(ptr) + +size_t OPENSSL_strlcpy(char *dst, const char *src, size_t siz); +size_t OPENSSL_strlcat(char *dst, const char *src, size_t siz); +size_t OPENSSL_strnlen(const char *str, size_t maxlen); +char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len); +unsigned char *OPENSSL_hexstr2buf(const char *str, long *len); +int OPENSSL_hexchar2int(unsigned char c); + +# define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) + +unsigned long OpenSSL_version_num(void); +const char *OpenSSL_version(int type); +# define OPENSSL_VERSION 0 +# define OPENSSL_CFLAGS 1 +# define OPENSSL_BUILT_ON 2 +# define OPENSSL_PLATFORM 3 +# define OPENSSL_DIR 4 +# define OPENSSL_ENGINES_DIR 5 + +int OPENSSL_issetugid(void); + +typedef void CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, + void *from_d, int idx, long argl, void *argp); +__owur int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +/* No longer use an index. */ +int CRYPTO_free_ex_index(int class_index, int idx); + +/* + * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a + * given class (invokes whatever per-class callbacks are applicable) + */ +int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, + const CRYPTO_EX_DATA *from); + +void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); + +/* + * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular + * index (relative to the class type involved) + */ +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); +void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); + +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * This function cleans up all "ex_data" state. It mustn't be called under + * potential race-conditions. + */ +# define CRYPTO_cleanup_all_ex_data() while(0) continue + +/* + * The old locking functions have been removed completely without compatibility + * macros. This is because the old functions either could not properly report + * errors, or the returned error values were not clearly documented. + * Replacing the locking functions with no-ops would cause race condition + * issues in the affected applications. It is far better for them to fail at + * compile time. + * On the other hand, the locking callbacks are no longer used. Consequently, + * the callback management functions can be safely replaced with no-op macros. + */ +# define CRYPTO_num_locks() (1) +# define CRYPTO_set_locking_callback(func) +# define CRYPTO_get_locking_callback() (NULL) +# define CRYPTO_set_add_lock_callback(func) +# define CRYPTO_get_add_lock_callback() (NULL) + +/* + * These defines where used in combination with the old locking callbacks, + * they are not called anymore, but old code that's not called might still + * use them. + */ +# define CRYPTO_LOCK 1 +# define CRYPTO_UNLOCK 2 +# define CRYPTO_READ 4 +# define CRYPTO_WRITE 8 + +/* This structure is no longer used */ +typedef struct crypto_threadid_st { + int dummy; +} CRYPTO_THREADID; +/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ +# define CRYPTO_THREADID_set_numeric(id, val) +# define CRYPTO_THREADID_set_pointer(id, ptr) +# define CRYPTO_THREADID_set_callback(threadid_func) (0) +# define CRYPTO_THREADID_get_callback() (NULL) +# define CRYPTO_THREADID_current(id) +# define CRYPTO_THREADID_cmp(a, b) (-1) +# define CRYPTO_THREADID_cpy(dest, src) +# define CRYPTO_THREADID_hash(id) (0UL) + +# if OPENSSL_API_COMPAT < 0x10000000L +# define CRYPTO_set_id_callback(func) +# define CRYPTO_get_id_callback() (NULL) +# define CRYPTO_thread_id() (0UL) +# endif /* OPENSSL_API_COMPAT < 0x10000000L */ + +# define CRYPTO_set_dynlock_create_callback(dyn_create_function) +# define CRYPTO_set_dynlock_lock_callback(dyn_lock_function) +# define CRYPTO_set_dynlock_destroy_callback(dyn_destroy_function) +# define CRYPTO_get_dynlock_create_callback() (NULL) +# define CRYPTO_get_dynlock_lock_callback() (NULL) +# define CRYPTO_get_dynlock_destroy_callback() (NULL) +# endif /* OPENSSL_API_COMPAT < 0x10100000L */ + +int CRYPTO_set_mem_functions( + void *(*m) (size_t, const char *, int), + void *(*r) (void *, size_t, const char *, int), + void (*f) (void *, const char *, int)); +int CRYPTO_set_mem_debug(int flag); +void CRYPTO_get_mem_functions( + void *(**m) (size_t, const char *, int), + void *(**r) (void *, size_t, const char *, int), + void (**f) (void *, const char *, int)); + +void *CRYPTO_malloc(size_t num, const char *file, int line); +void *CRYPTO_zalloc(size_t num, const char *file, int line); +void *CRYPTO_memdup(const void *str, size_t siz, const char *file, int line); +char *CRYPTO_strdup(const char *str, const char *file, int line); +char *CRYPTO_strndup(const char *str, size_t s, const char *file, int line); +void CRYPTO_free(void *ptr, const char *file, int line); +void CRYPTO_clear_free(void *ptr, size_t num, const char *file, int line); +void *CRYPTO_realloc(void *addr, size_t num, const char *file, int line); +void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num, + const char *file, int line); + +int CRYPTO_secure_malloc_init(size_t sz, int minsize); +int CRYPTO_secure_malloc_done(void); +void *CRYPTO_secure_malloc(size_t num, const char *file, int line); +void *CRYPTO_secure_zalloc(size_t num, const char *file, int line); +void CRYPTO_secure_free(void *ptr, const char *file, int line); +void CRYPTO_secure_clear_free(void *ptr, size_t num, + const char *file, int line); +int CRYPTO_secure_allocated(const void *ptr); +int CRYPTO_secure_malloc_initialized(void); +size_t CRYPTO_secure_actual_size(void *ptr); +size_t CRYPTO_secure_used(void); + +void OPENSSL_cleanse(void *ptr, size_t len); + +# ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_mem_debug_push(info) \ + CRYPTO_mem_debug_push(info, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_mem_debug_pop() \ + CRYPTO_mem_debug_pop() +int CRYPTO_mem_debug_push(const char *info, const char *file, int line); +int CRYPTO_mem_debug_pop(void); +void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount); + +/*- + * Debugging functions (enabled by CRYPTO_set_mem_debug(1)) + * The flag argument has the following significance: + * 0: called before the actual memory allocation has taken place + * 1: called after the actual memory allocation has taken place + */ +void CRYPTO_mem_debug_malloc(void *addr, size_t num, int flag, + const char *file, int line); +void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, size_t num, int flag, + const char *file, int line); +void CRYPTO_mem_debug_free(void *addr, int flag, + const char *file, int line); + +int CRYPTO_mem_leaks_cb(int (*cb) (const char *str, size_t len, void *u), + void *u); +# ifndef OPENSSL_NO_STDIO +int CRYPTO_mem_leaks_fp(FILE *); +# endif +int CRYPTO_mem_leaks(BIO *bio); +# endif + +/* die if we have to */ +ossl_noreturn void OPENSSL_die(const char *assertion, const char *file, int line); +# if OPENSSL_API_COMPAT < 0x10100000L +# define OpenSSLDie(f,l,a) OPENSSL_die((a),(f),(l)) +# endif +# define OPENSSL_assert(e) \ + (void)((e) ? 0 : (OPENSSL_die("assertion failed: " #e, OPENSSL_FILE, OPENSSL_LINE), 1)) + +int OPENSSL_isservice(void); + +int FIPS_mode(void); +int FIPS_mode_set(int r); + +void OPENSSL_init(void); +# ifdef OPENSSL_SYS_UNIX +void OPENSSL_fork_prepare(void); +void OPENSSL_fork_parent(void); +void OPENSSL_fork_child(void); +# endif + +struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result); +int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec); +int OPENSSL_gmtime_diff(int *pday, int *psec, + const struct tm *from, const struct tm *to); + +/* + * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. + * It takes an amount of time dependent on |len|, but independent of the + * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements + * into a defined order as the return value when a != b is undefined, other + * than to be non-zero. + */ +int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len); + +/* Standard initialisation options */ +# define OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS 0x00000001L +# define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L +# define OPENSSL_INIT_ADD_ALL_CIPHERS 0x00000004L +# define OPENSSL_INIT_ADD_ALL_DIGESTS 0x00000008L +# define OPENSSL_INIT_NO_ADD_ALL_CIPHERS 0x00000010L +# define OPENSSL_INIT_NO_ADD_ALL_DIGESTS 0x00000020L +# define OPENSSL_INIT_LOAD_CONFIG 0x00000040L +# define OPENSSL_INIT_NO_LOAD_CONFIG 0x00000080L +# define OPENSSL_INIT_ASYNC 0x00000100L +# define OPENSSL_INIT_ENGINE_RDRAND 0x00000200L +# define OPENSSL_INIT_ENGINE_DYNAMIC 0x00000400L +# define OPENSSL_INIT_ENGINE_OPENSSL 0x00000800L +# define OPENSSL_INIT_ENGINE_CRYPTODEV 0x00001000L +# define OPENSSL_INIT_ENGINE_CAPI 0x00002000L +# define OPENSSL_INIT_ENGINE_PADLOCK 0x00004000L +# define OPENSSL_INIT_ENGINE_AFALG 0x00008000L +/* OPENSSL_INIT_ZLIB 0x00010000L */ +# define OPENSSL_INIT_ATFORK 0x00020000L +/* OPENSSL_INIT_BASE_ONLY 0x00040000L */ +/* OPENSSL_INIT flag range 0xfff00000 reserved for OPENSSL_init_ssl() */ +/* Max OPENSSL_INIT flag value is 0x80000000 */ + +/* openssl and dasync not counted as builtin */ +# define OPENSSL_INIT_ENGINE_ALL_BUILTIN \ + (OPENSSL_INIT_ENGINE_RDRAND | OPENSSL_INIT_ENGINE_DYNAMIC \ + | OPENSSL_INIT_ENGINE_CRYPTODEV | OPENSSL_INIT_ENGINE_CAPI | \ + OPENSSL_INIT_ENGINE_PADLOCK) + + +/* Library initialisation functions */ +void OPENSSL_cleanup(void); +int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); +int OPENSSL_atexit(void (*handler)(void)); +void OPENSSL_thread_stop(void); + +/* Low-level control of initialization */ +OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); +# ifndef OPENSSL_NO_STDIO +int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings, + const char *config_file); +# endif +void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings); + +# if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) +# if defined(_WIN32) +# if defined(BASETYPES) || defined(_WINDEF_H) +/* application has to include in order to use this */ +typedef DWORD CRYPTO_THREAD_LOCAL; +typedef DWORD CRYPTO_THREAD_ID; + +typedef LONG CRYPTO_ONCE; +# define CRYPTO_ONCE_STATIC_INIT 0 +# endif +# else +# include +typedef pthread_once_t CRYPTO_ONCE; +typedef pthread_key_t CRYPTO_THREAD_LOCAL; +typedef pthread_t CRYPTO_THREAD_ID; + +# define CRYPTO_ONCE_STATIC_INIT PTHREAD_ONCE_INIT +# endif +# endif + +# if !defined(CRYPTO_ONCE_STATIC_INIT) +typedef unsigned int CRYPTO_ONCE; +typedef unsigned int CRYPTO_THREAD_LOCAL; +typedef unsigned int CRYPTO_THREAD_ID; +# define CRYPTO_ONCE_STATIC_INIT 0 +# endif + +int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)); + +int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)); +void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key); +int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val); +int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key); + +CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void); +int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/cryptoerr.h b/openssl/1.1/include/openssl/cryptoerr.h new file mode 100644 index 0000000..e127ff6 --- /dev/null +++ b/openssl/1.1/include/openssl/cryptoerr.h @@ -0,0 +1,53 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CRYPTOERR_H +# define HEADER_CRYPTOERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_CRYPTO_strings(void); + +/* + * CRYPTO function codes. + */ +# define CRYPTO_F_CMAC_CTX_NEW 120 +# define CRYPTO_F_CRYPTO_DUP_EX_DATA 110 +# define CRYPTO_F_CRYPTO_FREE_EX_DATA 111 +# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 +# define CRYPTO_F_CRYPTO_MEMDUP 115 +# define CRYPTO_F_CRYPTO_NEW_EX_DATA 112 +# define CRYPTO_F_CRYPTO_OCB128_COPY_CTX 121 +# define CRYPTO_F_CRYPTO_OCB128_INIT 122 +# define CRYPTO_F_CRYPTO_SET_EX_DATA 102 +# define CRYPTO_F_FIPS_MODE_SET 109 +# define CRYPTO_F_GET_AND_LOCK 113 +# define CRYPTO_F_OPENSSL_ATEXIT 114 +# define CRYPTO_F_OPENSSL_BUF2HEXSTR 117 +# define CRYPTO_F_OPENSSL_FOPEN 119 +# define CRYPTO_F_OPENSSL_HEXSTR2BUF 118 +# define CRYPTO_F_OPENSSL_INIT_CRYPTO 116 +# define CRYPTO_F_OPENSSL_LH_NEW 126 +# define CRYPTO_F_OPENSSL_SK_DEEP_COPY 127 +# define CRYPTO_F_OPENSSL_SK_DUP 128 +# define CRYPTO_F_PKEY_HMAC_INIT 123 +# define CRYPTO_F_PKEY_POLY1305_INIT 124 +# define CRYPTO_F_PKEY_SIPHASH_INIT 125 +# define CRYPTO_F_SK_RESERVE 129 + +/* + * CRYPTO reason codes. + */ +# define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 +# define CRYPTO_R_ILLEGAL_HEX_DIGIT 102 +# define CRYPTO_R_ODD_NUMBER_OF_DIGITS 103 + +#endif diff --git a/openssl/1.1/include/openssl/ct.h b/openssl/1.1/include/openssl/ct.h new file mode 100644 index 0000000..d4262fa --- /dev/null +++ b/openssl/1.1/include/openssl/ct.h @@ -0,0 +1,476 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CT_H +# define HEADER_CT_H + +# include + +# ifndef OPENSSL_NO_CT +# include +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + + +/* Minimum RSA key size, from RFC6962 */ +# define SCT_MIN_RSA_BITS 2048 + +/* All hashes are SHA256 in v1 of Certificate Transparency */ +# define CT_V1_HASHLEN SHA256_DIGEST_LENGTH + +typedef enum { + CT_LOG_ENTRY_TYPE_NOT_SET = -1, + CT_LOG_ENTRY_TYPE_X509 = 0, + CT_LOG_ENTRY_TYPE_PRECERT = 1 +} ct_log_entry_type_t; + +typedef enum { + SCT_VERSION_NOT_SET = -1, + SCT_VERSION_V1 = 0 +} sct_version_t; + +typedef enum { + SCT_SOURCE_UNKNOWN, + SCT_SOURCE_TLS_EXTENSION, + SCT_SOURCE_X509V3_EXTENSION, + SCT_SOURCE_OCSP_STAPLED_RESPONSE +} sct_source_t; + +typedef enum { + SCT_VALIDATION_STATUS_NOT_SET, + SCT_VALIDATION_STATUS_UNKNOWN_LOG, + SCT_VALIDATION_STATUS_VALID, + SCT_VALIDATION_STATUS_INVALID, + SCT_VALIDATION_STATUS_UNVERIFIED, + SCT_VALIDATION_STATUS_UNKNOWN_VERSION +} sct_validation_status_t; + +DEFINE_STACK_OF(SCT) +DEFINE_STACK_OF(CTLOG) + +/****************************************** + * CT policy evaluation context functions * + ******************************************/ + +/* + * Creates a new, empty policy evaluation context. + * The caller is responsible for calling CT_POLICY_EVAL_CTX_free when finished + * with the CT_POLICY_EVAL_CTX. + */ +CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void); + +/* Deletes a policy evaluation context and anything it owns. */ +void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx); + +/* Gets the peer certificate that the SCTs are for */ +X509* CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the certificate associated with the received SCTs. + * Increments the reference count of cert. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert); + +/* Gets the issuer of the aforementioned certificate */ +X509* CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the issuer of the certificate associated with the received SCTs. + * Increments the reference count of issuer. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer); + +/* Gets the CT logs that are trusted sources of SCTs */ +const CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX *ctx); + +/* Sets the log store that is in use. It must outlive the CT_POLICY_EVAL_CTX. */ +void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx, + CTLOG_STORE *log_store); + +/* + * Gets the time, in milliseconds since the Unix epoch, that will be used as the + * current time when checking whether an SCT was issued in the future. + * Such SCTs will fail validation, as required by RFC6962. + */ +uint64_t CT_POLICY_EVAL_CTX_get_time(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the time to evaluate SCTs against, in milliseconds since the Unix epoch. + * If an SCT's timestamp is after this time, it will be interpreted as having + * been issued in the future. RFC6962 states that "TLS clients MUST reject SCTs + * whose timestamp is in the future", so an SCT will not validate in this case. + */ +void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx, uint64_t time_in_ms); + +/***************** + * SCT functions * + *****************/ + +/* + * Creates a new, blank SCT. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new(void); + +/* + * Creates a new SCT from some base64-encoded strings. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new_from_base64(unsigned char version, + const char *logid_base64, + ct_log_entry_type_t entry_type, + uint64_t timestamp, + const char *extensions_base64, + const char *signature_base64); + +/* + * Frees the SCT and the underlying data structures. + */ +void SCT_free(SCT *sct); + +/* + * Free a stack of SCTs, and the underlying SCTs themselves. + * Intended to be compatible with X509V3_EXT_FREE. + */ +void SCT_LIST_free(STACK_OF(SCT) *a); + +/* + * Returns the version of the SCT. + */ +sct_version_t SCT_get_version(const SCT *sct); + +/* + * Set the version of an SCT. + * Returns 1 on success, 0 if the version is unrecognized. + */ +__owur int SCT_set_version(SCT *sct, sct_version_t version); + +/* + * Returns the log entry type of the SCT. + */ +ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct); + +/* + * Set the log entry type of an SCT. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type); + +/* + * Gets the ID of the log that an SCT came from. + * Ownership of the log ID remains with the SCT. + * Returns the length of the log ID. + */ +size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id); + +/* + * Set the log ID of an SCT to point directly to the *log_id specified. + * The SCT takes ownership of the specified pointer. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len); + +/* + * Set the log ID of an SCT. + * This makes a copy of the log_id. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, + size_t log_id_len); + +/* + * Returns the timestamp for the SCT (epoch time in milliseconds). + */ +uint64_t SCT_get_timestamp(const SCT *sct); + +/* + * Set the timestamp of an SCT (epoch time in milliseconds). + */ +void SCT_set_timestamp(SCT *sct, uint64_t timestamp); + +/* + * Return the NID for the signature used by the SCT. + * For CT v1, this will be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256 (or NID_undef if incorrect/unset). + */ +int SCT_get_signature_nid(const SCT *sct); + +/* + * Set the signature type of an SCT + * For CT v1, this should be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_signature_nid(SCT *sct, int nid); + +/* + * Set *ext to point to the extension data for the SCT. ext must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext); + +/* + * Set the extensions of an SCT to point directly to the *ext specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len); + +/* + * Set the extensions of an SCT. + * This takes a copy of the ext. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_extensions(SCT *sct, const unsigned char *ext, + size_t ext_len); + +/* + * Set *sig to point to the signature for the SCT. sig must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_signature(const SCT *sct, unsigned char **sig); + +/* + * Set the signature of an SCT to point directly to the *sig specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len); + +/* + * Set the signature of an SCT to be a copy of the *sig specified. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_signature(SCT *sct, const unsigned char *sig, + size_t sig_len); + +/* + * The origin of this SCT, e.g. TLS extension, OCSP response, etc. + */ +sct_source_t SCT_get_source(const SCT *sct); + +/* + * Set the origin of this SCT, e.g. TLS extension, OCSP response, etc. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_source(SCT *sct, sct_source_t source); + +/* + * Returns a text string describing the validation status of |sct|. + */ +const char *SCT_validation_status_string(const SCT *sct); + +/* + * Pretty-prints an |sct| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * If |logs| is not NULL, it will be used to lookup the CT log that the SCT came + * from, so that the log name can be printed. + */ +void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE *logs); + +/* + * Pretty-prints an |sct_list| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * SCTs will be delimited by |separator|. + * If |logs| is not NULL, it will be used to lookup the CT log that each SCT + * came from, so that the log names can be printed. + */ +void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent, + const char *separator, const CTLOG_STORE *logs); + +/* + * Gets the last result of validating this SCT. + * If it has not been validated yet, returns SCT_VALIDATION_STATUS_NOT_SET. + */ +sct_validation_status_t SCT_get_validation_status(const SCT *sct); + +/* + * Validates the given SCT with the provided context. + * Sets the "validation_status" field of the SCT. + * Returns 1 if the SCT is valid and the signature verifies. + * Returns 0 if the SCT is invalid or could not be verified. + * Returns -1 if an error occurs. + */ +__owur int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx); + +/* + * Validates the given list of SCTs with the provided context. + * Sets the "validation_status" field of each SCT. + * Returns 1 if there are no invalid SCTs and all signatures verify. + * Returns 0 if at least one SCT is invalid or could not be verified. + * Returns a negative integer if an error occurs. + */ +__owur int SCT_LIST_validate(const STACK_OF(SCT) *scts, + CT_POLICY_EVAL_CTX *ctx); + + +/********************************* + * SCT parsing and serialisation * + *********************************/ + +/* + * Serialize (to TLS format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just return the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +__owur int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Convert TLS format SCT list to a stack of SCTs. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *o2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + size_t len); + +/* + * Serialize (to DER format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just returns the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +__owur int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Parses an SCT list in DER format and returns it. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *d2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + long len); + +/* + * Serialize (to TLS format) an |sct| and write it to |out|. + * If |out| is null, no SCT will be output but the length will still be returned. + * If |out| points to a null pointer, a string will be allocated to hold the + * TLS-format SCT. It is the responsibility of the caller to free it. + * If |out| points to an allocated string, the TLS-format SCT will be written + * to it. + * The length of the SCT in TLS format will be returned. + */ +__owur int i2o_SCT(const SCT *sct, unsigned char **out); + +/* + * Parses an SCT in TLS format and returns it. + * If |psct| is not null, it will end up pointing to the parsed SCT. If it + * already points to a non-null pointer, the pointer will be free'd. + * |in| should be a pointer to a string containing the TLS-format SCT. + * |in| will be advanced to the end of the SCT if parsing succeeds. + * |len| should be the length of the SCT in |in|. + * Returns NULL if an error occurs. + * If the SCT is an unsupported version, only the SCT's 'sct' and 'sct_len' + * fields will be populated (with |in| and |len| respectively). + */ +SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len); + +/******************** + * CT log functions * + ********************/ + +/* + * Creates a new CT log instance with the given |public_key| and |name|. + * Takes ownership of |public_key| but copies |name|. + * Returns NULL if malloc fails or if |public_key| cannot be converted to DER. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name); + +/* + * Creates a new CTLOG instance with the base64-encoded SubjectPublicKeyInfo DER + * in |pkey_base64|. The |name| is a string to help users identify this log. + * Returns 1 on success, 0 on failure. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +int CTLOG_new_from_base64(CTLOG ** ct_log, + const char *pkey_base64, const char *name); + +/* + * Deletes a CT log instance and its fields. + */ +void CTLOG_free(CTLOG *log); + +/* Gets the name of the CT log */ +const char *CTLOG_get0_name(const CTLOG *log); +/* Gets the ID of the CT log */ +void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id, + size_t *log_id_len); +/* Gets the public key of the CT log */ +EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log); + +/************************** + * CT log store functions * + **************************/ + +/* + * Creates a new CT log store. + * Should be deleted by the caller using CTLOG_STORE_free when no longer needed. + */ +CTLOG_STORE *CTLOG_STORE_new(void); + +/* + * Deletes a CT log store and all of the CT log instances held within. + */ +void CTLOG_STORE_free(CTLOG_STORE *store); + +/* + * Finds a CT log in the store based on its log ID. + * Returns the CT log, or NULL if no match is found. + */ +const CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store, + const uint8_t *log_id, + size_t log_id_len); + +/* + * Loads a CT log list into a |store| from a |file|. + * Returns 1 if loading is successful, or 0 otherwise. + */ +__owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file); + +/* + * Loads the default CT log list into a |store|. + * See internal/cryptlib.h for the environment variable and file path that are + * consulted to find the default file. + * Returns 1 if loading is successful, or 0 otherwise. + */ +__owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store); + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/cterr.h b/openssl/1.1/include/openssl/cterr.h new file mode 100644 index 0000000..764e1a2 --- /dev/null +++ b/openssl/1.1/include/openssl/cterr.h @@ -0,0 +1,76 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CTERR_H +# define HEADER_CTERR_H + +# include + +# ifndef OPENSSL_NO_CT + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_CT_strings(void); + +/* + * CT function codes. + */ +# define CT_F_CTLOG_NEW 117 +# define CT_F_CTLOG_NEW_FROM_BASE64 118 +# define CT_F_CTLOG_NEW_FROM_CONF 119 +# define CT_F_CTLOG_STORE_LOAD_CTX_NEW 122 +# define CT_F_CTLOG_STORE_LOAD_FILE 123 +# define CT_F_CTLOG_STORE_LOAD_LOG 130 +# define CT_F_CTLOG_STORE_NEW 131 +# define CT_F_CT_BASE64_DECODE 124 +# define CT_F_CT_POLICY_EVAL_CTX_NEW 133 +# define CT_F_CT_V1_LOG_ID_FROM_PKEY 125 +# define CT_F_I2O_SCT 107 +# define CT_F_I2O_SCT_LIST 108 +# define CT_F_I2O_SCT_SIGNATURE 109 +# define CT_F_O2I_SCT 110 +# define CT_F_O2I_SCT_LIST 111 +# define CT_F_O2I_SCT_SIGNATURE 112 +# define CT_F_SCT_CTX_NEW 126 +# define CT_F_SCT_CTX_VERIFY 128 +# define CT_F_SCT_NEW 100 +# define CT_F_SCT_NEW_FROM_BASE64 127 +# define CT_F_SCT_SET0_LOG_ID 101 +# define CT_F_SCT_SET1_EXTENSIONS 114 +# define CT_F_SCT_SET1_LOG_ID 115 +# define CT_F_SCT_SET1_SIGNATURE 116 +# define CT_F_SCT_SET_LOG_ENTRY_TYPE 102 +# define CT_F_SCT_SET_SIGNATURE_NID 103 +# define CT_F_SCT_SET_VERSION 104 + +/* + * CT reason codes. + */ +# define CT_R_BASE64_DECODE_ERROR 108 +# define CT_R_INVALID_LOG_ID_LENGTH 100 +# define CT_R_LOG_CONF_INVALID 109 +# define CT_R_LOG_CONF_INVALID_KEY 110 +# define CT_R_LOG_CONF_MISSING_DESCRIPTION 111 +# define CT_R_LOG_CONF_MISSING_KEY 112 +# define CT_R_LOG_KEY_INVALID 113 +# define CT_R_SCT_FUTURE_TIMESTAMP 116 +# define CT_R_SCT_INVALID 104 +# define CT_R_SCT_INVALID_SIGNATURE 107 +# define CT_R_SCT_LIST_INVALID 105 +# define CT_R_SCT_LOG_ID_MISMATCH 114 +# define CT_R_SCT_NOT_SET 106 +# define CT_R_SCT_UNSUPPORTED_VERSION 115 +# define CT_R_UNRECOGNIZED_SIGNATURE_NID 101 +# define CT_R_UNSUPPORTED_ENTRY_TYPE 102 +# define CT_R_UNSUPPORTED_VERSION 103 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/des.h b/openssl/1.1/include/openssl/des.h new file mode 100644 index 0000000..be4abbd --- /dev/null +++ b/openssl/1.1/include/openssl/des.h @@ -0,0 +1,174 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DES_H +# define HEADER_DES_H + +# include + +# ifndef OPENSSL_NO_DES +# ifdef __cplusplus +extern "C" { +# endif +# include + +typedef unsigned int DES_LONG; + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +typedef unsigned char DES_cblock[8]; +typedef /* const */ unsigned char const_DES_cblock[8]; +/* + * With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * and + * const_DES_cblock * are incompatible pointer types. + */ + +typedef struct DES_ks { + union { + DES_cblock cblock; + /* + * make sure things are correct size on machines with 8 byte longs + */ + DES_LONG deslong[2]; + } ks[16]; +} DES_key_schedule; + +# define DES_KEY_SZ (sizeof(DES_cblock)) +# define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) + +# define DES_ENCRYPT 1 +# define DES_DECRYPT 0 + +# define DES_CBC_MODE 0 +# define DES_PCBC_MODE 1 + +# define DES_ecb2_encrypt(i,o,k1,k2,e) \ + DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ +# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) + +const char *DES_options(void); +void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, int enc); +DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, + long length, DES_key_schedule *schedule, + const_DES_cblock *ivec); +/* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ +void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, const_DES_cblock *inw, + const_DES_cblock *outw, int enc); +void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks, int enc); + +/* + * This is the DES encryption function that gets called by just about every + * other DES routine in the library. You should not use this function except + * to implement 'modes' of DES. I say this because the functions that call + * this routine do the conversion from 'char *' to long, and this needs to be + * done to make sure 'non-aligned' memory access do not occur. The + * characters are loaded 'little endian'. Data is a pointer to 2 unsigned + * long's and ks is the DES_key_schedule to use. enc, is non zero specifies + * encryption, zero if decryption. + */ +void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); + +/* + * This functions is the same as DES_encrypt1() except that the DES initial + * permutation (IP) and final permutation (FP) have been left out. As for + * DES_encrypt1(), you should not use this function. It is used by the + * routines in the library that implement triple DES. IP() DES_encrypt2() + * DES_encrypt2() DES_encrypt2() FP() is the same as DES_encrypt1() + * DES_encrypt1() DES_encrypt1() except faster :-). + */ +void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); + +void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, DES_cblock *ivec, int enc); +void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num, int enc); +void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, + int numbits, long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int enc); +void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num); +char *DES_fcrypt(const char *buf, const char *salt, char *ret); +char *DES_crypt(const char *buf, const char *salt); +void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec); +void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], + long length, int out_count, DES_cblock *seed); +int DES_random_key(DES_cblock *ret); +void DES_set_odd_parity(DES_cblock *key); +int DES_check_key_parity(const_DES_cblock *key); +int DES_is_weak_key(const_DES_cblock *key); +/* + * DES_set_key (= set_key = DES_key_sched = key_sched) calls + * DES_set_key_checked if global variable DES_check_key is set, + * DES_set_key_unchecked otherwise. + */ +int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_string_to_key(const char *str, DES_cblock *key); +void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2); +void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num, int enc); +void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num); + +# define DES_fixup_key_parity DES_set_odd_parity + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/dh.h b/openssl/1.1/include/openssl/dh.h new file mode 100644 index 0000000..3527540 --- /dev/null +++ b/openssl/1.1/include/openssl/dh.h @@ -0,0 +1,340 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DH_H +# define HEADER_DH_H + +# include + +# ifndef OPENSSL_NO_DH +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# ifndef OPENSSL_DH_MAX_MODULUS_BITS +# define OPENSSL_DH_MAX_MODULUS_BITS 10000 +# endif + +# define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024 + +# define DH_FLAG_CACHE_MONT_P 0x01 + +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * Does nothing. Previously this switched off constant time behaviour. + */ +# define DH_FLAG_NO_EXP_CONSTTIME 0x00 +# endif + +/* + * If this flag is set the DH method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define DH_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DH_FLAG_NON_FIPS_ALLOW 0x0400 + +/* Already defined in ossl_typ.h */ +/* typedef struct dh_st DH; */ +/* typedef struct dh_method DH_METHOD; */ + +DECLARE_ASN1_ITEM(DHparams) + +# define DH_GENERATOR_2 2 +/* #define DH_GENERATOR_3 3 */ +# define DH_GENERATOR_5 5 + +/* DH_check error codes */ +# define DH_CHECK_P_NOT_PRIME 0x01 +# define DH_CHECK_P_NOT_SAFE_PRIME 0x02 +# define DH_UNABLE_TO_CHECK_GENERATOR 0x04 +# define DH_NOT_SUITABLE_GENERATOR 0x08 +# define DH_CHECK_Q_NOT_PRIME 0x10 +# define DH_CHECK_INVALID_Q_VALUE 0x20 +# define DH_CHECK_INVALID_J_VALUE 0x40 + +/* DH_check_pub_key error codes */ +# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 +# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 +# define DH_CHECK_PUBKEY_INVALID 0x04 + +/* + * primes p where (p-1)/2 is prime too are called "safe"; we define this for + * backward compatibility: + */ +# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME + +# define d2i_DHparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHparams,(fp), (unsigned char *)(x)) +# define d2i_DHparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x) +# define i2d_DHparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) + +# define d2i_DHxparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHxparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHxparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHxparams,(fp), (unsigned char *)(x)) +# define d2i_DHxparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x) +# define i2d_DHxparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x) + +DH *DHparams_dup(DH *); + +const DH_METHOD *DH_OpenSSL(void); + +void DH_set_default_method(const DH_METHOD *meth); +const DH_METHOD *DH_get_default_method(void); +int DH_set_method(DH *dh, const DH_METHOD *meth); +DH *DH_new_method(ENGINE *engine); + +DH *DH_new(void); +void DH_free(DH *dh); +int DH_up_ref(DH *dh); +int DH_bits(const DH *dh); +int DH_size(const DH *dh); +int DH_security_bits(const DH *dh); +#define DH_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, l, p, newf, dupf, freef) +int DH_set_ex_data(DH *d, int idx, void *arg); +void *DH_get_ex_data(DH *d, int idx); + +/* Deprecated version */ +DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, + void (*callback) (int, int, + void *), + void *cb_arg)) + +/* New version */ +int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, + BN_GENCB *cb); + +int DH_check_params_ex(const DH *dh); +int DH_check_ex(const DH *dh); +int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key); +int DH_check_params(const DH *dh, int *ret); +int DH_check(const DH *dh, int *codes); +int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); +int DH_generate_key(DH *dh); +int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); +DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); +int i2d_DHparams(const DH *a, unsigned char **pp); +DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); +int i2d_DHxparams(const DH *a, unsigned char **pp); +# ifndef OPENSSL_NO_STDIO +int DHparams_print_fp(FILE *fp, const DH *x); +# endif +int DHparams_print(BIO *bp, const DH *x); + +/* RFC 5114 parameters */ +DH *DH_get_1024_160(void); +DH *DH_get_2048_224(void); +DH *DH_get_2048_256(void); + +/* Named parameters, currently RFC7919 */ +DH *DH_new_by_nid(int nid); +int DH_get_nid(const DH *dh); + +# ifndef OPENSSL_NO_CMS +/* RFC2631 KDF */ +int DH_KDF_X9_42(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + ASN1_OBJECT *key_oid, + const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); +# endif + +void DH_get0_pqg(const DH *dh, + const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); +int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); +void DH_get0_key(const DH *dh, + const BIGNUM **pub_key, const BIGNUM **priv_key); +int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); +const BIGNUM *DH_get0_p(const DH *dh); +const BIGNUM *DH_get0_q(const DH *dh); +const BIGNUM *DH_get0_g(const DH *dh); +const BIGNUM *DH_get0_priv_key(const DH *dh); +const BIGNUM *DH_get0_pub_key(const DH *dh); +void DH_clear_flags(DH *dh, int flags); +int DH_test_flags(const DH *dh, int flags); +void DH_set_flags(DH *dh, int flags); +ENGINE *DH_get0_engine(DH *d); +long DH_get_length(const DH *dh); +int DH_set_length(DH *dh, long length); + +DH_METHOD *DH_meth_new(const char *name, int flags); +void DH_meth_free(DH_METHOD *dhm); +DH_METHOD *DH_meth_dup(const DH_METHOD *dhm); +const char *DH_meth_get0_name(const DH_METHOD *dhm); +int DH_meth_set1_name(DH_METHOD *dhm, const char *name); +int DH_meth_get_flags(const DH_METHOD *dhm); +int DH_meth_set_flags(DH_METHOD *dhm, int flags); +void *DH_meth_get0_app_data(const DH_METHOD *dhm); +int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data); +int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *); +int DH_meth_set_generate_key(DH_METHOD *dhm, int (*generate_key) (DH *)); +int (*DH_meth_get_compute_key(const DH_METHOD *dhm)) + (unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_meth_set_compute_key(DH_METHOD *dhm, + int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh)); +int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)) + (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + BN_CTX *, BN_MONT_CTX *); +int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, + int (*bn_mod_exp) (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); +int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *); +int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *)); +int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *); +int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *)); +int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) + (DH *, int, int, BN_GENCB *); +int DH_meth_set_generate_params(DH_METHOD *dhm, + int (*generate_params) (DH *, int, int, BN_GENCB *)); + + +# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_nid(ctx, nid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, \ + EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_DH_NID, nid, NULL) + +# define EVP_PKEY_CTX_set_dh_pad(ctx, pad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_PAD, pad, NULL) + +# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)(oid)) + +# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)(poid)) + +# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)(plen)) + +# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)(p)) + +# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)(p)) + +# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) +# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) +# define EVP_PKEY_CTRL_DH_NID (EVP_PKEY_ALG_CTRL + 15) +# define EVP_PKEY_CTRL_DH_PAD (EVP_PKEY_ALG_CTRL + 16) + +/* KDF types */ +# define EVP_PKEY_DH_KDF_NONE 1 +# ifndef OPENSSL_NO_CMS +# define EVP_PKEY_DH_KDF_X9_42 2 +# endif + + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/dherr.h b/openssl/1.1/include/openssl/dherr.h new file mode 100644 index 0000000..81e73f7 --- /dev/null +++ b/openssl/1.1/include/openssl/dherr.h @@ -0,0 +1,84 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DHERR_H +# define HEADER_DHERR_H + +# include + +# ifndef OPENSSL_NO_DH + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_DH_strings(void); + +/* + * DH function codes. + */ +# define DH_F_COMPUTE_KEY 102 +# define DH_F_DHPARAMS_PRINT_FP 101 +# define DH_F_DH_BUILTIN_GENPARAMS 106 +# define DH_F_DH_CHECK_EX 121 +# define DH_F_DH_CHECK_PARAMS_EX 122 +# define DH_F_DH_CHECK_PUB_KEY_EX 123 +# define DH_F_DH_CMS_DECRYPT 114 +# define DH_F_DH_CMS_SET_PEERKEY 115 +# define DH_F_DH_CMS_SET_SHARED_INFO 116 +# define DH_F_DH_METH_DUP 117 +# define DH_F_DH_METH_NEW 118 +# define DH_F_DH_METH_SET1_NAME 119 +# define DH_F_DH_NEW_BY_NID 104 +# define DH_F_DH_NEW_METHOD 105 +# define DH_F_DH_PARAM_DECODE 107 +# define DH_F_DH_PKEY_PUBLIC_CHECK 124 +# define DH_F_DH_PRIV_DECODE 110 +# define DH_F_DH_PRIV_ENCODE 111 +# define DH_F_DH_PUB_DECODE 108 +# define DH_F_DH_PUB_ENCODE 109 +# define DH_F_DO_DH_PRINT 100 +# define DH_F_GENERATE_KEY 103 +# define DH_F_PKEY_DH_CTRL_STR 120 +# define DH_F_PKEY_DH_DERIVE 112 +# define DH_F_PKEY_DH_INIT 125 +# define DH_F_PKEY_DH_KEYGEN 113 + +/* + * DH reason codes. + */ +# define DH_R_BAD_GENERATOR 101 +# define DH_R_BN_DECODE_ERROR 109 +# define DH_R_BN_ERROR 106 +# define DH_R_CHECK_INVALID_J_VALUE 115 +# define DH_R_CHECK_INVALID_Q_VALUE 116 +# define DH_R_CHECK_PUBKEY_INVALID 122 +# define DH_R_CHECK_PUBKEY_TOO_LARGE 123 +# define DH_R_CHECK_PUBKEY_TOO_SMALL 124 +# define DH_R_CHECK_P_NOT_PRIME 117 +# define DH_R_CHECK_P_NOT_SAFE_PRIME 118 +# define DH_R_CHECK_Q_NOT_PRIME 119 +# define DH_R_DECODE_ERROR 104 +# define DH_R_INVALID_PARAMETER_NAME 110 +# define DH_R_INVALID_PARAMETER_NID 114 +# define DH_R_INVALID_PUBKEY 102 +# define DH_R_KDF_PARAMETER_ERROR 112 +# define DH_R_KEYS_NOT_SET 108 +# define DH_R_MISSING_PUBKEY 125 +# define DH_R_MODULUS_TOO_LARGE 103 +# define DH_R_NOT_SUITABLE_GENERATOR 120 +# define DH_R_NO_PARAMETERS_SET 107 +# define DH_R_NO_PRIVATE_VALUE 100 +# define DH_R_PARAMETER_ENCODING_ERROR 105 +# define DH_R_PEER_KEY_ERROR 111 +# define DH_R_SHARED_INFO_ERROR 113 +# define DH_R_UNABLE_TO_CHECK_GENERATOR 121 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/dsa.h b/openssl/1.1/include/openssl/dsa.h new file mode 100644 index 0000000..822eff3 --- /dev/null +++ b/openssl/1.1/include/openssl/dsa.h @@ -0,0 +1,238 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DSA_H +# define HEADER_DSA_H + +# include + +# ifndef OPENSSL_NO_DSA +# ifdef __cplusplus +extern "C" { +# endif +# include +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include + +# ifndef OPENSSL_DSA_MAX_MODULUS_BITS +# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 +# endif + +# define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024 + +# define DSA_FLAG_CACHE_MONT_P 0x01 +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * Does nothing. Previously this switched off constant time behaviour. + */ +# define DSA_FLAG_NO_EXP_CONSTTIME 0x00 +# endif + +/* + * If this flag is set the DSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define DSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DSA_FLAG_NON_FIPS_ALLOW 0x0400 +# define DSA_FLAG_FIPS_CHECKED 0x0800 + +/* Already defined in ossl_typ.h */ +/* typedef struct dsa_st DSA; */ +/* typedef struct dsa_method DSA_METHOD; */ + +typedef struct DSA_SIG_st DSA_SIG; + +# define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ + (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) +# define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ + (unsigned char *)(x)) +# define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) +# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) + +DSA *DSAparams_dup(DSA *x); +DSA_SIG *DSA_SIG_new(void); +void DSA_SIG_free(DSA_SIG *a); +int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); +DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); +void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); +int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s); + +DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); +int DSA_do_verify(const unsigned char *dgst, int dgst_len, + DSA_SIG *sig, DSA *dsa); + +const DSA_METHOD *DSA_OpenSSL(void); + +void DSA_set_default_method(const DSA_METHOD *); +const DSA_METHOD *DSA_get_default_method(void); +int DSA_set_method(DSA *dsa, const DSA_METHOD *); +const DSA_METHOD *DSA_get_method(DSA *d); + +DSA *DSA_new(void); +DSA *DSA_new_method(ENGINE *engine); +void DSA_free(DSA *r); +/* "up" the DSA object's reference count */ +int DSA_up_ref(DSA *r); +int DSA_size(const DSA *); +int DSA_bits(const DSA *d); +int DSA_security_bits(const DSA *d); + /* next 4 return -1 on error */ +DEPRECATEDIN_1_2_0(int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)) +int DSA_sign(int type, const unsigned char *dgst, int dlen, + unsigned char *sig, unsigned int *siglen, DSA *dsa); +int DSA_verify(int type, const unsigned char *dgst, int dgst_len, + const unsigned char *sigbuf, int siglen, DSA *dsa); +#define DSA_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DSA, l, p, newf, dupf, freef) +int DSA_set_ex_data(DSA *d, int idx, void *arg); +void *DSA_get_ex_data(DSA *d, int idx); + +DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); + +/* Deprecated version */ +DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, + unsigned char *seed, + int seed_len, + int *counter_ret, + unsigned long *h_ret, void + (*callback) (int, int, + void *), + void *cb_arg)) + +/* New version */ +int DSA_generate_parameters_ex(DSA *dsa, int bits, + const unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, + BN_GENCB *cb); + +int DSA_generate_key(DSA *a); +int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); +int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); +int i2d_DSAparams(const DSA *a, unsigned char **pp); + +int DSAparams_print(BIO *bp, const DSA *x); +int DSA_print(BIO *bp, const DSA *x, int off); +# ifndef OPENSSL_NO_STDIO +int DSAparams_print_fp(FILE *fp, const DSA *x); +int DSA_print_fp(FILE *bp, const DSA *x, int off); +# endif + +# define DSS_prime_checks 64 +/* + * Primality test according to FIPS PUB 186-4, Appendix C.3. Since we only + * have one value here we set the number of checks to 64 which is the 128 bit + * security level that is the highest level and valid for creating a 3072 bit + * DSA key. + */ +# define DSA_is_prime(n, callback, cb_arg) \ + BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) + +# ifndef OPENSSL_NO_DH +/* + * Convert DSA structure (key or just parameters) into DH structure (be + * careful to avoid small subgroup attacks when using this!) + */ +DH *DSA_dup_DH(const DSA *r); +# endif + +# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) + +# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) + +void DSA_get0_pqg(const DSA *d, + const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); +int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g); +void DSA_get0_key(const DSA *d, + const BIGNUM **pub_key, const BIGNUM **priv_key); +int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key); +const BIGNUM *DSA_get0_p(const DSA *d); +const BIGNUM *DSA_get0_q(const DSA *d); +const BIGNUM *DSA_get0_g(const DSA *d); +const BIGNUM *DSA_get0_pub_key(const DSA *d); +const BIGNUM *DSA_get0_priv_key(const DSA *d); +void DSA_clear_flags(DSA *d, int flags); +int DSA_test_flags(const DSA *d, int flags); +void DSA_set_flags(DSA *d, int flags); +ENGINE *DSA_get0_engine(DSA *d); + +DSA_METHOD *DSA_meth_new(const char *name, int flags); +void DSA_meth_free(DSA_METHOD *dsam); +DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam); +const char *DSA_meth_get0_name(const DSA_METHOD *dsam); +int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name); +int DSA_meth_get_flags(const DSA_METHOD *dsam); +int DSA_meth_set_flags(DSA_METHOD *dsam, int flags); +void *DSA_meth_get0_app_data(const DSA_METHOD *dsam); +int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data); +DSA_SIG *(*DSA_meth_get_sign(const DSA_METHOD *dsam)) + (const unsigned char *, int, DSA *); +int DSA_meth_set_sign(DSA_METHOD *dsam, + DSA_SIG *(*sign) (const unsigned char *, int, DSA *)); +int (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam)) + (DSA *, BN_CTX *, BIGNUM **, BIGNUM **); +int DSA_meth_set_sign_setup(DSA_METHOD *dsam, + int (*sign_setup) (DSA *, BN_CTX *, BIGNUM **, BIGNUM **)); +int (*DSA_meth_get_verify(const DSA_METHOD *dsam)) + (const unsigned char *, int, DSA_SIG *, DSA *); +int DSA_meth_set_verify(DSA_METHOD *dsam, + int (*verify) (const unsigned char *, int, DSA_SIG *, DSA *)); +int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam)) + (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *); +int DSA_meth_set_mod_exp(DSA_METHOD *dsam, + int (*mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, + BN_MONT_CTX *)); +int (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam)) + (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + BN_CTX *, BN_MONT_CTX *); +int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam, + int (*bn_mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); +int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *); +int DSA_meth_set_init(DSA_METHOD *dsam, int (*init)(DSA *)); +int (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *); +int DSA_meth_set_finish(DSA_METHOD *dsam, int (*finish) (DSA *)); +int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam)) + (DSA *, int, const unsigned char *, int, int *, unsigned long *, + BN_GENCB *); +int DSA_meth_set_paramgen(DSA_METHOD *dsam, + int (*paramgen) (DSA *, int, const unsigned char *, int, int *, + unsigned long *, BN_GENCB *)); +int (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *); +int DSA_meth_set_keygen(DSA_METHOD *dsam, int (*keygen) (DSA *)); + + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/dsaerr.h b/openssl/1.1/include/openssl/dsaerr.h new file mode 100644 index 0000000..d94f97b --- /dev/null +++ b/openssl/1.1/include/openssl/dsaerr.h @@ -0,0 +1,67 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DSAERR_H +# define HEADER_DSAERR_H + +# include + +# ifndef OPENSSL_NO_DSA + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_DSA_strings(void); + +/* + * DSA function codes. + */ +# define DSA_F_DSAPARAMS_PRINT 100 +# define DSA_F_DSAPARAMS_PRINT_FP 101 +# define DSA_F_DSA_BUILTIN_PARAMGEN 125 +# define DSA_F_DSA_BUILTIN_PARAMGEN2 126 +# define DSA_F_DSA_DO_SIGN 112 +# define DSA_F_DSA_DO_VERIFY 113 +# define DSA_F_DSA_METH_DUP 127 +# define DSA_F_DSA_METH_NEW 128 +# define DSA_F_DSA_METH_SET1_NAME 129 +# define DSA_F_DSA_NEW_METHOD 103 +# define DSA_F_DSA_PARAM_DECODE 119 +# define DSA_F_DSA_PRINT_FP 105 +# define DSA_F_DSA_PRIV_DECODE 115 +# define DSA_F_DSA_PRIV_ENCODE 116 +# define DSA_F_DSA_PUB_DECODE 117 +# define DSA_F_DSA_PUB_ENCODE 118 +# define DSA_F_DSA_SIGN 106 +# define DSA_F_DSA_SIGN_SETUP 107 +# define DSA_F_DSA_SIG_NEW 102 +# define DSA_F_OLD_DSA_PRIV_DECODE 122 +# define DSA_F_PKEY_DSA_CTRL 120 +# define DSA_F_PKEY_DSA_CTRL_STR 104 +# define DSA_F_PKEY_DSA_KEYGEN 121 + +/* + * DSA reason codes. + */ +# define DSA_R_BAD_Q_VALUE 102 +# define DSA_R_BN_DECODE_ERROR 108 +# define DSA_R_BN_ERROR 109 +# define DSA_R_DECODE_ERROR 104 +# define DSA_R_INVALID_DIGEST_TYPE 106 +# define DSA_R_INVALID_PARAMETERS 112 +# define DSA_R_MISSING_PARAMETERS 101 +# define DSA_R_MODULUS_TOO_LARGE 103 +# define DSA_R_NO_PARAMETERS_SET 107 +# define DSA_R_PARAMETER_ENCODING_ERROR 105 +# define DSA_R_Q_NOT_PRIME 113 +# define DSA_R_SEED_LEN_SMALL 110 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/dtls1.h b/openssl/1.1/include/openssl/dtls1.h new file mode 100644 index 0000000..a312e38 --- /dev/null +++ b/openssl/1.1/include/openssl/dtls1.h @@ -0,0 +1,55 @@ +/* + * Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DTLS1_H +# define HEADER_DTLS1_H + +#ifdef __cplusplus +extern "C" { +#endif + +# define DTLS1_VERSION 0xFEFF +# define DTLS1_2_VERSION 0xFEFD +# define DTLS_MIN_VERSION DTLS1_VERSION +# define DTLS_MAX_VERSION DTLS1_2_VERSION +# define DTLS1_VERSION_MAJOR 0xFE + +# define DTLS1_BAD_VER 0x0100 + +/* Special value for method supporting multiple versions */ +# define DTLS_ANY_VERSION 0x1FFFF + +/* lengths of messages */ +/* + * Actually the max cookie length in DTLS is 255. But we can't change this now + * due to compatibility concerns. + */ +# define DTLS1_COOKIE_LENGTH 256 + +# define DTLS1_RT_HEADER_LENGTH 13 + +# define DTLS1_HM_HEADER_LENGTH 12 + +# define DTLS1_HM_BAD_FRAGMENT -2 +# define DTLS1_HM_FRAGMENT_RETRY -3 + +# define DTLS1_CCS_HEADER_LENGTH 1 + +# define DTLS1_AL_HEADER_LENGTH 2 + +/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ +# define DTLS1_TMO_READ_COUNT 2 +# define DTLS1_TMO_WRITE_COUNT 2 + +# define DTLS1_TMO_ALERT_COUNT 12 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/e_os2.h b/openssl/1.1/include/openssl/e_os2.h new file mode 100644 index 0000000..eeae215 --- /dev/null +++ b/openssl/1.1/include/openssl/e_os2.h @@ -0,0 +1,293 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_E_OS2_H +# define HEADER_E_OS2_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** + * Detect operating systems. This probably needs completing. + * The result is that at least one OPENSSL_SYS_os macro should be defined. + * However, if none is defined, Unix is assumed. + **/ + +# define OPENSSL_SYS_UNIX + +/* --------------------- Microsoft operating systems ---------------------- */ + +/* + * Note that MSDOS actually denotes 32-bit environments running on top of + * MS-DOS, such as DJGPP one. + */ +# if defined(OPENSSL_SYS_MSDOS) +# undef OPENSSL_SYS_UNIX +# endif + +/* + * For 32 bit environment, there seems to be the CygWin environment and then + * all the others that try to do the same thing Microsoft does... + */ +/* + * UEFI lives here because it might be built with a Microsoft toolchain and + * we need to avoid the false positive match on Windows. + */ +# if defined(OPENSSL_SYS_UEFI) +# undef OPENSSL_SYS_UNIX +# elif defined(OPENSSL_SYS_UWIN) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32_UWIN +# else +# if defined(__CYGWIN__) || defined(OPENSSL_SYS_CYGWIN) +# define OPENSSL_SYS_WIN32_CYGWIN +# else +# if defined(_WIN32) || defined(OPENSSL_SYS_WIN32) +# undef OPENSSL_SYS_UNIX +# if !defined(OPENSSL_SYS_WIN32) +# define OPENSSL_SYS_WIN32 +# endif +# endif +# if defined(_WIN64) || defined(OPENSSL_SYS_WIN64) +# undef OPENSSL_SYS_UNIX +# if !defined(OPENSSL_SYS_WIN64) +# define OPENSSL_SYS_WIN64 +# endif +# endif +# if defined(OPENSSL_SYS_WINNT) +# undef OPENSSL_SYS_UNIX +# endif +# if defined(OPENSSL_SYS_WINCE) +# undef OPENSSL_SYS_UNIX +# endif +# endif +# endif + +/* Anything that tries to look like Microsoft is "Windows" */ +# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_SYS_MSDOS +# define OPENSSL_SYS_MSDOS +# endif +# endif + +/* + * DLL settings. This part is a bit tough, because it's up to the + * application implementor how he or she will link the application, so it + * requires some macro to be used. + */ +# ifdef OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_OPT_WINDLL +# if defined(_WINDLL) /* This is used when building OpenSSL to + * indicate that DLL linkage should be used */ +# define OPENSSL_OPT_WINDLL +# endif +# endif +# endif + +/* ------------------------------- OpenVMS -------------------------------- */ +# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYS_VMS) +# if !defined(OPENSSL_SYS_VMS) +# undef OPENSSL_SYS_UNIX +# endif +# define OPENSSL_SYS_VMS +# if defined(__DECC) +# define OPENSSL_SYS_VMS_DECC +# elif defined(__DECCXX) +# define OPENSSL_SYS_VMS_DECC +# define OPENSSL_SYS_VMS_DECCXX +# else +# define OPENSSL_SYS_VMS_NODECC +# endif +# endif + +/* -------------------------------- Unix ---------------------------------- */ +# ifdef OPENSSL_SYS_UNIX +# if defined(linux) || defined(__linux__) && !defined(OPENSSL_SYS_LINUX) +# define OPENSSL_SYS_LINUX +# endif +# if defined(_AIX) && !defined(OPENSSL_SYS_AIX) +# define OPENSSL_SYS_AIX +# endif +# endif + +/* -------------------------------- VOS ----------------------------------- */ +# if defined(__VOS__) && !defined(OPENSSL_SYS_VOS) +# define OPENSSL_SYS_VOS +# ifdef __HPPA__ +# define OPENSSL_SYS_VOS_HPPA +# endif +# ifdef __IA32__ +# define OPENSSL_SYS_VOS_IA32 +# endif +# endif + +/** + * That's it for OS-specific stuff + *****************************************************************************/ + +/* Specials for I/O an exit */ +# ifdef OPENSSL_SYS_MSDOS +# define OPENSSL_UNISTD_IO +# define OPENSSL_DECLARE_EXIT extern void exit(int); +# else +# define OPENSSL_UNISTD_IO OPENSSL_UNISTD +# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ +# endif + +/*- + * OPENSSL_EXTERN is normally used to declare a symbol with possible extra + * attributes to handle its presence in a shared library. + * OPENSSL_EXPORT is used to define a symbol with extra possible attributes + * to make it visible in a shared library. + * Care needs to be taken when a header file is used both to declare and + * define symbols. Basically, for any library that exports some global + * variables, the following code must be present in the header file that + * declares them, before OPENSSL_EXTERN is used: + * + * #ifdef SOME_BUILD_FLAG_MACRO + * # undef OPENSSL_EXTERN + * # define OPENSSL_EXTERN OPENSSL_EXPORT + * #endif + * + * The default is to have OPENSSL_EXPORT and OPENSSL_EXTERN + * have some generally sensible values. + */ + +# if defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) +# define OPENSSL_EXPORT extern __declspec(dllexport) +# define OPENSSL_EXTERN extern __declspec(dllimport) +# else +# define OPENSSL_EXPORT extern +# define OPENSSL_EXTERN extern +# endif + +/*- + * Macros to allow global variables to be reached through function calls when + * required (if a shared library version requires it, for example. + * The way it's done allows definitions like this: + * + * // in foobar.c + * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) + * // in foobar.h + * OPENSSL_DECLARE_GLOBAL(int,foobar); + * #define foobar OPENSSL_GLOBAL_REF(foobar) + */ +# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ + type *_shadow_##name(void) \ + { static type _hide_##name=value; return &_hide_##name; } +# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) +# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) +# else +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) type _shadow_##name=value; +# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name +# define OPENSSL_GLOBAL_REF(name) _shadow_##name +# endif + +# ifdef _WIN32 +# ifdef _WIN64 +# define ossl_ssize_t __int64 +# define OSSL_SSIZE_MAX _I64_MAX +# else +# define ossl_ssize_t int +# define OSSL_SSIZE_MAX INT_MAX +# endif +# endif + +# if defined(OPENSSL_SYS_UEFI) && !defined(ossl_ssize_t) +# define ossl_ssize_t INTN +# define OSSL_SSIZE_MAX MAX_INTN +# endif + +# ifndef ossl_ssize_t +# define ossl_ssize_t ssize_t +# if defined(SSIZE_MAX) +# define OSSL_SSIZE_MAX SSIZE_MAX +# elif defined(_POSIX_SSIZE_MAX) +# define OSSL_SSIZE_MAX _POSIX_SSIZE_MAX +# else +# define OSSL_SSIZE_MAX ((ssize_t)(SIZE_MAX>>1)) +# endif +# endif + +# ifdef DEBUG_UNUSED +# define __owur __attribute__((__warn_unused_result__)) +# else +# define __owur +# endif + +/* Standard integer types */ +# if defined(OPENSSL_SYS_UEFI) +typedef INT8 int8_t; +typedef UINT8 uint8_t; +typedef INT16 int16_t; +typedef UINT16 uint16_t; +typedef INT32 int32_t; +typedef UINT32 uint32_t; +typedef INT64 int64_t; +typedef UINT64 uint64_t; +# elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ + defined(__osf__) || defined(__sgi) || defined(__hpux) || \ + defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__) +# include +# elif defined(_MSC_VER) && _MSC_VER<=1500 +/* + * minimally required typdefs for systems not supporting inttypes.h or + * stdint.h: currently just older VC++ + */ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef short int16_t; +typedef unsigned short uint16_t; +typedef int int32_t; +typedef unsigned int uint32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +# else +# include +# endif + +/* ossl_inline: portable inline definition usable in public headers */ +# if !defined(inline) && !defined(__cplusplus) +# if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L + /* just use inline */ +# define ossl_inline inline +# elif defined(__GNUC__) && __GNUC__>=2 +# define ossl_inline __inline__ +# elif defined(_MSC_VER) + /* + * Visual Studio: inline is available in C++ only, however + * __inline is available for C, see + * http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx + */ +# define ossl_inline __inline +# else +# define ossl_inline +# endif +# else +# define ossl_inline inline +# endif + +# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L +# define ossl_noreturn _Noreturn +# elif defined(__GNUC__) && __GNUC__ >= 2 +# define ossl_noreturn __attribute__((noreturn)) +# else +# define ossl_noreturn +# endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/ebcdic.h b/openssl/1.1/include/openssl/ebcdic.h new file mode 100644 index 0000000..aa01285 --- /dev/null +++ b/openssl/1.1/include/openssl/ebcdic.h @@ -0,0 +1,33 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_EBCDIC_H +# define HEADER_EBCDIC_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Avoid name clashes with other applications */ +# define os_toascii _openssl_os_toascii +# define os_toebcdic _openssl_os_toebcdic +# define ebcdic2ascii _openssl_ebcdic2ascii +# define ascii2ebcdic _openssl_ascii2ebcdic + +extern const unsigned char os_toascii[256]; +extern const unsigned char os_toebcdic[256]; +void *ebcdic2ascii(void *dest, const void *srce, size_t count); +void *ascii2ebcdic(void *dest, const void *srce, size_t count); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/ec.h b/openssl/1.1/include/openssl/ec.h new file mode 100644 index 0000000..4d70da7 --- /dev/null +++ b/openssl/1.1/include/openssl/ec.h @@ -0,0 +1,1467 @@ +/* + * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_EC_H +# define HEADER_EC_H + +# include + +# ifndef OPENSSL_NO_EC +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include +# ifdef __cplusplus +extern "C" { +# endif + +# ifndef OPENSSL_ECC_MAX_FIELD_BITS +# define OPENSSL_ECC_MAX_FIELD_BITS 661 +# endif + +/** Enum for the point conversion form as defined in X9.62 (ECDSA) + * for the encoding of a elliptic curve point (x,y) */ +typedef enum { + /** the point is encoded as z||x, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_COMPRESSED = 2, + /** the point is encoded as z||x||y, where z is the octet 0x04 */ + POINT_CONVERSION_UNCOMPRESSED = 4, + /** the point is encoded as z||x||y, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_HYBRID = 6 +} point_conversion_form_t; + +typedef struct ec_method_st EC_METHOD; +typedef struct ec_group_st EC_GROUP; +typedef struct ec_point_st EC_POINT; +typedef struct ecpk_parameters_st ECPKPARAMETERS; +typedef struct ec_parameters_st ECPARAMETERS; + +/********************************************************************/ +/* EC_METHODs for curves over GF(p) */ +/********************************************************************/ + +/** Returns the basic GFp ec methods which provides the basis for the + * optimized methods. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_simple_method(void); + +/** Returns GFp methods using montgomery multiplication. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_mont_method(void); + +/** Returns GFp methods using optimized methods for NIST recommended curves + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nist_method(void); + +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +/** Returns 64-bit optimized methods for nistp224 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp224_method(void); + +/** Returns 64-bit optimized methods for nistp256 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp256_method(void); + +/** Returns 64-bit optimized methods for nistp521 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp521_method(void); +# endif + +# ifndef OPENSSL_NO_EC2M +/********************************************************************/ +/* EC_METHOD for curves over GF(2^m) */ +/********************************************************************/ + +/** Returns the basic GF2m ec method + * \return EC_METHOD object + */ +const EC_METHOD *EC_GF2m_simple_method(void); + +# endif + +/********************************************************************/ +/* EC_GROUP functions */ +/********************************************************************/ + +/** Creates a new EC_GROUP object + * \param meth EC_METHOD to use + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); + +/** Frees a EC_GROUP object + * \param group EC_GROUP object to be freed. + */ +void EC_GROUP_free(EC_GROUP *group); + +/** Clears and frees a EC_GROUP object + * \param group EC_GROUP object to be cleared and freed. + */ +void EC_GROUP_clear_free(EC_GROUP *group); + +/** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. + * \param dst destination EC_GROUP object + * \param src source EC_GROUP object + * \return 1 on success and 0 if an error occurred. + */ +int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); + +/** Creates a new EC_GROUP object and copies the copies the content + * form src to the newly created EC_KEY object + * \param src source EC_GROUP object + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); + +/** Returns the EC_METHOD of the EC_GROUP object. + * \param group EC_GROUP object + * \return EC_METHOD used in this EC_GROUP object. + */ +const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); + +/** Returns the field type of the EC_METHOD. + * \param meth EC_METHOD object + * \return NID of the underlying field type OID. + */ +int EC_METHOD_get_field_type(const EC_METHOD *meth); + +/** Sets the generator and it's order/cofactor of a EC_GROUP object. + * \param group EC_GROUP object + * \param generator EC_POINT object with the generator. + * \param order the order of the group generated by the generator. + * \param cofactor the index of the sub-group generated by the generator + * in the group of all points on the elliptic curve. + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, + const BIGNUM *order, const BIGNUM *cofactor); + +/** Returns the generator of a EC_GROUP object. + * \param group EC_GROUP object + * \return the currently used generator (possibly NULL). + */ +const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); + +/** Returns the montgomery data for order(Generator) + * \param group EC_GROUP object + * \return the currently used montgomery data (possibly NULL). +*/ +BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group); + +/** Gets the order of a EC_GROUP + * \param group EC_GROUP object + * \param order BIGNUM to which the order is copied + * \param ctx unused + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); + +/** Gets the order of an EC_GROUP + * \param group EC_GROUP object + * \return the group order + */ +const BIGNUM *EC_GROUP_get0_order(const EC_GROUP *group); + +/** Gets the number of bits of the order of an EC_GROUP + * \param group EC_GROUP object + * \return number of bits of group order. + */ +int EC_GROUP_order_bits(const EC_GROUP *group); + +/** Gets the cofactor of a EC_GROUP + * \param group EC_GROUP object + * \param cofactor BIGNUM to which the cofactor is copied + * \param ctx unused + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, + BN_CTX *ctx); + +/** Gets the cofactor of an EC_GROUP + * \param group EC_GROUP object + * \return the group cofactor + */ +const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group); + +/** Sets the name of a EC_GROUP object + * \param group EC_GROUP object + * \param nid NID of the curve name OID + */ +void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); + +/** Returns the curve name of a EC_GROUP object + * \param group EC_GROUP object + * \return NID of the curve name OID or 0 if not set. + */ +int EC_GROUP_get_curve_name(const EC_GROUP *group); + +void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); +int EC_GROUP_get_asn1_flag(const EC_GROUP *group); + +void EC_GROUP_set_point_conversion_form(EC_GROUP *group, + point_conversion_form_t form); +point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); + +unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); +size_t EC_GROUP_get_seed_len(const EC_GROUP *); +size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); + +/** Sets the parameters of a ec curve defined by y^2 = x^3 + a*x + b (for GFp) + * or y^2 + x*y = x^3 + a*x^2 + b (for GF2m) + * \param group EC_GROUP object + * \param p BIGNUM with the prime number (GFp) or the polynomial + * defining the underlying field (GF2m) + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); + +/** Gets the parameters of the ec curve defined by y^2 = x^3 + a*x + b (for GFp) + * or y^2 + x*y = x^3 + a*x^2 + b (for GF2m) + * \param group EC_GROUP object + * \param p BIGNUM with the prime number (GFp) or the polynomial + * defining the underlying field (GF2m) + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, + BN_CTX *ctx); + +/** Sets the parameters of an ec curve. Synonym for EC_GROUP_set_curve + * \param group EC_GROUP object + * \param p BIGNUM with the prime number (GFp) or the polynomial + * defining the underlying field (GF2m) + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, + const BIGNUM *a, const BIGNUM *b, + BN_CTX *ctx)) + +/** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve + * \param group EC_GROUP object + * \param p BIGNUM with the prime number (GFp) or the polynomial + * defining the underlying field (GF2m) + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, + BIGNUM *a, BIGNUM *b, + BN_CTX *ctx)) + +# ifndef OPENSSL_NO_EC2M +/** Sets the parameter of an ec curve. Synonym for EC_GROUP_set_curve + * \param group EC_GROUP object + * \param p BIGNUM with the prime number (GFp) or the polynomial + * defining the underlying field (GF2m) + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, + const BIGNUM *a, const BIGNUM *b, + BN_CTX *ctx)) + +/** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve + * \param group EC_GROUP object + * \param p BIGNUM with the prime number (GFp) or the polynomial + * defining the underlying field (GF2m) + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, + BIGNUM *a, BIGNUM *b, + BN_CTX *ctx)) +# endif +/** Returns the number of bits needed to represent a field element + * \param group EC_GROUP object + * \return number of bits needed to represent a field element + */ +int EC_GROUP_get_degree(const EC_GROUP *group); + +/** Checks whether the parameter in the EC_GROUP define a valid ec group + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if group is a valid ec group and 0 otherwise + */ +int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); + +/** Checks whether the discriminant of the elliptic curve is zero or not + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if the discriminant is not zero and 0 otherwise + */ +int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); + +/** Compares two EC_GROUP objects + * \param a first EC_GROUP object + * \param b second EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 0 if the groups are equal, 1 if not, or -1 on error + */ +int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); + +/* + * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after + * choosing an appropriate EC_METHOD + */ + +/** Creates a new EC_GROUP object with the specified parameters defined + * over GFp (defined by the equation y^2 = x^3 + a*x + b) + * \param p BIGNUM with the prime number + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# ifndef OPENSSL_NO_EC2M +/** Creates a new EC_GROUP object with the specified parameters defined + * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) + * \param p BIGNUM with the polynomial defining the underlying field + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# endif + +/** Creates a EC_GROUP object with a curve specified by a NID + * \param nid NID of the OID of the curve name + * \return newly created EC_GROUP object with specified curve or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_by_curve_name(int nid); + +/** Creates a new EC_GROUP object from an ECPARAMETERS object + * \param params pointer to the ECPARAMETERS object + * \return newly created EC_GROUP object with specified curve or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params); + +/** Creates an ECPARAMETERS object for the given EC_GROUP object. + * \param group pointer to the EC_GROUP object + * \param params pointer to an existing ECPARAMETERS object or NULL + * \return pointer to the new ECPARAMETERS object or NULL + * if an error occurred. + */ +ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, + ECPARAMETERS *params); + +/** Creates a new EC_GROUP object from an ECPKPARAMETERS object + * \param params pointer to an existing ECPKPARAMETERS object, or NULL + * \return newly created EC_GROUP object with specified curve, or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params); + +/** Creates an ECPKPARAMETERS object for the given EC_GROUP object. + * \param group pointer to the EC_GROUP object + * \param params pointer to an existing ECPKPARAMETERS object or NULL + * \return pointer to the new ECPKPARAMETERS object or NULL + * if an error occurred. + */ +ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group, + ECPKPARAMETERS *params); + +/********************************************************************/ +/* handling of internal curves */ +/********************************************************************/ + +typedef struct { + int nid; + const char *comment; +} EC_builtin_curve; + +/* + * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all + * available curves or zero if a error occurred. In case r is not zero, + * nitems EC_builtin_curve structures are filled with the data of the first + * nitems internal groups + */ +size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); + +const char *EC_curve_nid2nist(int nid); +int EC_curve_nist2nid(const char *name); + +/********************************************************************/ +/* EC_POINT functions */ +/********************************************************************/ + +/** Creates a new EC_POINT object for the specified EC_GROUP + * \param group EC_GROUP the underlying EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_new(const EC_GROUP *group); + +/** Frees a EC_POINT object + * \param point EC_POINT object to be freed + */ +void EC_POINT_free(EC_POINT *point); + +/** Clears and frees a EC_POINT object + * \param point EC_POINT object to be cleared and freed + */ +void EC_POINT_clear_free(EC_POINT *point); + +/** Copies EC_POINT object + * \param dst destination EC_POINT object + * \param src source EC_POINT object + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); + +/** Creates a new EC_POINT object and copies the content of the supplied + * EC_POINT + * \param src source EC_POINT object + * \param group underlying the EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); + +/** Returns the EC_METHOD used in EC_POINT object + * \param point EC_POINT object + * \return the EC_METHOD used + */ +const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); + +/** Sets a point to infinity (neutral element) + * \param group underlying EC_GROUP object + * \param point EC_POINT to set to infinity + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); + +/** Sets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param z BIGNUM with the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + const BIGNUM *y, const BIGNUM *z, + BN_CTX *ctx); + +/** Gets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param z BIGNUM for the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BIGNUM *z, + BN_CTX *ctx); + +/** Sets the affine coordinates of an EC_POINT + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + BN_CTX *ctx); + +/** Gets the affine coordinates of an EC_POINT. + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p, + BIGNUM *x, BIGNUM *y, BN_CTX *ctx); + +/** Sets the affine coordinates of an EC_POINT. A synonym of + * EC_POINT_set_affine_coordinates + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + const BIGNUM *y, + BN_CTX *ctx)) + +/** Gets the affine coordinates of an EC_POINT. A synonym of + * EC_POINT_get_affine_coordinates + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, + BIGNUM *x, + BIGNUM *y, + BN_CTX *ctx)) + +/** Sets the x9.62 compressed coordinates of a EC_POINT + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, int y_bit, + BN_CTX *ctx); + +/** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of + * EC_POINT_set_compressed_coordinates + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + int y_bit, + BN_CTX *ctx)) +# ifndef OPENSSL_NO_EC2M +/** Sets the affine coordinates of an EC_POINT. A synonym of + * EC_POINT_set_affine_coordinates + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + const BIGNUM *y, + BN_CTX *ctx)) + +/** Gets the affine coordinates of an EC_POINT. A synonym of + * EC_POINT_get_affine_coordinates + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, + const EC_POINT *p, + BIGNUM *x, + BIGNUM *y, + BN_CTX *ctx)) + +/** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of + * EC_POINT_set_compressed_coordinates + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + int y_bit, + BN_CTX *ctx)) +# endif +/** Encodes a EC_POINT object to a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param form point conversion form + * \param buf memory buffer for the result. If NULL the function returns + * required buffer size. + * \param len length of the memory buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ +size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, + unsigned char *buf, size_t len, BN_CTX *ctx); + +/** Decodes a EC_POINT from a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param buf memory buffer with the encoded ec point + * \param len length of the encoded ec point + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, + const unsigned char *buf, size_t len, BN_CTX *ctx); + +/** Encodes an EC_POINT object to an allocated octet string + * \param group underlying EC_GROUP object + * \param point EC_POINT object + * \param form point conversion form + * \param pbuf returns pointer to allocated buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ +size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point, + point_conversion_form_t form, + unsigned char **pbuf, BN_CTX *ctx); + +/* other interfaces to point2oct/oct2point: */ +BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BIGNUM *, BN_CTX *); +EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, + EC_POINT *, BN_CTX *); +char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BN_CTX *); +EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, + EC_POINT *, BN_CTX *); + +/********************************************************************/ +/* functions for doing EC_POINT arithmetic */ +/********************************************************************/ + +/** Computes the sum of two EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = a + b) + * \param a EC_POINT object with the first summand + * \param b EC_POINT object with the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + const EC_POINT *b, BN_CTX *ctx); + +/** Computes the double of a EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = 2 * a) + * \param a EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + BN_CTX *ctx); + +/** Computes the inverse of a EC_POINT + * \param group underlying EC_GROUP object + * \param a EC_POINT object to be inverted (it's used for the result as well) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); + +/** Checks whether the point is the neutral element of the group + * \param group the underlying EC_GROUP object + * \param p EC_POINT object + * \return 1 if the point is the neutral element and 0 otherwise + */ +int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); + +/** Checks whether the point is on the curve + * \param group underlying EC_GROUP object + * \param point EC_POINT object to check + * \param ctx BN_CTX object (optional) + * \return 1 if the point is on the curve, 0 if not, or -1 on error + */ +int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, + BN_CTX *ctx); + +/** Compares two EC_POINTs + * \param group underlying EC_GROUP object + * \param a first EC_POINT object + * \param b second EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 1 if the points are not equal, 0 if they are, or -1 on error + */ +int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, + BN_CTX *ctx); + +int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); +int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, + EC_POINT *points[], BN_CTX *ctx); + +/** Computes r = generator * n + sum_{i=0}^{num-1} p[i] * m[i] + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param num number further summands + * \param p array of size num of EC_POINT objects + * \param m array of size num of BIGNUM objects + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + size_t num, const EC_POINT *p[], const BIGNUM *m[], + BN_CTX *ctx); + +/** Computes r = generator * n + q * m + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param q EC_POINT object with the first factor of the second summand + * \param m BIGNUM with the second factor of the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); + +/** Stores multiples of generator for faster point multiplication + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); + +/** Reports whether a precomputation has been done + * \param group EC_GROUP object + * \return 1 if a pre-computation has been done and 0 otherwise + */ +int EC_GROUP_have_precompute_mult(const EC_GROUP *group); + +/********************************************************************/ +/* ASN1 stuff */ +/********************************************************************/ + +DECLARE_ASN1_ITEM(ECPKPARAMETERS) +DECLARE_ASN1_ALLOC_FUNCTIONS(ECPKPARAMETERS) +DECLARE_ASN1_ITEM(ECPARAMETERS) +DECLARE_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS) + +/* + * EC_GROUP_get_basis_type() returns the NID of the basis type used to + * represent the field elements + */ +int EC_GROUP_get_basis_type(const EC_GROUP *); +# ifndef OPENSSL_NO_EC2M +int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); +int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, + unsigned int *k2, unsigned int *k3); +# endif + +# define OPENSSL_EC_EXPLICIT_CURVE 0x000 +# define OPENSSL_EC_NAMED_CURVE 0x001 + +EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); +int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); + +# define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) +# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) +# define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ + (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) +# define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ + (unsigned char *)(x)) + +int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); +# ifndef OPENSSL_NO_STDIO +int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); +# endif + +/********************************************************************/ +/* EC_KEY functions */ +/********************************************************************/ + +/* some values for the encoding_flag */ +# define EC_PKEY_NO_PARAMETERS 0x001 +# define EC_PKEY_NO_PUBKEY 0x002 + +/* some values for the flags field */ +# define EC_FLAG_NON_FIPS_ALLOW 0x1 +# define EC_FLAG_FIPS_CHECKED 0x2 +# define EC_FLAG_COFACTOR_ECDH 0x1000 + +/** Creates a new EC_KEY object. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new(void); + +int EC_KEY_get_flags(const EC_KEY *key); + +void EC_KEY_set_flags(EC_KEY *key, int flags); + +void EC_KEY_clear_flags(EC_KEY *key, int flags); + +/** Creates a new EC_KEY object using a named curve as underlying + * EC_GROUP object. + * \param nid NID of the named curve. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new_by_curve_name(int nid); + +/** Frees a EC_KEY object. + * \param key EC_KEY object to be freed. + */ +void EC_KEY_free(EC_KEY *key); + +/** Copies a EC_KEY object. + * \param dst destination EC_KEY object + * \param src src EC_KEY object + * \return dst or NULL if an error occurred. + */ +EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); + +/** Creates a new EC_KEY object and copies the content from src to it. + * \param src the source EC_KEY object + * \return newly created EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_dup(const EC_KEY *src); + +/** Increases the internal reference count of a EC_KEY object. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_up_ref(EC_KEY *key); + +/** Returns the ENGINE object of a EC_KEY object + * \param eckey EC_KEY object + * \return the ENGINE object (possibly NULL). + */ +ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey); + +/** Returns the EC_GROUP object of a EC_KEY object + * \param key EC_KEY object + * \return the EC_GROUP object (possibly NULL). + */ +const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); + +/** Sets the EC_GROUP of a EC_KEY object. + * \param key EC_KEY object + * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY + * object will use an own copy of the EC_GROUP). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); + +/** Returns the private key of a EC_KEY object. + * \param key EC_KEY object + * \return a BIGNUM with the private key (possibly NULL). + */ +const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); + +/** Sets the private key of a EC_KEY object. + * \param key EC_KEY object + * \param prv BIGNUM with the private key (note: the EC_KEY object + * will use an own copy of the BIGNUM). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); + +/** Returns the public key of a EC_KEY object. + * \param key the EC_KEY object + * \return a EC_POINT object with the public key (possibly NULL) + */ +const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); + +/** Sets the public key of a EC_KEY object. + * \param key EC_KEY object + * \param pub EC_POINT object with the public key (note: the EC_KEY object + * will use an own copy of the EC_POINT object). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); + +unsigned EC_KEY_get_enc_flags(const EC_KEY *key); +void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); +point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); +void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); + +#define EC_KEY_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, l, p, newf, dupf, freef) +int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg); +void *EC_KEY_get_ex_data(const EC_KEY *key, int idx); + +/* wrapper functions for the underlying EC_GROUP object */ +void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); + +/** Creates a table of pre-computed multiples of the generator to + * accelerate further EC_KEY operations. + * \param key EC_KEY object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); + +/** Creates a new ec private (and optional a new public) key. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_generate_key(EC_KEY *key); + +/** Verifies that a private and/or public key is valid. + * \param key the EC_KEY object + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_check_key(const EC_KEY *key); + +/** Indicates if an EC_KEY can be used for signing. + * \param eckey the EC_KEY object + * \return 1 if can can sign and 0 otherwise. + */ +int EC_KEY_can_sign(const EC_KEY *eckey); + +/** Sets a public key from affine coordinates performing + * necessary NIST PKV tests. + * \param key the EC_KEY object + * \param x public key x coordinate + * \param y public key y coordinate + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, + BIGNUM *y); + +/** Encodes an EC_KEY public key to an allocated octet string + * \param key key to encode + * \param form point conversion form + * \param pbuf returns pointer to allocated buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ +size_t EC_KEY_key2buf(const EC_KEY *key, point_conversion_form_t form, + unsigned char **pbuf, BN_CTX *ctx); + +/** Decodes a EC_KEY public key from a octet string + * \param key key to decode + * \param buf memory buffer with the encoded ec point + * \param len length of the encoded ec point + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ + +int EC_KEY_oct2key(EC_KEY *key, const unsigned char *buf, size_t len, + BN_CTX *ctx); + +/** Decodes an EC_KEY private key from an octet string + * \param key key to decode + * \param buf memory buffer with the encoded private key + * \param len length of the encoded key + * \return 1 on success and 0 if an error occurred + */ + +int EC_KEY_oct2priv(EC_KEY *key, const unsigned char *buf, size_t len); + +/** Encodes a EC_KEY private key to an octet string + * \param key key to encode + * \param buf memory buffer for the result. If NULL the function returns + * required buffer size. + * \param len length of the memory buffer + * \return the length of the encoded octet string or 0 if an error occurred + */ + +size_t EC_KEY_priv2oct(const EC_KEY *key, unsigned char *buf, size_t len); + +/** Encodes an EC_KEY private key to an allocated octet string + * \param eckey key to encode + * \param pbuf returns pointer to allocated buffer + * \return the length of the encoded octet string or 0 if an error occurred + */ +size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf); + +/********************************************************************/ +/* de- and encoding functions for SEC1 ECPrivateKey */ +/********************************************************************/ + +/** Decodes a private key from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded private key + * \param len length of the DER encoded private key + * \return the decoded private key or NULL if an error occurred. + */ +EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a private key object and stores the result in a buffer. + * \param key the EC_KEY object to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC parameters */ +/********************************************************************/ + +/** Decodes ec parameter from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded ec parameters + * \param len length of the DER encoded ec parameters + * \return a EC_KEY object with the decoded parameters or NULL if an error + * occurred. + */ +EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes ec parameter and stores the result in a buffer. + * \param key the EC_KEY object with ec parameters to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECParameters(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC public key */ +/* (octet string, not DER -- hence 'o2i' and 'i2o') */ +/********************************************************************/ + +/** Decodes a ec public key from a octet string. + * \param key a pointer to a EC_KEY object which should be used + * \param in memory buffer with the encoded public key + * \param len length of the encoded public key + * \return EC_KEY object with decoded public key or NULL if an error + * occurred. + */ +EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a ec public key in an octet string. + * \param key the EC_KEY object with the public key + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred + */ +int i2o_ECPublicKey(const EC_KEY *key, unsigned char **out); + +/** Prints out the ec parameters on human readable form. + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print(BIO *bp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); + +# ifndef OPENSSL_NO_STDIO +/** Prints out the ec parameters on human readable form. + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print_fp(FILE *fp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); + +# endif + +const EC_KEY_METHOD *EC_KEY_OpenSSL(void); +const EC_KEY_METHOD *EC_KEY_get_default_method(void); +void EC_KEY_set_default_method(const EC_KEY_METHOD *meth); +const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key); +int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth); +EC_KEY *EC_KEY_new_method(ENGINE *engine); + +int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + const unsigned char *sinfo, size_t sinfolen, + const EVP_MD *md); + +int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, + const EC_KEY *ecdh, + void *(*KDF) (const void *in, size_t inlen, + void *out, size_t *outlen)); + +typedef struct ECDSA_SIG_st ECDSA_SIG; + +/** Allocates and initialize a ECDSA_SIG structure + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_SIG_new(void); + +/** frees a ECDSA_SIG structure + * \param sig pointer to the ECDSA_SIG structure + */ +void ECDSA_SIG_free(ECDSA_SIG *sig); + +/** DER encode content of ECDSA_SIG object (note: this function modifies *pp + * (*pp += length of the DER encoded signature)). + * \param sig pointer to the ECDSA_SIG object + * \param pp pointer to a unsigned char pointer for the output or NULL + * \return the length of the DER encoded ECDSA_SIG object or 0 + */ +int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); + +/** Decodes a DER encoded ECDSA signature (note: this function changes *pp + * (*pp += len)). + * \param sig pointer to ECDSA_SIG pointer (may be NULL) + * \param pp memory buffer with the DER encoded signature + * \param len length of the buffer + * \return pointer to the decoded ECDSA_SIG structure (or NULL) + */ +ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); + +/** Accessor for r and s fields of ECDSA_SIG + * \param sig pointer to ECDSA_SIG structure + * \param pr pointer to BIGNUM pointer for r (may be NULL) + * \param ps pointer to BIGNUM pointer for s (may be NULL) + */ +void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); + +/** Accessor for r field of ECDSA_SIG + * \param sig pointer to ECDSA_SIG structure + */ +const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig); + +/** Accessor for s field of ECDSA_SIG + * \param sig pointer to ECDSA_SIG structure + */ +const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig); + +/** Setter for r and s fields of ECDSA_SIG + * \param sig pointer to ECDSA_SIG structure + * \param r pointer to BIGNUM for r (may be NULL) + * \param s pointer to BIGNUM for s (may be NULL) + */ +int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); + +/** Computes the ECDSA signature of the given hash value using + * the supplied private key and returns the created signature. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, + EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optional), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, + const BIGNUM *kinv, const BIGNUM *rp, + EC_KEY *eckey); + +/** Verifies that the supplied signature is a valid ECDSA + * signature of the supplied hash value using the supplied public key. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param sig ECDSA_SIG structure + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, + const ECDSA_SIG *sig, EC_KEY *eckey); + +/** Precompute parts of the signing operation + * \param eckey EC_KEY object containing a private EC key + * \param ctx BN_CTX object (optional) + * \param kinv BIGNUM pointer for the inverse of k + * \param rp BIGNUM pointer for x coordinate of k * generator + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig memory for the DER encoded created signature + * \param siglen pointer to the length of the returned signature + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig buffer to hold the DER encoded signature + * \param siglen pointer to the length of the returned signature + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optional), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); + +/** Verifies that the given signature is valid ECDSA signature + * of the supplied hash value using the specified public key. + * \param type this parameter is ignored + * \param dgst pointer to the hash value + * \param dgstlen length of the hash value + * \param sig pointer to the DER encoded signature + * \param siglen length of the DER encoded signature + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, + const unsigned char *sig, int siglen, EC_KEY *eckey); + +/** Returns the maximum length of the DER encoded signature + * \param eckey EC_KEY object + * \return numbers of bytes required for the DER encoded signature + */ +int ECDSA_size(const EC_KEY *eckey); + +/********************************************************************/ +/* EC_KEY_METHOD constructors, destructors, writers and accessors */ +/********************************************************************/ + +EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth); +void EC_KEY_METHOD_free(EC_KEY_METHOD *meth); +void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, + int (*init)(EC_KEY *key), + void (*finish)(EC_KEY *key), + int (*copy)(EC_KEY *dest, const EC_KEY *src), + int (*set_group)(EC_KEY *key, const EC_GROUP *grp), + int (*set_private)(EC_KEY *key, + const BIGNUM *priv_key), + int (*set_public)(EC_KEY *key, + const EC_POINT *pub_key)); + +void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, + int (*keygen)(EC_KEY *key)); + +void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, + int (*ckey)(unsigned char **psec, + size_t *pseclen, + const EC_POINT *pub_key, + const EC_KEY *ecdh)); + +void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, + int (*sign)(int type, const unsigned char *dgst, + int dlen, unsigned char *sig, + unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *r, + EC_KEY *eckey), + int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, + BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(*sign_sig)(const unsigned char *dgst, + int dgst_len, + const BIGNUM *in_kinv, + const BIGNUM *in_r, + EC_KEY *eckey)); + +void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, + int (*verify)(int type, const unsigned + char *dgst, int dgst_len, + const unsigned char *sigbuf, + int sig_len, EC_KEY *eckey), + int (*verify_sig)(const unsigned char *dgst, + int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); + +void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, + int (**pinit)(EC_KEY *key), + void (**pfinish)(EC_KEY *key), + int (**pcopy)(EC_KEY *dest, const EC_KEY *src), + int (**pset_group)(EC_KEY *key, + const EC_GROUP *grp), + int (**pset_private)(EC_KEY *key, + const BIGNUM *priv_key), + int (**pset_public)(EC_KEY *key, + const EC_POINT *pub_key)); + +void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, + int (**pkeygen)(EC_KEY *key)); + +void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, + int (**pck)(unsigned char **psec, + size_t *pseclen, + const EC_POINT *pub_key, + const EC_KEY *ecdh)); + +void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth, + int (**psign)(int type, const unsigned char *dgst, + int dlen, unsigned char *sig, + unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *r, + EC_KEY *eckey), + int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, + BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(**psign_sig)(const unsigned char *dgst, + int dgst_len, + const BIGNUM *in_kinv, + const BIGNUM *in_r, + EC_KEY *eckey)); + +void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth, + int (**pverify)(int type, const unsigned + char *dgst, int dgst_len, + const unsigned char *sigbuf, + int sig_len, EC_KEY *eckey), + int (**pverify_sig)(const unsigned char *dgst, + int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); + +# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) + +# ifndef __cplusplus +# if defined(__SUNPRO_C) +# if __SUNPRO_C >= 0x520 +# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) +# endif +# endif +# endif + +# define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) + +# define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) + +# define EVP_PKEY_CTX_set_ecdh_cofactor_mode(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, flag, NULL) + +# define EVP_PKEY_CTX_get_ecdh_cofactor_mode(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_get_ecdh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_set_ecdh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, 0, \ + (void *)(plen)) + +# define EVP_PKEY_CTX_set0_ecdh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_UKM, plen, (void *)(p)) + +# define EVP_PKEY_CTX_get0_ecdh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_UKM, 0, (void *)(p)) + +/* SM2 will skip the operation check so no need to pass operation here */ +# define EVP_PKEY_CTX_set1_id(ctx, id, id_len) \ + EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ + EVP_PKEY_CTRL_SET1_ID, (int)id_len, (void*)(id)) + +# define EVP_PKEY_CTX_get1_id(ctx, id) \ + EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ + EVP_PKEY_CTRL_GET1_ID, 0, (void*)(id)) + +# define EVP_PKEY_CTX_get1_id_len(ctx, id_len) \ + EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ + EVP_PKEY_CTRL_GET1_ID_LEN, 0, (void*)(id_len)) + +# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_SET1_ID (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET1_ID (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_GET1_ID_LEN (EVP_PKEY_ALG_CTRL + 13) +/* KDF types */ +# define EVP_PKEY_ECDH_KDF_NONE 1 +# define EVP_PKEY_ECDH_KDF_X9_62 2 + + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/ecdh.h b/openssl/1.1/include/openssl/ecdh.h new file mode 100644 index 0000000..681f3d5 --- /dev/null +++ b/openssl/1.1/include/openssl/ecdh.h @@ -0,0 +1,10 @@ +/* + * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include diff --git a/openssl/1.1/include/openssl/ecdsa.h b/openssl/1.1/include/openssl/ecdsa.h new file mode 100644 index 0000000..681f3d5 --- /dev/null +++ b/openssl/1.1/include/openssl/ecdsa.h @@ -0,0 +1,10 @@ +/* + * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include diff --git a/openssl/1.1/include/openssl/ecerr.h b/openssl/1.1/include/openssl/ecerr.h new file mode 100644 index 0000000..8d42938 --- /dev/null +++ b/openssl/1.1/include/openssl/ecerr.h @@ -0,0 +1,267 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ECERR_H +# define HEADER_ECERR_H + +# include + +# ifndef OPENSSL_NO_EC + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_EC_strings(void); + +/* + * EC function codes. + */ +# define EC_F_BN_TO_FELEM 224 +# define EC_F_D2I_ECPARAMETERS 144 +# define EC_F_D2I_ECPKPARAMETERS 145 +# define EC_F_D2I_ECPRIVATEKEY 146 +# define EC_F_DO_EC_KEY_PRINT 221 +# define EC_F_ECDH_CMS_DECRYPT 238 +# define EC_F_ECDH_CMS_SET_SHARED_INFO 239 +# define EC_F_ECDH_COMPUTE_KEY 246 +# define EC_F_ECDH_SIMPLE_COMPUTE_KEY 257 +# define EC_F_ECDSA_DO_SIGN_EX 251 +# define EC_F_ECDSA_DO_VERIFY 252 +# define EC_F_ECDSA_SIGN_EX 254 +# define EC_F_ECDSA_SIGN_SETUP 248 +# define EC_F_ECDSA_SIG_NEW 265 +# define EC_F_ECDSA_VERIFY 253 +# define EC_F_ECD_ITEM_VERIFY 270 +# define EC_F_ECKEY_PARAM2TYPE 223 +# define EC_F_ECKEY_PARAM_DECODE 212 +# define EC_F_ECKEY_PRIV_DECODE 213 +# define EC_F_ECKEY_PRIV_ENCODE 214 +# define EC_F_ECKEY_PUB_DECODE 215 +# define EC_F_ECKEY_PUB_ENCODE 216 +# define EC_F_ECKEY_TYPE2PARAM 220 +# define EC_F_ECPARAMETERS_PRINT 147 +# define EC_F_ECPARAMETERS_PRINT_FP 148 +# define EC_F_ECPKPARAMETERS_PRINT 149 +# define EC_F_ECPKPARAMETERS_PRINT_FP 150 +# define EC_F_ECP_NISTZ256_GET_AFFINE 240 +# define EC_F_ECP_NISTZ256_INV_MOD_ORD 275 +# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 243 +# define EC_F_ECP_NISTZ256_POINTS_MUL 241 +# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 244 +# define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 +# define EC_F_ECX_KEY_OP 266 +# define EC_F_ECX_PRIV_ENCODE 267 +# define EC_F_ECX_PUB_ENCODE 268 +# define EC_F_EC_ASN1_GROUP2CURVE 153 +# define EC_F_EC_ASN1_GROUP2FIELDID 154 +# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 +# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 +# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 +# define EC_F_EC_GF2M_SIMPLE_LADDER_POST 285 +# define EC_F_EC_GF2M_SIMPLE_LADDER_PRE 288 +# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 +# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 +# define EC_F_EC_GF2M_SIMPLE_POINTS_MUL 289 +# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 +# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 +# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 +# define EC_F_EC_GFP_MONT_FIELD_DECODE 133 +# define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 +# define EC_F_EC_GFP_MONT_FIELD_MUL 131 +# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 +# define EC_F_EC_GFP_MONT_FIELD_SQR 132 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 +# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 +# define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 +# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 +# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 +# define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 +# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 +# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 +# define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 +# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 +# define EC_F_EC_GFP_NIST_FIELD_MUL 200 +# define EC_F_EC_GFP_NIST_FIELD_SQR 201 +# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 +# define EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES 287 +# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 +# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 +# define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 +# define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 +# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 +# define EC_F_EC_GROUP_CHECK 170 +# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 +# define EC_F_EC_GROUP_COPY 106 +# define EC_F_EC_GROUP_GET_CURVE 291 +# define EC_F_EC_GROUP_GET_CURVE_GF2M 172 +# define EC_F_EC_GROUP_GET_CURVE_GFP 130 +# define EC_F_EC_GROUP_GET_DEGREE 173 +# define EC_F_EC_GROUP_GET_ECPARAMETERS 261 +# define EC_F_EC_GROUP_GET_ECPKPARAMETERS 262 +# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 +# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 +# define EC_F_EC_GROUP_NEW 108 +# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 +# define EC_F_EC_GROUP_NEW_FROM_DATA 175 +# define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 263 +# define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 264 +# define EC_F_EC_GROUP_SET_CURVE 292 +# define EC_F_EC_GROUP_SET_CURVE_GF2M 176 +# define EC_F_EC_GROUP_SET_CURVE_GFP 109 +# define EC_F_EC_GROUP_SET_GENERATOR 111 +# define EC_F_EC_GROUP_SET_SEED 286 +# define EC_F_EC_KEY_CHECK_KEY 177 +# define EC_F_EC_KEY_COPY 178 +# define EC_F_EC_KEY_GENERATE_KEY 179 +# define EC_F_EC_KEY_NEW 182 +# define EC_F_EC_KEY_NEW_METHOD 245 +# define EC_F_EC_KEY_OCT2PRIV 255 +# define EC_F_EC_KEY_PRINT 180 +# define EC_F_EC_KEY_PRINT_FP 181 +# define EC_F_EC_KEY_PRIV2BUF 279 +# define EC_F_EC_KEY_PRIV2OCT 256 +# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 +# define EC_F_EC_KEY_SIMPLE_CHECK_KEY 258 +# define EC_F_EC_KEY_SIMPLE_OCT2PRIV 259 +# define EC_F_EC_KEY_SIMPLE_PRIV2OCT 260 +# define EC_F_EC_PKEY_CHECK 273 +# define EC_F_EC_PKEY_PARAM_CHECK 274 +# define EC_F_EC_POINTS_MAKE_AFFINE 136 +# define EC_F_EC_POINTS_MUL 290 +# define EC_F_EC_POINT_ADD 112 +# define EC_F_EC_POINT_BN2POINT 280 +# define EC_F_EC_POINT_CMP 113 +# define EC_F_EC_POINT_COPY 114 +# define EC_F_EC_POINT_DBL 115 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES 293 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 +# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 +# define EC_F_EC_POINT_INVERT 210 +# define EC_F_EC_POINT_IS_AT_INFINITY 118 +# define EC_F_EC_POINT_IS_ON_CURVE 119 +# define EC_F_EC_POINT_MAKE_AFFINE 120 +# define EC_F_EC_POINT_NEW 121 +# define EC_F_EC_POINT_OCT2POINT 122 +# define EC_F_EC_POINT_POINT2BUF 281 +# define EC_F_EC_POINT_POINT2OCT 123 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES 294 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES 295 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 +# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 +# define EC_F_EC_POINT_SET_TO_INFINITY 127 +# define EC_F_EC_PRE_COMP_NEW 196 +# define EC_F_EC_SCALAR_MUL_LADDER 284 +# define EC_F_EC_WNAF_MUL 187 +# define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 +# define EC_F_I2D_ECPARAMETERS 190 +# define EC_F_I2D_ECPKPARAMETERS 191 +# define EC_F_I2D_ECPRIVATEKEY 192 +# define EC_F_I2O_ECPUBLICKEY 151 +# define EC_F_NISTP224_PRE_COMP_NEW 227 +# define EC_F_NISTP256_PRE_COMP_NEW 236 +# define EC_F_NISTP521_PRE_COMP_NEW 237 +# define EC_F_O2I_ECPUBLICKEY 152 +# define EC_F_OLD_EC_PRIV_DECODE 222 +# define EC_F_OSSL_ECDH_COMPUTE_KEY 247 +# define EC_F_OSSL_ECDSA_SIGN_SIG 249 +# define EC_F_OSSL_ECDSA_VERIFY_SIG 250 +# define EC_F_PKEY_ECD_CTRL 271 +# define EC_F_PKEY_ECD_DIGESTSIGN 272 +# define EC_F_PKEY_ECD_DIGESTSIGN25519 276 +# define EC_F_PKEY_ECD_DIGESTSIGN448 277 +# define EC_F_PKEY_ECX_DERIVE 269 +# define EC_F_PKEY_EC_CTRL 197 +# define EC_F_PKEY_EC_CTRL_STR 198 +# define EC_F_PKEY_EC_DERIVE 217 +# define EC_F_PKEY_EC_INIT 282 +# define EC_F_PKEY_EC_KDF_DERIVE 283 +# define EC_F_PKEY_EC_KEYGEN 199 +# define EC_F_PKEY_EC_PARAMGEN 219 +# define EC_F_PKEY_EC_SIGN 218 +# define EC_F_VALIDATE_ECX_DERIVE 278 + +/* + * EC reason codes. + */ +# define EC_R_ASN1_ERROR 115 +# define EC_R_BAD_SIGNATURE 156 +# define EC_R_BIGNUM_OUT_OF_RANGE 144 +# define EC_R_BUFFER_TOO_SMALL 100 +# define EC_R_COORDINATES_OUT_OF_RANGE 146 +# define EC_R_CURVE_DOES_NOT_SUPPORT_ECDH 160 +# define EC_R_CURVE_DOES_NOT_SUPPORT_SIGNING 159 +# define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 +# define EC_R_DECODE_ERROR 142 +# define EC_R_DISCRIMINANT_IS_ZERO 118 +# define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 +# define EC_R_FIELD_TOO_LARGE 143 +# define EC_R_GF2M_NOT_SUPPORTED 147 +# define EC_R_GROUP2PKPARAMETERS_FAILURE 120 +# define EC_R_I2D_ECPKPARAMETERS_FAILURE 121 +# define EC_R_INCOMPATIBLE_OBJECTS 101 +# define EC_R_INVALID_ARGUMENT 112 +# define EC_R_INVALID_COMPRESSED_POINT 110 +# define EC_R_INVALID_COMPRESSION_BIT 109 +# define EC_R_INVALID_CURVE 141 +# define EC_R_INVALID_DIGEST 151 +# define EC_R_INVALID_DIGEST_TYPE 138 +# define EC_R_INVALID_ENCODING 102 +# define EC_R_INVALID_FIELD 103 +# define EC_R_INVALID_FORM 104 +# define EC_R_INVALID_GROUP_ORDER 122 +# define EC_R_INVALID_KEY 116 +# define EC_R_INVALID_OUTPUT_LENGTH 161 +# define EC_R_INVALID_PEER_KEY 133 +# define EC_R_INVALID_PENTANOMIAL_BASIS 132 +# define EC_R_INVALID_PRIVATE_KEY 123 +# define EC_R_INVALID_TRINOMIAL_BASIS 137 +# define EC_R_KDF_PARAMETER_ERROR 148 +# define EC_R_KEYS_NOT_SET 140 +# define EC_R_LADDER_POST_FAILURE 136 +# define EC_R_LADDER_PRE_FAILURE 153 +# define EC_R_LADDER_STEP_FAILURE 162 +# define EC_R_MISSING_PARAMETERS 124 +# define EC_R_MISSING_PRIVATE_KEY 125 +# define EC_R_NEED_NEW_SETUP_VALUES 157 +# define EC_R_NOT_A_NIST_PRIME 135 +# define EC_R_NOT_IMPLEMENTED 126 +# define EC_R_NOT_INITIALIZED 111 +# define EC_R_NO_PARAMETERS_SET 139 +# define EC_R_NO_PRIVATE_VALUE 154 +# define EC_R_OPERATION_NOT_SUPPORTED 152 +# define EC_R_PASSED_NULL_PARAMETER 134 +# define EC_R_PEER_KEY_ERROR 149 +# define EC_R_PKPARAMETERS2GROUP_FAILURE 127 +# define EC_R_POINT_ARITHMETIC_FAILURE 155 +# define EC_R_POINT_AT_INFINITY 106 +# define EC_R_POINT_COORDINATES_BLIND_FAILURE 163 +# define EC_R_POINT_IS_NOT_ON_CURVE 107 +# define EC_R_RANDOM_NUMBER_GENERATION_FAILED 158 +# define EC_R_SHARED_INFO_ERROR 150 +# define EC_R_SLOT_FULL 108 +# define EC_R_UNDEFINED_GENERATOR 113 +# define EC_R_UNDEFINED_ORDER 128 +# define EC_R_UNKNOWN_COFACTOR 164 +# define EC_R_UNKNOWN_GROUP 129 +# define EC_R_UNKNOWN_ORDER 114 +# define EC_R_UNSUPPORTED_FIELD 131 +# define EC_R_WRONG_CURVE_PARAMETERS 145 +# define EC_R_WRONG_ORDER 130 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/engine.h b/openssl/1.1/include/openssl/engine.h new file mode 100644 index 0000000..0780f0f --- /dev/null +++ b/openssl/1.1/include/openssl/engine.h @@ -0,0 +1,751 @@ +/* + * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ENGINE_H +# define HEADER_ENGINE_H + +# include + +# ifndef OPENSSL_NO_ENGINE +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# include +# include +# include +# include +# include +# include +# include +# endif +# include +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +/* + * These flags are used to control combinations of algorithm (methods) by + * bitwise "OR"ing. + */ +# define ENGINE_METHOD_RSA (unsigned int)0x0001 +# define ENGINE_METHOD_DSA (unsigned int)0x0002 +# define ENGINE_METHOD_DH (unsigned int)0x0004 +# define ENGINE_METHOD_RAND (unsigned int)0x0008 +# define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 +# define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 +# define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200 +# define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400 +# define ENGINE_METHOD_EC (unsigned int)0x0800 +/* Obvious all-or-nothing cases. */ +# define ENGINE_METHOD_ALL (unsigned int)0xFFFF +# define ENGINE_METHOD_NONE (unsigned int)0x0000 + +/* + * This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used + * internally to control registration of ENGINE implementations, and can be + * set by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to + * initialise registered ENGINEs if they are not already initialised. + */ +# define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001 + +/* ENGINE flags that can be set by ENGINE_set_flags(). */ +/* Not used */ +/* #define ENGINE_FLAGS_MALLOCED 0x0001 */ + +/* + * This flag is for ENGINEs that wish to handle the various 'CMD'-related + * control commands on their own. Without this flag, ENGINE_ctrl() handles + * these control commands on behalf of the ENGINE using their "cmd_defns" + * data. + */ +# define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002 + +/* + * This flag is for ENGINEs who return new duplicate structures when found + * via "ENGINE_by_id()". When an ENGINE must store state (eg. if + * ENGINE_ctrl() commands are called in sequence as part of some stateful + * process like key-generation setup and execution), it can set this flag - + * then each attempt to obtain the ENGINE will result in it being copied into + * a new structure. Normally, ENGINEs don't declare this flag so + * ENGINE_by_id() just increments the existing ENGINE's structural reference + * count. + */ +# define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 + +/* + * This flag if for an ENGINE that does not want its methods registered as + * part of ENGINE_register_all_complete() for example if the methods are not + * usable as default methods. + */ + +# define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 + +/* + * ENGINEs can support their own command types, and these flags are used in + * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input + * each command expects. Currently only numeric and string input is + * supported. If a control command supports none of the _NUMERIC, _STRING, or + * _NO_INPUT options, then it is regarded as an "internal" control command - + * and not for use in config setting situations. As such, they're not + * available to the ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() + * access. Changes to this list of 'command types' should be reflected + * carefully in ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). + */ + +/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */ +# define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001 +/* + * accepts string input (cast from 'void*' to 'const char *', 4th parameter + * to ENGINE_ctrl) + */ +# define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002 +/* + * Indicates that the control command takes *no* input. Ie. the control + * command is unparameterised. + */ +# define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004 +/* + * Indicates that the control command is internal. This control command won't + * be shown in any output, and is only usable through the ENGINE_ctrl_cmd() + * function. + */ +# define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008 + +/* + * NB: These 3 control commands are deprecated and should not be used. + * ENGINEs relying on these commands should compile conditional support for + * compatibility (eg. if these symbols are defined) but should also migrate + * the same functionality to their own ENGINE-specific control functions that + * can be "discovered" by calling applications. The fact these control + * commands wouldn't be "executable" (ie. usable by text-based config) + * doesn't change the fact that application code can find and use them + * without requiring per-ENGINE hacking. + */ + +/* + * These flags are used to tell the ctrl function what should be done. All + * command numbers are shared between all engines, even if some don't make + * sense to some engines. In such a case, they do nothing but return the + * error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. + */ +# define ENGINE_CTRL_SET_LOGSTREAM 1 +# define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2 +# define ENGINE_CTRL_HUP 3/* Close and reinitialise + * any handles/connections + * etc. */ +# define ENGINE_CTRL_SET_USER_INTERFACE 4/* Alternative to callback */ +# define ENGINE_CTRL_SET_CALLBACK_DATA 5/* User-specific data, used + * when calling the password + * callback and the user + * interface */ +# define ENGINE_CTRL_LOAD_CONFIGURATION 6/* Load a configuration, + * given a string that + * represents a file name + * or so */ +# define ENGINE_CTRL_LOAD_SECTION 7/* Load data from a given + * section in the already + * loaded configuration */ + +/* + * These control commands allow an application to deal with an arbitrary + * engine in a dynamic way. Warn: Negative return values indicate errors FOR + * THESE COMMANDS because zero is used to indicate 'end-of-list'. Other + * commands, including ENGINE-specific command types, return zero for an + * error. An ENGINE can choose to implement these ctrl functions, and can + * internally manage things however it chooses - it does so by setting the + * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise + * the ENGINE_ctrl() code handles this on the ENGINE's behalf using the + * cmd_defns data (set using ENGINE_set_cmd_defns()). This means an ENGINE's + * ctrl() handler need only implement its own commands - the above "meta" + * commands will be taken care of. + */ + +/* + * Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", + * then all the remaining control commands will return failure, so it is + * worth checking this first if the caller is trying to "discover" the + * engine's capabilities and doesn't want errors generated unnecessarily. + */ +# define ENGINE_CTRL_HAS_CTRL_FUNCTION 10 +/* + * Returns a positive command number for the first command supported by the + * engine. Returns zero if no ctrl commands are supported. + */ +# define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11 +/* + * The 'long' argument specifies a command implemented by the engine, and the + * return value is the next command supported, or zero if there are no more. + */ +# define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12 +/* + * The 'void*' argument is a command name (cast from 'const char *'), and the + * return value is the command that corresponds to it. + */ +# define ENGINE_CTRL_GET_CMD_FROM_NAME 13 +/* + * The next two allow a command to be converted into its corresponding string + * form. In each case, the 'long' argument supplies the command. In the + * NAME_LEN case, the return value is the length of the command name (not + * counting a trailing EOL). In the NAME case, the 'void*' argument must be a + * string buffer large enough, and it will be populated with the name of the + * command (WITH a trailing EOL). + */ +# define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14 +# define ENGINE_CTRL_GET_NAME_FROM_CMD 15 +/* The next two are similar but give a "short description" of a command. */ +# define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16 +# define ENGINE_CTRL_GET_DESC_FROM_CMD 17 +/* + * With this command, the return value is the OR'd combination of + * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given + * engine-specific ctrl command expects. + */ +# define ENGINE_CTRL_GET_CMD_FLAGS 18 + +/* + * ENGINE implementations should start the numbering of their own control + * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). + */ +# define ENGINE_CMD_BASE 200 + +/* + * NB: These 2 nCipher "chil" control commands are deprecated, and their + * functionality is now available through ENGINE-specific control commands + * (exposed through the above-mentioned 'CMD'-handling). Code using these 2 + * commands should be migrated to the more general command handling before + * these are removed. + */ + +/* Flags specific to the nCipher "chil" engine */ +# define ENGINE_CTRL_CHIL_SET_FORKCHECK 100 + /* + * Depending on the value of the (long)i argument, this sets or + * unsets the SimpleForkCheck flag in the CHIL API to enable or + * disable checking and workarounds for applications that fork(). + */ +# define ENGINE_CTRL_CHIL_NO_LOCKING 101 + /* + * This prevents the initialisation function from providing mutex + * callbacks to the nCipher library. + */ + +/* + * If an ENGINE supports its own specific control commands and wishes the + * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on + * its behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN + * entries to ENGINE_set_cmd_defns(). It should also implement a ctrl() + * handler that supports the stated commands (ie. the "cmd_num" entries as + * described by the array). NB: The array must be ordered in increasing order + * of cmd_num. "null-terminated" means that the last ENGINE_CMD_DEFN element + * has cmd_num set to zero and/or cmd_name set to NULL. + */ +typedef struct ENGINE_CMD_DEFN_st { + unsigned int cmd_num; /* The command number */ + const char *cmd_name; /* The command name itself */ + const char *cmd_desc; /* A short description of the command */ + unsigned int cmd_flags; /* The input the command expects */ +} ENGINE_CMD_DEFN; + +/* Generic function pointer */ +typedef int (*ENGINE_GEN_FUNC_PTR) (void); +/* Generic function pointer taking no arguments */ +typedef int (*ENGINE_GEN_INT_FUNC_PTR) (ENGINE *); +/* Specific control function pointer */ +typedef int (*ENGINE_CTRL_FUNC_PTR) (ENGINE *, int, long, void *, + void (*f) (void)); +/* Generic load_key function pointer */ +typedef EVP_PKEY *(*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *, + UI_METHOD *ui_method, + void *callback_data); +typedef int (*ENGINE_SSL_CLIENT_CERT_PTR) (ENGINE *, SSL *ssl, + STACK_OF(X509_NAME) *ca_dn, + X509 **pcert, EVP_PKEY **pkey, + STACK_OF(X509) **pother, + UI_METHOD *ui_method, + void *callback_data); +/*- + * These callback types are for an ENGINE's handler for cipher and digest logic. + * These handlers have these prototypes; + * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid); + * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid); + * Looking at how to implement these handlers in the case of cipher support, if + * the framework wants the EVP_CIPHER for 'nid', it will call; + * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure) + * If the framework wants a list of supported 'nid's, it will call; + * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error) + */ +/* + * Returns to a pointer to the array of supported cipher 'nid's. If the + * second parameter is non-NULL it is set to the size of the returned array. + */ +typedef int (*ENGINE_CIPHERS_PTR) (ENGINE *, const EVP_CIPHER **, + const int **, int); +typedef int (*ENGINE_DIGESTS_PTR) (ENGINE *, const EVP_MD **, const int **, + int); +typedef int (*ENGINE_PKEY_METHS_PTR) (ENGINE *, EVP_PKEY_METHOD **, + const int **, int); +typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **, + const int **, int); +/* + * STRUCTURE functions ... all of these functions deal with pointers to + * ENGINE structures where the pointers have a "structural reference". This + * means that their reference is to allowed access to the structure but it + * does not imply that the structure is functional. To simply increment or + * decrement the structural reference count, use ENGINE_by_id and + * ENGINE_free. NB: This is not required when iterating using ENGINE_get_next + * as it will automatically decrement the structural reference count of the + * "current" ENGINE and increment the structural reference count of the + * ENGINE it returns (unless it is NULL). + */ + +/* Get the first/last "ENGINE" type available. */ +ENGINE *ENGINE_get_first(void); +ENGINE *ENGINE_get_last(void); +/* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ +ENGINE *ENGINE_get_next(ENGINE *e); +ENGINE *ENGINE_get_prev(ENGINE *e); +/* Add another "ENGINE" type into the array. */ +int ENGINE_add(ENGINE *e); +/* Remove an existing "ENGINE" type from the array. */ +int ENGINE_remove(ENGINE *e); +/* Retrieve an engine from the list by its unique "id" value. */ +ENGINE *ENGINE_by_id(const char *id); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define ENGINE_load_openssl() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_OPENSSL, NULL) +# define ENGINE_load_dynamic() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_DYNAMIC, NULL) +# ifndef OPENSSL_NO_STATIC_ENGINE +# define ENGINE_load_padlock() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_PADLOCK, NULL) +# define ENGINE_load_capi() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CAPI, NULL) +# define ENGINE_load_afalg() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_AFALG, NULL) +# endif +# define ENGINE_load_cryptodev() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CRYPTODEV, NULL) +# define ENGINE_load_rdrand() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_RDRAND, NULL) +#endif +void ENGINE_load_builtin_engines(void); + +/* + * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation + * "registry" handling. + */ +unsigned int ENGINE_get_table_flags(void); +void ENGINE_set_table_flags(unsigned int flags); + +/*- Manage registration of ENGINEs per "table". For each type, there are 3 + * functions; + * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one) + * ENGINE_unregister_***(e) - unregister the implementation from 'e' + * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list + * Cleanup is automatically registered from each table when required. + */ + +int ENGINE_register_RSA(ENGINE *e); +void ENGINE_unregister_RSA(ENGINE *e); +void ENGINE_register_all_RSA(void); + +int ENGINE_register_DSA(ENGINE *e); +void ENGINE_unregister_DSA(ENGINE *e); +void ENGINE_register_all_DSA(void); + +int ENGINE_register_EC(ENGINE *e); +void ENGINE_unregister_EC(ENGINE *e); +void ENGINE_register_all_EC(void); + +int ENGINE_register_DH(ENGINE *e); +void ENGINE_unregister_DH(ENGINE *e); +void ENGINE_register_all_DH(void); + +int ENGINE_register_RAND(ENGINE *e); +void ENGINE_unregister_RAND(ENGINE *e); +void ENGINE_register_all_RAND(void); + +int ENGINE_register_ciphers(ENGINE *e); +void ENGINE_unregister_ciphers(ENGINE *e); +void ENGINE_register_all_ciphers(void); + +int ENGINE_register_digests(ENGINE *e); +void ENGINE_unregister_digests(ENGINE *e); +void ENGINE_register_all_digests(void); + +int ENGINE_register_pkey_meths(ENGINE *e); +void ENGINE_unregister_pkey_meths(ENGINE *e); +void ENGINE_register_all_pkey_meths(void); + +int ENGINE_register_pkey_asn1_meths(ENGINE *e); +void ENGINE_unregister_pkey_asn1_meths(ENGINE *e); +void ENGINE_register_all_pkey_asn1_meths(void); + +/* + * These functions register all support from the above categories. Note, use + * of these functions can result in static linkage of code your application + * may not need. If you only need a subset of functionality, consider using + * more selective initialisation. + */ +int ENGINE_register_complete(ENGINE *e); +int ENGINE_register_all_complete(void); + +/* + * Send parameterised control commands to the engine. The possibilities to + * send down an integer, a pointer to data or a function pointer are + * provided. Any of the parameters may or may not be NULL, depending on the + * command number. In actuality, this function only requires a structural + * (rather than functional) reference to an engine, but many control commands + * may require the engine be functional. The caller should be aware of trying + * commands that require an operational ENGINE, and only use functional + * references in such situations. + */ +int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)); + +/* + * This function tests if an ENGINE-specific command is usable as a + * "setting". Eg. in an application's config file that gets processed through + * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to + * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl(). + */ +int ENGINE_cmd_is_executable(ENGINE *e, int cmd); + +/* + * This function works like ENGINE_ctrl() with the exception of taking a + * command name instead of a command number, and can handle optional + * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation + * on how to use the cmd_name and cmd_optional. + */ +int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, + long i, void *p, void (*f) (void), int cmd_optional); + +/* + * This function passes a command-name and argument to an ENGINE. The + * cmd_name is converted to a command number and the control command is + * called using 'arg' as an argument (unless the ENGINE doesn't support such + * a command, in which case no control command is called). The command is + * checked for input flags, and if necessary the argument will be converted + * to a numeric value. If cmd_optional is non-zero, then if the ENGINE + * doesn't support the given cmd_name the return value will be success + * anyway. This function is intended for applications to use so that users + * (or config files) can supply engine-specific config data to the ENGINE at + * run-time to control behaviour of specific engines. As such, it shouldn't + * be used for calling ENGINE_ctrl() functions that return data, deal with + * binary data, or that are otherwise supposed to be used directly through + * ENGINE_ctrl() in application code. Any "return" data from an ENGINE_ctrl() + * operation in this function will be lost - the return value is interpreted + * as failure if the return value is zero, success otherwise, and this + * function returns a boolean value as a result. In other words, vendors of + * 'ENGINE'-enabled devices should write ENGINE implementations with + * parameterisations that work in this scheme, so that compliant ENGINE-based + * applications can work consistently with the same configuration for the + * same ENGINE-enabled devices, across applications. + */ +int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, + int cmd_optional); + +/* + * These functions are useful for manufacturing new ENGINE structures. They + * don't address reference counting at all - one uses them to populate an + * ENGINE structure with personalised implementations of things prior to + * using it directly or adding it to the builtin ENGINE list in OpenSSL. + * These are also here so that the ENGINE structure doesn't have to be + * exposed and break binary compatibility! + */ +ENGINE *ENGINE_new(void); +int ENGINE_free(ENGINE *e); +int ENGINE_up_ref(ENGINE *e); +int ENGINE_set_id(ENGINE *e, const char *id); +int ENGINE_set_name(ENGINE *e, const char *name); +int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); +int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); +int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ecdsa_meth); +int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); +int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); +int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); +int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); +int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); +int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f); +int ENGINE_set_load_privkey_function(ENGINE *e, + ENGINE_LOAD_KEY_PTR loadpriv_f); +int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f); +int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, + ENGINE_SSL_CLIENT_CERT_PTR + loadssl_f); +int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f); +int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f); +int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f); +int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f); +int ENGINE_set_flags(ENGINE *e, int flags); +int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); +/* These functions allow control over any per-structure ENGINE data. */ +#define ENGINE_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ENGINE, l, p, newf, dupf, freef) +int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); +void *ENGINE_get_ex_data(const ENGINE *e, int idx); + +#if OPENSSL_API_COMPAT < 0x10100000L +/* + * This function previously cleaned up anything that needs it. Auto-deinit will + * now take care of it so it is no longer required to call this function. + */ +# define ENGINE_cleanup() while(0) continue +#endif + +/* + * These return values from within the ENGINE structure. These can be useful + * with functional references as well as structural references - it depends + * which you obtained. Using the result for functional purposes if you only + * obtained a structural reference may be problematic! + */ +const char *ENGINE_get_id(const ENGINE *e); +const char *ENGINE_get_name(const ENGINE *e); +const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); +const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); +const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e); +const DH_METHOD *ENGINE_get_DH(const ENGINE *e); +const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e); +ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e); +ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE + *e); +ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e); +ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e); +ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e); +ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e); +const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); +const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid); +const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, + const char *str, + int len); +const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, + const char *str, + int len); +const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e); +int ENGINE_get_flags(const ENGINE *e); + +/* + * FUNCTIONAL functions. These functions deal with ENGINE structures that + * have (or will) be initialised for use. Broadly speaking, the structural + * functions are useful for iterating the list of available engine types, + * creating new engine types, and other "list" operations. These functions + * actually deal with ENGINEs that are to be used. As such these functions + * can fail (if applicable) when particular engines are unavailable - eg. if + * a hardware accelerator is not attached or not functioning correctly. Each + * ENGINE has 2 reference counts; structural and functional. Every time a + * functional reference is obtained or released, a corresponding structural + * reference is automatically obtained or released too. + */ + +/* + * Initialise a engine type for use (or up its reference count if it's + * already in use). This will fail if the engine is not currently operational + * and cannot initialise. + */ +int ENGINE_init(ENGINE *e); +/* + * Free a functional reference to a engine type. This does not require a + * corresponding call to ENGINE_free as it also releases a structural + * reference. + */ +int ENGINE_finish(ENGINE *e); + +/* + * The following functions handle keys that are stored in some secondary + * location, handled by the engine. The storage may be on a card or + * whatever. + */ +EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, + STACK_OF(X509_NAME) *ca_dn, X509 **pcert, + EVP_PKEY **ppkey, STACK_OF(X509) **pother, + UI_METHOD *ui_method, void *callback_data); + +/* + * This returns a pointer for the current ENGINE structure that is (by + * default) performing any RSA operations. The value returned is an + * incremented reference, so it should be free'd (ENGINE_finish) before it is + * discarded. + */ +ENGINE *ENGINE_get_default_RSA(void); +/* Same for the other "methods" */ +ENGINE *ENGINE_get_default_DSA(void); +ENGINE *ENGINE_get_default_EC(void); +ENGINE *ENGINE_get_default_DH(void); +ENGINE *ENGINE_get_default_RAND(void); +/* + * These functions can be used to get a functional reference to perform + * ciphering or digesting corresponding to "nid". + */ +ENGINE *ENGINE_get_cipher_engine(int nid); +ENGINE *ENGINE_get_digest_engine(int nid); +ENGINE *ENGINE_get_pkey_meth_engine(int nid); +ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid); + +/* + * This sets a new default ENGINE structure for performing RSA operations. If + * the result is non-zero (success) then the ENGINE structure will have had + * its reference count up'd so the caller should still free their own + * reference 'e'. + */ +int ENGINE_set_default_RSA(ENGINE *e); +int ENGINE_set_default_string(ENGINE *e, const char *def_list); +/* Same for the other "methods" */ +int ENGINE_set_default_DSA(ENGINE *e); +int ENGINE_set_default_EC(ENGINE *e); +int ENGINE_set_default_DH(ENGINE *e); +int ENGINE_set_default_RAND(ENGINE *e); +int ENGINE_set_default_ciphers(ENGINE *e); +int ENGINE_set_default_digests(ENGINE *e); +int ENGINE_set_default_pkey_meths(ENGINE *e); +int ENGINE_set_default_pkey_asn1_meths(ENGINE *e); + +/* + * The combination "set" - the flags are bitwise "OR"d from the + * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()" + * function, this function can result in unnecessary static linkage. If your + * application requires only specific functionality, consider using more + * selective functions. + */ +int ENGINE_set_default(ENGINE *e, unsigned int flags); + +void ENGINE_add_conf_module(void); + +/* Deprecated functions ... */ +/* int ENGINE_clear_defaults(void); */ + +/**************************/ +/* DYNAMIC ENGINE SUPPORT */ +/**************************/ + +/* Binary/behaviour compatibility levels */ +# define OSSL_DYNAMIC_VERSION (unsigned long)0x00030000 +/* + * Binary versions older than this are too old for us (whether we're a loader + * or a loadee) + */ +# define OSSL_DYNAMIC_OLDEST (unsigned long)0x00030000 + +/* + * When compiling an ENGINE entirely as an external shared library, loadable + * by the "dynamic" ENGINE, these types are needed. The 'dynamic_fns' + * structure type provides the calling application's (or library's) error + * functionality and memory management function pointers to the loaded + * library. These should be used/set in the loaded library code so that the + * loading application's 'state' will be used/changed in all operations. The + * 'static_state' pointer allows the loaded library to know if it shares the + * same static data as the calling application (or library), and thus whether + * these callbacks need to be set or not. + */ +typedef void *(*dyn_MEM_malloc_fn) (size_t, const char *, int); +typedef void *(*dyn_MEM_realloc_fn) (void *, size_t, const char *, int); +typedef void (*dyn_MEM_free_fn) (void *, const char *, int); +typedef struct st_dynamic_MEM_fns { + dyn_MEM_malloc_fn malloc_fn; + dyn_MEM_realloc_fn realloc_fn; + dyn_MEM_free_fn free_fn; +} dynamic_MEM_fns; +/* + * FIXME: Perhaps the memory and locking code (crypto.h) should declare and + * use these types so we (and any other dependent code) can simplify a bit?? + */ +/* The top-level structure */ +typedef struct st_dynamic_fns { + void *static_state; + dynamic_MEM_fns mem_fns; +} dynamic_fns; + +/* + * The version checking function should be of this prototype. NB: The + * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading + * code. If this function returns zero, it indicates a (potential) version + * incompatibility and the loaded library doesn't believe it can proceed. + * Otherwise, the returned value is the (latest) version supported by the + * loading library. The loader may still decide that the loaded code's + * version is unsatisfactory and could veto the load. The function is + * expected to be implemented with the symbol name "v_check", and a default + * implementation can be fully instantiated with + * IMPLEMENT_DYNAMIC_CHECK_FN(). + */ +typedef unsigned long (*dynamic_v_check_fn) (unsigned long ossl_version); +# define IMPLEMENT_DYNAMIC_CHECK_FN() \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ + if (v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ + return 0; } + +/* + * This function is passed the ENGINE structure to initialise with its own + * function and command settings. It should not adjust the structural or + * functional reference counts. If this function returns zero, (a) the load + * will be aborted, (b) the previous ENGINE state will be memcpy'd back onto + * the structure, and (c) the shared library will be unloaded. So + * implementations should do their own internal cleanup in failure + * circumstances otherwise they could leak. The 'id' parameter, if non-NULL, + * represents the ENGINE id that the loader is looking for. If this is NULL, + * the shared library can choose to return failure or to initialise a + * 'default' ENGINE. If non-NULL, the shared library must initialise only an + * ENGINE matching the passed 'id'. The function is expected to be + * implemented with the symbol name "bind_engine". A standard implementation + * can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter + * 'fn' is a callback function that populates the ENGINE structure and + * returns an int value (zero for failure). 'fn' should have prototype; + * [static] int fn(ENGINE *e, const char *id); + */ +typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, + const dynamic_fns *fns); +# define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ + if (ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ + CRYPTO_set_mem_functions(fns->mem_fns.malloc_fn, \ + fns->mem_fns.realloc_fn, \ + fns->mem_fns.free_fn); \ + skip_cbs: \ + if (!fn(e, id)) return 0; \ + return 1; } + +/* + * If the loading application (or library) and the loaded ENGINE library + * share the same static data (eg. they're both dynamically linked to the + * same libcrypto.so) we need a way to avoid trying to set system callbacks - + * this would fail, and for the same reason that it's unnecessary to try. If + * the loaded ENGINE has (or gets from through the loader) its own copy of + * the libcrypto static data, we will need to set the callbacks. The easiest + * way to detect this is to have a function that returns a pointer to some + * static data and let the loading application and loaded ENGINE compare + * their respective values. + */ +void *ENGINE_get_static_state(void); + +# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) +DEPRECATEDIN_1_1_0(void ENGINE_setup_bsd_cryptodev(void)) +# endif + + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/engineerr.h b/openssl/1.1/include/openssl/engineerr.h new file mode 100644 index 0000000..b4c036b --- /dev/null +++ b/openssl/1.1/include/openssl/engineerr.h @@ -0,0 +1,107 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ENGINEERR_H +# define HEADER_ENGINEERR_H + +# include + +# ifndef OPENSSL_NO_ENGINE + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_ENGINE_strings(void); + +/* + * ENGINE function codes. + */ +# define ENGINE_F_DIGEST_UPDATE 198 +# define ENGINE_F_DYNAMIC_CTRL 180 +# define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 +# define ENGINE_F_DYNAMIC_LOAD 182 +# define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 +# define ENGINE_F_ENGINE_ADD 105 +# define ENGINE_F_ENGINE_BY_ID 106 +# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 +# define ENGINE_F_ENGINE_CTRL 142 +# define ENGINE_F_ENGINE_CTRL_CMD 178 +# define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 +# define ENGINE_F_ENGINE_FINISH 107 +# define ENGINE_F_ENGINE_GET_CIPHER 185 +# define ENGINE_F_ENGINE_GET_DIGEST 186 +# define ENGINE_F_ENGINE_GET_FIRST 195 +# define ENGINE_F_ENGINE_GET_LAST 196 +# define ENGINE_F_ENGINE_GET_NEXT 115 +# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 +# define ENGINE_F_ENGINE_GET_PKEY_METH 192 +# define ENGINE_F_ENGINE_GET_PREV 116 +# define ENGINE_F_ENGINE_INIT 119 +# define ENGINE_F_ENGINE_LIST_ADD 120 +# define ENGINE_F_ENGINE_LIST_REMOVE 121 +# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 +# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 +# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 +# define ENGINE_F_ENGINE_NEW 122 +# define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR 197 +# define ENGINE_F_ENGINE_REMOVE 123 +# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 +# define ENGINE_F_ENGINE_SET_ID 129 +# define ENGINE_F_ENGINE_SET_NAME 130 +# define ENGINE_F_ENGINE_TABLE_REGISTER 184 +# define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 +# define ENGINE_F_ENGINE_UP_REF 190 +# define ENGINE_F_INT_CLEANUP_ITEM 199 +# define ENGINE_F_INT_CTRL_HELPER 172 +# define ENGINE_F_INT_ENGINE_CONFIGURE 188 +# define ENGINE_F_INT_ENGINE_MODULE_INIT 187 +# define ENGINE_F_OSSL_HMAC_INIT 200 + +/* + * ENGINE reason codes. + */ +# define ENGINE_R_ALREADY_LOADED 100 +# define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133 +# define ENGINE_R_CMD_NOT_EXECUTABLE 134 +# define ENGINE_R_COMMAND_TAKES_INPUT 135 +# define ENGINE_R_COMMAND_TAKES_NO_INPUT 136 +# define ENGINE_R_CONFLICTING_ENGINE_ID 103 +# define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119 +# define ENGINE_R_DSO_FAILURE 104 +# define ENGINE_R_DSO_NOT_FOUND 132 +# define ENGINE_R_ENGINES_SECTION_ERROR 148 +# define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102 +# define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105 +# define ENGINE_R_ENGINE_SECTION_ERROR 149 +# define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128 +# define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129 +# define ENGINE_R_FINISH_FAILED 106 +# define ENGINE_R_ID_OR_NAME_MISSING 108 +# define ENGINE_R_INIT_FAILED 109 +# define ENGINE_R_INTERNAL_LIST_ERROR 110 +# define ENGINE_R_INVALID_ARGUMENT 143 +# define ENGINE_R_INVALID_CMD_NAME 137 +# define ENGINE_R_INVALID_CMD_NUMBER 138 +# define ENGINE_R_INVALID_INIT_VALUE 151 +# define ENGINE_R_INVALID_STRING 150 +# define ENGINE_R_NOT_INITIALISED 117 +# define ENGINE_R_NOT_LOADED 112 +# define ENGINE_R_NO_CONTROL_FUNCTION 120 +# define ENGINE_R_NO_INDEX 144 +# define ENGINE_R_NO_LOAD_FUNCTION 125 +# define ENGINE_R_NO_REFERENCE 130 +# define ENGINE_R_NO_SUCH_ENGINE 116 +# define ENGINE_R_UNIMPLEMENTED_CIPHER 146 +# define ENGINE_R_UNIMPLEMENTED_DIGEST 147 +# define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101 +# define ENGINE_R_VERSION_INCOMPATIBILITY 145 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/err.h b/openssl/1.1/include/openssl/err.h new file mode 100644 index 0000000..6cae1a3 --- /dev/null +++ b/openssl/1.1/include/openssl/err.h @@ -0,0 +1,273 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ERR_H +# define HEADER_ERR_H + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# include +# endif + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_NO_ERR +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) +# else +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) +# endif + +# include + +# define ERR_TXT_MALLOCED 0x01 +# define ERR_TXT_STRING 0x02 + +# define ERR_FLAG_MARK 0x01 + +# define ERR_NUM_ERRORS 16 +typedef struct err_state_st { + int err_flags[ERR_NUM_ERRORS]; + unsigned long err_buffer[ERR_NUM_ERRORS]; + char *err_data[ERR_NUM_ERRORS]; + int err_data_flags[ERR_NUM_ERRORS]; + const char *err_file[ERR_NUM_ERRORS]; + int err_line[ERR_NUM_ERRORS]; + int top, bottom; +} ERR_STATE; + +/* library */ +# define ERR_LIB_NONE 1 +# define ERR_LIB_SYS 2 +# define ERR_LIB_BN 3 +# define ERR_LIB_RSA 4 +# define ERR_LIB_DH 5 +# define ERR_LIB_EVP 6 +# define ERR_LIB_BUF 7 +# define ERR_LIB_OBJ 8 +# define ERR_LIB_PEM 9 +# define ERR_LIB_DSA 10 +# define ERR_LIB_X509 11 +/* #define ERR_LIB_METH 12 */ +# define ERR_LIB_ASN1 13 +# define ERR_LIB_CONF 14 +# define ERR_LIB_CRYPTO 15 +# define ERR_LIB_EC 16 +# define ERR_LIB_SSL 20 +/* #define ERR_LIB_SSL23 21 */ +/* #define ERR_LIB_SSL2 22 */ +/* #define ERR_LIB_SSL3 23 */ +/* #define ERR_LIB_RSAREF 30 */ +/* #define ERR_LIB_PROXY 31 */ +# define ERR_LIB_BIO 32 +# define ERR_LIB_PKCS7 33 +# define ERR_LIB_X509V3 34 +# define ERR_LIB_PKCS12 35 +# define ERR_LIB_RAND 36 +# define ERR_LIB_DSO 37 +# define ERR_LIB_ENGINE 38 +# define ERR_LIB_OCSP 39 +# define ERR_LIB_UI 40 +# define ERR_LIB_COMP 41 +# define ERR_LIB_ECDSA 42 +# define ERR_LIB_ECDH 43 +# define ERR_LIB_OSSL_STORE 44 +# define ERR_LIB_FIPS 45 +# define ERR_LIB_CMS 46 +# define ERR_LIB_TS 47 +# define ERR_LIB_HMAC 48 +/* # define ERR_LIB_JPAKE 49 */ +# define ERR_LIB_CT 50 +# define ERR_LIB_ASYNC 51 +# define ERR_LIB_KDF 52 +# define ERR_LIB_SM2 53 + +# define ERR_LIB_USER 128 + +# define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OSSL_STOREerr(f,r) ERR_PUT_error(ERR_LIB_OSSL_STORE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CTerr(f,r) ERR_PUT_error(ERR_LIB_CT,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ASYNCerr(f,r) ERR_PUT_error(ERR_LIB_ASYNC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define KDFerr(f,r) ERR_PUT_error(ERR_LIB_KDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define SM2err(f,r) ERR_PUT_error(ERR_LIB_SM2,(f),(r),OPENSSL_FILE,OPENSSL_LINE) + +# define ERR_PACK(l,f,r) ( \ + (((unsigned int)(l) & 0x0FF) << 24L) | \ + (((unsigned int)(f) & 0xFFF) << 12L) | \ + (((unsigned int)(r) & 0xFFF) ) ) +# define ERR_GET_LIB(l) (int)(((l) >> 24L) & 0x0FFL) +# define ERR_GET_FUNC(l) (int)(((l) >> 12L) & 0xFFFL) +# define ERR_GET_REASON(l) (int)( (l) & 0xFFFL) +# define ERR_FATAL_ERROR(l) (int)( (l) & ERR_R_FATAL) + +/* OS functions */ +# define SYS_F_FOPEN 1 +# define SYS_F_CONNECT 2 +# define SYS_F_GETSERVBYNAME 3 +# define SYS_F_SOCKET 4 +# define SYS_F_IOCTLSOCKET 5 +# define SYS_F_BIND 6 +# define SYS_F_LISTEN 7 +# define SYS_F_ACCEPT 8 +# define SYS_F_WSASTARTUP 9/* Winsock stuff */ +# define SYS_F_OPENDIR 10 +# define SYS_F_FREAD 11 +# define SYS_F_GETADDRINFO 12 +# define SYS_F_GETNAMEINFO 13 +# define SYS_F_SETSOCKOPT 14 +# define SYS_F_GETSOCKOPT 15 +# define SYS_F_GETSOCKNAME 16 +# define SYS_F_GETHOSTBYNAME 17 +# define SYS_F_FFLUSH 18 +# define SYS_F_OPEN 19 +# define SYS_F_CLOSE 20 +# define SYS_F_IOCTL 21 +# define SYS_F_STAT 22 +# define SYS_F_FCNTL 23 +# define SYS_F_FSTAT 24 + +/* reasons */ +# define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */ +# define ERR_R_BN_LIB ERR_LIB_BN/* 3 */ +# define ERR_R_RSA_LIB ERR_LIB_RSA/* 4 */ +# define ERR_R_DH_LIB ERR_LIB_DH/* 5 */ +# define ERR_R_EVP_LIB ERR_LIB_EVP/* 6 */ +# define ERR_R_BUF_LIB ERR_LIB_BUF/* 7 */ +# define ERR_R_OBJ_LIB ERR_LIB_OBJ/* 8 */ +# define ERR_R_PEM_LIB ERR_LIB_PEM/* 9 */ +# define ERR_R_DSA_LIB ERR_LIB_DSA/* 10 */ +# define ERR_R_X509_LIB ERR_LIB_X509/* 11 */ +# define ERR_R_ASN1_LIB ERR_LIB_ASN1/* 13 */ +# define ERR_R_EC_LIB ERR_LIB_EC/* 16 */ +# define ERR_R_BIO_LIB ERR_LIB_BIO/* 32 */ +# define ERR_R_PKCS7_LIB ERR_LIB_PKCS7/* 33 */ +# define ERR_R_X509V3_LIB ERR_LIB_X509V3/* 34 */ +# define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */ +# define ERR_R_UI_LIB ERR_LIB_UI/* 40 */ +# define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */ +# define ERR_R_OSSL_STORE_LIB ERR_LIB_OSSL_STORE/* 44 */ + +# define ERR_R_NESTED_ASN1_ERROR 58 +# define ERR_R_MISSING_ASN1_EOS 63 + +/* fatal error */ +# define ERR_R_FATAL 64 +# define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) +# define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) +# define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) +# define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) +# define ERR_R_DISABLED (5|ERR_R_FATAL) +# define ERR_R_INIT_FAIL (6|ERR_R_FATAL) +# define ERR_R_PASSED_INVALID_ARGUMENT (7) +# define ERR_R_OPERATION_FAIL (8|ERR_R_FATAL) + +/* + * 99 is the maximum possible ERR_R_... code, higher values are reserved for + * the individual libraries + */ + +typedef struct ERR_string_data_st { + unsigned long error; + const char *string; +} ERR_STRING_DATA; + +DEFINE_LHASH_OF(ERR_STRING_DATA); + +void ERR_put_error(int lib, int func, int reason, const char *file, int line); +void ERR_set_error_data(char *data, int flags); + +unsigned long ERR_get_error(void); +unsigned long ERR_get_error_line(const char **file, int *line); +unsigned long ERR_get_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_error(void); +unsigned long ERR_peek_error_line(const char **file, int *line); +unsigned long ERR_peek_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_last_error(void); +unsigned long ERR_peek_last_error_line(const char **file, int *line); +unsigned long ERR_peek_last_error_line_data(const char **file, int *line, + const char **data, int *flags); +void ERR_clear_error(void); +char *ERR_error_string(unsigned long e, char *buf); +void ERR_error_string_n(unsigned long e, char *buf, size_t len); +const char *ERR_lib_error_string(unsigned long e); +const char *ERR_func_error_string(unsigned long e); +const char *ERR_reason_error_string(unsigned long e); +void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), + void *u); +# ifndef OPENSSL_NO_STDIO +void ERR_print_errors_fp(FILE *fp); +# endif +void ERR_print_errors(BIO *bp); +void ERR_add_error_data(int num, ...); +void ERR_add_error_vdata(int num, va_list args); +int ERR_load_strings(int lib, ERR_STRING_DATA *str); +int ERR_load_strings_const(const ERR_STRING_DATA *str); +int ERR_unload_strings(int lib, ERR_STRING_DATA *str); +int ERR_load_ERR_strings(void); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define ERR_load_crypto_strings() \ + OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) +# define ERR_free_strings() while(0) continue +#endif + +DEPRECATEDIN_1_1_0(void ERR_remove_thread_state(void *)) +DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid)) +ERR_STATE *ERR_get_state(void); + +int ERR_get_next_error_library(void); + +int ERR_set_mark(void); +int ERR_pop_to_mark(void); +int ERR_clear_last_mark(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/evp.h b/openssl/1.1/include/openssl/evp.h new file mode 100644 index 0000000..8c80519 --- /dev/null +++ b/openssl/1.1/include/openssl/evp.h @@ -0,0 +1,1638 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ENVELOPE_H +# define HEADER_ENVELOPE_H + +# include +# include +# include +# include +# include + +# define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ +# define EVP_MAX_KEY_LENGTH 64 +# define EVP_MAX_IV_LENGTH 16 +# define EVP_MAX_BLOCK_LENGTH 32 + +# define PKCS5_SALT_LEN 8 +/* Default PKCS#5 iteration count */ +# define PKCS5_DEFAULT_ITER 2048 + +# include + +# define EVP_PK_RSA 0x0001 +# define EVP_PK_DSA 0x0002 +# define EVP_PK_DH 0x0004 +# define EVP_PK_EC 0x0008 +# define EVP_PKT_SIGN 0x0010 +# define EVP_PKT_ENC 0x0020 +# define EVP_PKT_EXCH 0x0040 +# define EVP_PKS_RSA 0x0100 +# define EVP_PKS_DSA 0x0200 +# define EVP_PKS_EC 0x0400 + +# define EVP_PKEY_NONE NID_undef +# define EVP_PKEY_RSA NID_rsaEncryption +# define EVP_PKEY_RSA2 NID_rsa +# define EVP_PKEY_RSA_PSS NID_rsassaPss +# define EVP_PKEY_DSA NID_dsa +# define EVP_PKEY_DSA1 NID_dsa_2 +# define EVP_PKEY_DSA2 NID_dsaWithSHA +# define EVP_PKEY_DSA3 NID_dsaWithSHA1 +# define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 +# define EVP_PKEY_DH NID_dhKeyAgreement +# define EVP_PKEY_DHX NID_dhpublicnumber +# define EVP_PKEY_EC NID_X9_62_id_ecPublicKey +# define EVP_PKEY_SM2 NID_sm2 +# define EVP_PKEY_HMAC NID_hmac +# define EVP_PKEY_CMAC NID_cmac +# define EVP_PKEY_SCRYPT NID_id_scrypt +# define EVP_PKEY_TLS1_PRF NID_tls1_prf +# define EVP_PKEY_HKDF NID_hkdf +# define EVP_PKEY_POLY1305 NID_poly1305 +# define EVP_PKEY_SIPHASH NID_siphash +# define EVP_PKEY_X25519 NID_X25519 +# define EVP_PKEY_ED25519 NID_ED25519 +# define EVP_PKEY_X448 NID_X448 +# define EVP_PKEY_ED448 NID_ED448 + +#ifdef __cplusplus +extern "C" { +#endif + +# define EVP_PKEY_MO_SIGN 0x0001 +# define EVP_PKEY_MO_VERIFY 0x0002 +# define EVP_PKEY_MO_ENCRYPT 0x0004 +# define EVP_PKEY_MO_DECRYPT 0x0008 + +# ifndef EVP_MD +EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type); +EVP_MD *EVP_MD_meth_dup(const EVP_MD *md); +void EVP_MD_meth_free(EVP_MD *md); + +int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize); +int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize); +int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize); +int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags); +int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx)); +int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx, + const void *data, + size_t count)); +int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx, + unsigned char *md)); +int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to, + const EVP_MD_CTX *from)); +int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx)); +int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd, + int p1, void *p2)); + +int EVP_MD_meth_get_input_blocksize(const EVP_MD *md); +int EVP_MD_meth_get_result_size(const EVP_MD *md); +int EVP_MD_meth_get_app_datasize(const EVP_MD *md); +unsigned long EVP_MD_meth_get_flags(const EVP_MD *md); +int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx); +int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx, + const void *data, + size_t count); +int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx, + unsigned char *md); +int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to, + const EVP_MD_CTX *from); +int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx); +int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd, + int p1, void *p2); + +/* digest can only handle a single block */ +# define EVP_MD_FLAG_ONESHOT 0x0001 + +/* digest is extensible-output function, XOF */ +# define EVP_MD_FLAG_XOF 0x0002 + +/* DigestAlgorithmIdentifier flags... */ + +# define EVP_MD_FLAG_DIGALGID_MASK 0x0018 + +/* NULL or absent parameter accepted. Use NULL */ + +# define EVP_MD_FLAG_DIGALGID_NULL 0x0000 + +/* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ + +# define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 + +/* Custom handling via ctrl */ + +# define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 + +/* Note if suitable for use in FIPS mode */ +# define EVP_MD_FLAG_FIPS 0x0400 + +/* Digest ctrls */ + +# define EVP_MD_CTRL_DIGALGID 0x1 +# define EVP_MD_CTRL_MICALG 0x2 +# define EVP_MD_CTRL_XOF_LEN 0x3 + +/* Minimum Algorithm specific ctrl value */ + +# define EVP_MD_CTRL_ALG_CTRL 0x1000 + +# endif /* !EVP_MD */ + +/* values for EVP_MD_CTX flags */ + +# define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be + * called once only */ +# define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been + * cleaned */ +# define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data + * in EVP_MD_CTX_reset */ +/* + * FIPS and pad options are ignored in 1.0.0, definitions are here so we + * don't accidentally reuse the values for other purposes. + */ + +# define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008/* Allow use of non FIPS + * digest in FIPS mode */ + +/* + * The following PAD options are also currently ignored in 1.0.0, digest + * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() + * instead. + */ +# define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */ +# define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */ +# define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */ +# define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */ + +# define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */ +/* + * Some functions such as EVP_DigestSign only finalise copies of internal + * contexts so additional data can be included after the finalisation call. + * This is inefficient if this functionality is not required: it is disabled + * if the following flag is set. + */ +# define EVP_MD_CTX_FLAG_FINALISE 0x0200 +/* NOTE: 0x0400 is reserved for internal usage in evp_int.h */ + +EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len); +EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher); +void EVP_CIPHER_meth_free(EVP_CIPHER *cipher); + +int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len); +int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags); +int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size); +int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher, + int (*init) (EVP_CIPHER_CTX *ctx, + const unsigned char *key, + const unsigned char *iv, + int enc)); +int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher, + int (*do_cipher) (EVP_CIPHER_CTX *ctx, + unsigned char *out, + const unsigned char *in, + size_t inl)); +int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher, + int (*cleanup) (EVP_CIPHER_CTX *)); +int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher, + int (*set_asn1_parameters) (EVP_CIPHER_CTX *, + ASN1_TYPE *)); +int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher, + int (*get_asn1_parameters) (EVP_CIPHER_CTX *, + ASN1_TYPE *)); +int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher, + int (*ctrl) (EVP_CIPHER_CTX *, int type, + int arg, void *ptr)); + +int (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx, + const unsigned char *key, + const unsigned char *iv, + int enc); +int (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx, + unsigned char *out, + const unsigned char *in, + size_t inl); +int (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *); +int (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, + ASN1_TYPE *); +int (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, + ASN1_TYPE *); +int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, + int type, int arg, + void *ptr); + +/* Values for cipher flags */ + +/* Modes for ciphers */ + +# define EVP_CIPH_STREAM_CIPHER 0x0 +# define EVP_CIPH_ECB_MODE 0x1 +# define EVP_CIPH_CBC_MODE 0x2 +# define EVP_CIPH_CFB_MODE 0x3 +# define EVP_CIPH_OFB_MODE 0x4 +# define EVP_CIPH_CTR_MODE 0x5 +# define EVP_CIPH_GCM_MODE 0x6 +# define EVP_CIPH_CCM_MODE 0x7 +# define EVP_CIPH_XTS_MODE 0x10001 +# define EVP_CIPH_WRAP_MODE 0x10002 +# define EVP_CIPH_OCB_MODE 0x10003 +# define EVP_CIPH_MODE 0xF0007 +/* Set if variable length cipher */ +# define EVP_CIPH_VARIABLE_LENGTH 0x8 +/* Set if the iv handling should be done by the cipher itself */ +# define EVP_CIPH_CUSTOM_IV 0x10 +/* Set if the cipher's init() function should be called if key is NULL */ +# define EVP_CIPH_ALWAYS_CALL_INIT 0x20 +/* Call ctrl() to init cipher parameters */ +# define EVP_CIPH_CTRL_INIT 0x40 +/* Don't use standard key length function */ +# define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80 +/* Don't use standard block padding */ +# define EVP_CIPH_NO_PADDING 0x100 +/* cipher handles random key generation */ +# define EVP_CIPH_RAND_KEY 0x200 +/* cipher has its own additional copying logic */ +# define EVP_CIPH_CUSTOM_COPY 0x400 +/* Allow use default ASN1 get/set iv */ +# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 +/* Buffer length in bits not bytes: CFB1 mode only */ +# define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 +/* Note if suitable for use in FIPS mode */ +# define EVP_CIPH_FLAG_FIPS 0x4000 +/* Allow non FIPS cipher in FIPS mode */ +# define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000 +/* + * Cipher handles any and all padding logic as well as finalisation. + */ +# define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000 +# define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000 +# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000 +/* Cipher can handle pipeline operations */ +# define EVP_CIPH_FLAG_PIPELINE 0X800000 + +/* + * Cipher context flag to indicate we can handle wrap mode: if allowed in + * older applications it could overflow buffers. + */ + +# define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1 + +/* ctrl() values */ + +# define EVP_CTRL_INIT 0x0 +# define EVP_CTRL_SET_KEY_LENGTH 0x1 +# define EVP_CTRL_GET_RC2_KEY_BITS 0x2 +# define EVP_CTRL_SET_RC2_KEY_BITS 0x3 +# define EVP_CTRL_GET_RC5_ROUNDS 0x4 +# define EVP_CTRL_SET_RC5_ROUNDS 0x5 +# define EVP_CTRL_RAND_KEY 0x6 +# define EVP_CTRL_PBE_PRF_NID 0x7 +# define EVP_CTRL_COPY 0x8 +# define EVP_CTRL_AEAD_SET_IVLEN 0x9 +# define EVP_CTRL_AEAD_GET_TAG 0x10 +# define EVP_CTRL_AEAD_SET_TAG 0x11 +# define EVP_CTRL_AEAD_SET_IV_FIXED 0x12 +# define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN +# define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG +# define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG +# define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED +# define EVP_CTRL_GCM_IV_GEN 0x13 +# define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN +# define EVP_CTRL_CCM_GET_TAG EVP_CTRL_AEAD_GET_TAG +# define EVP_CTRL_CCM_SET_TAG EVP_CTRL_AEAD_SET_TAG +# define EVP_CTRL_CCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED +# define EVP_CTRL_CCM_SET_L 0x14 +# define EVP_CTRL_CCM_SET_MSGLEN 0x15 +/* + * AEAD cipher deduces payload length and returns number of bytes required to + * store MAC and eventual padding. Subsequent call to EVP_Cipher even + * appends/verifies MAC. + */ +# define EVP_CTRL_AEAD_TLS1_AAD 0x16 +/* Used by composite AEAD ciphers, no-op in GCM, CCM... */ +# define EVP_CTRL_AEAD_SET_MAC_KEY 0x17 +/* Set the GCM invocation field, decrypt only */ +# define EVP_CTRL_GCM_SET_IV_INV 0x18 + +# define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19 +# define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a +# define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b +# define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c + +# define EVP_CTRL_SSL3_MASTER_SECRET 0x1d + +/* EVP_CTRL_SET_SBOX takes the char * specifying S-boxes */ +# define EVP_CTRL_SET_SBOX 0x1e +/* + * EVP_CTRL_SBOX_USED takes a 'size_t' and 'char *', pointing at a + * pre-allocated buffer with specified size + */ +# define EVP_CTRL_SBOX_USED 0x1f +/* EVP_CTRL_KEY_MESH takes 'size_t' number of bytes to mesh the key after, + * 0 switches meshing off + */ +# define EVP_CTRL_KEY_MESH 0x20 +/* EVP_CTRL_BLOCK_PADDING_MODE takes the padding mode */ +# define EVP_CTRL_BLOCK_PADDING_MODE 0x21 + +/* Set the output buffers to use for a pipelined operation */ +# define EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS 0x22 +/* Set the input buffers to use for a pipelined operation */ +# define EVP_CTRL_SET_PIPELINE_INPUT_BUFS 0x23 +/* Set the input buffer lengths to use for a pipelined operation */ +# define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24 + +/* Padding modes */ +#define EVP_PADDING_PKCS7 1 +#define EVP_PADDING_ISO7816_4 2 +#define EVP_PADDING_ANSI923 3 +#define EVP_PADDING_ISO10126 4 +#define EVP_PADDING_ZERO 5 + +/* RFC 5246 defines additional data to be 13 bytes in length */ +# define EVP_AEAD_TLS1_AAD_LEN 13 + +typedef struct { + unsigned char *out; + const unsigned char *inp; + size_t len; + unsigned int interleave; +} EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM; + +/* GCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +# define EVP_GCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +# define EVP_GCM_TLS_EXPLICIT_IV_LEN 8 +/* Length of tag for TLS */ +# define EVP_GCM_TLS_TAG_LEN 16 + +/* CCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +# define EVP_CCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +# define EVP_CCM_TLS_EXPLICIT_IV_LEN 8 +/* Total length of CCM IV length for TLS */ +# define EVP_CCM_TLS_IV_LEN 12 +/* Length of tag for TLS */ +# define EVP_CCM_TLS_TAG_LEN 16 +/* Length of CCM8 tag for TLS */ +# define EVP_CCM8_TLS_TAG_LEN 8 + +/* Length of tag for TLS */ +# define EVP_CHACHAPOLY_TLS_TAG_LEN 16 + +typedef struct evp_cipher_info_st { + const EVP_CIPHER *cipher; + unsigned char iv[EVP_MAX_IV_LENGTH]; +} EVP_CIPHER_INFO; + + +/* Password based encryption function */ +typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, + int passlen, ASN1_TYPE *param, + const EVP_CIPHER *cipher, const EVP_MD *md, + int en_de); + +# ifndef OPENSSL_NO_RSA +# define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ + (char *)(rsa)) +# endif + +# ifndef OPENSSL_NO_DSA +# define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ + (char *)(dsa)) +# endif + +# ifndef OPENSSL_NO_DH +# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ + (char *)(dh)) +# endif + +# ifndef OPENSSL_NO_EC +# define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ + (char *)(eckey)) +# endif +# ifndef OPENSSL_NO_SIPHASH +# define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),EVP_PKEY_SIPHASH,\ + (char *)(shkey)) +# endif + +# ifndef OPENSSL_NO_POLY1305 +# define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),EVP_PKEY_POLY1305,\ + (char *)(polykey)) +# endif + +/* Add some extra combinations */ +# define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) +# define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) +# define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) +# define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) + +int EVP_MD_type(const EVP_MD *md); +# define EVP_MD_nid(e) EVP_MD_type(e) +# define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) +int EVP_MD_pkey_type(const EVP_MD *md); +int EVP_MD_size(const EVP_MD *md); +int EVP_MD_block_size(const EVP_MD *md); +unsigned long EVP_MD_flags(const EVP_MD *md); + +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); +int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx, + const void *data, size_t count); +void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx, + int (*update) (EVP_MD_CTX *ctx, + const void *data, size_t count)); +# define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) +EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); +void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx); +void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); + +int EVP_CIPHER_nid(const EVP_CIPHER *cipher); +# define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) +int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); +int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *cipher); +int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); +int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); +unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); +# define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) + +const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); +const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx); +const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx); +unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx); +unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_num(const EVP_CIPHER_CTX *ctx); +void EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num); +int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); +void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); +void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); +void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx); +void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data); +# define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) +# if OPENSSL_API_COMPAT < 0x10100000L +# define EVP_CIPHER_CTX_flags(c) EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(c)) +# endif +# define EVP_CIPHER_CTX_mode(c) EVP_CIPHER_mode(EVP_CIPHER_CTX_cipher(c)) + +# define EVP_ENCODE_LENGTH(l) ((((l)+2)/3*4)+((l)/48+1)*2+80) +# define EVP_DECODE_LENGTH(l) (((l)+3)/4*3+80) + +# define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_SignInit(a,b) EVP_DigestInit(a,b) +# define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_VerifyInit(a,b) EVP_DigestInit(a,b) +# define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) +# define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) +# define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) + +# ifdef CONST_STRICT +void BIO_set_md(BIO *, const EVP_MD *md); +# else +# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)(md)) +# endif +# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)(mdp)) +# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0, \ + (char *)(mdcp)) +# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0, \ + (char *)(mdcp)) +# define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) +# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0, \ + (char *)(c_pp)) + +/*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c, + unsigned char *out, + const unsigned char *in, unsigned int inl); + +# define EVP_add_cipher_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_add_digest_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_delete_cipher_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS); +# define EVP_delete_digest_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); + +int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); +EVP_MD_CTX *EVP_MD_CTX_new(void); +int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); +void EVP_MD_CTX_free(EVP_MD_CTX *ctx); +# define EVP_MD_CTX_create() EVP_MD_CTX_new() +# define EVP_MD_CTX_init(ctx) EVP_MD_CTX_reset((ctx)) +# define EVP_MD_CTX_destroy(ctx) EVP_MD_CTX_free((ctx)) +__owur int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); +void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); +void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); +int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); +__owur int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, + ENGINE *impl); +__owur int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, + size_t cnt); +__owur int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, + unsigned int *s); +__owur int EVP_Digest(const void *data, size_t count, + unsigned char *md, unsigned int *size, + const EVP_MD *type, ENGINE *impl); + +__owur int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); +__owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); +__owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, + unsigned int *s); +__owur int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md, + size_t len); + +int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); +int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, + const char *prompt, int verify); +void EVP_set_pw_prompt(const char *prompt); +char *EVP_get_pw_prompt(void); + +__owur int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, + const unsigned char *salt, + const unsigned char *data, int datal, int count, + unsigned char *key, unsigned char *iv); + +void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); +void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); +int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); + +__owur int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +/*__owur*/ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, + const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, + const unsigned char *iv); +/*__owur*/ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl, const unsigned char *in, int inl); +/*__owur*/ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl); +/*__owur*/ int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl); + +__owur int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +/*__owur*/ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, + const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, + const unsigned char *iv); +/*__owur*/ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl, const unsigned char *in, int inl); +__owur int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); +/*__owur*/ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); + +__owur int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv, + int enc); +/*__owur*/ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, + const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, + const unsigned char *iv, int enc); +__owur int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl, const unsigned char *in, int inl); +__owur int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); +__owur int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); + +__owur int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, + EVP_PKEY *pkey); + +__owur int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret, + size_t *siglen, const unsigned char *tbs, + size_t tbslen); + +__owur int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, + unsigned int siglen, EVP_PKEY *pkey); + +__owur int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret, + size_t siglen, const unsigned char *tbs, + size_t tbslen); + +/*__owur*/ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, + EVP_PKEY *pkey); +__owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, + size_t *siglen); + +__owur int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, + EVP_PKEY *pkey); +__owur int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, + size_t siglen); + +# ifndef OPENSSL_NO_RSA +__owur int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + const unsigned char *ek, int ekl, + const unsigned char *iv, EVP_PKEY *priv); +__owur int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +__owur int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + unsigned char **ek, int *ekl, unsigned char *iv, + EVP_PKEY **pubk, int npubk); +__owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +# endif + +EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void); +void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx); +int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, EVP_ENCODE_CTX *sctx); +int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx); +void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); +int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); + +void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); +int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned + char *out, int *outl); +int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define EVP_CIPHER_CTX_init(c) EVP_CIPHER_CTX_reset(c) +# define EVP_CIPHER_CTX_cleanup(c) EVP_CIPHER_CTX_reset(c) +# endif +EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); +int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c); +void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c); +int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); +int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); +int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); +int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); + +const BIO_METHOD *BIO_f_md(void); +const BIO_METHOD *BIO_f_base64(void); +const BIO_METHOD *BIO_f_cipher(void); +const BIO_METHOD *BIO_f_reliable(void); +__owur int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, + const unsigned char *i, int enc); + +const EVP_MD *EVP_md_null(void); +# ifndef OPENSSL_NO_MD2 +const EVP_MD *EVP_md2(void); +# endif +# ifndef OPENSSL_NO_MD4 +const EVP_MD *EVP_md4(void); +# endif +# ifndef OPENSSL_NO_MD5 +const EVP_MD *EVP_md5(void); +const EVP_MD *EVP_md5_sha1(void); +# endif +# ifndef OPENSSL_NO_BLAKE2 +const EVP_MD *EVP_blake2b512(void); +const EVP_MD *EVP_blake2s256(void); +# endif +const EVP_MD *EVP_sha1(void); +const EVP_MD *EVP_sha224(void); +const EVP_MD *EVP_sha256(void); +const EVP_MD *EVP_sha384(void); +const EVP_MD *EVP_sha512(void); +const EVP_MD *EVP_sha512_224(void); +const EVP_MD *EVP_sha512_256(void); +const EVP_MD *EVP_sha3_224(void); +const EVP_MD *EVP_sha3_256(void); +const EVP_MD *EVP_sha3_384(void); +const EVP_MD *EVP_sha3_512(void); +const EVP_MD *EVP_shake128(void); +const EVP_MD *EVP_shake256(void); +# ifndef OPENSSL_NO_MDC2 +const EVP_MD *EVP_mdc2(void); +# endif +# ifndef OPENSSL_NO_RMD160 +const EVP_MD *EVP_ripemd160(void); +# endif +# ifndef OPENSSL_NO_WHIRLPOOL +const EVP_MD *EVP_whirlpool(void); +# endif +# ifndef OPENSSL_NO_SM3 +const EVP_MD *EVP_sm3(void); +# endif +const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ +# ifndef OPENSSL_NO_DES +const EVP_CIPHER *EVP_des_ecb(void); +const EVP_CIPHER *EVP_des_ede(void); +const EVP_CIPHER *EVP_des_ede3(void); +const EVP_CIPHER *EVP_des_ede_ecb(void); +const EVP_CIPHER *EVP_des_ede3_ecb(void); +const EVP_CIPHER *EVP_des_cfb64(void); +# define EVP_des_cfb EVP_des_cfb64 +const EVP_CIPHER *EVP_des_cfb1(void); +const EVP_CIPHER *EVP_des_cfb8(void); +const EVP_CIPHER *EVP_des_ede_cfb64(void); +# define EVP_des_ede_cfb EVP_des_ede_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb64(void); +# define EVP_des_ede3_cfb EVP_des_ede3_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb1(void); +const EVP_CIPHER *EVP_des_ede3_cfb8(void); +const EVP_CIPHER *EVP_des_ofb(void); +const EVP_CIPHER *EVP_des_ede_ofb(void); +const EVP_CIPHER *EVP_des_ede3_ofb(void); +const EVP_CIPHER *EVP_des_cbc(void); +const EVP_CIPHER *EVP_des_ede_cbc(void); +const EVP_CIPHER *EVP_des_ede3_cbc(void); +const EVP_CIPHER *EVP_desx_cbc(void); +const EVP_CIPHER *EVP_des_ede3_wrap(void); +/* + * This should now be supported through the dev_crypto ENGINE. But also, why + * are rc4 and md5 declarations made here inside a "NO_DES" precompiler + * branch? + */ +# endif +# ifndef OPENSSL_NO_RC4 +const EVP_CIPHER *EVP_rc4(void); +const EVP_CIPHER *EVP_rc4_40(void); +# ifndef OPENSSL_NO_MD5 +const EVP_CIPHER *EVP_rc4_hmac_md5(void); +# endif +# endif +# ifndef OPENSSL_NO_IDEA +const EVP_CIPHER *EVP_idea_ecb(void); +const EVP_CIPHER *EVP_idea_cfb64(void); +# define EVP_idea_cfb EVP_idea_cfb64 +const EVP_CIPHER *EVP_idea_ofb(void); +const EVP_CIPHER *EVP_idea_cbc(void); +# endif +# ifndef OPENSSL_NO_RC2 +const EVP_CIPHER *EVP_rc2_ecb(void); +const EVP_CIPHER *EVP_rc2_cbc(void); +const EVP_CIPHER *EVP_rc2_40_cbc(void); +const EVP_CIPHER *EVP_rc2_64_cbc(void); +const EVP_CIPHER *EVP_rc2_cfb64(void); +# define EVP_rc2_cfb EVP_rc2_cfb64 +const EVP_CIPHER *EVP_rc2_ofb(void); +# endif +# ifndef OPENSSL_NO_BF +const EVP_CIPHER *EVP_bf_ecb(void); +const EVP_CIPHER *EVP_bf_cbc(void); +const EVP_CIPHER *EVP_bf_cfb64(void); +# define EVP_bf_cfb EVP_bf_cfb64 +const EVP_CIPHER *EVP_bf_ofb(void); +# endif +# ifndef OPENSSL_NO_CAST +const EVP_CIPHER *EVP_cast5_ecb(void); +const EVP_CIPHER *EVP_cast5_cbc(void); +const EVP_CIPHER *EVP_cast5_cfb64(void); +# define EVP_cast5_cfb EVP_cast5_cfb64 +const EVP_CIPHER *EVP_cast5_ofb(void); +# endif +# ifndef OPENSSL_NO_RC5 +const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void); +const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void); +const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void); +# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64 +const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void); +# endif +const EVP_CIPHER *EVP_aes_128_ecb(void); +const EVP_CIPHER *EVP_aes_128_cbc(void); +const EVP_CIPHER *EVP_aes_128_cfb1(void); +const EVP_CIPHER *EVP_aes_128_cfb8(void); +const EVP_CIPHER *EVP_aes_128_cfb128(void); +# define EVP_aes_128_cfb EVP_aes_128_cfb128 +const EVP_CIPHER *EVP_aes_128_ofb(void); +const EVP_CIPHER *EVP_aes_128_ctr(void); +const EVP_CIPHER *EVP_aes_128_ccm(void); +const EVP_CIPHER *EVP_aes_128_gcm(void); +const EVP_CIPHER *EVP_aes_128_xts(void); +const EVP_CIPHER *EVP_aes_128_wrap(void); +const EVP_CIPHER *EVP_aes_128_wrap_pad(void); +# ifndef OPENSSL_NO_OCB +const EVP_CIPHER *EVP_aes_128_ocb(void); +# endif +const EVP_CIPHER *EVP_aes_192_ecb(void); +const EVP_CIPHER *EVP_aes_192_cbc(void); +const EVP_CIPHER *EVP_aes_192_cfb1(void); +const EVP_CIPHER *EVP_aes_192_cfb8(void); +const EVP_CIPHER *EVP_aes_192_cfb128(void); +# define EVP_aes_192_cfb EVP_aes_192_cfb128 +const EVP_CIPHER *EVP_aes_192_ofb(void); +const EVP_CIPHER *EVP_aes_192_ctr(void); +const EVP_CIPHER *EVP_aes_192_ccm(void); +const EVP_CIPHER *EVP_aes_192_gcm(void); +const EVP_CIPHER *EVP_aes_192_wrap(void); +const EVP_CIPHER *EVP_aes_192_wrap_pad(void); +# ifndef OPENSSL_NO_OCB +const EVP_CIPHER *EVP_aes_192_ocb(void); +# endif +const EVP_CIPHER *EVP_aes_256_ecb(void); +const EVP_CIPHER *EVP_aes_256_cbc(void); +const EVP_CIPHER *EVP_aes_256_cfb1(void); +const EVP_CIPHER *EVP_aes_256_cfb8(void); +const EVP_CIPHER *EVP_aes_256_cfb128(void); +# define EVP_aes_256_cfb EVP_aes_256_cfb128 +const EVP_CIPHER *EVP_aes_256_ofb(void); +const EVP_CIPHER *EVP_aes_256_ctr(void); +const EVP_CIPHER *EVP_aes_256_ccm(void); +const EVP_CIPHER *EVP_aes_256_gcm(void); +const EVP_CIPHER *EVP_aes_256_xts(void); +const EVP_CIPHER *EVP_aes_256_wrap(void); +const EVP_CIPHER *EVP_aes_256_wrap_pad(void); +# ifndef OPENSSL_NO_OCB +const EVP_CIPHER *EVP_aes_256_ocb(void); +# endif +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); +# ifndef OPENSSL_NO_ARIA +const EVP_CIPHER *EVP_aria_128_ecb(void); +const EVP_CIPHER *EVP_aria_128_cbc(void); +const EVP_CIPHER *EVP_aria_128_cfb1(void); +const EVP_CIPHER *EVP_aria_128_cfb8(void); +const EVP_CIPHER *EVP_aria_128_cfb128(void); +# define EVP_aria_128_cfb EVP_aria_128_cfb128 +const EVP_CIPHER *EVP_aria_128_ctr(void); +const EVP_CIPHER *EVP_aria_128_ofb(void); +const EVP_CIPHER *EVP_aria_128_gcm(void); +const EVP_CIPHER *EVP_aria_128_ccm(void); +const EVP_CIPHER *EVP_aria_192_ecb(void); +const EVP_CIPHER *EVP_aria_192_cbc(void); +const EVP_CIPHER *EVP_aria_192_cfb1(void); +const EVP_CIPHER *EVP_aria_192_cfb8(void); +const EVP_CIPHER *EVP_aria_192_cfb128(void); +# define EVP_aria_192_cfb EVP_aria_192_cfb128 +const EVP_CIPHER *EVP_aria_192_ctr(void); +const EVP_CIPHER *EVP_aria_192_ofb(void); +const EVP_CIPHER *EVP_aria_192_gcm(void); +const EVP_CIPHER *EVP_aria_192_ccm(void); +const EVP_CIPHER *EVP_aria_256_ecb(void); +const EVP_CIPHER *EVP_aria_256_cbc(void); +const EVP_CIPHER *EVP_aria_256_cfb1(void); +const EVP_CIPHER *EVP_aria_256_cfb8(void); +const EVP_CIPHER *EVP_aria_256_cfb128(void); +# define EVP_aria_256_cfb EVP_aria_256_cfb128 +const EVP_CIPHER *EVP_aria_256_ctr(void); +const EVP_CIPHER *EVP_aria_256_ofb(void); +const EVP_CIPHER *EVP_aria_256_gcm(void); +const EVP_CIPHER *EVP_aria_256_ccm(void); +# endif +# ifndef OPENSSL_NO_CAMELLIA +const EVP_CIPHER *EVP_camellia_128_ecb(void); +const EVP_CIPHER *EVP_camellia_128_cbc(void); +const EVP_CIPHER *EVP_camellia_128_cfb1(void); +const EVP_CIPHER *EVP_camellia_128_cfb8(void); +const EVP_CIPHER *EVP_camellia_128_cfb128(void); +# define EVP_camellia_128_cfb EVP_camellia_128_cfb128 +const EVP_CIPHER *EVP_camellia_128_ofb(void); +const EVP_CIPHER *EVP_camellia_128_ctr(void); +const EVP_CIPHER *EVP_camellia_192_ecb(void); +const EVP_CIPHER *EVP_camellia_192_cbc(void); +const EVP_CIPHER *EVP_camellia_192_cfb1(void); +const EVP_CIPHER *EVP_camellia_192_cfb8(void); +const EVP_CIPHER *EVP_camellia_192_cfb128(void); +# define EVP_camellia_192_cfb EVP_camellia_192_cfb128 +const EVP_CIPHER *EVP_camellia_192_ofb(void); +const EVP_CIPHER *EVP_camellia_192_ctr(void); +const EVP_CIPHER *EVP_camellia_256_ecb(void); +const EVP_CIPHER *EVP_camellia_256_cbc(void); +const EVP_CIPHER *EVP_camellia_256_cfb1(void); +const EVP_CIPHER *EVP_camellia_256_cfb8(void); +const EVP_CIPHER *EVP_camellia_256_cfb128(void); +# define EVP_camellia_256_cfb EVP_camellia_256_cfb128 +const EVP_CIPHER *EVP_camellia_256_ofb(void); +const EVP_CIPHER *EVP_camellia_256_ctr(void); +# endif +# ifndef OPENSSL_NO_CHACHA +const EVP_CIPHER *EVP_chacha20(void); +# ifndef OPENSSL_NO_POLY1305 +const EVP_CIPHER *EVP_chacha20_poly1305(void); +# endif +# endif + +# ifndef OPENSSL_NO_SEED +const EVP_CIPHER *EVP_seed_ecb(void); +const EVP_CIPHER *EVP_seed_cbc(void); +const EVP_CIPHER *EVP_seed_cfb128(void); +# define EVP_seed_cfb EVP_seed_cfb128 +const EVP_CIPHER *EVP_seed_ofb(void); +# endif + +# ifndef OPENSSL_NO_SM4 +const EVP_CIPHER *EVP_sm4_ecb(void); +const EVP_CIPHER *EVP_sm4_cbc(void); +const EVP_CIPHER *EVP_sm4_cfb128(void); +# define EVP_sm4_cfb EVP_sm4_cfb128 +const EVP_CIPHER *EVP_sm4_ofb(void); +const EVP_CIPHER *EVP_sm4_ctr(void); +# endif + +# if OPENSSL_API_COMPAT < 0x10100000L +# define OPENSSL_add_all_algorithms_conf() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS \ + | OPENSSL_INIT_LOAD_CONFIG, NULL) +# define OPENSSL_add_all_algorithms_noconf() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) + +# ifdef OPENSSL_LOAD_CONF +# define OpenSSL_add_all_algorithms() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS \ + | OPENSSL_INIT_LOAD_CONFIG, NULL) +# else +# define OpenSSL_add_all_algorithms() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) +# endif + +# define OpenSSL_add_all_ciphers() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL) +# define OpenSSL_add_all_digests() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) + +# define EVP_cleanup() while(0) continue +# endif + +int EVP_add_cipher(const EVP_CIPHER *cipher); +int EVP_add_digest(const EVP_MD *digest); + +const EVP_CIPHER *EVP_get_cipherbyname(const char *name); +const EVP_MD *EVP_get_digestbyname(const char *name); + +void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_CIPHER_do_all_sorted(void (*fn) + (const EVP_CIPHER *ciph, const char *from, + const char *to, void *x), void *arg); + +void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_MD_do_all_sorted(void (*fn) + (const EVP_MD *ciph, const char *from, + const char *to, void *x), void *arg); + +int EVP_PKEY_decrypt_old(unsigned char *dec_key, + const unsigned char *enc_key, int enc_key_len, + EVP_PKEY *private_key); +int EVP_PKEY_encrypt_old(unsigned char *enc_key, + const unsigned char *key, int key_len, + EVP_PKEY *pub_key); +int EVP_PKEY_type(int type); +int EVP_PKEY_id(const EVP_PKEY *pkey); +int EVP_PKEY_base_id(const EVP_PKEY *pkey); +int EVP_PKEY_bits(const EVP_PKEY *pkey); +int EVP_PKEY_security_bits(const EVP_PKEY *pkey); +int EVP_PKEY_size(EVP_PKEY *pkey); +int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); +int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); +int EVP_PKEY_set_alias_type(EVP_PKEY *pkey, int type); +# ifndef OPENSSL_NO_ENGINE +int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e); +# endif +int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); +void *EVP_PKEY_get0(const EVP_PKEY *pkey); +const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len); +# ifndef OPENSSL_NO_POLY1305 +const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len); +# endif +# ifndef OPENSSL_NO_SIPHASH +const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len); +# endif + +# ifndef OPENSSL_NO_RSA +struct rsa_st; +int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); +struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); +struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DSA +struct dsa_st; +int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); +struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); +struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DH +struct dh_st; +int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); +struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey); +struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_EC +struct ec_key_st; +int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); +struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); +struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); +# endif + +EVP_PKEY *EVP_PKEY_new(void); +int EVP_PKEY_up_ref(EVP_PKEY *pkey); +void EVP_PKEY_free(EVP_PKEY *pkey); + +EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); + +EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); + +int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); +int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); +int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode); +int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); + +int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); + +int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey, + const unsigned char *pt, size_t ptlen); +size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *pkey, unsigned char **ppt); + +int EVP_CIPHER_type(const EVP_CIPHER *ctx); + +/* calls methods */ +int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* These are used by EVP_CIPHER methods */ +int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* PKCS5 password based encryption */ +int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); +int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + int keylen, unsigned char *out); +int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + const EVP_MD *digest, int keylen, unsigned char *out); +int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); + +#ifndef OPENSSL_NO_SCRYPT +int EVP_PBE_scrypt(const char *pass, size_t passlen, + const unsigned char *salt, size_t saltlen, + uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem, + unsigned char *key, size_t keylen); + +int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, + int passlen, ASN1_TYPE *param, + const EVP_CIPHER *c, const EVP_MD *md, int en_de); +#endif + +void PKCS5_PBE_add(void); + +int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, + ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); + +/* PBE type */ + +/* Can appear as the outermost AlgorithmIdentifier */ +# define EVP_PBE_TYPE_OUTER 0x0 +/* Is an PRF type OID */ +# define EVP_PBE_TYPE_PRF 0x1 +/* Is a PKCS#5 v2.0 KDF */ +# define EVP_PBE_TYPE_KDF 0x2 + +int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, + int md_nid, EVP_PBE_KEYGEN *keygen); +int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, + EVP_PBE_KEYGEN *keygen); +int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, + EVP_PBE_KEYGEN **pkeygen); +void EVP_PBE_cleanup(void); +int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num); + +# define ASN1_PKEY_ALIAS 0x1 +# define ASN1_PKEY_DYNAMIC 0x2 +# define ASN1_PKEY_SIGPARAM_NULL 0x4 + +# define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 +# define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 +# define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 +# define ASN1_PKEY_CTRL_CMS_SIGN 0x5 +# define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 +# define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8 + +# define ASN1_PKEY_CTRL_SET1_TLS_ENCPT 0x9 +# define ASN1_PKEY_CTRL_GET1_TLS_ENCPT 0xa + +int EVP_PKEY_asn1_get_count(void); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, + const char *str, int len); +int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); +int EVP_PKEY_asn1_add_alias(int to, int from); +int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, + int *ppkey_flags, const char **pinfo, + const char **ppem_str, + const EVP_PKEY_ASN1_METHOD *ameth); + +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey); +EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, + const char *pem_str, + const char *info); +void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, + const EVP_PKEY_ASN1_METHOD *src); +void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); +void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, + int (*pub_decode) (EVP_PKEY *pk, + X509_PUBKEY *pub), + int (*pub_encode) (X509_PUBKEY *pub, + const EVP_PKEY *pk), + int (*pub_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*pub_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx), + int (*pkey_size) (const EVP_PKEY *pk), + int (*pkey_bits) (const EVP_PKEY *pk)); +void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, + int (*priv_decode) (EVP_PKEY *pk, + const PKCS8_PRIV_KEY_INFO + *p8inf), + int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, + const EVP_PKEY *pk), + int (*priv_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); +void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, + int (*param_decode) (EVP_PKEY *pkey, + const unsigned char **pder, + int derlen), + int (*param_encode) (const EVP_PKEY *pkey, + unsigned char **pder), + int (*param_missing) (const EVP_PKEY *pk), + int (*param_copy) (EVP_PKEY *to, + const EVP_PKEY *from), + int (*param_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*param_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); + +void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, + void (*pkey_free) (EVP_PKEY *pkey)); +void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_ctrl) (EVP_PKEY *pkey, int op, + long arg1, void *arg2)); +void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, + int (*item_verify) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *a, + ASN1_BIT_STRING *sig, + EVP_PKEY *pkey), + int (*item_sign) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *alg1, + X509_ALGOR *alg2, + ASN1_BIT_STRING *sig)); + +void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth, + int (*siginf_set) (X509_SIG_INFO *siginf, + const X509_ALGOR *alg, + const ASN1_STRING *sig)); + +void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_check) (const EVP_PKEY *pk)); + +void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_pub_check) (const EVP_PKEY *pk)); + +void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_param_check) (const EVP_PKEY *pk)); + +void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, + int (*set_priv_key) (EVP_PKEY *pk, + const unsigned char + *priv, + size_t len)); +void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, + int (*set_pub_key) (EVP_PKEY *pk, + const unsigned char *pub, + size_t len)); +void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth, + int (*get_priv_key) (const EVP_PKEY *pk, + unsigned char *priv, + size_t *len)); +void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth, + int (*get_pub_key) (const EVP_PKEY *pk, + unsigned char *pub, + size_t *len)); + +void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_security_bits) (const EVP_PKEY + *pk)); + +# define EVP_PKEY_OP_UNDEFINED 0 +# define EVP_PKEY_OP_PARAMGEN (1<<1) +# define EVP_PKEY_OP_KEYGEN (1<<2) +# define EVP_PKEY_OP_SIGN (1<<3) +# define EVP_PKEY_OP_VERIFY (1<<4) +# define EVP_PKEY_OP_VERIFYRECOVER (1<<5) +# define EVP_PKEY_OP_SIGNCTX (1<<6) +# define EVP_PKEY_OP_VERIFYCTX (1<<7) +# define EVP_PKEY_OP_ENCRYPT (1<<8) +# define EVP_PKEY_OP_DECRYPT (1<<9) +# define EVP_PKEY_OP_DERIVE (1<<10) + +# define EVP_PKEY_OP_TYPE_SIG \ + (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ + | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) + +# define EVP_PKEY_OP_TYPE_CRYPT \ + (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) + +# define EVP_PKEY_OP_TYPE_NOGEN \ + (EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_DERIVE) + +# define EVP_PKEY_OP_TYPE_GEN \ + (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) + +# define EVP_PKEY_CTX_set_signature_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_GET_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_set_mac_key(ctx, key, len) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_SET_MAC_KEY, len, (void *)(key)) + +# define EVP_PKEY_CTRL_MD 1 +# define EVP_PKEY_CTRL_PEER_KEY 2 + +# define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 +# define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 + +# define EVP_PKEY_CTRL_PKCS7_SIGN 5 + +# define EVP_PKEY_CTRL_SET_MAC_KEY 6 + +# define EVP_PKEY_CTRL_DIGESTINIT 7 + +/* Used by GOST key encryption in TLS */ +# define EVP_PKEY_CTRL_SET_IV 8 + +# define EVP_PKEY_CTRL_CMS_ENCRYPT 9 +# define EVP_PKEY_CTRL_CMS_DECRYPT 10 +# define EVP_PKEY_CTRL_CMS_SIGN 11 + +# define EVP_PKEY_CTRL_CIPHER 12 + +# define EVP_PKEY_CTRL_GET_MD 13 + +# define EVP_PKEY_CTRL_SET_DIGEST_SIZE 14 + +# define EVP_PKEY_ALG_CTRL 0x1000 + +# define EVP_PKEY_FLAG_AUTOARGLEN 2 +/* + * Method handles all operations: don't assume any digest related defaults. + */ +# define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4 + +const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); +EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags); +void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, + const EVP_PKEY_METHOD *meth); +void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); +void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); +int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); +int EVP_PKEY_meth_remove(const EVP_PKEY_METHOD *pmeth); +size_t EVP_PKEY_meth_get_count(void); +const EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx); + +EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, + int cmd, int p1, void *p2); +int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, + const char *value); +int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype, + int cmd, uint64_t value); + +int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str); +int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex); + +int EVP_PKEY_CTX_md(EVP_PKEY_CTX *ctx, int optype, int cmd, const char *md); + +int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); + +EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, + const unsigned char *key, int keylen); +EVP_PKEY *EVP_PKEY_new_raw_private_key(int type, ENGINE *e, + const unsigned char *priv, + size_t len); +EVP_PKEY *EVP_PKEY_new_raw_public_key(int type, ENGINE *e, + const unsigned char *pub, + size_t len); +int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char *priv, + size_t *len); +int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char *pub, + size_t *len); + +EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, + size_t len, const EVP_CIPHER *cipher); + +void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); +EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); + +EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); + +void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, + const unsigned char *sig, size_t siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, + unsigned char *rout, size_t *routlen, + const unsigned char *sig, size_t siglen); +int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); +int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); + +int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); +int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); + +typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); +int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); +int EVP_PKEY_check(EVP_PKEY_CTX *ctx); +int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx); +int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); + +void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); +EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); + +void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, + int (*init) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, + int (*copy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, + void (*cleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, + int (*paramgen_init) (EVP_PKEY_CTX *ctx), + int (*paramgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, + int (*keygen_init) (EVP_PKEY_CTX *ctx), + int (*keygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, + int (*sign_init) (EVP_PKEY_CTX *ctx), + int (*sign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, + int (*verify_init) (EVP_PKEY_CTX *ctx), + int (*verify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, + int (*verify_recover_init) (EVP_PKEY_CTX + *ctx), + int (*verify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, + int (*signctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*signctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, + int (*verifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*verifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, + int (*encrypt_init) (EVP_PKEY_CTX *ctx), + int (*encryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, + int (*decrypt_init) (EVP_PKEY_CTX *ctx), + int (*decrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, + int (*derive_init) (EVP_PKEY_CTX *ctx), + int (*derive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, + int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (*ctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth, + int (*check) (EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_public_check(EVP_PKEY_METHOD *pmeth, + int (*check) (EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_param_check(EVP_PKEY_METHOD *pmeth, + int (*check) (EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_digest_custom(EVP_PKEY_METHOD *pmeth, + int (*digest_custom) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_init(const EVP_PKEY_METHOD *pmeth, + int (**pinit) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_copy(const EVP_PKEY_METHOD *pmeth, + int (**pcopy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_get_cleanup(const EVP_PKEY_METHOD *pmeth, + void (**pcleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_paramgen(const EVP_PKEY_METHOD *pmeth, + int (**pparamgen_init) (EVP_PKEY_CTX *ctx), + int (**pparamgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_keygen(const EVP_PKEY_METHOD *pmeth, + int (**pkeygen_init) (EVP_PKEY_CTX *ctx), + int (**pkeygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_sign(const EVP_PKEY_METHOD *pmeth, + int (**psign_init) (EVP_PKEY_CTX *ctx), + int (**psign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify(const EVP_PKEY_METHOD *pmeth, + int (**pverify_init) (EVP_PKEY_CTX *ctx), + int (**pverify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify_recover(const EVP_PKEY_METHOD *pmeth, + int (**pverify_recover_init) (EVP_PKEY_CTX + *ctx), + int (**pverify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_signctx(const EVP_PKEY_METHOD *pmeth, + int (**psignctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**psignctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_verifyctx(const EVP_PKEY_METHOD *pmeth, + int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**pverifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_encrypt(const EVP_PKEY_METHOD *pmeth, + int (**pencrypt_init) (EVP_PKEY_CTX *ctx), + int (**pencryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_decrypt(const EVP_PKEY_METHOD *pmeth, + int (**pdecrypt_init) (EVP_PKEY_CTX *ctx), + int (**pdecrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_derive(const EVP_PKEY_METHOD *pmeth, + int (**pderive_init) (EVP_PKEY_CTX *ctx), + int (**pderive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth, + int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (**pctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth, + int (**pcheck) (EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_public_check(const EVP_PKEY_METHOD *pmeth, + int (**pcheck) (EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_param_check(const EVP_PKEY_METHOD *pmeth, + int (**pcheck) (EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_digest_custom(EVP_PKEY_METHOD *pmeth, + int (**pdigest_custom) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx)); +void EVP_add_alg_module(void); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/evperr.h b/openssl/1.1/include/openssl/evperr.h new file mode 100644 index 0000000..3484fa8 --- /dev/null +++ b/openssl/1.1/include/openssl/evperr.h @@ -0,0 +1,193 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_EVPERR_H +# define HEADER_EVPERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_EVP_strings(void); + +/* + * EVP function codes. + */ +# define EVP_F_AESNI_INIT_KEY 165 +# define EVP_F_AES_GCM_CTRL 196 +# define EVP_F_AES_INIT_KEY 133 +# define EVP_F_AES_OCB_CIPHER 169 +# define EVP_F_AES_T4_INIT_KEY 178 +# define EVP_F_AES_WRAP_CIPHER 170 +# define EVP_F_ALG_MODULE_INIT 177 +# define EVP_F_ARIA_CCM_INIT_KEY 175 +# define EVP_F_ARIA_GCM_CTRL 197 +# define EVP_F_ARIA_GCM_INIT_KEY 176 +# define EVP_F_ARIA_INIT_KEY 185 +# define EVP_F_B64_NEW 198 +# define EVP_F_CAMELLIA_INIT_KEY 159 +# define EVP_F_CHACHA20_POLY1305_CTRL 182 +# define EVP_F_CMLL_T4_INIT_KEY 179 +# define EVP_F_DES_EDE3_WRAP_CIPHER 171 +# define EVP_F_DO_SIGVER_INIT 161 +# define EVP_F_ENC_NEW 199 +# define EVP_F_EVP_CIPHERINIT_EX 123 +# define EVP_F_EVP_CIPHER_ASN1_TO_PARAM 204 +# define EVP_F_EVP_CIPHER_CTX_COPY 163 +# define EVP_F_EVP_CIPHER_CTX_CTRL 124 +# define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 +# define EVP_F_EVP_CIPHER_PARAM_TO_ASN1 205 +# define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DECRYPTUPDATE 166 +# define EVP_F_EVP_DIGESTFINALXOF 174 +# define EVP_F_EVP_DIGESTINIT_EX 128 +# define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_ENCRYPTUPDATE 167 +# define EVP_F_EVP_MD_CTX_COPY_EX 110 +# define EVP_F_EVP_MD_SIZE 162 +# define EVP_F_EVP_OPENINIT 102 +# define EVP_F_EVP_PBE_ALG_ADD 115 +# define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 +# define EVP_F_EVP_PBE_CIPHERINIT 116 +# define EVP_F_EVP_PBE_SCRYPT 181 +# define EVP_F_EVP_PKCS82PKEY 111 +# define EVP_F_EVP_PKEY2PKCS8 113 +# define EVP_F_EVP_PKEY_ASN1_ADD0 188 +# define EVP_F_EVP_PKEY_CHECK 186 +# define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 +# define EVP_F_EVP_PKEY_CTX_CTRL 137 +# define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 +# define EVP_F_EVP_PKEY_CTX_DUP 156 +# define EVP_F_EVP_PKEY_CTX_MD 168 +# define EVP_F_EVP_PKEY_DECRYPT 104 +# define EVP_F_EVP_PKEY_DECRYPT_INIT 138 +# define EVP_F_EVP_PKEY_DECRYPT_OLD 151 +# define EVP_F_EVP_PKEY_DERIVE 153 +# define EVP_F_EVP_PKEY_DERIVE_INIT 154 +# define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 +# define EVP_F_EVP_PKEY_ENCRYPT 105 +# define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 +# define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 +# define EVP_F_EVP_PKEY_GET0_DH 119 +# define EVP_F_EVP_PKEY_GET0_DSA 120 +# define EVP_F_EVP_PKEY_GET0_EC_KEY 131 +# define EVP_F_EVP_PKEY_GET0_HMAC 183 +# define EVP_F_EVP_PKEY_GET0_POLY1305 184 +# define EVP_F_EVP_PKEY_GET0_RSA 121 +# define EVP_F_EVP_PKEY_GET0_SIPHASH 172 +# define EVP_F_EVP_PKEY_GET_RAW_PRIVATE_KEY 202 +# define EVP_F_EVP_PKEY_GET_RAW_PUBLIC_KEY 203 +# define EVP_F_EVP_PKEY_KEYGEN 146 +# define EVP_F_EVP_PKEY_KEYGEN_INIT 147 +# define EVP_F_EVP_PKEY_METH_ADD0 194 +# define EVP_F_EVP_PKEY_METH_NEW 195 +# define EVP_F_EVP_PKEY_NEW 106 +# define EVP_F_EVP_PKEY_NEW_CMAC_KEY 193 +# define EVP_F_EVP_PKEY_NEW_RAW_PRIVATE_KEY 191 +# define EVP_F_EVP_PKEY_NEW_RAW_PUBLIC_KEY 192 +# define EVP_F_EVP_PKEY_PARAMGEN 148 +# define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 +# define EVP_F_EVP_PKEY_PARAM_CHECK 189 +# define EVP_F_EVP_PKEY_PUBLIC_CHECK 190 +# define EVP_F_EVP_PKEY_SET1_ENGINE 187 +# define EVP_F_EVP_PKEY_SET_ALIAS_TYPE 206 +# define EVP_F_EVP_PKEY_SIGN 140 +# define EVP_F_EVP_PKEY_SIGN_INIT 141 +# define EVP_F_EVP_PKEY_VERIFY 142 +# define EVP_F_EVP_PKEY_VERIFY_INIT 143 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 +# define EVP_F_EVP_SIGNFINAL 107 +# define EVP_F_EVP_VERIFYFINAL 108 +# define EVP_F_INT_CTX_NEW 157 +# define EVP_F_OK_NEW 200 +# define EVP_F_PKCS5_PBE_KEYIVGEN 117 +# define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 +# define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 +# define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180 +# define EVP_F_PKEY_SET_TYPE 158 +# define EVP_F_RC2_MAGIC_TO_METH 109 +# define EVP_F_RC5_CTRL 125 +# define EVP_F_S390X_AES_GCM_CTRL 201 +# define EVP_F_UPDATE 173 + +/* + * EVP reason codes. + */ +# define EVP_R_AES_KEY_SETUP_FAILED 143 +# define EVP_R_ARIA_KEY_SETUP_FAILED 176 +# define EVP_R_BAD_DECRYPT 100 +# define EVP_R_BUFFER_TOO_SMALL 155 +# define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 +# define EVP_R_CIPHER_PARAMETER_ERROR 122 +# define EVP_R_COMMAND_NOT_SUPPORTED 147 +# define EVP_R_COPY_ERROR 173 +# define EVP_R_CTRL_NOT_IMPLEMENTED 132 +# define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 +# define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 +# define EVP_R_DECODE_ERROR 114 +# define EVP_R_DIFFERENT_KEY_TYPES 101 +# define EVP_R_DIFFERENT_PARAMETERS 153 +# define EVP_R_ERROR_LOADING_SECTION 165 +# define EVP_R_ERROR_SETTING_FIPS_MODE 166 +# define EVP_R_EXPECTING_AN_HMAC_KEY 174 +# define EVP_R_EXPECTING_AN_RSA_KEY 127 +# define EVP_R_EXPECTING_A_DH_KEY 128 +# define EVP_R_EXPECTING_A_DSA_KEY 129 +# define EVP_R_EXPECTING_A_EC_KEY 142 +# define EVP_R_EXPECTING_A_POLY1305_KEY 164 +# define EVP_R_EXPECTING_A_SIPHASH_KEY 175 +# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 +# define EVP_R_GET_RAW_KEY_FAILED 182 +# define EVP_R_ILLEGAL_SCRYPT_PARAMETERS 171 +# define EVP_R_INITIALIZATION_ERROR 134 +# define EVP_R_INPUT_NOT_INITIALIZED 111 +# define EVP_R_INVALID_DIGEST 152 +# define EVP_R_INVALID_FIPS_MODE 168 +# define EVP_R_INVALID_KEY 163 +# define EVP_R_INVALID_KEY_LENGTH 130 +# define EVP_R_INVALID_OPERATION 148 +# define EVP_R_KEYGEN_FAILURE 120 +# define EVP_R_KEY_SETUP_FAILED 180 +# define EVP_R_MEMORY_LIMIT_EXCEEDED 172 +# define EVP_R_MESSAGE_DIGEST_IS_NULL 159 +# define EVP_R_METHOD_NOT_SUPPORTED 144 +# define EVP_R_MISSING_PARAMETERS 103 +# define EVP_R_NOT_XOF_OR_INVALID_LENGTH 178 +# define EVP_R_NO_CIPHER_SET 131 +# define EVP_R_NO_DEFAULT_DIGEST 158 +# define EVP_R_NO_DIGEST_SET 139 +# define EVP_R_NO_KEY_SET 154 +# define EVP_R_NO_OPERATION_SET 149 +# define EVP_R_ONLY_ONESHOT_SUPPORTED 177 +# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 +# define EVP_R_OPERATON_NOT_INITIALIZED 151 +# define EVP_R_PARTIALLY_OVERLAPPING 162 +# define EVP_R_PBKDF2_ERROR 181 +# define EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED 179 +# define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 +# define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 +# define EVP_R_PUBLIC_KEY_NOT_RSA 106 +# define EVP_R_UNKNOWN_CIPHER 160 +# define EVP_R_UNKNOWN_DIGEST 161 +# define EVP_R_UNKNOWN_OPTION 169 +# define EVP_R_UNKNOWN_PBE_ALGORITHM 121 +# define EVP_R_UNSUPPORTED_ALGORITHM 156 +# define EVP_R_UNSUPPORTED_CIPHER 107 +# define EVP_R_UNSUPPORTED_KEYLENGTH 123 +# define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 +# define EVP_R_UNSUPPORTED_KEY_SIZE 108 +# define EVP_R_UNSUPPORTED_NUMBER_OF_ROUNDS 135 +# define EVP_R_UNSUPPORTED_PRF 125 +# define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 +# define EVP_R_UNSUPPORTED_SALT_TYPE 126 +# define EVP_R_WRAP_MODE_NOT_ALLOWED 170 +# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 + +#endif diff --git a/openssl/1.1/include/openssl/hmac.h b/openssl/1.1/include/openssl/hmac.h new file mode 100644 index 0000000..458efc1 --- /dev/null +++ b/openssl/1.1/include/openssl/hmac.h @@ -0,0 +1,51 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_HMAC_H +# define HEADER_HMAC_H + +# include + +# include + +# if OPENSSL_API_COMPAT < 0x10200000L +# define HMAC_MAX_MD_CBLOCK 128 /* Deprecated */ +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +size_t HMAC_size(const HMAC_CTX *e); +HMAC_CTX *HMAC_CTX_new(void); +int HMAC_CTX_reset(HMAC_CTX *ctx); +void HMAC_CTX_free(HMAC_CTX *ctx); + +DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md)) + +/*__owur*/ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md, ENGINE *impl); +/*__owur*/ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, + size_t len); +/*__owur*/ int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, + unsigned int *len); +unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, + const unsigned char *d, size_t n, unsigned char *md, + unsigned int *md_len); +__owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); + +void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); +const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/idea.h b/openssl/1.1/include/openssl/idea.h new file mode 100644 index 0000000..4334f3e --- /dev/null +++ b/openssl/1.1/include/openssl/idea.h @@ -0,0 +1,64 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_IDEA_H +# define HEADER_IDEA_H + +# include + +# ifndef OPENSSL_NO_IDEA +# ifdef __cplusplus +extern "C" { +# endif + +typedef unsigned int IDEA_INT; + +# define IDEA_ENCRYPT 1 +# define IDEA_DECRYPT 0 + +# define IDEA_BLOCK 8 +# define IDEA_KEY_LENGTH 16 + +typedef struct idea_key_st { + IDEA_INT data[9][6]; +} IDEA_KEY_SCHEDULE; + +const char *IDEA_options(void); +void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, + IDEA_KEY_SCHEDULE *ks); +void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); +void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); +void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int enc); +void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num, int enc); +void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num); +void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define idea_options IDEA_options +# define idea_ecb_encrypt IDEA_ecb_encrypt +# define idea_set_encrypt_key IDEA_set_encrypt_key +# define idea_set_decrypt_key IDEA_set_decrypt_key +# define idea_cbc_encrypt IDEA_cbc_encrypt +# define idea_cfb64_encrypt IDEA_cfb64_encrypt +# define idea_ofb64_encrypt IDEA_ofb64_encrypt +# define idea_encrypt IDEA_encrypt +# endif + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/kdf.h b/openssl/1.1/include/openssl/kdf.h new file mode 100644 index 0000000..5abd4c3 --- /dev/null +++ b/openssl/1.1/include/openssl/kdf.h @@ -0,0 +1,97 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_KDF_H +# define HEADER_KDF_H + +# include +#ifdef __cplusplus +extern "C" { +#endif + +# define EVP_PKEY_CTRL_TLS_MD (EVP_PKEY_ALG_CTRL) +# define EVP_PKEY_CTRL_TLS_SECRET (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_TLS_SEED (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_HKDF_MD (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_HKDF_SALT (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_HKDF_KEY (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_HKDF_INFO (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_HKDF_MODE (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_PASS (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_SCRYPT_SALT (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_SCRYPT_N (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_SCRYPT_R (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_SCRYPT_P (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_SCRYPT_MAXMEM_BYTES (EVP_PKEY_ALG_CTRL + 13) + +# define EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND 0 +# define EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY 1 +# define EVP_PKEY_HKDEF_MODE_EXPAND_ONLY 2 + +# define EVP_PKEY_CTX_set_tls1_prf_md(pctx, md) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_set1_tls1_prf_secret(pctx, sec, seclen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_SECRET, seclen, (void *)(sec)) + +# define EVP_PKEY_CTX_add1_tls1_prf_seed(pctx, seed, seedlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_SEED, seedlen, (void *)(seed)) + +# define EVP_PKEY_CTX_set_hkdf_md(pctx, md) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_set1_hkdf_salt(pctx, salt, saltlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_SALT, saltlen, (void *)(salt)) + +# define EVP_PKEY_CTX_set1_hkdf_key(pctx, key, keylen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_KEY, keylen, (void *)(key)) + +# define EVP_PKEY_CTX_add1_hkdf_info(pctx, info, infolen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_INFO, infolen, (void *)(info)) + +# define EVP_PKEY_CTX_hkdf_mode(pctx, mode) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_MODE, mode, NULL) + +# define EVP_PKEY_CTX_set1_pbe_pass(pctx, pass, passlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_PASS, passlen, (void *)(pass)) + +# define EVP_PKEY_CTX_set1_scrypt_salt(pctx, salt, saltlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_SCRYPT_SALT, saltlen, (void *)(salt)) + +# define EVP_PKEY_CTX_set_scrypt_N(pctx, n) \ + EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_SCRYPT_N, n) + +# define EVP_PKEY_CTX_set_scrypt_r(pctx, r) \ + EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_SCRYPT_R, r) + +# define EVP_PKEY_CTX_set_scrypt_p(pctx, p) \ + EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_SCRYPT_P, p) + +# define EVP_PKEY_CTX_set_scrypt_maxmem_bytes(pctx, maxmem_bytes) \ + EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_SCRYPT_MAXMEM_BYTES, maxmem_bytes) + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/kdferr.h b/openssl/1.1/include/openssl/kdferr.h new file mode 100644 index 0000000..6437c27 --- /dev/null +++ b/openssl/1.1/include/openssl/kdferr.h @@ -0,0 +1,51 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_KDFERR_H +# define HEADER_KDFERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_KDF_strings(void); + +/* + * KDF function codes. + */ +# define KDF_F_PKEY_HKDF_CTRL_STR 103 +# define KDF_F_PKEY_HKDF_DERIVE 102 +# define KDF_F_PKEY_HKDF_INIT 108 +# define KDF_F_PKEY_SCRYPT_CTRL_STR 104 +# define KDF_F_PKEY_SCRYPT_CTRL_UINT64 105 +# define KDF_F_PKEY_SCRYPT_DERIVE 109 +# define KDF_F_PKEY_SCRYPT_INIT 106 +# define KDF_F_PKEY_SCRYPT_SET_MEMBUF 107 +# define KDF_F_PKEY_TLS1_PRF_CTRL_STR 100 +# define KDF_F_PKEY_TLS1_PRF_DERIVE 101 +# define KDF_F_PKEY_TLS1_PRF_INIT 110 +# define KDF_F_TLS1_PRF_ALG 111 + +/* + * KDF reason codes. + */ +# define KDF_R_INVALID_DIGEST 100 +# define KDF_R_MISSING_ITERATION_COUNT 109 +# define KDF_R_MISSING_KEY 104 +# define KDF_R_MISSING_MESSAGE_DIGEST 105 +# define KDF_R_MISSING_PARAMETER 101 +# define KDF_R_MISSING_PASS 110 +# define KDF_R_MISSING_SALT 111 +# define KDF_R_MISSING_SECRET 107 +# define KDF_R_MISSING_SEED 106 +# define KDF_R_UNKNOWN_PARAMETER_TYPE 103 +# define KDF_R_VALUE_ERROR 108 +# define KDF_R_VALUE_MISSING 102 + +#endif diff --git a/openssl/1.1/include/openssl/lhash.h b/openssl/1.1/include/openssl/lhash.h new file mode 100644 index 0000000..88d7d97 --- /dev/null +++ b/openssl/1.1/include/openssl/lhash.h @@ -0,0 +1,217 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Header for dynamic hash table routines Author - Eric Young + */ + +#ifndef HEADER_LHASH_H +# define HEADER_LHASH_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct lhash_node_st OPENSSL_LH_NODE; +typedef int (*OPENSSL_LH_COMPFUNC) (const void *, const void *); +typedef unsigned long (*OPENSSL_LH_HASHFUNC) (const void *); +typedef void (*OPENSSL_LH_DOALL_FUNC) (void *); +typedef void (*OPENSSL_LH_DOALL_FUNCARG) (void *, void *); +typedef struct lhash_st OPENSSL_LHASH; + +/* + * Macros for declaring and implementing type-safe wrappers for LHASH + * callbacks. This way, callbacks can be provided to LHASH structures without + * function pointer casting and the macro-defined callbacks provide + * per-variable casting before deferring to the underlying type-specific + * callbacks. NB: It is possible to place a "static" in front of both the + * DECLARE and IMPLEMENT macros if the functions are strictly internal. + */ + +/* First: "hash" functions */ +# define DECLARE_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *); +# define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *arg) { \ + const o_type *a = arg; \ + return name##_hash(a); } +# define LHASH_HASH_FN(name) name##_LHASH_HASH + +/* Second: "compare" functions */ +# define DECLARE_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *, const void *); +# define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ + const o_type *a = arg1; \ + const o_type *b = arg2; \ + return name##_cmp(a,b); } +# define LHASH_COMP_FN(name) name##_LHASH_COMP + +/* Fourth: "doall_arg" functions */ +# define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *, void *); +# define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ + o_type *a = arg1; \ + a_type *b = arg2; \ + name##_doall_arg(a, b); } +# define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG + + +# define LH_LOAD_MULT 256 + +int OPENSSL_LH_error(OPENSSL_LHASH *lh); +OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC c); +void OPENSSL_LH_free(OPENSSL_LHASH *lh); +void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data); +void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data); +void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data); +void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func); +void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg); +unsigned long OPENSSL_LH_strhash(const char *c); +unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh); +unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh); +void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load); + +# ifndef OPENSSL_NO_STDIO +void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp); +void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp); +void OPENSSL_LH_node_usage_stats(const OPENSSL_LHASH *lh, FILE *fp); +# endif +void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out); +void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out); +void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define _LHASH OPENSSL_LHASH +# define LHASH_NODE OPENSSL_LH_NODE +# define lh_error OPENSSL_LH_error +# define lh_new OPENSSL_LH_new +# define lh_free OPENSSL_LH_free +# define lh_insert OPENSSL_LH_insert +# define lh_delete OPENSSL_LH_delete +# define lh_retrieve OPENSSL_LH_retrieve +# define lh_doall OPENSSL_LH_doall +# define lh_doall_arg OPENSSL_LH_doall_arg +# define lh_strhash OPENSSL_LH_strhash +# define lh_num_items OPENSSL_LH_num_items +# ifndef OPENSSL_NO_STDIO +# define lh_stats OPENSSL_LH_stats +# define lh_node_stats OPENSSL_LH_node_stats +# define lh_node_usage_stats OPENSSL_LH_node_usage_stats +# endif +# define lh_stats_bio OPENSSL_LH_stats_bio +# define lh_node_stats_bio OPENSSL_LH_node_stats_bio +# define lh_node_usage_stats_bio OPENSSL_LH_node_usage_stats_bio +# endif + +/* Type checking... */ + +# define LHASH_OF(type) struct lhash_st_##type + +# define DEFINE_LHASH_OF(type) \ + LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \ + static ossl_inline LHASH_OF(type) * \ + lh_##type##_new(unsigned long (*hfn)(const type *), \ + int (*cfn)(const type *, const type *)) \ + { \ + return (LHASH_OF(type) *) \ + OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \ + } \ + static ossl_inline void lh_##type##_free(LHASH_OF(type) *lh) \ + { \ + OPENSSL_LH_free((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline type *lh_##type##_insert(LHASH_OF(type) *lh, type *d) \ + { \ + return (type *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_inline type *lh_##type##_delete(LHASH_OF(type) *lh, const type *d) \ + { \ + return (type *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_inline type *lh_##type##_retrieve(LHASH_OF(type) *lh, const type *d) \ + { \ + return (type *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_inline int lh_##type##_error(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_error((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline unsigned long lh_##type##_num_items(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline void lh_##type##_node_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_node_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_inline void lh_##type##_node_usage_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_node_usage_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_inline void lh_##type##_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_inline unsigned long lh_##type##_get_down_load(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline void lh_##type##_set_down_load(LHASH_OF(type) *lh, unsigned long dl) \ + { \ + OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl); \ + } \ + static ossl_inline void lh_##type##_doall(LHASH_OF(type) *lh, \ + void (*doall)(type *)) \ + { \ + OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNC)doall); \ + } \ + LHASH_OF(type) + +#define IMPLEMENT_LHASH_DOALL_ARG_CONST(type, argtype) \ + int_implement_lhash_doall(type, argtype, const type) + +#define IMPLEMENT_LHASH_DOALL_ARG(type, argtype) \ + int_implement_lhash_doall(type, argtype, type) + +#define int_implement_lhash_doall(type, argtype, cbargtype) \ + static ossl_inline void \ + lh_##type##_doall_##argtype(LHASH_OF(type) *lh, \ + void (*fn)(cbargtype *, argtype *), \ + argtype *arg) \ + { \ + OPENSSL_LH_doall_arg((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNCARG)fn, (void *)arg); \ + } \ + LHASH_OF(type) + +DEFINE_LHASH_OF(OPENSSL_STRING); +# ifdef _MSC_VER +/* + * push and pop this warning: + * warning C4090: 'function': different 'const' qualifiers + */ +# pragma warning (push) +# pragma warning (disable: 4090) +# endif + +DEFINE_LHASH_OF(OPENSSL_CSTRING); + +# ifdef _MSC_VER +# pragma warning (pop) +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/md2.h b/openssl/1.1/include/openssl/md2.h new file mode 100644 index 0000000..7faf8e3 --- /dev/null +++ b/openssl/1.1/include/openssl/md2.h @@ -0,0 +1,44 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MD2_H +# define HEADER_MD2_H + +# include + +# ifndef OPENSSL_NO_MD2 +# include +# ifdef __cplusplus +extern "C" { +# endif + +typedef unsigned char MD2_INT; + +# define MD2_DIGEST_LENGTH 16 +# define MD2_BLOCK 16 + +typedef struct MD2state_st { + unsigned int num; + unsigned char data[MD2_BLOCK]; + MD2_INT cksm[MD2_BLOCK]; + MD2_INT state[MD2_BLOCK]; +} MD2_CTX; + +const char *MD2_options(void); +int MD2_Init(MD2_CTX *c); +int MD2_Update(MD2_CTX *c, const unsigned char *data, size_t len); +int MD2_Final(unsigned char *md, MD2_CTX *c); +unsigned char *MD2(const unsigned char *d, size_t n, unsigned char *md); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/md4.h b/openssl/1.1/include/openssl/md4.h new file mode 100644 index 0000000..940e29d --- /dev/null +++ b/openssl/1.1/include/openssl/md4.h @@ -0,0 +1,51 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MD4_H +# define HEADER_MD4_H + +# include + +# ifndef OPENSSL_NO_MD4 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD4_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define MD4_LONG unsigned int + +# define MD4_CBLOCK 64 +# define MD4_LBLOCK (MD4_CBLOCK/4) +# define MD4_DIGEST_LENGTH 16 + +typedef struct MD4state_st { + MD4_LONG A, B, C, D; + MD4_LONG Nl, Nh; + MD4_LONG data[MD4_LBLOCK]; + unsigned int num; +} MD4_CTX; + +int MD4_Init(MD4_CTX *c); +int MD4_Update(MD4_CTX *c, const void *data, size_t len); +int MD4_Final(unsigned char *md, MD4_CTX *c); +unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); +void MD4_Transform(MD4_CTX *c, const unsigned char *b); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/md5.h b/openssl/1.1/include/openssl/md5.h new file mode 100644 index 0000000..2deb772 --- /dev/null +++ b/openssl/1.1/include/openssl/md5.h @@ -0,0 +1,50 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MD5_H +# define HEADER_MD5_H + +# include + +# ifndef OPENSSL_NO_MD5 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD5_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define MD5_LONG unsigned int + +# define MD5_CBLOCK 64 +# define MD5_LBLOCK (MD5_CBLOCK/4) +# define MD5_DIGEST_LENGTH 16 + +typedef struct MD5state_st { + MD5_LONG A, B, C, D; + MD5_LONG Nl, Nh; + MD5_LONG data[MD5_LBLOCK]; + unsigned int num; +} MD5_CTX; + +int MD5_Init(MD5_CTX *c); +int MD5_Update(MD5_CTX *c, const void *data, size_t len); +int MD5_Final(unsigned char *md, MD5_CTX *c); +unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); +void MD5_Transform(MD5_CTX *c, const unsigned char *b); +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/mdc2.h b/openssl/1.1/include/openssl/mdc2.h new file mode 100644 index 0000000..aabd2bf --- /dev/null +++ b/openssl/1.1/include/openssl/mdc2.h @@ -0,0 +1,42 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MDC2_H +# define HEADER_MDC2_H + +# include + +#ifndef OPENSSL_NO_MDC2 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define MDC2_BLOCK 8 +# define MDC2_DIGEST_LENGTH 16 + +typedef struct mdc2_ctx_st { + unsigned int num; + unsigned char data[MDC2_BLOCK]; + DES_cblock h, hh; + int pad_type; /* either 1 or 2, default 1 */ +} MDC2_CTX; + +int MDC2_Init(MDC2_CTX *c); +int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); +int MDC2_Final(unsigned char *md, MDC2_CTX *c); +unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/modes.h b/openssl/1.1/include/openssl/modes.h new file mode 100644 index 0000000..d544f98 --- /dev/null +++ b/openssl/1.1/include/openssl/modes.h @@ -0,0 +1,208 @@ +/* + * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MODES_H +# define HEADER_MODES_H + +# include + +# ifdef __cplusplus +extern "C" { +# endif +typedef void (*block128_f) (const unsigned char in[16], + unsigned char out[16], const void *key); + +typedef void (*cbc128_f) (const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int enc); + +typedef void (*ctr128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16]); + +typedef void (*ccm128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16], + unsigned char cmac[16]); + +void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); +void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); + +void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], unsigned int *num, + block128_f block); + +void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], + unsigned int *num, ctr128_f ctr); + +void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + block128_f block); + +void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, + size_t bits, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); + +size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +typedef struct gcm128_context GCM128_CONTEXT; + +GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); +void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block); +void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, + size_t len); +int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); +void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); + +typedef struct ccm128_context CCM128_CONTEXT; + +void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, + unsigned int M, unsigned int L, void *key, + block128_f block); +int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, const unsigned char *nonce, + size_t nlen, size_t mlen); +void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, const unsigned char *aad, + size_t alen); +int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); + +typedef struct xts128_context XTS128_CONTEXT; + +int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, + const unsigned char iv[16], + const unsigned char *inp, unsigned char *out, + size_t len, int enc); + +size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); + +size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); +size_t CRYPTO_128_wrap_pad(void *key, const unsigned char *icv, + unsigned char *out, const unsigned char *in, + size_t inlen, block128_f block); +size_t CRYPTO_128_unwrap_pad(void *key, const unsigned char *icv, + unsigned char *out, const unsigned char *in, + size_t inlen, block128_f block); + +# ifndef OPENSSL_NO_OCB +typedef struct ocb128_context OCB128_CONTEXT; + +typedef void (*ocb128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + size_t start_block_num, + unsigned char offset_i[16], + const unsigned char L_[][16], + unsigned char checksum[16]); + +OCB128_CONTEXT *CRYPTO_ocb128_new(void *keyenc, void *keydec, + block128_f encrypt, block128_f decrypt, + ocb128_f stream); +int CRYPTO_ocb128_init(OCB128_CONTEXT *ctx, void *keyenc, void *keydec, + block128_f encrypt, block128_f decrypt, + ocb128_f stream); +int CRYPTO_ocb128_copy_ctx(OCB128_CONTEXT *dest, OCB128_CONTEXT *src, + void *keyenc, void *keydec); +int CRYPTO_ocb128_setiv(OCB128_CONTEXT *ctx, const unsigned char *iv, + size_t len, size_t taglen); +int CRYPTO_ocb128_aad(OCB128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx, const unsigned char *in, + unsigned char *out, size_t len); +int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx, const unsigned char *in, + unsigned char *out, size_t len); +int CRYPTO_ocb128_finish(OCB128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +int CRYPTO_ocb128_tag(OCB128_CONTEXT *ctx, unsigned char *tag, size_t len); +void CRYPTO_ocb128_cleanup(OCB128_CONTEXT *ctx); +# endif /* OPENSSL_NO_OCB */ + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/openssl/1.1/include/openssl/obj_mac.h b/openssl/1.1/include/openssl/obj_mac.h new file mode 100644 index 0000000..80ff5a7 --- /dev/null +++ b/openssl/1.1/include/openssl/obj_mac.h @@ -0,0 +1,5198 @@ +/* + * WARNING: do not edit! + * Generated by crypto/objects/objects.pl + * + * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#define SN_undef "UNDEF" +#define LN_undef "undefined" +#define NID_undef 0 +#define OBJ_undef 0L + +#define SN_itu_t "ITU-T" +#define LN_itu_t "itu-t" +#define NID_itu_t 645 +#define OBJ_itu_t 0L + +#define NID_ccitt 404 +#define OBJ_ccitt OBJ_itu_t + +#define SN_iso "ISO" +#define LN_iso "iso" +#define NID_iso 181 +#define OBJ_iso 1L + +#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" +#define LN_joint_iso_itu_t "joint-iso-itu-t" +#define NID_joint_iso_itu_t 646 +#define OBJ_joint_iso_itu_t 2L + +#define NID_joint_iso_ccitt 393 +#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t + +#define SN_member_body "member-body" +#define LN_member_body "ISO Member Body" +#define NID_member_body 182 +#define OBJ_member_body OBJ_iso,2L + +#define SN_identified_organization "identified-organization" +#define NID_identified_organization 676 +#define OBJ_identified_organization OBJ_iso,3L + +#define SN_hmac_md5 "HMAC-MD5" +#define LN_hmac_md5 "hmac-md5" +#define NID_hmac_md5 780 +#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L + +#define SN_hmac_sha1 "HMAC-SHA1" +#define LN_hmac_sha1 "hmac-sha1" +#define NID_hmac_sha1 781 +#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L + +#define SN_x509ExtAdmission "x509ExtAdmission" +#define LN_x509ExtAdmission "Professional Information or basis for Admission" +#define NID_x509ExtAdmission 1093 +#define OBJ_x509ExtAdmission OBJ_identified_organization,36L,8L,3L,3L + +#define SN_certicom_arc "certicom-arc" +#define NID_certicom_arc 677 +#define OBJ_certicom_arc OBJ_identified_organization,132L + +#define SN_ieee "ieee" +#define NID_ieee 1170 +#define OBJ_ieee OBJ_identified_organization,111L + +#define SN_ieee_siswg "ieee-siswg" +#define LN_ieee_siswg "IEEE Security in Storage Working Group" +#define NID_ieee_siswg 1171 +#define OBJ_ieee_siswg OBJ_ieee,2L,1619L + +#define SN_international_organizations "international-organizations" +#define LN_international_organizations "International Organizations" +#define NID_international_organizations 647 +#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L + +#define SN_wap "wap" +#define NID_wap 678 +#define OBJ_wap OBJ_international_organizations,43L + +#define SN_wap_wsg "wap-wsg" +#define NID_wap_wsg 679 +#define OBJ_wap_wsg OBJ_wap,1L + +#define SN_selected_attribute_types "selected-attribute-types" +#define LN_selected_attribute_types "Selected Attribute Types" +#define NID_selected_attribute_types 394 +#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L + +#define SN_clearance "clearance" +#define NID_clearance 395 +#define OBJ_clearance OBJ_selected_attribute_types,55L + +#define SN_ISO_US "ISO-US" +#define LN_ISO_US "ISO US Member Body" +#define NID_ISO_US 183 +#define OBJ_ISO_US OBJ_member_body,840L + +#define SN_X9_57 "X9-57" +#define LN_X9_57 "X9.57" +#define NID_X9_57 184 +#define OBJ_X9_57 OBJ_ISO_US,10040L + +#define SN_X9cm "X9cm" +#define LN_X9cm "X9.57 CM ?" +#define NID_X9cm 185 +#define OBJ_X9cm OBJ_X9_57,4L + +#define SN_ISO_CN "ISO-CN" +#define LN_ISO_CN "ISO CN Member Body" +#define NID_ISO_CN 1140 +#define OBJ_ISO_CN OBJ_member_body,156L + +#define SN_oscca "oscca" +#define NID_oscca 1141 +#define OBJ_oscca OBJ_ISO_CN,10197L + +#define SN_sm_scheme "sm-scheme" +#define NID_sm_scheme 1142 +#define OBJ_sm_scheme OBJ_oscca,1L + +#define SN_dsa "DSA" +#define LN_dsa "dsaEncryption" +#define NID_dsa 116 +#define OBJ_dsa OBJ_X9cm,1L + +#define SN_dsaWithSHA1 "DSA-SHA1" +#define LN_dsaWithSHA1 "dsaWithSHA1" +#define NID_dsaWithSHA1 113 +#define OBJ_dsaWithSHA1 OBJ_X9cm,3L + +#define SN_ansi_X9_62 "ansi-X9-62" +#define LN_ansi_X9_62 "ANSI X9.62" +#define NID_ansi_X9_62 405 +#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L + +#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L + +#define SN_X9_62_prime_field "prime-field" +#define NID_X9_62_prime_field 406 +#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L + +#define SN_X9_62_characteristic_two_field "characteristic-two-field" +#define NID_X9_62_characteristic_two_field 407 +#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L + +#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" +#define NID_X9_62_id_characteristic_two_basis 680 +#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L + +#define SN_X9_62_onBasis "onBasis" +#define NID_X9_62_onBasis 681 +#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L + +#define SN_X9_62_tpBasis "tpBasis" +#define NID_X9_62_tpBasis 682 +#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L + +#define SN_X9_62_ppBasis "ppBasis" +#define NID_X9_62_ppBasis 683 +#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L + +#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L + +#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" +#define NID_X9_62_id_ecPublicKey 408 +#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L + +#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L + +#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L + +#define SN_X9_62_c2pnb163v1 "c2pnb163v1" +#define NID_X9_62_c2pnb163v1 684 +#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L + +#define SN_X9_62_c2pnb163v2 "c2pnb163v2" +#define NID_X9_62_c2pnb163v2 685 +#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L + +#define SN_X9_62_c2pnb163v3 "c2pnb163v3" +#define NID_X9_62_c2pnb163v3 686 +#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L + +#define SN_X9_62_c2pnb176v1 "c2pnb176v1" +#define NID_X9_62_c2pnb176v1 687 +#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L + +#define SN_X9_62_c2tnb191v1 "c2tnb191v1" +#define NID_X9_62_c2tnb191v1 688 +#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L + +#define SN_X9_62_c2tnb191v2 "c2tnb191v2" +#define NID_X9_62_c2tnb191v2 689 +#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L + +#define SN_X9_62_c2tnb191v3 "c2tnb191v3" +#define NID_X9_62_c2tnb191v3 690 +#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L + +#define SN_X9_62_c2onb191v4 "c2onb191v4" +#define NID_X9_62_c2onb191v4 691 +#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L + +#define SN_X9_62_c2onb191v5 "c2onb191v5" +#define NID_X9_62_c2onb191v5 692 +#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L + +#define SN_X9_62_c2pnb208w1 "c2pnb208w1" +#define NID_X9_62_c2pnb208w1 693 +#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L + +#define SN_X9_62_c2tnb239v1 "c2tnb239v1" +#define NID_X9_62_c2tnb239v1 694 +#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L + +#define SN_X9_62_c2tnb239v2 "c2tnb239v2" +#define NID_X9_62_c2tnb239v2 695 +#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L + +#define SN_X9_62_c2tnb239v3 "c2tnb239v3" +#define NID_X9_62_c2tnb239v3 696 +#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L + +#define SN_X9_62_c2onb239v4 "c2onb239v4" +#define NID_X9_62_c2onb239v4 697 +#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L + +#define SN_X9_62_c2onb239v5 "c2onb239v5" +#define NID_X9_62_c2onb239v5 698 +#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L + +#define SN_X9_62_c2pnb272w1 "c2pnb272w1" +#define NID_X9_62_c2pnb272w1 699 +#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L + +#define SN_X9_62_c2pnb304w1 "c2pnb304w1" +#define NID_X9_62_c2pnb304w1 700 +#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L + +#define SN_X9_62_c2tnb359v1 "c2tnb359v1" +#define NID_X9_62_c2tnb359v1 701 +#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L + +#define SN_X9_62_c2pnb368w1 "c2pnb368w1" +#define NID_X9_62_c2pnb368w1 702 +#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L + +#define SN_X9_62_c2tnb431r1 "c2tnb431r1" +#define NID_X9_62_c2tnb431r1 703 +#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L + +#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L + +#define SN_X9_62_prime192v1 "prime192v1" +#define NID_X9_62_prime192v1 409 +#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L + +#define SN_X9_62_prime192v2 "prime192v2" +#define NID_X9_62_prime192v2 410 +#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L + +#define SN_X9_62_prime192v3 "prime192v3" +#define NID_X9_62_prime192v3 411 +#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L + +#define SN_X9_62_prime239v1 "prime239v1" +#define NID_X9_62_prime239v1 412 +#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L + +#define SN_X9_62_prime239v2 "prime239v2" +#define NID_X9_62_prime239v2 413 +#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L + +#define SN_X9_62_prime239v3 "prime239v3" +#define NID_X9_62_prime239v3 414 +#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L + +#define SN_X9_62_prime256v1 "prime256v1" +#define NID_X9_62_prime256v1 415 +#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L + +#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L + +#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" +#define NID_ecdsa_with_SHA1 416 +#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L + +#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" +#define NID_ecdsa_with_Recommended 791 +#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L + +#define SN_ecdsa_with_Specified "ecdsa-with-Specified" +#define NID_ecdsa_with_Specified 792 +#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L + +#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" +#define NID_ecdsa_with_SHA224 793 +#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L + +#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" +#define NID_ecdsa_with_SHA256 794 +#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L + +#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" +#define NID_ecdsa_with_SHA384 795 +#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L + +#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" +#define NID_ecdsa_with_SHA512 796 +#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L + +#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L + +#define SN_secp112r1 "secp112r1" +#define NID_secp112r1 704 +#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L + +#define SN_secp112r2 "secp112r2" +#define NID_secp112r2 705 +#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L + +#define SN_secp128r1 "secp128r1" +#define NID_secp128r1 706 +#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L + +#define SN_secp128r2 "secp128r2" +#define NID_secp128r2 707 +#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L + +#define SN_secp160k1 "secp160k1" +#define NID_secp160k1 708 +#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L + +#define SN_secp160r1 "secp160r1" +#define NID_secp160r1 709 +#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L + +#define SN_secp160r2 "secp160r2" +#define NID_secp160r2 710 +#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L + +#define SN_secp192k1 "secp192k1" +#define NID_secp192k1 711 +#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L + +#define SN_secp224k1 "secp224k1" +#define NID_secp224k1 712 +#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L + +#define SN_secp224r1 "secp224r1" +#define NID_secp224r1 713 +#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L + +#define SN_secp256k1 "secp256k1" +#define NID_secp256k1 714 +#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L + +#define SN_secp384r1 "secp384r1" +#define NID_secp384r1 715 +#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L + +#define SN_secp521r1 "secp521r1" +#define NID_secp521r1 716 +#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L + +#define SN_sect113r1 "sect113r1" +#define NID_sect113r1 717 +#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L + +#define SN_sect113r2 "sect113r2" +#define NID_sect113r2 718 +#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L + +#define SN_sect131r1 "sect131r1" +#define NID_sect131r1 719 +#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L + +#define SN_sect131r2 "sect131r2" +#define NID_sect131r2 720 +#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L + +#define SN_sect163k1 "sect163k1" +#define NID_sect163k1 721 +#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L + +#define SN_sect163r1 "sect163r1" +#define NID_sect163r1 722 +#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L + +#define SN_sect163r2 "sect163r2" +#define NID_sect163r2 723 +#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L + +#define SN_sect193r1 "sect193r1" +#define NID_sect193r1 724 +#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L + +#define SN_sect193r2 "sect193r2" +#define NID_sect193r2 725 +#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L + +#define SN_sect233k1 "sect233k1" +#define NID_sect233k1 726 +#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L + +#define SN_sect233r1 "sect233r1" +#define NID_sect233r1 727 +#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L + +#define SN_sect239k1 "sect239k1" +#define NID_sect239k1 728 +#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L + +#define SN_sect283k1 "sect283k1" +#define NID_sect283k1 729 +#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L + +#define SN_sect283r1 "sect283r1" +#define NID_sect283r1 730 +#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L + +#define SN_sect409k1 "sect409k1" +#define NID_sect409k1 731 +#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L + +#define SN_sect409r1 "sect409r1" +#define NID_sect409r1 732 +#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L + +#define SN_sect571k1 "sect571k1" +#define NID_sect571k1 733 +#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L + +#define SN_sect571r1 "sect571r1" +#define NID_sect571r1 734 +#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L + +#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L + +#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" +#define NID_wap_wsg_idm_ecid_wtls1 735 +#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L + +#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" +#define NID_wap_wsg_idm_ecid_wtls3 736 +#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L + +#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" +#define NID_wap_wsg_idm_ecid_wtls4 737 +#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L + +#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" +#define NID_wap_wsg_idm_ecid_wtls5 738 +#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L + +#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" +#define NID_wap_wsg_idm_ecid_wtls6 739 +#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L + +#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" +#define NID_wap_wsg_idm_ecid_wtls7 740 +#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L + +#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" +#define NID_wap_wsg_idm_ecid_wtls8 741 +#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L + +#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" +#define NID_wap_wsg_idm_ecid_wtls9 742 +#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L + +#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" +#define NID_wap_wsg_idm_ecid_wtls10 743 +#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L + +#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" +#define NID_wap_wsg_idm_ecid_wtls11 744 +#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L + +#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" +#define NID_wap_wsg_idm_ecid_wtls12 745 +#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L + +#define SN_cast5_cbc "CAST5-CBC" +#define LN_cast5_cbc "cast5-cbc" +#define NID_cast5_cbc 108 +#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L + +#define SN_cast5_ecb "CAST5-ECB" +#define LN_cast5_ecb "cast5-ecb" +#define NID_cast5_ecb 109 + +#define SN_cast5_cfb64 "CAST5-CFB" +#define LN_cast5_cfb64 "cast5-cfb" +#define NID_cast5_cfb64 110 + +#define SN_cast5_ofb64 "CAST5-OFB" +#define LN_cast5_ofb64 "cast5-ofb" +#define NID_cast5_ofb64 111 + +#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +#define NID_pbeWithMD5AndCast5_CBC 112 +#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L + +#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" +#define LN_id_PasswordBasedMAC "password based MAC" +#define NID_id_PasswordBasedMAC 782 +#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L + +#define SN_id_DHBasedMac "id-DHBasedMac" +#define LN_id_DHBasedMac "Diffie-Hellman based MAC" +#define NID_id_DHBasedMac 783 +#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L + +#define SN_rsadsi "rsadsi" +#define LN_rsadsi "RSA Data Security, Inc." +#define NID_rsadsi 1 +#define OBJ_rsadsi OBJ_ISO_US,113549L + +#define SN_pkcs "pkcs" +#define LN_pkcs "RSA Data Security, Inc. PKCS" +#define NID_pkcs 2 +#define OBJ_pkcs OBJ_rsadsi,1L + +#define SN_pkcs1 "pkcs1" +#define NID_pkcs1 186 +#define OBJ_pkcs1 OBJ_pkcs,1L + +#define LN_rsaEncryption "rsaEncryption" +#define NID_rsaEncryption 6 +#define OBJ_rsaEncryption OBJ_pkcs1,1L + +#define SN_md2WithRSAEncryption "RSA-MD2" +#define LN_md2WithRSAEncryption "md2WithRSAEncryption" +#define NID_md2WithRSAEncryption 7 +#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L + +#define SN_md4WithRSAEncryption "RSA-MD4" +#define LN_md4WithRSAEncryption "md4WithRSAEncryption" +#define NID_md4WithRSAEncryption 396 +#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L + +#define SN_md5WithRSAEncryption "RSA-MD5" +#define LN_md5WithRSAEncryption "md5WithRSAEncryption" +#define NID_md5WithRSAEncryption 8 +#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L + +#define SN_sha1WithRSAEncryption "RSA-SHA1" +#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +#define NID_sha1WithRSAEncryption 65 +#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L + +#define SN_rsaesOaep "RSAES-OAEP" +#define LN_rsaesOaep "rsaesOaep" +#define NID_rsaesOaep 919 +#define OBJ_rsaesOaep OBJ_pkcs1,7L + +#define SN_mgf1 "MGF1" +#define LN_mgf1 "mgf1" +#define NID_mgf1 911 +#define OBJ_mgf1 OBJ_pkcs1,8L + +#define SN_pSpecified "PSPECIFIED" +#define LN_pSpecified "pSpecified" +#define NID_pSpecified 935 +#define OBJ_pSpecified OBJ_pkcs1,9L + +#define SN_rsassaPss "RSASSA-PSS" +#define LN_rsassaPss "rsassaPss" +#define NID_rsassaPss 912 +#define OBJ_rsassaPss OBJ_pkcs1,10L + +#define SN_sha256WithRSAEncryption "RSA-SHA256" +#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" +#define NID_sha256WithRSAEncryption 668 +#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L + +#define SN_sha384WithRSAEncryption "RSA-SHA384" +#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" +#define NID_sha384WithRSAEncryption 669 +#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L + +#define SN_sha512WithRSAEncryption "RSA-SHA512" +#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" +#define NID_sha512WithRSAEncryption 670 +#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L + +#define SN_sha224WithRSAEncryption "RSA-SHA224" +#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" +#define NID_sha224WithRSAEncryption 671 +#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L + +#define SN_sha512_224WithRSAEncryption "RSA-SHA512/224" +#define LN_sha512_224WithRSAEncryption "sha512-224WithRSAEncryption" +#define NID_sha512_224WithRSAEncryption 1145 +#define OBJ_sha512_224WithRSAEncryption OBJ_pkcs1,15L + +#define SN_sha512_256WithRSAEncryption "RSA-SHA512/256" +#define LN_sha512_256WithRSAEncryption "sha512-256WithRSAEncryption" +#define NID_sha512_256WithRSAEncryption 1146 +#define OBJ_sha512_256WithRSAEncryption OBJ_pkcs1,16L + +#define SN_pkcs3 "pkcs3" +#define NID_pkcs3 27 +#define OBJ_pkcs3 OBJ_pkcs,3L + +#define LN_dhKeyAgreement "dhKeyAgreement" +#define NID_dhKeyAgreement 28 +#define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +#define SN_pkcs5 "pkcs5" +#define NID_pkcs5 187 +#define OBJ_pkcs5 OBJ_pkcs,5L + +#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +#define NID_pbeWithMD2AndDES_CBC 9 +#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L + +#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +#define NID_pbeWithMD5AndDES_CBC 10 +#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L + +#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +#define NID_pbeWithMD2AndRC2_CBC 168 +#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L + +#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +#define NID_pbeWithMD5AndRC2_CBC 169 +#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L + +#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +#define NID_pbeWithSHA1AndDES_CBC 170 +#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L + +#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +#define NID_pbeWithSHA1AndRC2_CBC 68 +#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L + +#define LN_id_pbkdf2 "PBKDF2" +#define NID_id_pbkdf2 69 +#define OBJ_id_pbkdf2 OBJ_pkcs5,12L + +#define LN_pbes2 "PBES2" +#define NID_pbes2 161 +#define OBJ_pbes2 OBJ_pkcs5,13L + +#define LN_pbmac1 "PBMAC1" +#define NID_pbmac1 162 +#define OBJ_pbmac1 OBJ_pkcs5,14L + +#define SN_pkcs7 "pkcs7" +#define NID_pkcs7 20 +#define OBJ_pkcs7 OBJ_pkcs,7L + +#define LN_pkcs7_data "pkcs7-data" +#define NID_pkcs7_data 21 +#define OBJ_pkcs7_data OBJ_pkcs7,1L + +#define LN_pkcs7_signed "pkcs7-signedData" +#define NID_pkcs7_signed 22 +#define OBJ_pkcs7_signed OBJ_pkcs7,2L + +#define LN_pkcs7_enveloped "pkcs7-envelopedData" +#define NID_pkcs7_enveloped 23 +#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +#define NID_pkcs7_signedAndEnveloped 24 +#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +#define LN_pkcs7_digest "pkcs7-digestData" +#define NID_pkcs7_digest 25 +#define OBJ_pkcs7_digest OBJ_pkcs7,5L + +#define LN_pkcs7_encrypted "pkcs7-encryptedData" +#define NID_pkcs7_encrypted 26 +#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +#define SN_pkcs9 "pkcs9" +#define NID_pkcs9 47 +#define OBJ_pkcs9 OBJ_pkcs,9L + +#define LN_pkcs9_emailAddress "emailAddress" +#define NID_pkcs9_emailAddress 48 +#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +#define LN_pkcs9_unstructuredName "unstructuredName" +#define NID_pkcs9_unstructuredName 49 +#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +#define LN_pkcs9_contentType "contentType" +#define NID_pkcs9_contentType 50 +#define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +#define LN_pkcs9_messageDigest "messageDigest" +#define NID_pkcs9_messageDigest 51 +#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +#define LN_pkcs9_signingTime "signingTime" +#define NID_pkcs9_signingTime 52 +#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +#define LN_pkcs9_countersignature "countersignature" +#define NID_pkcs9_countersignature 53 +#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +#define LN_pkcs9_challengePassword "challengePassword" +#define NID_pkcs9_challengePassword 54 +#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +#define LN_pkcs9_unstructuredAddress "unstructuredAddress" +#define NID_pkcs9_unstructuredAddress 55 +#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +#define NID_pkcs9_extCertAttributes 56 +#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +#define SN_ext_req "extReq" +#define LN_ext_req "Extension Request" +#define NID_ext_req 172 +#define OBJ_ext_req OBJ_pkcs9,14L + +#define SN_SMIMECapabilities "SMIME-CAPS" +#define LN_SMIMECapabilities "S/MIME Capabilities" +#define NID_SMIMECapabilities 167 +#define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +#define SN_SMIME "SMIME" +#define LN_SMIME "S/MIME" +#define NID_SMIME 188 +#define OBJ_SMIME OBJ_pkcs9,16L + +#define SN_id_smime_mod "id-smime-mod" +#define NID_id_smime_mod 189 +#define OBJ_id_smime_mod OBJ_SMIME,0L + +#define SN_id_smime_ct "id-smime-ct" +#define NID_id_smime_ct 190 +#define OBJ_id_smime_ct OBJ_SMIME,1L + +#define SN_id_smime_aa "id-smime-aa" +#define NID_id_smime_aa 191 +#define OBJ_id_smime_aa OBJ_SMIME,2L + +#define SN_id_smime_alg "id-smime-alg" +#define NID_id_smime_alg 192 +#define OBJ_id_smime_alg OBJ_SMIME,3L + +#define SN_id_smime_cd "id-smime-cd" +#define NID_id_smime_cd 193 +#define OBJ_id_smime_cd OBJ_SMIME,4L + +#define SN_id_smime_spq "id-smime-spq" +#define NID_id_smime_spq 194 +#define OBJ_id_smime_spq OBJ_SMIME,5L + +#define SN_id_smime_cti "id-smime-cti" +#define NID_id_smime_cti 195 +#define OBJ_id_smime_cti OBJ_SMIME,6L + +#define SN_id_smime_mod_cms "id-smime-mod-cms" +#define NID_id_smime_mod_cms 196 +#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L + +#define SN_id_smime_mod_ess "id-smime-mod-ess" +#define NID_id_smime_mod_ess 197 +#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L + +#define SN_id_smime_mod_oid "id-smime-mod-oid" +#define NID_id_smime_mod_oid 198 +#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L + +#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" +#define NID_id_smime_mod_msg_v3 199 +#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L + +#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" +#define NID_id_smime_mod_ets_eSignature_88 200 +#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L + +#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" +#define NID_id_smime_mod_ets_eSignature_97 201 +#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L + +#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" +#define NID_id_smime_mod_ets_eSigPolicy_88 202 +#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L + +#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" +#define NID_id_smime_mod_ets_eSigPolicy_97 203 +#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L + +#define SN_id_smime_ct_receipt "id-smime-ct-receipt" +#define NID_id_smime_ct_receipt 204 +#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L + +#define SN_id_smime_ct_authData "id-smime-ct-authData" +#define NID_id_smime_ct_authData 205 +#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L + +#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" +#define NID_id_smime_ct_publishCert 206 +#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L + +#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" +#define NID_id_smime_ct_TSTInfo 207 +#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L + +#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" +#define NID_id_smime_ct_TDTInfo 208 +#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L + +#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" +#define NID_id_smime_ct_contentInfo 209 +#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L + +#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" +#define NID_id_smime_ct_DVCSRequestData 210 +#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L + +#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" +#define NID_id_smime_ct_DVCSResponseData 211 +#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L + +#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" +#define NID_id_smime_ct_compressedData 786 +#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L + +#define SN_id_smime_ct_contentCollection "id-smime-ct-contentCollection" +#define NID_id_smime_ct_contentCollection 1058 +#define OBJ_id_smime_ct_contentCollection OBJ_id_smime_ct,19L + +#define SN_id_smime_ct_authEnvelopedData "id-smime-ct-authEnvelopedData" +#define NID_id_smime_ct_authEnvelopedData 1059 +#define OBJ_id_smime_ct_authEnvelopedData OBJ_id_smime_ct,23L + +#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" +#define NID_id_ct_asciiTextWithCRLF 787 +#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L + +#define SN_id_ct_xml "id-ct-xml" +#define NID_id_ct_xml 1060 +#define OBJ_id_ct_xml OBJ_id_smime_ct,28L + +#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" +#define NID_id_smime_aa_receiptRequest 212 +#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L + +#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" +#define NID_id_smime_aa_securityLabel 213 +#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L + +#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" +#define NID_id_smime_aa_mlExpandHistory 214 +#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L + +#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" +#define NID_id_smime_aa_contentHint 215 +#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L + +#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" +#define NID_id_smime_aa_msgSigDigest 216 +#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L + +#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" +#define NID_id_smime_aa_encapContentType 217 +#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L + +#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" +#define NID_id_smime_aa_contentIdentifier 218 +#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L + +#define SN_id_smime_aa_macValue "id-smime-aa-macValue" +#define NID_id_smime_aa_macValue 219 +#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L + +#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" +#define NID_id_smime_aa_equivalentLabels 220 +#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L + +#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" +#define NID_id_smime_aa_contentReference 221 +#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L + +#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" +#define NID_id_smime_aa_encrypKeyPref 222 +#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L + +#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" +#define NID_id_smime_aa_signingCertificate 223 +#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L + +#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" +#define NID_id_smime_aa_smimeEncryptCerts 224 +#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L + +#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" +#define NID_id_smime_aa_timeStampToken 225 +#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L + +#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" +#define NID_id_smime_aa_ets_sigPolicyId 226 +#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L + +#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" +#define NID_id_smime_aa_ets_commitmentType 227 +#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L + +#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" +#define NID_id_smime_aa_ets_signerLocation 228 +#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L + +#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" +#define NID_id_smime_aa_ets_signerAttr 229 +#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L + +#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" +#define NID_id_smime_aa_ets_otherSigCert 230 +#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L + +#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" +#define NID_id_smime_aa_ets_contentTimestamp 231 +#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L + +#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" +#define NID_id_smime_aa_ets_CertificateRefs 232 +#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L + +#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" +#define NID_id_smime_aa_ets_RevocationRefs 233 +#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L + +#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" +#define NID_id_smime_aa_ets_certValues 234 +#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L + +#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" +#define NID_id_smime_aa_ets_revocationValues 235 +#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L + +#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" +#define NID_id_smime_aa_ets_escTimeStamp 236 +#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L + +#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" +#define NID_id_smime_aa_ets_certCRLTimestamp 237 +#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L + +#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" +#define NID_id_smime_aa_ets_archiveTimeStamp 238 +#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L + +#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" +#define NID_id_smime_aa_signatureType 239 +#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L + +#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" +#define NID_id_smime_aa_dvcs_dvc 240 +#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L + +#define SN_id_smime_aa_signingCertificateV2 "id-smime-aa-signingCertificateV2" +#define NID_id_smime_aa_signingCertificateV2 1086 +#define OBJ_id_smime_aa_signingCertificateV2 OBJ_id_smime_aa,47L + +#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" +#define NID_id_smime_alg_ESDHwith3DES 241 +#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L + +#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" +#define NID_id_smime_alg_ESDHwithRC2 242 +#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L + +#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" +#define NID_id_smime_alg_3DESwrap 243 +#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L + +#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" +#define NID_id_smime_alg_RC2wrap 244 +#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L + +#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" +#define NID_id_smime_alg_ESDH 245 +#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L + +#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" +#define NID_id_smime_alg_CMS3DESwrap 246 +#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L + +#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" +#define NID_id_smime_alg_CMSRC2wrap 247 +#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L + +#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" +#define NID_id_alg_PWRI_KEK 893 +#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L + +#define SN_id_smime_cd_ldap "id-smime-cd-ldap" +#define NID_id_smime_cd_ldap 248 +#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L + +#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" +#define NID_id_smime_spq_ets_sqt_uri 249 +#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L + +#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" +#define NID_id_smime_spq_ets_sqt_unotice 250 +#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L + +#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" +#define NID_id_smime_cti_ets_proofOfOrigin 251 +#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L + +#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" +#define NID_id_smime_cti_ets_proofOfReceipt 252 +#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L + +#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" +#define NID_id_smime_cti_ets_proofOfDelivery 253 +#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L + +#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" +#define NID_id_smime_cti_ets_proofOfSender 254 +#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L + +#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" +#define NID_id_smime_cti_ets_proofOfApproval 255 +#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L + +#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" +#define NID_id_smime_cti_ets_proofOfCreation 256 +#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L + +#define LN_friendlyName "friendlyName" +#define NID_friendlyName 156 +#define OBJ_friendlyName OBJ_pkcs9,20L + +#define LN_localKeyID "localKeyID" +#define NID_localKeyID 157 +#define OBJ_localKeyID OBJ_pkcs9,21L + +#define SN_ms_csp_name "CSPName" +#define LN_ms_csp_name "Microsoft CSP Name" +#define NID_ms_csp_name 417 +#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L + +#define SN_LocalKeySet "LocalKeySet" +#define LN_LocalKeySet "Microsoft Local Key set" +#define NID_LocalKeySet 856 +#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L + +#define OBJ_certTypes OBJ_pkcs9,22L + +#define LN_x509Certificate "x509Certificate" +#define NID_x509Certificate 158 +#define OBJ_x509Certificate OBJ_certTypes,1L + +#define LN_sdsiCertificate "sdsiCertificate" +#define NID_sdsiCertificate 159 +#define OBJ_sdsiCertificate OBJ_certTypes,2L + +#define OBJ_crlTypes OBJ_pkcs9,23L + +#define LN_x509Crl "x509Crl" +#define NID_x509Crl 160 +#define OBJ_x509Crl OBJ_crlTypes,1L + +#define OBJ_pkcs12 OBJ_pkcs,12L + +#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L + +#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +#define NID_pbe_WithSHA1And128BitRC4 144 +#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L + +#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +#define NID_pbe_WithSHA1And40BitRC4 145 +#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L + +#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L + +#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L + +#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +#define NID_pbe_WithSHA1And128BitRC2_CBC 148 +#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L + +#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +#define NID_pbe_WithSHA1And40BitRC2_CBC 149 +#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L + +#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L + +#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L + +#define LN_keyBag "keyBag" +#define NID_keyBag 150 +#define OBJ_keyBag OBJ_pkcs12_BagIds,1L + +#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +#define NID_pkcs8ShroudedKeyBag 151 +#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L + +#define LN_certBag "certBag" +#define NID_certBag 152 +#define OBJ_certBag OBJ_pkcs12_BagIds,3L + +#define LN_crlBag "crlBag" +#define NID_crlBag 153 +#define OBJ_crlBag OBJ_pkcs12_BagIds,4L + +#define LN_secretBag "secretBag" +#define NID_secretBag 154 +#define OBJ_secretBag OBJ_pkcs12_BagIds,5L + +#define LN_safeContentsBag "safeContentsBag" +#define NID_safeContentsBag 155 +#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L + +#define SN_md2 "MD2" +#define LN_md2 "md2" +#define NID_md2 3 +#define OBJ_md2 OBJ_rsadsi,2L,2L + +#define SN_md4 "MD4" +#define LN_md4 "md4" +#define NID_md4 257 +#define OBJ_md4 OBJ_rsadsi,2L,4L + +#define SN_md5 "MD5" +#define LN_md5 "md5" +#define NID_md5 4 +#define OBJ_md5 OBJ_rsadsi,2L,5L + +#define SN_md5_sha1 "MD5-SHA1" +#define LN_md5_sha1 "md5-sha1" +#define NID_md5_sha1 114 + +#define LN_hmacWithMD5 "hmacWithMD5" +#define NID_hmacWithMD5 797 +#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L + +#define LN_hmacWithSHA1 "hmacWithSHA1" +#define NID_hmacWithSHA1 163 +#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +#define SN_sm2 "SM2" +#define LN_sm2 "sm2" +#define NID_sm2 1172 +#define OBJ_sm2 OBJ_sm_scheme,301L + +#define SN_sm3 "SM3" +#define LN_sm3 "sm3" +#define NID_sm3 1143 +#define OBJ_sm3 OBJ_sm_scheme,401L + +#define SN_sm3WithRSAEncryption "RSA-SM3" +#define LN_sm3WithRSAEncryption "sm3WithRSAEncryption" +#define NID_sm3WithRSAEncryption 1144 +#define OBJ_sm3WithRSAEncryption OBJ_sm_scheme,504L + +#define LN_hmacWithSHA224 "hmacWithSHA224" +#define NID_hmacWithSHA224 798 +#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L + +#define LN_hmacWithSHA256 "hmacWithSHA256" +#define NID_hmacWithSHA256 799 +#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L + +#define LN_hmacWithSHA384 "hmacWithSHA384" +#define NID_hmacWithSHA384 800 +#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L + +#define LN_hmacWithSHA512 "hmacWithSHA512" +#define NID_hmacWithSHA512 801 +#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L + +#define LN_hmacWithSHA512_224 "hmacWithSHA512-224" +#define NID_hmacWithSHA512_224 1193 +#define OBJ_hmacWithSHA512_224 OBJ_rsadsi,2L,12L + +#define LN_hmacWithSHA512_256 "hmacWithSHA512-256" +#define NID_hmacWithSHA512_256 1194 +#define OBJ_hmacWithSHA512_256 OBJ_rsadsi,2L,13L + +#define SN_rc2_cbc "RC2-CBC" +#define LN_rc2_cbc "rc2-cbc" +#define NID_rc2_cbc 37 +#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +#define SN_rc2_ecb "RC2-ECB" +#define LN_rc2_ecb "rc2-ecb" +#define NID_rc2_ecb 38 + +#define SN_rc2_cfb64 "RC2-CFB" +#define LN_rc2_cfb64 "rc2-cfb" +#define NID_rc2_cfb64 39 + +#define SN_rc2_ofb64 "RC2-OFB" +#define LN_rc2_ofb64 "rc2-ofb" +#define NID_rc2_ofb64 40 + +#define SN_rc2_40_cbc "RC2-40-CBC" +#define LN_rc2_40_cbc "rc2-40-cbc" +#define NID_rc2_40_cbc 98 + +#define SN_rc2_64_cbc "RC2-64-CBC" +#define LN_rc2_64_cbc "rc2-64-cbc" +#define NID_rc2_64_cbc 166 + +#define SN_rc4 "RC4" +#define LN_rc4 "rc4" +#define NID_rc4 5 +#define OBJ_rc4 OBJ_rsadsi,3L,4L + +#define SN_rc4_40 "RC4-40" +#define LN_rc4_40 "rc4-40" +#define NID_rc4_40 97 + +#define SN_des_ede3_cbc "DES-EDE3-CBC" +#define LN_des_ede3_cbc "des-ede3-cbc" +#define NID_des_ede3_cbc 44 +#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +#define SN_rc5_cbc "RC5-CBC" +#define LN_rc5_cbc "rc5-cbc" +#define NID_rc5_cbc 120 +#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +#define SN_rc5_ecb "RC5-ECB" +#define LN_rc5_ecb "rc5-ecb" +#define NID_rc5_ecb 121 + +#define SN_rc5_cfb64 "RC5-CFB" +#define LN_rc5_cfb64 "rc5-cfb" +#define NID_rc5_cfb64 122 + +#define SN_rc5_ofb64 "RC5-OFB" +#define LN_rc5_ofb64 "rc5-ofb" +#define NID_rc5_ofb64 123 + +#define SN_ms_ext_req "msExtReq" +#define LN_ms_ext_req "Microsoft Extension Request" +#define NID_ms_ext_req 171 +#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +#define SN_ms_code_ind "msCodeInd" +#define LN_ms_code_ind "Microsoft Individual Code Signing" +#define NID_ms_code_ind 134 +#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +#define SN_ms_code_com "msCodeCom" +#define LN_ms_code_com "Microsoft Commercial Code Signing" +#define NID_ms_code_com 135 +#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +#define SN_ms_ctl_sign "msCTLSign" +#define LN_ms_ctl_sign "Microsoft Trust List Signing" +#define NID_ms_ctl_sign 136 +#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +#define SN_ms_sgc "msSGC" +#define LN_ms_sgc "Microsoft Server Gated Crypto" +#define NID_ms_sgc 137 +#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +#define SN_ms_efs "msEFS" +#define LN_ms_efs "Microsoft Encrypted File System" +#define NID_ms_efs 138 +#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +#define SN_ms_smartcard_login "msSmartcardLogin" +#define LN_ms_smartcard_login "Microsoft Smartcardlogin" +#define NID_ms_smartcard_login 648 +#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L + +#define SN_ms_upn "msUPN" +#define LN_ms_upn "Microsoft Universal Principal Name" +#define NID_ms_upn 649 +#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L + +#define SN_idea_cbc "IDEA-CBC" +#define LN_idea_cbc "idea-cbc" +#define NID_idea_cbc 34 +#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +#define SN_idea_ecb "IDEA-ECB" +#define LN_idea_ecb "idea-ecb" +#define NID_idea_ecb 36 + +#define SN_idea_cfb64 "IDEA-CFB" +#define LN_idea_cfb64 "idea-cfb" +#define NID_idea_cfb64 35 + +#define SN_idea_ofb64 "IDEA-OFB" +#define LN_idea_ofb64 "idea-ofb" +#define NID_idea_ofb64 46 + +#define SN_bf_cbc "BF-CBC" +#define LN_bf_cbc "bf-cbc" +#define NID_bf_cbc 91 +#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +#define SN_bf_ecb "BF-ECB" +#define LN_bf_ecb "bf-ecb" +#define NID_bf_ecb 92 + +#define SN_bf_cfb64 "BF-CFB" +#define LN_bf_cfb64 "bf-cfb" +#define NID_bf_cfb64 93 + +#define SN_bf_ofb64 "BF-OFB" +#define LN_bf_ofb64 "bf-ofb" +#define NID_bf_ofb64 94 + +#define SN_id_pkix "PKIX" +#define NID_id_pkix 127 +#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +#define SN_id_pkix_mod "id-pkix-mod" +#define NID_id_pkix_mod 258 +#define OBJ_id_pkix_mod OBJ_id_pkix,0L + +#define SN_id_pe "id-pe" +#define NID_id_pe 175 +#define OBJ_id_pe OBJ_id_pkix,1L + +#define SN_id_qt "id-qt" +#define NID_id_qt 259 +#define OBJ_id_qt OBJ_id_pkix,2L + +#define SN_id_kp "id-kp" +#define NID_id_kp 128 +#define OBJ_id_kp OBJ_id_pkix,3L + +#define SN_id_it "id-it" +#define NID_id_it 260 +#define OBJ_id_it OBJ_id_pkix,4L + +#define SN_id_pkip "id-pkip" +#define NID_id_pkip 261 +#define OBJ_id_pkip OBJ_id_pkix,5L + +#define SN_id_alg "id-alg" +#define NID_id_alg 262 +#define OBJ_id_alg OBJ_id_pkix,6L + +#define SN_id_cmc "id-cmc" +#define NID_id_cmc 263 +#define OBJ_id_cmc OBJ_id_pkix,7L + +#define SN_id_on "id-on" +#define NID_id_on 264 +#define OBJ_id_on OBJ_id_pkix,8L + +#define SN_id_pda "id-pda" +#define NID_id_pda 265 +#define OBJ_id_pda OBJ_id_pkix,9L + +#define SN_id_aca "id-aca" +#define NID_id_aca 266 +#define OBJ_id_aca OBJ_id_pkix,10L + +#define SN_id_qcs "id-qcs" +#define NID_id_qcs 267 +#define OBJ_id_qcs OBJ_id_pkix,11L + +#define SN_id_cct "id-cct" +#define NID_id_cct 268 +#define OBJ_id_cct OBJ_id_pkix,12L + +#define SN_id_ppl "id-ppl" +#define NID_id_ppl 662 +#define OBJ_id_ppl OBJ_id_pkix,21L + +#define SN_id_ad "id-ad" +#define NID_id_ad 176 +#define OBJ_id_ad OBJ_id_pkix,48L + +#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" +#define NID_id_pkix1_explicit_88 269 +#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L + +#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" +#define NID_id_pkix1_implicit_88 270 +#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L + +#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" +#define NID_id_pkix1_explicit_93 271 +#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L + +#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" +#define NID_id_pkix1_implicit_93 272 +#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L + +#define SN_id_mod_crmf "id-mod-crmf" +#define NID_id_mod_crmf 273 +#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L + +#define SN_id_mod_cmc "id-mod-cmc" +#define NID_id_mod_cmc 274 +#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L + +#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" +#define NID_id_mod_kea_profile_88 275 +#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L + +#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" +#define NID_id_mod_kea_profile_93 276 +#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L + +#define SN_id_mod_cmp "id-mod-cmp" +#define NID_id_mod_cmp 277 +#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L + +#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" +#define NID_id_mod_qualified_cert_88 278 +#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L + +#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" +#define NID_id_mod_qualified_cert_93 279 +#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L + +#define SN_id_mod_attribute_cert "id-mod-attribute-cert" +#define NID_id_mod_attribute_cert 280 +#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L + +#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" +#define NID_id_mod_timestamp_protocol 281 +#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L + +#define SN_id_mod_ocsp "id-mod-ocsp" +#define NID_id_mod_ocsp 282 +#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L + +#define SN_id_mod_dvcs "id-mod-dvcs" +#define NID_id_mod_dvcs 283 +#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L + +#define SN_id_mod_cmp2000 "id-mod-cmp2000" +#define NID_id_mod_cmp2000 284 +#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L + +#define SN_info_access "authorityInfoAccess" +#define LN_info_access "Authority Information Access" +#define NID_info_access 177 +#define OBJ_info_access OBJ_id_pe,1L + +#define SN_biometricInfo "biometricInfo" +#define LN_biometricInfo "Biometric Info" +#define NID_biometricInfo 285 +#define OBJ_biometricInfo OBJ_id_pe,2L + +#define SN_qcStatements "qcStatements" +#define NID_qcStatements 286 +#define OBJ_qcStatements OBJ_id_pe,3L + +#define SN_ac_auditEntity "ac-auditEntity" +#define NID_ac_auditEntity 287 +#define OBJ_ac_auditEntity OBJ_id_pe,4L + +#define SN_ac_targeting "ac-targeting" +#define NID_ac_targeting 288 +#define OBJ_ac_targeting OBJ_id_pe,5L + +#define SN_aaControls "aaControls" +#define NID_aaControls 289 +#define OBJ_aaControls OBJ_id_pe,6L + +#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" +#define NID_sbgp_ipAddrBlock 290 +#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L + +#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" +#define NID_sbgp_autonomousSysNum 291 +#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L + +#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" +#define NID_sbgp_routerIdentifier 292 +#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L + +#define SN_ac_proxying "ac-proxying" +#define NID_ac_proxying 397 +#define OBJ_ac_proxying OBJ_id_pe,10L + +#define SN_sinfo_access "subjectInfoAccess" +#define LN_sinfo_access "Subject Information Access" +#define NID_sinfo_access 398 +#define OBJ_sinfo_access OBJ_id_pe,11L + +#define SN_proxyCertInfo "proxyCertInfo" +#define LN_proxyCertInfo "Proxy Certificate Information" +#define NID_proxyCertInfo 663 +#define OBJ_proxyCertInfo OBJ_id_pe,14L + +#define SN_tlsfeature "tlsfeature" +#define LN_tlsfeature "TLS Feature" +#define NID_tlsfeature 1020 +#define OBJ_tlsfeature OBJ_id_pe,24L + +#define SN_id_qt_cps "id-qt-cps" +#define LN_id_qt_cps "Policy Qualifier CPS" +#define NID_id_qt_cps 164 +#define OBJ_id_qt_cps OBJ_id_qt,1L + +#define SN_id_qt_unotice "id-qt-unotice" +#define LN_id_qt_unotice "Policy Qualifier User Notice" +#define NID_id_qt_unotice 165 +#define OBJ_id_qt_unotice OBJ_id_qt,2L + +#define SN_textNotice "textNotice" +#define NID_textNotice 293 +#define OBJ_textNotice OBJ_id_qt,3L + +#define SN_server_auth "serverAuth" +#define LN_server_auth "TLS Web Server Authentication" +#define NID_server_auth 129 +#define OBJ_server_auth OBJ_id_kp,1L + +#define SN_client_auth "clientAuth" +#define LN_client_auth "TLS Web Client Authentication" +#define NID_client_auth 130 +#define OBJ_client_auth OBJ_id_kp,2L + +#define SN_code_sign "codeSigning" +#define LN_code_sign "Code Signing" +#define NID_code_sign 131 +#define OBJ_code_sign OBJ_id_kp,3L + +#define SN_email_protect "emailProtection" +#define LN_email_protect "E-mail Protection" +#define NID_email_protect 132 +#define OBJ_email_protect OBJ_id_kp,4L + +#define SN_ipsecEndSystem "ipsecEndSystem" +#define LN_ipsecEndSystem "IPSec End System" +#define NID_ipsecEndSystem 294 +#define OBJ_ipsecEndSystem OBJ_id_kp,5L + +#define SN_ipsecTunnel "ipsecTunnel" +#define LN_ipsecTunnel "IPSec Tunnel" +#define NID_ipsecTunnel 295 +#define OBJ_ipsecTunnel OBJ_id_kp,6L + +#define SN_ipsecUser "ipsecUser" +#define LN_ipsecUser "IPSec User" +#define NID_ipsecUser 296 +#define OBJ_ipsecUser OBJ_id_kp,7L + +#define SN_time_stamp "timeStamping" +#define LN_time_stamp "Time Stamping" +#define NID_time_stamp 133 +#define OBJ_time_stamp OBJ_id_kp,8L + +#define SN_OCSP_sign "OCSPSigning" +#define LN_OCSP_sign "OCSP Signing" +#define NID_OCSP_sign 180 +#define OBJ_OCSP_sign OBJ_id_kp,9L + +#define SN_dvcs "DVCS" +#define LN_dvcs "dvcs" +#define NID_dvcs 297 +#define OBJ_dvcs OBJ_id_kp,10L + +#define SN_ipsec_IKE "ipsecIKE" +#define LN_ipsec_IKE "ipsec Internet Key Exchange" +#define NID_ipsec_IKE 1022 +#define OBJ_ipsec_IKE OBJ_id_kp,17L + +#define SN_capwapAC "capwapAC" +#define LN_capwapAC "Ctrl/provision WAP Access" +#define NID_capwapAC 1023 +#define OBJ_capwapAC OBJ_id_kp,18L + +#define SN_capwapWTP "capwapWTP" +#define LN_capwapWTP "Ctrl/Provision WAP Termination" +#define NID_capwapWTP 1024 +#define OBJ_capwapWTP OBJ_id_kp,19L + +#define SN_sshClient "secureShellClient" +#define LN_sshClient "SSH Client" +#define NID_sshClient 1025 +#define OBJ_sshClient OBJ_id_kp,21L + +#define SN_sshServer "secureShellServer" +#define LN_sshServer "SSH Server" +#define NID_sshServer 1026 +#define OBJ_sshServer OBJ_id_kp,22L + +#define SN_sendRouter "sendRouter" +#define LN_sendRouter "Send Router" +#define NID_sendRouter 1027 +#define OBJ_sendRouter OBJ_id_kp,23L + +#define SN_sendProxiedRouter "sendProxiedRouter" +#define LN_sendProxiedRouter "Send Proxied Router" +#define NID_sendProxiedRouter 1028 +#define OBJ_sendProxiedRouter OBJ_id_kp,24L + +#define SN_sendOwner "sendOwner" +#define LN_sendOwner "Send Owner" +#define NID_sendOwner 1029 +#define OBJ_sendOwner OBJ_id_kp,25L + +#define SN_sendProxiedOwner "sendProxiedOwner" +#define LN_sendProxiedOwner "Send Proxied Owner" +#define NID_sendProxiedOwner 1030 +#define OBJ_sendProxiedOwner OBJ_id_kp,26L + +#define SN_cmcCA "cmcCA" +#define LN_cmcCA "CMC Certificate Authority" +#define NID_cmcCA 1131 +#define OBJ_cmcCA OBJ_id_kp,27L + +#define SN_cmcRA "cmcRA" +#define LN_cmcRA "CMC Registration Authority" +#define NID_cmcRA 1132 +#define OBJ_cmcRA OBJ_id_kp,28L + +#define SN_id_it_caProtEncCert "id-it-caProtEncCert" +#define NID_id_it_caProtEncCert 298 +#define OBJ_id_it_caProtEncCert OBJ_id_it,1L + +#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" +#define NID_id_it_signKeyPairTypes 299 +#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L + +#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" +#define NID_id_it_encKeyPairTypes 300 +#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L + +#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" +#define NID_id_it_preferredSymmAlg 301 +#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L + +#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" +#define NID_id_it_caKeyUpdateInfo 302 +#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L + +#define SN_id_it_currentCRL "id-it-currentCRL" +#define NID_id_it_currentCRL 303 +#define OBJ_id_it_currentCRL OBJ_id_it,6L + +#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" +#define NID_id_it_unsupportedOIDs 304 +#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L + +#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" +#define NID_id_it_subscriptionRequest 305 +#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L + +#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" +#define NID_id_it_subscriptionResponse 306 +#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L + +#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" +#define NID_id_it_keyPairParamReq 307 +#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L + +#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" +#define NID_id_it_keyPairParamRep 308 +#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L + +#define SN_id_it_revPassphrase "id-it-revPassphrase" +#define NID_id_it_revPassphrase 309 +#define OBJ_id_it_revPassphrase OBJ_id_it,12L + +#define SN_id_it_implicitConfirm "id-it-implicitConfirm" +#define NID_id_it_implicitConfirm 310 +#define OBJ_id_it_implicitConfirm OBJ_id_it,13L + +#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" +#define NID_id_it_confirmWaitTime 311 +#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L + +#define SN_id_it_origPKIMessage "id-it-origPKIMessage" +#define NID_id_it_origPKIMessage 312 +#define OBJ_id_it_origPKIMessage OBJ_id_it,15L + +#define SN_id_it_suppLangTags "id-it-suppLangTags" +#define NID_id_it_suppLangTags 784 +#define OBJ_id_it_suppLangTags OBJ_id_it,16L + +#define SN_id_regCtrl "id-regCtrl" +#define NID_id_regCtrl 313 +#define OBJ_id_regCtrl OBJ_id_pkip,1L + +#define SN_id_regInfo "id-regInfo" +#define NID_id_regInfo 314 +#define OBJ_id_regInfo OBJ_id_pkip,2L + +#define SN_id_regCtrl_regToken "id-regCtrl-regToken" +#define NID_id_regCtrl_regToken 315 +#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L + +#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" +#define NID_id_regCtrl_authenticator 316 +#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L + +#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" +#define NID_id_regCtrl_pkiPublicationInfo 317 +#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L + +#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" +#define NID_id_regCtrl_pkiArchiveOptions 318 +#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L + +#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" +#define NID_id_regCtrl_oldCertID 319 +#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L + +#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" +#define NID_id_regCtrl_protocolEncrKey 320 +#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L + +#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" +#define NID_id_regInfo_utf8Pairs 321 +#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L + +#define SN_id_regInfo_certReq "id-regInfo-certReq" +#define NID_id_regInfo_certReq 322 +#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L + +#define SN_id_alg_des40 "id-alg-des40" +#define NID_id_alg_des40 323 +#define OBJ_id_alg_des40 OBJ_id_alg,1L + +#define SN_id_alg_noSignature "id-alg-noSignature" +#define NID_id_alg_noSignature 324 +#define OBJ_id_alg_noSignature OBJ_id_alg,2L + +#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" +#define NID_id_alg_dh_sig_hmac_sha1 325 +#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L + +#define SN_id_alg_dh_pop "id-alg-dh-pop" +#define NID_id_alg_dh_pop 326 +#define OBJ_id_alg_dh_pop OBJ_id_alg,4L + +#define SN_id_cmc_statusInfo "id-cmc-statusInfo" +#define NID_id_cmc_statusInfo 327 +#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L + +#define SN_id_cmc_identification "id-cmc-identification" +#define NID_id_cmc_identification 328 +#define OBJ_id_cmc_identification OBJ_id_cmc,2L + +#define SN_id_cmc_identityProof "id-cmc-identityProof" +#define NID_id_cmc_identityProof 329 +#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L + +#define SN_id_cmc_dataReturn "id-cmc-dataReturn" +#define NID_id_cmc_dataReturn 330 +#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L + +#define SN_id_cmc_transactionId "id-cmc-transactionId" +#define NID_id_cmc_transactionId 331 +#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L + +#define SN_id_cmc_senderNonce "id-cmc-senderNonce" +#define NID_id_cmc_senderNonce 332 +#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L + +#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" +#define NID_id_cmc_recipientNonce 333 +#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L + +#define SN_id_cmc_addExtensions "id-cmc-addExtensions" +#define NID_id_cmc_addExtensions 334 +#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L + +#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" +#define NID_id_cmc_encryptedPOP 335 +#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L + +#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" +#define NID_id_cmc_decryptedPOP 336 +#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L + +#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" +#define NID_id_cmc_lraPOPWitness 337 +#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L + +#define SN_id_cmc_getCert "id-cmc-getCert" +#define NID_id_cmc_getCert 338 +#define OBJ_id_cmc_getCert OBJ_id_cmc,15L + +#define SN_id_cmc_getCRL "id-cmc-getCRL" +#define NID_id_cmc_getCRL 339 +#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L + +#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" +#define NID_id_cmc_revokeRequest 340 +#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L + +#define SN_id_cmc_regInfo "id-cmc-regInfo" +#define NID_id_cmc_regInfo 341 +#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L + +#define SN_id_cmc_responseInfo "id-cmc-responseInfo" +#define NID_id_cmc_responseInfo 342 +#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L + +#define SN_id_cmc_queryPending "id-cmc-queryPending" +#define NID_id_cmc_queryPending 343 +#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L + +#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" +#define NID_id_cmc_popLinkRandom 344 +#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L + +#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" +#define NID_id_cmc_popLinkWitness 345 +#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L + +#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" +#define NID_id_cmc_confirmCertAcceptance 346 +#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L + +#define SN_id_on_personalData "id-on-personalData" +#define NID_id_on_personalData 347 +#define OBJ_id_on_personalData OBJ_id_on,1L + +#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" +#define LN_id_on_permanentIdentifier "Permanent Identifier" +#define NID_id_on_permanentIdentifier 858 +#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L + +#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" +#define NID_id_pda_dateOfBirth 348 +#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L + +#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" +#define NID_id_pda_placeOfBirth 349 +#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L + +#define SN_id_pda_gender "id-pda-gender" +#define NID_id_pda_gender 351 +#define OBJ_id_pda_gender OBJ_id_pda,3L + +#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" +#define NID_id_pda_countryOfCitizenship 352 +#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L + +#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" +#define NID_id_pda_countryOfResidence 353 +#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L + +#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" +#define NID_id_aca_authenticationInfo 354 +#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L + +#define SN_id_aca_accessIdentity "id-aca-accessIdentity" +#define NID_id_aca_accessIdentity 355 +#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L + +#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" +#define NID_id_aca_chargingIdentity 356 +#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L + +#define SN_id_aca_group "id-aca-group" +#define NID_id_aca_group 357 +#define OBJ_id_aca_group OBJ_id_aca,4L + +#define SN_id_aca_role "id-aca-role" +#define NID_id_aca_role 358 +#define OBJ_id_aca_role OBJ_id_aca,5L + +#define SN_id_aca_encAttrs "id-aca-encAttrs" +#define NID_id_aca_encAttrs 399 +#define OBJ_id_aca_encAttrs OBJ_id_aca,6L + +#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" +#define NID_id_qcs_pkixQCSyntax_v1 359 +#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L + +#define SN_id_cct_crs "id-cct-crs" +#define NID_id_cct_crs 360 +#define OBJ_id_cct_crs OBJ_id_cct,1L + +#define SN_id_cct_PKIData "id-cct-PKIData" +#define NID_id_cct_PKIData 361 +#define OBJ_id_cct_PKIData OBJ_id_cct,2L + +#define SN_id_cct_PKIResponse "id-cct-PKIResponse" +#define NID_id_cct_PKIResponse 362 +#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L + +#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" +#define LN_id_ppl_anyLanguage "Any language" +#define NID_id_ppl_anyLanguage 664 +#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L + +#define SN_id_ppl_inheritAll "id-ppl-inheritAll" +#define LN_id_ppl_inheritAll "Inherit all" +#define NID_id_ppl_inheritAll 665 +#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L + +#define SN_Independent "id-ppl-independent" +#define LN_Independent "Independent" +#define NID_Independent 667 +#define OBJ_Independent OBJ_id_ppl,2L + +#define SN_ad_OCSP "OCSP" +#define LN_ad_OCSP "OCSP" +#define NID_ad_OCSP 178 +#define OBJ_ad_OCSP OBJ_id_ad,1L + +#define SN_ad_ca_issuers "caIssuers" +#define LN_ad_ca_issuers "CA Issuers" +#define NID_ad_ca_issuers 179 +#define OBJ_ad_ca_issuers OBJ_id_ad,2L + +#define SN_ad_timeStamping "ad_timestamping" +#define LN_ad_timeStamping "AD Time Stamping" +#define NID_ad_timeStamping 363 +#define OBJ_ad_timeStamping OBJ_id_ad,3L + +#define SN_ad_dvcs "AD_DVCS" +#define LN_ad_dvcs "ad dvcs" +#define NID_ad_dvcs 364 +#define OBJ_ad_dvcs OBJ_id_ad,4L + +#define SN_caRepository "caRepository" +#define LN_caRepository "CA Repository" +#define NID_caRepository 785 +#define OBJ_caRepository OBJ_id_ad,5L + +#define OBJ_id_pkix_OCSP OBJ_ad_OCSP + +#define SN_id_pkix_OCSP_basic "basicOCSPResponse" +#define LN_id_pkix_OCSP_basic "Basic OCSP Response" +#define NID_id_pkix_OCSP_basic 365 +#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L + +#define SN_id_pkix_OCSP_Nonce "Nonce" +#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" +#define NID_id_pkix_OCSP_Nonce 366 +#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L + +#define SN_id_pkix_OCSP_CrlID "CrlID" +#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" +#define NID_id_pkix_OCSP_CrlID 367 +#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L + +#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" +#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" +#define NID_id_pkix_OCSP_acceptableResponses 368 +#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L + +#define SN_id_pkix_OCSP_noCheck "noCheck" +#define LN_id_pkix_OCSP_noCheck "OCSP No Check" +#define NID_id_pkix_OCSP_noCheck 369 +#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L + +#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" +#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" +#define NID_id_pkix_OCSP_archiveCutoff 370 +#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L + +#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" +#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" +#define NID_id_pkix_OCSP_serviceLocator 371 +#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L + +#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" +#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" +#define NID_id_pkix_OCSP_extendedStatus 372 +#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L + +#define SN_id_pkix_OCSP_valid "valid" +#define NID_id_pkix_OCSP_valid 373 +#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L + +#define SN_id_pkix_OCSP_path "path" +#define NID_id_pkix_OCSP_path 374 +#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L + +#define SN_id_pkix_OCSP_trustRoot "trustRoot" +#define LN_id_pkix_OCSP_trustRoot "Trust Root" +#define NID_id_pkix_OCSP_trustRoot 375 +#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L + +#define SN_algorithm "algorithm" +#define LN_algorithm "algorithm" +#define NID_algorithm 376 +#define OBJ_algorithm 1L,3L,14L,3L,2L + +#define SN_md5WithRSA "RSA-NP-MD5" +#define LN_md5WithRSA "md5WithRSA" +#define NID_md5WithRSA 104 +#define OBJ_md5WithRSA OBJ_algorithm,3L + +#define SN_des_ecb "DES-ECB" +#define LN_des_ecb "des-ecb" +#define NID_des_ecb 29 +#define OBJ_des_ecb OBJ_algorithm,6L + +#define SN_des_cbc "DES-CBC" +#define LN_des_cbc "des-cbc" +#define NID_des_cbc 31 +#define OBJ_des_cbc OBJ_algorithm,7L + +#define SN_des_ofb64 "DES-OFB" +#define LN_des_ofb64 "des-ofb" +#define NID_des_ofb64 45 +#define OBJ_des_ofb64 OBJ_algorithm,8L + +#define SN_des_cfb64 "DES-CFB" +#define LN_des_cfb64 "des-cfb" +#define NID_des_cfb64 30 +#define OBJ_des_cfb64 OBJ_algorithm,9L + +#define SN_rsaSignature "rsaSignature" +#define NID_rsaSignature 377 +#define OBJ_rsaSignature OBJ_algorithm,11L + +#define SN_dsa_2 "DSA-old" +#define LN_dsa_2 "dsaEncryption-old" +#define NID_dsa_2 67 +#define OBJ_dsa_2 OBJ_algorithm,12L + +#define SN_dsaWithSHA "DSA-SHA" +#define LN_dsaWithSHA "dsaWithSHA" +#define NID_dsaWithSHA 66 +#define OBJ_dsaWithSHA OBJ_algorithm,13L + +#define SN_shaWithRSAEncryption "RSA-SHA" +#define LN_shaWithRSAEncryption "shaWithRSAEncryption" +#define NID_shaWithRSAEncryption 42 +#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +#define SN_des_ede_ecb "DES-EDE" +#define LN_des_ede_ecb "des-ede" +#define NID_des_ede_ecb 32 +#define OBJ_des_ede_ecb OBJ_algorithm,17L + +#define SN_des_ede3_ecb "DES-EDE3" +#define LN_des_ede3_ecb "des-ede3" +#define NID_des_ede3_ecb 33 + +#define SN_des_ede_cbc "DES-EDE-CBC" +#define LN_des_ede_cbc "des-ede-cbc" +#define NID_des_ede_cbc 43 + +#define SN_des_ede_cfb64 "DES-EDE-CFB" +#define LN_des_ede_cfb64 "des-ede-cfb" +#define NID_des_ede_cfb64 60 + +#define SN_des_ede3_cfb64 "DES-EDE3-CFB" +#define LN_des_ede3_cfb64 "des-ede3-cfb" +#define NID_des_ede3_cfb64 61 + +#define SN_des_ede_ofb64 "DES-EDE-OFB" +#define LN_des_ede_ofb64 "des-ede-ofb" +#define NID_des_ede_ofb64 62 + +#define SN_des_ede3_ofb64 "DES-EDE3-OFB" +#define LN_des_ede3_ofb64 "des-ede3-ofb" +#define NID_des_ede3_ofb64 63 + +#define SN_desx_cbc "DESX-CBC" +#define LN_desx_cbc "desx-cbc" +#define NID_desx_cbc 80 + +#define SN_sha "SHA" +#define LN_sha "sha" +#define NID_sha 41 +#define OBJ_sha OBJ_algorithm,18L + +#define SN_sha1 "SHA1" +#define LN_sha1 "sha1" +#define NID_sha1 64 +#define OBJ_sha1 OBJ_algorithm,26L + +#define SN_dsaWithSHA1_2 "DSA-SHA1-old" +#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +#define NID_dsaWithSHA1_2 70 +#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +#define SN_sha1WithRSA "RSA-SHA1-2" +#define LN_sha1WithRSA "sha1WithRSA" +#define NID_sha1WithRSA 115 +#define OBJ_sha1WithRSA OBJ_algorithm,29L + +#define SN_ripemd160 "RIPEMD160" +#define LN_ripemd160 "ripemd160" +#define NID_ripemd160 117 +#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +#define SN_ripemd160WithRSA "RSA-RIPEMD160" +#define LN_ripemd160WithRSA "ripemd160WithRSA" +#define NID_ripemd160WithRSA 119 +#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +#define SN_blake2b512 "BLAKE2b512" +#define LN_blake2b512 "blake2b512" +#define NID_blake2b512 1056 +#define OBJ_blake2b512 1L,3L,6L,1L,4L,1L,1722L,12L,2L,1L,16L + +#define SN_blake2s256 "BLAKE2s256" +#define LN_blake2s256 "blake2s256" +#define NID_blake2s256 1057 +#define OBJ_blake2s256 1L,3L,6L,1L,4L,1L,1722L,12L,2L,2L,8L + +#define SN_sxnet "SXNetID" +#define LN_sxnet "Strong Extranet ID" +#define NID_sxnet 143 +#define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +#define SN_X500 "X500" +#define LN_X500 "directory services (X.500)" +#define NID_X500 11 +#define OBJ_X500 2L,5L + +#define SN_X509 "X509" +#define NID_X509 12 +#define OBJ_X509 OBJ_X500,4L + +#define SN_commonName "CN" +#define LN_commonName "commonName" +#define NID_commonName 13 +#define OBJ_commonName OBJ_X509,3L + +#define SN_surname "SN" +#define LN_surname "surname" +#define NID_surname 100 +#define OBJ_surname OBJ_X509,4L + +#define LN_serialNumber "serialNumber" +#define NID_serialNumber 105 +#define OBJ_serialNumber OBJ_X509,5L + +#define SN_countryName "C" +#define LN_countryName "countryName" +#define NID_countryName 14 +#define OBJ_countryName OBJ_X509,6L + +#define SN_localityName "L" +#define LN_localityName "localityName" +#define NID_localityName 15 +#define OBJ_localityName OBJ_X509,7L + +#define SN_stateOrProvinceName "ST" +#define LN_stateOrProvinceName "stateOrProvinceName" +#define NID_stateOrProvinceName 16 +#define OBJ_stateOrProvinceName OBJ_X509,8L + +#define SN_streetAddress "street" +#define LN_streetAddress "streetAddress" +#define NID_streetAddress 660 +#define OBJ_streetAddress OBJ_X509,9L + +#define SN_organizationName "O" +#define LN_organizationName "organizationName" +#define NID_organizationName 17 +#define OBJ_organizationName OBJ_X509,10L + +#define SN_organizationalUnitName "OU" +#define LN_organizationalUnitName "organizationalUnitName" +#define NID_organizationalUnitName 18 +#define OBJ_organizationalUnitName OBJ_X509,11L + +#define SN_title "title" +#define LN_title "title" +#define NID_title 106 +#define OBJ_title OBJ_X509,12L + +#define LN_description "description" +#define NID_description 107 +#define OBJ_description OBJ_X509,13L + +#define LN_searchGuide "searchGuide" +#define NID_searchGuide 859 +#define OBJ_searchGuide OBJ_X509,14L + +#define LN_businessCategory "businessCategory" +#define NID_businessCategory 860 +#define OBJ_businessCategory OBJ_X509,15L + +#define LN_postalAddress "postalAddress" +#define NID_postalAddress 861 +#define OBJ_postalAddress OBJ_X509,16L + +#define LN_postalCode "postalCode" +#define NID_postalCode 661 +#define OBJ_postalCode OBJ_X509,17L + +#define LN_postOfficeBox "postOfficeBox" +#define NID_postOfficeBox 862 +#define OBJ_postOfficeBox OBJ_X509,18L + +#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" +#define NID_physicalDeliveryOfficeName 863 +#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L + +#define LN_telephoneNumber "telephoneNumber" +#define NID_telephoneNumber 864 +#define OBJ_telephoneNumber OBJ_X509,20L + +#define LN_telexNumber "telexNumber" +#define NID_telexNumber 865 +#define OBJ_telexNumber OBJ_X509,21L + +#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" +#define NID_teletexTerminalIdentifier 866 +#define OBJ_teletexTerminalIdentifier OBJ_X509,22L + +#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" +#define NID_facsimileTelephoneNumber 867 +#define OBJ_facsimileTelephoneNumber OBJ_X509,23L + +#define LN_x121Address "x121Address" +#define NID_x121Address 868 +#define OBJ_x121Address OBJ_X509,24L + +#define LN_internationaliSDNNumber "internationaliSDNNumber" +#define NID_internationaliSDNNumber 869 +#define OBJ_internationaliSDNNumber OBJ_X509,25L + +#define LN_registeredAddress "registeredAddress" +#define NID_registeredAddress 870 +#define OBJ_registeredAddress OBJ_X509,26L + +#define LN_destinationIndicator "destinationIndicator" +#define NID_destinationIndicator 871 +#define OBJ_destinationIndicator OBJ_X509,27L + +#define LN_preferredDeliveryMethod "preferredDeliveryMethod" +#define NID_preferredDeliveryMethod 872 +#define OBJ_preferredDeliveryMethod OBJ_X509,28L + +#define LN_presentationAddress "presentationAddress" +#define NID_presentationAddress 873 +#define OBJ_presentationAddress OBJ_X509,29L + +#define LN_supportedApplicationContext "supportedApplicationContext" +#define NID_supportedApplicationContext 874 +#define OBJ_supportedApplicationContext OBJ_X509,30L + +#define SN_member "member" +#define NID_member 875 +#define OBJ_member OBJ_X509,31L + +#define SN_owner "owner" +#define NID_owner 876 +#define OBJ_owner OBJ_X509,32L + +#define LN_roleOccupant "roleOccupant" +#define NID_roleOccupant 877 +#define OBJ_roleOccupant OBJ_X509,33L + +#define SN_seeAlso "seeAlso" +#define NID_seeAlso 878 +#define OBJ_seeAlso OBJ_X509,34L + +#define LN_userPassword "userPassword" +#define NID_userPassword 879 +#define OBJ_userPassword OBJ_X509,35L + +#define LN_userCertificate "userCertificate" +#define NID_userCertificate 880 +#define OBJ_userCertificate OBJ_X509,36L + +#define LN_cACertificate "cACertificate" +#define NID_cACertificate 881 +#define OBJ_cACertificate OBJ_X509,37L + +#define LN_authorityRevocationList "authorityRevocationList" +#define NID_authorityRevocationList 882 +#define OBJ_authorityRevocationList OBJ_X509,38L + +#define LN_certificateRevocationList "certificateRevocationList" +#define NID_certificateRevocationList 883 +#define OBJ_certificateRevocationList OBJ_X509,39L + +#define LN_crossCertificatePair "crossCertificatePair" +#define NID_crossCertificatePair 884 +#define OBJ_crossCertificatePair OBJ_X509,40L + +#define SN_name "name" +#define LN_name "name" +#define NID_name 173 +#define OBJ_name OBJ_X509,41L + +#define SN_givenName "GN" +#define LN_givenName "givenName" +#define NID_givenName 99 +#define OBJ_givenName OBJ_X509,42L + +#define SN_initials "initials" +#define LN_initials "initials" +#define NID_initials 101 +#define OBJ_initials OBJ_X509,43L + +#define LN_generationQualifier "generationQualifier" +#define NID_generationQualifier 509 +#define OBJ_generationQualifier OBJ_X509,44L + +#define LN_x500UniqueIdentifier "x500UniqueIdentifier" +#define NID_x500UniqueIdentifier 503 +#define OBJ_x500UniqueIdentifier OBJ_X509,45L + +#define SN_dnQualifier "dnQualifier" +#define LN_dnQualifier "dnQualifier" +#define NID_dnQualifier 174 +#define OBJ_dnQualifier OBJ_X509,46L + +#define LN_enhancedSearchGuide "enhancedSearchGuide" +#define NID_enhancedSearchGuide 885 +#define OBJ_enhancedSearchGuide OBJ_X509,47L + +#define LN_protocolInformation "protocolInformation" +#define NID_protocolInformation 886 +#define OBJ_protocolInformation OBJ_X509,48L + +#define LN_distinguishedName "distinguishedName" +#define NID_distinguishedName 887 +#define OBJ_distinguishedName OBJ_X509,49L + +#define LN_uniqueMember "uniqueMember" +#define NID_uniqueMember 888 +#define OBJ_uniqueMember OBJ_X509,50L + +#define LN_houseIdentifier "houseIdentifier" +#define NID_houseIdentifier 889 +#define OBJ_houseIdentifier OBJ_X509,51L + +#define LN_supportedAlgorithms "supportedAlgorithms" +#define NID_supportedAlgorithms 890 +#define OBJ_supportedAlgorithms OBJ_X509,52L + +#define LN_deltaRevocationList "deltaRevocationList" +#define NID_deltaRevocationList 891 +#define OBJ_deltaRevocationList OBJ_X509,53L + +#define SN_dmdName "dmdName" +#define NID_dmdName 892 +#define OBJ_dmdName OBJ_X509,54L + +#define LN_pseudonym "pseudonym" +#define NID_pseudonym 510 +#define OBJ_pseudonym OBJ_X509,65L + +#define SN_role "role" +#define LN_role "role" +#define NID_role 400 +#define OBJ_role OBJ_X509,72L + +#define LN_organizationIdentifier "organizationIdentifier" +#define NID_organizationIdentifier 1089 +#define OBJ_organizationIdentifier OBJ_X509,97L + +#define SN_countryCode3c "c3" +#define LN_countryCode3c "countryCode3c" +#define NID_countryCode3c 1090 +#define OBJ_countryCode3c OBJ_X509,98L + +#define SN_countryCode3n "n3" +#define LN_countryCode3n "countryCode3n" +#define NID_countryCode3n 1091 +#define OBJ_countryCode3n OBJ_X509,99L + +#define LN_dnsName "dnsName" +#define NID_dnsName 1092 +#define OBJ_dnsName OBJ_X509,100L + +#define SN_X500algorithms "X500algorithms" +#define LN_X500algorithms "directory services - algorithms" +#define NID_X500algorithms 378 +#define OBJ_X500algorithms OBJ_X500,8L + +#define SN_rsa "RSA" +#define LN_rsa "rsa" +#define NID_rsa 19 +#define OBJ_rsa OBJ_X500algorithms,1L,1L + +#define SN_mdc2WithRSA "RSA-MDC2" +#define LN_mdc2WithRSA "mdc2WithRSA" +#define NID_mdc2WithRSA 96 +#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L + +#define SN_mdc2 "MDC2" +#define LN_mdc2 "mdc2" +#define NID_mdc2 95 +#define OBJ_mdc2 OBJ_X500algorithms,3L,101L + +#define SN_id_ce "id-ce" +#define NID_id_ce 81 +#define OBJ_id_ce OBJ_X500,29L + +#define SN_subject_directory_attributes "subjectDirectoryAttributes" +#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" +#define NID_subject_directory_attributes 769 +#define OBJ_subject_directory_attributes OBJ_id_ce,9L + +#define SN_subject_key_identifier "subjectKeyIdentifier" +#define LN_subject_key_identifier "X509v3 Subject Key Identifier" +#define NID_subject_key_identifier 82 +#define OBJ_subject_key_identifier OBJ_id_ce,14L + +#define SN_key_usage "keyUsage" +#define LN_key_usage "X509v3 Key Usage" +#define NID_key_usage 83 +#define OBJ_key_usage OBJ_id_ce,15L + +#define SN_private_key_usage_period "privateKeyUsagePeriod" +#define LN_private_key_usage_period "X509v3 Private Key Usage Period" +#define NID_private_key_usage_period 84 +#define OBJ_private_key_usage_period OBJ_id_ce,16L + +#define SN_subject_alt_name "subjectAltName" +#define LN_subject_alt_name "X509v3 Subject Alternative Name" +#define NID_subject_alt_name 85 +#define OBJ_subject_alt_name OBJ_id_ce,17L + +#define SN_issuer_alt_name "issuerAltName" +#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +#define NID_issuer_alt_name 86 +#define OBJ_issuer_alt_name OBJ_id_ce,18L + +#define SN_basic_constraints "basicConstraints" +#define LN_basic_constraints "X509v3 Basic Constraints" +#define NID_basic_constraints 87 +#define OBJ_basic_constraints OBJ_id_ce,19L + +#define SN_crl_number "crlNumber" +#define LN_crl_number "X509v3 CRL Number" +#define NID_crl_number 88 +#define OBJ_crl_number OBJ_id_ce,20L + +#define SN_crl_reason "CRLReason" +#define LN_crl_reason "X509v3 CRL Reason Code" +#define NID_crl_reason 141 +#define OBJ_crl_reason OBJ_id_ce,21L + +#define SN_invalidity_date "invalidityDate" +#define LN_invalidity_date "Invalidity Date" +#define NID_invalidity_date 142 +#define OBJ_invalidity_date OBJ_id_ce,24L + +#define SN_delta_crl "deltaCRL" +#define LN_delta_crl "X509v3 Delta CRL Indicator" +#define NID_delta_crl 140 +#define OBJ_delta_crl OBJ_id_ce,27L + +#define SN_issuing_distribution_point "issuingDistributionPoint" +#define LN_issuing_distribution_point "X509v3 Issuing Distribution Point" +#define NID_issuing_distribution_point 770 +#define OBJ_issuing_distribution_point OBJ_id_ce,28L + +#define SN_certificate_issuer "certificateIssuer" +#define LN_certificate_issuer "X509v3 Certificate Issuer" +#define NID_certificate_issuer 771 +#define OBJ_certificate_issuer OBJ_id_ce,29L + +#define SN_name_constraints "nameConstraints" +#define LN_name_constraints "X509v3 Name Constraints" +#define NID_name_constraints 666 +#define OBJ_name_constraints OBJ_id_ce,30L + +#define SN_crl_distribution_points "crlDistributionPoints" +#define LN_crl_distribution_points "X509v3 CRL Distribution Points" +#define NID_crl_distribution_points 103 +#define OBJ_crl_distribution_points OBJ_id_ce,31L + +#define SN_certificate_policies "certificatePolicies" +#define LN_certificate_policies "X509v3 Certificate Policies" +#define NID_certificate_policies 89 +#define OBJ_certificate_policies OBJ_id_ce,32L + +#define SN_any_policy "anyPolicy" +#define LN_any_policy "X509v3 Any Policy" +#define NID_any_policy 746 +#define OBJ_any_policy OBJ_certificate_policies,0L + +#define SN_policy_mappings "policyMappings" +#define LN_policy_mappings "X509v3 Policy Mappings" +#define NID_policy_mappings 747 +#define OBJ_policy_mappings OBJ_id_ce,33L + +#define SN_authority_key_identifier "authorityKeyIdentifier" +#define LN_authority_key_identifier "X509v3 Authority Key Identifier" +#define NID_authority_key_identifier 90 +#define OBJ_authority_key_identifier OBJ_id_ce,35L + +#define SN_policy_constraints "policyConstraints" +#define LN_policy_constraints "X509v3 Policy Constraints" +#define NID_policy_constraints 401 +#define OBJ_policy_constraints OBJ_id_ce,36L + +#define SN_ext_key_usage "extendedKeyUsage" +#define LN_ext_key_usage "X509v3 Extended Key Usage" +#define NID_ext_key_usage 126 +#define OBJ_ext_key_usage OBJ_id_ce,37L + +#define SN_freshest_crl "freshestCRL" +#define LN_freshest_crl "X509v3 Freshest CRL" +#define NID_freshest_crl 857 +#define OBJ_freshest_crl OBJ_id_ce,46L + +#define SN_inhibit_any_policy "inhibitAnyPolicy" +#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" +#define NID_inhibit_any_policy 748 +#define OBJ_inhibit_any_policy OBJ_id_ce,54L + +#define SN_target_information "targetInformation" +#define LN_target_information "X509v3 AC Targeting" +#define NID_target_information 402 +#define OBJ_target_information OBJ_id_ce,55L + +#define SN_no_rev_avail "noRevAvail" +#define LN_no_rev_avail "X509v3 No Revocation Available" +#define NID_no_rev_avail 403 +#define OBJ_no_rev_avail OBJ_id_ce,56L + +#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" +#define LN_anyExtendedKeyUsage "Any Extended Key Usage" +#define NID_anyExtendedKeyUsage 910 +#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L + +#define SN_netscape "Netscape" +#define LN_netscape "Netscape Communications Corp." +#define NID_netscape 57 +#define OBJ_netscape 2L,16L,840L,1L,113730L + +#define SN_netscape_cert_extension "nsCertExt" +#define LN_netscape_cert_extension "Netscape Certificate Extension" +#define NID_netscape_cert_extension 58 +#define OBJ_netscape_cert_extension OBJ_netscape,1L + +#define SN_netscape_data_type "nsDataType" +#define LN_netscape_data_type "Netscape Data Type" +#define NID_netscape_data_type 59 +#define OBJ_netscape_data_type OBJ_netscape,2L + +#define SN_netscape_cert_type "nsCertType" +#define LN_netscape_cert_type "Netscape Cert Type" +#define NID_netscape_cert_type 71 +#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +#define SN_netscape_base_url "nsBaseUrl" +#define LN_netscape_base_url "Netscape Base Url" +#define NID_netscape_base_url 72 +#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +#define SN_netscape_revocation_url "nsRevocationUrl" +#define LN_netscape_revocation_url "Netscape Revocation Url" +#define NID_netscape_revocation_url 73 +#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +#define NID_netscape_ca_revocation_url 74 +#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +#define SN_netscape_renewal_url "nsRenewalUrl" +#define LN_netscape_renewal_url "Netscape Renewal Url" +#define NID_netscape_renewal_url 75 +#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +#define SN_netscape_ca_policy_url "nsCaPolicyUrl" +#define LN_netscape_ca_policy_url "Netscape CA Policy Url" +#define NID_netscape_ca_policy_url 76 +#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +#define SN_netscape_ssl_server_name "nsSslServerName" +#define LN_netscape_ssl_server_name "Netscape SSL Server Name" +#define NID_netscape_ssl_server_name 77 +#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +#define SN_netscape_comment "nsComment" +#define LN_netscape_comment "Netscape Comment" +#define NID_netscape_comment 78 +#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +#define SN_netscape_cert_sequence "nsCertSequence" +#define LN_netscape_cert_sequence "Netscape Certificate Sequence" +#define NID_netscape_cert_sequence 79 +#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +#define SN_ns_sgc "nsSGC" +#define LN_ns_sgc "Netscape Server Gated Crypto" +#define NID_ns_sgc 139 +#define OBJ_ns_sgc OBJ_netscape,4L,1L + +#define SN_org "ORG" +#define LN_org "org" +#define NID_org 379 +#define OBJ_org OBJ_iso,3L + +#define SN_dod "DOD" +#define LN_dod "dod" +#define NID_dod 380 +#define OBJ_dod OBJ_org,6L + +#define SN_iana "IANA" +#define LN_iana "iana" +#define NID_iana 381 +#define OBJ_iana OBJ_dod,1L + +#define OBJ_internet OBJ_iana + +#define SN_Directory "directory" +#define LN_Directory "Directory" +#define NID_Directory 382 +#define OBJ_Directory OBJ_internet,1L + +#define SN_Management "mgmt" +#define LN_Management "Management" +#define NID_Management 383 +#define OBJ_Management OBJ_internet,2L + +#define SN_Experimental "experimental" +#define LN_Experimental "Experimental" +#define NID_Experimental 384 +#define OBJ_Experimental OBJ_internet,3L + +#define SN_Private "private" +#define LN_Private "Private" +#define NID_Private 385 +#define OBJ_Private OBJ_internet,4L + +#define SN_Security "security" +#define LN_Security "Security" +#define NID_Security 386 +#define OBJ_Security OBJ_internet,5L + +#define SN_SNMPv2 "snmpv2" +#define LN_SNMPv2 "SNMPv2" +#define NID_SNMPv2 387 +#define OBJ_SNMPv2 OBJ_internet,6L + +#define LN_Mail "Mail" +#define NID_Mail 388 +#define OBJ_Mail OBJ_internet,7L + +#define SN_Enterprises "enterprises" +#define LN_Enterprises "Enterprises" +#define NID_Enterprises 389 +#define OBJ_Enterprises OBJ_Private,1L + +#define SN_dcObject "dcobject" +#define LN_dcObject "dcObject" +#define NID_dcObject 390 +#define OBJ_dcObject OBJ_Enterprises,1466L,344L + +#define SN_mime_mhs "mime-mhs" +#define LN_mime_mhs "MIME MHS" +#define NID_mime_mhs 504 +#define OBJ_mime_mhs OBJ_Mail,1L + +#define SN_mime_mhs_headings "mime-mhs-headings" +#define LN_mime_mhs_headings "mime-mhs-headings" +#define NID_mime_mhs_headings 505 +#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L + +#define SN_mime_mhs_bodies "mime-mhs-bodies" +#define LN_mime_mhs_bodies "mime-mhs-bodies" +#define NID_mime_mhs_bodies 506 +#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L + +#define SN_id_hex_partial_message "id-hex-partial-message" +#define LN_id_hex_partial_message "id-hex-partial-message" +#define NID_id_hex_partial_message 507 +#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L + +#define SN_id_hex_multipart_message "id-hex-multipart-message" +#define LN_id_hex_multipart_message "id-hex-multipart-message" +#define NID_id_hex_multipart_message 508 +#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L + +#define SN_zlib_compression "ZLIB" +#define LN_zlib_compression "zlib compression" +#define NID_zlib_compression 125 +#define OBJ_zlib_compression OBJ_id_smime_alg,8L + +#define OBJ_csor 2L,16L,840L,1L,101L,3L + +#define OBJ_nistAlgorithms OBJ_csor,4L + +#define OBJ_aes OBJ_nistAlgorithms,1L + +#define SN_aes_128_ecb "AES-128-ECB" +#define LN_aes_128_ecb "aes-128-ecb" +#define NID_aes_128_ecb 418 +#define OBJ_aes_128_ecb OBJ_aes,1L + +#define SN_aes_128_cbc "AES-128-CBC" +#define LN_aes_128_cbc "aes-128-cbc" +#define NID_aes_128_cbc 419 +#define OBJ_aes_128_cbc OBJ_aes,2L + +#define SN_aes_128_ofb128 "AES-128-OFB" +#define LN_aes_128_ofb128 "aes-128-ofb" +#define NID_aes_128_ofb128 420 +#define OBJ_aes_128_ofb128 OBJ_aes,3L + +#define SN_aes_128_cfb128 "AES-128-CFB" +#define LN_aes_128_cfb128 "aes-128-cfb" +#define NID_aes_128_cfb128 421 +#define OBJ_aes_128_cfb128 OBJ_aes,4L + +#define SN_id_aes128_wrap "id-aes128-wrap" +#define NID_id_aes128_wrap 788 +#define OBJ_id_aes128_wrap OBJ_aes,5L + +#define SN_aes_128_gcm "id-aes128-GCM" +#define LN_aes_128_gcm "aes-128-gcm" +#define NID_aes_128_gcm 895 +#define OBJ_aes_128_gcm OBJ_aes,6L + +#define SN_aes_128_ccm "id-aes128-CCM" +#define LN_aes_128_ccm "aes-128-ccm" +#define NID_aes_128_ccm 896 +#define OBJ_aes_128_ccm OBJ_aes,7L + +#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" +#define NID_id_aes128_wrap_pad 897 +#define OBJ_id_aes128_wrap_pad OBJ_aes,8L + +#define SN_aes_192_ecb "AES-192-ECB" +#define LN_aes_192_ecb "aes-192-ecb" +#define NID_aes_192_ecb 422 +#define OBJ_aes_192_ecb OBJ_aes,21L + +#define SN_aes_192_cbc "AES-192-CBC" +#define LN_aes_192_cbc "aes-192-cbc" +#define NID_aes_192_cbc 423 +#define OBJ_aes_192_cbc OBJ_aes,22L + +#define SN_aes_192_ofb128 "AES-192-OFB" +#define LN_aes_192_ofb128 "aes-192-ofb" +#define NID_aes_192_ofb128 424 +#define OBJ_aes_192_ofb128 OBJ_aes,23L + +#define SN_aes_192_cfb128 "AES-192-CFB" +#define LN_aes_192_cfb128 "aes-192-cfb" +#define NID_aes_192_cfb128 425 +#define OBJ_aes_192_cfb128 OBJ_aes,24L + +#define SN_id_aes192_wrap "id-aes192-wrap" +#define NID_id_aes192_wrap 789 +#define OBJ_id_aes192_wrap OBJ_aes,25L + +#define SN_aes_192_gcm "id-aes192-GCM" +#define LN_aes_192_gcm "aes-192-gcm" +#define NID_aes_192_gcm 898 +#define OBJ_aes_192_gcm OBJ_aes,26L + +#define SN_aes_192_ccm "id-aes192-CCM" +#define LN_aes_192_ccm "aes-192-ccm" +#define NID_aes_192_ccm 899 +#define OBJ_aes_192_ccm OBJ_aes,27L + +#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" +#define NID_id_aes192_wrap_pad 900 +#define OBJ_id_aes192_wrap_pad OBJ_aes,28L + +#define SN_aes_256_ecb "AES-256-ECB" +#define LN_aes_256_ecb "aes-256-ecb" +#define NID_aes_256_ecb 426 +#define OBJ_aes_256_ecb OBJ_aes,41L + +#define SN_aes_256_cbc "AES-256-CBC" +#define LN_aes_256_cbc "aes-256-cbc" +#define NID_aes_256_cbc 427 +#define OBJ_aes_256_cbc OBJ_aes,42L + +#define SN_aes_256_ofb128 "AES-256-OFB" +#define LN_aes_256_ofb128 "aes-256-ofb" +#define NID_aes_256_ofb128 428 +#define OBJ_aes_256_ofb128 OBJ_aes,43L + +#define SN_aes_256_cfb128 "AES-256-CFB" +#define LN_aes_256_cfb128 "aes-256-cfb" +#define NID_aes_256_cfb128 429 +#define OBJ_aes_256_cfb128 OBJ_aes,44L + +#define SN_id_aes256_wrap "id-aes256-wrap" +#define NID_id_aes256_wrap 790 +#define OBJ_id_aes256_wrap OBJ_aes,45L + +#define SN_aes_256_gcm "id-aes256-GCM" +#define LN_aes_256_gcm "aes-256-gcm" +#define NID_aes_256_gcm 901 +#define OBJ_aes_256_gcm OBJ_aes,46L + +#define SN_aes_256_ccm "id-aes256-CCM" +#define LN_aes_256_ccm "aes-256-ccm" +#define NID_aes_256_ccm 902 +#define OBJ_aes_256_ccm OBJ_aes,47L + +#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" +#define NID_id_aes256_wrap_pad 903 +#define OBJ_id_aes256_wrap_pad OBJ_aes,48L + +#define SN_aes_128_xts "AES-128-XTS" +#define LN_aes_128_xts "aes-128-xts" +#define NID_aes_128_xts 913 +#define OBJ_aes_128_xts OBJ_ieee_siswg,0L,1L,1L + +#define SN_aes_256_xts "AES-256-XTS" +#define LN_aes_256_xts "aes-256-xts" +#define NID_aes_256_xts 914 +#define OBJ_aes_256_xts OBJ_ieee_siswg,0L,1L,2L + +#define SN_aes_128_cfb1 "AES-128-CFB1" +#define LN_aes_128_cfb1 "aes-128-cfb1" +#define NID_aes_128_cfb1 650 + +#define SN_aes_192_cfb1 "AES-192-CFB1" +#define LN_aes_192_cfb1 "aes-192-cfb1" +#define NID_aes_192_cfb1 651 + +#define SN_aes_256_cfb1 "AES-256-CFB1" +#define LN_aes_256_cfb1 "aes-256-cfb1" +#define NID_aes_256_cfb1 652 + +#define SN_aes_128_cfb8 "AES-128-CFB8" +#define LN_aes_128_cfb8 "aes-128-cfb8" +#define NID_aes_128_cfb8 653 + +#define SN_aes_192_cfb8 "AES-192-CFB8" +#define LN_aes_192_cfb8 "aes-192-cfb8" +#define NID_aes_192_cfb8 654 + +#define SN_aes_256_cfb8 "AES-256-CFB8" +#define LN_aes_256_cfb8 "aes-256-cfb8" +#define NID_aes_256_cfb8 655 + +#define SN_aes_128_ctr "AES-128-CTR" +#define LN_aes_128_ctr "aes-128-ctr" +#define NID_aes_128_ctr 904 + +#define SN_aes_192_ctr "AES-192-CTR" +#define LN_aes_192_ctr "aes-192-ctr" +#define NID_aes_192_ctr 905 + +#define SN_aes_256_ctr "AES-256-CTR" +#define LN_aes_256_ctr "aes-256-ctr" +#define NID_aes_256_ctr 906 + +#define SN_aes_128_ocb "AES-128-OCB" +#define LN_aes_128_ocb "aes-128-ocb" +#define NID_aes_128_ocb 958 + +#define SN_aes_192_ocb "AES-192-OCB" +#define LN_aes_192_ocb "aes-192-ocb" +#define NID_aes_192_ocb 959 + +#define SN_aes_256_ocb "AES-256-OCB" +#define LN_aes_256_ocb "aes-256-ocb" +#define NID_aes_256_ocb 960 + +#define SN_des_cfb1 "DES-CFB1" +#define LN_des_cfb1 "des-cfb1" +#define NID_des_cfb1 656 + +#define SN_des_cfb8 "DES-CFB8" +#define LN_des_cfb8 "des-cfb8" +#define NID_des_cfb8 657 + +#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" +#define LN_des_ede3_cfb1 "des-ede3-cfb1" +#define NID_des_ede3_cfb1 658 + +#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" +#define LN_des_ede3_cfb8 "des-ede3-cfb8" +#define NID_des_ede3_cfb8 659 + +#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L + +#define SN_sha256 "SHA256" +#define LN_sha256 "sha256" +#define NID_sha256 672 +#define OBJ_sha256 OBJ_nist_hashalgs,1L + +#define SN_sha384 "SHA384" +#define LN_sha384 "sha384" +#define NID_sha384 673 +#define OBJ_sha384 OBJ_nist_hashalgs,2L + +#define SN_sha512 "SHA512" +#define LN_sha512 "sha512" +#define NID_sha512 674 +#define OBJ_sha512 OBJ_nist_hashalgs,3L + +#define SN_sha224 "SHA224" +#define LN_sha224 "sha224" +#define NID_sha224 675 +#define OBJ_sha224 OBJ_nist_hashalgs,4L + +#define SN_sha512_224 "SHA512-224" +#define LN_sha512_224 "sha512-224" +#define NID_sha512_224 1094 +#define OBJ_sha512_224 OBJ_nist_hashalgs,5L + +#define SN_sha512_256 "SHA512-256" +#define LN_sha512_256 "sha512-256" +#define NID_sha512_256 1095 +#define OBJ_sha512_256 OBJ_nist_hashalgs,6L + +#define SN_sha3_224 "SHA3-224" +#define LN_sha3_224 "sha3-224" +#define NID_sha3_224 1096 +#define OBJ_sha3_224 OBJ_nist_hashalgs,7L + +#define SN_sha3_256 "SHA3-256" +#define LN_sha3_256 "sha3-256" +#define NID_sha3_256 1097 +#define OBJ_sha3_256 OBJ_nist_hashalgs,8L + +#define SN_sha3_384 "SHA3-384" +#define LN_sha3_384 "sha3-384" +#define NID_sha3_384 1098 +#define OBJ_sha3_384 OBJ_nist_hashalgs,9L + +#define SN_sha3_512 "SHA3-512" +#define LN_sha3_512 "sha3-512" +#define NID_sha3_512 1099 +#define OBJ_sha3_512 OBJ_nist_hashalgs,10L + +#define SN_shake128 "SHAKE128" +#define LN_shake128 "shake128" +#define NID_shake128 1100 +#define OBJ_shake128 OBJ_nist_hashalgs,11L + +#define SN_shake256 "SHAKE256" +#define LN_shake256 "shake256" +#define NID_shake256 1101 +#define OBJ_shake256 OBJ_nist_hashalgs,12L + +#define SN_hmac_sha3_224 "id-hmacWithSHA3-224" +#define LN_hmac_sha3_224 "hmac-sha3-224" +#define NID_hmac_sha3_224 1102 +#define OBJ_hmac_sha3_224 OBJ_nist_hashalgs,13L + +#define SN_hmac_sha3_256 "id-hmacWithSHA3-256" +#define LN_hmac_sha3_256 "hmac-sha3-256" +#define NID_hmac_sha3_256 1103 +#define OBJ_hmac_sha3_256 OBJ_nist_hashalgs,14L + +#define SN_hmac_sha3_384 "id-hmacWithSHA3-384" +#define LN_hmac_sha3_384 "hmac-sha3-384" +#define NID_hmac_sha3_384 1104 +#define OBJ_hmac_sha3_384 OBJ_nist_hashalgs,15L + +#define SN_hmac_sha3_512 "id-hmacWithSHA3-512" +#define LN_hmac_sha3_512 "hmac-sha3-512" +#define NID_hmac_sha3_512 1105 +#define OBJ_hmac_sha3_512 OBJ_nist_hashalgs,16L + +#define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L + +#define SN_dsa_with_SHA224 "dsa_with_SHA224" +#define NID_dsa_with_SHA224 802 +#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L + +#define SN_dsa_with_SHA256 "dsa_with_SHA256" +#define NID_dsa_with_SHA256 803 +#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L + +#define OBJ_sigAlgs OBJ_nistAlgorithms,3L + +#define SN_dsa_with_SHA384 "id-dsa-with-sha384" +#define LN_dsa_with_SHA384 "dsa_with_SHA384" +#define NID_dsa_with_SHA384 1106 +#define OBJ_dsa_with_SHA384 OBJ_sigAlgs,3L + +#define SN_dsa_with_SHA512 "id-dsa-with-sha512" +#define LN_dsa_with_SHA512 "dsa_with_SHA512" +#define NID_dsa_with_SHA512 1107 +#define OBJ_dsa_with_SHA512 OBJ_sigAlgs,4L + +#define SN_dsa_with_SHA3_224 "id-dsa-with-sha3-224" +#define LN_dsa_with_SHA3_224 "dsa_with_SHA3-224" +#define NID_dsa_with_SHA3_224 1108 +#define OBJ_dsa_with_SHA3_224 OBJ_sigAlgs,5L + +#define SN_dsa_with_SHA3_256 "id-dsa-with-sha3-256" +#define LN_dsa_with_SHA3_256 "dsa_with_SHA3-256" +#define NID_dsa_with_SHA3_256 1109 +#define OBJ_dsa_with_SHA3_256 OBJ_sigAlgs,6L + +#define SN_dsa_with_SHA3_384 "id-dsa-with-sha3-384" +#define LN_dsa_with_SHA3_384 "dsa_with_SHA3-384" +#define NID_dsa_with_SHA3_384 1110 +#define OBJ_dsa_with_SHA3_384 OBJ_sigAlgs,7L + +#define SN_dsa_with_SHA3_512 "id-dsa-with-sha3-512" +#define LN_dsa_with_SHA3_512 "dsa_with_SHA3-512" +#define NID_dsa_with_SHA3_512 1111 +#define OBJ_dsa_with_SHA3_512 OBJ_sigAlgs,8L + +#define SN_ecdsa_with_SHA3_224 "id-ecdsa-with-sha3-224" +#define LN_ecdsa_with_SHA3_224 "ecdsa_with_SHA3-224" +#define NID_ecdsa_with_SHA3_224 1112 +#define OBJ_ecdsa_with_SHA3_224 OBJ_sigAlgs,9L + +#define SN_ecdsa_with_SHA3_256 "id-ecdsa-with-sha3-256" +#define LN_ecdsa_with_SHA3_256 "ecdsa_with_SHA3-256" +#define NID_ecdsa_with_SHA3_256 1113 +#define OBJ_ecdsa_with_SHA3_256 OBJ_sigAlgs,10L + +#define SN_ecdsa_with_SHA3_384 "id-ecdsa-with-sha3-384" +#define LN_ecdsa_with_SHA3_384 "ecdsa_with_SHA3-384" +#define NID_ecdsa_with_SHA3_384 1114 +#define OBJ_ecdsa_with_SHA3_384 OBJ_sigAlgs,11L + +#define SN_ecdsa_with_SHA3_512 "id-ecdsa-with-sha3-512" +#define LN_ecdsa_with_SHA3_512 "ecdsa_with_SHA3-512" +#define NID_ecdsa_with_SHA3_512 1115 +#define OBJ_ecdsa_with_SHA3_512 OBJ_sigAlgs,12L + +#define SN_RSA_SHA3_224 "id-rsassa-pkcs1-v1_5-with-sha3-224" +#define LN_RSA_SHA3_224 "RSA-SHA3-224" +#define NID_RSA_SHA3_224 1116 +#define OBJ_RSA_SHA3_224 OBJ_sigAlgs,13L + +#define SN_RSA_SHA3_256 "id-rsassa-pkcs1-v1_5-with-sha3-256" +#define LN_RSA_SHA3_256 "RSA-SHA3-256" +#define NID_RSA_SHA3_256 1117 +#define OBJ_RSA_SHA3_256 OBJ_sigAlgs,14L + +#define SN_RSA_SHA3_384 "id-rsassa-pkcs1-v1_5-with-sha3-384" +#define LN_RSA_SHA3_384 "RSA-SHA3-384" +#define NID_RSA_SHA3_384 1118 +#define OBJ_RSA_SHA3_384 OBJ_sigAlgs,15L + +#define SN_RSA_SHA3_512 "id-rsassa-pkcs1-v1_5-with-sha3-512" +#define LN_RSA_SHA3_512 "RSA-SHA3-512" +#define NID_RSA_SHA3_512 1119 +#define OBJ_RSA_SHA3_512 OBJ_sigAlgs,16L + +#define SN_hold_instruction_code "holdInstructionCode" +#define LN_hold_instruction_code "Hold Instruction Code" +#define NID_hold_instruction_code 430 +#define OBJ_hold_instruction_code OBJ_id_ce,23L + +#define OBJ_holdInstruction OBJ_X9_57,2L + +#define SN_hold_instruction_none "holdInstructionNone" +#define LN_hold_instruction_none "Hold Instruction None" +#define NID_hold_instruction_none 431 +#define OBJ_hold_instruction_none OBJ_holdInstruction,1L + +#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" +#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" +#define NID_hold_instruction_call_issuer 432 +#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L + +#define SN_hold_instruction_reject "holdInstructionReject" +#define LN_hold_instruction_reject "Hold Instruction Reject" +#define NID_hold_instruction_reject 433 +#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L + +#define SN_data "data" +#define NID_data 434 +#define OBJ_data OBJ_itu_t,9L + +#define SN_pss "pss" +#define NID_pss 435 +#define OBJ_pss OBJ_data,2342L + +#define SN_ucl "ucl" +#define NID_ucl 436 +#define OBJ_ucl OBJ_pss,19200300L + +#define SN_pilot "pilot" +#define NID_pilot 437 +#define OBJ_pilot OBJ_ucl,100L + +#define LN_pilotAttributeType "pilotAttributeType" +#define NID_pilotAttributeType 438 +#define OBJ_pilotAttributeType OBJ_pilot,1L + +#define LN_pilotAttributeSyntax "pilotAttributeSyntax" +#define NID_pilotAttributeSyntax 439 +#define OBJ_pilotAttributeSyntax OBJ_pilot,3L + +#define LN_pilotObjectClass "pilotObjectClass" +#define NID_pilotObjectClass 440 +#define OBJ_pilotObjectClass OBJ_pilot,4L + +#define LN_pilotGroups "pilotGroups" +#define NID_pilotGroups 441 +#define OBJ_pilotGroups OBJ_pilot,10L + +#define LN_iA5StringSyntax "iA5StringSyntax" +#define NID_iA5StringSyntax 442 +#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L + +#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" +#define NID_caseIgnoreIA5StringSyntax 443 +#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L + +#define LN_pilotObject "pilotObject" +#define NID_pilotObject 444 +#define OBJ_pilotObject OBJ_pilotObjectClass,3L + +#define LN_pilotPerson "pilotPerson" +#define NID_pilotPerson 445 +#define OBJ_pilotPerson OBJ_pilotObjectClass,4L + +#define SN_account "account" +#define NID_account 446 +#define OBJ_account OBJ_pilotObjectClass,5L + +#define SN_document "document" +#define NID_document 447 +#define OBJ_document OBJ_pilotObjectClass,6L + +#define SN_room "room" +#define NID_room 448 +#define OBJ_room OBJ_pilotObjectClass,7L + +#define LN_documentSeries "documentSeries" +#define NID_documentSeries 449 +#define OBJ_documentSeries OBJ_pilotObjectClass,9L + +#define SN_Domain "domain" +#define LN_Domain "Domain" +#define NID_Domain 392 +#define OBJ_Domain OBJ_pilotObjectClass,13L + +#define LN_rFC822localPart "rFC822localPart" +#define NID_rFC822localPart 450 +#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L + +#define LN_dNSDomain "dNSDomain" +#define NID_dNSDomain 451 +#define OBJ_dNSDomain OBJ_pilotObjectClass,15L + +#define LN_domainRelatedObject "domainRelatedObject" +#define NID_domainRelatedObject 452 +#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L + +#define LN_friendlyCountry "friendlyCountry" +#define NID_friendlyCountry 453 +#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L + +#define LN_simpleSecurityObject "simpleSecurityObject" +#define NID_simpleSecurityObject 454 +#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L + +#define LN_pilotOrganization "pilotOrganization" +#define NID_pilotOrganization 455 +#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L + +#define LN_pilotDSA "pilotDSA" +#define NID_pilotDSA 456 +#define OBJ_pilotDSA OBJ_pilotObjectClass,21L + +#define LN_qualityLabelledData "qualityLabelledData" +#define NID_qualityLabelledData 457 +#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L + +#define SN_userId "UID" +#define LN_userId "userId" +#define NID_userId 458 +#define OBJ_userId OBJ_pilotAttributeType,1L + +#define LN_textEncodedORAddress "textEncodedORAddress" +#define NID_textEncodedORAddress 459 +#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L + +#define SN_rfc822Mailbox "mail" +#define LN_rfc822Mailbox "rfc822Mailbox" +#define NID_rfc822Mailbox 460 +#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L + +#define SN_info "info" +#define NID_info 461 +#define OBJ_info OBJ_pilotAttributeType,4L + +#define LN_favouriteDrink "favouriteDrink" +#define NID_favouriteDrink 462 +#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L + +#define LN_roomNumber "roomNumber" +#define NID_roomNumber 463 +#define OBJ_roomNumber OBJ_pilotAttributeType,6L + +#define SN_photo "photo" +#define NID_photo 464 +#define OBJ_photo OBJ_pilotAttributeType,7L + +#define LN_userClass "userClass" +#define NID_userClass 465 +#define OBJ_userClass OBJ_pilotAttributeType,8L + +#define SN_host "host" +#define NID_host 466 +#define OBJ_host OBJ_pilotAttributeType,9L + +#define SN_manager "manager" +#define NID_manager 467 +#define OBJ_manager OBJ_pilotAttributeType,10L + +#define LN_documentIdentifier "documentIdentifier" +#define NID_documentIdentifier 468 +#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L + +#define LN_documentTitle "documentTitle" +#define NID_documentTitle 469 +#define OBJ_documentTitle OBJ_pilotAttributeType,12L + +#define LN_documentVersion "documentVersion" +#define NID_documentVersion 470 +#define OBJ_documentVersion OBJ_pilotAttributeType,13L + +#define LN_documentAuthor "documentAuthor" +#define NID_documentAuthor 471 +#define OBJ_documentAuthor OBJ_pilotAttributeType,14L + +#define LN_documentLocation "documentLocation" +#define NID_documentLocation 472 +#define OBJ_documentLocation OBJ_pilotAttributeType,15L + +#define LN_homeTelephoneNumber "homeTelephoneNumber" +#define NID_homeTelephoneNumber 473 +#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L + +#define SN_secretary "secretary" +#define NID_secretary 474 +#define OBJ_secretary OBJ_pilotAttributeType,21L + +#define LN_otherMailbox "otherMailbox" +#define NID_otherMailbox 475 +#define OBJ_otherMailbox OBJ_pilotAttributeType,22L + +#define LN_lastModifiedTime "lastModifiedTime" +#define NID_lastModifiedTime 476 +#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L + +#define LN_lastModifiedBy "lastModifiedBy" +#define NID_lastModifiedBy 477 +#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L + +#define SN_domainComponent "DC" +#define LN_domainComponent "domainComponent" +#define NID_domainComponent 391 +#define OBJ_domainComponent OBJ_pilotAttributeType,25L + +#define LN_aRecord "aRecord" +#define NID_aRecord 478 +#define OBJ_aRecord OBJ_pilotAttributeType,26L + +#define LN_pilotAttributeType27 "pilotAttributeType27" +#define NID_pilotAttributeType27 479 +#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L + +#define LN_mXRecord "mXRecord" +#define NID_mXRecord 480 +#define OBJ_mXRecord OBJ_pilotAttributeType,28L + +#define LN_nSRecord "nSRecord" +#define NID_nSRecord 481 +#define OBJ_nSRecord OBJ_pilotAttributeType,29L + +#define LN_sOARecord "sOARecord" +#define NID_sOARecord 482 +#define OBJ_sOARecord OBJ_pilotAttributeType,30L + +#define LN_cNAMERecord "cNAMERecord" +#define NID_cNAMERecord 483 +#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L + +#define LN_associatedDomain "associatedDomain" +#define NID_associatedDomain 484 +#define OBJ_associatedDomain OBJ_pilotAttributeType,37L + +#define LN_associatedName "associatedName" +#define NID_associatedName 485 +#define OBJ_associatedName OBJ_pilotAttributeType,38L + +#define LN_homePostalAddress "homePostalAddress" +#define NID_homePostalAddress 486 +#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L + +#define LN_personalTitle "personalTitle" +#define NID_personalTitle 487 +#define OBJ_personalTitle OBJ_pilotAttributeType,40L + +#define LN_mobileTelephoneNumber "mobileTelephoneNumber" +#define NID_mobileTelephoneNumber 488 +#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L + +#define LN_pagerTelephoneNumber "pagerTelephoneNumber" +#define NID_pagerTelephoneNumber 489 +#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L + +#define LN_friendlyCountryName "friendlyCountryName" +#define NID_friendlyCountryName 490 +#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L + +#define SN_uniqueIdentifier "uid" +#define LN_uniqueIdentifier "uniqueIdentifier" +#define NID_uniqueIdentifier 102 +#define OBJ_uniqueIdentifier OBJ_pilotAttributeType,44L + +#define LN_organizationalStatus "organizationalStatus" +#define NID_organizationalStatus 491 +#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L + +#define LN_janetMailbox "janetMailbox" +#define NID_janetMailbox 492 +#define OBJ_janetMailbox OBJ_pilotAttributeType,46L + +#define LN_mailPreferenceOption "mailPreferenceOption" +#define NID_mailPreferenceOption 493 +#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L + +#define LN_buildingName "buildingName" +#define NID_buildingName 494 +#define OBJ_buildingName OBJ_pilotAttributeType,48L + +#define LN_dSAQuality "dSAQuality" +#define NID_dSAQuality 495 +#define OBJ_dSAQuality OBJ_pilotAttributeType,49L + +#define LN_singleLevelQuality "singleLevelQuality" +#define NID_singleLevelQuality 496 +#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L + +#define LN_subtreeMinimumQuality "subtreeMinimumQuality" +#define NID_subtreeMinimumQuality 497 +#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L + +#define LN_subtreeMaximumQuality "subtreeMaximumQuality" +#define NID_subtreeMaximumQuality 498 +#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L + +#define LN_personalSignature "personalSignature" +#define NID_personalSignature 499 +#define OBJ_personalSignature OBJ_pilotAttributeType,53L + +#define LN_dITRedirect "dITRedirect" +#define NID_dITRedirect 500 +#define OBJ_dITRedirect OBJ_pilotAttributeType,54L + +#define SN_audio "audio" +#define NID_audio 501 +#define OBJ_audio OBJ_pilotAttributeType,55L + +#define LN_documentPublisher "documentPublisher" +#define NID_documentPublisher 502 +#define OBJ_documentPublisher OBJ_pilotAttributeType,56L + +#define SN_id_set "id-set" +#define LN_id_set "Secure Electronic Transactions" +#define NID_id_set 512 +#define OBJ_id_set OBJ_international_organizations,42L + +#define SN_set_ctype "set-ctype" +#define LN_set_ctype "content types" +#define NID_set_ctype 513 +#define OBJ_set_ctype OBJ_id_set,0L + +#define SN_set_msgExt "set-msgExt" +#define LN_set_msgExt "message extensions" +#define NID_set_msgExt 514 +#define OBJ_set_msgExt OBJ_id_set,1L + +#define SN_set_attr "set-attr" +#define NID_set_attr 515 +#define OBJ_set_attr OBJ_id_set,3L + +#define SN_set_policy "set-policy" +#define NID_set_policy 516 +#define OBJ_set_policy OBJ_id_set,5L + +#define SN_set_certExt "set-certExt" +#define LN_set_certExt "certificate extensions" +#define NID_set_certExt 517 +#define OBJ_set_certExt OBJ_id_set,7L + +#define SN_set_brand "set-brand" +#define NID_set_brand 518 +#define OBJ_set_brand OBJ_id_set,8L + +#define SN_setct_PANData "setct-PANData" +#define NID_setct_PANData 519 +#define OBJ_setct_PANData OBJ_set_ctype,0L + +#define SN_setct_PANToken "setct-PANToken" +#define NID_setct_PANToken 520 +#define OBJ_setct_PANToken OBJ_set_ctype,1L + +#define SN_setct_PANOnly "setct-PANOnly" +#define NID_setct_PANOnly 521 +#define OBJ_setct_PANOnly OBJ_set_ctype,2L + +#define SN_setct_OIData "setct-OIData" +#define NID_setct_OIData 522 +#define OBJ_setct_OIData OBJ_set_ctype,3L + +#define SN_setct_PI "setct-PI" +#define NID_setct_PI 523 +#define OBJ_setct_PI OBJ_set_ctype,4L + +#define SN_setct_PIData "setct-PIData" +#define NID_setct_PIData 524 +#define OBJ_setct_PIData OBJ_set_ctype,5L + +#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" +#define NID_setct_PIDataUnsigned 525 +#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L + +#define SN_setct_HODInput "setct-HODInput" +#define NID_setct_HODInput 526 +#define OBJ_setct_HODInput OBJ_set_ctype,7L + +#define SN_setct_AuthResBaggage "setct-AuthResBaggage" +#define NID_setct_AuthResBaggage 527 +#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L + +#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" +#define NID_setct_AuthRevReqBaggage 528 +#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L + +#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" +#define NID_setct_AuthRevResBaggage 529 +#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L + +#define SN_setct_CapTokenSeq "setct-CapTokenSeq" +#define NID_setct_CapTokenSeq 530 +#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L + +#define SN_setct_PInitResData "setct-PInitResData" +#define NID_setct_PInitResData 531 +#define OBJ_setct_PInitResData OBJ_set_ctype,12L + +#define SN_setct_PI_TBS "setct-PI-TBS" +#define NID_setct_PI_TBS 532 +#define OBJ_setct_PI_TBS OBJ_set_ctype,13L + +#define SN_setct_PResData "setct-PResData" +#define NID_setct_PResData 533 +#define OBJ_setct_PResData OBJ_set_ctype,14L + +#define SN_setct_AuthReqTBS "setct-AuthReqTBS" +#define NID_setct_AuthReqTBS 534 +#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L + +#define SN_setct_AuthResTBS "setct-AuthResTBS" +#define NID_setct_AuthResTBS 535 +#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L + +#define SN_setct_AuthResTBSX "setct-AuthResTBSX" +#define NID_setct_AuthResTBSX 536 +#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L + +#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" +#define NID_setct_AuthTokenTBS 537 +#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L + +#define SN_setct_CapTokenData "setct-CapTokenData" +#define NID_setct_CapTokenData 538 +#define OBJ_setct_CapTokenData OBJ_set_ctype,20L + +#define SN_setct_CapTokenTBS "setct-CapTokenTBS" +#define NID_setct_CapTokenTBS 539 +#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L + +#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" +#define NID_setct_AcqCardCodeMsg 540 +#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L + +#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" +#define NID_setct_AuthRevReqTBS 541 +#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L + +#define SN_setct_AuthRevResData "setct-AuthRevResData" +#define NID_setct_AuthRevResData 542 +#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L + +#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" +#define NID_setct_AuthRevResTBS 543 +#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L + +#define SN_setct_CapReqTBS "setct-CapReqTBS" +#define NID_setct_CapReqTBS 544 +#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L + +#define SN_setct_CapReqTBSX "setct-CapReqTBSX" +#define NID_setct_CapReqTBSX 545 +#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L + +#define SN_setct_CapResData "setct-CapResData" +#define NID_setct_CapResData 546 +#define OBJ_setct_CapResData OBJ_set_ctype,28L + +#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" +#define NID_setct_CapRevReqTBS 547 +#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L + +#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" +#define NID_setct_CapRevReqTBSX 548 +#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L + +#define SN_setct_CapRevResData "setct-CapRevResData" +#define NID_setct_CapRevResData 549 +#define OBJ_setct_CapRevResData OBJ_set_ctype,31L + +#define SN_setct_CredReqTBS "setct-CredReqTBS" +#define NID_setct_CredReqTBS 550 +#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L + +#define SN_setct_CredReqTBSX "setct-CredReqTBSX" +#define NID_setct_CredReqTBSX 551 +#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L + +#define SN_setct_CredResData "setct-CredResData" +#define NID_setct_CredResData 552 +#define OBJ_setct_CredResData OBJ_set_ctype,34L + +#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" +#define NID_setct_CredRevReqTBS 553 +#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L + +#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" +#define NID_setct_CredRevReqTBSX 554 +#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L + +#define SN_setct_CredRevResData "setct-CredRevResData" +#define NID_setct_CredRevResData 555 +#define OBJ_setct_CredRevResData OBJ_set_ctype,37L + +#define SN_setct_PCertReqData "setct-PCertReqData" +#define NID_setct_PCertReqData 556 +#define OBJ_setct_PCertReqData OBJ_set_ctype,38L + +#define SN_setct_PCertResTBS "setct-PCertResTBS" +#define NID_setct_PCertResTBS 557 +#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L + +#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" +#define NID_setct_BatchAdminReqData 558 +#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L + +#define SN_setct_BatchAdminResData "setct-BatchAdminResData" +#define NID_setct_BatchAdminResData 559 +#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L + +#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" +#define NID_setct_CardCInitResTBS 560 +#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L + +#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" +#define NID_setct_MeAqCInitResTBS 561 +#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L + +#define SN_setct_RegFormResTBS "setct-RegFormResTBS" +#define NID_setct_RegFormResTBS 562 +#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L + +#define SN_setct_CertReqData "setct-CertReqData" +#define NID_setct_CertReqData 563 +#define OBJ_setct_CertReqData OBJ_set_ctype,45L + +#define SN_setct_CertReqTBS "setct-CertReqTBS" +#define NID_setct_CertReqTBS 564 +#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L + +#define SN_setct_CertResData "setct-CertResData" +#define NID_setct_CertResData 565 +#define OBJ_setct_CertResData OBJ_set_ctype,47L + +#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" +#define NID_setct_CertInqReqTBS 566 +#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L + +#define SN_setct_ErrorTBS "setct-ErrorTBS" +#define NID_setct_ErrorTBS 567 +#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L + +#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" +#define NID_setct_PIDualSignedTBE 568 +#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L + +#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" +#define NID_setct_PIUnsignedTBE 569 +#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L + +#define SN_setct_AuthReqTBE "setct-AuthReqTBE" +#define NID_setct_AuthReqTBE 570 +#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L + +#define SN_setct_AuthResTBE "setct-AuthResTBE" +#define NID_setct_AuthResTBE 571 +#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L + +#define SN_setct_AuthResTBEX "setct-AuthResTBEX" +#define NID_setct_AuthResTBEX 572 +#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L + +#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" +#define NID_setct_AuthTokenTBE 573 +#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L + +#define SN_setct_CapTokenTBE "setct-CapTokenTBE" +#define NID_setct_CapTokenTBE 574 +#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L + +#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" +#define NID_setct_CapTokenTBEX 575 +#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L + +#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" +#define NID_setct_AcqCardCodeMsgTBE 576 +#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L + +#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" +#define NID_setct_AuthRevReqTBE 577 +#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L + +#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" +#define NID_setct_AuthRevResTBE 578 +#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L + +#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" +#define NID_setct_AuthRevResTBEB 579 +#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L + +#define SN_setct_CapReqTBE "setct-CapReqTBE" +#define NID_setct_CapReqTBE 580 +#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L + +#define SN_setct_CapReqTBEX "setct-CapReqTBEX" +#define NID_setct_CapReqTBEX 581 +#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L + +#define SN_setct_CapResTBE "setct-CapResTBE" +#define NID_setct_CapResTBE 582 +#define OBJ_setct_CapResTBE OBJ_set_ctype,64L + +#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" +#define NID_setct_CapRevReqTBE 583 +#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L + +#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" +#define NID_setct_CapRevReqTBEX 584 +#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L + +#define SN_setct_CapRevResTBE "setct-CapRevResTBE" +#define NID_setct_CapRevResTBE 585 +#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L + +#define SN_setct_CredReqTBE "setct-CredReqTBE" +#define NID_setct_CredReqTBE 586 +#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L + +#define SN_setct_CredReqTBEX "setct-CredReqTBEX" +#define NID_setct_CredReqTBEX 587 +#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L + +#define SN_setct_CredResTBE "setct-CredResTBE" +#define NID_setct_CredResTBE 588 +#define OBJ_setct_CredResTBE OBJ_set_ctype,70L + +#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" +#define NID_setct_CredRevReqTBE 589 +#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L + +#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" +#define NID_setct_CredRevReqTBEX 590 +#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L + +#define SN_setct_CredRevResTBE "setct-CredRevResTBE" +#define NID_setct_CredRevResTBE 591 +#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L + +#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" +#define NID_setct_BatchAdminReqTBE 592 +#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L + +#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" +#define NID_setct_BatchAdminResTBE 593 +#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L + +#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" +#define NID_setct_RegFormReqTBE 594 +#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L + +#define SN_setct_CertReqTBE "setct-CertReqTBE" +#define NID_setct_CertReqTBE 595 +#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L + +#define SN_setct_CertReqTBEX "setct-CertReqTBEX" +#define NID_setct_CertReqTBEX 596 +#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L + +#define SN_setct_CertResTBE "setct-CertResTBE" +#define NID_setct_CertResTBE 597 +#define OBJ_setct_CertResTBE OBJ_set_ctype,79L + +#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" +#define NID_setct_CRLNotificationTBS 598 +#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L + +#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" +#define NID_setct_CRLNotificationResTBS 599 +#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L + +#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" +#define NID_setct_BCIDistributionTBS 600 +#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L + +#define SN_setext_genCrypt "setext-genCrypt" +#define LN_setext_genCrypt "generic cryptogram" +#define NID_setext_genCrypt 601 +#define OBJ_setext_genCrypt OBJ_set_msgExt,1L + +#define SN_setext_miAuth "setext-miAuth" +#define LN_setext_miAuth "merchant initiated auth" +#define NID_setext_miAuth 602 +#define OBJ_setext_miAuth OBJ_set_msgExt,3L + +#define SN_setext_pinSecure "setext-pinSecure" +#define NID_setext_pinSecure 603 +#define OBJ_setext_pinSecure OBJ_set_msgExt,4L + +#define SN_setext_pinAny "setext-pinAny" +#define NID_setext_pinAny 604 +#define OBJ_setext_pinAny OBJ_set_msgExt,5L + +#define SN_setext_track2 "setext-track2" +#define NID_setext_track2 605 +#define OBJ_setext_track2 OBJ_set_msgExt,7L + +#define SN_setext_cv "setext-cv" +#define LN_setext_cv "additional verification" +#define NID_setext_cv 606 +#define OBJ_setext_cv OBJ_set_msgExt,8L + +#define SN_set_policy_root "set-policy-root" +#define NID_set_policy_root 607 +#define OBJ_set_policy_root OBJ_set_policy,0L + +#define SN_setCext_hashedRoot "setCext-hashedRoot" +#define NID_setCext_hashedRoot 608 +#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L + +#define SN_setCext_certType "setCext-certType" +#define NID_setCext_certType 609 +#define OBJ_setCext_certType OBJ_set_certExt,1L + +#define SN_setCext_merchData "setCext-merchData" +#define NID_setCext_merchData 610 +#define OBJ_setCext_merchData OBJ_set_certExt,2L + +#define SN_setCext_cCertRequired "setCext-cCertRequired" +#define NID_setCext_cCertRequired 611 +#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L + +#define SN_setCext_tunneling "setCext-tunneling" +#define NID_setCext_tunneling 612 +#define OBJ_setCext_tunneling OBJ_set_certExt,4L + +#define SN_setCext_setExt "setCext-setExt" +#define NID_setCext_setExt 613 +#define OBJ_setCext_setExt OBJ_set_certExt,5L + +#define SN_setCext_setQualf "setCext-setQualf" +#define NID_setCext_setQualf 614 +#define OBJ_setCext_setQualf OBJ_set_certExt,6L + +#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" +#define NID_setCext_PGWYcapabilities 615 +#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L + +#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" +#define NID_setCext_TokenIdentifier 616 +#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L + +#define SN_setCext_Track2Data "setCext-Track2Data" +#define NID_setCext_Track2Data 617 +#define OBJ_setCext_Track2Data OBJ_set_certExt,9L + +#define SN_setCext_TokenType "setCext-TokenType" +#define NID_setCext_TokenType 618 +#define OBJ_setCext_TokenType OBJ_set_certExt,10L + +#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" +#define NID_setCext_IssuerCapabilities 619 +#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L + +#define SN_setAttr_Cert "setAttr-Cert" +#define NID_setAttr_Cert 620 +#define OBJ_setAttr_Cert OBJ_set_attr,0L + +#define SN_setAttr_PGWYcap "setAttr-PGWYcap" +#define LN_setAttr_PGWYcap "payment gateway capabilities" +#define NID_setAttr_PGWYcap 621 +#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L + +#define SN_setAttr_TokenType "setAttr-TokenType" +#define NID_setAttr_TokenType 622 +#define OBJ_setAttr_TokenType OBJ_set_attr,2L + +#define SN_setAttr_IssCap "setAttr-IssCap" +#define LN_setAttr_IssCap "issuer capabilities" +#define NID_setAttr_IssCap 623 +#define OBJ_setAttr_IssCap OBJ_set_attr,3L + +#define SN_set_rootKeyThumb "set-rootKeyThumb" +#define NID_set_rootKeyThumb 624 +#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L + +#define SN_set_addPolicy "set-addPolicy" +#define NID_set_addPolicy 625 +#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L + +#define SN_setAttr_Token_EMV "setAttr-Token-EMV" +#define NID_setAttr_Token_EMV 626 +#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L + +#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" +#define NID_setAttr_Token_B0Prime 627 +#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L + +#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" +#define NID_setAttr_IssCap_CVM 628 +#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L + +#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" +#define NID_setAttr_IssCap_T2 629 +#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L + +#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" +#define NID_setAttr_IssCap_Sig 630 +#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L + +#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" +#define LN_setAttr_GenCryptgrm "generate cryptogram" +#define NID_setAttr_GenCryptgrm 631 +#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L + +#define SN_setAttr_T2Enc "setAttr-T2Enc" +#define LN_setAttr_T2Enc "encrypted track 2" +#define NID_setAttr_T2Enc 632 +#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L + +#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" +#define LN_setAttr_T2cleartxt "cleartext track 2" +#define NID_setAttr_T2cleartxt 633 +#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L + +#define SN_setAttr_TokICCsig "setAttr-TokICCsig" +#define LN_setAttr_TokICCsig "ICC or token signature" +#define NID_setAttr_TokICCsig 634 +#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L + +#define SN_setAttr_SecDevSig "setAttr-SecDevSig" +#define LN_setAttr_SecDevSig "secure device signature" +#define NID_setAttr_SecDevSig 635 +#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L + +#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" +#define NID_set_brand_IATA_ATA 636 +#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L + +#define SN_set_brand_Diners "set-brand-Diners" +#define NID_set_brand_Diners 637 +#define OBJ_set_brand_Diners OBJ_set_brand,30L + +#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" +#define NID_set_brand_AmericanExpress 638 +#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L + +#define SN_set_brand_JCB "set-brand-JCB" +#define NID_set_brand_JCB 639 +#define OBJ_set_brand_JCB OBJ_set_brand,35L + +#define SN_set_brand_Visa "set-brand-Visa" +#define NID_set_brand_Visa 640 +#define OBJ_set_brand_Visa OBJ_set_brand,4L + +#define SN_set_brand_MasterCard "set-brand-MasterCard" +#define NID_set_brand_MasterCard 641 +#define OBJ_set_brand_MasterCard OBJ_set_brand,5L + +#define SN_set_brand_Novus "set-brand-Novus" +#define NID_set_brand_Novus 642 +#define OBJ_set_brand_Novus OBJ_set_brand,6011L + +#define SN_des_cdmf "DES-CDMF" +#define LN_des_cdmf "des-cdmf" +#define NID_des_cdmf 643 +#define OBJ_des_cdmf OBJ_rsadsi,3L,10L + +#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" +#define NID_rsaOAEPEncryptionSET 644 +#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L + +#define SN_ipsec3 "Oakley-EC2N-3" +#define LN_ipsec3 "ipsec3" +#define NID_ipsec3 749 + +#define SN_ipsec4 "Oakley-EC2N-4" +#define LN_ipsec4 "ipsec4" +#define NID_ipsec4 750 + +#define SN_whirlpool "whirlpool" +#define NID_whirlpool 804 +#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L + +#define SN_cryptopro "cryptopro" +#define NID_cryptopro 805 +#define OBJ_cryptopro OBJ_member_body,643L,2L,2L + +#define SN_cryptocom "cryptocom" +#define NID_cryptocom 806 +#define OBJ_cryptocom OBJ_member_body,643L,2L,9L + +#define SN_id_tc26 "id-tc26" +#define NID_id_tc26 974 +#define OBJ_id_tc26 OBJ_member_body,643L,7L,1L + +#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" +#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" +#define NID_id_GostR3411_94_with_GostR3410_2001 807 +#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L + +#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" +#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" +#define NID_id_GostR3411_94_with_GostR3410_94 808 +#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L + +#define SN_id_GostR3411_94 "md_gost94" +#define LN_id_GostR3411_94 "GOST R 34.11-94" +#define NID_id_GostR3411_94 809 +#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L + +#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" +#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" +#define NID_id_HMACGostR3411_94 810 +#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L + +#define SN_id_GostR3410_2001 "gost2001" +#define LN_id_GostR3410_2001 "GOST R 34.10-2001" +#define NID_id_GostR3410_2001 811 +#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L + +#define SN_id_GostR3410_94 "gost94" +#define LN_id_GostR3410_94 "GOST R 34.10-94" +#define NID_id_GostR3410_94 812 +#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L + +#define SN_id_Gost28147_89 "gost89" +#define LN_id_Gost28147_89 "GOST 28147-89" +#define NID_id_Gost28147_89 813 +#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L + +#define SN_gost89_cnt "gost89-cnt" +#define NID_gost89_cnt 814 + +#define SN_gost89_cnt_12 "gost89-cnt-12" +#define NID_gost89_cnt_12 975 + +#define SN_gost89_cbc "gost89-cbc" +#define NID_gost89_cbc 1009 + +#define SN_gost89_ecb "gost89-ecb" +#define NID_gost89_ecb 1010 + +#define SN_gost89_ctr "gost89-ctr" +#define NID_gost89_ctr 1011 + +#define SN_id_Gost28147_89_MAC "gost-mac" +#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" +#define NID_id_Gost28147_89_MAC 815 +#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L + +#define SN_gost_mac_12 "gost-mac-12" +#define NID_gost_mac_12 976 + +#define SN_id_GostR3411_94_prf "prf-gostr3411-94" +#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" +#define NID_id_GostR3411_94_prf 816 +#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L + +#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" +#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" +#define NID_id_GostR3410_2001DH 817 +#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L + +#define SN_id_GostR3410_94DH "id-GostR3410-94DH" +#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" +#define NID_id_GostR3410_94DH 818 +#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L + +#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" +#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 +#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L + +#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" +#define NID_id_Gost28147_89_None_KeyMeshing 820 +#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L + +#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" +#define NID_id_GostR3411_94_TestParamSet 821 +#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L + +#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" +#define NID_id_GostR3411_94_CryptoProParamSet 822 +#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L + +#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" +#define NID_id_Gost28147_89_TestParamSet 823 +#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L + +#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 +#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L + +#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 +#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L + +#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 +#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L + +#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 +#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L + +#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 +#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L + +#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" +#define NID_id_GostR3410_94_TestParamSet 831 +#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L + +#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 +#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L + +#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 +#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L + +#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 +#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L + +#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 +#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L + +#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 +#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L + +#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 +#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L + +#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 +#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L + +#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" +#define NID_id_GostR3410_2001_TestParamSet 839 +#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L + +#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 +#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L + +#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 +#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L + +#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 +#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L + +#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 +#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L + +#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 +#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L + +#define SN_id_GostR3410_94_a "id-GostR3410-94-a" +#define NID_id_GostR3410_94_a 845 +#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L + +#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" +#define NID_id_GostR3410_94_aBis 846 +#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L + +#define SN_id_GostR3410_94_b "id-GostR3410-94-b" +#define NID_id_GostR3410_94_b 847 +#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L + +#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" +#define NID_id_GostR3410_94_bBis 848 +#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L + +#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" +#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" +#define NID_id_Gost28147_89_cc 849 +#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L + +#define SN_id_GostR3410_94_cc "gost94cc" +#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" +#define NID_id_GostR3410_94_cc 850 +#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L + +#define SN_id_GostR3410_2001_cc "gost2001cc" +#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" +#define NID_id_GostR3410_2001_cc 851 +#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L + +#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" +#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 +#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L + +#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" +#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 +#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L + +#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" +#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" +#define NID_id_GostR3410_2001_ParamSet_cc 854 +#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L + +#define SN_id_tc26_algorithms "id-tc26-algorithms" +#define NID_id_tc26_algorithms 977 +#define OBJ_id_tc26_algorithms OBJ_id_tc26,1L + +#define SN_id_tc26_sign "id-tc26-sign" +#define NID_id_tc26_sign 978 +#define OBJ_id_tc26_sign OBJ_id_tc26_algorithms,1L + +#define SN_id_GostR3410_2012_256 "gost2012_256" +#define LN_id_GostR3410_2012_256 "GOST R 34.10-2012 with 256 bit modulus" +#define NID_id_GostR3410_2012_256 979 +#define OBJ_id_GostR3410_2012_256 OBJ_id_tc26_sign,1L + +#define SN_id_GostR3410_2012_512 "gost2012_512" +#define LN_id_GostR3410_2012_512 "GOST R 34.10-2012 with 512 bit modulus" +#define NID_id_GostR3410_2012_512 980 +#define OBJ_id_GostR3410_2012_512 OBJ_id_tc26_sign,2L + +#define SN_id_tc26_digest "id-tc26-digest" +#define NID_id_tc26_digest 981 +#define OBJ_id_tc26_digest OBJ_id_tc26_algorithms,2L + +#define SN_id_GostR3411_2012_256 "md_gost12_256" +#define LN_id_GostR3411_2012_256 "GOST R 34.11-2012 with 256 bit hash" +#define NID_id_GostR3411_2012_256 982 +#define OBJ_id_GostR3411_2012_256 OBJ_id_tc26_digest,2L + +#define SN_id_GostR3411_2012_512 "md_gost12_512" +#define LN_id_GostR3411_2012_512 "GOST R 34.11-2012 with 512 bit hash" +#define NID_id_GostR3411_2012_512 983 +#define OBJ_id_GostR3411_2012_512 OBJ_id_tc26_digest,3L + +#define SN_id_tc26_signwithdigest "id-tc26-signwithdigest" +#define NID_id_tc26_signwithdigest 984 +#define OBJ_id_tc26_signwithdigest OBJ_id_tc26_algorithms,3L + +#define SN_id_tc26_signwithdigest_gost3410_2012_256 "id-tc26-signwithdigest-gost3410-2012-256" +#define LN_id_tc26_signwithdigest_gost3410_2012_256 "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" +#define NID_id_tc26_signwithdigest_gost3410_2012_256 985 +#define OBJ_id_tc26_signwithdigest_gost3410_2012_256 OBJ_id_tc26_signwithdigest,2L + +#define SN_id_tc26_signwithdigest_gost3410_2012_512 "id-tc26-signwithdigest-gost3410-2012-512" +#define LN_id_tc26_signwithdigest_gost3410_2012_512 "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" +#define NID_id_tc26_signwithdigest_gost3410_2012_512 986 +#define OBJ_id_tc26_signwithdigest_gost3410_2012_512 OBJ_id_tc26_signwithdigest,3L + +#define SN_id_tc26_mac "id-tc26-mac" +#define NID_id_tc26_mac 987 +#define OBJ_id_tc26_mac OBJ_id_tc26_algorithms,4L + +#define SN_id_tc26_hmac_gost_3411_2012_256 "id-tc26-hmac-gost-3411-2012-256" +#define LN_id_tc26_hmac_gost_3411_2012_256 "HMAC GOST 34.11-2012 256 bit" +#define NID_id_tc26_hmac_gost_3411_2012_256 988 +#define OBJ_id_tc26_hmac_gost_3411_2012_256 OBJ_id_tc26_mac,1L + +#define SN_id_tc26_hmac_gost_3411_2012_512 "id-tc26-hmac-gost-3411-2012-512" +#define LN_id_tc26_hmac_gost_3411_2012_512 "HMAC GOST 34.11-2012 512 bit" +#define NID_id_tc26_hmac_gost_3411_2012_512 989 +#define OBJ_id_tc26_hmac_gost_3411_2012_512 OBJ_id_tc26_mac,2L + +#define SN_id_tc26_cipher "id-tc26-cipher" +#define NID_id_tc26_cipher 990 +#define OBJ_id_tc26_cipher OBJ_id_tc26_algorithms,5L + +#define SN_id_tc26_cipher_gostr3412_2015_magma "id-tc26-cipher-gostr3412-2015-magma" +#define NID_id_tc26_cipher_gostr3412_2015_magma 1173 +#define OBJ_id_tc26_cipher_gostr3412_2015_magma OBJ_id_tc26_cipher,1L + +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm "id-tc26-cipher-gostr3412-2015-magma-ctracpkm" +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm 1174 +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm OBJ_id_tc26_cipher_gostr3412_2015_magma,1L + +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac" +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac 1175 +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_magma,2L + +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik "id-tc26-cipher-gostr3412-2015-kuznyechik" +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik 1176 +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik OBJ_id_tc26_cipher,2L + +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm" +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm 1177 +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,1L + +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac" +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac 1178 +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,2L + +#define SN_id_tc26_agreement "id-tc26-agreement" +#define NID_id_tc26_agreement 991 +#define OBJ_id_tc26_agreement OBJ_id_tc26_algorithms,6L + +#define SN_id_tc26_agreement_gost_3410_2012_256 "id-tc26-agreement-gost-3410-2012-256" +#define NID_id_tc26_agreement_gost_3410_2012_256 992 +#define OBJ_id_tc26_agreement_gost_3410_2012_256 OBJ_id_tc26_agreement,1L + +#define SN_id_tc26_agreement_gost_3410_2012_512 "id-tc26-agreement-gost-3410-2012-512" +#define NID_id_tc26_agreement_gost_3410_2012_512 993 +#define OBJ_id_tc26_agreement_gost_3410_2012_512 OBJ_id_tc26_agreement,2L + +#define SN_id_tc26_wrap "id-tc26-wrap" +#define NID_id_tc26_wrap 1179 +#define OBJ_id_tc26_wrap OBJ_id_tc26_algorithms,7L + +#define SN_id_tc26_wrap_gostr3412_2015_magma "id-tc26-wrap-gostr3412-2015-magma" +#define NID_id_tc26_wrap_gostr3412_2015_magma 1180 +#define OBJ_id_tc26_wrap_gostr3412_2015_magma OBJ_id_tc26_wrap,1L + +#define SN_id_tc26_wrap_gostr3412_2015_magma_kexp15 "id-tc26-wrap-gostr3412-2015-magma-kexp15" +#define NID_id_tc26_wrap_gostr3412_2015_magma_kexp15 1181 +#define OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_magma,1L + +#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik "id-tc26-wrap-gostr3412-2015-kuznyechik" +#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik 1182 +#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik OBJ_id_tc26_wrap,2L + +#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15" +#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1183 +#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_magma,1L + +#define SN_id_tc26_constants "id-tc26-constants" +#define NID_id_tc26_constants 994 +#define OBJ_id_tc26_constants OBJ_id_tc26,2L + +#define SN_id_tc26_sign_constants "id-tc26-sign-constants" +#define NID_id_tc26_sign_constants 995 +#define OBJ_id_tc26_sign_constants OBJ_id_tc26_constants,1L + +#define SN_id_tc26_gost_3410_2012_256_constants "id-tc26-gost-3410-2012-256-constants" +#define NID_id_tc26_gost_3410_2012_256_constants 1147 +#define OBJ_id_tc26_gost_3410_2012_256_constants OBJ_id_tc26_sign_constants,1L + +#define SN_id_tc26_gost_3410_2012_256_paramSetA "id-tc26-gost-3410-2012-256-paramSetA" +#define LN_id_tc26_gost_3410_2012_256_paramSetA "GOST R 34.10-2012 (256 bit) ParamSet A" +#define NID_id_tc26_gost_3410_2012_256_paramSetA 1148 +#define OBJ_id_tc26_gost_3410_2012_256_paramSetA OBJ_id_tc26_gost_3410_2012_256_constants,1L + +#define SN_id_tc26_gost_3410_2012_256_paramSetB "id-tc26-gost-3410-2012-256-paramSetB" +#define LN_id_tc26_gost_3410_2012_256_paramSetB "GOST R 34.10-2012 (256 bit) ParamSet B" +#define NID_id_tc26_gost_3410_2012_256_paramSetB 1184 +#define OBJ_id_tc26_gost_3410_2012_256_paramSetB OBJ_id_tc26_gost_3410_2012_256_constants,2L + +#define SN_id_tc26_gost_3410_2012_256_paramSetC "id-tc26-gost-3410-2012-256-paramSetC" +#define LN_id_tc26_gost_3410_2012_256_paramSetC "GOST R 34.10-2012 (256 bit) ParamSet C" +#define NID_id_tc26_gost_3410_2012_256_paramSetC 1185 +#define OBJ_id_tc26_gost_3410_2012_256_paramSetC OBJ_id_tc26_gost_3410_2012_256_constants,3L + +#define SN_id_tc26_gost_3410_2012_256_paramSetD "id-tc26-gost-3410-2012-256-paramSetD" +#define LN_id_tc26_gost_3410_2012_256_paramSetD "GOST R 34.10-2012 (256 bit) ParamSet D" +#define NID_id_tc26_gost_3410_2012_256_paramSetD 1186 +#define OBJ_id_tc26_gost_3410_2012_256_paramSetD OBJ_id_tc26_gost_3410_2012_256_constants,4L + +#define SN_id_tc26_gost_3410_2012_512_constants "id-tc26-gost-3410-2012-512-constants" +#define NID_id_tc26_gost_3410_2012_512_constants 996 +#define OBJ_id_tc26_gost_3410_2012_512_constants OBJ_id_tc26_sign_constants,2L + +#define SN_id_tc26_gost_3410_2012_512_paramSetTest "id-tc26-gost-3410-2012-512-paramSetTest" +#define LN_id_tc26_gost_3410_2012_512_paramSetTest "GOST R 34.10-2012 (512 bit) testing parameter set" +#define NID_id_tc26_gost_3410_2012_512_paramSetTest 997 +#define OBJ_id_tc26_gost_3410_2012_512_paramSetTest OBJ_id_tc26_gost_3410_2012_512_constants,0L + +#define SN_id_tc26_gost_3410_2012_512_paramSetA "id-tc26-gost-3410-2012-512-paramSetA" +#define LN_id_tc26_gost_3410_2012_512_paramSetA "GOST R 34.10-2012 (512 bit) ParamSet A" +#define NID_id_tc26_gost_3410_2012_512_paramSetA 998 +#define OBJ_id_tc26_gost_3410_2012_512_paramSetA OBJ_id_tc26_gost_3410_2012_512_constants,1L + +#define SN_id_tc26_gost_3410_2012_512_paramSetB "id-tc26-gost-3410-2012-512-paramSetB" +#define LN_id_tc26_gost_3410_2012_512_paramSetB "GOST R 34.10-2012 (512 bit) ParamSet B" +#define NID_id_tc26_gost_3410_2012_512_paramSetB 999 +#define OBJ_id_tc26_gost_3410_2012_512_paramSetB OBJ_id_tc26_gost_3410_2012_512_constants,2L + +#define SN_id_tc26_gost_3410_2012_512_paramSetC "id-tc26-gost-3410-2012-512-paramSetC" +#define LN_id_tc26_gost_3410_2012_512_paramSetC "GOST R 34.10-2012 (512 bit) ParamSet C" +#define NID_id_tc26_gost_3410_2012_512_paramSetC 1149 +#define OBJ_id_tc26_gost_3410_2012_512_paramSetC OBJ_id_tc26_gost_3410_2012_512_constants,3L + +#define SN_id_tc26_digest_constants "id-tc26-digest-constants" +#define NID_id_tc26_digest_constants 1000 +#define OBJ_id_tc26_digest_constants OBJ_id_tc26_constants,2L + +#define SN_id_tc26_cipher_constants "id-tc26-cipher-constants" +#define NID_id_tc26_cipher_constants 1001 +#define OBJ_id_tc26_cipher_constants OBJ_id_tc26_constants,5L + +#define SN_id_tc26_gost_28147_constants "id-tc26-gost-28147-constants" +#define NID_id_tc26_gost_28147_constants 1002 +#define OBJ_id_tc26_gost_28147_constants OBJ_id_tc26_cipher_constants,1L + +#define SN_id_tc26_gost_28147_param_Z "id-tc26-gost-28147-param-Z" +#define LN_id_tc26_gost_28147_param_Z "GOST 28147-89 TC26 parameter set" +#define NID_id_tc26_gost_28147_param_Z 1003 +#define OBJ_id_tc26_gost_28147_param_Z OBJ_id_tc26_gost_28147_constants,1L + +#define SN_INN "INN" +#define LN_INN "INN" +#define NID_INN 1004 +#define OBJ_INN OBJ_member_body,643L,3L,131L,1L,1L + +#define SN_OGRN "OGRN" +#define LN_OGRN "OGRN" +#define NID_OGRN 1005 +#define OBJ_OGRN OBJ_member_body,643L,100L,1L + +#define SN_SNILS "SNILS" +#define LN_SNILS "SNILS" +#define NID_SNILS 1006 +#define OBJ_SNILS OBJ_member_body,643L,100L,3L + +#define SN_subjectSignTool "subjectSignTool" +#define LN_subjectSignTool "Signing Tool of Subject" +#define NID_subjectSignTool 1007 +#define OBJ_subjectSignTool OBJ_member_body,643L,100L,111L + +#define SN_issuerSignTool "issuerSignTool" +#define LN_issuerSignTool "Signing Tool of Issuer" +#define NID_issuerSignTool 1008 +#define OBJ_issuerSignTool OBJ_member_body,643L,100L,112L + +#define SN_grasshopper_ecb "grasshopper-ecb" +#define NID_grasshopper_ecb 1012 + +#define SN_grasshopper_ctr "grasshopper-ctr" +#define NID_grasshopper_ctr 1013 + +#define SN_grasshopper_ofb "grasshopper-ofb" +#define NID_grasshopper_ofb 1014 + +#define SN_grasshopper_cbc "grasshopper-cbc" +#define NID_grasshopper_cbc 1015 + +#define SN_grasshopper_cfb "grasshopper-cfb" +#define NID_grasshopper_cfb 1016 + +#define SN_grasshopper_mac "grasshopper-mac" +#define NID_grasshopper_mac 1017 + +#define SN_magma_ecb "magma-ecb" +#define NID_magma_ecb 1187 + +#define SN_magma_ctr "magma-ctr" +#define NID_magma_ctr 1188 + +#define SN_magma_ofb "magma-ofb" +#define NID_magma_ofb 1189 + +#define SN_magma_cbc "magma-cbc" +#define NID_magma_cbc 1190 + +#define SN_magma_cfb "magma-cfb" +#define NID_magma_cfb 1191 + +#define SN_magma_mac "magma-mac" +#define NID_magma_mac 1192 + +#define SN_camellia_128_cbc "CAMELLIA-128-CBC" +#define LN_camellia_128_cbc "camellia-128-cbc" +#define NID_camellia_128_cbc 751 +#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L + +#define SN_camellia_192_cbc "CAMELLIA-192-CBC" +#define LN_camellia_192_cbc "camellia-192-cbc" +#define NID_camellia_192_cbc 752 +#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L + +#define SN_camellia_256_cbc "CAMELLIA-256-CBC" +#define LN_camellia_256_cbc "camellia-256-cbc" +#define NID_camellia_256_cbc 753 +#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L + +#define SN_id_camellia128_wrap "id-camellia128-wrap" +#define NID_id_camellia128_wrap 907 +#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L + +#define SN_id_camellia192_wrap "id-camellia192-wrap" +#define NID_id_camellia192_wrap 908 +#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L + +#define SN_id_camellia256_wrap "id-camellia256-wrap" +#define NID_id_camellia256_wrap 909 +#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L + +#define OBJ_ntt_ds 0L,3L,4401L,5L + +#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L + +#define SN_camellia_128_ecb "CAMELLIA-128-ECB" +#define LN_camellia_128_ecb "camellia-128-ecb" +#define NID_camellia_128_ecb 754 +#define OBJ_camellia_128_ecb OBJ_camellia,1L + +#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" +#define LN_camellia_128_ofb128 "camellia-128-ofb" +#define NID_camellia_128_ofb128 766 +#define OBJ_camellia_128_ofb128 OBJ_camellia,3L + +#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" +#define LN_camellia_128_cfb128 "camellia-128-cfb" +#define NID_camellia_128_cfb128 757 +#define OBJ_camellia_128_cfb128 OBJ_camellia,4L + +#define SN_camellia_128_gcm "CAMELLIA-128-GCM" +#define LN_camellia_128_gcm "camellia-128-gcm" +#define NID_camellia_128_gcm 961 +#define OBJ_camellia_128_gcm OBJ_camellia,6L + +#define SN_camellia_128_ccm "CAMELLIA-128-CCM" +#define LN_camellia_128_ccm "camellia-128-ccm" +#define NID_camellia_128_ccm 962 +#define OBJ_camellia_128_ccm OBJ_camellia,7L + +#define SN_camellia_128_ctr "CAMELLIA-128-CTR" +#define LN_camellia_128_ctr "camellia-128-ctr" +#define NID_camellia_128_ctr 963 +#define OBJ_camellia_128_ctr OBJ_camellia,9L + +#define SN_camellia_128_cmac "CAMELLIA-128-CMAC" +#define LN_camellia_128_cmac "camellia-128-cmac" +#define NID_camellia_128_cmac 964 +#define OBJ_camellia_128_cmac OBJ_camellia,10L + +#define SN_camellia_192_ecb "CAMELLIA-192-ECB" +#define LN_camellia_192_ecb "camellia-192-ecb" +#define NID_camellia_192_ecb 755 +#define OBJ_camellia_192_ecb OBJ_camellia,21L + +#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" +#define LN_camellia_192_ofb128 "camellia-192-ofb" +#define NID_camellia_192_ofb128 767 +#define OBJ_camellia_192_ofb128 OBJ_camellia,23L + +#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" +#define LN_camellia_192_cfb128 "camellia-192-cfb" +#define NID_camellia_192_cfb128 758 +#define OBJ_camellia_192_cfb128 OBJ_camellia,24L + +#define SN_camellia_192_gcm "CAMELLIA-192-GCM" +#define LN_camellia_192_gcm "camellia-192-gcm" +#define NID_camellia_192_gcm 965 +#define OBJ_camellia_192_gcm OBJ_camellia,26L + +#define SN_camellia_192_ccm "CAMELLIA-192-CCM" +#define LN_camellia_192_ccm "camellia-192-ccm" +#define NID_camellia_192_ccm 966 +#define OBJ_camellia_192_ccm OBJ_camellia,27L + +#define SN_camellia_192_ctr "CAMELLIA-192-CTR" +#define LN_camellia_192_ctr "camellia-192-ctr" +#define NID_camellia_192_ctr 967 +#define OBJ_camellia_192_ctr OBJ_camellia,29L + +#define SN_camellia_192_cmac "CAMELLIA-192-CMAC" +#define LN_camellia_192_cmac "camellia-192-cmac" +#define NID_camellia_192_cmac 968 +#define OBJ_camellia_192_cmac OBJ_camellia,30L + +#define SN_camellia_256_ecb "CAMELLIA-256-ECB" +#define LN_camellia_256_ecb "camellia-256-ecb" +#define NID_camellia_256_ecb 756 +#define OBJ_camellia_256_ecb OBJ_camellia,41L + +#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" +#define LN_camellia_256_ofb128 "camellia-256-ofb" +#define NID_camellia_256_ofb128 768 +#define OBJ_camellia_256_ofb128 OBJ_camellia,43L + +#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" +#define LN_camellia_256_cfb128 "camellia-256-cfb" +#define NID_camellia_256_cfb128 759 +#define OBJ_camellia_256_cfb128 OBJ_camellia,44L + +#define SN_camellia_256_gcm "CAMELLIA-256-GCM" +#define LN_camellia_256_gcm "camellia-256-gcm" +#define NID_camellia_256_gcm 969 +#define OBJ_camellia_256_gcm OBJ_camellia,46L + +#define SN_camellia_256_ccm "CAMELLIA-256-CCM" +#define LN_camellia_256_ccm "camellia-256-ccm" +#define NID_camellia_256_ccm 970 +#define OBJ_camellia_256_ccm OBJ_camellia,47L + +#define SN_camellia_256_ctr "CAMELLIA-256-CTR" +#define LN_camellia_256_ctr "camellia-256-ctr" +#define NID_camellia_256_ctr 971 +#define OBJ_camellia_256_ctr OBJ_camellia,49L + +#define SN_camellia_256_cmac "CAMELLIA-256-CMAC" +#define LN_camellia_256_cmac "camellia-256-cmac" +#define NID_camellia_256_cmac 972 +#define OBJ_camellia_256_cmac OBJ_camellia,50L + +#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" +#define LN_camellia_128_cfb1 "camellia-128-cfb1" +#define NID_camellia_128_cfb1 760 + +#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" +#define LN_camellia_192_cfb1 "camellia-192-cfb1" +#define NID_camellia_192_cfb1 761 + +#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" +#define LN_camellia_256_cfb1 "camellia-256-cfb1" +#define NID_camellia_256_cfb1 762 + +#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" +#define LN_camellia_128_cfb8 "camellia-128-cfb8" +#define NID_camellia_128_cfb8 763 + +#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" +#define LN_camellia_192_cfb8 "camellia-192-cfb8" +#define NID_camellia_192_cfb8 764 + +#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" +#define LN_camellia_256_cfb8 "camellia-256-cfb8" +#define NID_camellia_256_cfb8 765 + +#define OBJ_aria 1L,2L,410L,200046L,1L,1L + +#define SN_aria_128_ecb "ARIA-128-ECB" +#define LN_aria_128_ecb "aria-128-ecb" +#define NID_aria_128_ecb 1065 +#define OBJ_aria_128_ecb OBJ_aria,1L + +#define SN_aria_128_cbc "ARIA-128-CBC" +#define LN_aria_128_cbc "aria-128-cbc" +#define NID_aria_128_cbc 1066 +#define OBJ_aria_128_cbc OBJ_aria,2L + +#define SN_aria_128_cfb128 "ARIA-128-CFB" +#define LN_aria_128_cfb128 "aria-128-cfb" +#define NID_aria_128_cfb128 1067 +#define OBJ_aria_128_cfb128 OBJ_aria,3L + +#define SN_aria_128_ofb128 "ARIA-128-OFB" +#define LN_aria_128_ofb128 "aria-128-ofb" +#define NID_aria_128_ofb128 1068 +#define OBJ_aria_128_ofb128 OBJ_aria,4L + +#define SN_aria_128_ctr "ARIA-128-CTR" +#define LN_aria_128_ctr "aria-128-ctr" +#define NID_aria_128_ctr 1069 +#define OBJ_aria_128_ctr OBJ_aria,5L + +#define SN_aria_192_ecb "ARIA-192-ECB" +#define LN_aria_192_ecb "aria-192-ecb" +#define NID_aria_192_ecb 1070 +#define OBJ_aria_192_ecb OBJ_aria,6L + +#define SN_aria_192_cbc "ARIA-192-CBC" +#define LN_aria_192_cbc "aria-192-cbc" +#define NID_aria_192_cbc 1071 +#define OBJ_aria_192_cbc OBJ_aria,7L + +#define SN_aria_192_cfb128 "ARIA-192-CFB" +#define LN_aria_192_cfb128 "aria-192-cfb" +#define NID_aria_192_cfb128 1072 +#define OBJ_aria_192_cfb128 OBJ_aria,8L + +#define SN_aria_192_ofb128 "ARIA-192-OFB" +#define LN_aria_192_ofb128 "aria-192-ofb" +#define NID_aria_192_ofb128 1073 +#define OBJ_aria_192_ofb128 OBJ_aria,9L + +#define SN_aria_192_ctr "ARIA-192-CTR" +#define LN_aria_192_ctr "aria-192-ctr" +#define NID_aria_192_ctr 1074 +#define OBJ_aria_192_ctr OBJ_aria,10L + +#define SN_aria_256_ecb "ARIA-256-ECB" +#define LN_aria_256_ecb "aria-256-ecb" +#define NID_aria_256_ecb 1075 +#define OBJ_aria_256_ecb OBJ_aria,11L + +#define SN_aria_256_cbc "ARIA-256-CBC" +#define LN_aria_256_cbc "aria-256-cbc" +#define NID_aria_256_cbc 1076 +#define OBJ_aria_256_cbc OBJ_aria,12L + +#define SN_aria_256_cfb128 "ARIA-256-CFB" +#define LN_aria_256_cfb128 "aria-256-cfb" +#define NID_aria_256_cfb128 1077 +#define OBJ_aria_256_cfb128 OBJ_aria,13L + +#define SN_aria_256_ofb128 "ARIA-256-OFB" +#define LN_aria_256_ofb128 "aria-256-ofb" +#define NID_aria_256_ofb128 1078 +#define OBJ_aria_256_ofb128 OBJ_aria,14L + +#define SN_aria_256_ctr "ARIA-256-CTR" +#define LN_aria_256_ctr "aria-256-ctr" +#define NID_aria_256_ctr 1079 +#define OBJ_aria_256_ctr OBJ_aria,15L + +#define SN_aria_128_cfb1 "ARIA-128-CFB1" +#define LN_aria_128_cfb1 "aria-128-cfb1" +#define NID_aria_128_cfb1 1080 + +#define SN_aria_192_cfb1 "ARIA-192-CFB1" +#define LN_aria_192_cfb1 "aria-192-cfb1" +#define NID_aria_192_cfb1 1081 + +#define SN_aria_256_cfb1 "ARIA-256-CFB1" +#define LN_aria_256_cfb1 "aria-256-cfb1" +#define NID_aria_256_cfb1 1082 + +#define SN_aria_128_cfb8 "ARIA-128-CFB8" +#define LN_aria_128_cfb8 "aria-128-cfb8" +#define NID_aria_128_cfb8 1083 + +#define SN_aria_192_cfb8 "ARIA-192-CFB8" +#define LN_aria_192_cfb8 "aria-192-cfb8" +#define NID_aria_192_cfb8 1084 + +#define SN_aria_256_cfb8 "ARIA-256-CFB8" +#define LN_aria_256_cfb8 "aria-256-cfb8" +#define NID_aria_256_cfb8 1085 + +#define SN_aria_128_ccm "ARIA-128-CCM" +#define LN_aria_128_ccm "aria-128-ccm" +#define NID_aria_128_ccm 1120 +#define OBJ_aria_128_ccm OBJ_aria,37L + +#define SN_aria_192_ccm "ARIA-192-CCM" +#define LN_aria_192_ccm "aria-192-ccm" +#define NID_aria_192_ccm 1121 +#define OBJ_aria_192_ccm OBJ_aria,38L + +#define SN_aria_256_ccm "ARIA-256-CCM" +#define LN_aria_256_ccm "aria-256-ccm" +#define NID_aria_256_ccm 1122 +#define OBJ_aria_256_ccm OBJ_aria,39L + +#define SN_aria_128_gcm "ARIA-128-GCM" +#define LN_aria_128_gcm "aria-128-gcm" +#define NID_aria_128_gcm 1123 +#define OBJ_aria_128_gcm OBJ_aria,34L + +#define SN_aria_192_gcm "ARIA-192-GCM" +#define LN_aria_192_gcm "aria-192-gcm" +#define NID_aria_192_gcm 1124 +#define OBJ_aria_192_gcm OBJ_aria,35L + +#define SN_aria_256_gcm "ARIA-256-GCM" +#define LN_aria_256_gcm "aria-256-gcm" +#define NID_aria_256_gcm 1125 +#define OBJ_aria_256_gcm OBJ_aria,36L + +#define SN_kisa "KISA" +#define LN_kisa "kisa" +#define NID_kisa 773 +#define OBJ_kisa OBJ_member_body,410L,200004L + +#define SN_seed_ecb "SEED-ECB" +#define LN_seed_ecb "seed-ecb" +#define NID_seed_ecb 776 +#define OBJ_seed_ecb OBJ_kisa,1L,3L + +#define SN_seed_cbc "SEED-CBC" +#define LN_seed_cbc "seed-cbc" +#define NID_seed_cbc 777 +#define OBJ_seed_cbc OBJ_kisa,1L,4L + +#define SN_seed_cfb128 "SEED-CFB" +#define LN_seed_cfb128 "seed-cfb" +#define NID_seed_cfb128 779 +#define OBJ_seed_cfb128 OBJ_kisa,1L,5L + +#define SN_seed_ofb128 "SEED-OFB" +#define LN_seed_ofb128 "seed-ofb" +#define NID_seed_ofb128 778 +#define OBJ_seed_ofb128 OBJ_kisa,1L,6L + +#define SN_sm4_ecb "SM4-ECB" +#define LN_sm4_ecb "sm4-ecb" +#define NID_sm4_ecb 1133 +#define OBJ_sm4_ecb OBJ_sm_scheme,104L,1L + +#define SN_sm4_cbc "SM4-CBC" +#define LN_sm4_cbc "sm4-cbc" +#define NID_sm4_cbc 1134 +#define OBJ_sm4_cbc OBJ_sm_scheme,104L,2L + +#define SN_sm4_ofb128 "SM4-OFB" +#define LN_sm4_ofb128 "sm4-ofb" +#define NID_sm4_ofb128 1135 +#define OBJ_sm4_ofb128 OBJ_sm_scheme,104L,3L + +#define SN_sm4_cfb128 "SM4-CFB" +#define LN_sm4_cfb128 "sm4-cfb" +#define NID_sm4_cfb128 1137 +#define OBJ_sm4_cfb128 OBJ_sm_scheme,104L,4L + +#define SN_sm4_cfb1 "SM4-CFB1" +#define LN_sm4_cfb1 "sm4-cfb1" +#define NID_sm4_cfb1 1136 +#define OBJ_sm4_cfb1 OBJ_sm_scheme,104L,5L + +#define SN_sm4_cfb8 "SM4-CFB8" +#define LN_sm4_cfb8 "sm4-cfb8" +#define NID_sm4_cfb8 1138 +#define OBJ_sm4_cfb8 OBJ_sm_scheme,104L,6L + +#define SN_sm4_ctr "SM4-CTR" +#define LN_sm4_ctr "sm4-ctr" +#define NID_sm4_ctr 1139 +#define OBJ_sm4_ctr OBJ_sm_scheme,104L,7L + +#define SN_hmac "HMAC" +#define LN_hmac "hmac" +#define NID_hmac 855 + +#define SN_cmac "CMAC" +#define LN_cmac "cmac" +#define NID_cmac 894 + +#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" +#define LN_rc4_hmac_md5 "rc4-hmac-md5" +#define NID_rc4_hmac_md5 915 + +#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" +#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" +#define NID_aes_128_cbc_hmac_sha1 916 + +#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" +#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" +#define NID_aes_192_cbc_hmac_sha1 917 + +#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" +#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" +#define NID_aes_256_cbc_hmac_sha1 918 + +#define SN_aes_128_cbc_hmac_sha256 "AES-128-CBC-HMAC-SHA256" +#define LN_aes_128_cbc_hmac_sha256 "aes-128-cbc-hmac-sha256" +#define NID_aes_128_cbc_hmac_sha256 948 + +#define SN_aes_192_cbc_hmac_sha256 "AES-192-CBC-HMAC-SHA256" +#define LN_aes_192_cbc_hmac_sha256 "aes-192-cbc-hmac-sha256" +#define NID_aes_192_cbc_hmac_sha256 949 + +#define SN_aes_256_cbc_hmac_sha256 "AES-256-CBC-HMAC-SHA256" +#define LN_aes_256_cbc_hmac_sha256 "aes-256-cbc-hmac-sha256" +#define NID_aes_256_cbc_hmac_sha256 950 + +#define SN_chacha20_poly1305 "ChaCha20-Poly1305" +#define LN_chacha20_poly1305 "chacha20-poly1305" +#define NID_chacha20_poly1305 1018 + +#define SN_chacha20 "ChaCha20" +#define LN_chacha20 "chacha20" +#define NID_chacha20 1019 + +#define SN_dhpublicnumber "dhpublicnumber" +#define LN_dhpublicnumber "X9.42 DH" +#define NID_dhpublicnumber 920 +#define OBJ_dhpublicnumber OBJ_ISO_US,10046L,2L,1L + +#define SN_brainpoolP160r1 "brainpoolP160r1" +#define NID_brainpoolP160r1 921 +#define OBJ_brainpoolP160r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,1L + +#define SN_brainpoolP160t1 "brainpoolP160t1" +#define NID_brainpoolP160t1 922 +#define OBJ_brainpoolP160t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,2L + +#define SN_brainpoolP192r1 "brainpoolP192r1" +#define NID_brainpoolP192r1 923 +#define OBJ_brainpoolP192r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,3L + +#define SN_brainpoolP192t1 "brainpoolP192t1" +#define NID_brainpoolP192t1 924 +#define OBJ_brainpoolP192t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,4L + +#define SN_brainpoolP224r1 "brainpoolP224r1" +#define NID_brainpoolP224r1 925 +#define OBJ_brainpoolP224r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,5L + +#define SN_brainpoolP224t1 "brainpoolP224t1" +#define NID_brainpoolP224t1 926 +#define OBJ_brainpoolP224t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,6L + +#define SN_brainpoolP256r1 "brainpoolP256r1" +#define NID_brainpoolP256r1 927 +#define OBJ_brainpoolP256r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,7L + +#define SN_brainpoolP256t1 "brainpoolP256t1" +#define NID_brainpoolP256t1 928 +#define OBJ_brainpoolP256t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,8L + +#define SN_brainpoolP320r1 "brainpoolP320r1" +#define NID_brainpoolP320r1 929 +#define OBJ_brainpoolP320r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,9L + +#define SN_brainpoolP320t1 "brainpoolP320t1" +#define NID_brainpoolP320t1 930 +#define OBJ_brainpoolP320t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,10L + +#define SN_brainpoolP384r1 "brainpoolP384r1" +#define NID_brainpoolP384r1 931 +#define OBJ_brainpoolP384r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,11L + +#define SN_brainpoolP384t1 "brainpoolP384t1" +#define NID_brainpoolP384t1 932 +#define OBJ_brainpoolP384t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,12L + +#define SN_brainpoolP512r1 "brainpoolP512r1" +#define NID_brainpoolP512r1 933 +#define OBJ_brainpoolP512r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,13L + +#define SN_brainpoolP512t1 "brainpoolP512t1" +#define NID_brainpoolP512t1 934 +#define OBJ_brainpoolP512t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,14L + +#define OBJ_x9_63_scheme 1L,3L,133L,16L,840L,63L,0L + +#define OBJ_secg_scheme OBJ_certicom_arc,1L + +#define SN_dhSinglePass_stdDH_sha1kdf_scheme "dhSinglePass-stdDH-sha1kdf-scheme" +#define NID_dhSinglePass_stdDH_sha1kdf_scheme 936 +#define OBJ_dhSinglePass_stdDH_sha1kdf_scheme OBJ_x9_63_scheme,2L + +#define SN_dhSinglePass_stdDH_sha224kdf_scheme "dhSinglePass-stdDH-sha224kdf-scheme" +#define NID_dhSinglePass_stdDH_sha224kdf_scheme 937 +#define OBJ_dhSinglePass_stdDH_sha224kdf_scheme OBJ_secg_scheme,11L,0L + +#define SN_dhSinglePass_stdDH_sha256kdf_scheme "dhSinglePass-stdDH-sha256kdf-scheme" +#define NID_dhSinglePass_stdDH_sha256kdf_scheme 938 +#define OBJ_dhSinglePass_stdDH_sha256kdf_scheme OBJ_secg_scheme,11L,1L + +#define SN_dhSinglePass_stdDH_sha384kdf_scheme "dhSinglePass-stdDH-sha384kdf-scheme" +#define NID_dhSinglePass_stdDH_sha384kdf_scheme 939 +#define OBJ_dhSinglePass_stdDH_sha384kdf_scheme OBJ_secg_scheme,11L,2L + +#define SN_dhSinglePass_stdDH_sha512kdf_scheme "dhSinglePass-stdDH-sha512kdf-scheme" +#define NID_dhSinglePass_stdDH_sha512kdf_scheme 940 +#define OBJ_dhSinglePass_stdDH_sha512kdf_scheme OBJ_secg_scheme,11L,3L + +#define SN_dhSinglePass_cofactorDH_sha1kdf_scheme "dhSinglePass-cofactorDH-sha1kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha1kdf_scheme 941 +#define OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme OBJ_x9_63_scheme,3L + +#define SN_dhSinglePass_cofactorDH_sha224kdf_scheme "dhSinglePass-cofactorDH-sha224kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha224kdf_scheme 942 +#define OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme OBJ_secg_scheme,14L,0L + +#define SN_dhSinglePass_cofactorDH_sha256kdf_scheme "dhSinglePass-cofactorDH-sha256kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha256kdf_scheme 943 +#define OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme OBJ_secg_scheme,14L,1L + +#define SN_dhSinglePass_cofactorDH_sha384kdf_scheme "dhSinglePass-cofactorDH-sha384kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha384kdf_scheme 944 +#define OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme OBJ_secg_scheme,14L,2L + +#define SN_dhSinglePass_cofactorDH_sha512kdf_scheme "dhSinglePass-cofactorDH-sha512kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha512kdf_scheme 945 +#define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme OBJ_secg_scheme,14L,3L + +#define SN_dh_std_kdf "dh-std-kdf" +#define NID_dh_std_kdf 946 + +#define SN_dh_cofactor_kdf "dh-cofactor-kdf" +#define NID_dh_cofactor_kdf 947 + +#define SN_ct_precert_scts "ct_precert_scts" +#define LN_ct_precert_scts "CT Precertificate SCTs" +#define NID_ct_precert_scts 951 +#define OBJ_ct_precert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,2L + +#define SN_ct_precert_poison "ct_precert_poison" +#define LN_ct_precert_poison "CT Precertificate Poison" +#define NID_ct_precert_poison 952 +#define OBJ_ct_precert_poison 1L,3L,6L,1L,4L,1L,11129L,2L,4L,3L + +#define SN_ct_precert_signer "ct_precert_signer" +#define LN_ct_precert_signer "CT Precertificate Signer" +#define NID_ct_precert_signer 953 +#define OBJ_ct_precert_signer 1L,3L,6L,1L,4L,1L,11129L,2L,4L,4L + +#define SN_ct_cert_scts "ct_cert_scts" +#define LN_ct_cert_scts "CT Certificate SCTs" +#define NID_ct_cert_scts 954 +#define OBJ_ct_cert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L + +#define SN_jurisdictionLocalityName "jurisdictionL" +#define LN_jurisdictionLocalityName "jurisdictionLocalityName" +#define NID_jurisdictionLocalityName 955 +#define OBJ_jurisdictionLocalityName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L + +#define SN_jurisdictionStateOrProvinceName "jurisdictionST" +#define LN_jurisdictionStateOrProvinceName "jurisdictionStateOrProvinceName" +#define NID_jurisdictionStateOrProvinceName 956 +#define OBJ_jurisdictionStateOrProvinceName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L + +#define SN_jurisdictionCountryName "jurisdictionC" +#define LN_jurisdictionCountryName "jurisdictionCountryName" +#define NID_jurisdictionCountryName 957 +#define OBJ_jurisdictionCountryName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L + +#define SN_id_scrypt "id-scrypt" +#define LN_id_scrypt "scrypt" +#define NID_id_scrypt 973 +#define OBJ_id_scrypt 1L,3L,6L,1L,4L,1L,11591L,4L,11L + +#define SN_tls1_prf "TLS1-PRF" +#define LN_tls1_prf "tls1-prf" +#define NID_tls1_prf 1021 + +#define SN_hkdf "HKDF" +#define LN_hkdf "hkdf" +#define NID_hkdf 1036 + +#define SN_id_pkinit "id-pkinit" +#define NID_id_pkinit 1031 +#define OBJ_id_pkinit 1L,3L,6L,1L,5L,2L,3L + +#define SN_pkInitClientAuth "pkInitClientAuth" +#define LN_pkInitClientAuth "PKINIT Client Auth" +#define NID_pkInitClientAuth 1032 +#define OBJ_pkInitClientAuth OBJ_id_pkinit,4L + +#define SN_pkInitKDC "pkInitKDC" +#define LN_pkInitKDC "Signing KDC Response" +#define NID_pkInitKDC 1033 +#define OBJ_pkInitKDC OBJ_id_pkinit,5L + +#define SN_X25519 "X25519" +#define NID_X25519 1034 +#define OBJ_X25519 1L,3L,101L,110L + +#define SN_X448 "X448" +#define NID_X448 1035 +#define OBJ_X448 1L,3L,101L,111L + +#define SN_ED25519 "ED25519" +#define NID_ED25519 1087 +#define OBJ_ED25519 1L,3L,101L,112L + +#define SN_ED448 "ED448" +#define NID_ED448 1088 +#define OBJ_ED448 1L,3L,101L,113L + +#define SN_kx_rsa "KxRSA" +#define LN_kx_rsa "kx-rsa" +#define NID_kx_rsa 1037 + +#define SN_kx_ecdhe "KxECDHE" +#define LN_kx_ecdhe "kx-ecdhe" +#define NID_kx_ecdhe 1038 + +#define SN_kx_dhe "KxDHE" +#define LN_kx_dhe "kx-dhe" +#define NID_kx_dhe 1039 + +#define SN_kx_ecdhe_psk "KxECDHE-PSK" +#define LN_kx_ecdhe_psk "kx-ecdhe-psk" +#define NID_kx_ecdhe_psk 1040 + +#define SN_kx_dhe_psk "KxDHE-PSK" +#define LN_kx_dhe_psk "kx-dhe-psk" +#define NID_kx_dhe_psk 1041 + +#define SN_kx_rsa_psk "KxRSA_PSK" +#define LN_kx_rsa_psk "kx-rsa-psk" +#define NID_kx_rsa_psk 1042 + +#define SN_kx_psk "KxPSK" +#define LN_kx_psk "kx-psk" +#define NID_kx_psk 1043 + +#define SN_kx_srp "KxSRP" +#define LN_kx_srp "kx-srp" +#define NID_kx_srp 1044 + +#define SN_kx_gost "KxGOST" +#define LN_kx_gost "kx-gost" +#define NID_kx_gost 1045 + +#define SN_kx_any "KxANY" +#define LN_kx_any "kx-any" +#define NID_kx_any 1063 + +#define SN_auth_rsa "AuthRSA" +#define LN_auth_rsa "auth-rsa" +#define NID_auth_rsa 1046 + +#define SN_auth_ecdsa "AuthECDSA" +#define LN_auth_ecdsa "auth-ecdsa" +#define NID_auth_ecdsa 1047 + +#define SN_auth_psk "AuthPSK" +#define LN_auth_psk "auth-psk" +#define NID_auth_psk 1048 + +#define SN_auth_dss "AuthDSS" +#define LN_auth_dss "auth-dss" +#define NID_auth_dss 1049 + +#define SN_auth_gost01 "AuthGOST01" +#define LN_auth_gost01 "auth-gost01" +#define NID_auth_gost01 1050 + +#define SN_auth_gost12 "AuthGOST12" +#define LN_auth_gost12 "auth-gost12" +#define NID_auth_gost12 1051 + +#define SN_auth_srp "AuthSRP" +#define LN_auth_srp "auth-srp" +#define NID_auth_srp 1052 + +#define SN_auth_null "AuthNULL" +#define LN_auth_null "auth-null" +#define NID_auth_null 1053 + +#define SN_auth_any "AuthANY" +#define LN_auth_any "auth-any" +#define NID_auth_any 1064 + +#define SN_poly1305 "Poly1305" +#define LN_poly1305 "poly1305" +#define NID_poly1305 1061 + +#define SN_siphash "SipHash" +#define LN_siphash "siphash" +#define NID_siphash 1062 + +#define SN_ffdhe2048 "ffdhe2048" +#define NID_ffdhe2048 1126 + +#define SN_ffdhe3072 "ffdhe3072" +#define NID_ffdhe3072 1127 + +#define SN_ffdhe4096 "ffdhe4096" +#define NID_ffdhe4096 1128 + +#define SN_ffdhe6144 "ffdhe6144" +#define NID_ffdhe6144 1129 + +#define SN_ffdhe8192 "ffdhe8192" +#define NID_ffdhe8192 1130 + +#define SN_ISO_UA "ISO-UA" +#define NID_ISO_UA 1150 +#define OBJ_ISO_UA OBJ_member_body,804L + +#define SN_ua_pki "ua-pki" +#define NID_ua_pki 1151 +#define OBJ_ua_pki OBJ_ISO_UA,2L,1L,1L,1L + +#define SN_dstu28147 "dstu28147" +#define LN_dstu28147 "DSTU Gost 28147-2009" +#define NID_dstu28147 1152 +#define OBJ_dstu28147 OBJ_ua_pki,1L,1L,1L + +#define SN_dstu28147_ofb "dstu28147-ofb" +#define LN_dstu28147_ofb "DSTU Gost 28147-2009 OFB mode" +#define NID_dstu28147_ofb 1153 +#define OBJ_dstu28147_ofb OBJ_dstu28147,2L + +#define SN_dstu28147_cfb "dstu28147-cfb" +#define LN_dstu28147_cfb "DSTU Gost 28147-2009 CFB mode" +#define NID_dstu28147_cfb 1154 +#define OBJ_dstu28147_cfb OBJ_dstu28147,3L + +#define SN_dstu28147_wrap "dstu28147-wrap" +#define LN_dstu28147_wrap "DSTU Gost 28147-2009 key wrap" +#define NID_dstu28147_wrap 1155 +#define OBJ_dstu28147_wrap OBJ_dstu28147,5L + +#define SN_hmacWithDstu34311 "hmacWithDstu34311" +#define LN_hmacWithDstu34311 "HMAC DSTU Gost 34311-95" +#define NID_hmacWithDstu34311 1156 +#define OBJ_hmacWithDstu34311 OBJ_ua_pki,1L,1L,2L + +#define SN_dstu34311 "dstu34311" +#define LN_dstu34311 "DSTU Gost 34311-95" +#define NID_dstu34311 1157 +#define OBJ_dstu34311 OBJ_ua_pki,1L,2L,1L + +#define SN_dstu4145le "dstu4145le" +#define LN_dstu4145le "DSTU 4145-2002 little endian" +#define NID_dstu4145le 1158 +#define OBJ_dstu4145le OBJ_ua_pki,1L,3L,1L,1L + +#define SN_dstu4145be "dstu4145be" +#define LN_dstu4145be "DSTU 4145-2002 big endian" +#define NID_dstu4145be 1159 +#define OBJ_dstu4145be OBJ_dstu4145le,1L,1L + +#define SN_uacurve0 "uacurve0" +#define LN_uacurve0 "DSTU curve 0" +#define NID_uacurve0 1160 +#define OBJ_uacurve0 OBJ_dstu4145le,2L,0L + +#define SN_uacurve1 "uacurve1" +#define LN_uacurve1 "DSTU curve 1" +#define NID_uacurve1 1161 +#define OBJ_uacurve1 OBJ_dstu4145le,2L,1L + +#define SN_uacurve2 "uacurve2" +#define LN_uacurve2 "DSTU curve 2" +#define NID_uacurve2 1162 +#define OBJ_uacurve2 OBJ_dstu4145le,2L,2L + +#define SN_uacurve3 "uacurve3" +#define LN_uacurve3 "DSTU curve 3" +#define NID_uacurve3 1163 +#define OBJ_uacurve3 OBJ_dstu4145le,2L,3L + +#define SN_uacurve4 "uacurve4" +#define LN_uacurve4 "DSTU curve 4" +#define NID_uacurve4 1164 +#define OBJ_uacurve4 OBJ_dstu4145le,2L,4L + +#define SN_uacurve5 "uacurve5" +#define LN_uacurve5 "DSTU curve 5" +#define NID_uacurve5 1165 +#define OBJ_uacurve5 OBJ_dstu4145le,2L,5L + +#define SN_uacurve6 "uacurve6" +#define LN_uacurve6 "DSTU curve 6" +#define NID_uacurve6 1166 +#define OBJ_uacurve6 OBJ_dstu4145le,2L,6L + +#define SN_uacurve7 "uacurve7" +#define LN_uacurve7 "DSTU curve 7" +#define NID_uacurve7 1167 +#define OBJ_uacurve7 OBJ_dstu4145le,2L,7L + +#define SN_uacurve8 "uacurve8" +#define LN_uacurve8 "DSTU curve 8" +#define NID_uacurve8 1168 +#define OBJ_uacurve8 OBJ_dstu4145le,2L,8L + +#define SN_uacurve9 "uacurve9" +#define LN_uacurve9 "DSTU curve 9" +#define NID_uacurve9 1169 +#define OBJ_uacurve9 OBJ_dstu4145le,2L,9L diff --git a/openssl/1.1/include/openssl/objects.h b/openssl/1.1/include/openssl/objects.h new file mode 100644 index 0000000..5e8b576 --- /dev/null +++ b/openssl/1.1/include/openssl/objects.h @@ -0,0 +1,175 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OBJECTS_H +# define HEADER_OBJECTS_H + +# include +# include +# include +# include + +# define OBJ_NAME_TYPE_UNDEF 0x00 +# define OBJ_NAME_TYPE_MD_METH 0x01 +# define OBJ_NAME_TYPE_CIPHER_METH 0x02 +# define OBJ_NAME_TYPE_PKEY_METH 0x03 +# define OBJ_NAME_TYPE_COMP_METH 0x04 +# define OBJ_NAME_TYPE_NUM 0x05 + +# define OBJ_NAME_ALIAS 0x8000 + +# define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 +# define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct obj_name_st { + int type; + int alias; + const char *name; + const char *data; +} OBJ_NAME; + +# define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) + +int OBJ_NAME_init(void); +int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), + int (*cmp_func) (const char *, const char *), + void (*free_func) (const char *, int, const char *)); +const char *OBJ_NAME_get(const char *name, int type); +int OBJ_NAME_add(const char *name, int type, const char *data); +int OBJ_NAME_remove(const char *name, int type); +void OBJ_NAME_cleanup(int type); /* -1 for everything */ +void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), + void *arg); +void OBJ_NAME_do_all_sorted(int type, + void (*fn) (const OBJ_NAME *, void *arg), + void *arg); + +ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_nid2obj(int n); +const char *OBJ_nid2ln(int n); +const char *OBJ_nid2sn(int n); +int OBJ_obj2nid(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); +int OBJ_txt2nid(const char *s); +int OBJ_ln2nid(const char *s); +int OBJ_sn2nid(const char *s); +int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); +const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, + int (*cmp) (const void *, const void *)); +const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, + int size, + int (*cmp) (const void *, const void *), + int flags); + +# define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ + static int nm##_cmp(type1 const *, type2 const *); \ + scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +# define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ + _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) +# define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +/*- + * Unsolved problem: if a type is actually a pointer type, like + * nid_triple is, then its impossible to get a const where you need + * it. Consider: + * + * typedef int nid_triple[3]; + * const void *a_; + * const nid_triple const *a = a_; + * + * The assignment discards a const because what you really want is: + * + * const int const * const *a = a_; + * + * But if you do that, you lose the fact that a is an array of 3 ints, + * which breaks comparison functions. + * + * Thus we end up having to cast, sadly, or unpack the + * declarations. Or, as I finally did in this case, declare nid_triple + * to be a struct, which it should have been in the first place. + * + * Ben, August 2008. + * + * Also, strictly speaking not all types need be const, but handling + * the non-constness means a lot of complication, and in practice + * comparison routines do always not touch their arguments. + */ + +# define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define OBJ_bsearch(type1,key,type2,base,num,cmp) \ + ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN))) + +# define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ + ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN)),flags) + +int OBJ_new_nid(int num); +int OBJ_add_object(const ASN1_OBJECT *obj); +int OBJ_create(const char *oid, const char *sn, const char *ln); +#if OPENSSL_API_COMPAT < 0x10100000L +# define OBJ_cleanup() while(0) continue +#endif +int OBJ_create_objects(BIO *in); + +size_t OBJ_length(const ASN1_OBJECT *obj); +const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj); + +int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); +int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); +int OBJ_add_sigid(int signid, int dig_id, int pkey_id); +void OBJ_sigid_free(void); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/objectserr.h b/openssl/1.1/include/openssl/objectserr.h new file mode 100644 index 0000000..02308df --- /dev/null +++ b/openssl/1.1/include/openssl/objectserr.h @@ -0,0 +1,38 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OBJERR_H +# define HEADER_OBJERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_OBJ_strings(void); + +/* + * OBJ function codes. + */ +# define OBJ_F_OBJ_ADD_OBJECT 105 +# define OBJ_F_OBJ_ADD_SIGID 107 +# define OBJ_F_OBJ_CREATE 100 +# define OBJ_F_OBJ_DUP 101 +# define OBJ_F_OBJ_NAME_NEW_INDEX 106 +# define OBJ_F_OBJ_NID2LN 102 +# define OBJ_F_OBJ_NID2OBJ 103 +# define OBJ_F_OBJ_NID2SN 104 +# define OBJ_F_OBJ_TXT2OBJ 108 + +/* + * OBJ reason codes. + */ +# define OBJ_R_OID_EXISTS 102 +# define OBJ_R_UNKNOWN_NID 101 + +#endif diff --git a/openssl/1.1/include/openssl/ocsp.h b/openssl/1.1/include/openssl/ocsp.h new file mode 100644 index 0000000..937b322 --- /dev/null +++ b/openssl/1.1/include/openssl/ocsp.h @@ -0,0 +1,355 @@ +/* + * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OCSP_H +# define HEADER_OCSP_H + +#include + +/* + * These definitions are outside the OPENSSL_NO_OCSP guard because although for + * historical reasons they have OCSP_* names, they can actually be used + * independently of OCSP. E.g. see RFC5280 + */ +/*- + * CRLReason ::= ENUMERATED { + * unspecified (0), + * keyCompromise (1), + * cACompromise (2), + * affiliationChanged (3), + * superseded (4), + * cessationOfOperation (5), + * certificateHold (6), + * removeFromCRL (8) } + */ +# define OCSP_REVOKED_STATUS_NOSTATUS -1 +# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 +# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 +# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 +# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 +# define OCSP_REVOKED_STATUS_SUPERSEDED 4 +# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 +# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 +# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 + + +# ifndef OPENSSL_NO_OCSP + +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Various flags and values */ + +# define OCSP_DEFAULT_NONCE_LENGTH 16 + +# define OCSP_NOCERTS 0x1 +# define OCSP_NOINTERN 0x2 +# define OCSP_NOSIGS 0x4 +# define OCSP_NOCHAIN 0x8 +# define OCSP_NOVERIFY 0x10 +# define OCSP_NOEXPLICIT 0x20 +# define OCSP_NOCASIGN 0x40 +# define OCSP_NODELEGATED 0x80 +# define OCSP_NOCHECKS 0x100 +# define OCSP_TRUSTOTHER 0x200 +# define OCSP_RESPID_KEY 0x400 +# define OCSP_NOTIME 0x800 + +typedef struct ocsp_cert_id_st OCSP_CERTID; + +DEFINE_STACK_OF(OCSP_CERTID) + +typedef struct ocsp_one_request_st OCSP_ONEREQ; + +DEFINE_STACK_OF(OCSP_ONEREQ) + +typedef struct ocsp_req_info_st OCSP_REQINFO; +typedef struct ocsp_signature_st OCSP_SIGNATURE; +typedef struct ocsp_request_st OCSP_REQUEST; + +# define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 +# define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 +# define OCSP_RESPONSE_STATUS_INTERNALERROR 2 +# define OCSP_RESPONSE_STATUS_TRYLATER 3 +# define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 +# define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 + +typedef struct ocsp_resp_bytes_st OCSP_RESPBYTES; + +# define V_OCSP_RESPID_NAME 0 +# define V_OCSP_RESPID_KEY 1 + +DEFINE_STACK_OF(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) + +typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; + +# define V_OCSP_CERTSTATUS_GOOD 0 +# define V_OCSP_CERTSTATUS_REVOKED 1 +# define V_OCSP_CERTSTATUS_UNKNOWN 2 + +typedef struct ocsp_cert_status_st OCSP_CERTSTATUS; +typedef struct ocsp_single_response_st OCSP_SINGLERESP; + +DEFINE_STACK_OF(OCSP_SINGLERESP) + +typedef struct ocsp_response_data_st OCSP_RESPDATA; + +typedef struct ocsp_basic_response_st OCSP_BASICRESP; + +typedef struct ocsp_crl_id_st OCSP_CRLID; +typedef struct ocsp_service_locator_st OCSP_SERVICELOC; + +# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" +# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" + +# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) + +# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) + +# define PEM_read_bio_OCSP_REQUEST(bp,x,cb) (OCSP_REQUEST *)PEM_ASN1_read_bio( \ + (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST, \ + bp,(char **)(x),cb,NULL) + +# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\ + (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE, \ + bp,(char **)(x),cb,NULL) + +# define PEM_write_bio_OCSP_REQUEST(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ + bp,(char *)(o), NULL,NULL,0,NULL,NULL) + +# define PEM_write_bio_OCSP_RESPONSE(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ + bp,(char *)(o), NULL,NULL,0,NULL,NULL) + +# define i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) + +# define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) + +# define ASN1_BIT_STRING_digest(data,type,md,len) \ + ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) + +# define OCSP_CERTSTATUS_dup(cs)\ + (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ + (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) + +OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); + +OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); +OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, + int maxline); +int OCSP_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); +int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); +OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *io, int maxline); +void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); +void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, + const ASN1_ITEM *it); +BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); +int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); +int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, + const char *name, const char *value); + +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, + const X509 *issuer); + +OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, + const X509_NAME *issuerName, + const ASN1_BIT_STRING *issuerKey, + const ASN1_INTEGER *serialNumber); + +OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); + +int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); +int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); +int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); +int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); + +int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm); +int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); + +int OCSP_request_sign(OCSP_REQUEST *req, + X509 *signer, + EVP_PKEY *key, + const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); + +int OCSP_response_status(OCSP_RESPONSE *resp); +OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); + +const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs); +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs); +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs); +int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer, + STACK_OF(X509) *extra_certs); + +int OCSP_resp_count(OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); +const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP* bs); +const STACK_OF(X509) *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); +int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, + const ASN1_OCTET_STRING **pid, + const X509_NAME **pname); +int OCSP_resp_get1_id(const OCSP_BASICRESP *bs, + ASN1_OCTET_STRING **pid, + X509_NAME **pname); + +int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); +int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, + int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, + ASN1_GENERALIZEDTIME *nextupd, long sec, long maxsec); + +int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, + X509_STORE *store, unsigned long flags); + +int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath, + int *pssl); + +int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b); +int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); + +int OCSP_request_onereq_count(OCSP_REQUEST *req); +OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); +OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); +int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, + ASN1_OCTET_STRING **pikeyHash, + ASN1_INTEGER **pserial, OCSP_CERTID *cid); +int OCSP_request_is_signed(OCSP_REQUEST *req); +OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, + OCSP_CERTID *cid, + int status, int reason, + ASN1_TIME *revtime, + ASN1_TIME *thisupd, + ASN1_TIME *nextupd); +int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); +int OCSP_basic_sign(OCSP_BASICRESP *brsp, + X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); +int OCSP_basic_sign_ctx(OCSP_BASICRESP *brsp, + X509 *signer, EVP_MD_CTX *ctx, + STACK_OF(X509) *certs, unsigned long flags); +int OCSP_RESPID_set_by_name(OCSP_RESPID *respid, X509 *cert); +int OCSP_RESPID_set_by_key(OCSP_RESPID *respid, X509 *cert); +int OCSP_RESPID_match(OCSP_RESPID *respid, X509 *cert); + +X509_EXTENSION *OCSP_crlID_new(const char *url, long *n, char *tim); + +X509_EXTENSION *OCSP_accept_responses_new(char **oids); + +X509_EXTENSION *OCSP_archive_cutoff_new(char *tim); + +X509_EXTENSION *OCSP_url_svcloc_new(X509_NAME *issuer, const char **urls); + +int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); +int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); +int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int lastpos); +X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); +X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); +void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, + int *idx); +int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); + +int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); +int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); +int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, const ASN1_OBJECT *obj, int lastpos); +int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); +X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); +X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); +void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); +int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); + +int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); +int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); +int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); +X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); +void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, + int *idx); +int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); + +int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); +int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int lastpos); +int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); +X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); +void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, + int *idx); +int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc); +const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *x); + +DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) +DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) +DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) +DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) +DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) +DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) +DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) + +const char *OCSP_response_status_str(long s); +const char *OCSP_cert_status_str(long s); +const char *OCSP_crl_reason_str(long s); + +int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *a, unsigned long flags); +int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags); + +int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, + X509_STORE *st, unsigned long flags); + + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/ocsperr.h b/openssl/1.1/include/openssl/ocsperr.h new file mode 100644 index 0000000..7d93b12 --- /dev/null +++ b/openssl/1.1/include/openssl/ocsperr.h @@ -0,0 +1,74 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OCSPERR_H +# define HEADER_OCSPERR_H + +# include + +# ifndef OPENSSL_NO_OCSP + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_OCSP_strings(void); + +/* + * OCSP function codes. + */ +# define OCSP_F_D2I_OCSP_NONCE 102 +# define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 +# define OCSP_F_OCSP_BASIC_SIGN 104 +# define OCSP_F_OCSP_BASIC_SIGN_CTX 119 +# define OCSP_F_OCSP_BASIC_VERIFY 105 +# define OCSP_F_OCSP_CERT_ID_NEW 101 +# define OCSP_F_OCSP_CHECK_DELEGATED 106 +# define OCSP_F_OCSP_CHECK_IDS 107 +# define OCSP_F_OCSP_CHECK_ISSUER 108 +# define OCSP_F_OCSP_CHECK_VALIDITY 115 +# define OCSP_F_OCSP_MATCH_ISSUERID 109 +# define OCSP_F_OCSP_PARSE_URL 114 +# define OCSP_F_OCSP_REQUEST_SIGN 110 +# define OCSP_F_OCSP_REQUEST_VERIFY 116 +# define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 +# define OCSP_F_PARSE_HTTP_LINE1 118 + +/* + * OCSP reason codes. + */ +# define OCSP_R_CERTIFICATE_VERIFY_ERROR 101 +# define OCSP_R_DIGEST_ERR 102 +# define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 +# define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 +# define OCSP_R_ERROR_PARSING_URL 121 +# define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 +# define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 +# define OCSP_R_NOT_BASIC_RESPONSE 104 +# define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105 +# define OCSP_R_NO_RESPONSE_DATA 108 +# define OCSP_R_NO_REVOKED_TIME 109 +# define OCSP_R_NO_SIGNER_KEY 130 +# define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110 +# define OCSP_R_REQUEST_NOT_SIGNED 128 +# define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 +# define OCSP_R_ROOT_CA_NOT_TRUSTED 112 +# define OCSP_R_SERVER_RESPONSE_ERROR 114 +# define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 +# define OCSP_R_SIGNATURE_FAILURE 117 +# define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 +# define OCSP_R_STATUS_EXPIRED 125 +# define OCSP_R_STATUS_NOT_YET_VALID 126 +# define OCSP_R_STATUS_TOO_OLD 127 +# define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119 +# define OCSP_R_UNKNOWN_NID 120 +# define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/opensslconf.h b/openssl/1.1/include/openssl/opensslconf.h new file mode 100644 index 0000000..4b7e7c0 --- /dev/null +++ b/openssl/1.1/include/openssl/opensslconf.h @@ -0,0 +1,192 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslconf.h.in + * + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_RAND_SEED_OS +# define OPENSSL_RAND_SEED_OS +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_DEVCRYPTOENG +# define OPENSSL_NO_DEVCRYPTOENG +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_EXTERNAL_TESTS +# define OPENSSL_NO_EXTERNAL_TESTS +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_STATIC_ENGINE +# define OPENSSL_NO_STATIC_ENGINE +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#ifndef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f; +# ifdef __GNUC__ +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# undef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +# endif +# endif +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +/* + * Do not deprecate things to be deprecated in version 1.2.0 before the + * OpenSSL version number matches. + */ +#if OPENSSL_VERSION_NUMBER < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) f; +#elif OPENSSL_API_COMPAT < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_2_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG +/* Only one for the following should be defined */ +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned int + +#ifdef __cplusplus +} +#endif diff --git a/openssl/1.1/include/openssl/opensslconf.h.in b/openssl/1.1/include/openssl/opensslconf.h.in new file mode 100644 index 0000000..bc98cad --- /dev/null +++ b/openssl/1.1/include/openssl/opensslconf.h.in @@ -0,0 +1,155 @@ +/* + * {- join("\n * ", @autowarntext) -} + * + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +{- if (@{$config{openssl_sys_defines}}) { + foreach (@{$config{openssl_sys_defines}}) { + $OUT .= "#ifndef $_\n"; + $OUT .= "# define $_ 1\n"; + $OUT .= "#endif\n"; + } + } + foreach (@{$config{openssl_api_defines}}) { + (my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/; + $OUT .= "#define $macro $value\n"; + } + if (@{$config{openssl_algorithm_defines}}) { + foreach (@{$config{openssl_algorithm_defines}}) { + $OUT .= "#ifndef $_\n"; + $OUT .= "# define $_\n"; + $OUT .= "#endif\n"; + } + } + if (@{$config{openssl_thread_defines}}) { + foreach (@{$config{openssl_thread_defines}}) { + $OUT .= "#ifndef $_\n"; + $OUT .= "# define $_\n"; + $OUT .= "#endif\n"; + } + } + if (@{$config{openssl_other_defines}}) { + foreach (@{$config{openssl_other_defines}}) { + $OUT .= "#ifndef $_\n"; + $OUT .= "# define $_\n"; + $OUT .= "#endif\n"; + } + } + ""; +-} + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#ifndef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f; +# ifdef __GNUC__ +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# undef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +# endif +# endif +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +/* + * Do not deprecate things to be deprecated in version 1.2.0 before the + * OpenSSL version number matches. + */ +#if OPENSSL_VERSION_NUMBER < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) f; +#elif OPENSSL_API_COMPAT < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_2_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +/* Generate 80386 code? */ +{- $config{processor} eq "386" ? "#define" : "#undef" -} I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD {- $target{unistd} -} + +{- $config{export_var_as_fn} ? "#define" : "#undef" -} OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +{- $config{bn_ll} ? "# define" : "# undef" -} BN_LLONG +/* Only one for the following should be defined */ +{- $config{b64l} ? "# define" : "# undef" -} SIXTY_FOUR_BIT_LONG +{- $config{b64} ? "# define" : "# undef" -} SIXTY_FOUR_BIT +{- $config{b32} ? "# define" : "# undef" -} THIRTY_TWO_BIT +#endif + +#define RC4_INT {- $config{rc4_int} -} + +#ifdef __cplusplus +} +#endif diff --git a/openssl/1.1/include/openssl/opensslv.h b/openssl/1.1/include/openssl/opensslv.h new file mode 100644 index 0000000..9e66fc1 --- /dev/null +++ b/openssl/1.1/include/openssl/opensslv.h @@ -0,0 +1,101 @@ +/* + * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OPENSSLV_H +# define HEADER_OPENSSLV_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*- + * Numeric release version identifier: + * MNNFFPPS: major minor fix patch status + * The status nibble has one of the values 0 for development, 1 to e for betas + * 1 to 14, and f for release. The patch level is exactly that. + * For example: + * 0.9.3-dev 0x00903000 + * 0.9.3-beta1 0x00903001 + * 0.9.3-beta2-dev 0x00903002 + * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) + * 0.9.3 0x0090300f + * 0.9.3a 0x0090301f + * 0.9.4 0x0090400f + * 1.2.3z 0x102031af + * + * For continuity reasons (because 0.9.5 is already out, and is coded + * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level + * part is slightly different, by setting the highest bit. This means + * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start + * with 0x0090600S... + * + * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) + * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for + * major minor fix final patch/beta) + */ +# define OPENSSL_VERSION_NUMBER 0x1010100fL +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1 11 Sep 2018" + +/*- + * The macros below are to be used for shared library (.so, .dll, ...) + * versioning. That kind of versioning works a bit differently between + * operating systems. The most usual scheme is to set a major and a minor + * number, and have the runtime loader check that the major number is equal + * to what it was at application link time, while the minor number has to + * be greater or equal to what it was at application link time. With this + * scheme, the version number is usually part of the file name, like this: + * + * libcrypto.so.0.9 + * + * Some unixen also make a softlink with the major version number only: + * + * libcrypto.so.0 + * + * On Tru64 and IRIX 6.x it works a little bit differently. There, the + * shared library version is stored in the file, and is actually a series + * of versions, separated by colons. The rightmost version present in the + * library when linking an application is stored in the application to be + * matched at run time. When the application is run, a check is done to + * see if the library version stored in the application matches any of the + * versions in the version string of the library itself. + * This version string can be constructed in any way, depending on what + * kind of matching is desired. However, to implement the same scheme as + * the one used in the other unixen, all compatible versions, from lowest + * to highest, should be part of the string. Consecutive builds would + * give the following versions strings: + * + * 3.0 + * 3.0:3.1 + * 3.0:3.1:3.2 + * 4.0 + * 4.0:4.1 + * + * Notice how version 4 is completely incompatible with version, and + * therefore give the breach you can see. + * + * There may be other schemes as well that I haven't yet discovered. + * + * So, here's the way it works here: first of all, the library version + * number doesn't need at all to match the overall OpenSSL version. + * However, it's nice and more understandable if it actually does. + * The current library version is stored in the macro SHLIB_VERSION_NUMBER, + * which is just a piece of text in the format "M.m.e" (Major, minor, edit). + * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, + * we need to keep a history of version numbers, which is done in the + * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and + * should only keep the versions that are binary compatible with the current. + */ +# define SHLIB_VERSION_HISTORY "" +# define SHLIB_VERSION_NUMBER "1.1" + + +#ifdef __cplusplus +} +#endif +#endif /* HEADER_OPENSSLV_H */ diff --git a/openssl/1.1/include/openssl/ossl_typ.h b/openssl/1.1/include/openssl/ossl_typ.h new file mode 100644 index 0000000..7993ca2 --- /dev/null +++ b/openssl/1.1/include/openssl/ossl_typ.h @@ -0,0 +1,196 @@ +/* + * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OPENSSL_TYPES_H +# define HEADER_OPENSSL_TYPES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# ifdef NO_ASN1_TYPEDEFS +# define ASN1_INTEGER ASN1_STRING +# define ASN1_ENUMERATED ASN1_STRING +# define ASN1_BIT_STRING ASN1_STRING +# define ASN1_OCTET_STRING ASN1_STRING +# define ASN1_PRINTABLESTRING ASN1_STRING +# define ASN1_T61STRING ASN1_STRING +# define ASN1_IA5STRING ASN1_STRING +# define ASN1_UTCTIME ASN1_STRING +# define ASN1_GENERALIZEDTIME ASN1_STRING +# define ASN1_TIME ASN1_STRING +# define ASN1_GENERALSTRING ASN1_STRING +# define ASN1_UNIVERSALSTRING ASN1_STRING +# define ASN1_BMPSTRING ASN1_STRING +# define ASN1_VISIBLESTRING ASN1_STRING +# define ASN1_UTF8STRING ASN1_STRING +# define ASN1_BOOLEAN int +# define ASN1_NULL int +# else +typedef struct asn1_string_st ASN1_INTEGER; +typedef struct asn1_string_st ASN1_ENUMERATED; +typedef struct asn1_string_st ASN1_BIT_STRING; +typedef struct asn1_string_st ASN1_OCTET_STRING; +typedef struct asn1_string_st ASN1_PRINTABLESTRING; +typedef struct asn1_string_st ASN1_T61STRING; +typedef struct asn1_string_st ASN1_IA5STRING; +typedef struct asn1_string_st ASN1_GENERALSTRING; +typedef struct asn1_string_st ASN1_UNIVERSALSTRING; +typedef struct asn1_string_st ASN1_BMPSTRING; +typedef struct asn1_string_st ASN1_UTCTIME; +typedef struct asn1_string_st ASN1_TIME; +typedef struct asn1_string_st ASN1_GENERALIZEDTIME; +typedef struct asn1_string_st ASN1_VISIBLESTRING; +typedef struct asn1_string_st ASN1_UTF8STRING; +typedef struct asn1_string_st ASN1_STRING; +typedef int ASN1_BOOLEAN; +typedef int ASN1_NULL; +# endif + +typedef struct asn1_object_st ASN1_OBJECT; + +typedef struct ASN1_ITEM_st ASN1_ITEM; +typedef struct asn1_pctx_st ASN1_PCTX; +typedef struct asn1_sctx_st ASN1_SCTX; + +# ifdef _WIN32 +# undef X509_NAME +# undef X509_EXTENSIONS +# undef PKCS7_ISSUER_AND_SERIAL +# undef PKCS7_SIGNER_INFO +# undef OCSP_REQUEST +# undef OCSP_RESPONSE +# endif + +# ifdef BIGNUM +# undef BIGNUM +# endif +struct dane_st; +typedef struct bio_st BIO; +typedef struct bignum_st BIGNUM; +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_recp_ctx_st BN_RECP_CTX; +typedef struct bn_gencb_st BN_GENCB; + +typedef struct buf_mem_st BUF_MEM; + +typedef struct evp_cipher_st EVP_CIPHER; +typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; +typedef struct evp_md_st EVP_MD; +typedef struct evp_md_ctx_st EVP_MD_CTX; +typedef struct evp_pkey_st EVP_PKEY; + +typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; + +typedef struct evp_pkey_method_st EVP_PKEY_METHOD; +typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; + +typedef struct evp_Encode_Ctx_st EVP_ENCODE_CTX; + +typedef struct hmac_ctx_st HMAC_CTX; + +typedef struct dh_st DH; +typedef struct dh_method DH_METHOD; + +typedef struct dsa_st DSA; +typedef struct dsa_method DSA_METHOD; + +typedef struct rsa_st RSA; +typedef struct rsa_meth_st RSA_METHOD; + +typedef struct ec_key_st EC_KEY; +typedef struct ec_key_method_st EC_KEY_METHOD; + +typedef struct rand_meth_st RAND_METHOD; +typedef struct rand_drbg_st RAND_DRBG; + +typedef struct ssl_dane_st SSL_DANE; +typedef struct x509_st X509; +typedef struct X509_algor_st X509_ALGOR; +typedef struct X509_crl_st X509_CRL; +typedef struct x509_crl_method_st X509_CRL_METHOD; +typedef struct x509_revoked_st X509_REVOKED; +typedef struct X509_name_st X509_NAME; +typedef struct X509_pubkey_st X509_PUBKEY; +typedef struct x509_store_st X509_STORE; +typedef struct x509_store_ctx_st X509_STORE_CTX; + +typedef struct x509_object_st X509_OBJECT; +typedef struct x509_lookup_st X509_LOOKUP; +typedef struct x509_lookup_method_st X509_LOOKUP_METHOD; +typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM; + +typedef struct x509_sig_info_st X509_SIG_INFO; + +typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; + +typedef struct v3_ext_ctx X509V3_CTX; +typedef struct conf_st CONF; +typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS; + +typedef struct ui_st UI; +typedef struct ui_method_st UI_METHOD; + +typedef struct engine_st ENGINE; +typedef struct ssl_st SSL; +typedef struct ssl_ctx_st SSL_CTX; + +typedef struct comp_ctx_st COMP_CTX; +typedef struct comp_method_st COMP_METHOD; + +typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; +typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; +typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; +typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; + +typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; +typedef struct DIST_POINT_st DIST_POINT; +typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; +typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; + +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; + +typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; +typedef struct ocsp_response_st OCSP_RESPONSE; +typedef struct ocsp_responder_id_st OCSP_RESPID; + +typedef struct sct_st SCT; +typedef struct sct_ctx_st SCT_CTX; +typedef struct ctlog_st CTLOG; +typedef struct ctlog_store_st CTLOG_STORE; +typedef struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX; + +typedef struct ossl_store_info_st OSSL_STORE_INFO; +typedef struct ossl_store_search_st OSSL_STORE_SEARCH; + +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \ + defined(INTMAX_MAX) && defined(UINTMAX_MAX) +typedef intmax_t ossl_intmax_t; +typedef uintmax_t ossl_uintmax_t; +#else +/* + * Not long long, because the C-library can only be expected to provide + * strtoll(), strtoull() at the same time as intmax_t and strtoimax(), + * strtoumax(). Since we use these for parsing arguments, we need the + * conversion functions, not just the sizes. + */ +typedef long ossl_intmax_t; +typedef unsigned long ossl_uintmax_t; +#endif + +#ifdef __cplusplus +} +#endif +#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/openssl/1.1/include/openssl/pem.h b/openssl/1.1/include/openssl/pem.h new file mode 100644 index 0000000..2ef5b5d --- /dev/null +++ b/openssl/1.1/include/openssl/pem.h @@ -0,0 +1,378 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PEM_H +# define HEADER_PEM_H + +# include +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PEM_BUFSIZE 1024 + +# define PEM_STRING_X509_OLD "X509 CERTIFICATE" +# define PEM_STRING_X509 "CERTIFICATE" +# define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" +# define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" +# define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" +# define PEM_STRING_X509_CRL "X509 CRL" +# define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY" +# define PEM_STRING_PUBLIC "PUBLIC KEY" +# define PEM_STRING_RSA "RSA PRIVATE KEY" +# define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY" +# define PEM_STRING_DSA "DSA PRIVATE KEY" +# define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY" +# define PEM_STRING_PKCS7 "PKCS7" +# define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA" +# define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY" +# define PEM_STRING_PKCS8INF "PRIVATE KEY" +# define PEM_STRING_DHPARAMS "DH PARAMETERS" +# define PEM_STRING_DHXPARAMS "X9.42 DH PARAMETERS" +# define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" +# define PEM_STRING_DSAPARAMS "DSA PARAMETERS" +# define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" +# define PEM_STRING_ECPARAMETERS "EC PARAMETERS" +# define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY" +# define PEM_STRING_PARAMETERS "PARAMETERS" +# define PEM_STRING_CMS "CMS" + +# define PEM_TYPE_ENCRYPTED 10 +# define PEM_TYPE_MIC_ONLY 20 +# define PEM_TYPE_MIC_CLEAR 30 +# define PEM_TYPE_CLEAR 40 + +/* + * These macros make the PEM_read/PEM_write functions easier to maintain and + * write. Now they are all implemented with either: IMPLEMENT_PEM_rw(...) or + * IMPLEMENT_PEM_rw_cb(...) + */ + +# ifdef OPENSSL_NO_STDIO + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ +# else + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ +type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, const type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# endif + +# define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ +type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, const type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_read_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb(name, type, str, asn1) + +/* These are the same except they are for the declarations */ + +# if defined(OPENSSL_NO_STDIO) + +# define DECLARE_PEM_read_fp(name, type) /**/ +# define DECLARE_PEM_write_fp(name, type) /**/ +# define DECLARE_PEM_write_fp_const(name, type) /**/ +# define DECLARE_PEM_write_cb_fp(name, type) /**/ +# else + +# define DECLARE_PEM_read_fp(name, type) \ + type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x); + +# define DECLARE_PEM_write_fp_const(name, type) \ + int PEM_write_##name(FILE *fp, const type *x); + +# define DECLARE_PEM_write_cb_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# endif + +# define DECLARE_PEM_read_bio(name, type) \ + type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x); + +# define DECLARE_PEM_write_bio_const(name, type) \ + int PEM_write_bio_##name(BIO *bp, const type *x); + +# define DECLARE_PEM_write_cb_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write(name, type) \ + DECLARE_PEM_write_bio(name, type) \ + DECLARE_PEM_write_fp(name, type) +# define DECLARE_PEM_write_const(name, type) \ + DECLARE_PEM_write_bio_const(name, type) \ + DECLARE_PEM_write_fp_const(name, type) +# define DECLARE_PEM_write_cb(name, type) \ + DECLARE_PEM_write_cb_bio(name, type) \ + DECLARE_PEM_write_cb_fp(name, type) +# define DECLARE_PEM_read(name, type) \ + DECLARE_PEM_read_bio(name, type) \ + DECLARE_PEM_read_fp(name, type) +# define DECLARE_PEM_rw(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write(name, type) +# define DECLARE_PEM_rw_const(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_const(name, type) +# define DECLARE_PEM_rw_cb(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_cb(name, type) +typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); + +int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); +int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, + pem_password_cb *callback, void *u); + +int PEM_read_bio(BIO *bp, char **name, char **header, + unsigned char **data, long *len); +# define PEM_FLAG_SECURE 0x1 +# define PEM_FLAG_EAY_COMPATIBLE 0x2 +# define PEM_FLAG_ONLY_B64 0x4 +int PEM_read_bio_ex(BIO *bp, char **name, char **header, + unsigned char **data, long *len, unsigned int flags); +int PEM_bytes_read_bio_secmem(unsigned char **pdata, long *plen, char **pnm, + const char *name, BIO *bp, pem_password_cb *cb, + void *u); +int PEM_write_bio(BIO *bp, const char *name, const char *hdr, + const unsigned char *data, long len); +int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, + const char *name, BIO *bp, pem_password_cb *cb, + void *u); +void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, + const EVP_CIPHER *enc, unsigned char *kstr, int klen, + pem_password_cb *cb, void *u); + +STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); +int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cd, void *u); + +#ifndef OPENSSL_NO_STDIO +int PEM_read(FILE *fp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write(FILE *fp, const char *name, const char *hdr, + const unsigned char *data, long len); +void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, + void *x, const EVP_CIPHER *enc, unsigned char *kstr, + int klen, pem_password_cb *callback, void *u); +STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); +#endif + +int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); +int PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); +int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, + unsigned int *siglen, EVP_PKEY *pkey); + +/* The default pem_password_cb that's used internally */ +int PEM_def_callback(char *buf, int num, int rwflag, void *userdata); +void PEM_proc_type(char *buf, int type); +void PEM_dek_info(char *buf, const char *type, int len, char *str); + +# include + +DECLARE_PEM_rw(X509, X509) +DECLARE_PEM_rw(X509_AUX, X509) +DECLARE_PEM_rw(X509_REQ, X509_REQ) +DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) +DECLARE_PEM_rw(X509_CRL, X509_CRL) +DECLARE_PEM_rw(PKCS7, PKCS7) +DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) +DECLARE_PEM_rw(PKCS8, X509_SIG) +DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) +# ifndef OPENSSL_NO_RSA +DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) +DECLARE_PEM_rw_const(RSAPublicKey, RSA) +DECLARE_PEM_rw(RSA_PUBKEY, RSA) +# endif +# ifndef OPENSSL_NO_DSA +DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) +DECLARE_PEM_rw(DSA_PUBKEY, DSA) +DECLARE_PEM_rw_const(DSAparams, DSA) +# endif +# ifndef OPENSSL_NO_EC +DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) +DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) +DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) +# endif +# ifndef OPENSSL_NO_DH +DECLARE_PEM_rw_const(DHparams, DH) +DECLARE_PEM_write_const(DHxparams, DH) +# endif +DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) +DECLARE_PEM_rw(PUBKEY, EVP_PKEY) + +int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, + const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u); + +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, + char *, int, pem_password_cb *, void *); +int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +# ifndef OPENSSL_NO_STDIO +int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); + +EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cd, + void *u); +# endif +EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); +int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); + +# ifndef OPENSSL_NO_DSA +EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PrivateKey_bio(BIO *in); +EVP_PKEY *b2i_PublicKey_bio(BIO *in); +int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); +int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); +# ifndef OPENSSL_NO_RC4 +EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); +int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, + pem_password_cb *cb, void *u); +# endif +# endif + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/pem2.h b/openssl/1.1/include/openssl/pem2.h new file mode 100644 index 0000000..038fe79 --- /dev/null +++ b/openssl/1.1/include/openssl/pem2.h @@ -0,0 +1,13 @@ +/* + * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PEM2_H +# define HEADER_PEM2_H +# include +#endif diff --git a/openssl/1.1/include/openssl/pemerr.h b/openssl/1.1/include/openssl/pemerr.h new file mode 100644 index 0000000..cd61b82 --- /dev/null +++ b/openssl/1.1/include/openssl/pemerr.h @@ -0,0 +1,99 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PEMERR_H +# define HEADER_PEMERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_PEM_strings(void); + +/* + * PEM function codes. + */ +# define PEM_F_B2I_DSS 127 +# define PEM_F_B2I_PVK_BIO 128 +# define PEM_F_B2I_RSA 129 +# define PEM_F_CHECK_BITLEN_DSA 130 +# define PEM_F_CHECK_BITLEN_RSA 131 +# define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 +# define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 +# define PEM_F_DO_B2I 132 +# define PEM_F_DO_B2I_BIO 133 +# define PEM_F_DO_BLOB_HEADER 134 +# define PEM_F_DO_I2B 146 +# define PEM_F_DO_PK8PKEY 126 +# define PEM_F_DO_PK8PKEY_FP 125 +# define PEM_F_DO_PVK_BODY 135 +# define PEM_F_DO_PVK_HEADER 136 +# define PEM_F_GET_HEADER_AND_DATA 143 +# define PEM_F_GET_NAME 144 +# define PEM_F_I2B_PVK 137 +# define PEM_F_I2B_PVK_BIO 138 +# define PEM_F_LOAD_IV 101 +# define PEM_F_PEM_ASN1_READ 102 +# define PEM_F_PEM_ASN1_READ_BIO 103 +# define PEM_F_PEM_ASN1_WRITE 104 +# define PEM_F_PEM_ASN1_WRITE_BIO 105 +# define PEM_F_PEM_DEF_CALLBACK 100 +# define PEM_F_PEM_DO_HEADER 106 +# define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 +# define PEM_F_PEM_READ 108 +# define PEM_F_PEM_READ_BIO 109 +# define PEM_F_PEM_READ_BIO_DHPARAMS 141 +# define PEM_F_PEM_READ_BIO_EX 145 +# define PEM_F_PEM_READ_BIO_PARAMETERS 140 +# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 +# define PEM_F_PEM_READ_DHPARAMS 142 +# define PEM_F_PEM_READ_PRIVATEKEY 124 +# define PEM_F_PEM_SIGNFINAL 112 +# define PEM_F_PEM_WRITE 113 +# define PEM_F_PEM_WRITE_BIO 114 +# define PEM_F_PEM_WRITE_PRIVATEKEY 139 +# define PEM_F_PEM_X509_INFO_READ 115 +# define PEM_F_PEM_X509_INFO_READ_BIO 116 +# define PEM_F_PEM_X509_INFO_WRITE_BIO 117 + +/* + * PEM reason codes. + */ +# define PEM_R_BAD_BASE64_DECODE 100 +# define PEM_R_BAD_DECRYPT 101 +# define PEM_R_BAD_END_LINE 102 +# define PEM_R_BAD_IV_CHARS 103 +# define PEM_R_BAD_MAGIC_NUMBER 116 +# define PEM_R_BAD_PASSWORD_READ 104 +# define PEM_R_BAD_VERSION_NUMBER 117 +# define PEM_R_BIO_WRITE_FAILURE 118 +# define PEM_R_CIPHER_IS_NULL 127 +# define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 +# define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 +# define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 +# define PEM_R_HEADER_TOO_LONG 128 +# define PEM_R_INCONSISTENT_HEADER 121 +# define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 +# define PEM_R_KEYBLOB_TOO_SHORT 123 +# define PEM_R_MISSING_DEK_IV 129 +# define PEM_R_NOT_DEK_INFO 105 +# define PEM_R_NOT_ENCRYPTED 106 +# define PEM_R_NOT_PROC_TYPE 107 +# define PEM_R_NO_START_LINE 108 +# define PEM_R_PROBLEMS_GETTING_PASSWORD 109 +# define PEM_R_PVK_DATA_TOO_SHORT 124 +# define PEM_R_PVK_TOO_SHORT 125 +# define PEM_R_READ_KEY 111 +# define PEM_R_SHORT_HEADER 112 +# define PEM_R_UNEXPECTED_DEK_IV 130 +# define PEM_R_UNSUPPORTED_CIPHER 113 +# define PEM_R_UNSUPPORTED_ENCRYPTION 114 +# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 + +#endif diff --git a/openssl/1.1/include/openssl/pkcs12.h b/openssl/1.1/include/openssl/pkcs12.h new file mode 100644 index 0000000..3f43dad --- /dev/null +++ b/openssl/1.1/include/openssl/pkcs12.h @@ -0,0 +1,223 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PKCS12_H +# define HEADER_PKCS12_H + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PKCS12_KEY_ID 1 +# define PKCS12_IV_ID 2 +# define PKCS12_MAC_ID 3 + +/* Default iteration count */ +# ifndef PKCS12_DEFAULT_ITER +# define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER +# endif + +# define PKCS12_MAC_KEY_LENGTH 20 + +# define PKCS12_SALT_LEN 8 + +/* It's not clear if these are actually needed... */ +# define PKCS12_key_gen PKCS12_key_gen_utf8 +# define PKCS12_add_friendlyname PKCS12_add_friendlyname_utf8 + +/* MS key usage constants */ + +# define KEY_EX 0x10 +# define KEY_SIG 0x80 + +typedef struct PKCS12_MAC_DATA_st PKCS12_MAC_DATA; + +typedef struct PKCS12_st PKCS12; + +typedef struct PKCS12_SAFEBAG_st PKCS12_SAFEBAG; + +DEFINE_STACK_OF(PKCS12_SAFEBAG) + +typedef struct pkcs12_bag_st PKCS12_BAGS; + +# define PKCS12_ERROR 0 +# define PKCS12_OK 1 + +/* Compatibility macros */ + +#if OPENSSL_API_COMPAT < 0x10100000L + +# define M_PKCS12_bag_type PKCS12_bag_type +# define M_PKCS12_cert_bag_type PKCS12_cert_bag_type +# define M_PKCS12_crl_bag_type PKCS12_cert_bag_type + +# define PKCS12_certbag2x509 PKCS12_SAFEBAG_get1_cert +# define PKCS12_certbag2scrl PKCS12_SAFEBAG_get1_crl +# define PKCS12_bag_type PKCS12_SAFEBAG_get_nid +# define PKCS12_cert_bag_type PKCS12_SAFEBAG_get_bag_nid +# define PKCS12_x5092certbag PKCS12_SAFEBAG_create_cert +# define PKCS12_x509crl2certbag PKCS12_SAFEBAG_create_crl +# define PKCS12_MAKE_KEYBAG PKCS12_SAFEBAG_create0_p8inf +# define PKCS12_MAKE_SHKEYBAG PKCS12_SAFEBAG_create_pkcs8_encrypt + +#endif + +DEPRECATEDIN_1_1_0(ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, int attr_nid)) + +ASN1_TYPE *PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid); +int PKCS12_mac_present(const PKCS12 *p12); +void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, + const X509_ALGOR **pmacalg, + const ASN1_OCTET_STRING **psalt, + const ASN1_INTEGER **piter, + const PKCS12 *p12); + +const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag, + int attr_nid); +const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag); + +X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag); +X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag); +const STACK_OF(PKCS12_SAFEBAG) * +PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag); +const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag); +const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag); + +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_cert(X509 *x509); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_crl(X509_CRL *crl); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, + const char *pass, + int passlen, + unsigned char *salt, + int saltlen, int iter, + PKCS8_PRIV_KEY_INFO *p8inf); + +PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, + int nid1, int nid2); +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char *pass, + int passlen); +PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, + const char *pass, int passlen); +X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, + const char *pass, int passlen, unsigned char *salt, + int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8); +X509_SIG *PKCS8_set0_pbe(const char *pass, int passlen, + PKCS8_PRIV_KEY_INFO *p8inf, X509_ALGOR *pbe); +PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); +PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + STACK_OF(PKCS12_SAFEBAG) *bags); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, + int passlen); + +int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); +STACK_OF(PKCS7) *PKCS12_unpack_authsafes(const PKCS12 *p12); + +int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, + int namelen); +int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_utf8(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, + const unsigned char *name, int namelen); +int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); +ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, + int attr_nid); +char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); +const STACK_OF(X509_ATTRIBUTE) * +PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag); +unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor, + const char *pass, int passlen, + const unsigned char *in, int inlen, + unsigned char **data, int *datalen, + int en_de); +void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, + const char *pass, int passlen, + const ASN1_OCTET_STRING *oct, int zbuf); +ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, + const ASN1_ITEM *it, + const char *pass, int passlen, + void *obj, int zbuf); +PKCS12 *PKCS12_init(int mode); +int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_utf8(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md_type, int en_de); +int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *mac, unsigned int *maclen); +int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); +int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + const EVP_MD *md_type); +int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, + int saltlen, const EVP_MD *md_type); +unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2asc(const unsigned char *uni, int unilen); +unsigned char *OPENSSL_utf82uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen); + +DECLARE_ASN1_FUNCTIONS(PKCS12) +DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) +DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) +DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) + +DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) +DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) + +void PKCS12_PBE_add(void); +int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + STACK_OF(X509) **ca); +PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey, + X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, + int iter, int mac_iter, int keytype); + +PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); +PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, + EVP_PKEY *key, int key_usage, int iter, + int key_nid, const char *pass); +int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, + int safe_nid, int iter, const char *pass); +PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); + +int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); +# ifndef OPENSSL_NO_STDIO +int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); +# endif +PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); +# ifndef OPENSSL_NO_STDIO +PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); +# endif +int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/pkcs12err.h b/openssl/1.1/include/openssl/pkcs12err.h new file mode 100644 index 0000000..c7184ff --- /dev/null +++ b/openssl/1.1/include/openssl/pkcs12err.h @@ -0,0 +1,77 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PKCS12ERR_H +# define HEADER_PKCS12ERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_PKCS12_strings(void); + +/* + * PKCS12 function codes. + */ +# define PKCS12_F_OPENSSL_ASC2UNI 121 +# define PKCS12_F_OPENSSL_UNI2ASC 124 +# define PKCS12_F_OPENSSL_UNI2UTF8 127 +# define PKCS12_F_OPENSSL_UTF82UNI 129 +# define PKCS12_F_PKCS12_CREATE 105 +# define PKCS12_F_PKCS12_GEN_MAC 107 +# define PKCS12_F_PKCS12_INIT 109 +# define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 +# define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 +# define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 +# define PKCS12_F_PKCS12_KEY_GEN_ASC 110 +# define PKCS12_F_PKCS12_KEY_GEN_UNI 111 +# define PKCS12_F_PKCS12_KEY_GEN_UTF8 116 +# define PKCS12_F_PKCS12_NEWPASS 128 +# define PKCS12_F_PKCS12_PACK_P7DATA 114 +# define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 +# define PKCS12_F_PKCS12_PARSE 118 +# define PKCS12_F_PKCS12_PBE_CRYPT 119 +# define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_P8INF 112 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_PKCS8 113 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE_PKCS8_ENCRYPT 133 +# define PKCS12_F_PKCS12_SETUP_MAC 122 +# define PKCS12_F_PKCS12_SET_MAC 123 +# define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 +# define PKCS12_F_PKCS12_UNPACK_P7DATA 131 +# define PKCS12_F_PKCS12_VERIFY_MAC 126 +# define PKCS12_F_PKCS8_ENCRYPT 125 +# define PKCS12_F_PKCS8_SET0_PBE 132 + +/* + * PKCS12 reason codes. + */ +# define PKCS12_R_CANT_PACK_STRUCTURE 100 +# define PKCS12_R_CONTENT_TYPE_NOT_DATA 121 +# define PKCS12_R_DECODE_ERROR 101 +# define PKCS12_R_ENCODE_ERROR 102 +# define PKCS12_R_ENCRYPT_ERROR 103 +# define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120 +# define PKCS12_R_INVALID_NULL_ARGUMENT 104 +# define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105 +# define PKCS12_R_IV_GEN_ERROR 106 +# define PKCS12_R_KEY_GEN_ERROR 107 +# define PKCS12_R_MAC_ABSENT 108 +# define PKCS12_R_MAC_GENERATION_ERROR 109 +# define PKCS12_R_MAC_SETUP_ERROR 110 +# define PKCS12_R_MAC_STRING_SET_ERROR 111 +# define PKCS12_R_MAC_VERIFY_FAILURE 113 +# define PKCS12_R_PARSE_ERROR 114 +# define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115 +# define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116 +# define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117 +# define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118 +# define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119 + +#endif diff --git a/openssl/1.1/include/openssl/pkcs7.h b/openssl/1.1/include/openssl/pkcs7.h new file mode 100644 index 0000000..9b66e00 --- /dev/null +++ b/openssl/1.1/include/openssl/pkcs7.h @@ -0,0 +1,319 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PKCS7_H +# define HEADER_PKCS7_H + +# include +# include +# include + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/*- +Encryption_ID DES-CBC +Digest_ID MD5 +Digest_Encryption_ID rsaEncryption +Key_Encryption_ID rsaEncryption +*/ + +typedef struct pkcs7_issuer_and_serial_st { + X509_NAME *issuer; + ASN1_INTEGER *serial; +} PKCS7_ISSUER_AND_SERIAL; + +typedef struct pkcs7_signer_info_st { + ASN1_INTEGER *version; /* version 1 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *digest_alg; + STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ + X509_ALGOR *digest_enc_alg; + ASN1_OCTET_STRING *enc_digest; + STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ + /* The private key to sign with */ + EVP_PKEY *pkey; +} PKCS7_SIGNER_INFO; + +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) + +typedef struct pkcs7_recip_info_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *key_enc_algor; + ASN1_OCTET_STRING *enc_key; + X509 *cert; /* get the pub-key from this */ +} PKCS7_RECIP_INFO; + +DEFINE_STACK_OF(PKCS7_RECIP_INFO) + +typedef struct pkcs7_signed_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + struct pkcs7_st *contents; +} PKCS7_SIGNED; +/* + * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about + * merging the two + */ + +typedef struct pkcs7_enc_content_st { + ASN1_OBJECT *content_type; + X509_ALGOR *algorithm; + ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ + const EVP_CIPHER *cipher; +} PKCS7_ENC_CONTENT; + +typedef struct pkcs7_enveloped_st { + ASN1_INTEGER *version; /* version 0 */ + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENVELOPE; + +typedef struct pkcs7_signedandenveloped_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + PKCS7_ENC_CONTENT *enc_data; + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; +} PKCS7_SIGN_ENVELOPE; + +typedef struct pkcs7_digest_st { + ASN1_INTEGER *version; /* version 0 */ + X509_ALGOR *md; /* md used */ + struct pkcs7_st *contents; + ASN1_OCTET_STRING *digest; +} PKCS7_DIGEST; + +typedef struct pkcs7_encrypted_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENCRYPT; + +typedef struct pkcs7_st { + /* + * The following is non NULL if it contains ASN1 encoding of this + * structure + */ + unsigned char *asn1; + long length; +# define PKCS7_S_HEADER 0 +# define PKCS7_S_BODY 1 +# define PKCS7_S_TAIL 2 + int state; /* used during processing */ + int detached; + ASN1_OBJECT *type; + /* content as defined by the type */ + /* + * all encryption/message digests are applied to the 'contents', leaving + * out the 'type' field. + */ + union { + char *ptr; + /* NID_pkcs7_data */ + ASN1_OCTET_STRING *data; + /* NID_pkcs7_signed */ + PKCS7_SIGNED *sign; + /* NID_pkcs7_enveloped */ + PKCS7_ENVELOPE *enveloped; + /* NID_pkcs7_signedAndEnveloped */ + PKCS7_SIGN_ENVELOPE *signed_and_enveloped; + /* NID_pkcs7_digest */ + PKCS7_DIGEST *digest; + /* NID_pkcs7_encrypted */ + PKCS7_ENCRYPT *encrypted; + /* Anything else */ + ASN1_TYPE *other; + } d; +} PKCS7; + +DEFINE_STACK_OF(PKCS7) + +# define PKCS7_OP_SET_DETACHED_SIGNATURE 1 +# define PKCS7_OP_GET_DETACHED_SIGNATURE 2 + +# define PKCS7_get_signed_attributes(si) ((si)->auth_attr) +# define PKCS7_get_attributes(si) ((si)->unauth_attr) + +# define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) +# define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) +# define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) +# define PKCS7_type_is_signedAndEnveloped(a) \ + (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) +# define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) +# define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) + +# define PKCS7_set_detached(p,v) \ + PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) +# define PKCS7_get_detached(p) \ + PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) + +# define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) + +/* S/MIME related flags */ + +# define PKCS7_TEXT 0x1 +# define PKCS7_NOCERTS 0x2 +# define PKCS7_NOSIGS 0x4 +# define PKCS7_NOCHAIN 0x8 +# define PKCS7_NOINTERN 0x10 +# define PKCS7_NOVERIFY 0x20 +# define PKCS7_DETACHED 0x40 +# define PKCS7_BINARY 0x80 +# define PKCS7_NOATTR 0x100 +# define PKCS7_NOSMIMECAP 0x200 +# define PKCS7_NOOLDMIMETYPE 0x400 +# define PKCS7_CRLFEOL 0x800 +# define PKCS7_STREAM 0x1000 +# define PKCS7_NOCRL 0x2000 +# define PKCS7_PARTIAL 0x4000 +# define PKCS7_REUSE_DIGEST 0x8000 +# define PKCS7_NO_DUAL_CONTENT 0x10000 + +/* Flags: for compatibility with older code */ + +# define SMIME_TEXT PKCS7_TEXT +# define SMIME_NOCERTS PKCS7_NOCERTS +# define SMIME_NOSIGS PKCS7_NOSIGS +# define SMIME_NOCHAIN PKCS7_NOCHAIN +# define SMIME_NOINTERN PKCS7_NOINTERN +# define SMIME_NOVERIFY PKCS7_NOVERIFY +# define SMIME_DETACHED PKCS7_DETACHED +# define SMIME_BINARY PKCS7_BINARY +# define SMIME_NOATTR PKCS7_NOATTR + +/* CRLF ASCII canonicalisation */ +# define SMIME_ASCIICRLF 0x80000 + +DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) + +int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, + const EVP_MD *type, unsigned char *md, + unsigned int *len); +# ifndef OPENSSL_NO_STDIO +PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); +int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); +# endif +PKCS7 *PKCS7_dup(PKCS7 *p7); +PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); +int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); +int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); +int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); + +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) +DECLARE_ASN1_FUNCTIONS(PKCS7) + +DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) +DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) + +DECLARE_ASN1_NDEF_FUNCTION(PKCS7) +DECLARE_ASN1_PRINT_FUNCTION(PKCS7) + +long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); + +int PKCS7_set_type(PKCS7 *p7, int type); +int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); +int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); +int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, + const EVP_MD *dgst); +int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); +int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); +int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); +int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); +int PKCS7_content_new(PKCS7 *p7, int nid); +int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, + BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, + X509 *x509); + +BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); +int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); +BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); + +PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, + EVP_PKEY *pkey, const EVP_MD *dgst); +X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); +STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); + +PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); +void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, + X509_ALGOR **pdig, X509_ALGOR **psig); +void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); +int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); +int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); +int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); +int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); + +PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); +ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, + void *data); +int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, + void *value); +ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); +ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); +int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); + +PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, int flags); + +PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, + X509 *signcert, EVP_PKEY *pkey, + const EVP_MD *md, int flags); + +int PKCS7_final(PKCS7 *p7, BIO *data, int flags); +int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, + BIO *indata, BIO *out, int flags); +STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, + int flags); +PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, + int flags); +int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, + int flags); + +int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, + STACK_OF(X509_ALGOR) *cap); +STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); +int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); + +int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); +int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); +int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, + const unsigned char *md, int mdlen); + +int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); +PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); + +BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/pkcs7err.h b/openssl/1.1/include/openssl/pkcs7err.h new file mode 100644 index 0000000..0ba418d --- /dev/null +++ b/openssl/1.1/include/openssl/pkcs7err.h @@ -0,0 +1,99 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PKCS7ERR_H +# define HEADER_PKCS7ERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_PKCS7_strings(void); + +/* + * PKCS7 function codes. + */ +# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 +# define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 +# define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 +# define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 +# define PKCS7_F_PKCS7_ADD_CRL 101 +# define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 +# define PKCS7_F_PKCS7_ADD_SIGNATURE 131 +# define PKCS7_F_PKCS7_ADD_SIGNER 103 +# define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 +# define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 +# define PKCS7_F_PKCS7_CTRL 104 +# define PKCS7_F_PKCS7_DATADECODE 112 +# define PKCS7_F_PKCS7_DATAFINAL 128 +# define PKCS7_F_PKCS7_DATAINIT 105 +# define PKCS7_F_PKCS7_DATAVERIFY 107 +# define PKCS7_F_PKCS7_DECRYPT 114 +# define PKCS7_F_PKCS7_DECRYPT_RINFO 133 +# define PKCS7_F_PKCS7_ENCODE_RINFO 132 +# define PKCS7_F_PKCS7_ENCRYPT 115 +# define PKCS7_F_PKCS7_FINAL 134 +# define PKCS7_F_PKCS7_FIND_DIGEST 127 +# define PKCS7_F_PKCS7_GET0_SIGNERS 124 +# define PKCS7_F_PKCS7_RECIP_INFO_SET 130 +# define PKCS7_F_PKCS7_SET_CIPHER 108 +# define PKCS7_F_PKCS7_SET_CONTENT 109 +# define PKCS7_F_PKCS7_SET_DIGEST 126 +# define PKCS7_F_PKCS7_SET_TYPE 110 +# define PKCS7_F_PKCS7_SIGN 116 +# define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 +# define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 +# define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 +# define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 +# define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 +# define PKCS7_F_PKCS7_VERIFY 117 + +/* + * PKCS7 reason codes. + */ +# define PKCS7_R_CERTIFICATE_VERIFY_ERROR 117 +# define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 144 +# define PKCS7_R_CIPHER_NOT_INITIALIZED 116 +# define PKCS7_R_CONTENT_AND_DATA_PRESENT 118 +# define PKCS7_R_CTRL_ERROR 152 +# define PKCS7_R_DECRYPT_ERROR 119 +# define PKCS7_R_DIGEST_FAILURE 101 +# define PKCS7_R_ENCRYPTION_CTRL_FAILURE 149 +# define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150 +# define PKCS7_R_ERROR_ADDING_RECIPIENT 120 +# define PKCS7_R_ERROR_SETTING_CIPHER 121 +# define PKCS7_R_INVALID_NULL_POINTER 143 +# define PKCS7_R_INVALID_SIGNED_DATA_TYPE 155 +# define PKCS7_R_NO_CONTENT 122 +# define PKCS7_R_NO_DEFAULT_DIGEST 151 +# define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 +# define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 +# define PKCS7_R_NO_SIGNATURES_ON_DATA 123 +# define PKCS7_R_NO_SIGNERS 142 +# define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE 104 +# define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR 124 +# define PKCS7_R_PKCS7_ADD_SIGNER_ERROR 153 +# define PKCS7_R_PKCS7_DATASIGN 145 +# define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 127 +# define PKCS7_R_SIGNATURE_FAILURE 105 +# define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND 128 +# define PKCS7_R_SIGNING_CTRL_FAILURE 147 +# define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 148 +# define PKCS7_R_SMIME_TEXT_ERROR 129 +# define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE 106 +# define PKCS7_R_UNABLE_TO_FIND_MEM_BIO 107 +# define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST 108 +# define PKCS7_R_UNKNOWN_DIGEST_TYPE 109 +# define PKCS7_R_UNKNOWN_OPERATION 110 +# define PKCS7_R_UNSUPPORTED_CIPHER_TYPE 111 +# define PKCS7_R_UNSUPPORTED_CONTENT_TYPE 112 +# define PKCS7_R_WRONG_CONTENT_TYPE 113 +# define PKCS7_R_WRONG_PKCS7_TYPE 114 + +#endif diff --git a/openssl/1.1/include/openssl/rand.h b/openssl/1.1/include/openssl/rand.h new file mode 100644 index 0000000..38a2a27 --- /dev/null +++ b/openssl/1.1/include/openssl/rand.h @@ -0,0 +1,77 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RAND_H +# define HEADER_RAND_H + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +struct rand_meth_st { + int (*seed) (const void *buf, int num); + int (*bytes) (unsigned char *buf, int num); + void (*cleanup) (void); + int (*add) (const void *buf, int num, double randomness); + int (*pseudorand) (unsigned char *buf, int num); + int (*status) (void); +}; + +int RAND_set_rand_method(const RAND_METHOD *meth); +const RAND_METHOD *RAND_get_rand_method(void); +# ifndef OPENSSL_NO_ENGINE +int RAND_set_rand_engine(ENGINE *engine); +# endif + +RAND_METHOD *RAND_OpenSSL(void); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define RAND_cleanup() while(0) continue +# endif +int RAND_bytes(unsigned char *buf, int num); +int RAND_priv_bytes(unsigned char *buf, int num); +DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num)) + +void RAND_seed(const void *buf, int num); +void RAND_keep_random_devices_open(int keep); + +# if defined(__ANDROID__) && defined(__NDK_FPABI__) +__NDK_FPABI__ /* __attribute__((pcs("aapcs"))) on ARM */ +# endif +void RAND_add(const void *buf, int num, double randomness); +int RAND_load_file(const char *file, long max_bytes); +int RAND_write_file(const char *file); +const char *RAND_file_name(char *file, size_t num); +int RAND_status(void); + +# ifndef OPENSSL_NO_EGD +int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); +int RAND_egd(const char *path); +int RAND_egd_bytes(const char *path, int bytes); +# endif + +int RAND_poll(void); + +# if defined(_WIN32) && (defined(BASETYPES) || defined(_WINDEF_H)) +/* application has to include in order to use these */ +DEPRECATEDIN_1_1_0(void RAND_screen(void)) +DEPRECATEDIN_1_1_0(int RAND_event(UINT, WPARAM, LPARAM)) +# endif + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/rand_drbg.h b/openssl/1.1/include/openssl/rand_drbg.h new file mode 100644 index 0000000..282356e --- /dev/null +++ b/openssl/1.1/include/openssl/rand_drbg.h @@ -0,0 +1,120 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DRBG_RAND_H +# define HEADER_DRBG_RAND_H + +# include +# include + + +/* In CTR mode, disable derivation function ctr_df */ +# define RAND_DRBG_FLAG_CTR_NO_DF 0x1 + +/* A logical OR of all used flag bits (currently there is only one) */ +# define RAND_DRBG_USED_FLAGS ( \ + RAND_DRBG_FLAG_CTR_NO_DF \ + ) + +/* + * Default security strength (in the sense of [NIST SP 800-90Ar1]) + * + * NIST SP 800-90Ar1 supports the strength of the DRBG being smaller than that + * of the cipher by collecting less entropy. The current DRBG implemantion does + * not take RAND_DRBG_STRENGTH into account and sets the strength of the DRBG + * to that of the cipher. + * + * RAND_DRBG_STRENGTH is currently only used for the legacy RAND + * implementation. + * + * Currently supported ciphers are: NID_aes_128_ctr, NID_aes_192_ctr and + * NID_aes_256_ctr + */ +# define RAND_DRBG_STRENGTH 256 +# define RAND_DRBG_TYPE NID_aes_256_ctr +# define RAND_DRBG_FLAGS 0 + + +# ifdef __cplusplus +extern "C" { +# endif + +/* + * Object lifetime functions. + */ +RAND_DRBG *RAND_DRBG_new(int type, unsigned int flags, RAND_DRBG *parent); +RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent); +int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags); +int RAND_DRBG_set_defaults(int type, unsigned int flags); +int RAND_DRBG_instantiate(RAND_DRBG *drbg, + const unsigned char *pers, size_t perslen); +int RAND_DRBG_uninstantiate(RAND_DRBG *drbg); +void RAND_DRBG_free(RAND_DRBG *drbg); + +/* + * Object "use" functions. + */ +int RAND_DRBG_reseed(RAND_DRBG *drbg, + const unsigned char *adin, size_t adinlen, + int prediction_resistance); +int RAND_DRBG_generate(RAND_DRBG *drbg, unsigned char *out, size_t outlen, + int prediction_resistance, + const unsigned char *adin, size_t adinlen); +int RAND_DRBG_bytes(RAND_DRBG *drbg, unsigned char *out, size_t outlen); + +int RAND_DRBG_set_reseed_interval(RAND_DRBG *drbg, unsigned int interval); +int RAND_DRBG_set_reseed_time_interval(RAND_DRBG *drbg, time_t interval); + +int RAND_DRBG_set_reseed_defaults( + unsigned int master_reseed_interval, + unsigned int slave_reseed_interval, + time_t master_reseed_time_interval, + time_t slave_reseed_time_interval + ); + +RAND_DRBG *RAND_DRBG_get0_master(void); +RAND_DRBG *RAND_DRBG_get0_public(void); +RAND_DRBG *RAND_DRBG_get0_private(void); + +/* + * EXDATA + */ +# define RAND_DRBG_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DRBG, l, p, newf, dupf, freef) +int RAND_DRBG_set_ex_data(RAND_DRBG *drbg, int idx, void *arg); +void *RAND_DRBG_get_ex_data(const RAND_DRBG *drbg, int idx); + +/* + * Callback function typedefs + */ +typedef size_t (*RAND_DRBG_get_entropy_fn)(RAND_DRBG *drbg, + unsigned char **pout, + int entropy, size_t min_len, + size_t max_len, + int prediction_resistance); +typedef void (*RAND_DRBG_cleanup_entropy_fn)(RAND_DRBG *ctx, + unsigned char *out, size_t outlen); +typedef size_t (*RAND_DRBG_get_nonce_fn)(RAND_DRBG *drbg, unsigned char **pout, + int entropy, size_t min_len, + size_t max_len); +typedef void (*RAND_DRBG_cleanup_nonce_fn)(RAND_DRBG *drbg, + unsigned char *out, size_t outlen); + +int RAND_DRBG_set_callbacks(RAND_DRBG *drbg, + RAND_DRBG_get_entropy_fn get_entropy, + RAND_DRBG_cleanup_entropy_fn cleanup_entropy, + RAND_DRBG_get_nonce_fn get_nonce, + RAND_DRBG_cleanup_nonce_fn cleanup_nonce); + + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/openssl/1.1/include/openssl/randerr.h b/openssl/1.1/include/openssl/randerr.h new file mode 100644 index 0000000..128f4de --- /dev/null +++ b/openssl/1.1/include/openssl/randerr.h @@ -0,0 +1,88 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RANDERR_H +# define HEADER_RANDERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_RAND_strings(void); + +/* + * RAND function codes. + */ +# define RAND_F_DRBG_BYTES 101 +# define RAND_F_DRBG_GET_ENTROPY 105 +# define RAND_F_DRBG_SETUP 117 +# define RAND_F_GET_ENTROPY 106 +# define RAND_F_RAND_BYTES 100 +# define RAND_F_RAND_DRBG_ENABLE_LOCKING 119 +# define RAND_F_RAND_DRBG_GENERATE 107 +# define RAND_F_RAND_DRBG_GET_ENTROPY 120 +# define RAND_F_RAND_DRBG_GET_NONCE 123 +# define RAND_F_RAND_DRBG_INSTANTIATE 108 +# define RAND_F_RAND_DRBG_NEW 109 +# define RAND_F_RAND_DRBG_RESEED 110 +# define RAND_F_RAND_DRBG_RESTART 102 +# define RAND_F_RAND_DRBG_SET 104 +# define RAND_F_RAND_DRBG_SET_DEFAULTS 121 +# define RAND_F_RAND_DRBG_UNINSTANTIATE 118 +# define RAND_F_RAND_LOAD_FILE 111 +# define RAND_F_RAND_POOL_ACQUIRE_ENTROPY 122 +# define RAND_F_RAND_POOL_ADD 103 +# define RAND_F_RAND_POOL_ADD_BEGIN 113 +# define RAND_F_RAND_POOL_ADD_END 114 +# define RAND_F_RAND_POOL_BYTES_NEEDED 115 +# define RAND_F_RAND_POOL_NEW 116 +# define RAND_F_RAND_WRITE_FILE 112 + +/* + * RAND reason codes. + */ +# define RAND_R_ADDITIONAL_INPUT_TOO_LONG 102 +# define RAND_R_ALREADY_INSTANTIATED 103 +# define RAND_R_ARGUMENT_OUT_OF_RANGE 105 +# define RAND_R_CANNOT_OPEN_FILE 121 +# define RAND_R_DRBG_ALREADY_INITIALIZED 129 +# define RAND_R_DRBG_NOT_INITIALISED 104 +# define RAND_R_ENTROPY_INPUT_TOO_LONG 106 +# define RAND_R_ENTROPY_OUT_OF_RANGE 124 +# define RAND_R_ERROR_ENTROPY_POOL_WAS_IGNORED 127 +# define RAND_R_ERROR_INITIALISING_DRBG 107 +# define RAND_R_ERROR_INSTANTIATING_DRBG 108 +# define RAND_R_ERROR_RETRIEVING_ADDITIONAL_INPUT 109 +# define RAND_R_ERROR_RETRIEVING_ENTROPY 110 +# define RAND_R_ERROR_RETRIEVING_NONCE 111 +# define RAND_R_FAILED_TO_CREATE_LOCK 126 +# define RAND_R_FUNC_NOT_IMPLEMENTED 101 +# define RAND_R_FWRITE_ERROR 123 +# define RAND_R_GENERATE_ERROR 112 +# define RAND_R_INTERNAL_ERROR 113 +# define RAND_R_IN_ERROR_STATE 114 +# define RAND_R_NOT_A_REGULAR_FILE 122 +# define RAND_R_NOT_INSTANTIATED 115 +# define RAND_R_NO_DRBG_IMPLEMENTATION_SELECTED 128 +# define RAND_R_PARENT_LOCKING_NOT_ENABLED 130 +# define RAND_R_PARENT_STRENGTH_TOO_WEAK 131 +# define RAND_R_PERSONALISATION_STRING_TOO_LONG 116 +# define RAND_R_PREDICTION_RESISTANCE_NOT_SUPPORTED 133 +# define RAND_R_PRNG_NOT_SEEDED 100 +# define RAND_R_RANDOM_POOL_OVERFLOW 125 +# define RAND_R_RANDOM_POOL_UNDERFLOW 134 +# define RAND_R_REQUEST_TOO_LARGE_FOR_DRBG 117 +# define RAND_R_RESEED_ERROR 118 +# define RAND_R_SELFTEST_FAILURE 119 +# define RAND_R_TOO_LITTLE_NONCE_REQUESTED 135 +# define RAND_R_TOO_MUCH_NONCE_REQUESTED 136 +# define RAND_R_UNSUPPORTED_DRBG_FLAGS 132 +# define RAND_R_UNSUPPORTED_DRBG_TYPE 120 + +#endif diff --git a/openssl/1.1/include/openssl/rc2.h b/openssl/1.1/include/openssl/rc2.h new file mode 100644 index 0000000..585f9e4 --- /dev/null +++ b/openssl/1.1/include/openssl/rc2.h @@ -0,0 +1,51 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RC2_H +# define HEADER_RC2_H + +# include + +# ifndef OPENSSL_NO_RC2 +# ifdef __cplusplus +extern "C" { +# endif + +typedef unsigned int RC2_INT; + +# define RC2_ENCRYPT 1 +# define RC2_DECRYPT 0 + +# define RC2_BLOCK 8 +# define RC2_KEY_LENGTH 16 + +typedef struct rc2_key_st { + RC2_INT data[64]; +} RC2_KEY; + +void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); +void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC2_KEY *key, int enc); +void RC2_encrypt(unsigned long *data, RC2_KEY *key); +void RC2_decrypt(unsigned long *data, RC2_KEY *key); +void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + RC2_KEY *ks, unsigned char *iv, int enc); +void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/rc4.h b/openssl/1.1/include/openssl/rc4.h new file mode 100644 index 0000000..86803b3 --- /dev/null +++ b/openssl/1.1/include/openssl/rc4.h @@ -0,0 +1,36 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RC4_H +# define HEADER_RC4_H + +# include + +# ifndef OPENSSL_NO_RC4 +# include +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc4_key_st { + RC4_INT x, y; + RC4_INT data[256]; +} RC4_KEY; + +const char *RC4_options(void); +void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, + unsigned char *outdata); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/rc5.h b/openssl/1.1/include/openssl/rc5.h new file mode 100644 index 0000000..793f88e --- /dev/null +++ b/openssl/1.1/include/openssl/rc5.h @@ -0,0 +1,63 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RC5_H +# define HEADER_RC5_H + +# include + +# ifndef OPENSSL_NO_RC5 +# ifdef __cplusplus +extern "C" { +# endif + +# define RC5_ENCRYPT 1 +# define RC5_DECRYPT 0 + +# define RC5_32_INT unsigned int + +# define RC5_32_BLOCK 8 +# define RC5_32_KEY_LENGTH 16/* This is a default, max is 255 */ + +/* + * This are the only values supported. Tweak the code if you want more The + * most supported modes will be RC5-32/12/16 RC5-32/16/8 + */ +# define RC5_8_ROUNDS 8 +# define RC5_12_ROUNDS 12 +# define RC5_16_ROUNDS 16 + +typedef struct rc5_key_st { + /* Number of rounds */ + int rounds; + RC5_32_INT data[2 * (RC5_16_ROUNDS + 1)]; +} RC5_32_KEY; + +void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data, + int rounds); +void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC5_32_KEY *key, int enc); +void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key); +void RC5_32_decrypt(unsigned long *data, RC5_32_KEY *key); +void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *ks, unsigned char *iv, + int enc); +void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/ripemd.h b/openssl/1.1/include/openssl/ripemd.h new file mode 100644 index 0000000..c42026a --- /dev/null +++ b/openssl/1.1/include/openssl/ripemd.h @@ -0,0 +1,47 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RIPEMD_H +# define HEADER_RIPEMD_H + +# include + +#ifndef OPENSSL_NO_RMD160 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define RIPEMD160_LONG unsigned int + +# define RIPEMD160_CBLOCK 64 +# define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) +# define RIPEMD160_DIGEST_LENGTH 20 + +typedef struct RIPEMD160state_st { + RIPEMD160_LONG A, B, C, D, E; + RIPEMD160_LONG Nl, Nh; + RIPEMD160_LONG data[RIPEMD160_LBLOCK]; + unsigned int num; +} RIPEMD160_CTX; + +int RIPEMD160_Init(RIPEMD160_CTX *c); +int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); +int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); +unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); +void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); + +# ifdef __cplusplus +} +# endif +# endif + + +#endif diff --git a/openssl/1.1/include/openssl/rsa.h b/openssl/1.1/include/openssl/rsa.h new file mode 100644 index 0000000..a611b6a --- /dev/null +++ b/openssl/1.1/include/openssl/rsa.h @@ -0,0 +1,512 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RSA_H +# define HEADER_RSA_H + +# include + +# ifndef OPENSSL_NO_RSA +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include +# ifdef __cplusplus +extern "C" { +# endif + +/* The types RSA and RSA_METHOD are defined in ossl_typ.h */ + +# ifndef OPENSSL_RSA_MAX_MODULUS_BITS +# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 +# endif + +# define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024 + +# ifndef OPENSSL_RSA_SMALL_MODULUS_BITS +# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 +# endif +# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS + +/* exponent limit enforced for "large" modulus only */ +# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 +# endif + +# define RSA_3 0x3L +# define RSA_F4 0x10001L + +/* based on RFC 8017 appendix A.1.2 */ +# define RSA_ASN1_VERSION_DEFAULT 0 +# define RSA_ASN1_VERSION_MULTI 1 + +# define RSA_DEFAULT_PRIME_NUM 2 + +# define RSA_METHOD_FLAG_NO_CHECK 0x0001/* don't check pub/private + * match */ + +# define RSA_FLAG_CACHE_PUBLIC 0x0002 +# define RSA_FLAG_CACHE_PRIVATE 0x0004 +# define RSA_FLAG_BLINDING 0x0008 +# define RSA_FLAG_THREAD_SAFE 0x0010 +/* + * This flag means the private key operations will be handled by rsa_mod_exp + * and that they do not depend on the private key components being present: + * for example a key stored in external hardware. Without this flag + * bn_mod_exp gets called when private key components are absent. + */ +# define RSA_FLAG_EXT_PKEY 0x0020 + +/* + * new with 0.9.6j and 0.9.7b; the built-in + * RSA implementation now uses blinding by + * default (ignoring RSA_FLAG_BLINDING), + * but other engines might not need it + */ +# define RSA_FLAG_NO_BLINDING 0x0080 +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * Does nothing. Previously this switched off constant time behaviour. + */ +# define RSA_FLAG_NO_CONSTTIME 0x0000 +# endif +# if OPENSSL_API_COMPAT < 0x00908000L +/* deprecated name for the flag*/ +/* + * new with 0.9.7h; the built-in RSA + * implementation now uses constant time + * modular exponentiation for secret exponents + * by default. This flag causes the + * faster variable sliding window method to + * be used for all exponents. + */ +# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME +# endif + +# define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ + RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_RSA_PADDING, pad, NULL) + +# define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ + RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) + +# define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ + RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) +/* Salt length matches digest */ +# define RSA_PSS_SALTLEN_DIGEST -1 +/* Verify only: auto detect salt length */ +# define RSA_PSS_SALTLEN_AUTO -2 +/* Set salt length to maximum possible */ +# define RSA_PSS_SALTLEN_MAX -3 +/* Old compatible max salt length for sign only */ +# define RSA_PSS_SALTLEN_MAX_SIGN -2 + +# define EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ + RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, 0, plen) + +# define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) + +# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) + +# define EVP_PKEY_CTX_set_rsa_keygen_primes(ctx, primes) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES, primes, NULL) + +# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)(l)) + +# define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)(l)) + +# define EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, \ + EVP_PKEY_OP_TYPE_KEYGEN, EVP_PKEY_CTRL_MD, \ + 0, (void *)(md)) + +# define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) + +# define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) + +# define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) + +# define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) + +# define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) + +# define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES (EVP_PKEY_ALG_CTRL + 13) + +# define RSA_PKCS1_PADDING 1 +# define RSA_SSLV23_PADDING 2 +# define RSA_NO_PADDING 3 +# define RSA_PKCS1_OAEP_PADDING 4 +# define RSA_X931_PADDING 5 +/* EVP_PKEY_ only */ +# define RSA_PKCS1_PSS_PADDING 6 + +# define RSA_PKCS1_PADDING_SIZE 11 + +# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) +# define RSA_get_app_data(s) RSA_get_ex_data(s,0) + +RSA *RSA_new(void); +RSA *RSA_new_method(ENGINE *engine); +int RSA_bits(const RSA *rsa); +int RSA_size(const RSA *rsa); +int RSA_security_bits(const RSA *rsa); + +int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); +int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); +int RSA_set0_crt_params(RSA *r,BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); +int RSA_set0_multi_prime_params(RSA *r, BIGNUM *primes[], BIGNUM *exps[], + BIGNUM *coeffs[], int pnum); +void RSA_get0_key(const RSA *r, + const BIGNUM **n, const BIGNUM **e, const BIGNUM **d); +void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); +int RSA_get_multi_prime_extra_count(const RSA *r); +int RSA_get0_multi_prime_factors(const RSA *r, const BIGNUM *primes[]); +void RSA_get0_crt_params(const RSA *r, + const BIGNUM **dmp1, const BIGNUM **dmq1, + const BIGNUM **iqmp); +int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[], + const BIGNUM *coeffs[]); +const BIGNUM *RSA_get0_n(const RSA *d); +const BIGNUM *RSA_get0_e(const RSA *d); +const BIGNUM *RSA_get0_d(const RSA *d); +const BIGNUM *RSA_get0_p(const RSA *d); +const BIGNUM *RSA_get0_q(const RSA *d); +const BIGNUM *RSA_get0_dmp1(const RSA *r); +const BIGNUM *RSA_get0_dmq1(const RSA *r); +const BIGNUM *RSA_get0_iqmp(const RSA *r); +void RSA_clear_flags(RSA *r, int flags); +int RSA_test_flags(const RSA *r, int flags); +void RSA_set_flags(RSA *r, int flags); +int RSA_get_version(RSA *r); +ENGINE *RSA_get0_engine(const RSA *r); + +/* Deprecated version */ +DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void + (*callback) (int, int, void *), + void *cb_arg)) + +/* New version */ +int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); +/* Multi-prime version */ +int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes, + BIGNUM *e, BN_GENCB *cb); + +int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, + BIGNUM *q2, const BIGNUM *Xp1, const BIGNUM *Xp2, + const BIGNUM *Xp, const BIGNUM *Xq1, const BIGNUM *Xq2, + const BIGNUM *Xq, const BIGNUM *e, BN_GENCB *cb); +int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e, + BN_GENCB *cb); + +int RSA_check_key(const RSA *); +int RSA_check_key_ex(const RSA *, BN_GENCB *cb); + /* next 4 return -1 on error */ +int RSA_public_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_public_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +void RSA_free(RSA *r); +/* "up" the RSA object's reference count */ +int RSA_up_ref(RSA *r); + +int RSA_flags(const RSA *r); + +void RSA_set_default_method(const RSA_METHOD *meth); +const RSA_METHOD *RSA_get_default_method(void); +const RSA_METHOD *RSA_null_method(void); +const RSA_METHOD *RSA_get_method(const RSA *rsa); +int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); + +/* these are the actual RSA functions */ +const RSA_METHOD *RSA_PKCS1_OpenSSL(void); + +int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2); + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) + +typedef struct rsa_pss_params_st { + X509_ALGOR *hashAlgorithm; + X509_ALGOR *maskGenAlgorithm; + ASN1_INTEGER *saltLength; + ASN1_INTEGER *trailerField; + /* Decoded hash algorithm from maskGenAlgorithm */ + X509_ALGOR *maskHash; +} RSA_PSS_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) + +typedef struct rsa_oaep_params_st { + X509_ALGOR *hashFunc; + X509_ALGOR *maskGenFunc; + X509_ALGOR *pSourceFunc; + /* Decoded hash algorithm from maskGenFunc */ + X509_ALGOR *maskHash; +} RSA_OAEP_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) + +# ifndef OPENSSL_NO_STDIO +int RSA_print_fp(FILE *fp, const RSA *r, int offset); +# endif + +int RSA_print(BIO *bp, const RSA *r, int offset); + +/* + * The following 2 functions sign and verify a X509_SIG ASN1 object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign(int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, RSA *rsa); +int RSA_verify(int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); + +/* + * The following 2 function sign and verify a ASN1_OCTET_STRING object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign_ASN1_OCTET_STRING(int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + RSA *rsa); +int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigbuf, + unsigned int siglen, RSA *rsa); + +int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); +void RSA_blinding_off(RSA *rsa); +BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); + +int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed, + long seedlen, const EVP_MD *dgst); +int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, + const unsigned char *p, int pl); +int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len, + const unsigned char *p, int pl); +int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + const unsigned char *param, int plen, + const EVP_MD *md, const EVP_MD *mgf1md); +int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + int num, const unsigned char *param, + int plen, const EVP_MD *md, + const EVP_MD *mgf1md); +int RSA_padding_add_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_none(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_X931(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_X931_hash_id(int nid); + +int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const unsigned char *EM, + int sLen); +int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, const EVP_MD *Hash, + int sLen); + +int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + const unsigned char *EM, int sLen); + +int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + int sLen); + +#define RSA_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, l, p, newf, dupf, freef) +int RSA_set_ex_data(RSA *r, int idx, void *arg); +void *RSA_get_ex_data(const RSA *r, int idx); + +RSA *RSAPublicKey_dup(RSA *rsa); +RSA *RSAPrivateKey_dup(RSA *rsa); + +/* + * If this flag is set the RSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define RSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define RSA_FLAG_NON_FIPS_ALLOW 0x0400 +/* + * Application has decided PRNG is good enough to generate a key: don't + * check. + */ +# define RSA_FLAG_CHECKED 0x0800 + +RSA_METHOD *RSA_meth_new(const char *name, int flags); +void RSA_meth_free(RSA_METHOD *meth); +RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth); +const char *RSA_meth_get0_name(const RSA_METHOD *meth); +int RSA_meth_set1_name(RSA_METHOD *meth, const char *name); +int RSA_meth_get_flags(const RSA_METHOD *meth); +int RSA_meth_set_flags(RSA_METHOD *meth, int flags); +void *RSA_meth_get0_app_data(const RSA_METHOD *meth); +int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data); +int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_pub_enc(RSA_METHOD *rsa, + int (*pub_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_pub_dec(RSA_METHOD *rsa, + int (*pub_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_priv_enc(RSA_METHOD *rsa, + int (*priv_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_priv_dec(RSA_METHOD *rsa, + int (*priv_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) + (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); +int RSA_meth_set_mod_exp(RSA_METHOD *rsa, + int (*mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, + BN_CTX *ctx)); +int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) + (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa, + int (*bn_mod_exp) (BIGNUM *r, + const BIGNUM *a, + const BIGNUM *p, + const BIGNUM *m, + BN_CTX *ctx, + BN_MONT_CTX *m_ctx)); +int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa); +int RSA_meth_set_init(RSA_METHOD *rsa, int (*init) (RSA *rsa)); +int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa); +int RSA_meth_set_finish(RSA_METHOD *rsa, int (*finish) (RSA *rsa)); +int (*RSA_meth_get_sign(const RSA_METHOD *meth)) + (int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + const RSA *rsa); +int RSA_meth_set_sign(RSA_METHOD *rsa, + int (*sign) (int type, const unsigned char *m, + unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + const RSA *rsa)); +int (*RSA_meth_get_verify(const RSA_METHOD *meth)) + (int dtype, const unsigned char *m, + unsigned int m_length, const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa); +int RSA_meth_set_verify(RSA_METHOD *rsa, + int (*verify) (int dtype, const unsigned char *m, + unsigned int m_length, + const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa)); +int (*RSA_meth_get_keygen(const RSA_METHOD *meth)) + (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); +int RSA_meth_set_keygen(RSA_METHOD *rsa, + int (*keygen) (RSA *rsa, int bits, BIGNUM *e, + BN_GENCB *cb)); +int (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth)) + (RSA *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb); +int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth, + int (*keygen) (RSA *rsa, int bits, + int primes, BIGNUM *e, + BN_GENCB *cb)); + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/rsaerr.h b/openssl/1.1/include/openssl/rsaerr.h new file mode 100644 index 0000000..d5bc01c --- /dev/null +++ b/openssl/1.1/include/openssl/rsaerr.h @@ -0,0 +1,162 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RSAERR_H +# define HEADER_RSAERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_RSA_strings(void); + +/* + * RSA function codes. + */ +# define RSA_F_CHECK_PADDING_MD 140 +# define RSA_F_ENCODE_PKCS1 146 +# define RSA_F_INT_RSA_VERIFY 145 +# define RSA_F_OLD_RSA_PRIV_DECODE 147 +# define RSA_F_PKEY_PSS_INIT 165 +# define RSA_F_PKEY_RSA_CTRL 143 +# define RSA_F_PKEY_RSA_CTRL_STR 144 +# define RSA_F_PKEY_RSA_SIGN 142 +# define RSA_F_PKEY_RSA_VERIFY 149 +# define RSA_F_PKEY_RSA_VERIFYRECOVER 141 +# define RSA_F_RSA_ALGOR_TO_MD 156 +# define RSA_F_RSA_BUILTIN_KEYGEN 129 +# define RSA_F_RSA_CHECK_KEY 123 +# define RSA_F_RSA_CHECK_KEY_EX 160 +# define RSA_F_RSA_CMS_DECRYPT 159 +# define RSA_F_RSA_CMS_VERIFY 158 +# define RSA_F_RSA_ITEM_VERIFY 148 +# define RSA_F_RSA_METH_DUP 161 +# define RSA_F_RSA_METH_NEW 162 +# define RSA_F_RSA_METH_SET1_NAME 163 +# define RSA_F_RSA_MGF1_TO_MD 157 +# define RSA_F_RSA_MULTIP_INFO_NEW 166 +# define RSA_F_RSA_NEW_METHOD 106 +# define RSA_F_RSA_NULL 124 +# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 +# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 +# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 +# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 +# define RSA_F_RSA_OSSL_PRIVATE_DECRYPT 101 +# define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT 102 +# define RSA_F_RSA_OSSL_PUBLIC_DECRYPT 103 +# define RSA_F_RSA_OSSL_PUBLIC_ENCRYPT 104 +# define RSA_F_RSA_PADDING_ADD_NONE 107 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 154 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 152 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 +# define RSA_F_RSA_PADDING_ADD_SSLV23 110 +# define RSA_F_RSA_PADDING_ADD_X931 127 +# define RSA_F_RSA_PADDING_CHECK_NONE 111 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1 153 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 +# define RSA_F_RSA_PADDING_CHECK_SSLV23 114 +# define RSA_F_RSA_PADDING_CHECK_X931 128 +# define RSA_F_RSA_PARAM_DECODE 164 +# define RSA_F_RSA_PRINT 115 +# define RSA_F_RSA_PRINT_FP 116 +# define RSA_F_RSA_PRIV_DECODE 150 +# define RSA_F_RSA_PRIV_ENCODE 138 +# define RSA_F_RSA_PSS_GET_PARAM 151 +# define RSA_F_RSA_PSS_TO_CTX 155 +# define RSA_F_RSA_PUB_DECODE 139 +# define RSA_F_RSA_SETUP_BLINDING 136 +# define RSA_F_RSA_SIGN 117 +# define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 +# define RSA_F_RSA_VERIFY 119 +# define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 +# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 126 +# define RSA_F_SETUP_TBUF 167 + +/* + * RSA reason codes. + */ +# define RSA_R_ALGORITHM_MISMATCH 100 +# define RSA_R_BAD_E_VALUE 101 +# define RSA_R_BAD_FIXED_HEADER_DECRYPT 102 +# define RSA_R_BAD_PAD_BYTE_COUNT 103 +# define RSA_R_BAD_SIGNATURE 104 +# define RSA_R_BLOCK_TYPE_IS_NOT_01 106 +# define RSA_R_BLOCK_TYPE_IS_NOT_02 107 +# define RSA_R_DATA_GREATER_THAN_MOD_LEN 108 +# define RSA_R_DATA_TOO_LARGE 109 +# define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 +# define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132 +# define RSA_R_DATA_TOO_SMALL 111 +# define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 +# define RSA_R_DIGEST_DOES_NOT_MATCH 158 +# define RSA_R_DIGEST_NOT_ALLOWED 145 +# define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 +# define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 +# define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 +# define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 +# define RSA_R_FIRST_OCTET_INVALID 133 +# define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144 +# define RSA_R_INVALID_DIGEST 157 +# define RSA_R_INVALID_DIGEST_LENGTH 143 +# define RSA_R_INVALID_HEADER 137 +# define RSA_R_INVALID_LABEL 160 +# define RSA_R_INVALID_MESSAGE_LENGTH 131 +# define RSA_R_INVALID_MGF1_MD 156 +# define RSA_R_INVALID_MULTI_PRIME_KEY 167 +# define RSA_R_INVALID_OAEP_PARAMETERS 161 +# define RSA_R_INVALID_PADDING 138 +# define RSA_R_INVALID_PADDING_MODE 141 +# define RSA_R_INVALID_PSS_PARAMETERS 149 +# define RSA_R_INVALID_PSS_SALTLEN 146 +# define RSA_R_INVALID_SALT_LENGTH 150 +# define RSA_R_INVALID_TRAILER 139 +# define RSA_R_INVALID_X931_DIGEST 142 +# define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 +# define RSA_R_KEY_PRIME_NUM_INVALID 165 +# define RSA_R_KEY_SIZE_TOO_SMALL 120 +# define RSA_R_LAST_OCTET_INVALID 134 +# define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152 +# define RSA_R_MODULUS_TOO_LARGE 105 +# define RSA_R_MP_COEFFICIENT_NOT_INVERSE_OF_R 168 +# define RSA_R_MP_EXPONENT_NOT_CONGRUENT_TO_D 169 +# define RSA_R_MP_R_NOT_PRIME 170 +# define RSA_R_NO_PUBLIC_EXPONENT 140 +# define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 +# define RSA_R_N_DOES_NOT_EQUAL_PRODUCT_OF_PRIMES 172 +# define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 +# define RSA_R_OAEP_DECODING_ERROR 121 +# define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 +# define RSA_R_PADDING_CHECK_FAILED 114 +# define RSA_R_PKCS_DECODING_ERROR 159 +# define RSA_R_PSS_SALTLEN_TOO_SMALL 164 +# define RSA_R_P_NOT_PRIME 128 +# define RSA_R_Q_NOT_PRIME 129 +# define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 +# define RSA_R_SLEN_CHECK_FAILED 136 +# define RSA_R_SLEN_RECOVERY_FAILED 135 +# define RSA_R_SSLV3_ROLLBACK_ATTACK 115 +# define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 +# define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 +# define RSA_R_UNKNOWN_DIGEST 166 +# define RSA_R_UNKNOWN_MASK_DIGEST 151 +# define RSA_R_UNKNOWN_PADDING_TYPE 118 +# define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 162 +# define RSA_R_UNSUPPORTED_LABEL_SOURCE 163 +# define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153 +# define RSA_R_UNSUPPORTED_MASK_PARAMETER 154 +# define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155 +# define RSA_R_VALUE_MISSING 147 +# define RSA_R_WRONG_SIGNATURE_LENGTH 119 + +#endif diff --git a/openssl/1.1/include/openssl/safestack.h b/openssl/1.1/include/openssl/safestack.h new file mode 100644 index 0000000..7438b19 --- /dev/null +++ b/openssl/1.1/include/openssl/safestack.h @@ -0,0 +1,172 @@ +/* + * Copyright 1999-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SAFESTACK_H +# define HEADER_SAFESTACK_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define STACK_OF(type) struct stack_st_##type + +# define SKM_DEFINE_STACK_OF(t1, t2, t3) \ + STACK_OF(t1); \ + typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \ + typedef void (*sk_##t1##_freefunc)(t3 *a); \ + typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \ + static ossl_inline int sk_##t1##_num(const STACK_OF(t1) *sk) \ + { \ + return OPENSSL_sk_num((const OPENSSL_STACK *)sk); \ + } \ + static ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \ + { \ + return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \ + } \ + static ossl_inline STACK_OF(t1) *sk_##t1##_new(sk_##t1##_compfunc compare) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new((OPENSSL_sk_compfunc)compare); \ + } \ + static ossl_inline STACK_OF(t1) *sk_##t1##_new_null(void) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new_null(); \ + } \ + static ossl_inline STACK_OF(t1) *sk_##t1##_new_reserve(sk_##t1##_compfunc compare, int n) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new_reserve((OPENSSL_sk_compfunc)compare, n); \ + } \ + static ossl_inline int sk_##t1##_reserve(STACK_OF(t1) *sk, int n) \ + { \ + return OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n); \ + } \ + static ossl_inline void sk_##t1##_free(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_free((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline void sk_##t1##_zero(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_zero((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \ + { \ + return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \ + } \ + static ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return (t2 *)OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, \ + (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_push((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \ + { \ + return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \ + { \ + return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \ + { \ + OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (OPENSSL_sk_freefunc)freefunc); \ + } \ + static ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \ + { \ + return OPENSSL_sk_insert((OPENSSL_STACK *)sk, (const void *)ptr, idx); \ + } \ + static ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \ + { \ + return (t2 *)OPENSSL_sk_set((OPENSSL_STACK *)sk, idx, (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_find((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline void sk_##t1##_sort(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_sort((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline int sk_##t1##_is_sorted(const STACK_OF(t1) *sk) \ + { \ + return OPENSSL_sk_is_sorted((const OPENSSL_STACK *)sk); \ + } \ + static ossl_inline STACK_OF(t1) * sk_##t1##_dup(const STACK_OF(t1) *sk) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_dup((const OPENSSL_STACK *)sk); \ + } \ + static ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(const STACK_OF(t1) *sk, \ + sk_##t1##_copyfunc copyfunc, \ + sk_##t1##_freefunc freefunc) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_deep_copy((const OPENSSL_STACK *)sk, \ + (OPENSSL_sk_copyfunc)copyfunc, \ + (OPENSSL_sk_freefunc)freefunc); \ + } \ + static ossl_inline sk_##t1##_compfunc sk_##t1##_set_cmp_func(STACK_OF(t1) *sk, sk_##t1##_compfunc compare) \ + { \ + return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \ + } + +# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2) +# define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t) +# define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \ + SKM_DEFINE_STACK_OF(t1, const t2, t2) +# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t) + +/*- + * Strings are special: normally an lhash entry will point to a single + * (somewhat) mutable object. In the case of strings: + * + * a) Instead of a single char, there is an array of chars, NUL-terminated. + * b) The string may have be immutable. + * + * So, they need their own declarations. Especially important for + * type-checking tools, such as Deputy. + * + * In practice, however, it appears to be hard to have a const + * string. For now, I'm settling for dealing with the fact it is a + * string at all. + */ +typedef char *OPENSSL_STRING; +typedef const char *OPENSSL_CSTRING; + +/*- + * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but + * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned + * above, instead of a single char each entry is a NUL-terminated array of + * chars. So, we have to implement STRING specially for STACK_OF. This is + * dealt with in the autogenerated macros below. + */ +DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char) +DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char) + +/* + * Similarly, we sometimes use a block of characters, NOT nul-terminated. + * These should also be distinguished from "normal" stacks. + */ +typedef void *OPENSSL_BLOCK; +DEFINE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/seed.h b/openssl/1.1/include/openssl/seed.h new file mode 100644 index 0000000..de10b08 --- /dev/null +++ b/openssl/1.1/include/openssl/seed.h @@ -0,0 +1,96 @@ +/* + * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Copyright (c) 2007 KISA(Korea Information Security Agency). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Neither the name of author nor the names of its contributors may + * be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef HEADER_SEED_H +# define HEADER_SEED_H + +# include + +# ifndef OPENSSL_NO_SEED +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* look whether we need 'long' to get 32 bits */ +# ifdef AES_LONG +# ifndef SEED_LONG +# define SEED_LONG 1 +# endif +# endif + +# include + +# define SEED_BLOCK_SIZE 16 +# define SEED_KEY_LENGTH 16 + +typedef struct seed_key_st { +# ifdef SEED_LONG + unsigned long data[32]; +# else + unsigned int data[32]; +# endif +} SEED_KEY_SCHEDULE; + +void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], + SEED_KEY_SCHEDULE *ks); + +void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); +void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); + +void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, + const SEED_KEY_SCHEDULE *ks, int enc); +void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, + const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int enc); +void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num, + int enc); +void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/sha.h b/openssl/1.1/include/openssl/sha.h new file mode 100644 index 0000000..6a1eb0d --- /dev/null +++ b/openssl/1.1/include/openssl/sha.h @@ -0,0 +1,119 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SHA_H +# define HEADER_SHA_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! SHA_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define SHA_LONG unsigned int + +# define SHA_LBLOCK 16 +# define SHA_CBLOCK (SHA_LBLOCK*4)/* SHA treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ +# define SHA_LAST_BLOCK (SHA_CBLOCK-8) +# define SHA_DIGEST_LENGTH 20 + +typedef struct SHAstate_st { + SHA_LONG h0, h1, h2, h3, h4; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num; +} SHA_CTX; + +int SHA1_Init(SHA_CTX *c); +int SHA1_Update(SHA_CTX *c, const void *data, size_t len); +int SHA1_Final(unsigned char *md, SHA_CTX *c); +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); +void SHA1_Transform(SHA_CTX *c, const unsigned char *data); + +# define SHA256_CBLOCK (SHA_LBLOCK*4)/* SHA-256 treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ + +typedef struct SHA256state_st { + SHA_LONG h[8]; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num, md_len; +} SHA256_CTX; + +int SHA224_Init(SHA256_CTX *c); +int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA224_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); +int SHA256_Init(SHA256_CTX *c); +int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA256_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); +void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); + +# define SHA224_DIGEST_LENGTH 28 +# define SHA256_DIGEST_LENGTH 32 +# define SHA384_DIGEST_LENGTH 48 +# define SHA512_DIGEST_LENGTH 64 + +/* + * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 + * being exactly 64-bit wide. See Implementation Notes in sha512.c + * for further details. + */ +/* + * SHA-512 treats input data as a + * contiguous array of 64 bit + * wide big-endian values. + */ +# define SHA512_CBLOCK (SHA_LBLOCK*8) +# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) +# define SHA_LONG64 unsigned __int64 +# define U64(C) C##UI64 +# elif defined(__arch64__) +# define SHA_LONG64 unsigned long +# define U64(C) C##UL +# else +# define SHA_LONG64 unsigned long long +# define U64(C) C##ULL +# endif + +typedef struct SHA512state_st { + SHA_LONG64 h[8]; + SHA_LONG64 Nl, Nh; + union { + SHA_LONG64 d[SHA_LBLOCK]; + unsigned char p[SHA512_CBLOCK]; + } u; + unsigned int num, md_len; +} SHA512_CTX; + +int SHA384_Init(SHA512_CTX *c); +int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA384_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); +int SHA512_Init(SHA512_CTX *c); +int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA512_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); +void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/srp.h b/openssl/1.1/include/openssl/srp.h new file mode 100644 index 0000000..aaf1355 --- /dev/null +++ b/openssl/1.1/include/openssl/srp.h @@ -0,0 +1,135 @@ +/* + * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2004, EdelKey Project. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + * + * Originally written by Christophe Renou and Peter Sylvester, + * for the EdelKey project. + */ + +#ifndef HEADER_SRP_H +# define HEADER_SRP_H + +#include + +#ifndef OPENSSL_NO_SRP +# include +# include +# include +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +typedef struct SRP_gN_cache_st { + char *b64_bn; + BIGNUM *bn; +} SRP_gN_cache; + + +DEFINE_STACK_OF(SRP_gN_cache) + +typedef struct SRP_user_pwd_st { + /* Owned by us. */ + char *id; + BIGNUM *s; + BIGNUM *v; + /* Not owned by us. */ + const BIGNUM *g; + const BIGNUM *N; + /* Owned by us. */ + char *info; +} SRP_user_pwd; + +void SRP_user_pwd_free(SRP_user_pwd *user_pwd); + +DEFINE_STACK_OF(SRP_user_pwd) + +typedef struct SRP_VBASE_st { + STACK_OF(SRP_user_pwd) *users_pwd; + STACK_OF(SRP_gN_cache) *gN_cache; +/* to simulate a user */ + char *seed_key; + const BIGNUM *default_g; + const BIGNUM *default_N; +} SRP_VBASE; + +/* + * Internal structure storing N and g pair + */ +typedef struct SRP_gN_st { + char *id; + const BIGNUM *g; + const BIGNUM *N; +} SRP_gN; + +DEFINE_STACK_OF(SRP_gN) + +SRP_VBASE *SRP_VBASE_new(char *seed_key); +void SRP_VBASE_free(SRP_VBASE *vb); +int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); + +/* This method ignores the configured seed and fails for an unknown user. */ +DEPRECATEDIN_1_1_0(SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username)) +/* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ +SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); + +char *SRP_create_verifier(const char *user, const char *pass, char **salt, + char **verifier, const char *N, const char *g); +int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, + BIGNUM **verifier, const BIGNUM *N, + const BIGNUM *g); + +# define SRP_NO_ERROR 0 +# define SRP_ERR_VBASE_INCOMPLETE_FILE 1 +# define SRP_ERR_VBASE_BN_LIB 2 +# define SRP_ERR_OPEN_FILE 3 +# define SRP_ERR_MEMORY 4 + +# define DB_srptype 0 +# define DB_srpverifier 1 +# define DB_srpsalt 2 +# define DB_srpid 3 +# define DB_srpgN 4 +# define DB_srpinfo 5 +# undef DB_NUMBER +# define DB_NUMBER 6 + +# define DB_SRP_INDEX 'I' +# define DB_SRP_VALID 'V' +# define DB_SRP_REVOKED 'R' +# define DB_SRP_MODIF 'v' + +/* see srp.c */ +char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N); +SRP_gN *SRP_get_default_gN(const char *id); + +/* server side .... */ +BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const BIGNUM *u, + const BIGNUM *b, const BIGNUM *N); +BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g, + const BIGNUM *v); +int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N); +BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N); + +/* client side .... */ +BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass); +BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g); +BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g, + const BIGNUM *x, const BIGNUM *a, const BIGNUM *u); +int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N); + +# define SRP_MINIMAL_N 1024 + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/srtp.h b/openssl/1.1/include/openssl/srtp.h new file mode 100644 index 0000000..0b57c23 --- /dev/null +++ b/openssl/1.1/include/openssl/srtp.h @@ -0,0 +1,50 @@ +/* + * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * DTLS code by Eric Rescorla + * + * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc. + */ + +#ifndef HEADER_D1_SRTP_H +# define HEADER_D1_SRTP_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define SRTP_AES128_CM_SHA1_80 0x0001 +# define SRTP_AES128_CM_SHA1_32 0x0002 +# define SRTP_AES128_F8_SHA1_80 0x0003 +# define SRTP_AES128_F8_SHA1_32 0x0004 +# define SRTP_NULL_SHA1_80 0x0005 +# define SRTP_NULL_SHA1_32 0x0006 + +/* AEAD SRTP protection profiles from RFC 7714 */ +# define SRTP_AEAD_AES_128_GCM 0x0007 +# define SRTP_AEAD_AES_256_GCM 0x0008 + +# ifndef OPENSSL_NO_SRTP + +__owur int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); +__owur int SSL_set_tlsext_use_srtp(SSL *ssl, const char *profiles); + +__owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); +__owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); + +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/ssl.h b/openssl/1.1/include/openssl/ssl.h new file mode 100644 index 0000000..0a18a43 --- /dev/null +++ b/openssl/1.1/include/openssl/ssl.h @@ -0,0 +1,2413 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * Copyright 2005 Nokia. All rights reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SSL_H +# define HEADER_SSL_H + +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# include +# include +# endif +# include +# include +# include +# include + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* OpenSSL version number for ASN.1 encoding of the session information */ +/*- + * Version 0 - initial version + * Version 1 - added the optional peer certificate + */ +# define SSL_SESSION_ASN1_VERSION 0x0001 + +# define SSL_MAX_SSL_SESSION_ID_LENGTH 32 +# define SSL_MAX_SID_CTX_LENGTH 32 + +# define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) +# define SSL_MAX_KEY_ARG_LENGTH 8 +# define SSL_MAX_MASTER_KEY_LENGTH 48 + +/* The maximum number of encrypt/decrypt pipelines we can support */ +# define SSL_MAX_PIPELINES 32 + +/* text strings for the ciphers */ + +/* These are used to specify which ciphers to use and not to use */ + +# define SSL_TXT_LOW "LOW" +# define SSL_TXT_MEDIUM "MEDIUM" +# define SSL_TXT_HIGH "HIGH" +# define SSL_TXT_FIPS "FIPS" + +# define SSL_TXT_aNULL "aNULL" +# define SSL_TXT_eNULL "eNULL" +# define SSL_TXT_NULL "NULL" + +# define SSL_TXT_kRSA "kRSA" +# define SSL_TXT_kDHr "kDHr"/* this cipher class has been removed */ +# define SSL_TXT_kDHd "kDHd"/* this cipher class has been removed */ +# define SSL_TXT_kDH "kDH"/* this cipher class has been removed */ +# define SSL_TXT_kEDH "kEDH"/* alias for kDHE */ +# define SSL_TXT_kDHE "kDHE" +# define SSL_TXT_kECDHr "kECDHr"/* this cipher class has been removed */ +# define SSL_TXT_kECDHe "kECDHe"/* this cipher class has been removed */ +# define SSL_TXT_kECDH "kECDH"/* this cipher class has been removed */ +# define SSL_TXT_kEECDH "kEECDH"/* alias for kECDHE */ +# define SSL_TXT_kECDHE "kECDHE" +# define SSL_TXT_kPSK "kPSK" +# define SSL_TXT_kRSAPSK "kRSAPSK" +# define SSL_TXT_kECDHEPSK "kECDHEPSK" +# define SSL_TXT_kDHEPSK "kDHEPSK" +# define SSL_TXT_kGOST "kGOST" +# define SSL_TXT_kSRP "kSRP" + +# define SSL_TXT_aRSA "aRSA" +# define SSL_TXT_aDSS "aDSS" +# define SSL_TXT_aDH "aDH"/* this cipher class has been removed */ +# define SSL_TXT_aECDH "aECDH"/* this cipher class has been removed */ +# define SSL_TXT_aECDSA "aECDSA" +# define SSL_TXT_aPSK "aPSK" +# define SSL_TXT_aGOST94 "aGOST94" +# define SSL_TXT_aGOST01 "aGOST01" +# define SSL_TXT_aGOST12 "aGOST12" +# define SSL_TXT_aGOST "aGOST" +# define SSL_TXT_aSRP "aSRP" + +# define SSL_TXT_DSS "DSS" +# define SSL_TXT_DH "DH" +# define SSL_TXT_DHE "DHE"/* same as "kDHE:-ADH" */ +# define SSL_TXT_EDH "EDH"/* alias for DHE */ +# define SSL_TXT_ADH "ADH" +# define SSL_TXT_RSA "RSA" +# define SSL_TXT_ECDH "ECDH" +# define SSL_TXT_EECDH "EECDH"/* alias for ECDHE" */ +# define SSL_TXT_ECDHE "ECDHE"/* same as "kECDHE:-AECDH" */ +# define SSL_TXT_AECDH "AECDH" +# define SSL_TXT_ECDSA "ECDSA" +# define SSL_TXT_PSK "PSK" +# define SSL_TXT_SRP "SRP" + +# define SSL_TXT_DES "DES" +# define SSL_TXT_3DES "3DES" +# define SSL_TXT_RC4 "RC4" +# define SSL_TXT_RC2 "RC2" +# define SSL_TXT_IDEA "IDEA" +# define SSL_TXT_SEED "SEED" +# define SSL_TXT_AES128 "AES128" +# define SSL_TXT_AES256 "AES256" +# define SSL_TXT_AES "AES" +# define SSL_TXT_AES_GCM "AESGCM" +# define SSL_TXT_AES_CCM "AESCCM" +# define SSL_TXT_AES_CCM_8 "AESCCM8" +# define SSL_TXT_CAMELLIA128 "CAMELLIA128" +# define SSL_TXT_CAMELLIA256 "CAMELLIA256" +# define SSL_TXT_CAMELLIA "CAMELLIA" +# define SSL_TXT_CHACHA20 "CHACHA20" +# define SSL_TXT_GOST "GOST89" +# define SSL_TXT_ARIA "ARIA" +# define SSL_TXT_ARIA_GCM "ARIAGCM" +# define SSL_TXT_ARIA128 "ARIA128" +# define SSL_TXT_ARIA256 "ARIA256" + +# define SSL_TXT_MD5 "MD5" +# define SSL_TXT_SHA1 "SHA1" +# define SSL_TXT_SHA "SHA"/* same as "SHA1" */ +# define SSL_TXT_GOST94 "GOST94" +# define SSL_TXT_GOST89MAC "GOST89MAC" +# define SSL_TXT_GOST12 "GOST12" +# define SSL_TXT_GOST89MAC12 "GOST89MAC12" +# define SSL_TXT_SHA256 "SHA256" +# define SSL_TXT_SHA384 "SHA384" + +# define SSL_TXT_SSLV3 "SSLv3" +# define SSL_TXT_TLSV1 "TLSv1" +# define SSL_TXT_TLSV1_1 "TLSv1.1" +# define SSL_TXT_TLSV1_2 "TLSv1.2" + +# define SSL_TXT_ALL "ALL" + +/*- + * COMPLEMENTOF* definitions. These identifiers are used to (de-select) + * ciphers normally not being used. + * Example: "RC4" will activate all ciphers using RC4 including ciphers + * without authentication, which would normally disabled by DEFAULT (due + * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" + * will make sure that it is also disabled in the specific selection. + * COMPLEMENTOF* identifiers are portable between version, as adjustments + * to the default cipher setup will also be included here. + * + * COMPLEMENTOFDEFAULT does not experience the same special treatment that + * DEFAULT gets, as only selection is being done and no sorting as needed + * for DEFAULT. + */ +# define SSL_TXT_CMPALL "COMPLEMENTOFALL" +# define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" + +/* + * The following cipher list is used by default. It also is substituted when + * an application-defined cipher list string starts with 'DEFAULT'. + * This applies to ciphersuites for TLSv1.2 and below. + */ +# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" +/* This is the default set of TLSv1.3 ciphersuites */ +# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) +# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ + "TLS_CHACHA20_POLY1305_SHA256:" \ + "TLS_AES_128_GCM_SHA256" +# else +# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ + "TLS_AES_128_GCM_SHA256" +#endif +/* + * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always + * starts with a reasonable order, and all we have to do for DEFAULT is + * throwing out anonymous and unencrypted ciphersuites! (The latter are not + * actually enabled by ALL, but "ALL:RSA" would enable some of them.) + */ + +/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ +# define SSL_SENT_SHUTDOWN 1 +# define SSL_RECEIVED_SHUTDOWN 2 + +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 +# define SSL_FILETYPE_PEM X509_FILETYPE_PEM + +/* + * This is needed to stop compilers complaining about the 'struct ssl_st *' + * function parameters used to prototype callbacks in SSL_CTX. + */ +typedef struct ssl_st *ssl_crock_st; +typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; +typedef struct ssl_method_st SSL_METHOD; +typedef struct ssl_cipher_st SSL_CIPHER; +typedef struct ssl_session_st SSL_SESSION; +typedef struct tls_sigalgs_st TLS_SIGALGS; +typedef struct ssl_conf_ctx_st SSL_CONF_CTX; +typedef struct ssl_comp_st SSL_COMP; + +STACK_OF(SSL_CIPHER); +STACK_OF(SSL_COMP); + +/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ +typedef struct srtp_protection_profile_st { + const char *name; + unsigned long id; +} SRTP_PROTECTION_PROFILE; + +DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) + +typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, + int len, void *arg); +typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, + STACK_OF(SSL_CIPHER) *peer_ciphers, + const SSL_CIPHER **cipher, void *arg); + +/* Extension context codes */ +/* This extension is only allowed in TLS */ +#define SSL_EXT_TLS_ONLY 0x0001 +/* This extension is only allowed in DTLS */ +#define SSL_EXT_DTLS_ONLY 0x0002 +/* Some extensions may be allowed in DTLS but we don't implement them for it */ +#define SSL_EXT_TLS_IMPLEMENTATION_ONLY 0x0004 +/* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */ +#define SSL_EXT_SSL3_ALLOWED 0x0008 +/* Extension is only defined for TLS1.2 and below */ +#define SSL_EXT_TLS1_2_AND_BELOW_ONLY 0x0010 +/* Extension is only defined for TLS1.3 and above */ +#define SSL_EXT_TLS1_3_ONLY 0x0020 +/* Ignore this extension during parsing if we are resuming */ +#define SSL_EXT_IGNORE_ON_RESUMPTION 0x0040 +#define SSL_EXT_CLIENT_HELLO 0x0080 +/* Really means TLS1.2 or below */ +#define SSL_EXT_TLS1_2_SERVER_HELLO 0x0100 +#define SSL_EXT_TLS1_3_SERVER_HELLO 0x0200 +#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS 0x0400 +#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST 0x0800 +#define SSL_EXT_TLS1_3_CERTIFICATE 0x1000 +#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET 0x2000 +#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST 0x4000 + +/* Typedefs for handling custom extensions */ + +typedef int (*custom_ext_add_cb)(SSL *s, unsigned int ext_type, + const unsigned char **out, size_t *outlen, + int *al, void *add_arg); + +typedef void (*custom_ext_free_cb)(SSL *s, unsigned int ext_type, + const unsigned char *out, void *add_arg); + +typedef int (*custom_ext_parse_cb)(SSL *s, unsigned int ext_type, + const unsigned char *in, size_t inlen, + int *al, void *parse_arg); + + +typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char **out, + size_t *outlen, X509 *x, + size_t chainidx, + int *al, void *add_arg); + +typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char *out, + void *add_arg); + +typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char *in, + size_t inlen, X509 *x, + size_t chainidx, + int *al, void *parse_arg); + +/* Typedef for verification callback */ +typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx); + +/* + * Some values are reserved until OpenSSL 1.2.0 because they were previously + * included in SSL_OP_ALL in a 1.1.x release. + * + * Reserved value (until OpenSSL 1.2.0) 0x00000001U + * Reserved value (until OpenSSL 1.2.0) 0x00000002U + */ +/* Allow initial connection to servers that don't support RI */ +# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004U + +/* Reserved value (until OpenSSL 1.2.0) 0x00000008U */ +# define SSL_OP_TLSEXT_PADDING 0x00000010U +/* Reserved value (until OpenSSL 1.2.0) 0x00000020U */ +# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040U +/* + * Reserved value (until OpenSSL 1.2.0) 0x00000080U + * Reserved value (until OpenSSL 1.2.0) 0x00000100U + * Reserved value (until OpenSSL 1.2.0) 0x00000200U + */ + +/* In TLSv1.3 allow a non-(ec)dhe based kex_mode */ +# define SSL_OP_ALLOW_NO_DHE_KEX 0x00000400U + +/* + * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added in + * OpenSSL 0.9.6d. Usually (depending on the application protocol) the + * workaround is not needed. Unfortunately some broken SSL/TLS + * implementations cannot handle it at all, which is why we include it in + * SSL_OP_ALL. Added in 0.9.6e + */ +# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800U + +/* DTLS options */ +# define SSL_OP_NO_QUERY_MTU 0x00001000U +/* Turn on Cookie Exchange (on relevant for servers) */ +# define SSL_OP_COOKIE_EXCHANGE 0x00002000U +/* Don't use RFC4507 ticket extension */ +# define SSL_OP_NO_TICKET 0x00004000U +# ifndef OPENSSL_NO_DTLS1_METHOD +/* Use Cisco's "speshul" version of DTLS_BAD_VER + * (only with deprecated DTLSv1_client_method()) */ +# define SSL_OP_CISCO_ANYCONNECT 0x00008000U +# endif + +/* As server, disallow session resumption on renegotiation */ +# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000U +/* Don't use compression even if supported */ +# define SSL_OP_NO_COMPRESSION 0x00020000U +/* Permit unsafe legacy renegotiation */ +# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000U +/* Disable encrypt-then-mac */ +# define SSL_OP_NO_ENCRYPT_THEN_MAC 0x00080000U + +/* + * Enable TLSv1.3 Compatibility mode. This is on by default. A future version + * of OpenSSL may have this disabled by default. + */ +# define SSL_OP_ENABLE_MIDDLEBOX_COMPAT 0x00100000U + +/* Prioritize Chacha20Poly1305 when client does. + * Modifies SSL_OP_CIPHER_SERVER_PREFERENCE */ +# define SSL_OP_PRIORITIZE_CHACHA 0x00200000U + +/* + * Set on servers to choose the cipher according to the server's preferences + */ +# define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000U +/* + * If set, a server will allow a client to issue a SSLv3.0 version number as + * latest version supported in the premaster secret, even when TLSv1.0 + * (version 3.1) was announced in the client hello. Normally this is + * forbidden to prevent version rollback attacks. + */ +# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000U + +/* + * Switches off automatic TLSv1.3 anti-replay protection for early data. This + * is a server-side option only (no effect on the client). + */ +# define SSL_OP_NO_ANTI_REPLAY 0x01000000U + +# define SSL_OP_NO_SSLv3 0x02000000U +# define SSL_OP_NO_TLSv1 0x04000000U +# define SSL_OP_NO_TLSv1_2 0x08000000U +# define SSL_OP_NO_TLSv1_1 0x10000000U +# define SSL_OP_NO_TLSv1_3 0x20000000U + +# define SSL_OP_NO_DTLSv1 0x04000000U +# define SSL_OP_NO_DTLSv1_2 0x08000000U + +# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv3|\ + SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2|SSL_OP_NO_TLSv1_3) +# define SSL_OP_NO_DTLS_MASK (SSL_OP_NO_DTLSv1|SSL_OP_NO_DTLSv1_2) + +/* Disallow all renegotiation */ +# define SSL_OP_NO_RENEGOTIATION 0x40000000U + +/* + * Make server add server-hello extension from early version of cryptopro + * draft, when GOST ciphersuite is negotiated. Required for interoperability + * with CryptoPro CSP 3.x + */ +# define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000U + +/* + * SSL_OP_ALL: various bug workarounds that should be rather harmless. + * This used to be 0x000FFFFFL before 0.9.7. + * This used to be 0x80000BFFU before 1.1.1. + */ +# define SSL_OP_ALL (SSL_OP_CRYPTOPRO_TLSEXT_BUG|\ + SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS|\ + SSL_OP_LEGACY_SERVER_CONNECT|\ + SSL_OP_TLSEXT_PADDING|\ + SSL_OP_SAFARI_ECDHE_ECDSA_BUG) + +/* OBSOLETE OPTIONS: retained for compatibility */ + +/* Removed from OpenSSL 1.1.0. Was 0x00000001L */ +/* Related to removed SSLv2. */ +# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x00000002L */ +/* Related to removed SSLv2. */ +# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x0 +/* Removed from OpenSSL 0.9.8q and 1.0.0c. Was 0x00000008L */ +/* Dead forever, see CVE-2010-4180 */ +# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x0 +/* Removed from OpenSSL 1.0.1h and 1.0.2. Was 0x00000010L */ +/* Refers to ancient SSLREF and SSLv2. */ +# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x00000020 */ +# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x0 +/* Removed from OpenSSL 0.9.7h and 0.9.8b. Was 0x00000040L */ +# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x00000080 */ +/* Ancient SSLeay version. */ +# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x00000100L */ +# define SSL_OP_TLS_D5_BUG 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x00000200L */ +# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x00080000L */ +# define SSL_OP_SINGLE_ECDH_USE 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x00100000L */ +# define SSL_OP_SINGLE_DH_USE 0x0 +/* Removed from OpenSSL 1.0.1k and 1.0.2. Was 0x00200000L */ +# define SSL_OP_EPHEMERAL_RSA 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x01000000L */ +# define SSL_OP_NO_SSLv2 0x0 +/* Removed from OpenSSL 1.0.1. Was 0x08000000L */ +# define SSL_OP_PKCS1_CHECK_1 0x0 +/* Removed from OpenSSL 1.0.1. Was 0x10000000L */ +# define SSL_OP_PKCS1_CHECK_2 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x20000000L */ +# define SSL_OP_NETSCAPE_CA_DN_BUG 0x0 +/* Removed from OpenSSL 1.1.0. Was 0x40000000L */ +# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x0 + +/* + * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success + * when just a single record has been written): + */ +# define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001U +/* + * Make it possible to retry SSL_write() with changed buffer location (buffer + * contents must stay the same!); this is not the default to avoid the + * misconception that non-blocking SSL_write() behaves like non-blocking + * write(): + */ +# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U +/* + * Never bother the application with retries if the transport is blocking: + */ +# define SSL_MODE_AUTO_RETRY 0x00000004U +/* Don't attempt to automatically build certificate chain */ +# define SSL_MODE_NO_AUTO_CHAIN 0x00000008U +/* + * Save RAM by releasing read and write buffers when they're empty. (SSL3 and + * TLS only.) Released buffers are freed. + */ +# define SSL_MODE_RELEASE_BUFFERS 0x00000010U +/* + * Send the current time in the Random fields of the ClientHello and + * ServerHello records for compatibility with hypothetical implementations + * that require it. + */ +# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020U +# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040U +/* + * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications + * that reconnect with a downgraded protocol version; see + * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your + * application attempts a normal handshake. Only use this in explicit + * fallback retries, following the guidance in + * draft-ietf-tls-downgrade-scsv-00. + */ +# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080U +/* + * Support Asynchronous operation + */ +# define SSL_MODE_ASYNC 0x00000100U + +/* Cert related flags */ +/* + * Many implementations ignore some aspects of the TLS standards such as + * enforcing certificate chain algorithms. When this is set we enforce them. + */ +# define SSL_CERT_FLAG_TLS_STRICT 0x00000001U + +/* Suite B modes, takes same values as certificate verify flags */ +# define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define SSL_CERT_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define SSL_CERT_FLAG_SUITEB_128_LOS 0x30000 + +/* Perform all sorts of protocol violations for testing purposes */ +# define SSL_CERT_FLAG_BROKEN_PROTOCOL 0x10000000 + +/* Flags for building certificate chains */ +/* Treat any existing certificates as untrusted CAs */ +# define SSL_BUILD_CHAIN_FLAG_UNTRUSTED 0x1 +/* Don't include root CA in chain */ +# define SSL_BUILD_CHAIN_FLAG_NO_ROOT 0x2 +/* Just check certificates already there */ +# define SSL_BUILD_CHAIN_FLAG_CHECK 0x4 +/* Ignore verification errors */ +# define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR 0x8 +/* Clear verification errors from queue */ +# define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10 + +/* Flags returned by SSL_check_chain */ +/* Certificate can be used with this session */ +# define CERT_PKEY_VALID 0x1 +/* Certificate can also be used for signing */ +# define CERT_PKEY_SIGN 0x2 +/* EE certificate signing algorithm OK */ +# define CERT_PKEY_EE_SIGNATURE 0x10 +/* CA signature algorithms OK */ +# define CERT_PKEY_CA_SIGNATURE 0x20 +/* EE certificate parameters OK */ +# define CERT_PKEY_EE_PARAM 0x40 +/* CA certificate parameters OK */ +# define CERT_PKEY_CA_PARAM 0x80 +/* Signing explicitly allowed as opposed to SHA1 fallback */ +# define CERT_PKEY_EXPLICIT_SIGN 0x100 +/* Client CA issuer names match (always set for server cert) */ +# define CERT_PKEY_ISSUER_NAME 0x200 +/* Cert type matches client types (always set for server cert) */ +# define CERT_PKEY_CERT_TYPE 0x400 +/* Cert chain suitable to Suite B */ +# define CERT_PKEY_SUITEB 0x800 + +# define SSL_CONF_FLAG_CMDLINE 0x1 +# define SSL_CONF_FLAG_FILE 0x2 +# define SSL_CONF_FLAG_CLIENT 0x4 +# define SSL_CONF_FLAG_SERVER 0x8 +# define SSL_CONF_FLAG_SHOW_ERRORS 0x10 +# define SSL_CONF_FLAG_CERTIFICATE 0x20 +# define SSL_CONF_FLAG_REQUIRE_PRIVATE 0x40 +/* Configuration value types */ +# define SSL_CONF_TYPE_UNKNOWN 0x0 +# define SSL_CONF_TYPE_STRING 0x1 +# define SSL_CONF_TYPE_FILE 0x2 +# define SSL_CONF_TYPE_DIR 0x3 +# define SSL_CONF_TYPE_NONE 0x4 + +/* Maximum length of the application-controlled segment of a a TLSv1.3 cookie */ +# define SSL_COOKIE_LENGTH 4096 + +/* + * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they + * cannot be used to clear bits. + */ + +unsigned long SSL_CTX_get_options(const SSL_CTX *ctx); +unsigned long SSL_get_options(const SSL *s); +unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op); +unsigned long SSL_clear_options(SSL *s, unsigned long op); +unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op); +unsigned long SSL_set_options(SSL *s, unsigned long op); + +# define SSL_CTX_set_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) +# define SSL_CTX_clear_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_CTX_get_mode(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) +# define SSL_clear_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_set_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) +# define SSL_get_mode(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) +# define SSL_set_mtu(ssl, mtu) \ + SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) +# define DTLS_set_link_mtu(ssl, mtu) \ + SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL) +# define DTLS_get_link_min_mtu(ssl) \ + SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL) + +# define SSL_get_secure_renegotiation_support(ssl) \ + SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_heartbeat(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT,0,NULL) +# endif + +# define SSL_CTX_set_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_set_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_CTX_clear_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) +# define SSL_clear_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) + +void SSL_CTX_set_msg_callback(SSL_CTX *ctx, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +void SSL_set_msg_callback(SSL *ssl, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +# define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) +# define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) + +# define SSL_get_extms_support(s) \ + SSL_ctrl((s),SSL_CTRL_GET_EXTMS_SUPPORT,0,NULL) + +# ifndef OPENSSL_NO_SRP + +/* see tls_srp.c */ +__owur int SSL_SRP_CTX_init(SSL *s); +__owur int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); +int SSL_SRP_CTX_free(SSL *ctx); +int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); +__owur int SSL_srp_server_param_with_username(SSL *s, int *ad); +__owur int SRP_Calc_A_param(SSL *s); + +# endif + +/* 100k max cert list */ +# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 + +# define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) + +/* + * This callback type is used inside SSL_CTX, SSL, and in the functions that + * set them. It is used to override the generation of SSL/TLS session IDs in + * a server. Return value should be zero on an error, non-zero to proceed. + * Also, callbacks should themselves check if the id they generate is unique + * otherwise the SSL handshake will fail with an error - callbacks can do + * this using the 'ssl' value they're passed by; + * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in + * is set at the maximum size the session ID can be. In SSLv3/TLSv1 it is 32 + * bytes. The callback can alter this length to be less if desired. It is + * also an error for the callback to set the size to zero. + */ +typedef int (*GEN_SESSION_CB) (SSL *ssl, unsigned char *id, + unsigned int *id_len); + +# define SSL_SESS_CACHE_OFF 0x0000 +# define SSL_SESS_CACHE_CLIENT 0x0001 +# define SSL_SESS_CACHE_SERVER 0x0002 +# define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) +# define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 +/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ +# define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 +# define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 +# define SSL_SESS_CACHE_NO_INTERNAL \ + (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) + +LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); +# define SSL_CTX_sess_number(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) +# define SSL_CTX_sess_connect(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) +# define SSL_CTX_sess_connect_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) +# define SSL_CTX_sess_connect_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) +# define SSL_CTX_sess_accept_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) +# define SSL_CTX_sess_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) +# define SSL_CTX_sess_cb_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) +# define SSL_CTX_sess_misses(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) +# define SSL_CTX_sess_timeouts(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) +# define SSL_CTX_sess_cache_full(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) + +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, + int (*new_session_cb) (struct ssl_st *ssl, + SSL_SESSION *sess)); +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + SSL_SESSION *sess); +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, + void (*remove_session_cb) (struct ssl_ctx_st + *ctx, + SSL_SESSION *sess)); +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx, + SSL_SESSION *sess); +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, + SSL_SESSION *(*get_session_cb) (struct ssl_st + *ssl, + const unsigned char + *data, int len, + int *copy)); +SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + const unsigned char *data, + int len, int *copy); +void SSL_CTX_set_info_callback(SSL_CTX *ctx, + void (*cb) (const SSL *ssl, int type, int val)); +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type, + int val); +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, + int (*client_cert_cb) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey)); +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey); +# ifndef OPENSSL_NO_ENGINE +__owur int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); +# endif +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, + int (*app_gen_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + *cookie_len)); +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, + int (*app_verify_cookie_cb) (SSL *ssl, + const unsigned + char *cookie, + unsigned int + cookie_len)); + +void SSL_CTX_set_stateless_cookie_generate_cb( + SSL_CTX *ctx, + int (*gen_stateless_cookie_cb) (SSL *ssl, + unsigned char *cookie, + size_t *cookie_len)); +void SSL_CTX_set_stateless_cookie_verify_cb( + SSL_CTX *ctx, + int (*verify_stateless_cookie_cb) (SSL *ssl, + const unsigned char *cookie, + size_t cookie_len)); +# ifndef OPENSSL_NO_NEXTPROTONEG + +typedef int (*SSL_CTX_npn_advertised_cb_func)(SSL *ssl, + const unsigned char **out, + unsigned int *outlen, + void *arg); +void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, + SSL_CTX_npn_advertised_cb_func cb, + void *arg); +# define SSL_CTX_set_npn_advertised_cb SSL_CTX_set_next_protos_advertised_cb + +typedef int (*SSL_CTX_npn_select_cb_func)(SSL *s, + unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg); +void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, + SSL_CTX_npn_select_cb_func cb, + void *arg); +# define SSL_CTX_set_npn_select_cb SSL_CTX_set_next_proto_select_cb + +void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, + unsigned *len); +# define SSL_get0_npn_negotiated SSL_get0_next_proto_negotiated +# endif + +__owur int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, + const unsigned char *client, + unsigned int client_len); + +# define OPENSSL_NPN_UNSUPPORTED 0 +# define OPENSSL_NPN_NEGOTIATED 1 +# define OPENSSL_NPN_NO_OVERLAP 2 + +__owur int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, + unsigned int protos_len); +__owur int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, + unsigned int protos_len); +typedef int (*SSL_CTX_alpn_select_cb_func)(SSL *ssl, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg); +void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, + SSL_CTX_alpn_select_cb_func cb, + void *arg); +void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, + unsigned int *len); + +# ifndef OPENSSL_NO_PSK +/* + * the maximum length of the buffer given to callbacks containing the + * resulting identity/psk + */ +# define PSK_MAX_IDENTITY_LEN 128 +# define PSK_MAX_PSK_LEN 256 +typedef unsigned int (*SSL_psk_client_cb_func)(SSL *ssl, + const char *hint, + char *identity, + unsigned int max_identity_len, + unsigned char *psk, + unsigned int max_psk_len); +void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, SSL_psk_client_cb_func cb); +void SSL_set_psk_client_callback(SSL *ssl, SSL_psk_client_cb_func cb); + +typedef unsigned int (*SSL_psk_server_cb_func)(SSL *ssl, + const char *identity, + unsigned char *psk, + unsigned int max_psk_len); +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func cb); +void SSL_set_psk_server_callback(SSL *ssl, SSL_psk_server_cb_func cb); + +__owur int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); +__owur int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); +const char *SSL_get_psk_identity_hint(const SSL *s); +const char *SSL_get_psk_identity(const SSL *s); +# endif + +typedef int (*SSL_psk_find_session_cb_func)(SSL *ssl, + const unsigned char *identity, + size_t identity_len, + SSL_SESSION **sess); +typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md, + const unsigned char **id, + size_t *idlen, + SSL_SESSION **sess); + +void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb); +void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx, + SSL_psk_find_session_cb_func cb); +void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb); +void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx, + SSL_psk_use_session_cb_func cb); + +/* Register callbacks to handle custom TLS Extensions for client or server. */ + +__owur int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, + unsigned int ext_type); + +__owur int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, + unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +__owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, + unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +__owur int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + unsigned int context, + SSL_custom_ext_add_cb_ex add_cb, + SSL_custom_ext_free_cb_ex free_cb, + void *add_arg, + SSL_custom_ext_parse_cb_ex parse_cb, + void *parse_arg); + +__owur int SSL_extension_supported(unsigned int ext_type); + +# define SSL_NOTHING 1 +# define SSL_WRITING 2 +# define SSL_READING 3 +# define SSL_X509_LOOKUP 4 +# define SSL_ASYNC_PAUSED 5 +# define SSL_ASYNC_NO_JOBS 6 +# define SSL_CLIENT_HELLO_CB 7 + +/* These will only be used when doing non-blocking IO */ +# define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) +# define SSL_want_read(s) (SSL_want(s) == SSL_READING) +# define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) +# define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) +# define SSL_want_async(s) (SSL_want(s) == SSL_ASYNC_PAUSED) +# define SSL_want_async_job(s) (SSL_want(s) == SSL_ASYNC_NO_JOBS) +# define SSL_want_client_hello_cb(s) (SSL_want(s) == SSL_CLIENT_HELLO_CB) + +# define SSL_MAC_FLAG_READ_MAC_STREAM 1 +# define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 + +/* + * A callback for logging out TLS key material. This callback should log out + * |line| followed by a newline. + */ +typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line); + +/* + * SSL_CTX_set_keylog_callback configures a callback to log key material. This + * is intended for debugging use with tools like Wireshark. The cb function + * should log line followed by a newline. + */ +void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb); + +/* + * SSL_CTX_get_keylog_callback returns the callback configured by + * SSL_CTX_set_keylog_callback. + */ +SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx); + +int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data); +uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx); +int SSL_set_max_early_data(SSL *s, uint32_t max_early_data); +uint32_t SSL_get_max_early_data(const SSL *s); +int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx, uint32_t recv_max_early_data); +uint32_t SSL_CTX_get_recv_max_early_data(const SSL_CTX *ctx); +int SSL_set_recv_max_early_data(SSL *s, uint32_t recv_max_early_data); +uint32_t SSL_get_recv_max_early_data(const SSL *s); + +#ifdef __cplusplus +} +#endif + +# include +# include +# include /* This is mostly sslv3 with a few tweaks */ +# include /* Datagram TLS */ +# include /* Support for the use_srtp extension */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * These need to be after the above set of includes due to a compiler bug + * in VisualStudio 2015 + */ +DEFINE_STACK_OF_CONST(SSL_CIPHER) +DEFINE_STACK_OF(SSL_COMP) + +/* compatibility */ +# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)(arg))) +# define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) +# define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0, \ + (char *)(a))) +# define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) +# define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) +# define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0, \ + (char *)(arg))) +DEPRECATEDIN_1_1_0(void SSL_set_debug(SSL *s, int debug)) + +/* TLSv1.3 KeyUpdate message types */ +/* -1 used so that this is an invalid value for the on-the-wire protocol */ +#define SSL_KEY_UPDATE_NONE -1 +/* Values as defined for the on-the-wire protocol */ +#define SSL_KEY_UPDATE_NOT_REQUESTED 0 +#define SSL_KEY_UPDATE_REQUESTED 1 + +/* + * The valid handshake states (one for each type message sent and one for each + * type of message received). There are also two "special" states: + * TLS = TLS or DTLS state + * DTLS = DTLS specific state + * CR/SR = Client Read/Server Read + * CW/SW = Client Write/Server Write + * + * The "special" states are: + * TLS_ST_BEFORE = No handshake has been initiated yet + * TLS_ST_OK = A handshake has been successfully completed + */ +typedef enum { + TLS_ST_BEFORE, + TLS_ST_OK, + DTLS_ST_CR_HELLO_VERIFY_REQUEST, + TLS_ST_CR_SRVR_HELLO, + TLS_ST_CR_CERT, + TLS_ST_CR_CERT_STATUS, + TLS_ST_CR_KEY_EXCH, + TLS_ST_CR_CERT_REQ, + TLS_ST_CR_SRVR_DONE, + TLS_ST_CR_SESSION_TICKET, + TLS_ST_CR_CHANGE, + TLS_ST_CR_FINISHED, + TLS_ST_CW_CLNT_HELLO, + TLS_ST_CW_CERT, + TLS_ST_CW_KEY_EXCH, + TLS_ST_CW_CERT_VRFY, + TLS_ST_CW_CHANGE, + TLS_ST_CW_NEXT_PROTO, + TLS_ST_CW_FINISHED, + TLS_ST_SW_HELLO_REQ, + TLS_ST_SR_CLNT_HELLO, + DTLS_ST_SW_HELLO_VERIFY_REQUEST, + TLS_ST_SW_SRVR_HELLO, + TLS_ST_SW_CERT, + TLS_ST_SW_KEY_EXCH, + TLS_ST_SW_CERT_REQ, + TLS_ST_SW_SRVR_DONE, + TLS_ST_SR_CERT, + TLS_ST_SR_KEY_EXCH, + TLS_ST_SR_CERT_VRFY, + TLS_ST_SR_NEXT_PROTO, + TLS_ST_SR_CHANGE, + TLS_ST_SR_FINISHED, + TLS_ST_SW_SESSION_TICKET, + TLS_ST_SW_CERT_STATUS, + TLS_ST_SW_CHANGE, + TLS_ST_SW_FINISHED, + TLS_ST_SW_ENCRYPTED_EXTENSIONS, + TLS_ST_CR_ENCRYPTED_EXTENSIONS, + TLS_ST_CR_CERT_VRFY, + TLS_ST_SW_CERT_VRFY, + TLS_ST_CR_HELLO_REQ, + TLS_ST_SW_KEY_UPDATE, + TLS_ST_CW_KEY_UPDATE, + TLS_ST_SR_KEY_UPDATE, + TLS_ST_CR_KEY_UPDATE, + TLS_ST_EARLY_DATA, + TLS_ST_PENDING_EARLY_DATA_END, + TLS_ST_CW_END_OF_EARLY_DATA, + TLS_ST_SR_END_OF_EARLY_DATA +} OSSL_HANDSHAKE_STATE; + +/* + * Most of the following state values are no longer used and are defined to be + * the closest equivalent value in the current state machine code. Not all + * defines have an equivalent and are set to a dummy value (-1). SSL_ST_CONNECT + * and SSL_ST_ACCEPT are still in use in the definition of SSL_CB_ACCEPT_LOOP, + * SSL_CB_ACCEPT_EXIT, SSL_CB_CONNECT_LOOP and SSL_CB_CONNECT_EXIT. + */ + +# define SSL_ST_CONNECT 0x1000 +# define SSL_ST_ACCEPT 0x2000 + +# define SSL_ST_MASK 0x0FFF + +# define SSL_CB_LOOP 0x01 +# define SSL_CB_EXIT 0x02 +# define SSL_CB_READ 0x04 +# define SSL_CB_WRITE 0x08 +# define SSL_CB_ALERT 0x4000/* used in callback */ +# define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) +# define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) +# define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) +# define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) +# define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) +# define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) +# define SSL_CB_HANDSHAKE_START 0x10 +# define SSL_CB_HANDSHAKE_DONE 0x20 + +/* Is the SSL_connection established? */ +# define SSL_in_connect_init(a) (SSL_in_init(a) && !SSL_is_server(a)) +# define SSL_in_accept_init(a) (SSL_in_init(a) && SSL_is_server(a)) +int SSL_in_init(const SSL *s); +int SSL_in_before(const SSL *s); +int SSL_is_init_finished(const SSL *s); + +/* + * The following 3 states are kept in ssl->rlayer.rstate when reads fail, you + * should not need these + */ +# define SSL_ST_READ_HEADER 0xF0 +# define SSL_ST_READ_BODY 0xF1 +# define SSL_ST_READ_DONE 0xF2 + +/*- + * Obtain latest Finished message + * -- that we sent (SSL_get_finished) + * -- that we expected from peer (SSL_get_peer_finished). + * Returns length (0 == no Finished so far), copies up to 'count' bytes. + */ +size_t SSL_get_finished(const SSL *s, void *buf, size_t count); +size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); + +/* + * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 3 options are + * 'ored' with SSL_VERIFY_PEER if they are desired + */ +# define SSL_VERIFY_NONE 0x00 +# define SSL_VERIFY_PEER 0x01 +# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 +# define SSL_VERIFY_CLIENT_ONCE 0x04 +# define SSL_VERIFY_POST_HANDSHAKE 0x08 + +# if OPENSSL_API_COMPAT < 0x10100000L +# define OpenSSL_add_ssl_algorithms() SSL_library_init() +# define SSLeay_add_ssl_algorithms() SSL_library_init() +# endif + +/* More backward compatibility */ +# define SSL_get_cipher(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_cipher_bits(s,np) \ + SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) +# define SSL_get_cipher_version(s) \ + SSL_CIPHER_get_version(SSL_get_current_cipher(s)) +# define SSL_get_cipher_name(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_time(a) SSL_SESSION_get_time(a) +# define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) +# define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) +# define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) + +# define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) +# define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) + +DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) +# define SSL_AD_REASON_OFFSET 1000/* offset to get SSL_R_... value + * from SSL_AD_... */ +/* These alert types are for SSLv3 and TLSv1 */ +# define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY +/* fatal */ +# define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE +/* fatal */ +# define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC +# define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED +# define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW +/* fatal */ +# define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE +/* fatal */ +# define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE +/* Not for TLS */ +# define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE +# define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE +# define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE +# define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED +# define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED +# define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN +/* fatal */ +# define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER +/* fatal */ +# define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA +/* fatal */ +# define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED +/* fatal */ +# define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR +# define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR +/* fatal */ +# define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION +/* fatal */ +# define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION +/* fatal */ +# define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY +/* fatal */ +# define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR +# define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED +# define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION +# define SSL_AD_MISSING_EXTENSION TLS13_AD_MISSING_EXTENSION +# define SSL_AD_CERTIFICATE_REQUIRED TLS13_AD_CERTIFICATE_REQUIRED +# define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION +# define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE +# define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME +# define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE +# define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE +/* fatal */ +# define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY +/* fatal */ +# define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK +# define SSL_AD_NO_APPLICATION_PROTOCOL TLS1_AD_NO_APPLICATION_PROTOCOL +# define SSL_ERROR_NONE 0 +# define SSL_ERROR_SSL 1 +# define SSL_ERROR_WANT_READ 2 +# define SSL_ERROR_WANT_WRITE 3 +# define SSL_ERROR_WANT_X509_LOOKUP 4 +# define SSL_ERROR_SYSCALL 5/* look at error stack/return + * value/errno */ +# define SSL_ERROR_ZERO_RETURN 6 +# define SSL_ERROR_WANT_CONNECT 7 +# define SSL_ERROR_WANT_ACCEPT 8 +# define SSL_ERROR_WANT_ASYNC 9 +# define SSL_ERROR_WANT_ASYNC_JOB 10 +# define SSL_ERROR_WANT_CLIENT_HELLO_CB 11 +# define SSL_CTRL_SET_TMP_DH 3 +# define SSL_CTRL_SET_TMP_ECDH 4 +# define SSL_CTRL_SET_TMP_DH_CB 6 +# define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 +# define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 +# define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 +# define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 +# define SSL_CTRL_GET_FLAGS 13 +# define SSL_CTRL_EXTRA_CHAIN_CERT 14 +# define SSL_CTRL_SET_MSG_CALLBACK 15 +# define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 +/* only applies to datagram connections */ +# define SSL_CTRL_SET_MTU 17 +/* Stats */ +# define SSL_CTRL_SESS_NUMBER 20 +# define SSL_CTRL_SESS_CONNECT 21 +# define SSL_CTRL_SESS_CONNECT_GOOD 22 +# define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 +# define SSL_CTRL_SESS_ACCEPT 24 +# define SSL_CTRL_SESS_ACCEPT_GOOD 25 +# define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 +# define SSL_CTRL_SESS_HIT 27 +# define SSL_CTRL_SESS_CB_HIT 28 +# define SSL_CTRL_SESS_MISSES 29 +# define SSL_CTRL_SESS_TIMEOUTS 30 +# define SSL_CTRL_SESS_CACHE_FULL 31 +# define SSL_CTRL_MODE 33 +# define SSL_CTRL_GET_READ_AHEAD 40 +# define SSL_CTRL_SET_READ_AHEAD 41 +# define SSL_CTRL_SET_SESS_CACHE_SIZE 42 +# define SSL_CTRL_GET_SESS_CACHE_SIZE 43 +# define SSL_CTRL_SET_SESS_CACHE_MODE 44 +# define SSL_CTRL_GET_SESS_CACHE_MODE 45 +# define SSL_CTRL_GET_MAX_CERT_LIST 50 +# define SSL_CTRL_SET_MAX_CERT_LIST 51 +# define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 +/* see tls1.h for macros based on these */ +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 +# define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 +# define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 +# define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 +# define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60 */ +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 */ +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 */ +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 +# define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 +# define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 +# define SSL_CTRL_SET_SRP_ARG 78 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 +# define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 +# define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT 85 +# define SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING 86 +# define SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS 87 +# endif +# define DTLS_CTRL_GET_TIMEOUT 73 +# define DTLS_CTRL_HANDLE_TIMEOUT 74 +# define SSL_CTRL_GET_RI_SUPPORT 76 +# define SSL_CTRL_CLEAR_MODE 78 +# define SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB 79 +# define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 +# define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 +# define SSL_CTRL_CHAIN 88 +# define SSL_CTRL_CHAIN_CERT 89 +# define SSL_CTRL_GET_GROUPS 90 +# define SSL_CTRL_SET_GROUPS 91 +# define SSL_CTRL_SET_GROUPS_LIST 92 +# define SSL_CTRL_GET_SHARED_GROUP 93 +# define SSL_CTRL_SET_SIGALGS 97 +# define SSL_CTRL_SET_SIGALGS_LIST 98 +# define SSL_CTRL_CERT_FLAGS 99 +# define SSL_CTRL_CLEAR_CERT_FLAGS 100 +# define SSL_CTRL_SET_CLIENT_SIGALGS 101 +# define SSL_CTRL_SET_CLIENT_SIGALGS_LIST 102 +# define SSL_CTRL_GET_CLIENT_CERT_TYPES 103 +# define SSL_CTRL_SET_CLIENT_CERT_TYPES 104 +# define SSL_CTRL_BUILD_CERT_CHAIN 105 +# define SSL_CTRL_SET_VERIFY_CERT_STORE 106 +# define SSL_CTRL_SET_CHAIN_CERT_STORE 107 +# define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 +# define SSL_CTRL_GET_SERVER_TMP_KEY 109 +# define SSL_CTRL_GET_RAW_CIPHERLIST 110 +# define SSL_CTRL_GET_EC_POINT_FORMATS 111 +# define SSL_CTRL_GET_CHAIN_CERTS 115 +# define SSL_CTRL_SELECT_CURRENT_CERT 116 +# define SSL_CTRL_SET_CURRENT_CERT 117 +# define SSL_CTRL_SET_DH_AUTO 118 +# define DTLS_CTRL_SET_LINK_MTU 120 +# define DTLS_CTRL_GET_LINK_MIN_MTU 121 +# define SSL_CTRL_GET_EXTMS_SUPPORT 122 +# define SSL_CTRL_SET_MIN_PROTO_VERSION 123 +# define SSL_CTRL_SET_MAX_PROTO_VERSION 124 +# define SSL_CTRL_SET_SPLIT_SEND_FRAGMENT 125 +# define SSL_CTRL_SET_MAX_PIPELINES 126 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE 127 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB 128 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129 +# define SSL_CTRL_GET_MIN_PROTO_VERSION 130 +# define SSL_CTRL_GET_MAX_PROTO_VERSION 131 +# define SSL_CERT_SET_FIRST 1 +# define SSL_CERT_SET_NEXT 2 +# define SSL_CERT_SET_SERVER 3 +# define DTLSv1_get_timeout(ssl, arg) \ + SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)(arg)) +# define DTLSv1_handle_timeout(ssl) \ + SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) +# define SSL_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_clear_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_total_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) +# define SSL_CTX_set_tmp_dh(ctx,dh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) +# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) +# define SSL_CTX_set_dh_auto(ctx, onoff) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +# define SSL_set_dh_auto(s, onoff) \ + SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +# define SSL_set_tmp_dh(ssl,dh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) +# define SSL_set_tmp_ecdh(ssl,ecdh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) +# define SSL_CTX_add_extra_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)(x509)) +# define SSL_CTX_get_extra_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509) +# define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509) +# define SSL_CTX_clear_extra_chain_certs(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) +# define SSL_CTX_set0_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) +# define SSL_CTX_set1_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk)) +# define SSL_CTX_add0_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) +# define SSL_CTX_add1_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) +# define SSL_CTX_get0_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_CTX_clear_chain_certs(ctx) \ + SSL_CTX_set0_chain(ctx,NULL) +# define SSL_CTX_build_cert_chain(ctx, flags) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_CTX_select_current_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) +# define SSL_CTX_set_current_cert(ctx, op) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_CTX_set0_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) +# define SSL_CTX_set1_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st)) +# define SSL_CTX_set0_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) +# define SSL_CTX_set1_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) +# define SSL_set0_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) +# define SSL_set1_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk)) +# define SSL_add0_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) +# define SSL_add1_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) +# define SSL_get0_chain_certs(ctx,px509) \ + SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_clear_chain_certs(ctx) \ + SSL_set0_chain(ctx,NULL) +# define SSL_build_cert_chain(s, flags) \ + SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_select_current_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) +# define SSL_set_current_cert(ctx,op) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_set0_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) +# define SSL_set1_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st)) +# define SSL_set0_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) +# define SSL_set1_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) +# define SSL_get1_groups(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_GET_GROUPS,0,(char *)(s)) +# define SSL_CTX_set1_groups(ctx, glist, glistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) +# define SSL_CTX_set1_groups_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) +# define SSL_set1_groups(ctx, glist, glistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) +# define SSL_set1_groups_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) +# define SSL_get_shared_group(s, n) \ + SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL) +# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) +# define SSL_CTX_set1_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) +# define SSL_set1_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) +# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) +# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)(slist)) +# define SSL_set1_client_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) +# define SSL_get0_certificate_types(s, clist) \ + SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist)) +# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen, \ + (char *)(clist)) +# define SSL_set1_client_certificate_types(s, clist, clistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)(clist)) +# define SSL_get_peer_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) +# define SSL_get_server_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) +# define SSL_get0_raw_cipherlist(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst) +# define SSL_get0_ec_point_formats(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,plst) +# define SSL_CTX_set_min_proto_version(ctx, version) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) +# define SSL_CTX_set_max_proto_version(ctx, version) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) +# define SSL_CTX_get_min_proto_version(ctx) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL) +# define SSL_CTX_get_max_proto_version(ctx) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) +# define SSL_set_min_proto_version(s, version) \ + SSL_ctrl(s, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) +# define SSL_set_max_proto_version(s, version) \ + SSL_ctrl(s, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) +# define SSL_get_min_proto_version(s) \ + SSL_ctrl(s, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL) +# define SSL_get_max_proto_version(s) \ + SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) + +/* + * The following symbol names are old and obsolete. They are kept + * for compatibility reasons only and should not be used anymore. + */ +# define SSL_CTRL_GET_CURVES SSL_CTRL_GET_GROUPS +# define SSL_CTRL_SET_CURVES SSL_CTRL_SET_GROUPS +# define SSL_CTRL_SET_CURVES_LIST SSL_CTRL_SET_GROUPS_LIST +# define SSL_CTRL_GET_SHARED_CURVE SSL_CTRL_GET_SHARED_GROUP + +# define SSL_get1_curves SSL_get1_groups +# define SSL_CTX_set1_curves SSL_CTX_set1_groups +# define SSL_CTX_set1_curves_list SSL_CTX_set1_groups_list +# define SSL_set1_curves SSL_set1_groups +# define SSL_set1_curves_list SSL_set1_groups_list +# define SSL_get_shared_curve SSL_get_shared_group + + +# if OPENSSL_API_COMPAT < 0x10100000L +/* Provide some compatibility macros for removed functionality. */ +# define SSL_CTX_need_tmp_RSA(ctx) 0 +# define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 +# define SSL_need_tmp_RSA(ssl) 0 +# define SSL_set_tmp_rsa(ssl,rsa) 1 +# define SSL_CTX_set_ecdh_auto(dummy, onoff) ((onoff) != 0) +# define SSL_set_ecdh_auto(dummy, onoff) ((onoff) != 0) +/* + * We "pretend" to call the callback to avoid warnings about unused static + * functions. + */ +# define SSL_CTX_set_tmp_rsa_callback(ctx, cb) while(0) (cb)(NULL, 0, 0) +# define SSL_set_tmp_rsa_callback(ssl, cb) while(0) (cb)(NULL, 0, 0) +# endif +__owur const BIO_METHOD *BIO_f_ssl(void); +__owur BIO *BIO_new_ssl(SSL_CTX *ctx, int client); +__owur BIO *BIO_new_ssl_connect(SSL_CTX *ctx); +__owur BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); +__owur int BIO_ssl_copy_session_id(BIO *to, BIO *from); +void BIO_ssl_shutdown(BIO *ssl_bio); + +__owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); +__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); +int SSL_CTX_up_ref(SSL_CTX *ctx); +void SSL_CTX_free(SSL_CTX *); +__owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); +__owur long SSL_CTX_get_timeout(const SSL_CTX *ctx); +__owur X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); +void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); +void SSL_CTX_set1_cert_store(SSL_CTX *, X509_STORE *); +__owur int SSL_want(const SSL *s); +__owur int SSL_clear(SSL *s); + +void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm); + +__owur const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); +__owur const SSL_CIPHER *SSL_get_pending_cipher(const SSL *s); +__owur int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); +__owur const char *SSL_CIPHER_get_version(const SSL_CIPHER *c); +__owur const char *SSL_CIPHER_get_name(const SSL_CIPHER *c); +__owur const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); +__owur const char *OPENSSL_cipher_name(const char *rfc_name); +__owur uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c); +__owur uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *c); +__owur int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c); +__owur int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c); +__owur const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c); +__owur int SSL_CIPHER_is_aead(const SSL_CIPHER *c); + +__owur int SSL_get_fd(const SSL *s); +__owur int SSL_get_rfd(const SSL *s); +__owur int SSL_get_wfd(const SSL *s); +__owur const char *SSL_get_cipher_list(const SSL *s, int n); +__owur char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size); +__owur int SSL_get_read_ahead(const SSL *s); +__owur int SSL_pending(const SSL *s); +__owur int SSL_has_pending(const SSL *s); +# ifndef OPENSSL_NO_SOCK +__owur int SSL_set_fd(SSL *s, int fd); +__owur int SSL_set_rfd(SSL *s, int fd); +__owur int SSL_set_wfd(SSL *s, int fd); +# endif +void SSL_set0_rbio(SSL *s, BIO *rbio); +void SSL_set0_wbio(SSL *s, BIO *wbio); +void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); +__owur BIO *SSL_get_rbio(const SSL *s); +__owur BIO *SSL_get_wbio(const SSL *s); +__owur int SSL_set_cipher_list(SSL *s, const char *str); +__owur int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str); +__owur int SSL_set_ciphersuites(SSL *s, const char *str); +void SSL_set_read_ahead(SSL *s, int yes); +__owur int SSL_get_verify_mode(const SSL *s); +__owur int SSL_get_verify_depth(const SSL *s); +__owur SSL_verify_cb SSL_get_verify_callback(const SSL *s); +void SSL_set_verify(SSL *s, int mode, SSL_verify_cb callback); +void SSL_set_verify_depth(SSL *s, int depth); +void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg); +# ifndef OPENSSL_NO_RSA +__owur int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); +__owur int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const unsigned char *d, + long len); +# endif +__owur int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); +__owur int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, + long len); +__owur int SSL_use_certificate(SSL *ssl, X509 *x); +__owur int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); +__owur int SSL_use_cert_and_key(SSL *ssl, X509 *x509, EVP_PKEY *privatekey, + STACK_OF(X509) *chain, int override); + + +/* serverinfo file format versions */ +# define SSL_SERVERINFOV1 1 +# define SSL_SERVERINFOV2 2 + +/* Set serverinfo data for the current active cert. */ +__owur int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, + size_t serverinfo_length); +__owur int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version, + const unsigned char *serverinfo, + size_t serverinfo_length); +__owur int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); + +#ifndef OPENSSL_NO_RSA +__owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); +#endif + +__owur int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); +__owur int SSL_use_certificate_file(SSL *ssl, const char *file, int type); + +#ifndef OPENSSL_NO_RSA +__owur int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, + int type); +#endif +__owur int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, + int type); +__owur int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, + int type); +/* PEM type */ +__owur int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); +__owur int SSL_use_certificate_chain_file(SSL *ssl, const char *file); +__owur STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); +__owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *file); +int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *dir); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_load_error_strings() \ + OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ + | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) +# endif + +__owur const char *SSL_state_string(const SSL *s); +__owur const char *SSL_rstate_string(const SSL *s); +__owur const char *SSL_state_string_long(const SSL *s); +__owur const char *SSL_rstate_string_long(const SSL *s); +__owur long SSL_SESSION_get_time(const SSL_SESSION *s); +__owur long SSL_SESSION_set_time(SSL_SESSION *s, long t); +__owur long SSL_SESSION_get_timeout(const SSL_SESSION *s); +__owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); +__owur int SSL_SESSION_get_protocol_version(const SSL_SESSION *s); +__owur int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version); + +__owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s); +__owur int SSL_SESSION_set1_hostname(SSL_SESSION *s, const char *hostname); +void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s, + const unsigned char **alpn, + size_t *len); +__owur int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s, + const unsigned char *alpn, + size_t len); +__owur const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s); +__owur int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher); +__owur int SSL_SESSION_has_ticket(const SSL_SESSION *s); +__owur unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s); +void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned char **tick, + size_t *len); +__owur uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s); +__owur int SSL_SESSION_set_max_early_data(SSL_SESSION *s, + uint32_t max_early_data); +__owur int SSL_copy_session_id(SSL *to, const SSL *from); +__owur X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); +__owur int SSL_SESSION_set1_id_context(SSL_SESSION *s, + const unsigned char *sid_ctx, + unsigned int sid_ctx_len); +__owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, + unsigned int sid_len); +__owur int SSL_SESSION_is_resumable(const SSL_SESSION *s); + +__owur SSL_SESSION *SSL_SESSION_new(void); +__owur SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src); +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, + unsigned int *len); +const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s, + unsigned int *len); +__owur unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); +# ifndef OPENSSL_NO_STDIO +int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); +# endif +int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); +int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x); +int SSL_SESSION_up_ref(SSL_SESSION *ses); +void SSL_SESSION_free(SSL_SESSION *ses); +__owur int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); +__owur int SSL_set_session(SSL *to, SSL_SESSION *session); +int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session); +int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session); +__owur int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb); +__owur int SSL_set_generate_session_id(SSL *s, GEN_SESSION_CB cb); +__owur int SSL_has_matching_session_id(const SSL *s, + const unsigned char *id, + unsigned int id_len); +SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, + long length); + +# ifdef HEADER_X509_H +__owur X509 *SSL_get_peer_certificate(const SSL *s); +# endif + +__owur STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); + +__owur int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); +__owur int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); +__owur SSL_verify_cb SSL_CTX_get_verify_callback(const SSL_CTX *ctx); +void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, SSL_verify_cb callback); +void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); +void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, + int (*cb) (X509_STORE_CTX *, void *), + void *arg); +void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), + void *arg); +# ifndef OPENSSL_NO_RSA +__owur int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); +__owur int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, + long len); +# endif +__owur int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); +__owur int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, + const unsigned char *d, long len); +__owur int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); +__owur int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, + const unsigned char *d); +__owur int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x509, EVP_PKEY *privatekey, + STACK_OF(X509) *chain, int override); + +void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); +void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); +pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); +void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx); +void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb); +void SSL_set_default_passwd_cb_userdata(SSL *s, void *u); +pem_password_cb *SSL_get_default_passwd_cb(SSL *s); +void *SSL_get_default_passwd_cb_userdata(SSL *s); + +__owur int SSL_CTX_check_private_key(const SSL_CTX *ctx); +__owur int SSL_check_private_key(const SSL *ctx); + +__owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx, + const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +SSL *SSL_new(SSL_CTX *ctx); +int SSL_up_ref(SSL *s); +int SSL_is_dtls(const SSL *s); +__owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +__owur int SSL_CTX_set_purpose(SSL_CTX *ctx, int purpose); +__owur int SSL_set_purpose(SSL *ssl, int purpose); +__owur int SSL_CTX_set_trust(SSL_CTX *ctx, int trust); +__owur int SSL_set_trust(SSL *ssl, int trust); + +__owur int SSL_set1_host(SSL *s, const char *hostname); +__owur int SSL_add1_host(SSL *s, const char *hostname); +__owur const char *SSL_get0_peername(SSL *s); +void SSL_set_hostflags(SSL *s, unsigned int flags); + +__owur int SSL_CTX_dane_enable(SSL_CTX *ctx); +__owur int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md, + uint8_t mtype, uint8_t ord); +__owur int SSL_dane_enable(SSL *s, const char *basedomain); +__owur int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector, + uint8_t mtype, unsigned const char *data, size_t dlen); +__owur int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki); +__owur int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector, + uint8_t *mtype, unsigned const char **data, + size_t *dlen); +/* + * Bridge opacity barrier between libcrypt and libssl, also needed to support + * offline testing in test/danetest.c + */ +SSL_DANE *SSL_get0_dane(SSL *ssl); +/* + * DANE flags + */ +unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx, unsigned long flags); +unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx, unsigned long flags); +unsigned long SSL_dane_set_flags(SSL *ssl, unsigned long flags); +unsigned long SSL_dane_clear_flags(SSL *ssl, unsigned long flags); + +__owur int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); +__owur int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); + +__owur X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); +__owur X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); + +# ifndef OPENSSL_NO_SRP +int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); +int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); +int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); +int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, + char *(*cb) (SSL *, void *)); +int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, + int (*cb) (SSL *, void *)); +int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, + int (*cb) (SSL *, int *, void *)); +int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); + +int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, + BIGNUM *sa, BIGNUM *v, char *info); +int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, + const char *grp); + +__owur BIGNUM *SSL_get_srp_g(SSL *s); +__owur BIGNUM *SSL_get_srp_N(SSL *s); + +__owur char *SSL_get_srp_username(SSL *s); +__owur char *SSL_get_srp_userinfo(SSL *s); +# endif + +/* + * ClientHello callback and helpers. + */ + +# define SSL_CLIENT_HELLO_SUCCESS 1 +# define SSL_CLIENT_HELLO_ERROR 0 +# define SSL_CLIENT_HELLO_RETRY (-1) + +typedef int (*SSL_client_hello_cb_fn) (SSL *s, int *al, void *arg); +void SSL_CTX_set_client_hello_cb(SSL_CTX *c, SSL_client_hello_cb_fn cb, + void *arg); +int SSL_client_hello_isv2(SSL *s); +unsigned int SSL_client_hello_get0_legacy_version(SSL *s); +size_t SSL_client_hello_get0_random(SSL *s, const unsigned char **out); +size_t SSL_client_hello_get0_session_id(SSL *s, const unsigned char **out); +size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out); +size_t SSL_client_hello_get0_compression_methods(SSL *s, + const unsigned char **out); +int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen); +int SSL_client_hello_get0_ext(SSL *s, unsigned int type, + const unsigned char **out, size_t *outlen); + +void SSL_certs_clear(SSL *s); +void SSL_free(SSL *ssl); +# ifdef OSSL_ASYNC_FD +/* + * Windows application developer has to include windows.h to use these. + */ +__owur int SSL_waiting_for_async(SSL *s); +__owur int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds); +__owur int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, + size_t *numaddfds, OSSL_ASYNC_FD *delfd, + size_t *numdelfds); +# endif +__owur int SSL_accept(SSL *ssl); +__owur int SSL_stateless(SSL *s); +__owur int SSL_connect(SSL *ssl); +__owur int SSL_read(SSL *ssl, void *buf, int num); +__owur int SSL_read_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); + +# define SSL_READ_EARLY_DATA_ERROR 0 +# define SSL_READ_EARLY_DATA_SUCCESS 1 +# define SSL_READ_EARLY_DATA_FINISH 2 + +__owur int SSL_read_early_data(SSL *s, void *buf, size_t num, + size_t *readbytes); +__owur int SSL_peek(SSL *ssl, void *buf, int num); +__owur int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); +__owur int SSL_write(SSL *ssl, const void *buf, int num); +__owur int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written); +__owur int SSL_write_early_data(SSL *s, const void *buf, size_t num, + size_t *written); +long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg); +long SSL_callback_ctrl(SSL *, int, void (*)(void)); +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg); +long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); + +# define SSL_EARLY_DATA_NOT_SENT 0 +# define SSL_EARLY_DATA_REJECTED 1 +# define SSL_EARLY_DATA_ACCEPTED 2 + +__owur int SSL_get_early_data_status(const SSL *s); + +__owur int SSL_get_error(const SSL *s, int ret_code); +__owur const char *SSL_get_version(const SSL *s); + +/* This sets the 'default' SSL version that SSL_new() will create */ +__owur int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); + +# ifndef OPENSSL_NO_SSL3_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_method(void)) /* SSLv3 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_server_method(void)) +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_client_method(void)) +# endif + +#define SSLv23_method TLS_method +#define SSLv23_server_method TLS_server_method +#define SSLv23_client_method TLS_client_method + +/* Negotiate highest available SSL/TLS version */ +__owur const SSL_METHOD *TLS_method(void); +__owur const SSL_METHOD *TLS_server_method(void); +__owur const SSL_METHOD *TLS_client_method(void); + +# ifndef OPENSSL_NO_TLS1_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void)) +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) +# endif + +# ifndef OPENSSL_NO_TLS1_1_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_server_method(void)) +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void)) +# endif + +# ifndef OPENSSL_NO_TLS1_2_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_server_method(void)) +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) +# endif + +# ifndef OPENSSL_NO_DTLS1_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_server_method(void)) +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_client_method(void)) +# endif + +# ifndef OPENSSL_NO_DTLS1_2_METHOD +/* DTLSv1.2 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_method(void)) +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_server_method(void)) +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_client_method(void)) +# endif + +__owur const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */ +__owur const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ +__owur const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ + +__owur size_t DTLS_get_data_mtu(const SSL *s); + +__owur STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); +__owur STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx); +__owur STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s); +__owur STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s); + +__owur int SSL_do_handshake(SSL *s); +int SSL_key_update(SSL *s, int updatetype); +int SSL_get_key_update_type(SSL *s); +int SSL_renegotiate(SSL *s); +int SSL_renegotiate_abbreviated(SSL *s); +__owur int SSL_renegotiate_pending(SSL *s); +int SSL_shutdown(SSL *s); +__owur int SSL_verify_client_post_handshake(SSL *s); +void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx, int val); +void SSL_set_post_handshake_auth(SSL *s, int val); + +__owur const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx); +__owur const SSL_METHOD *SSL_get_ssl_method(SSL *s); +__owur int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); +__owur const char *SSL_alert_type_string_long(int value); +__owur const char *SSL_alert_type_string(int value); +__owur const char *SSL_alert_desc_string_long(int value); +__owur const char *SSL_alert_desc_string(int value); + +void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set0_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +__owur const STACK_OF(X509_NAME) *SSL_get0_CA_list(const SSL *s); +__owur const STACK_OF(X509_NAME) *SSL_CTX_get0_CA_list(const SSL_CTX *ctx); +__owur int SSL_add1_to_CA_list(SSL *ssl, const X509 *x); +__owur int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x); +__owur const STACK_OF(X509_NAME) *SSL_get0_peer_CA_list(const SSL *s); + +void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +__owur STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); +__owur STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); +__owur int SSL_add_client_CA(SSL *ssl, X509 *x); +__owur int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); + +void SSL_set_connect_state(SSL *s); +void SSL_set_accept_state(SSL *s); + +__owur long SSL_get_default_timeout(const SSL *s); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_library_init() OPENSSL_init_ssl(0, NULL) +# endif + +__owur char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); +__owur STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk); + +__owur SSL *SSL_dup(SSL *ssl); + +__owur X509 *SSL_get_certificate(const SSL *ssl); +/* + * EVP_PKEY + */ +struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); + +__owur X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +__owur EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); + +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); +__owur int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +void SSL_set_quiet_shutdown(SSL *ssl, int mode); +__owur int SSL_get_quiet_shutdown(const SSL *ssl); +void SSL_set_shutdown(SSL *ssl, int mode); +__owur int SSL_get_shutdown(const SSL *ssl); +__owur int SSL_version(const SSL *ssl); +__owur int SSL_client_version(const SSL *s); +__owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +__owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); +__owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); +__owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath); +# define SSL_get0_session SSL_get_session/* just peek at pointer */ +__owur SSL_SESSION *SSL_get_session(const SSL *ssl); +__owur SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ +__owur SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); +SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); +void SSL_set_info_callback(SSL *ssl, + void (*cb) (const SSL *ssl, int type, int val)); +void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type, + int val); +__owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl); + +void SSL_set_verify_result(SSL *ssl, long v); +__owur long SSL_get_verify_result(const SSL *ssl); +__owur STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s); + +__owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out, + size_t outlen); +__owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, + size_t outlen); +__owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *sess, + unsigned char *out, size_t outlen); +__owur int SSL_SESSION_set1_master_key(SSL_SESSION *sess, + const unsigned char *in, size_t len); +uint8_t SSL_SESSION_get_max_fragment_length(const SSL_SESSION *sess); + +#define SSL_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, l, p, newf, dupf, freef) +__owur int SSL_set_ex_data(SSL *ssl, int idx, void *data); +void *SSL_get_ex_data(const SSL *ssl, int idx); +#define SSL_SESSION_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, l, p, newf, dupf, freef) +__owur int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx); +#define SSL_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, l, p, newf, dupf, freef) +__owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); +void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx); + +__owur int SSL_get_ex_data_X509_STORE_CTX_idx(void); + +# define SSL_CTX_sess_set_cache_size(ctx,t) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) +# define SSL_CTX_sess_get_cache_size(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) +# define SSL_CTX_set_session_cache_mode(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) +# define SSL_CTX_get_session_cache_mode(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) + +# define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) +# define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) +# define SSL_CTX_get_read_ahead(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) +# define SSL_CTX_set_read_ahead(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) +# define SSL_CTX_get_max_cert_list(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_CTX_set_max_cert_list(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) +# define SSL_get_max_cert_list(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_set_max_cert_list(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) + +# define SSL_CTX_set_max_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_set_max_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_CTX_set_split_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) +# define SSL_set_split_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) +# define SSL_CTX_set_max_pipelines(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) +# define SSL_set_max_pipelines(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) + +void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len); +void SSL_set_default_read_buffer_len(SSL *s, size_t len); + +# ifndef OPENSSL_NO_DH +/* NB: the |keylength| is only applicable when is_export is true */ +void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +void SSL_set_tmp_dh_callback(SSL *ssl, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +# endif + +__owur const COMP_METHOD *SSL_get_current_compression(SSL *s); +__owur const COMP_METHOD *SSL_get_current_expansion(SSL *s); +__owur const char *SSL_COMP_get_name(const COMP_METHOD *comp); +__owur const char *SSL_COMP_get0_name(const SSL_COMP *comp); +__owur int SSL_COMP_get_id(const SSL_COMP *comp); +STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); +__owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) + *meths); +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_COMP_free_compression_methods() while(0) continue +# endif +__owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); + +const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); +int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c); +int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c); +int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len, + int isv2format, STACK_OF(SSL_CIPHER) **sk, + STACK_OF(SSL_CIPHER) **scsvs); + +/* TLS extensions functions */ +__owur int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); + +__owur int SSL_set_session_ticket_ext_cb(SSL *s, + tls_session_ticket_ext_cb_fn cb, + void *arg); + +/* Pre-shared secret session resumption functions */ +__owur int SSL_set_session_secret_cb(SSL *s, + tls_session_secret_cb_fn session_secret_cb, + void *arg); + +void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + int + is_forward_secure)); + +void SSL_set_not_resumable_session_callback(SSL *ssl, + int (*cb) (SSL *ssl, + int is_forward_secure)); + +void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx, + size_t (*cb) (SSL *ssl, int type, + size_t len, void *arg)); +void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg); +void *SSL_CTX_get_record_padding_callback_arg(SSL_CTX *ctx); +int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size); + +void SSL_set_record_padding_callback(SSL *ssl, + size_t (*cb) (SSL *ssl, int type, + size_t len, void *arg)); +void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg); +void *SSL_get_record_padding_callback_arg(SSL *ssl); +int SSL_set_block_padding(SSL *ssl, size_t block_size); + +int SSL_set_num_tickets(SSL *s, size_t num_tickets); +size_t SSL_get_num_tickets(SSL *s); +int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets); +size_t SSL_CTX_get_num_tickets(SSL_CTX *ctx); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_cache_hit(s) SSL_session_reused(s) +# endif + +__owur int SSL_session_reused(SSL *s); +__owur int SSL_is_server(const SSL *s); + +__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); +void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); +unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); +__owur unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, + unsigned int flags); +__owur int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); + +void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl); +void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx); + +__owur int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); +__owur int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); +__owur int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); + +void SSL_add_ssl_module(void); +int SSL_config(SSL *s, const char *name); +int SSL_CTX_config(SSL_CTX *ctx, const char *name); + +# ifndef OPENSSL_NO_SSL_TRACE +void SSL_trace(int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); +# endif + +# ifndef OPENSSL_NO_SOCK +int DTLSv1_listen(SSL *s, BIO_ADDR *client); +# endif + +# ifndef OPENSSL_NO_CT + +/* + * A callback for verifying that the received SCTs are sufficient. + * Expected to return 1 if they are sufficient, otherwise 0. + * May return a negative integer if an error occurs. + * A connection should be aborted if the SCTs are deemed insufficient. + */ +typedef int (*ssl_ct_validation_cb)(const CT_POLICY_EVAL_CTX *ctx, + const STACK_OF(SCT) *scts, void *arg); + +/* + * Sets a |callback| that is invoked upon receipt of ServerHelloDone to validate + * the received SCTs. + * If the callback returns a non-positive result, the connection is terminated. + * Call this function before beginning a handshake. + * If a NULL |callback| is provided, SCT validation is disabled. + * |arg| is arbitrary userdata that will be passed to the callback whenever it + * is invoked. Ownership of |arg| remains with the caller. + * + * NOTE: A side-effect of setting a CT callback is that an OCSP stapled response + * will be requested. + */ +int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback, + void *arg); +int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx, + ssl_ct_validation_cb callback, + void *arg); +#define SSL_disable_ct(s) \ + ((void) SSL_set_validation_callback((s), NULL, NULL)) +#define SSL_CTX_disable_ct(ctx) \ + ((void) SSL_CTX_set_validation_callback((ctx), NULL, NULL)) + +/* + * The validation type enumerates the available behaviours of the built-in SSL + * CT validation callback selected via SSL_enable_ct() and SSL_CTX_enable_ct(). + * The underlying callback is a static function in libssl. + */ +enum { + SSL_CT_VALIDATION_PERMISSIVE = 0, + SSL_CT_VALIDATION_STRICT +}; + +/* + * Enable CT by setting up a callback that implements one of the built-in + * validation variants. The SSL_CT_VALIDATION_PERMISSIVE variant always + * continues the handshake, the application can make appropriate decisions at + * handshake completion. The SSL_CT_VALIDATION_STRICT variant requires at + * least one valid SCT, or else handshake termination will be requested. The + * handshake may continue anyway if SSL_VERIFY_NONE is in effect. + */ +int SSL_enable_ct(SSL *s, int validation_mode); +int SSL_CTX_enable_ct(SSL_CTX *ctx, int validation_mode); + +/* + * Report whether a non-NULL callback is enabled. + */ +int SSL_ct_is_enabled(const SSL *s); +int SSL_CTX_ct_is_enabled(const SSL_CTX *ctx); + +/* Gets the SCTs received from a connection */ +const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s); + +/* + * Loads the CT log list from the default location. + * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, + * the log information loaded from this file will be appended to the + * CTLOG_STORE. + * Returns 1 on success, 0 otherwise. + */ +int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx); + +/* + * Loads the CT log list from the specified file path. + * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, + * the log information loaded from this file will be appended to the + * CTLOG_STORE. + * Returns 1 on success, 0 otherwise. + */ +int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx, const char *path); + +/* + * Sets the CT log list used by all SSL connections created from this SSL_CTX. + * Ownership of the CTLOG_STORE is transferred to the SSL_CTX. + */ +void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx, CTLOG_STORE *logs); + +/* + * Gets the CT log list used by all SSL connections created from this SSL_CTX. + * This will be NULL unless one of the following functions has been called: + * - SSL_CTX_set_default_ctlog_list_file + * - SSL_CTX_set_ctlog_list_file + * - SSL_CTX_set_ctlog_store + */ +const CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx); + +# endif /* OPENSSL_NO_CT */ + +/* What the "other" parameter contains in security callback */ +/* Mask for type */ +# define SSL_SECOP_OTHER_TYPE 0xffff0000 +# define SSL_SECOP_OTHER_NONE 0 +# define SSL_SECOP_OTHER_CIPHER (1 << 16) +# define SSL_SECOP_OTHER_CURVE (2 << 16) +# define SSL_SECOP_OTHER_DH (3 << 16) +# define SSL_SECOP_OTHER_PKEY (4 << 16) +# define SSL_SECOP_OTHER_SIGALG (5 << 16) +# define SSL_SECOP_OTHER_CERT (6 << 16) + +/* Indicated operation refers to peer key or certificate */ +# define SSL_SECOP_PEER 0x1000 + +/* Values for "op" parameter in security callback */ + +/* Called to filter ciphers */ +/* Ciphers client supports */ +# define SSL_SECOP_CIPHER_SUPPORTED (1 | SSL_SECOP_OTHER_CIPHER) +/* Cipher shared by client/server */ +# define SSL_SECOP_CIPHER_SHARED (2 | SSL_SECOP_OTHER_CIPHER) +/* Sanity check of cipher server selects */ +# define SSL_SECOP_CIPHER_CHECK (3 | SSL_SECOP_OTHER_CIPHER) +/* Curves supported by client */ +# define SSL_SECOP_CURVE_SUPPORTED (4 | SSL_SECOP_OTHER_CURVE) +/* Curves shared by client/server */ +# define SSL_SECOP_CURVE_SHARED (5 | SSL_SECOP_OTHER_CURVE) +/* Sanity check of curve server selects */ +# define SSL_SECOP_CURVE_CHECK (6 | SSL_SECOP_OTHER_CURVE) +/* Temporary DH key */ +# define SSL_SECOP_TMP_DH (7 | SSL_SECOP_OTHER_PKEY) +/* SSL/TLS version */ +# define SSL_SECOP_VERSION (9 | SSL_SECOP_OTHER_NONE) +/* Session tickets */ +# define SSL_SECOP_TICKET (10 | SSL_SECOP_OTHER_NONE) +/* Supported signature algorithms sent to peer */ +# define SSL_SECOP_SIGALG_SUPPORTED (11 | SSL_SECOP_OTHER_SIGALG) +/* Shared signature algorithm */ +# define SSL_SECOP_SIGALG_SHARED (12 | SSL_SECOP_OTHER_SIGALG) +/* Sanity check signature algorithm allowed */ +# define SSL_SECOP_SIGALG_CHECK (13 | SSL_SECOP_OTHER_SIGALG) +/* Used to get mask of supported public key signature algorithms */ +# define SSL_SECOP_SIGALG_MASK (14 | SSL_SECOP_OTHER_SIGALG) +/* Use to see if compression is allowed */ +# define SSL_SECOP_COMPRESSION (15 | SSL_SECOP_OTHER_NONE) +/* EE key in certificate */ +# define SSL_SECOP_EE_KEY (16 | SSL_SECOP_OTHER_CERT) +/* CA key in certificate */ +# define SSL_SECOP_CA_KEY (17 | SSL_SECOP_OTHER_CERT) +/* CA digest algorithm in certificate */ +# define SSL_SECOP_CA_MD (18 | SSL_SECOP_OTHER_CERT) +/* Peer EE key in certificate */ +# define SSL_SECOP_PEER_EE_KEY (SSL_SECOP_EE_KEY | SSL_SECOP_PEER) +/* Peer CA key in certificate */ +# define SSL_SECOP_PEER_CA_KEY (SSL_SECOP_CA_KEY | SSL_SECOP_PEER) +/* Peer CA digest algorithm in certificate */ +# define SSL_SECOP_PEER_CA_MD (SSL_SECOP_CA_MD | SSL_SECOP_PEER) + +void SSL_set_security_level(SSL *s, int level); +__owur int SSL_get_security_level(const SSL *s); +void SSL_set_security_callback(SSL *s, + int (*cb) (const SSL *s, const SSL_CTX *ctx, + int op, int bits, int nid, + void *other, void *ex)); +int (*SSL_get_security_callback(const SSL *s)) (const SSL *s, + const SSL_CTX *ctx, int op, + int bits, int nid, void *other, + void *ex); +void SSL_set0_security_ex_data(SSL *s, void *ex); +__owur void *SSL_get0_security_ex_data(const SSL *s); + +void SSL_CTX_set_security_level(SSL_CTX *ctx, int level); +__owur int SSL_CTX_get_security_level(const SSL_CTX *ctx); +void SSL_CTX_set_security_callback(SSL_CTX *ctx, + int (*cb) (const SSL *s, const SSL_CTX *ctx, + int op, int bits, int nid, + void *other, void *ex)); +int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL *s, + const SSL_CTX *ctx, + int op, int bits, + int nid, + void *other, + void *ex); +void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx, void *ex); +__owur void *SSL_CTX_get0_security_ex_data(const SSL_CTX *ctx); + +/* OPENSSL_INIT flag 0x010000 reserved for internal use */ +# define OPENSSL_INIT_NO_LOAD_SSL_STRINGS 0x00100000L +# define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L + +# define OPENSSL_INIT_SSL_DEFAULT \ + (OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS) + +int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); + +# ifndef OPENSSL_NO_UNIT_TEST +__owur const struct openssl_ssl_test_functions *SSL_test_functions(void); +# endif + +__owur int SSL_free_buffers(SSL *ssl); +__owur int SSL_alloc_buffers(SSL *ssl); + +/* Status codes passed to the decrypt session ticket callback. Some of these + * are for internal use only and are never passed to the callback. */ +typedef int SSL_TICKET_STATUS; + +/* Support for ticket appdata */ +/* fatal error, malloc failure */ +# define SSL_TICKET_FATAL_ERR_MALLOC 0 +/* fatal error, either from parsing or decrypting the ticket */ +# define SSL_TICKET_FATAL_ERR_OTHER 1 +/* No ticket present */ +# define SSL_TICKET_NONE 2 +/* Empty ticket present */ +# define SSL_TICKET_EMPTY 3 +/* the ticket couldn't be decrypted */ +# define SSL_TICKET_NO_DECRYPT 4 +/* a ticket was successfully decrypted */ +# define SSL_TICKET_SUCCESS 5 +/* same as above but the ticket needs to be renewed */ +# define SSL_TICKET_SUCCESS_RENEW 6 + +/* Return codes for the decrypt session ticket callback */ +typedef int SSL_TICKET_RETURN; + +/* An error occurred */ +#define SSL_TICKET_RETURN_ABORT 0 +/* Do not use the ticket, do not send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_IGNORE 1 +/* Do not use the ticket, send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_IGNORE_RENEW 2 +/* Use the ticket, do not send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_USE 3 +/* Use the ticket, send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_USE_RENEW 4 + +typedef int (*SSL_CTX_generate_session_ticket_fn)(SSL *s, void *arg); +typedef SSL_TICKET_RETURN (*SSL_CTX_decrypt_session_ticket_fn)(SSL *s, SSL_SESSION *ss, + const unsigned char *keyname, + size_t keyname_length, + SSL_TICKET_STATUS status, + void *arg); +int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx, + SSL_CTX_generate_session_ticket_fn gen_cb, + SSL_CTX_decrypt_session_ticket_fn dec_cb, + void *arg); +int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len); +int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len); + +extern const char SSL_version_str[]; + +typedef unsigned int (*DTLS_timer_cb)(SSL *s, unsigned int timer_us); + +void DTLS_set_timer_cb(SSL *s, DTLS_timer_cb cb); + + +typedef int (*SSL_allow_early_data_cb_fn)(SSL *s, void *arg); +void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx, + SSL_allow_early_data_cb_fn cb, + void *arg); +void SSL_set_allow_early_data_cb(SSL *s, + SSL_allow_early_data_cb_fn cb, + void *arg); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/ssl2.h b/openssl/1.1/include/openssl/ssl2.h new file mode 100644 index 0000000..5321bd2 --- /dev/null +++ b/openssl/1.1/include/openssl/ssl2.h @@ -0,0 +1,24 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SSL2_H +# define HEADER_SSL2_H + +#ifdef __cplusplus +extern "C" { +#endif + +# define SSL2_VERSION 0x0002 + +# define SSL2_MT_CLIENT_HELLO 1 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/ssl3.h b/openssl/1.1/include/openssl/ssl3.h new file mode 100644 index 0000000..8d01fcc --- /dev/null +++ b/openssl/1.1/include/openssl/ssl3.h @@ -0,0 +1,339 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SSL3_H +# define HEADER_SSL3_H + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Signalling cipher suite value from RFC 5746 + * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV) + */ +# define SSL3_CK_SCSV 0x030000FF + +/* + * Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00 + * (TLS_FALLBACK_SCSV) + */ +# define SSL3_CK_FALLBACK_SCSV 0x03005600 + +# define SSL3_CK_RSA_NULL_MD5 0x03000001 +# define SSL3_CK_RSA_NULL_SHA 0x03000002 +# define SSL3_CK_RSA_RC4_40_MD5 0x03000003 +# define SSL3_CK_RSA_RC4_128_MD5 0x03000004 +# define SSL3_CK_RSA_RC4_128_SHA 0x03000005 +# define SSL3_CK_RSA_RC2_40_MD5 0x03000006 +# define SSL3_CK_RSA_IDEA_128_SHA 0x03000007 +# define SSL3_CK_RSA_DES_40_CBC_SHA 0x03000008 +# define SSL3_CK_RSA_DES_64_CBC_SHA 0x03000009 +# define SSL3_CK_RSA_DES_192_CBC3_SHA 0x0300000A + +# define SSL3_CK_DH_DSS_DES_40_CBC_SHA 0x0300000B +# define SSL3_CK_DH_DSS_DES_64_CBC_SHA 0x0300000C +# define SSL3_CK_DH_DSS_DES_192_CBC3_SHA 0x0300000D +# define SSL3_CK_DH_RSA_DES_40_CBC_SHA 0x0300000E +# define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F +# define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 + +# define SSL3_CK_DHE_DSS_DES_40_CBC_SHA 0x03000011 +# define SSL3_CK_EDH_DSS_DES_40_CBC_SHA SSL3_CK_DHE_DSS_DES_40_CBC_SHA +# define SSL3_CK_DHE_DSS_DES_64_CBC_SHA 0x03000012 +# define SSL3_CK_EDH_DSS_DES_64_CBC_SHA SSL3_CK_DHE_DSS_DES_64_CBC_SHA +# define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA 0x03000013 +# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA SSL3_CK_DHE_DSS_DES_192_CBC3_SHA +# define SSL3_CK_DHE_RSA_DES_40_CBC_SHA 0x03000014 +# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA SSL3_CK_DHE_RSA_DES_40_CBC_SHA +# define SSL3_CK_DHE_RSA_DES_64_CBC_SHA 0x03000015 +# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA SSL3_CK_DHE_RSA_DES_64_CBC_SHA +# define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA 0x03000016 +# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA SSL3_CK_DHE_RSA_DES_192_CBC3_SHA + +# define SSL3_CK_ADH_RC4_40_MD5 0x03000017 +# define SSL3_CK_ADH_RC4_128_MD5 0x03000018 +# define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 +# define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A +# define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B + +/* a bundle of RFC standard cipher names, generated from ssl3_ciphers[] */ +# define SSL3_RFC_RSA_NULL_MD5 "TLS_RSA_WITH_NULL_MD5" +# define SSL3_RFC_RSA_NULL_SHA "TLS_RSA_WITH_NULL_SHA" +# define SSL3_RFC_RSA_DES_192_CBC3_SHA "TLS_RSA_WITH_3DES_EDE_CBC_SHA" +# define SSL3_RFC_DHE_DSS_DES_192_CBC3_SHA "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" +# define SSL3_RFC_DHE_RSA_DES_192_CBC3_SHA "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA" +# define SSL3_RFC_ADH_DES_192_CBC_SHA "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA" +# define SSL3_RFC_RSA_IDEA_128_SHA "TLS_RSA_WITH_IDEA_CBC_SHA" +# define SSL3_RFC_RSA_RC4_128_MD5 "TLS_RSA_WITH_RC4_128_MD5" +# define SSL3_RFC_RSA_RC4_128_SHA "TLS_RSA_WITH_RC4_128_SHA" +# define SSL3_RFC_ADH_RC4_128_MD5 "TLS_DH_anon_WITH_RC4_128_MD5" + +# define SSL3_TXT_RSA_NULL_MD5 "NULL-MD5" +# define SSL3_TXT_RSA_NULL_SHA "NULL-SHA" +# define SSL3_TXT_RSA_RC4_40_MD5 "EXP-RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_MD5 "RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_SHA "RC4-SHA" +# define SSL3_TXT_RSA_RC2_40_MD5 "EXP-RC2-CBC-MD5" +# define SSL3_TXT_RSA_IDEA_128_SHA "IDEA-CBC-SHA" +# define SSL3_TXT_RSA_DES_40_CBC_SHA "EXP-DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_64_CBC_SHA "DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_192_CBC3_SHA "DES-CBC3-SHA" + +# define SSL3_TXT_DH_DSS_DES_40_CBC_SHA "EXP-DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_64_CBC_SHA "DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DH_RSA_DES_40_CBC_SHA "EXP-DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_64_CBC_SHA "DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_DHE_DSS_DES_40_CBC_SHA "EXP-DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_64_CBC_SHA "DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA "DHE-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DHE_RSA_DES_40_CBC_SHA "EXP-DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_64_CBC_SHA "DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA "DHE-RSA-DES-CBC3-SHA" + +/* + * This next block of six "EDH" labels is for backward compatibility with + * older versions of OpenSSL. New code should use the six "DHE" labels above + * instead: + */ +# define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA "EXP-EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA "EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA "EXP-EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA "EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_ADH_RC4_40_MD5 "EXP-ADH-RC4-MD5" +# define SSL3_TXT_ADH_RC4_128_MD5 "ADH-RC4-MD5" +# define SSL3_TXT_ADH_DES_40_CBC_SHA "EXP-ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" + +# define SSL3_SSL_SESSION_ID_LENGTH 32 +# define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 + +# define SSL3_MASTER_SECRET_SIZE 48 +# define SSL3_RANDOM_SIZE 32 +# define SSL3_SESSION_ID_SIZE 32 +# define SSL3_RT_HEADER_LENGTH 5 + +# define SSL3_HM_HEADER_LENGTH 4 + +# ifndef SSL3_ALIGN_PAYLOAD + /* + * Some will argue that this increases memory footprint, but it's not + * actually true. Point is that malloc has to return at least 64-bit aligned + * pointers, meaning that allocating 5 bytes wastes 3 bytes in either case. + * Suggested pre-gaping simply moves these wasted bytes from the end of + * allocated region to its front, but makes data payload aligned, which + * improves performance:-) + */ +# define SSL3_ALIGN_PAYLOAD 8 +# else +# if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0 +# error "insane SSL3_ALIGN_PAYLOAD" +# undef SSL3_ALIGN_PAYLOAD +# endif +# endif + +/* + * This is the maximum MAC (digest) size used by the SSL library. Currently + * maximum of 20 is used by SHA1, but we reserve for future extension for + * 512-bit hashes. + */ + +# define SSL3_RT_MAX_MD_SIZE 64 + +/* + * Maximum block size used in all ciphersuites. Currently 16 for AES. + */ + +# define SSL_RT_MAX_CIPHER_BLOCK_SIZE 16 + +# define SSL3_RT_MAX_EXTRA (16384) + +/* Maximum plaintext length: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_PLAIN_LENGTH 16384 +/* Maximum compression overhead: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_COMPRESSED_OVERHEAD 1024 + +/* + * The standards give a maximum encryption overhead of 1024 bytes. In + * practice the value is lower than this. The overhead is the maximum number + * of padding bytes (256) plus the mac size. + */ +# define SSL3_RT_MAX_ENCRYPTED_OVERHEAD (256 + SSL3_RT_MAX_MD_SIZE) +# define SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD 256 + +/* + * OpenSSL currently only uses a padding length of at most one block so the + * send overhead is smaller. + */ + +# define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \ + (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE) + +/* If compression isn't used don't include the compression overhead */ + +# ifdef OPENSSL_NO_COMP +# define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH +# else +# define SSL3_RT_MAX_COMPRESSED_LENGTH \ + (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD) +# endif +# define SSL3_RT_MAX_ENCRYPTED_LENGTH \ + (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH) +# define SSL3_RT_MAX_TLS13_ENCRYPTED_LENGTH \ + (SSL3_RT_MAX_PLAIN_LENGTH + SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD) +# define SSL3_RT_MAX_PACKET_SIZE \ + (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) + +# define SSL3_MD_CLIENT_FINISHED_CONST "\x43\x4C\x4E\x54" +# define SSL3_MD_SERVER_FINISHED_CONST "\x53\x52\x56\x52" + +# define SSL3_VERSION 0x0300 +# define SSL3_VERSION_MAJOR 0x03 +# define SSL3_VERSION_MINOR 0x00 + +# define SSL3_RT_CHANGE_CIPHER_SPEC 20 +# define SSL3_RT_ALERT 21 +# define SSL3_RT_HANDSHAKE 22 +# define SSL3_RT_APPLICATION_DATA 23 +# define DTLS1_RT_HEARTBEAT 24 + +/* Pseudo content types to indicate additional parameters */ +# define TLS1_RT_CRYPTO 0x1000 +# define TLS1_RT_CRYPTO_PREMASTER (TLS1_RT_CRYPTO | 0x1) +# define TLS1_RT_CRYPTO_CLIENT_RANDOM (TLS1_RT_CRYPTO | 0x2) +# define TLS1_RT_CRYPTO_SERVER_RANDOM (TLS1_RT_CRYPTO | 0x3) +# define TLS1_RT_CRYPTO_MASTER (TLS1_RT_CRYPTO | 0x4) + +# define TLS1_RT_CRYPTO_READ 0x0000 +# define TLS1_RT_CRYPTO_WRITE 0x0100 +# define TLS1_RT_CRYPTO_MAC (TLS1_RT_CRYPTO | 0x5) +# define TLS1_RT_CRYPTO_KEY (TLS1_RT_CRYPTO | 0x6) +# define TLS1_RT_CRYPTO_IV (TLS1_RT_CRYPTO | 0x7) +# define TLS1_RT_CRYPTO_FIXED_IV (TLS1_RT_CRYPTO | 0x8) + +/* Pseudo content types for SSL/TLS header info */ +# define SSL3_RT_HEADER 0x100 +# define SSL3_RT_INNER_CONTENT_TYPE 0x101 + +# define SSL3_AL_WARNING 1 +# define SSL3_AL_FATAL 2 + +# define SSL3_AD_CLOSE_NOTIFY 0 +# define SSL3_AD_UNEXPECTED_MESSAGE 10/* fatal */ +# define SSL3_AD_BAD_RECORD_MAC 20/* fatal */ +# define SSL3_AD_DECOMPRESSION_FAILURE 30/* fatal */ +# define SSL3_AD_HANDSHAKE_FAILURE 40/* fatal */ +# define SSL3_AD_NO_CERTIFICATE 41 +# define SSL3_AD_BAD_CERTIFICATE 42 +# define SSL3_AD_UNSUPPORTED_CERTIFICATE 43 +# define SSL3_AD_CERTIFICATE_REVOKED 44 +# define SSL3_AD_CERTIFICATE_EXPIRED 45 +# define SSL3_AD_CERTIFICATE_UNKNOWN 46 +# define SSL3_AD_ILLEGAL_PARAMETER 47/* fatal */ + +# define TLS1_HB_REQUEST 1 +# define TLS1_HB_RESPONSE 2 + + +# define SSL3_CT_RSA_SIGN 1 +# define SSL3_CT_DSS_SIGN 2 +# define SSL3_CT_RSA_FIXED_DH 3 +# define SSL3_CT_DSS_FIXED_DH 4 +# define SSL3_CT_RSA_EPHEMERAL_DH 5 +# define SSL3_CT_DSS_EPHEMERAL_DH 6 +# define SSL3_CT_FORTEZZA_DMS 20 +/* + * SSL3_CT_NUMBER is used to size arrays and it must be large enough to + * contain all of the cert types defined for *either* SSLv3 and TLSv1. + */ +# define SSL3_CT_NUMBER 10 + +# if defined(TLS_CT_NUMBER) +# if TLS_CT_NUMBER != SSL3_CT_NUMBER +# error "SSL/TLS CT_NUMBER values do not match" +# endif +# endif + +/* No longer used as of OpenSSL 1.1.1 */ +# define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 + +/* Removed from OpenSSL 1.1.0 */ +# define TLS1_FLAGS_TLS_PADDING_BUG 0x0 + +# define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 + +/* Set if we encrypt then mac instead of usual mac then encrypt */ +# define TLS1_FLAGS_ENCRYPT_THEN_MAC_READ 0x0100 +# define TLS1_FLAGS_ENCRYPT_THEN_MAC TLS1_FLAGS_ENCRYPT_THEN_MAC_READ + +/* Set if extended master secret extension received from peer */ +# define TLS1_FLAGS_RECEIVED_EXTMS 0x0200 + +# define TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE 0x0400 + +# define TLS1_FLAGS_STATELESS 0x0800 + +# define SSL3_MT_HELLO_REQUEST 0 +# define SSL3_MT_CLIENT_HELLO 1 +# define SSL3_MT_SERVER_HELLO 2 +# define SSL3_MT_NEWSESSION_TICKET 4 +# define SSL3_MT_END_OF_EARLY_DATA 5 +# define SSL3_MT_ENCRYPTED_EXTENSIONS 8 +# define SSL3_MT_CERTIFICATE 11 +# define SSL3_MT_SERVER_KEY_EXCHANGE 12 +# define SSL3_MT_CERTIFICATE_REQUEST 13 +# define SSL3_MT_SERVER_DONE 14 +# define SSL3_MT_CERTIFICATE_VERIFY 15 +# define SSL3_MT_CLIENT_KEY_EXCHANGE 16 +# define SSL3_MT_FINISHED 20 +# define SSL3_MT_CERTIFICATE_URL 21 +# define SSL3_MT_CERTIFICATE_STATUS 22 +# define SSL3_MT_SUPPLEMENTAL_DATA 23 +# define SSL3_MT_KEY_UPDATE 24 +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_MT_NEXT_PROTO 67 +# endif +# define SSL3_MT_MESSAGE_HASH 254 +# define DTLS1_MT_HELLO_VERIFY_REQUEST 3 + +/* Dummy message type for handling CCS like a normal handshake message */ +# define SSL3_MT_CHANGE_CIPHER_SPEC 0x0101 + +# define SSL3_MT_CCS 1 + +/* These are used when changing over to a new cipher */ +# define SSL3_CC_READ 0x001 +# define SSL3_CC_WRITE 0x002 +# define SSL3_CC_CLIENT 0x010 +# define SSL3_CC_SERVER 0x020 +# define SSL3_CC_EARLY 0x040 +# define SSL3_CC_HANDSHAKE 0x080 +# define SSL3_CC_APPLICATION 0x100 +# define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE) +# define SSL3_CHANGE_CIPHER_SERVER_READ (SSL3_CC_SERVER|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_CLIENT_READ (SSL3_CC_CLIENT|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/sslerr.h b/openssl/1.1/include/openssl/sslerr.h new file mode 100644 index 0000000..87b295c --- /dev/null +++ b/openssl/1.1/include/openssl/sslerr.h @@ -0,0 +1,767 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SSLERR_H +# define HEADER_SSLERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_SSL_strings(void); + +/* + * SSL function codes. + */ +# define SSL_F_ADD_CLIENT_KEY_SHARE_EXT 438 +# define SSL_F_ADD_KEY_SHARE 512 +# define SSL_F_BYTES_TO_CIPHER_LIST 519 +# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 +# define SSL_F_CIPHERSUITE_CB 622 +# define SSL_F_CONSTRUCT_CA_NAMES 552 +# define SSL_F_CONSTRUCT_KEY_EXCHANGE_TBS 553 +# define SSL_F_CONSTRUCT_STATEFUL_TICKET 636 +# define SSL_F_CONSTRUCT_STATELESS_TICKET 637 +# define SSL_F_CREATE_SYNTHETIC_MESSAGE_HASH 539 +# define SSL_F_CREATE_TICKET_PREQUEL 638 +# define SSL_F_CT_MOVE_SCTS 345 +# define SSL_F_CT_STRICT 349 +# define SSL_F_CUSTOM_EXT_ADD 554 +# define SSL_F_CUSTOM_EXT_PARSE 555 +# define SSL_F_D2I_SSL_SESSION 103 +# define SSL_F_DANE_CTX_ENABLE 347 +# define SSL_F_DANE_MTYPE_SET 393 +# define SSL_F_DANE_TLSA_ADD 394 +# define SSL_F_DERIVE_SECRET_KEY_AND_IV 514 +# define SSL_F_DO_DTLS1_WRITE 245 +# define SSL_F_DO_SSL3_WRITE 104 +# define SSL_F_DTLS1_BUFFER_RECORD 247 +# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 318 +# define SSL_F_DTLS1_HEARTBEAT 305 +# define SSL_F_DTLS1_HM_FRAGMENT_NEW 623 +# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 +# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424 +# define SSL_F_DTLS1_PROCESS_RECORD 257 +# define SSL_F_DTLS1_READ_BYTES 258 +# define SSL_F_DTLS1_READ_FAILED 339 +# define SSL_F_DTLS1_RETRANSMIT_MESSAGE 390 +# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 +# define SSL_F_DTLS1_WRITE_BYTES 545 +# define SSL_F_DTLSV1_LISTEN 350 +# define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC 371 +# define SSL_F_DTLS_CONSTRUCT_HELLO_VERIFY_REQUEST 385 +# define SSL_F_DTLS_GET_REASSEMBLED_MESSAGE 370 +# define SSL_F_DTLS_PROCESS_HELLO_VERIFY 386 +# define SSL_F_DTLS_RECORD_LAYER_NEW 635 +# define SSL_F_DTLS_WAIT_FOR_DRY 592 +# define SSL_F_EARLY_DATA_COUNT_OK 532 +# define SSL_F_FINAL_EARLY_DATA 556 +# define SSL_F_FINAL_EC_PT_FORMATS 485 +# define SSL_F_FINAL_EMS 486 +# define SSL_F_FINAL_KEY_SHARE 503 +# define SSL_F_FINAL_MAXFRAGMENTLEN 557 +# define SSL_F_FINAL_RENEGOTIATE 483 +# define SSL_F_FINAL_SERVER_NAME 558 +# define SSL_F_FINAL_SIG_ALGS 497 +# define SSL_F_GET_CERT_VERIFY_TBS_DATA 588 +# define SSL_F_NSS_KEYLOG_INT 500 +# define SSL_F_OPENSSL_INIT_SSL 342 +# define SSL_F_OSSL_STATEM_CLIENT13_READ_TRANSITION 436 +# define SSL_F_OSSL_STATEM_CLIENT13_WRITE_TRANSITION 598 +# define SSL_F_OSSL_STATEM_CLIENT_CONSTRUCT_MESSAGE 430 +# define SSL_F_OSSL_STATEM_CLIENT_POST_PROCESS_MESSAGE 593 +# define SSL_F_OSSL_STATEM_CLIENT_PROCESS_MESSAGE 594 +# define SSL_F_OSSL_STATEM_CLIENT_READ_TRANSITION 417 +# define SSL_F_OSSL_STATEM_CLIENT_WRITE_TRANSITION 599 +# define SSL_F_OSSL_STATEM_SERVER13_READ_TRANSITION 437 +# define SSL_F_OSSL_STATEM_SERVER13_WRITE_TRANSITION 600 +# define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 431 +# define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 601 +# define SSL_F_OSSL_STATEM_SERVER_POST_WORK 602 +# define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 603 +# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418 +# define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 604 +# define SSL_F_PARSE_CA_NAMES 541 +# define SSL_F_PITEM_NEW 624 +# define SSL_F_PQUEUE_NEW 625 +# define SSL_F_PROCESS_KEY_SHARE_EXT 439 +# define SSL_F_READ_STATE_MACHINE 352 +# define SSL_F_SET_CLIENT_CIPHERSUITE 540 +# define SSL_F_SRP_GENERATE_CLIENT_MASTER_SECRET 595 +# define SSL_F_SRP_GENERATE_SERVER_MASTER_SECRET 589 +# define SSL_F_SRP_VERIFY_SERVER_PARAM 596 +# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 +# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 +# define SSL_F_SSL3_CTRL 213 +# define SSL_F_SSL3_CTX_CTRL 133 +# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 +# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 +# define SSL_F_SSL3_ENC 608 +# define SSL_F_SSL3_FINAL_FINISH_MAC 285 +# define SSL_F_SSL3_FINISH_MAC 587 +# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 +# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388 +# define SSL_F_SSL3_GET_RECORD 143 +# define SSL_F_SSL3_INIT_FINISHED_MAC 397 +# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 +# define SSL_F_SSL3_READ_BYTES 148 +# define SSL_F_SSL3_READ_N 149 +# define SSL_F_SSL3_SETUP_KEY_BLOCK 157 +# define SSL_F_SSL3_SETUP_READ_BUFFER 156 +# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 +# define SSL_F_SSL3_WRITE_BYTES 158 +# define SSL_F_SSL3_WRITE_PENDING 159 +# define SSL_F_SSL_ADD_CERT_CHAIN 316 +# define SSL_F_SSL_ADD_CERT_TO_BUF 319 +# define SSL_F_SSL_ADD_CERT_TO_WPACKET 493 +# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 +# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 +# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 +# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 +# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 +# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 +# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 +# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 +# define SSL_F_SSL_BAD_METHOD 160 +# define SSL_F_SSL_BUILD_CERT_CHAIN 332 +# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 +# define SSL_F_SSL_CACHE_CIPHERLIST 520 +# define SSL_F_SSL_CERT_ADD0_CHAIN_CERT 346 +# define SSL_F_SSL_CERT_DUP 221 +# define SSL_F_SSL_CERT_NEW 162 +# define SSL_F_SSL_CERT_SET0_CHAIN 340 +# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 +# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 +# define SSL_F_SSL_CHECK_SRP_EXT_CLIENTHELLO 606 +# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 +# define SSL_F_SSL_CHOOSE_CLIENT_VERSION 607 +# define SSL_F_SSL_CIPHER_DESCRIPTION 626 +# define SSL_F_SSL_CIPHER_LIST_TO_BYTES 425 +# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 +# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 +# define SSL_F_SSL_CLEAR 164 +# define SSL_F_SSL_CLIENT_HELLO_GET1_EXTENSIONS_PRESENT 627 +# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 +# define SSL_F_SSL_CONF_CMD 334 +# define SSL_F_SSL_CREATE_CIPHER_LIST 166 +# define SSL_F_SSL_CTRL 232 +# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 +# define SSL_F_SSL_CTX_ENABLE_CT 398 +# define SSL_F_SSL_CTX_MAKE_PROFILES 309 +# define SSL_F_SSL_CTX_NEW 169 +# define SSL_F_SSL_CTX_SET_ALPN_PROTOS 343 +# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 +# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 +# define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK 396 +# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 +# define SSL_F_SSL_CTX_SET_SSL_VERSION 170 +# define SSL_F_SSL_CTX_SET_TLSEXT_MAX_FRAGMENT_LENGTH 551 +# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 +# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 +# define SSL_F_SSL_CTX_USE_SERVERINFO 336 +# define SSL_F_SSL_CTX_USE_SERVERINFO_EX 543 +# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337 +# define SSL_F_SSL_DANE_DUP 403 +# define SSL_F_SSL_DANE_ENABLE 395 +# define SSL_F_SSL_DERIVE 590 +# define SSL_F_SSL_DO_CONFIG 391 +# define SSL_F_SSL_DO_HANDSHAKE 180 +# define SSL_F_SSL_DUP_CA_LIST 408 +# define SSL_F_SSL_ENABLE_CT 402 +# define SSL_F_SSL_GENERATE_PKEY_GROUP 559 +# define SSL_F_SSL_GENERATE_SESSION_ID 547 +# define SSL_F_SSL_GET_NEW_SESSION 181 +# define SSL_F_SSL_GET_PREV_SESSION 217 +# define SSL_F_SSL_GET_SERVER_CERT_INDEX 322 +# define SSL_F_SSL_GET_SIGN_PKEY 183 +# define SSL_F_SSL_HANDSHAKE_HASH 560 +# define SSL_F_SSL_INIT_WBIO_BUFFER 184 +# define SSL_F_SSL_KEY_UPDATE 515 +# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +# define SSL_F_SSL_LOG_MASTER_SECRET 498 +# define SSL_F_SSL_LOG_RSA_CLIENT_KEY_EXCHANGE 499 +# define SSL_F_SSL_MODULE_INIT 392 +# define SSL_F_SSL_NEW 186 +# define SSL_F_SSL_NEXT_PROTO_VALIDATE 565 +# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 +# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 +# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 +# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 +# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 +# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 +# define SSL_F_SSL_PEEK 270 +# define SSL_F_SSL_PEEK_EX 432 +# define SSL_F_SSL_PEEK_INTERNAL 522 +# define SSL_F_SSL_READ 223 +# define SSL_F_SSL_READ_EARLY_DATA 529 +# define SSL_F_SSL_READ_EX 434 +# define SSL_F_SSL_READ_INTERNAL 523 +# define SSL_F_SSL_RENEGOTIATE 516 +# define SSL_F_SSL_RENEGOTIATE_ABBREVIATED 546 +# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320 +# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 +# define SSL_F_SSL_SESSION_DUP 348 +# define SSL_F_SSL_SESSION_NEW 189 +# define SSL_F_SSL_SESSION_PRINT_FP 190 +# define SSL_F_SSL_SESSION_SET1_ID 423 +# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 +# define SSL_F_SSL_SET_ALPN_PROTOS 344 +# define SSL_F_SSL_SET_CERT 191 +# define SSL_F_SSL_SET_CERT_AND_KEY 621 +# define SSL_F_SSL_SET_CIPHER_LIST 271 +# define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK 399 +# define SSL_F_SSL_SET_FD 192 +# define SSL_F_SSL_SET_PKEY 193 +# define SSL_F_SSL_SET_RFD 194 +# define SSL_F_SSL_SET_SESSION 195 +# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 +# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 +# define SSL_F_SSL_SET_TLSEXT_MAX_FRAGMENT_LENGTH 550 +# define SSL_F_SSL_SET_WFD 196 +# define SSL_F_SSL_SHUTDOWN 224 +# define SSL_F_SSL_SRP_CTX_INIT 313 +# define SSL_F_SSL_START_ASYNC_JOB 389 +# define SSL_F_SSL_UNDEFINED_FUNCTION 197 +# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 +# define SSL_F_SSL_USE_CERTIFICATE 198 +# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 +# define SSL_F_SSL_USE_CERTIFICATE_FILE 200 +# define SSL_F_SSL_USE_PRIVATEKEY 201 +# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 +# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 +# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 +# define SSL_F_SSL_USE_RSAPRIVATEKEY 204 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 +# define SSL_F_SSL_VALIDATE_CT 400 +# define SSL_F_SSL_VERIFY_CERT_CHAIN 207 +# define SSL_F_SSL_VERIFY_CLIENT_POST_HANDSHAKE 616 +# define SSL_F_SSL_WRITE 208 +# define SSL_F_SSL_WRITE_EARLY_DATA 526 +# define SSL_F_SSL_WRITE_EARLY_FINISH 527 +# define SSL_F_SSL_WRITE_EX 433 +# define SSL_F_SSL_WRITE_INTERNAL 524 +# define SSL_F_STATE_MACHINE 353 +# define SSL_F_TLS12_CHECK_PEER_SIGALG 333 +# define SSL_F_TLS12_COPY_SIGALGS 533 +# define SSL_F_TLS13_CHANGE_CIPHER_STATE 440 +# define SSL_F_TLS13_ENC 609 +# define SSL_F_TLS13_FINAL_FINISH_MAC 605 +# define SSL_F_TLS13_GENERATE_SECRET 591 +# define SSL_F_TLS13_HKDF_EXPAND 561 +# define SSL_F_TLS13_RESTORE_HANDSHAKE_DIGEST_FOR_PHA 617 +# define SSL_F_TLS13_SAVE_HANDSHAKE_DIGEST_FOR_PHA 618 +# define SSL_F_TLS13_SETUP_KEY_BLOCK 441 +# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 +# define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS 341 +# define SSL_F_TLS1_ENC 401 +# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 +# define SSL_F_TLS1_GET_CURVELIST 338 +# define SSL_F_TLS1_PRF 284 +# define SSL_F_TLS1_SAVE_U16 628 +# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 +# define SSL_F_TLS1_SET_GROUPS 629 +# define SSL_F_TLS1_SET_RAW_SIGALGS 630 +# define SSL_F_TLS1_SET_SERVER_SIGALGS 335 +# define SSL_F_TLS1_SET_SHARED_SIGALGS 631 +# define SSL_F_TLS1_SET_SIGALGS 632 +# define SSL_F_TLS_CHOOSE_SIGALG 513 +# define SSL_F_TLS_CLIENT_KEY_EXCHANGE_POST_WORK 354 +# define SSL_F_TLS_COLLECT_EXTENSIONS 435 +# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_AUTHORITIES 542 +# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_REQUEST 372 +# define SSL_F_TLS_CONSTRUCT_CERT_STATUS 429 +# define SSL_F_TLS_CONSTRUCT_CERT_STATUS_BODY 494 +# define SSL_F_TLS_CONSTRUCT_CERT_VERIFY 496 +# define SSL_F_TLS_CONSTRUCT_CHANGE_CIPHER_SPEC 427 +# define SSL_F_TLS_CONSTRUCT_CKE_DHE 404 +# define SSL_F_TLS_CONSTRUCT_CKE_ECDHE 405 +# define SSL_F_TLS_CONSTRUCT_CKE_GOST 406 +# define SSL_F_TLS_CONSTRUCT_CKE_PSK_PREAMBLE 407 +# define SSL_F_TLS_CONSTRUCT_CKE_RSA 409 +# define SSL_F_TLS_CONSTRUCT_CKE_SRP 410 +# define SSL_F_TLS_CONSTRUCT_CLIENT_CERTIFICATE 484 +# define SSL_F_TLS_CONSTRUCT_CLIENT_HELLO 487 +# define SSL_F_TLS_CONSTRUCT_CLIENT_KEY_EXCHANGE 488 +# define SSL_F_TLS_CONSTRUCT_CLIENT_VERIFY 489 +# define SSL_F_TLS_CONSTRUCT_CTOS_ALPN 466 +# define SSL_F_TLS_CONSTRUCT_CTOS_CERTIFICATE 355 +# define SSL_F_TLS_CONSTRUCT_CTOS_COOKIE 535 +# define SSL_F_TLS_CONSTRUCT_CTOS_EARLY_DATA 530 +# define SSL_F_TLS_CONSTRUCT_CTOS_EC_PT_FORMATS 467 +# define SSL_F_TLS_CONSTRUCT_CTOS_EMS 468 +# define SSL_F_TLS_CONSTRUCT_CTOS_ETM 469 +# define SSL_F_TLS_CONSTRUCT_CTOS_HELLO 356 +# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_EXCHANGE 357 +# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_SHARE 470 +# define SSL_F_TLS_CONSTRUCT_CTOS_MAXFRAGMENTLEN 549 +# define SSL_F_TLS_CONSTRUCT_CTOS_NPN 471 +# define SSL_F_TLS_CONSTRUCT_CTOS_PADDING 472 +# define SSL_F_TLS_CONSTRUCT_CTOS_POST_HANDSHAKE_AUTH 619 +# define SSL_F_TLS_CONSTRUCT_CTOS_PSK 501 +# define SSL_F_TLS_CONSTRUCT_CTOS_PSK_KEX_MODES 509 +# define SSL_F_TLS_CONSTRUCT_CTOS_RENEGOTIATE 473 +# define SSL_F_TLS_CONSTRUCT_CTOS_SCT 474 +# define SSL_F_TLS_CONSTRUCT_CTOS_SERVER_NAME 475 +# define SSL_F_TLS_CONSTRUCT_CTOS_SESSION_TICKET 476 +# define SSL_F_TLS_CONSTRUCT_CTOS_SIG_ALGS 477 +# define SSL_F_TLS_CONSTRUCT_CTOS_SRP 478 +# define SSL_F_TLS_CONSTRUCT_CTOS_STATUS_REQUEST 479 +# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS 480 +# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_VERSIONS 481 +# define SSL_F_TLS_CONSTRUCT_CTOS_USE_SRTP 482 +# define SSL_F_TLS_CONSTRUCT_CTOS_VERIFY 358 +# define SSL_F_TLS_CONSTRUCT_ENCRYPTED_EXTENSIONS 443 +# define SSL_F_TLS_CONSTRUCT_END_OF_EARLY_DATA 536 +# define SSL_F_TLS_CONSTRUCT_EXTENSIONS 447 +# define SSL_F_TLS_CONSTRUCT_FINISHED 359 +# define SSL_F_TLS_CONSTRUCT_HELLO_REQUEST 373 +# define SSL_F_TLS_CONSTRUCT_HELLO_RETRY_REQUEST 510 +# define SSL_F_TLS_CONSTRUCT_KEY_UPDATE 517 +# define SSL_F_TLS_CONSTRUCT_NEW_SESSION_TICKET 428 +# define SSL_F_TLS_CONSTRUCT_NEXT_PROTO 426 +# define SSL_F_TLS_CONSTRUCT_SERVER_CERTIFICATE 490 +# define SSL_F_TLS_CONSTRUCT_SERVER_HELLO 491 +# define SSL_F_TLS_CONSTRUCT_SERVER_KEY_EXCHANGE 492 +# define SSL_F_TLS_CONSTRUCT_STOC_ALPN 451 +# define SSL_F_TLS_CONSTRUCT_STOC_CERTIFICATE 374 +# define SSL_F_TLS_CONSTRUCT_STOC_COOKIE 613 +# define SSL_F_TLS_CONSTRUCT_STOC_CRYPTOPRO_BUG 452 +# define SSL_F_TLS_CONSTRUCT_STOC_DONE 375 +# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA 531 +# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA_INFO 525 +# define SSL_F_TLS_CONSTRUCT_STOC_EC_PT_FORMATS 453 +# define SSL_F_TLS_CONSTRUCT_STOC_EMS 454 +# define SSL_F_TLS_CONSTRUCT_STOC_ETM 455 +# define SSL_F_TLS_CONSTRUCT_STOC_HELLO 376 +# define SSL_F_TLS_CONSTRUCT_STOC_KEY_EXCHANGE 377 +# define SSL_F_TLS_CONSTRUCT_STOC_KEY_SHARE 456 +# define SSL_F_TLS_CONSTRUCT_STOC_MAXFRAGMENTLEN 548 +# define SSL_F_TLS_CONSTRUCT_STOC_NEXT_PROTO_NEG 457 +# define SSL_F_TLS_CONSTRUCT_STOC_PSK 504 +# define SSL_F_TLS_CONSTRUCT_STOC_RENEGOTIATE 458 +# define SSL_F_TLS_CONSTRUCT_STOC_SERVER_NAME 459 +# define SSL_F_TLS_CONSTRUCT_STOC_SESSION_TICKET 460 +# define SSL_F_TLS_CONSTRUCT_STOC_STATUS_REQUEST 461 +# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_GROUPS 544 +# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_VERSIONS 611 +# define SSL_F_TLS_CONSTRUCT_STOC_USE_SRTP 462 +# define SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO 521 +# define SSL_F_TLS_FINISH_HANDSHAKE 597 +# define SSL_F_TLS_GET_MESSAGE_BODY 351 +# define SSL_F_TLS_GET_MESSAGE_HEADER 387 +# define SSL_F_TLS_HANDLE_ALPN 562 +# define SSL_F_TLS_HANDLE_STATUS_REQUEST 563 +# define SSL_F_TLS_PARSE_CERTIFICATE_AUTHORITIES 566 +# define SSL_F_TLS_PARSE_CLIENTHELLO_TLSEXT 449 +# define SSL_F_TLS_PARSE_CTOS_ALPN 567 +# define SSL_F_TLS_PARSE_CTOS_COOKIE 614 +# define SSL_F_TLS_PARSE_CTOS_EARLY_DATA 568 +# define SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS 569 +# define SSL_F_TLS_PARSE_CTOS_EMS 570 +# define SSL_F_TLS_PARSE_CTOS_KEY_SHARE 463 +# define SSL_F_TLS_PARSE_CTOS_MAXFRAGMENTLEN 571 +# define SSL_F_TLS_PARSE_CTOS_POST_HANDSHAKE_AUTH 620 +# define SSL_F_TLS_PARSE_CTOS_PSK 505 +# define SSL_F_TLS_PARSE_CTOS_PSK_KEX_MODES 572 +# define SSL_F_TLS_PARSE_CTOS_RENEGOTIATE 464 +# define SSL_F_TLS_PARSE_CTOS_SERVER_NAME 573 +# define SSL_F_TLS_PARSE_CTOS_SESSION_TICKET 574 +# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS 575 +# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS_CERT 615 +# define SSL_F_TLS_PARSE_CTOS_SRP 576 +# define SSL_F_TLS_PARSE_CTOS_STATUS_REQUEST 577 +# define SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS 578 +# define SSL_F_TLS_PARSE_CTOS_USE_SRTP 465 +# define SSL_F_TLS_PARSE_STOC_ALPN 579 +# define SSL_F_TLS_PARSE_STOC_COOKIE 534 +# define SSL_F_TLS_PARSE_STOC_EARLY_DATA 538 +# define SSL_F_TLS_PARSE_STOC_EARLY_DATA_INFO 528 +# define SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS 580 +# define SSL_F_TLS_PARSE_STOC_KEY_SHARE 445 +# define SSL_F_TLS_PARSE_STOC_MAXFRAGMENTLEN 581 +# define SSL_F_TLS_PARSE_STOC_NPN 582 +# define SSL_F_TLS_PARSE_STOC_PSK 502 +# define SSL_F_TLS_PARSE_STOC_RENEGOTIATE 448 +# define SSL_F_TLS_PARSE_STOC_SCT 564 +# define SSL_F_TLS_PARSE_STOC_SERVER_NAME 583 +# define SSL_F_TLS_PARSE_STOC_SESSION_TICKET 584 +# define SSL_F_TLS_PARSE_STOC_STATUS_REQUEST 585 +# define SSL_F_TLS_PARSE_STOC_SUPPORTED_VERSIONS 612 +# define SSL_F_TLS_PARSE_STOC_USE_SRTP 446 +# define SSL_F_TLS_POST_PROCESS_CLIENT_HELLO 378 +# define SSL_F_TLS_POST_PROCESS_CLIENT_KEY_EXCHANGE 384 +# define SSL_F_TLS_PREPARE_CLIENT_CERTIFICATE 360 +# define SSL_F_TLS_PROCESS_AS_HELLO_RETRY_REQUEST 610 +# define SSL_F_TLS_PROCESS_CERTIFICATE_REQUEST 361 +# define SSL_F_TLS_PROCESS_CERT_STATUS 362 +# define SSL_F_TLS_PROCESS_CERT_STATUS_BODY 495 +# define SSL_F_TLS_PROCESS_CERT_VERIFY 379 +# define SSL_F_TLS_PROCESS_CHANGE_CIPHER_SPEC 363 +# define SSL_F_TLS_PROCESS_CKE_DHE 411 +# define SSL_F_TLS_PROCESS_CKE_ECDHE 412 +# define SSL_F_TLS_PROCESS_CKE_GOST 413 +# define SSL_F_TLS_PROCESS_CKE_PSK_PREAMBLE 414 +# define SSL_F_TLS_PROCESS_CKE_RSA 415 +# define SSL_F_TLS_PROCESS_CKE_SRP 416 +# define SSL_F_TLS_PROCESS_CLIENT_CERTIFICATE 380 +# define SSL_F_TLS_PROCESS_CLIENT_HELLO 381 +# define SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE 382 +# define SSL_F_TLS_PROCESS_ENCRYPTED_EXTENSIONS 444 +# define SSL_F_TLS_PROCESS_END_OF_EARLY_DATA 537 +# define SSL_F_TLS_PROCESS_FINISHED 364 +# define SSL_F_TLS_PROCESS_HELLO_REQ 507 +# define SSL_F_TLS_PROCESS_HELLO_RETRY_REQUEST 511 +# define SSL_F_TLS_PROCESS_INITIAL_SERVER_FLIGHT 442 +# define SSL_F_TLS_PROCESS_KEY_EXCHANGE 365 +# define SSL_F_TLS_PROCESS_KEY_UPDATE 518 +# define SSL_F_TLS_PROCESS_NEW_SESSION_TICKET 366 +# define SSL_F_TLS_PROCESS_NEXT_PROTO 383 +# define SSL_F_TLS_PROCESS_SERVER_CERTIFICATE 367 +# define SSL_F_TLS_PROCESS_SERVER_DONE 368 +# define SSL_F_TLS_PROCESS_SERVER_HELLO 369 +# define SSL_F_TLS_PROCESS_SKE_DHE 419 +# define SSL_F_TLS_PROCESS_SKE_ECDHE 420 +# define SSL_F_TLS_PROCESS_SKE_PSK_PREAMBLE 421 +# define SSL_F_TLS_PROCESS_SKE_SRP 422 +# define SSL_F_TLS_PSK_DO_BINDER 506 +# define SSL_F_TLS_SCAN_CLIENTHELLO_TLSEXT 450 +# define SSL_F_TLS_SETUP_HANDSHAKE 508 +# define SSL_F_USE_CERTIFICATE_CHAIN_FILE 220 +# define SSL_F_WPACKET_INTERN_INIT_LEN 633 +# define SSL_F_WPACKET_START_SUB_PACKET_LEN__ 634 +# define SSL_F_WRITE_STATE_MACHINE 586 + +/* + * SSL reason codes. + */ +# define SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY 291 +# define SSL_R_APP_DATA_IN_HANDSHAKE 100 +# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 +# define SSL_R_AT_LEAST_TLS_1_0_NEEDED_IN_FIPS_MODE 143 +# define SSL_R_AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE 158 +# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 +# define SSL_R_BAD_CIPHER 186 +# define SSL_R_BAD_DATA 390 +# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 +# define SSL_R_BAD_DECOMPRESSION 107 +# define SSL_R_BAD_DH_VALUE 102 +# define SSL_R_BAD_DIGEST_LENGTH 111 +# define SSL_R_BAD_EARLY_DATA 233 +# define SSL_R_BAD_ECC_CERT 304 +# define SSL_R_BAD_ECPOINT 306 +# define SSL_R_BAD_EXTENSION 110 +# define SSL_R_BAD_HANDSHAKE_LENGTH 332 +# define SSL_R_BAD_HANDSHAKE_STATE 236 +# define SSL_R_BAD_HELLO_REQUEST 105 +# define SSL_R_BAD_HRR_VERSION 263 +# define SSL_R_BAD_KEY_SHARE 108 +# define SSL_R_BAD_KEY_UPDATE 122 +# define SSL_R_BAD_LEGACY_VERSION 292 +# define SSL_R_BAD_LENGTH 271 +# define SSL_R_BAD_PACKET 240 +# define SSL_R_BAD_PACKET_LENGTH 115 +# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 +# define SSL_R_BAD_PSK 219 +# define SSL_R_BAD_PSK_IDENTITY 114 +# define SSL_R_BAD_RECORD_TYPE 443 +# define SSL_R_BAD_RSA_ENCRYPT 119 +# define SSL_R_BAD_SIGNATURE 123 +# define SSL_R_BAD_SRP_A_LENGTH 347 +# define SSL_R_BAD_SRP_PARAMETERS 371 +# define SSL_R_BAD_SRTP_MKI_VALUE 352 +# define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353 +# define SSL_R_BAD_SSL_FILETYPE 124 +# define SSL_R_BAD_VALUE 384 +# define SSL_R_BAD_WRITE_RETRY 127 +# define SSL_R_BINDER_DOES_NOT_VERIFY 253 +# define SSL_R_BIO_NOT_SET 128 +# define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129 +# define SSL_R_BN_LIB 130 +# define SSL_R_CALLBACK_FAILED 234 +# define SSL_R_CANNOT_CHANGE_CIPHER 109 +# define SSL_R_CA_DN_LENGTH_MISMATCH 131 +# define SSL_R_CA_KEY_TOO_SMALL 397 +# define SSL_R_CA_MD_TOO_WEAK 398 +# define SSL_R_CCS_RECEIVED_EARLY 133 +# define SSL_R_CERTIFICATE_VERIFY_FAILED 134 +# define SSL_R_CERT_CB_ERROR 377 +# define SSL_R_CERT_LENGTH_MISMATCH 135 +# define SSL_R_CIPHERSUITE_DIGEST_HAS_CHANGED 218 +# define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 +# define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 +# define SSL_R_CLIENTHELLO_TLSEXT 226 +# define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140 +# define SSL_R_COMPRESSION_DISABLED 343 +# define SSL_R_COMPRESSION_FAILURE 141 +# define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307 +# define SSL_R_COMPRESSION_LIBRARY_ERROR 142 +# define SSL_R_CONNECTION_TYPE_NOT_SET 144 +# define SSL_R_CONTEXT_NOT_DANE_ENABLED 167 +# define SSL_R_COOKIE_GEN_CALLBACK_FAILURE 400 +# define SSL_R_COOKIE_MISMATCH 308 +# define SSL_R_CUSTOM_EXT_HANDLER_ALREADY_INSTALLED 206 +# define SSL_R_DANE_ALREADY_ENABLED 172 +# define SSL_R_DANE_CANNOT_OVERRIDE_MTYPE_FULL 173 +# define SSL_R_DANE_NOT_ENABLED 175 +# define SSL_R_DANE_TLSA_BAD_CERTIFICATE 180 +# define SSL_R_DANE_TLSA_BAD_CERTIFICATE_USAGE 184 +# define SSL_R_DANE_TLSA_BAD_DATA_LENGTH 189 +# define SSL_R_DANE_TLSA_BAD_DIGEST_LENGTH 192 +# define SSL_R_DANE_TLSA_BAD_MATCHING_TYPE 200 +# define SSL_R_DANE_TLSA_BAD_PUBLIC_KEY 201 +# define SSL_R_DANE_TLSA_BAD_SELECTOR 202 +# define SSL_R_DANE_TLSA_NULL_DATA 203 +# define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145 +# define SSL_R_DATA_LENGTH_TOO_LONG 146 +# define SSL_R_DECRYPTION_FAILED 147 +# define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281 +# define SSL_R_DH_KEY_TOO_SMALL 394 +# define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148 +# define SSL_R_DIGEST_CHECK_FAILED 149 +# define SSL_R_DTLS_MESSAGE_TOO_BIG 334 +# define SSL_R_DUPLICATE_COMPRESSION_ID 309 +# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 +# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE 374 +# define SSL_R_EE_KEY_TOO_SMALL 399 +# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 +# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 +# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 +# define SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN 204 +# define SSL_R_EXCEEDS_MAX_FRAGMENT_SIZE 194 +# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 +# define SSL_R_EXTENSION_NOT_RECEIVED 279 +# define SSL_R_EXTRA_DATA_IN_MESSAGE 153 +# define SSL_R_EXT_LENGTH_MISMATCH 163 +# define SSL_R_FAILED_TO_INIT_ASYNC 405 +# define SSL_R_FRAGMENTED_CLIENT_HELLO 401 +# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 +# define SSL_R_HTTPS_PROXY_REQUEST 155 +# define SSL_R_HTTP_REQUEST 156 +# define SSL_R_ILLEGAL_POINT_COMPRESSION 162 +# define SSL_R_ILLEGAL_SUITEB_DIGEST 380 +# define SSL_R_INAPPROPRIATE_FALLBACK 373 +# define SSL_R_INCONSISTENT_COMPRESSION 340 +# define SSL_R_INCONSISTENT_EARLY_DATA_ALPN 222 +# define SSL_R_INCONSISTENT_EARLY_DATA_SNI 231 +# define SSL_R_INCONSISTENT_EXTMS 104 +# define SSL_R_INSUFFICIENT_SECURITY 241 +# define SSL_R_INVALID_ALERT 205 +# define SSL_R_INVALID_CCS_MESSAGE 260 +# define SSL_R_INVALID_CERTIFICATE_OR_ALG 238 +# define SSL_R_INVALID_COMMAND 280 +# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 +# define SSL_R_INVALID_CONFIG 283 +# define SSL_R_INVALID_CONFIGURATION_NAME 113 +# define SSL_R_INVALID_CONTEXT 282 +# define SSL_R_INVALID_CT_VALIDATION_TYPE 212 +# define SSL_R_INVALID_KEY_UPDATE_TYPE 120 +# define SSL_R_INVALID_MAX_EARLY_DATA 174 +# define SSL_R_INVALID_NULL_CMD_NAME 385 +# define SSL_R_INVALID_SEQUENCE_NUMBER 402 +# define SSL_R_INVALID_SERVERINFO_DATA 388 +# define SSL_R_INVALID_SESSION_ID 999 +# define SSL_R_INVALID_SRP_USERNAME 357 +# define SSL_R_INVALID_STATUS_RESPONSE 328 +# define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 +# define SSL_R_LENGTH_MISMATCH 159 +# define SSL_R_LENGTH_TOO_LONG 404 +# define SSL_R_LENGTH_TOO_SHORT 160 +# define SSL_R_LIBRARY_BUG 274 +# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 +# define SSL_R_MISSING_DSA_SIGNING_CERT 165 +# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381 +# define SSL_R_MISSING_FATAL 256 +# define SSL_R_MISSING_PARAMETERS 290 +# define SSL_R_MISSING_RSA_CERTIFICATE 168 +# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 +# define SSL_R_MISSING_RSA_SIGNING_CERT 170 +# define SSL_R_MISSING_SIGALGS_EXTENSION 112 +# define SSL_R_MISSING_SIGNING_CERT 221 +# define SSL_R_MISSING_SRP_PARAM 358 +# define SSL_R_MISSING_SUPPORTED_GROUPS_EXTENSION 209 +# define SSL_R_MISSING_TMP_DH_KEY 171 +# define SSL_R_MISSING_TMP_ECDH_KEY 311 +# define SSL_R_NOT_ON_RECORD_BOUNDARY 182 +# define SSL_R_NOT_REPLACING_CERTIFICATE 289 +# define SSL_R_NOT_SERVER 284 +# define SSL_R_NO_APPLICATION_PROTOCOL 235 +# define SSL_R_NO_CERTIFICATES_RETURNED 176 +# define SSL_R_NO_CERTIFICATE_ASSIGNED 177 +# define SSL_R_NO_CERTIFICATE_SET 179 +# define SSL_R_NO_CHANGE_FOLLOWING_HRR 214 +# define SSL_R_NO_CIPHERS_AVAILABLE 181 +# define SSL_R_NO_CIPHERS_SPECIFIED 183 +# define SSL_R_NO_CIPHER_MATCH 185 +# define SSL_R_NO_CLIENT_CERT_METHOD 331 +# define SSL_R_NO_COMPRESSION_SPECIFIED 187 +# define SSL_R_NO_COOKIE_CALLBACK_SET 287 +# define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330 +# define SSL_R_NO_METHOD_SPECIFIED 188 +# define SSL_R_NO_PEM_EXTENSIONS 389 +# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 +# define SSL_R_NO_PROTOCOLS_AVAILABLE 191 +# define SSL_R_NO_RENEGOTIATION 339 +# define SSL_R_NO_REQUIRED_DIGEST 324 +# define SSL_R_NO_SHARED_CIPHER 193 +# define SSL_R_NO_SHARED_GROUPS 410 +# define SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS 376 +# define SSL_R_NO_SRTP_PROFILES 359 +# define SSL_R_NO_SUITABLE_KEY_SHARE 101 +# define SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM 118 +# define SSL_R_NO_VALID_SCTS 216 +# define SSL_R_NO_VERIFY_COOKIE_CALLBACK 403 +# define SSL_R_NULL_SSL_CTX 195 +# define SSL_R_NULL_SSL_METHOD_PASSED 196 +# define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 +# define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 +# define SSL_R_OVERFLOW_ERROR 237 +# define SSL_R_PACKET_LENGTH_TOO_LONG 198 +# define SSL_R_PARSE_TLSEXT 227 +# define SSL_R_PATH_TOO_LONG 270 +# define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199 +# define SSL_R_PEM_NAME_BAD_PREFIX 391 +# define SSL_R_PEM_NAME_TOO_SHORT 392 +# define SSL_R_PIPELINE_FAILURE 406 +# define SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR 278 +# define SSL_R_PRIVATE_KEY_MISMATCH 288 +# define SSL_R_PROTOCOL_IS_SHUTDOWN 207 +# define SSL_R_PSK_IDENTITY_NOT_FOUND 223 +# define SSL_R_PSK_NO_CLIENT_CB 224 +# define SSL_R_PSK_NO_SERVER_CB 225 +# define SSL_R_READ_BIO_NOT_SET 211 +# define SSL_R_READ_TIMEOUT_EXPIRED 312 +# define SSL_R_RECORD_LENGTH_MISMATCH 213 +# define SSL_R_RECORD_TOO_SMALL 298 +# define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 +# define SSL_R_RENEGOTIATION_ENCODING_ERR 336 +# define SSL_R_RENEGOTIATION_MISMATCH 337 +# define SSL_R_REQUEST_PENDING 285 +# define SSL_R_REQUEST_SENT 286 +# define SSL_R_REQUIRED_CIPHER_MISSING 215 +# define SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING 342 +# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 +# define SSL_R_SCT_VERIFICATION_FAILED 208 +# define SSL_R_SERVERHELLO_TLSEXT 275 +# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 +# define SSL_R_SHUTDOWN_WHILE_IN_INIT 407 +# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 +# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 +# define SSL_R_SRP_A_CALC 361 +# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 +# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 +# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 +# define SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH 232 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 +# define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 +# define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 +# define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 +# define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 +# define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 +# define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 +# define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 +# define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 +# define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 +# define SSL_R_SSL_COMMAND_SECTION_EMPTY 117 +# define SSL_R_SSL_COMMAND_SECTION_NOT_FOUND 125 +# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 +# define SSL_R_SSL_HANDSHAKE_FAILURE 229 +# define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 +# define SSL_R_SSL_NEGATIVE_LENGTH 372 +# define SSL_R_SSL_SECTION_EMPTY 126 +# define SSL_R_SSL_SECTION_NOT_FOUND 136 +# define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 +# define SSL_R_SSL_SESSION_ID_CONFLICT 302 +# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 +# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 +# define SSL_R_SSL_SESSION_ID_TOO_LONG 408 +# define SSL_R_SSL_SESSION_VERSION_MISMATCH 210 +# define SSL_R_STILL_IN_INIT 121 +# define SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED 1116 +# define SSL_R_TLSV13_ALERT_MISSING_EXTENSION 1109 +# define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049 +# define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050 +# define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021 +# define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051 +# define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060 +# define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086 +# define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071 +# define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080 +# define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100 +# define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070 +# define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 +# define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 +# define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 +# define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114 +# define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113 +# define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 +# define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 +# define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 +# define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 +# define SSL_R_TLS_HEARTBEAT_PENDING 366 +# define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 +# define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 +# define SSL_R_TOO_MANY_KEY_UPDATES 132 +# define SSL_R_TOO_MANY_WARN_ALERTS 409 +# define SSL_R_TOO_MUCH_EARLY_DATA 164 +# define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 +# define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 +# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 +# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 +# define SSL_R_UNEXPECTED_CCS_MESSAGE 262 +# define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178 +# define SSL_R_UNEXPECTED_MESSAGE 244 +# define SSL_R_UNEXPECTED_RECORD 245 +# define SSL_R_UNINITIALIZED 276 +# define SSL_R_UNKNOWN_ALERT_TYPE 246 +# define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247 +# define SSL_R_UNKNOWN_CIPHER_RETURNED 248 +# define SSL_R_UNKNOWN_CIPHER_TYPE 249 +# define SSL_R_UNKNOWN_CMD_NAME 386 +# define SSL_R_UNKNOWN_COMMAND 139 +# define SSL_R_UNKNOWN_DIGEST 368 +# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250 +# define SSL_R_UNKNOWN_PKEY_TYPE 251 +# define SSL_R_UNKNOWN_PROTOCOL 252 +# define SSL_R_UNKNOWN_SSL_VERSION 254 +# define SSL_R_UNKNOWN_STATE 255 +# define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 +# define SSL_R_UNSOLICITED_EXTENSION 217 +# define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 +# define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315 +# define SSL_R_UNSUPPORTED_PROTOCOL 258 +# define SSL_R_UNSUPPORTED_SSL_VERSION 259 +# define SSL_R_UNSUPPORTED_STATUS_TYPE 329 +# define SSL_R_USE_SRTP_NOT_NEGOTIATED 369 +# define SSL_R_VERSION_TOO_HIGH 166 +# define SSL_R_VERSION_TOO_LOW 396 +# define SSL_R_WRONG_CERTIFICATE_TYPE 383 +# define SSL_R_WRONG_CIPHER_RETURNED 261 +# define SSL_R_WRONG_CURVE 378 +# define SSL_R_WRONG_SIGNATURE_LENGTH 264 +# define SSL_R_WRONG_SIGNATURE_SIZE 265 +# define SSL_R_WRONG_SIGNATURE_TYPE 370 +# define SSL_R_WRONG_SSL_VERSION 266 +# define SSL_R_WRONG_VERSION_NUMBER 267 +# define SSL_R_X509_LIB 268 +# define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269 + +#endif diff --git a/openssl/1.1/include/openssl/stack.h b/openssl/1.1/include/openssl/stack.h new file mode 100644 index 0000000..cfc0750 --- /dev/null +++ b/openssl/1.1/include/openssl/stack.h @@ -0,0 +1,83 @@ +/* + * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_STACK_H +# define HEADER_STACK_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct stack_st OPENSSL_STACK; /* Use STACK_OF(...) instead */ + +typedef int (*OPENSSL_sk_compfunc)(const void *, const void *); +typedef void (*OPENSSL_sk_freefunc)(void *); +typedef void *(*OPENSSL_sk_copyfunc)(const void *); + +int OPENSSL_sk_num(const OPENSSL_STACK *); +void *OPENSSL_sk_value(const OPENSSL_STACK *, int); + +void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data); + +OPENSSL_STACK *OPENSSL_sk_new(OPENSSL_sk_compfunc cmp); +OPENSSL_STACK *OPENSSL_sk_new_null(void); +OPENSSL_STACK *OPENSSL_sk_new_reserve(OPENSSL_sk_compfunc c, int n); +int OPENSSL_sk_reserve(OPENSSL_STACK *st, int n); +void OPENSSL_sk_free(OPENSSL_STACK *); +void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void (*func) (void *)); +OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *, + OPENSSL_sk_copyfunc c, + OPENSSL_sk_freefunc f); +int OPENSSL_sk_insert(OPENSSL_STACK *sk, const void *data, int where); +void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc); +void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p); +int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data); +int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data); +int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data); +int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data); +void *OPENSSL_sk_shift(OPENSSL_STACK *st); +void *OPENSSL_sk_pop(OPENSSL_STACK *st); +void OPENSSL_sk_zero(OPENSSL_STACK *st); +OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk, + OPENSSL_sk_compfunc cmp); +OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *st); +void OPENSSL_sk_sort(OPENSSL_STACK *st); +int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define _STACK OPENSSL_STACK +# define sk_num OPENSSL_sk_num +# define sk_value OPENSSL_sk_value +# define sk_set OPENSSL_sk_set +# define sk_new OPENSSL_sk_new +# define sk_new_null OPENSSL_sk_new_null +# define sk_free OPENSSL_sk_free +# define sk_pop_free OPENSSL_sk_pop_free +# define sk_deep_copy OPENSSL_sk_deep_copy +# define sk_insert OPENSSL_sk_insert +# define sk_delete OPENSSL_sk_delete +# define sk_delete_ptr OPENSSL_sk_delete_ptr +# define sk_find OPENSSL_sk_find +# define sk_find_ex OPENSSL_sk_find_ex +# define sk_push OPENSSL_sk_push +# define sk_unshift OPENSSL_sk_unshift +# define sk_shift OPENSSL_sk_shift +# define sk_pop OPENSSL_sk_pop +# define sk_zero OPENSSL_sk_zero +# define sk_set_cmp_func OPENSSL_sk_set_cmp_func +# define sk_dup OPENSSL_sk_dup +# define sk_sort OPENSSL_sk_sort +# define sk_is_sorted OPENSSL_sk_is_sorted +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/store.h b/openssl/1.1/include/openssl/store.h new file mode 100644 index 0000000..7b43e8b --- /dev/null +++ b/openssl/1.1/include/openssl/store.h @@ -0,0 +1,266 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OSSL_STORE_H +# define HEADER_OSSL_STORE_H + +# include +# include +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +/*- + * The main OSSL_STORE functions. + * ------------------------------ + * + * These allow applications to open a channel to a resource with supported + * data (keys, certs, crls, ...), read the data a piece at a time and decide + * what to do with it, and finally close. + */ + +typedef struct ossl_store_ctx_st OSSL_STORE_CTX; + +/* + * Typedef for the OSSL_STORE_INFO post processing callback. This can be used + * to massage the given OSSL_STORE_INFO, or to drop it entirely (by returning + * NULL). + */ +typedef OSSL_STORE_INFO *(*OSSL_STORE_post_process_info_fn)(OSSL_STORE_INFO *, + void *); + +/* + * Open a channel given a URI. The given UI method will be used any time the + * loader needs extra input, for example when a password or pin is needed, and + * will be passed the same user data every time it's needed in this context. + * + * Returns a context reference which represents the channel to communicate + * through. + */ +OSSL_STORE_CTX *OSSL_STORE_open(const char *uri, const UI_METHOD *ui_method, + void *ui_data, + OSSL_STORE_post_process_info_fn post_process, + void *post_process_data); + +/* + * Control / fine tune the OSSL_STORE channel. |cmd| determines what is to be + * done, and depends on the underlying loader (use OSSL_STORE_get0_scheme to + * determine which loader is used), except for common commands (see below). + * Each command takes different arguments. + */ +int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ... /* args */); +int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args); + +/* + * Common ctrl commands that different loaders may choose to support. + */ +/* int on = 0 or 1; STORE_ctrl(ctx, STORE_C_USE_SECMEM, &on); */ +# define OSSL_STORE_C_USE_SECMEM 1 +/* Where custom commands start */ +# define OSSL_STORE_C_CUSTOM_START 100 + +/* + * Read one data item (a key, a cert, a CRL) that is supported by the OSSL_STORE + * functionality, given a context. + * Returns a OSSL_STORE_INFO pointer, from which OpenSSL typed data can be + * extracted with OSSL_STORE_INFO_get0_PKEY(), OSSL_STORE_INFO_get0_CERT(), ... + * NULL is returned on error, which may include that the data found at the URI + * can't be figured out for certain or is ambiguous. + */ +OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx); + +/* + * Check if end of data (end of file) is reached + * Returns 1 on end, 0 otherwise. + */ +int OSSL_STORE_eof(OSSL_STORE_CTX *ctx); + +/* + * Check if an error occured + * Returns 1 if it did, 0 otherwise. + */ +int OSSL_STORE_error(OSSL_STORE_CTX *ctx); + +/* + * Close the channel + * Returns 1 on success, 0 on error. + */ +int OSSL_STORE_close(OSSL_STORE_CTX *ctx); + + +/*- + * Extracting OpenSSL types from and creating new OSSL_STORE_INFOs + * --------------------------------------------------------------- + */ + +/* + * Types of data that can be ossl_stored in a OSSL_STORE_INFO. + * OSSL_STORE_INFO_NAME is typically found when getting a listing of + * available "files" / "tokens" / what have you. + */ +# define OSSL_STORE_INFO_NAME 1 /* char * */ +# define OSSL_STORE_INFO_PARAMS 2 /* EVP_PKEY * */ +# define OSSL_STORE_INFO_PKEY 3 /* EVP_PKEY * */ +# define OSSL_STORE_INFO_CERT 4 /* X509 * */ +# define OSSL_STORE_INFO_CRL 5 /* X509_CRL * */ + +/* + * Functions to generate OSSL_STORE_INFOs, one function for each type we + * support having in them, as well as a generic constructor. + * + * In all cases, ownership of the object is transfered to the OSSL_STORE_INFO + * and will therefore be freed when the OSSL_STORE_INFO is freed. + */ +OSSL_STORE_INFO *OSSL_STORE_INFO_new_NAME(char *name); +int OSSL_STORE_INFO_set0_NAME_description(OSSL_STORE_INFO *info, char *desc); +OSSL_STORE_INFO *OSSL_STORE_INFO_new_PARAMS(EVP_PKEY *params); +OSSL_STORE_INFO *OSSL_STORE_INFO_new_PKEY(EVP_PKEY *pkey); +OSSL_STORE_INFO *OSSL_STORE_INFO_new_CERT(X509 *x509); +OSSL_STORE_INFO *OSSL_STORE_INFO_new_CRL(X509_CRL *crl); + +/* + * Functions to try to extract data from a OSSL_STORE_INFO. + */ +int OSSL_STORE_INFO_get_type(const OSSL_STORE_INFO *info); +const char *OSSL_STORE_INFO_get0_NAME(const OSSL_STORE_INFO *info); +char *OSSL_STORE_INFO_get1_NAME(const OSSL_STORE_INFO *info); +const char *OSSL_STORE_INFO_get0_NAME_description(const OSSL_STORE_INFO *info); +char *OSSL_STORE_INFO_get1_NAME_description(const OSSL_STORE_INFO *info); +EVP_PKEY *OSSL_STORE_INFO_get0_PARAMS(const OSSL_STORE_INFO *info); +EVP_PKEY *OSSL_STORE_INFO_get1_PARAMS(const OSSL_STORE_INFO *info); +EVP_PKEY *OSSL_STORE_INFO_get0_PKEY(const OSSL_STORE_INFO *info); +EVP_PKEY *OSSL_STORE_INFO_get1_PKEY(const OSSL_STORE_INFO *info); +X509 *OSSL_STORE_INFO_get0_CERT(const OSSL_STORE_INFO *info); +X509 *OSSL_STORE_INFO_get1_CERT(const OSSL_STORE_INFO *info); +X509_CRL *OSSL_STORE_INFO_get0_CRL(const OSSL_STORE_INFO *info); +X509_CRL *OSSL_STORE_INFO_get1_CRL(const OSSL_STORE_INFO *info); + +const char *OSSL_STORE_INFO_type_string(int type); + +/* + * Free the OSSL_STORE_INFO + */ +void OSSL_STORE_INFO_free(OSSL_STORE_INFO *info); + + +/*- + * Functions to construct a search URI from a base URI and search criteria + * ----------------------------------------------------------------------- + */ + +/* OSSL_STORE search types */ +# define OSSL_STORE_SEARCH_BY_NAME 1 /* subject in certs, issuer in CRLs */ +# define OSSL_STORE_SEARCH_BY_ISSUER_SERIAL 2 +# define OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 3 +# define OSSL_STORE_SEARCH_BY_ALIAS 4 + +/* To check what search types the scheme handler supports */ +int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int search_type); + +/* Search term constructors */ +/* + * The input is considered to be owned by the caller, and must therefore + * remain present throughout the lifetime of the returned OSSL_STORE_SEARCH + */ +OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_name(X509_NAME *name); +OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_issuer_serial(X509_NAME *name, + const ASN1_INTEGER + *serial); +OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_key_fingerprint(const EVP_MD *digest, + const unsigned char + *bytes, size_t len); +OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_alias(const char *alias); + +/* Search term destructor */ +void OSSL_STORE_SEARCH_free(OSSL_STORE_SEARCH *search); + +/* Search term accessors */ +int OSSL_STORE_SEARCH_get_type(const OSSL_STORE_SEARCH *criterion); +X509_NAME *OSSL_STORE_SEARCH_get0_name(OSSL_STORE_SEARCH *criterion); +const ASN1_INTEGER *OSSL_STORE_SEARCH_get0_serial(const OSSL_STORE_SEARCH + *criterion); +const unsigned char *OSSL_STORE_SEARCH_get0_bytes(const OSSL_STORE_SEARCH + *criterion, size_t *length); +const char *OSSL_STORE_SEARCH_get0_string(const OSSL_STORE_SEARCH *criterion); +const EVP_MD *OSSL_STORE_SEARCH_get0_digest(const OSSL_STORE_SEARCH *criterion); + +/* + * Add search criterion and expected return type (which can be unspecified) + * to the loading channel. This MUST happen before the first OSSL_STORE_load(). + */ +int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type); +int OSSL_STORE_find(OSSL_STORE_CTX *ctx, OSSL_STORE_SEARCH *search); + + +/*- + * Function to register a loader for the given URI scheme. + * ------------------------------------------------------- + * + * The loader receives all the main components of an URI except for the + * scheme. + */ + +typedef struct ossl_store_loader_st OSSL_STORE_LOADER; +OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme); +const ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER *loader); +const char *OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER *loader); +/* struct ossl_store_loader_ctx_st is defined differently by each loader */ +typedef struct ossl_store_loader_ctx_st OSSL_STORE_LOADER_CTX; +typedef OSSL_STORE_LOADER_CTX *(*OSSL_STORE_open_fn)(const OSSL_STORE_LOADER + *loader, + const char *uri, + const UI_METHOD *ui_method, + void *ui_data); +int OSSL_STORE_LOADER_set_open(OSSL_STORE_LOADER *loader, + OSSL_STORE_open_fn open_function); +typedef int (*OSSL_STORE_ctrl_fn)(OSSL_STORE_LOADER_CTX *ctx, int cmd, + va_list args); +int OSSL_STORE_LOADER_set_ctrl(OSSL_STORE_LOADER *loader, + OSSL_STORE_ctrl_fn ctrl_function); +typedef int (*OSSL_STORE_expect_fn)(OSSL_STORE_LOADER_CTX *ctx, int expected); +int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader, + OSSL_STORE_expect_fn expect_function); +typedef int (*OSSL_STORE_find_fn)(OSSL_STORE_LOADER_CTX *ctx, + OSSL_STORE_SEARCH *criteria); +int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader, + OSSL_STORE_find_fn find_function); +typedef OSSL_STORE_INFO *(*OSSL_STORE_load_fn)(OSSL_STORE_LOADER_CTX *ctx, + const UI_METHOD *ui_method, + void *ui_data); +int OSSL_STORE_LOADER_set_load(OSSL_STORE_LOADER *loader, + OSSL_STORE_load_fn load_function); +typedef int (*OSSL_STORE_eof_fn)(OSSL_STORE_LOADER_CTX *ctx); +int OSSL_STORE_LOADER_set_eof(OSSL_STORE_LOADER *loader, + OSSL_STORE_eof_fn eof_function); +typedef int (*OSSL_STORE_error_fn)(OSSL_STORE_LOADER_CTX *ctx); +int OSSL_STORE_LOADER_set_error(OSSL_STORE_LOADER *loader, + OSSL_STORE_error_fn error_function); +typedef int (*OSSL_STORE_close_fn)(OSSL_STORE_LOADER_CTX *ctx); +int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *loader, + OSSL_STORE_close_fn close_function); +void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *loader); + +int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader); +OSSL_STORE_LOADER *OSSL_STORE_unregister_loader(const char *scheme); + +/*- + * Functions to list STORE loaders + * ------------------------------- + */ +int OSSL_STORE_do_all_loaders(void (*do_function) (const OSSL_STORE_LOADER + *loader, void *do_arg), + void *do_arg); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/storeerr.h b/openssl/1.1/include/openssl/storeerr.h new file mode 100644 index 0000000..33d0ab7 --- /dev/null +++ b/openssl/1.1/include/openssl/storeerr.h @@ -0,0 +1,87 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OSSL_STOREERR_H +# define HEADER_OSSL_STOREERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_OSSL_STORE_strings(void); + +/* + * OSSL_STORE function codes. + */ +# define OSSL_STORE_F_FILE_CTRL 129 +# define OSSL_STORE_F_FILE_FIND 138 +# define OSSL_STORE_F_FILE_GET_PASS 118 +# define OSSL_STORE_F_FILE_LOAD 119 +# define OSSL_STORE_F_FILE_LOAD_TRY_DECODE 124 +# define OSSL_STORE_F_FILE_NAME_TO_URI 126 +# define OSSL_STORE_F_FILE_OPEN 120 +# define OSSL_STORE_F_OSSL_STORE_ATTACH_PEM_BIO 127 +# define OSSL_STORE_F_OSSL_STORE_EXPECT 130 +# define OSSL_STORE_F_OSSL_STORE_FILE_ATTACH_PEM_BIO_INT 128 +# define OSSL_STORE_F_OSSL_STORE_FIND 131 +# define OSSL_STORE_F_OSSL_STORE_GET0_LOADER_INT 100 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CERT 101 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CRL 102 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME 103 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME_DESCRIPTION 135 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PARAMS 104 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PKEY 105 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CERT 106 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CRL 107 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_EMBEDDED 123 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_NAME 109 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PARAMS 110 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PKEY 111 +# define OSSL_STORE_F_OSSL_STORE_INFO_SET0_NAME_DESCRIPTION 134 +# define OSSL_STORE_F_OSSL_STORE_INIT_ONCE 112 +# define OSSL_STORE_F_OSSL_STORE_LOADER_NEW 113 +# define OSSL_STORE_F_OSSL_STORE_OPEN 114 +# define OSSL_STORE_F_OSSL_STORE_OPEN_INT 115 +# define OSSL_STORE_F_OSSL_STORE_REGISTER_LOADER_INT 117 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ALIAS 132 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ISSUER_SERIAL 133 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 136 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_NAME 137 +# define OSSL_STORE_F_OSSL_STORE_UNREGISTER_LOADER_INT 116 +# define OSSL_STORE_F_TRY_DECODE_PARAMS 121 +# define OSSL_STORE_F_TRY_DECODE_PKCS12 122 +# define OSSL_STORE_F_TRY_DECODE_PKCS8ENCRYPTED 125 + +/* + * OSSL_STORE reason codes. + */ +# define OSSL_STORE_R_AMBIGUOUS_CONTENT_TYPE 107 +# define OSSL_STORE_R_BAD_PASSWORD_READ 115 +# define OSSL_STORE_R_ERROR_VERIFYING_PKCS12_MAC 113 +# define OSSL_STORE_R_FINGERPRINT_SIZE_DOES_NOT_MATCH_DIGEST 121 +# define OSSL_STORE_R_INVALID_SCHEME 106 +# define OSSL_STORE_R_IS_NOT_A 112 +# define OSSL_STORE_R_LOADER_INCOMPLETE 116 +# define OSSL_STORE_R_LOADING_STARTED 117 +# define OSSL_STORE_R_NOT_A_CERTIFICATE 100 +# define OSSL_STORE_R_NOT_A_CRL 101 +# define OSSL_STORE_R_NOT_A_KEY 102 +# define OSSL_STORE_R_NOT_A_NAME 103 +# define OSSL_STORE_R_NOT_PARAMETERS 104 +# define OSSL_STORE_R_PASSPHRASE_CALLBACK_ERROR 114 +# define OSSL_STORE_R_PATH_MUST_BE_ABSOLUTE 108 +# define OSSL_STORE_R_SEARCH_ONLY_SUPPORTED_FOR_DIRECTORIES 119 +# define OSSL_STORE_R_UI_PROCESS_INTERRUPTED_OR_CANCELLED 109 +# define OSSL_STORE_R_UNREGISTERED_SCHEME 105 +# define OSSL_STORE_R_UNSUPPORTED_CONTENT_TYPE 110 +# define OSSL_STORE_R_UNSUPPORTED_OPERATION 118 +# define OSSL_STORE_R_UNSUPPORTED_SEARCH_TYPE 120 +# define OSSL_STORE_R_URI_AUTHORITY_UNSUPPORTED 111 + +#endif diff --git a/openssl/1.1/include/openssl/symhacks.h b/openssl/1.1/include/openssl/symhacks.h new file mode 100644 index 0000000..caf1f1a --- /dev/null +++ b/openssl/1.1/include/openssl/symhacks.h @@ -0,0 +1,52 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SYMHACKS_H +# define HEADER_SYMHACKS_H + +# include + +/* Case insensitive linking causes problems.... */ +# if defined(OPENSSL_SYS_VMS) +# undef ERR_load_CRYPTO_strings +# define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings +# undef OCSP_crlID_new +# define OCSP_crlID_new OCSP_crlID2_new + +# undef d2i_ECPARAMETERS +# define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS +# undef i2d_ECPARAMETERS +# define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS +# undef d2i_ECPKPARAMETERS +# define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS +# undef i2d_ECPKPARAMETERS +# define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS + +/* + * These functions do not seem to exist! However, I'm paranoid... Original + * command in x509v3.h: These functions are being redefined in another + * directory, and clash when the linker is case-insensitive, so let's hide + * them a little, by giving them an extra 'o' at the beginning of the name... + */ +# undef X509v3_cleanup_extensions +# define X509v3_cleanup_extensions oX509v3_cleanup_extensions +# undef X509v3_add_extension +# define X509v3_add_extension oX509v3_add_extension +# undef X509v3_add_netscape_extensions +# define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions +# undef X509v3_add_standard_extensions +# define X509v3_add_standard_extensions oX509v3_add_standard_extensions + +/* This one clashes with CMS_data_create */ +# undef cms_Data_create +# define cms_Data_create priv_cms_Data_create + +# endif + +#endif /* ! defined HEADER_VMS_IDHACKS_H */ diff --git a/openssl/1.1/include/openssl/tls1.h b/openssl/1.1/include/openssl/tls1.h new file mode 100644 index 0000000..2e46cf8 --- /dev/null +++ b/openssl/1.1/include/openssl/tls1.h @@ -0,0 +1,1236 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * Copyright 2005 Nokia. All rights reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_TLS1_H +# define HEADER_TLS1_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Default security level if not overridden at config time */ +# ifndef OPENSSL_TLS_SECURITY_LEVEL +# define OPENSSL_TLS_SECURITY_LEVEL 1 +# endif + +# define TLS1_VERSION 0x0301 +# define TLS1_1_VERSION 0x0302 +# define TLS1_2_VERSION 0x0303 +# define TLS1_3_VERSION 0x0304 +# define TLS_MAX_VERSION TLS1_3_VERSION + +/* Special value for method supporting multiple versions */ +# define TLS_ANY_VERSION 0x10000 + +# define TLS1_VERSION_MAJOR 0x03 +# define TLS1_VERSION_MINOR 0x01 + +# define TLS1_1_VERSION_MAJOR 0x03 +# define TLS1_1_VERSION_MINOR 0x02 + +# define TLS1_2_VERSION_MAJOR 0x03 +# define TLS1_2_VERSION_MINOR 0x03 + +# define TLS1_get_version(s) \ + ((SSL_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_version(s) : 0) + +# define TLS1_get_client_version(s) \ + ((SSL_client_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_client_version(s) : 0) + +# define TLS1_AD_DECRYPTION_FAILED 21 +# define TLS1_AD_RECORD_OVERFLOW 22 +# define TLS1_AD_UNKNOWN_CA 48/* fatal */ +# define TLS1_AD_ACCESS_DENIED 49/* fatal */ +# define TLS1_AD_DECODE_ERROR 50/* fatal */ +# define TLS1_AD_DECRYPT_ERROR 51 +# define TLS1_AD_EXPORT_RESTRICTION 60/* fatal */ +# define TLS1_AD_PROTOCOL_VERSION 70/* fatal */ +# define TLS1_AD_INSUFFICIENT_SECURITY 71/* fatal */ +# define TLS1_AD_INTERNAL_ERROR 80/* fatal */ +# define TLS1_AD_INAPPROPRIATE_FALLBACK 86/* fatal */ +# define TLS1_AD_USER_CANCELLED 90 +# define TLS1_AD_NO_RENEGOTIATION 100 +/* TLSv1.3 alerts */ +# define TLS13_AD_MISSING_EXTENSION 109 /* fatal */ +# define TLS13_AD_CERTIFICATE_REQUIRED 116 /* fatal */ +/* codes 110-114 are from RFC3546 */ +# define TLS1_AD_UNSUPPORTED_EXTENSION 110 +# define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 +# define TLS1_AD_UNRECOGNIZED_NAME 112 +# define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 +# define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 +# define TLS1_AD_UNKNOWN_PSK_IDENTITY 115/* fatal */ +# define TLS1_AD_NO_APPLICATION_PROTOCOL 120 /* fatal */ + +/* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */ +# define TLSEXT_TYPE_server_name 0 +# define TLSEXT_TYPE_max_fragment_length 1 +# define TLSEXT_TYPE_client_certificate_url 2 +# define TLSEXT_TYPE_trusted_ca_keys 3 +# define TLSEXT_TYPE_truncated_hmac 4 +# define TLSEXT_TYPE_status_request 5 +/* ExtensionType values from RFC4681 */ +# define TLSEXT_TYPE_user_mapping 6 +/* ExtensionType values from RFC5878 */ +# define TLSEXT_TYPE_client_authz 7 +# define TLSEXT_TYPE_server_authz 8 +/* ExtensionType values from RFC6091 */ +# define TLSEXT_TYPE_cert_type 9 + +/* ExtensionType values from RFC4492 */ +/* + * Prior to TLSv1.3 the supported_groups extension was known as + * elliptic_curves + */ +# define TLSEXT_TYPE_supported_groups 10 +# define TLSEXT_TYPE_elliptic_curves TLSEXT_TYPE_supported_groups +# define TLSEXT_TYPE_ec_point_formats 11 + + +/* ExtensionType value from RFC5054 */ +# define TLSEXT_TYPE_srp 12 + +/* ExtensionType values from RFC5246 */ +# define TLSEXT_TYPE_signature_algorithms 13 + +/* ExtensionType value from RFC5764 */ +# define TLSEXT_TYPE_use_srtp 14 + +/* ExtensionType value from RFC5620 */ +# define TLSEXT_TYPE_heartbeat 15 + +/* ExtensionType value from RFC7301 */ +# define TLSEXT_TYPE_application_layer_protocol_negotiation 16 + +/* + * Extension type for Certificate Transparency + * https://tools.ietf.org/html/rfc6962#section-3.3.1 + */ +# define TLSEXT_TYPE_signed_certificate_timestamp 18 + +/* + * ExtensionType value for TLS padding extension. + * http://tools.ietf.org/html/draft-agl-tls-padding + */ +# define TLSEXT_TYPE_padding 21 + +/* ExtensionType value from RFC7366 */ +# define TLSEXT_TYPE_encrypt_then_mac 22 + +/* ExtensionType value from RFC7627 */ +# define TLSEXT_TYPE_extended_master_secret 23 + +/* ExtensionType value from RFC4507 */ +# define TLSEXT_TYPE_session_ticket 35 + +/* As defined for TLS1.3 */ +# define TLSEXT_TYPE_psk 41 +# define TLSEXT_TYPE_early_data 42 +# define TLSEXT_TYPE_supported_versions 43 +# define TLSEXT_TYPE_cookie 44 +# define TLSEXT_TYPE_psk_kex_modes 45 +# define TLSEXT_TYPE_certificate_authorities 47 +# define TLSEXT_TYPE_post_handshake_auth 49 +# define TLSEXT_TYPE_signature_algorithms_cert 50 +# define TLSEXT_TYPE_key_share 51 + +/* Temporary extension type */ +# define TLSEXT_TYPE_renegotiate 0xff01 + +# ifndef OPENSSL_NO_NEXTPROTONEG +/* This is not an IANA defined extension number */ +# define TLSEXT_TYPE_next_proto_neg 13172 +# endif + +/* NameType value from RFC3546 */ +# define TLSEXT_NAMETYPE_host_name 0 +/* status request value from RFC3546 */ +# define TLSEXT_STATUSTYPE_ocsp 1 + +/* ECPointFormat values from RFC4492 */ +# define TLSEXT_ECPOINTFORMAT_first 0 +# define TLSEXT_ECPOINTFORMAT_uncompressed 0 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2 +# define TLSEXT_ECPOINTFORMAT_last 2 + +/* Signature and hash algorithms from RFC5246 */ +# define TLSEXT_signature_anonymous 0 +# define TLSEXT_signature_rsa 1 +# define TLSEXT_signature_dsa 2 +# define TLSEXT_signature_ecdsa 3 +# define TLSEXT_signature_gostr34102001 237 +# define TLSEXT_signature_gostr34102012_256 238 +# define TLSEXT_signature_gostr34102012_512 239 + +/* Total number of different signature algorithms */ +# define TLSEXT_signature_num 7 + +# define TLSEXT_hash_none 0 +# define TLSEXT_hash_md5 1 +# define TLSEXT_hash_sha1 2 +# define TLSEXT_hash_sha224 3 +# define TLSEXT_hash_sha256 4 +# define TLSEXT_hash_sha384 5 +# define TLSEXT_hash_sha512 6 +# define TLSEXT_hash_gostr3411 237 +# define TLSEXT_hash_gostr34112012_256 238 +# define TLSEXT_hash_gostr34112012_512 239 + +/* Total number of different digest algorithms */ + +# define TLSEXT_hash_num 10 + +/* Flag set for unrecognised algorithms */ +# define TLSEXT_nid_unknown 0x1000000 + +/* ECC curves */ + +# define TLSEXT_curve_P_256 23 +# define TLSEXT_curve_P_384 24 + +/* OpenSSL value to disable maximum fragment length extension */ +# define TLSEXT_max_fragment_length_DISABLED 0 +/* Allowed values for max fragment length extension */ +# define TLSEXT_max_fragment_length_512 1 +# define TLSEXT_max_fragment_length_1024 2 +# define TLSEXT_max_fragment_length_2048 3 +# define TLSEXT_max_fragment_length_4096 4 + +int SSL_CTX_set_tlsext_max_fragment_length(SSL_CTX *ctx, uint8_t mode); +int SSL_set_tlsext_max_fragment_length(SSL *ssl, uint8_t mode); + +# define TLSEXT_MAXLEN_host_name 255 + +__owur const char *SSL_get_servername(const SSL *s, const int type); +__owur int SSL_get_servername_type(const SSL *s); +/* + * SSL_export_keying_material exports a value derived from the master secret, + * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and + * optional context. (Since a zero length context is allowed, the |use_context| + * flag controls whether a context is included.) It returns 1 on success and + * 0 or -1 otherwise. + */ +__owur int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, + const char *label, size_t llen, + const unsigned char *context, + size_t contextlen, int use_context); + +/* + * SSL_export_keying_material_early exports a value derived from the + * early exporter master secret, as specified in + * https://tools.ietf.org/html/draft-ietf-tls-tls13-23. It writes + * |olen| bytes to |out| given a label and optional context. It + * returns 1 on success and 0 otherwise. + */ +__owur int SSL_export_keying_material_early(SSL *s, unsigned char *out, + size_t olen, const char *label, + size_t llen, + const unsigned char *context, + size_t contextlen); + +int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid); + +int SSL_get_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +int SSL_get_shared_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +__owur int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain); + +# define SSL_set_tlsext_host_name(s,name) \ + SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,\ + (void *)name) + +# define SSL_set_tlsext_debug_callback(ssl, cb) \ + SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,\ + (void (*)(void))cb) + +# define SSL_set_tlsext_debug_arg(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0,arg) + +# define SSL_get_tlsext_status_type(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL) + +# define SSL_set_tlsext_status_type(ssl, type) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL) + +# define SSL_get_tlsext_status_exts(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0,arg) + +# define SSL_set_tlsext_status_exts(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0,arg) + +# define SSL_get_tlsext_status_ids(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0,arg) + +# define SSL_set_tlsext_status_ids(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0,arg) + +# define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0,arg) + +# define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen,arg) + +# define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \ + SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,\ + (void (*)(void))cb) + +# define SSL_TLSEXT_ERR_OK 0 +# define SSL_TLSEXT_ERR_ALERT_WARNING 1 +# define SSL_TLSEXT_ERR_ALERT_FATAL 2 +# define SSL_TLSEXT_ERR_NOACK 3 + +# define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0,arg) + +# define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_TLSEXT_TICKET_KEYS,keylen,keys) +# define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_TICKET_KEYS,keylen,keys) + +# define SSL_CTX_get_tlsext_status_cb(ssl, cb) \ + SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB,0,(void *)cb) +# define SSL_CTX_set_tlsext_status_cb(ssl, cb) \ + SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,\ + (void (*)(void))cb) + +# define SSL_CTX_get_tlsext_status_arg(ssl, arg) \ + SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG,0,arg) +# define SSL_CTX_set_tlsext_status_arg(ssl, arg) \ + SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0,arg) + +# define SSL_CTX_set_tlsext_status_type(ssl, type) \ + SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL) + +# define SSL_CTX_get_tlsext_status_type(ssl) \ + SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL) + +# define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ + SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,\ + (void (*)(void))cb) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_DTLSEXT_HB_ENABLED 0x01 +# define SSL_DTLSEXT_HB_DONT_SEND_REQUESTS 0x02 +# define SSL_DTLSEXT_HB_DONT_RECV_REQUESTS 0x04 +# define SSL_get_dtlsext_heartbeat_pending(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING,0,NULL) +# define SSL_set_dtlsext_heartbeat_no_requests(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT \ + SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT +# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING \ + SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING +# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS \ + SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS +# define SSL_TLSEXT_HB_ENABLED \ + SSL_DTLSEXT_HB_ENABLED +# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS \ + SSL_DTLSEXT_HB_DONT_SEND_REQUESTS +# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS \ + SSL_DTLSEXT_HB_DONT_RECV_REQUESTS +# define SSL_get_tlsext_heartbeat_pending(ssl) \ + SSL_get_dtlsext_heartbeat_pending(ssl) +# define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ + SSL_set_dtlsext_heartbeat_no_requests(ssl,arg) +# endif +# endif + +/* PSK ciphersuites from 4279 */ +# define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A +# define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B +# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C +# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D +# define TLS1_CK_DHE_PSK_WITH_RC4_128_SHA 0x0300008E +# define TLS1_CK_DHE_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008F +# define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA 0x03000090 +# define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA 0x03000091 +# define TLS1_CK_RSA_PSK_WITH_RC4_128_SHA 0x03000092 +# define TLS1_CK_RSA_PSK_WITH_3DES_EDE_CBC_SHA 0x03000093 +# define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA 0x03000094 +# define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA 0x03000095 + +/* PSK ciphersuites from 5487 */ +# define TLS1_CK_PSK_WITH_AES_128_GCM_SHA256 0x030000A8 +# define TLS1_CK_PSK_WITH_AES_256_GCM_SHA384 0x030000A9 +# define TLS1_CK_DHE_PSK_WITH_AES_128_GCM_SHA256 0x030000AA +# define TLS1_CK_DHE_PSK_WITH_AES_256_GCM_SHA384 0x030000AB +# define TLS1_CK_RSA_PSK_WITH_AES_128_GCM_SHA256 0x030000AC +# define TLS1_CK_RSA_PSK_WITH_AES_256_GCM_SHA384 0x030000AD +# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA256 0x030000AE +# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA384 0x030000AF +# define TLS1_CK_PSK_WITH_NULL_SHA256 0x030000B0 +# define TLS1_CK_PSK_WITH_NULL_SHA384 0x030000B1 +# define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA256 0x030000B2 +# define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA384 0x030000B3 +# define TLS1_CK_DHE_PSK_WITH_NULL_SHA256 0x030000B4 +# define TLS1_CK_DHE_PSK_WITH_NULL_SHA384 0x030000B5 +# define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA256 0x030000B6 +# define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA384 0x030000B7 +# define TLS1_CK_RSA_PSK_WITH_NULL_SHA256 0x030000B8 +# define TLS1_CK_RSA_PSK_WITH_NULL_SHA384 0x030000B9 + +/* NULL PSK ciphersuites from RFC4785 */ +# define TLS1_CK_PSK_WITH_NULL_SHA 0x0300002C +# define TLS1_CK_DHE_PSK_WITH_NULL_SHA 0x0300002D +# define TLS1_CK_RSA_PSK_WITH_NULL_SHA 0x0300002E + +/* AES ciphersuites from RFC3268 */ +# define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 +# define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 +# define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 +# define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B +# define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C +# define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 +# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B +# define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C +# define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 +# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 +# define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 +# define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 +# define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 +# define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A +# define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C +# define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D +# define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E +# define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F +# define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 +# define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 +# define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 +# define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 +# define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 +# define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 +# define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 +# define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 + +/* CCM ciphersuites from RFC6655 */ +# define TLS1_CK_RSA_WITH_AES_128_CCM 0x0300C09C +# define TLS1_CK_RSA_WITH_AES_256_CCM 0x0300C09D +# define TLS1_CK_DHE_RSA_WITH_AES_128_CCM 0x0300C09E +# define TLS1_CK_DHE_RSA_WITH_AES_256_CCM 0x0300C09F +# define TLS1_CK_RSA_WITH_AES_128_CCM_8 0x0300C0A0 +# define TLS1_CK_RSA_WITH_AES_256_CCM_8 0x0300C0A1 +# define TLS1_CK_DHE_RSA_WITH_AES_128_CCM_8 0x0300C0A2 +# define TLS1_CK_DHE_RSA_WITH_AES_256_CCM_8 0x0300C0A3 +# define TLS1_CK_PSK_WITH_AES_128_CCM 0x0300C0A4 +# define TLS1_CK_PSK_WITH_AES_256_CCM 0x0300C0A5 +# define TLS1_CK_DHE_PSK_WITH_AES_128_CCM 0x0300C0A6 +# define TLS1_CK_DHE_PSK_WITH_AES_256_CCM 0x0300C0A7 +# define TLS1_CK_PSK_WITH_AES_128_CCM_8 0x0300C0A8 +# define TLS1_CK_PSK_WITH_AES_256_CCM_8 0x0300C0A9 +# define TLS1_CK_DHE_PSK_WITH_AES_128_CCM_8 0x0300C0AA +# define TLS1_CK_DHE_PSK_WITH_AES_256_CCM_8 0x0300C0AB + +/* CCM ciphersuites from RFC7251 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM 0x0300C0AC +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM 0x0300C0AD +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM_8 0x0300C0AE +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM_8 0x0300C0AF + +/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BA +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BB +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BC +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BD +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BE +# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA256 0x030000BF + +# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C0 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C1 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C2 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C3 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C4 +# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA256 0x030000C5 + +/* ECC ciphersuites from RFC4492 */ +# define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 +# define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 +# define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 + +# define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 +# define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 +# define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A + +# define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B +# define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C +# define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D +# define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E +# define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F + +# define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 +# define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 +# define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 + +# define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 +# define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 +# define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 +# define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 +# define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 + +/* SRP ciphersuites from RFC 5054 */ +# define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A +# define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B +# define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C +# define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F +# define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 + +/* ECDH HMAC based ciphersuites from RFC5289 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 + +/* ECDHE PSK ciphersuites from RFC5489 */ +# define TLS1_CK_ECDHE_PSK_WITH_RC4_128_SHA 0x0300C033 +# define TLS1_CK_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 0x0300C034 +# define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA 0x0300C035 +# define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA 0x0300C036 + +# define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA256 0x0300C037 +# define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA384 0x0300C038 + +/* NULL PSK ciphersuites from RFC4785 */ +# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA 0x0300C039 +# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA256 0x0300C03A +# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA384 0x0300C03B + +/* Camellia-CBC ciphersuites from RFC6367 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C072 +# define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C073 +# define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C074 +# define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C075 +# define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C076 +# define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C077 +# define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C078 +# define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C079 + +# define TLS1_CK_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C094 +# define TLS1_CK_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C095 +# define TLS1_CK_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C096 +# define TLS1_CK_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C097 +# define TLS1_CK_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C098 +# define TLS1_CK_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C099 +# define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C09A +# define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C09B + +/* draft-ietf-tls-chacha20-poly1305-03 */ +# define TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305 0x0300CCA8 +# define TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 0x0300CCA9 +# define TLS1_CK_DHE_RSA_WITH_CHACHA20_POLY1305 0x0300CCAA +# define TLS1_CK_PSK_WITH_CHACHA20_POLY1305 0x0300CCAB +# define TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305 0x0300CCAC +# define TLS1_CK_DHE_PSK_WITH_CHACHA20_POLY1305 0x0300CCAD +# define TLS1_CK_RSA_PSK_WITH_CHACHA20_POLY1305 0x0300CCAE + +/* TLS v1.3 ciphersuites */ +# define TLS1_3_CK_AES_128_GCM_SHA256 0x03001301 +# define TLS1_3_CK_AES_256_GCM_SHA384 0x03001302 +# define TLS1_3_CK_CHACHA20_POLY1305_SHA256 0x03001303 +# define TLS1_3_CK_AES_128_CCM_SHA256 0x03001304 +# define TLS1_3_CK_AES_128_CCM_8_SHA256 0x03001305 + +/* Aria ciphersuites from RFC6209 */ +# define TLS1_CK_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C050 +# define TLS1_CK_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C051 +# define TLS1_CK_DHE_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C052 +# define TLS1_CK_DHE_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C053 +# define TLS1_CK_DH_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C054 +# define TLS1_CK_DH_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C055 +# define TLS1_CK_DHE_DSS_WITH_ARIA_128_GCM_SHA256 0x0300C056 +# define TLS1_CK_DHE_DSS_WITH_ARIA_256_GCM_SHA384 0x0300C057 +# define TLS1_CK_DH_DSS_WITH_ARIA_128_GCM_SHA256 0x0300C058 +# define TLS1_CK_DH_DSS_WITH_ARIA_256_GCM_SHA384 0x0300C059 +# define TLS1_CK_DH_anon_WITH_ARIA_128_GCM_SHA256 0x0300C05A +# define TLS1_CK_DH_anon_WITH_ARIA_256_GCM_SHA384 0x0300C05B +# define TLS1_CK_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 0x0300C05C +# define TLS1_CK_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 0x0300C05D +# define TLS1_CK_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 0x0300C05E +# define TLS1_CK_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 0x0300C05F +# define TLS1_CK_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C060 +# define TLS1_CK_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C061 +# define TLS1_CK_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C062 +# define TLS1_CK_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C063 +# define TLS1_CK_PSK_WITH_ARIA_128_GCM_SHA256 0x0300C06A +# define TLS1_CK_PSK_WITH_ARIA_256_GCM_SHA384 0x0300C06B +# define TLS1_CK_DHE_PSK_WITH_ARIA_128_GCM_SHA256 0x0300C06C +# define TLS1_CK_DHE_PSK_WITH_ARIA_256_GCM_SHA384 0x0300C06D +# define TLS1_CK_RSA_PSK_WITH_ARIA_128_GCM_SHA256 0x0300C06E +# define TLS1_CK_RSA_PSK_WITH_ARIA_256_GCM_SHA384 0x0300C06F + +/* a bundle of RFC standard cipher names, generated from ssl3_ciphers[] */ +# define TLS1_RFC_RSA_WITH_AES_128_SHA "TLS_RSA_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_DHE_DSS_WITH_AES_128_SHA "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_DHE_RSA_WITH_AES_128_SHA "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_ADH_WITH_AES_128_SHA "TLS_DH_anon_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_RSA_WITH_AES_256_SHA "TLS_RSA_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_DHE_DSS_WITH_AES_256_SHA "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_DHE_RSA_WITH_AES_256_SHA "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_ADH_WITH_AES_256_SHA "TLS_DH_anon_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_RSA_WITH_NULL_SHA256 "TLS_RSA_WITH_NULL_SHA256" +# define TLS1_RFC_RSA_WITH_AES_128_SHA256 "TLS_RSA_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_RSA_WITH_AES_256_SHA256 "TLS_RSA_WITH_AES_256_CBC_SHA256" +# define TLS1_RFC_DHE_DSS_WITH_AES_128_SHA256 "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_DHE_RSA_WITH_AES_128_SHA256 "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_DHE_DSS_WITH_AES_256_SHA256 "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" +# define TLS1_RFC_DHE_RSA_WITH_AES_256_SHA256 "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256" +# define TLS1_RFC_ADH_WITH_AES_128_SHA256 "TLS_DH_anon_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_ADH_WITH_AES_256_SHA256 "TLS_DH_anon_WITH_AES_256_CBC_SHA256" +# define TLS1_RFC_RSA_WITH_AES_128_GCM_SHA256 "TLS_RSA_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_RSA_WITH_AES_256_GCM_SHA384 "TLS_RSA_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_DHE_RSA_WITH_AES_128_GCM_SHA256 "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_DHE_RSA_WITH_AES_256_GCM_SHA384 "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_DHE_DSS_WITH_AES_128_GCM_SHA256 "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_DHE_DSS_WITH_AES_256_GCM_SHA384 "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_ADH_WITH_AES_128_GCM_SHA256 "TLS_DH_anon_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_ADH_WITH_AES_256_GCM_SHA384 "TLS_DH_anon_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_RSA_WITH_AES_128_CCM "TLS_RSA_WITH_AES_128_CCM" +# define TLS1_RFC_RSA_WITH_AES_256_CCM "TLS_RSA_WITH_AES_256_CCM" +# define TLS1_RFC_DHE_RSA_WITH_AES_128_CCM "TLS_DHE_RSA_WITH_AES_128_CCM" +# define TLS1_RFC_DHE_RSA_WITH_AES_256_CCM "TLS_DHE_RSA_WITH_AES_256_CCM" +# define TLS1_RFC_RSA_WITH_AES_128_CCM_8 "TLS_RSA_WITH_AES_128_CCM_8" +# define TLS1_RFC_RSA_WITH_AES_256_CCM_8 "TLS_RSA_WITH_AES_256_CCM_8" +# define TLS1_RFC_DHE_RSA_WITH_AES_128_CCM_8 "TLS_DHE_RSA_WITH_AES_128_CCM_8" +# define TLS1_RFC_DHE_RSA_WITH_AES_256_CCM_8 "TLS_DHE_RSA_WITH_AES_256_CCM_8" +# define TLS1_RFC_PSK_WITH_AES_128_CCM "TLS_PSK_WITH_AES_128_CCM" +# define TLS1_RFC_PSK_WITH_AES_256_CCM "TLS_PSK_WITH_AES_256_CCM" +# define TLS1_RFC_DHE_PSK_WITH_AES_128_CCM "TLS_DHE_PSK_WITH_AES_128_CCM" +# define TLS1_RFC_DHE_PSK_WITH_AES_256_CCM "TLS_DHE_PSK_WITH_AES_256_CCM" +# define TLS1_RFC_PSK_WITH_AES_128_CCM_8 "TLS_PSK_WITH_AES_128_CCM_8" +# define TLS1_RFC_PSK_WITH_AES_256_CCM_8 "TLS_PSK_WITH_AES_256_CCM_8" +# define TLS1_RFC_DHE_PSK_WITH_AES_128_CCM_8 "TLS_PSK_DHE_WITH_AES_128_CCM_8" +# define TLS1_RFC_DHE_PSK_WITH_AES_256_CCM_8 "TLS_PSK_DHE_WITH_AES_256_CCM_8" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM "TLS_ECDHE_ECDSA_WITH_AES_128_CCM" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM "TLS_ECDHE_ECDSA_WITH_AES_256_CCM" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM_8 "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM_8 "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8" +# define TLS1_3_RFC_AES_128_GCM_SHA256 "TLS_AES_128_GCM_SHA256" +# define TLS1_3_RFC_AES_256_GCM_SHA384 "TLS_AES_256_GCM_SHA384" +# define TLS1_3_RFC_CHACHA20_POLY1305_SHA256 "TLS_CHACHA20_POLY1305_SHA256" +# define TLS1_3_RFC_AES_128_CCM_SHA256 "TLS_AES_128_CCM_SHA256" +# define TLS1_3_RFC_AES_128_CCM_8_SHA256 "TLS_AES_128_CCM_8_SHA256" +# define TLS1_RFC_ECDHE_ECDSA_WITH_NULL_SHA "TLS_ECDHE_ECDSA_WITH_NULL_SHA" +# define TLS1_RFC_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_ECDHE_RSA_WITH_NULL_SHA "TLS_ECDHE_RSA_WITH_NULL_SHA" +# define TLS1_RFC_ECDHE_RSA_WITH_DES_192_CBC3_SHA "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_ECDHE_RSA_WITH_AES_128_CBC_SHA "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_ECDHE_RSA_WITH_AES_256_CBC_SHA "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_ECDH_anon_WITH_NULL_SHA "TLS_ECDH_anon_WITH_NULL_SHA" +# define TLS1_RFC_ECDH_anon_WITH_DES_192_CBC3_SHA "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_ECDH_anon_WITH_AES_128_CBC_SHA "TLS_ECDH_anon_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_ECDH_anon_WITH_AES_256_CBC_SHA "TLS_ECDH_anon_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_SHA256 "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_SHA384 "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" +# define TLS1_RFC_ECDHE_RSA_WITH_AES_128_SHA256 "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_ECDHE_RSA_WITH_AES_256_SHA384 "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_PSK_WITH_NULL_SHA "TLS_PSK_WITH_NULL_SHA" +# define TLS1_RFC_DHE_PSK_WITH_NULL_SHA "TLS_DHE_PSK_WITH_NULL_SHA" +# define TLS1_RFC_RSA_PSK_WITH_NULL_SHA "TLS_RSA_PSK_WITH_NULL_SHA" +# define TLS1_RFC_PSK_WITH_3DES_EDE_CBC_SHA "TLS_PSK_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_PSK_WITH_AES_128_CBC_SHA "TLS_PSK_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_PSK_WITH_AES_256_CBC_SHA "TLS_PSK_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_DHE_PSK_WITH_3DES_EDE_CBC_SHA "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA "TLS_DHE_PSK_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA "TLS_DHE_PSK_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_RSA_PSK_WITH_3DES_EDE_CBC_SHA "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA "TLS_RSA_PSK_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA "TLS_RSA_PSK_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_PSK_WITH_AES_128_GCM_SHA256 "TLS_PSK_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_PSK_WITH_AES_256_GCM_SHA384 "TLS_PSK_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_DHE_PSK_WITH_AES_128_GCM_SHA256 "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_DHE_PSK_WITH_AES_256_GCM_SHA384 "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_RSA_PSK_WITH_AES_128_GCM_SHA256 "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256" +# define TLS1_RFC_RSA_PSK_WITH_AES_256_GCM_SHA384 "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384" +# define TLS1_RFC_PSK_WITH_AES_128_CBC_SHA256 "TLS_PSK_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_PSK_WITH_AES_256_CBC_SHA384 "TLS_PSK_WITH_AES_256_CBC_SHA384" +# define TLS1_RFC_PSK_WITH_NULL_SHA256 "TLS_PSK_WITH_NULL_SHA256" +# define TLS1_RFC_PSK_WITH_NULL_SHA384 "TLS_PSK_WITH_NULL_SHA384" +# define TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA256 "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA384 "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384" +# define TLS1_RFC_DHE_PSK_WITH_NULL_SHA256 "TLS_DHE_PSK_WITH_NULL_SHA256" +# define TLS1_RFC_DHE_PSK_WITH_NULL_SHA384 "TLS_DHE_PSK_WITH_NULL_SHA384" +# define TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA256 "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA384 "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384" +# define TLS1_RFC_RSA_PSK_WITH_NULL_SHA256 "TLS_RSA_PSK_WITH_NULL_SHA256" +# define TLS1_RFC_RSA_PSK_WITH_NULL_SHA384 "TLS_RSA_PSK_WITH_NULL_SHA384" +# define TLS1_RFC_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA256 "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256" +# define TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA384 "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384" +# define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA "TLS_ECDHE_PSK_WITH_NULL_SHA" +# define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA256 "TLS_ECDHE_PSK_WITH_NULL_SHA256" +# define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA384 "TLS_ECDHE_PSK_WITH_NULL_SHA384" +# define TLS1_RFC_SRP_SHA_WITH_3DES_EDE_CBC_SHA "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA" +# define TLS1_RFC_SRP_SHA_WITH_AES_128_CBC_SHA "TLS_SRP_SHA_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA" +# define TLS1_RFC_SRP_SHA_WITH_AES_256_CBC_SHA "TLS_SRP_SHA_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA" +# define TLS1_RFC_DHE_RSA_WITH_CHACHA20_POLY1305 "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256" +# define TLS1_RFC_ECDHE_RSA_WITH_CHACHA20_POLY1305 "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" +# define TLS1_RFC_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" +# define TLS1_RFC_PSK_WITH_CHACHA20_POLY1305 "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256" +# define TLS1_RFC_ECDHE_PSK_WITH_CHACHA20_POLY1305 "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256" +# define TLS1_RFC_DHE_PSK_WITH_CHACHA20_POLY1305 "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256" +# define TLS1_RFC_RSA_PSK_WITH_CHACHA20_POLY1305 "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256" +# define TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA256 "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256" +# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256" +# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256" +# define TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA256 "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256" +# define TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA" +# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA" +# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA" +# define TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA" +# define TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA" +# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA" +# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA" +# define TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA" +# define TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384" +# define TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384" +# define TLS1_RFC_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384" +# define TLS1_RFC_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384" +# define TLS1_RFC_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384" +# define TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256" +# define TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384" +# define TLS1_RFC_RSA_WITH_SEED_SHA "TLS_RSA_WITH_SEED_CBC_SHA" +# define TLS1_RFC_DHE_DSS_WITH_SEED_SHA "TLS_DHE_DSS_WITH_SEED_CBC_SHA" +# define TLS1_RFC_DHE_RSA_WITH_SEED_SHA "TLS_DHE_RSA_WITH_SEED_CBC_SHA" +# define TLS1_RFC_ADH_WITH_SEED_SHA "TLS_DH_anon_WITH_SEED_CBC_SHA" +# define TLS1_RFC_ECDHE_PSK_WITH_RC4_128_SHA "TLS_ECDHE_PSK_WITH_RC4_128_SHA" +# define TLS1_RFC_ECDH_anon_WITH_RC4_128_SHA "TLS_ECDH_anon_WITH_RC4_128_SHA" +# define TLS1_RFC_ECDHE_ECDSA_WITH_RC4_128_SHA "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA" +# define TLS1_RFC_ECDHE_RSA_WITH_RC4_128_SHA "TLS_ECDHE_RSA_WITH_RC4_128_SHA" +# define TLS1_RFC_PSK_WITH_RC4_128_SHA "TLS_PSK_WITH_RC4_128_SHA" +# define TLS1_RFC_RSA_PSK_WITH_RC4_128_SHA "TLS_RSA_PSK_WITH_RC4_128_SHA" +# define TLS1_RFC_DHE_PSK_WITH_RC4_128_SHA "TLS_DHE_PSK_WITH_RC4_128_SHA" +# define TLS1_RFC_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_RSA_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_RSA_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_DHE_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_DHE_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_DH_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_DH_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_DHE_DSS_WITH_ARIA_128_GCM_SHA256 "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_DHE_DSS_WITH_ARIA_256_GCM_SHA384 "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_DH_DSS_WITH_ARIA_128_GCM_SHA256 "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_DH_DSS_WITH_ARIA_256_GCM_SHA384 "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_DH_anon_WITH_ARIA_128_GCM_SHA256 "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_DH_anon_WITH_ARIA_256_GCM_SHA384 "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_PSK_WITH_ARIA_128_GCM_SHA256 "TLS_PSK_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_PSK_WITH_ARIA_256_GCM_SHA384 "TLS_PSK_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_DHE_PSK_WITH_ARIA_128_GCM_SHA256 "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_DHE_PSK_WITH_ARIA_256_GCM_SHA384 "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384" +# define TLS1_RFC_RSA_PSK_WITH_ARIA_128_GCM_SHA256 "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256" +# define TLS1_RFC_RSA_PSK_WITH_ARIA_256_GCM_SHA384 "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384" + + +/* + * XXX Backward compatibility alert: Older versions of OpenSSL gave some DHE + * ciphers names with "EDH" instead of "DHE". Going forward, we should be + * using DHE everywhere, though we may indefinitely maintain aliases for + * users or configurations that used "EDH" + */ +# define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" + +# define TLS1_TXT_PSK_WITH_NULL_SHA "PSK-NULL-SHA" +# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA "DHE-PSK-NULL-SHA" +# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA "RSA-PSK-NULL-SHA" + +/* AES ciphersuites from RFC3268 */ +# define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" +# define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" + +# define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" +# define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" + +/* ECC ciphersuites from RFC4492 */ +# define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" + +# define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" +# define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" +# define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" + +/* PSK ciphersuites from RFC 4279 */ +# define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" +# define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" + +# define TLS1_TXT_DHE_PSK_WITH_RC4_128_SHA "DHE-PSK-RC4-SHA" +# define TLS1_TXT_DHE_PSK_WITH_3DES_EDE_CBC_SHA "DHE-PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA "DHE-PSK-AES128-CBC-SHA" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA "DHE-PSK-AES256-CBC-SHA" +# define TLS1_TXT_RSA_PSK_WITH_RC4_128_SHA "RSA-PSK-RC4-SHA" +# define TLS1_TXT_RSA_PSK_WITH_3DES_EDE_CBC_SHA "RSA-PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA "RSA-PSK-AES128-CBC-SHA" +# define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA "RSA-PSK-AES256-CBC-SHA" + +/* PSK ciphersuites from RFC 5487 */ +# define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256 "PSK-AES128-GCM-SHA256" +# define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384 "PSK-AES256-GCM-SHA384" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_GCM_SHA256 "DHE-PSK-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_GCM_SHA384 "DHE-PSK-AES256-GCM-SHA384" +# define TLS1_TXT_RSA_PSK_WITH_AES_128_GCM_SHA256 "RSA-PSK-AES128-GCM-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_AES_256_GCM_SHA384 "RSA-PSK-AES256-GCM-SHA384" + +# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA256 "PSK-AES128-CBC-SHA256" +# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA384 "PSK-AES256-CBC-SHA384" +# define TLS1_TXT_PSK_WITH_NULL_SHA256 "PSK-NULL-SHA256" +# define TLS1_TXT_PSK_WITH_NULL_SHA384 "PSK-NULL-SHA384" + +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA256 "DHE-PSK-AES128-CBC-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA384 "DHE-PSK-AES256-CBC-SHA384" +# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA256 "DHE-PSK-NULL-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA384 "DHE-PSK-NULL-SHA384" + +# define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA256 "RSA-PSK-AES128-CBC-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA384 "RSA-PSK-AES256-CBC-SHA384" +# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA256 "RSA-PSK-NULL-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA384 "RSA-PSK-NULL-SHA384" + +/* SRP ciphersuite from RFC 5054 */ +# define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" + +# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" + +/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ +# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA256 "CAMELLIA128-SHA256" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DH-DSS-CAMELLIA128-SHA256" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DH-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DHE-DSS-CAMELLIA128-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DHE-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA256 "ADH-CAMELLIA128-SHA256" + +# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA256 "CAMELLIA256-SHA256" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DH-DSS-CAMELLIA256-SHA256" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DH-RSA-CAMELLIA256-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DHE-DSS-CAMELLIA256-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DHE-RSA-CAMELLIA256-SHA256" +# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA256 "ADH-CAMELLIA256-SHA256" + +# define TLS1_TXT_PSK_WITH_CAMELLIA_128_CBC_SHA256 "PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_PSK_WITH_CAMELLIA_256_CBC_SHA384 "PSK-CAMELLIA256-SHA384" +# define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "DHE-PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "DHE-PSK-CAMELLIA256-SHA384" +# define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 "RSA-PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 "RSA-PSK-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-PSK-CAMELLIA256-SHA384" + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" +# define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" +# define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" +# define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" +# define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" +# define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" + +/* TLS v1.2 ciphersuites */ +# define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" +# define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" +# define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" + +/* CCM ciphersuites from RFC6655 */ +# define TLS1_TXT_RSA_WITH_AES_128_CCM "AES128-CCM" +# define TLS1_TXT_RSA_WITH_AES_256_CCM "AES256-CCM" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM "DHE-RSA-AES128-CCM" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM "DHE-RSA-AES256-CCM" + +# define TLS1_TXT_RSA_WITH_AES_128_CCM_8 "AES128-CCM8" +# define TLS1_TXT_RSA_WITH_AES_256_CCM_8 "AES256-CCM8" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM_8 "DHE-RSA-AES128-CCM8" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM_8 "DHE-RSA-AES256-CCM8" + +# define TLS1_TXT_PSK_WITH_AES_128_CCM "PSK-AES128-CCM" +# define TLS1_TXT_PSK_WITH_AES_256_CCM "PSK-AES256-CCM" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM "DHE-PSK-AES128-CCM" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM "DHE-PSK-AES256-CCM" + +# define TLS1_TXT_PSK_WITH_AES_128_CCM_8 "PSK-AES128-CCM8" +# define TLS1_TXT_PSK_WITH_AES_256_CCM_8 "PSK-AES256-CCM8" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM_8 "DHE-PSK-AES128-CCM8" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM_8 "DHE-PSK-AES256-CCM8" + +/* CCM ciphersuites from RFC7251 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM "ECDHE-ECDSA-AES128-CCM" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM "ECDHE-ECDSA-AES256-CCM" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM_8 "ECDHE-ECDSA-AES128-CCM8" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 "ECDHE-ECDSA-AES256-CCM8" + +/* ECDH HMAC based ciphersuites from RFC5289 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "ECDHE-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "ECDHE-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 "ECDH-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 "ECDH-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" + +/* TLS v1.2 PSK GCM ciphersuites from RFC5487 */ +# define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256 "PSK-AES128-GCM-SHA256" +# define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384 "PSK-AES256-GCM-SHA384" + +/* ECDHE PSK ciphersuites from RFC 5489 */ +# define TLS1_TXT_ECDHE_PSK_WITH_RC4_128_SHA "ECDHE-PSK-RC4-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA "ECDHE-PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA "ECDHE-PSK-AES128-CBC-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA "ECDHE-PSK-AES256-CBC-SHA" + +# define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA256 "ECDHE-PSK-AES128-CBC-SHA256" +# define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA384 "ECDHE-PSK-AES256-CBC-SHA384" + +# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA "ECDHE-PSK-NULL-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA256 "ECDHE-PSK-NULL-SHA256" +# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA384 "ECDHE-PSK-NULL-SHA384" + +/* Camellia-CBC ciphersuites from RFC6367 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-ECDSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-ECDSA-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDH-ECDSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDH-ECDSA-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-RSA-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDH-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDH-RSA-CAMELLIA256-SHA384" + +/* draft-ietf-tls-chacha20-poly1305-03 */ +# define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305" +# define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305" +# define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305" +# define TLS1_TXT_PSK_WITH_CHACHA20_POLY1305 "PSK-CHACHA20-POLY1305" +# define TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305 "ECDHE-PSK-CHACHA20-POLY1305" +# define TLS1_TXT_DHE_PSK_WITH_CHACHA20_POLY1305 "DHE-PSK-CHACHA20-POLY1305" +# define TLS1_TXT_RSA_PSK_WITH_CHACHA20_POLY1305 "RSA-PSK-CHACHA20-POLY1305" + +/* Aria ciphersuites from RFC6209 */ +# define TLS1_TXT_RSA_WITH_ARIA_128_GCM_SHA256 "ARIA128-GCM-SHA256" +# define TLS1_TXT_RSA_WITH_ARIA_256_GCM_SHA384 "ARIA256-GCM-SHA384" +# define TLS1_TXT_DHE_RSA_WITH_ARIA_128_GCM_SHA256 "DHE-RSA-ARIA128-GCM-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_ARIA_256_GCM_SHA384 "DHE-RSA-ARIA256-GCM-SHA384" +# define TLS1_TXT_DH_RSA_WITH_ARIA_128_GCM_SHA256 "DH-RSA-ARIA128-GCM-SHA256" +# define TLS1_TXT_DH_RSA_WITH_ARIA_256_GCM_SHA384 "DH-RSA-ARIA256-GCM-SHA384" +# define TLS1_TXT_DHE_DSS_WITH_ARIA_128_GCM_SHA256 "DHE-DSS-ARIA128-GCM-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_ARIA_256_GCM_SHA384 "DHE-DSS-ARIA256-GCM-SHA384" +# define TLS1_TXT_DH_DSS_WITH_ARIA_128_GCM_SHA256 "DH-DSS-ARIA128-GCM-SHA256" +# define TLS1_TXT_DH_DSS_WITH_ARIA_256_GCM_SHA384 "DH-DSS-ARIA256-GCM-SHA384" +# define TLS1_TXT_DH_anon_WITH_ARIA_128_GCM_SHA256 "ADH-ARIA128-GCM-SHA256" +# define TLS1_TXT_DH_anon_WITH_ARIA_256_GCM_SHA384 "ADH-ARIA256-GCM-SHA384" +# define TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 "ECDHE-ECDSA-ARIA128-GCM-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 "ECDHE-ECDSA-ARIA256-GCM-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 "ECDH-ECDSA-ARIA128-GCM-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 "ECDH-ECDSA-ARIA256-GCM-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 "ECDHE-ARIA128-GCM-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 "ECDHE-ARIA256-GCM-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 "ECDH-ARIA128-GCM-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 "ECDH-ARIA256-GCM-SHA384" +# define TLS1_TXT_PSK_WITH_ARIA_128_GCM_SHA256 "PSK-ARIA128-GCM-SHA256" +# define TLS1_TXT_PSK_WITH_ARIA_256_GCM_SHA384 "PSK-ARIA256-GCM-SHA384" +# define TLS1_TXT_DHE_PSK_WITH_ARIA_128_GCM_SHA256 "DHE-PSK-ARIA128-GCM-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_ARIA_256_GCM_SHA384 "DHE-PSK-ARIA256-GCM-SHA384" +# define TLS1_TXT_RSA_PSK_WITH_ARIA_128_GCM_SHA256 "RSA-PSK-ARIA128-GCM-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_ARIA_256_GCM_SHA384 "RSA-PSK-ARIA256-GCM-SHA384" + +# define TLS_CT_RSA_SIGN 1 +# define TLS_CT_DSS_SIGN 2 +# define TLS_CT_RSA_FIXED_DH 3 +# define TLS_CT_DSS_FIXED_DH 4 +# define TLS_CT_ECDSA_SIGN 64 +# define TLS_CT_RSA_FIXED_ECDH 65 +# define TLS_CT_ECDSA_FIXED_ECDH 66 +# define TLS_CT_GOST01_SIGN 22 +# define TLS_CT_GOST12_SIGN 238 +# define TLS_CT_GOST12_512_SIGN 239 + +/* + * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see + * comment there) + */ +# define TLS_CT_NUMBER 10 + +# if defined(SSL3_CT_NUMBER) +# if TLS_CT_NUMBER != SSL3_CT_NUMBER +# error "SSL/TLS CT_NUMBER values do not match" +# endif +# endif + +# define TLS1_FINISH_MAC_LENGTH 12 + +# define TLS_MD_MAX_CONST_SIZE 22 +# define TLS_MD_CLIENT_FINISH_CONST "client finished" +# define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 +# define TLS_MD_SERVER_FINISH_CONST "server finished" +# define TLS_MD_SERVER_FINISH_CONST_SIZE 15 +# define TLS_MD_KEY_EXPANSION_CONST "key expansion" +# define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 +# define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" +# define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" +# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_IV_BLOCK_CONST "IV block" +# define TLS_MD_IV_BLOCK_CONST_SIZE 8 +# define TLS_MD_MASTER_SECRET_CONST "master secret" +# define TLS_MD_MASTER_SECRET_CONST_SIZE 13 +# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "extended master secret" +# define TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE 22 + +# ifdef CHARSET_EBCDIC +# undef TLS_MD_CLIENT_FINISH_CONST +/* + * client finished + */ +# define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_FINISH_CONST +/* + * server finished + */ +# define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_KEY_EXPANSION_CONST +/* + * key expansion + */ +# define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" + +# undef TLS_MD_CLIENT_WRITE_KEY_CONST +/* + * client write key + */ +# define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_IV_BLOCK_CONST +/* + * IV block + */ +# define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" + +# undef TLS_MD_MASTER_SECRET_CONST +/* + * master secret + */ +# define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" +# undef TLS_MD_EXTENDED_MASTER_SECRET_CONST +/* + * extended master secret + */ +# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "\x65\x78\x74\x65\x63\x64\x65\x64\x20\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" +# endif + +/* TLS Session Ticket extension struct */ +struct tls_session_ticket_ext_st { + unsigned short length; + void *data; +}; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/ts.h b/openssl/1.1/include/openssl/ts.h new file mode 100644 index 0000000..3b58aa5 --- /dev/null +++ b/openssl/1.1/include/openssl/ts.h @@ -0,0 +1,559 @@ +/* + * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_TS_H +# define HEADER_TS_H + +# include + +# ifndef OPENSSL_NO_TS +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# include +# include + +typedef struct TS_msg_imprint_st TS_MSG_IMPRINT; +typedef struct TS_req_st TS_REQ; +typedef struct TS_accuracy_st TS_ACCURACY; +typedef struct TS_tst_info_st TS_TST_INFO; + +/* Possible values for status. */ +# define TS_STATUS_GRANTED 0 +# define TS_STATUS_GRANTED_WITH_MODS 1 +# define TS_STATUS_REJECTION 2 +# define TS_STATUS_WAITING 3 +# define TS_STATUS_REVOCATION_WARNING 4 +# define TS_STATUS_REVOCATION_NOTIFICATION 5 + +/* Possible values for failure_info. */ +# define TS_INFO_BAD_ALG 0 +# define TS_INFO_BAD_REQUEST 2 +# define TS_INFO_BAD_DATA_FORMAT 5 +# define TS_INFO_TIME_NOT_AVAILABLE 14 +# define TS_INFO_UNACCEPTED_POLICY 15 +# define TS_INFO_UNACCEPTED_EXTENSION 16 +# define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 +# define TS_INFO_SYSTEM_FAILURE 25 + + +typedef struct TS_status_info_st TS_STATUS_INFO; +typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; +typedef struct ESS_cert_id ESS_CERT_ID; +typedef struct ESS_signing_cert ESS_SIGNING_CERT; + +DEFINE_STACK_OF(ESS_CERT_ID) + +typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; +typedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2; + +DEFINE_STACK_OF(ESS_CERT_ID_V2) + +typedef struct TS_resp_st TS_RESP; + +TS_REQ *TS_REQ_new(void); +void TS_REQ_free(TS_REQ *a); +int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); +TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); + +TS_REQ *TS_REQ_dup(TS_REQ *a); + +#ifndef OPENSSL_NO_STDIO +TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); +int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); +#endif +TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); +int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); +void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, + const unsigned char **pp, long length); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); + +#ifndef OPENSSL_NO_STDIO +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); +#endif +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT *a); + +TS_RESP *TS_RESP_new(void); +void TS_RESP_free(TS_RESP *a); +int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); +TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); +TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); +TS_RESP *TS_RESP_dup(TS_RESP *a); + +#ifndef OPENSSL_NO_STDIO +TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); +int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); +#endif +TS_RESP *d2i_TS_RESP_bio(BIO *bio, TS_RESP **a); +int i2d_TS_RESP_bio(BIO *bio, TS_RESP *a); + +TS_STATUS_INFO *TS_STATUS_INFO_new(void); +void TS_STATUS_INFO_free(TS_STATUS_INFO *a); +int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); +TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, + const unsigned char **pp, long length); +TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); + +TS_TST_INFO *TS_TST_INFO_new(void); +void TS_TST_INFO_free(TS_TST_INFO *a); +int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); +TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, + long length); +TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); + +#ifndef OPENSSL_NO_STDIO +TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); +#endif +TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO **a); +int i2d_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO *a); + +TS_ACCURACY *TS_ACCURACY_new(void); +void TS_ACCURACY_free(TS_ACCURACY *a); +int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); +TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, + long length); +TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); + +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); +void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); +int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **pp); +ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, + const unsigned char **pp, + long length); +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); + +ESS_CERT_ID *ESS_CERT_ID_new(void); +void ESS_CERT_ID_free(ESS_CERT_ID *a); +int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); +ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, + long length); +ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); + +ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); +void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); +int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **pp); +ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, + const unsigned char **pp, long length); +ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); + +ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new(void); +void ESS_CERT_ID_V2_free(ESS_CERT_ID_V2 *a); +int i2d_ESS_CERT_ID_V2(const ESS_CERT_ID_V2 *a, unsigned char **pp); +ESS_CERT_ID_V2 *d2i_ESS_CERT_ID_V2(ESS_CERT_ID_V2 **a, + const unsigned char **pp, long length); +ESS_CERT_ID_V2 *ESS_CERT_ID_V2_dup(ESS_CERT_ID_V2 *a); + +ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_new(void); +void ESS_SIGNING_CERT_V2_free(ESS_SIGNING_CERT_V2 *a); +int i2d_ESS_SIGNING_CERT_V2(const ESS_SIGNING_CERT_V2 *a, unsigned char **pp); +ESS_SIGNING_CERT_V2 *d2i_ESS_SIGNING_CERT_V2(ESS_SIGNING_CERT_V2 **a, + const unsigned char **pp, + long length); +ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_dup(ESS_SIGNING_CERT_V2 *a); + +int TS_REQ_set_version(TS_REQ *a, long version); +long TS_REQ_get_version(const TS_REQ *a); + +int TS_STATUS_INFO_set_status(TS_STATUS_INFO *a, int i); +const ASN1_INTEGER *TS_STATUS_INFO_get0_status(const TS_STATUS_INFO *a); + +const STACK_OF(ASN1_UTF8STRING) * +TS_STATUS_INFO_get0_text(const TS_STATUS_INFO *a); + +const ASN1_BIT_STRING * +TS_STATUS_INFO_get0_failure_info(const TS_STATUS_INFO *a); + +int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a); + +int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg); +X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a); + +int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int len); +ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a); + +int TS_REQ_set_policy_id(TS_REQ *a, const ASN1_OBJECT *policy); +ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a); + +int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a); + +int TS_REQ_set_cert_req(TS_REQ *a, int cert_req); +int TS_REQ_get_cert_req(const TS_REQ *a); + +STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a); +void TS_REQ_ext_free(TS_REQ *a); +int TS_REQ_get_ext_count(TS_REQ *a); +int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos); +int TS_REQ_get_ext_by_OBJ(TS_REQ *a, const ASN1_OBJECT *obj, int lastpos); +int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos); +X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc); +X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc); +int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc); +void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx); + +/* Function declarations for TS_REQ defined in ts/ts_req_print.c */ + +int TS_REQ_print_bio(BIO *bio, TS_REQ *a); + +/* Function declarations for TS_RESP defined in ts/ts_resp_utils.c */ + +int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *info); +TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a); + +/* Caller loses ownership of PKCS7 and TS_TST_INFO objects. */ +void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info); +PKCS7 *TS_RESP_get_token(TS_RESP *a); +TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a); + +int TS_TST_INFO_set_version(TS_TST_INFO *a, long version); +long TS_TST_INFO_get_version(const TS_TST_INFO *a); + +int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id); +ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a); + +int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a); + +int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial); +const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a); + +int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime); +const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a); + +int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy); +TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a); + +int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds); +const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a); + +int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis); +const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a); + +int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros); +const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a); + +int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering); +int TS_TST_INFO_get_ordering(const TS_TST_INFO *a); + +int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a); + +int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa); +GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a); + +STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a); +void TS_TST_INFO_ext_free(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_count(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos); +int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, const ASN1_OBJECT *obj, + int lastpos); +int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos); +X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc); +X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc); +int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc); +void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int *idx); + +/* + * Declarations related to response generation, defined in ts/ts_resp_sign.c. + */ + +/* Optional flags for response generation. */ + +/* Don't include the TSA name in response. */ +# define TS_TSA_NAME 0x01 + +/* Set ordering to true in response. */ +# define TS_ORDERING 0x02 + +/* + * Include the signer certificate and the other specified certificates in + * the ESS signing certificate attribute beside the PKCS7 signed data. + * Only the signer certificates is included by default. + */ +# define TS_ESS_CERT_ID_CHAIN 0x04 + +/* Forward declaration. */ +struct TS_resp_ctx; + +/* This must return a unique number less than 160 bits long. */ +typedef ASN1_INTEGER *(*TS_serial_cb) (struct TS_resp_ctx *, void *); + +/* + * This must return the seconds and microseconds since Jan 1, 1970 in the sec + * and usec variables allocated by the caller. Return non-zero for success + * and zero for failure. + */ +typedef int (*TS_time_cb) (struct TS_resp_ctx *, void *, long *sec, + long *usec); + +/* + * This must process the given extension. It can modify the TS_TST_INFO + * object of the context. Return values: !0 (processed), 0 (error, it must + * set the status info/failure info of the response). + */ +typedef int (*TS_extension_cb) (struct TS_resp_ctx *, X509_EXTENSION *, + void *); + +typedef struct TS_resp_ctx TS_RESP_CTX; + +DEFINE_STACK_OF_CONST(EVP_MD) + +/* Creates a response context that can be used for generating responses. */ +TS_RESP_CTX *TS_RESP_CTX_new(void); +void TS_RESP_CTX_free(TS_RESP_CTX *ctx); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key); + +int TS_RESP_CTX_set_signer_digest(TS_RESP_CTX *ctx, + const EVP_MD *signer_digest); +int TS_RESP_CTX_set_ess_cert_id_digest(TS_RESP_CTX *ctx, const EVP_MD *md); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *def_policy); + +/* No additional certs are included in the response by default. */ +int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs); + +/* + * Adds a new acceptable policy, only the default policy is accepted by + * default. + */ +int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *policy); + +/* + * Adds a new acceptable message digest. Note that no message digests are + * accepted by default. The md argument is shared with the caller. + */ +int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md); + +/* Accuracy is not included by default. */ +int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, + int secs, int millis, int micros); + +/* + * Clock precision digits, i.e. the number of decimal digits: '0' means sec, + * '3' msec, '6' usec, and so on. Default is 0. + */ +int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, + unsigned clock_precision_digits); +/* At most we accept usec precision. */ +# define TS_MAX_CLOCK_PRECISION_DIGITS 6 + +/* Maximum status message length */ +# define TS_MAX_STATUS_LENGTH (1024 * 1024) + +/* No flags are set by default. */ +void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags); + +/* Default callback always returns a constant. */ +void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void *data); + +/* Default callback uses the gettimeofday() and gmtime() system calls. */ +void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void *data); + +/* + * Default callback rejects all extensions. The extension callback is called + * when the TS_TST_INFO object is already set up and not signed yet. + */ +/* FIXME: extension handling is not tested yet. */ +void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, + TS_extension_cb cb, void *data); + +/* The following methods can be used in the callbacks. */ +int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, + int status, const char *text); + +/* Sets the status info only if it is still TS_STATUS_GRANTED. */ +int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx, + int status, const char *text); + +int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure); + +/* The get methods below can be used in the extension callback. */ +TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx); + +TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx); + +/* + * Creates the signed TS_TST_INFO and puts it in TS_RESP. + * In case of errors it sets the status info properly. + * Returns NULL only in case of memory allocation/fatal error. + */ +TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio); + +/* + * Declarations related to response verification, + * they are defined in ts/ts_resp_verify.c. + */ + +int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, + X509_STORE *store, X509 **signer_out); + +/* Context structure for the generic verify method. */ + +/* Verify the signer's certificate and the signature of the response. */ +# define TS_VFY_SIGNATURE (1u << 0) +/* Verify the version number of the response. */ +# define TS_VFY_VERSION (1u << 1) +/* Verify if the policy supplied by the user matches the policy of the TSA. */ +# define TS_VFY_POLICY (1u << 2) +/* + * Verify the message imprint provided by the user. This flag should not be + * specified with TS_VFY_DATA. + */ +# define TS_VFY_IMPRINT (1u << 3) +/* + * Verify the message imprint computed by the verify method from the user + * provided data and the MD algorithm of the response. This flag should not + * be specified with TS_VFY_IMPRINT. + */ +# define TS_VFY_DATA (1u << 4) +/* Verify the nonce value. */ +# define TS_VFY_NONCE (1u << 5) +/* Verify if the TSA name field matches the signer certificate. */ +# define TS_VFY_SIGNER (1u << 6) +/* Verify if the TSA name field equals to the user provided name. */ +# define TS_VFY_TSA_NAME (1u << 7) + +/* You can use the following convenience constants. */ +# define TS_VFY_ALL_IMPRINT (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_IMPRINT \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) +# define TS_VFY_ALL_DATA (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_DATA \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) + +typedef struct TS_verify_ctx TS_VERIFY_CTX; + +int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response); +int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token); + +/* + * Declarations related to response verification context, + */ +TS_VERIFY_CTX *TS_VERIFY_CTX_new(void); +void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); +int TS_VERIFY_CTX_set_flags(TS_VERIFY_CTX *ctx, int f); +int TS_VERIFY_CTX_add_flags(TS_VERIFY_CTX *ctx, int f); +BIO *TS_VERIFY_CTX_set_data(TS_VERIFY_CTX *ctx, BIO *b); +unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx, + unsigned char *hexstr, long len); +X509_STORE *TS_VERIFY_CTX_set_store(TS_VERIFY_CTX *ctx, X509_STORE *s); +STACK_OF(X509) *TS_VERIFY_CTS_set_certs(TS_VERIFY_CTX *ctx, STACK_OF(X509) *certs); + +/*- + * If ctx is NULL, it allocates and returns a new object, otherwise + * it returns ctx. It initialises all the members as follows: + * flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE) + * certs = NULL + * store = NULL + * policy = policy from the request or NULL if absent (in this case + * TS_VFY_POLICY is cleared from flags as well) + * md_alg = MD algorithm from request + * imprint, imprint_len = imprint from request + * data = NULL + * nonce, nonce_len = nonce from the request or NULL if absent (in this case + * TS_VFY_NONCE is cleared from flags as well) + * tsa_name = NULL + * Important: after calling this method TS_VFY_SIGNATURE should be added! + */ +TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx); + +/* Function declarations for TS_RESP defined in ts/ts_resp_print.c */ + +int TS_RESP_print_bio(BIO *bio, TS_RESP *a); +int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a); +int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a); + +/* Common utility functions defined in ts/ts_lib.c */ + +int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num); +int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj); +int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions); +int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg); +int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg); + +/* + * Function declarations for handling configuration options, defined in + * ts/ts_conf.c + */ + +X509 *TS_CONF_load_cert(const char *file); +STACK_OF(X509) *TS_CONF_load_certs(const char *file); +EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass); +const char *TS_CONF_get_tsa_section(CONF *conf, const char *section); +int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb, + TS_RESP_CTX *ctx); +#ifndef OPENSSL_NO_ENGINE +int TS_CONF_set_crypto_device(CONF *conf, const char *section, + const char *device); +int TS_CONF_set_default_engine(const char *name); +#endif +int TS_CONF_set_signer_cert(CONF *conf, const char *section, + const char *cert, TS_RESP_CTX *ctx); +int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_key(CONF *conf, const char *section, + const char *key, const char *pass, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_digest(CONF *conf, const char *section, + const char *md, TS_RESP_CTX *ctx); +int TS_CONF_set_def_policy(CONF *conf, const char *section, + const char *policy, TS_RESP_CTX *ctx); +int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_clock_precision_digits(CONF *conf, const char *section, + TS_RESP_CTX *ctx); +int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section, + TS_RESP_CTX *ctx); +int TS_CONF_set_ess_cert_id_digest(CONF *conf, const char *section, + TS_RESP_CTX *ctx); + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/openssl/1.1/include/openssl/tserr.h b/openssl/1.1/include/openssl/tserr.h new file mode 100644 index 0000000..3e04925 --- /dev/null +++ b/openssl/1.1/include/openssl/tserr.h @@ -0,0 +1,128 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_TSERR_H +# define HEADER_TSERR_H + +# include + +# ifndef OPENSSL_NO_TS + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_TS_strings(void); + +/* + * TS function codes. + */ +# define TS_F_DEF_SERIAL_CB 110 +# define TS_F_DEF_TIME_CB 111 +# define TS_F_ESS_ADD_SIGNING_CERT 112 +# define TS_F_ESS_ADD_SIGNING_CERT_V2 147 +# define TS_F_ESS_CERT_ID_NEW_INIT 113 +# define TS_F_ESS_CERT_ID_V2_NEW_INIT 156 +# define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 +# define TS_F_ESS_SIGNING_CERT_V2_NEW_INIT 157 +# define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 +# define TS_F_PKCS7_TO_TS_TST_INFO 148 +# define TS_F_TS_ACCURACY_SET_MICROS 115 +# define TS_F_TS_ACCURACY_SET_MILLIS 116 +# define TS_F_TS_ACCURACY_SET_SECONDS 117 +# define TS_F_TS_CHECK_IMPRINTS 100 +# define TS_F_TS_CHECK_NONCES 101 +# define TS_F_TS_CHECK_POLICY 102 +# define TS_F_TS_CHECK_SIGNING_CERTS 103 +# define TS_F_TS_CHECK_STATUS_INFO 104 +# define TS_F_TS_COMPUTE_IMPRINT 145 +# define TS_F_TS_CONF_INVALID 151 +# define TS_F_TS_CONF_LOAD_CERT 153 +# define TS_F_TS_CONF_LOAD_CERTS 154 +# define TS_F_TS_CONF_LOAD_KEY 155 +# define TS_F_TS_CONF_LOOKUP_FAIL 152 +# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 +# define TS_F_TS_GET_STATUS_TEXT 105 +# define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 +# define TS_F_TS_REQ_SET_MSG_IMPRINT 119 +# define TS_F_TS_REQ_SET_NONCE 120 +# define TS_F_TS_REQ_SET_POLICY_ID 121 +# define TS_F_TS_RESP_CREATE_RESPONSE 122 +# define TS_F_TS_RESP_CREATE_TST_INFO 123 +# define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 +# define TS_F_TS_RESP_CTX_ADD_MD 125 +# define TS_F_TS_RESP_CTX_ADD_POLICY 126 +# define TS_F_TS_RESP_CTX_NEW 127 +# define TS_F_TS_RESP_CTX_SET_ACCURACY 128 +# define TS_F_TS_RESP_CTX_SET_CERTS 129 +# define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 +# define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 +# define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 +# define TS_F_TS_RESP_GET_POLICY 133 +# define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 +# define TS_F_TS_RESP_SET_STATUS_INFO 135 +# define TS_F_TS_RESP_SET_TST_INFO 150 +# define TS_F_TS_RESP_SIGN 136 +# define TS_F_TS_RESP_VERIFY_SIGNATURE 106 +# define TS_F_TS_TST_INFO_SET_ACCURACY 137 +# define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 +# define TS_F_TS_TST_INFO_SET_NONCE 139 +# define TS_F_TS_TST_INFO_SET_POLICY_ID 140 +# define TS_F_TS_TST_INFO_SET_SERIAL 141 +# define TS_F_TS_TST_INFO_SET_TIME 142 +# define TS_F_TS_TST_INFO_SET_TSA 143 +# define TS_F_TS_VERIFY 108 +# define TS_F_TS_VERIFY_CERT 109 +# define TS_F_TS_VERIFY_CTX_NEW 144 + +/* + * TS reason codes. + */ +# define TS_R_BAD_PKCS7_TYPE 132 +# define TS_R_BAD_TYPE 133 +# define TS_R_CANNOT_LOAD_CERT 137 +# define TS_R_CANNOT_LOAD_KEY 138 +# define TS_R_CERTIFICATE_VERIFY_ERROR 100 +# define TS_R_COULD_NOT_SET_ENGINE 127 +# define TS_R_COULD_NOT_SET_TIME 115 +# define TS_R_DETACHED_CONTENT 134 +# define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 +# define TS_R_ESS_ADD_SIGNING_CERT_V2_ERROR 139 +# define TS_R_ESS_SIGNING_CERTIFICATE_ERROR 101 +# define TS_R_INVALID_NULL_POINTER 102 +# define TS_R_INVALID_SIGNER_CERTIFICATE_PURPOSE 117 +# define TS_R_MESSAGE_IMPRINT_MISMATCH 103 +# define TS_R_NONCE_MISMATCH 104 +# define TS_R_NONCE_NOT_RETURNED 105 +# define TS_R_NO_CONTENT 106 +# define TS_R_NO_TIME_STAMP_TOKEN 107 +# define TS_R_PKCS7_ADD_SIGNATURE_ERROR 118 +# define TS_R_PKCS7_ADD_SIGNED_ATTR_ERROR 119 +# define TS_R_PKCS7_TO_TS_TST_INFO_FAILED 129 +# define TS_R_POLICY_MISMATCH 108 +# define TS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 120 +# define TS_R_RESPONSE_SETUP_ERROR 121 +# define TS_R_SIGNATURE_FAILURE 109 +# define TS_R_THERE_MUST_BE_ONE_SIGNER 110 +# define TS_R_TIME_SYSCALL_ERROR 122 +# define TS_R_TOKEN_NOT_PRESENT 130 +# define TS_R_TOKEN_PRESENT 131 +# define TS_R_TSA_NAME_MISMATCH 111 +# define TS_R_TSA_UNTRUSTED 112 +# define TS_R_TST_INFO_SETUP_ERROR 123 +# define TS_R_TS_DATASIGN 124 +# define TS_R_UNACCEPTABLE_POLICY 125 +# define TS_R_UNSUPPORTED_MD_ALGORITHM 126 +# define TS_R_UNSUPPORTED_VERSION 113 +# define TS_R_VAR_BAD_VALUE 135 +# define TS_R_VAR_LOOKUP_FAILURE 136 +# define TS_R_WRONG_CONTENT_TYPE 114 + +# endif +#endif diff --git a/openssl/1.1/include/openssl/txt_db.h b/openssl/1.1/include/openssl/txt_db.h new file mode 100644 index 0000000..ec981a4 --- /dev/null +++ b/openssl/1.1/include/openssl/txt_db.h @@ -0,0 +1,57 @@ +/* + * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_TXT_DB_H +# define HEADER_TXT_DB_H + +# include +# include +# include +# include + +# define DB_ERROR_OK 0 +# define DB_ERROR_MALLOC 1 +# define DB_ERROR_INDEX_CLASH 2 +# define DB_ERROR_INDEX_OUT_OF_RANGE 3 +# define DB_ERROR_NO_INDEX 4 +# define DB_ERROR_INSERT_INDEX_CLASH 5 +# define DB_ERROR_WRONG_NUM_FIELDS 6 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OPENSSL_STRING *OPENSSL_PSTRING; +DEFINE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) + +typedef struct txt_db_st { + int num_fields; + STACK_OF(OPENSSL_PSTRING) *data; + LHASH_OF(OPENSSL_STRING) **index; + int (**qual) (OPENSSL_STRING *); + long error; + long arg1; + long arg2; + OPENSSL_STRING *arg_row; +} TXT_DB; + +TXT_DB *TXT_DB_read(BIO *in, int num); +long TXT_DB_write(BIO *out, TXT_DB *db); +int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *), + OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC cmp); +void TXT_DB_free(TXT_DB *db); +OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, + OPENSSL_STRING *value); +int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openssl/1.1/include/openssl/ui.h b/openssl/1.1/include/openssl/ui.h new file mode 100644 index 0000000..7c721ec --- /dev/null +++ b/openssl/1.1/include/openssl/ui.h @@ -0,0 +1,368 @@ +/* + * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_UI_H +# define HEADER_UI_H + +# include + +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include +# include +# include +# include + +/* For compatibility reasons, the macro OPENSSL_NO_UI is currently retained */ +# if OPENSSL_API_COMPAT < 0x10200000L +# ifdef OPENSSL_NO_UI_CONSOLE +# define OPENSSL_NO_UI +# endif +# endif + +# ifdef __cplusplus +extern "C" { +# endif + +/* + * All the following functions return -1 or NULL on error and in some cases + * (UI_process()) -2 if interrupted or in some other way cancelled. When + * everything is fine, they return 0, a positive value or a non-NULL pointer, + * all depending on their purpose. + */ + +/* Creators and destructor. */ +UI *UI_new(void); +UI *UI_new_method(const UI_METHOD *method); +void UI_free(UI *ui); + +/*- + The following functions are used to add strings to be printed and prompt + strings to prompt for data. The names are UI_{add,dup}__string + and UI_{add,dup}_input_boolean. + + UI_{add,dup}__string have the following meanings: + add add a text or prompt string. The pointers given to these + functions are used verbatim, no copying is done. + dup make a copy of the text or prompt string, then add the copy + to the collection of strings in the user interface. + + The function is a name for the functionality that the given + string shall be used for. It can be one of: + input use the string as data prompt. + verify use the string as verification prompt. This + is used to verify a previous input. + info use the string for informational output. + error use the string for error output. + Honestly, there's currently no difference between info and error for the + moment. + + UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", + and are typically used when one wants to prompt for a yes/no response. + + All of the functions in this group take a UI and a prompt string. + The string input and verify addition functions also take a flag argument, + a buffer for the result to end up with, a minimum input size and a maximum + input size (the result buffer MUST be large enough to be able to contain + the maximum number of characters). Additionally, the verify addition + functions takes another buffer to compare the result against. + The boolean input functions take an action description string (which should + be safe to ignore if the expected user action is obvious, for example with + a dialog box with an OK button and a Cancel button), a string of acceptable + characters to mean OK and to mean Cancel. The two last strings are checked + to make sure they don't have common characters. Additionally, the same + flag argument as for the string input is taken, as well as a result buffer. + The result buffer is required to be at least one byte long. Depending on + the answer, the first character from the OK or the Cancel character strings + will be stored in the first byte of the result buffer. No NUL will be + added, so the result is *not* a string. + + On success, the all return an index of the added information. That index + is useful when retrieving results with UI_get0_result(). */ +int UI_add_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_dup_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_add_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_dup_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_add_info_string(UI *ui, const char *text); +int UI_dup_info_string(UI *ui, const char *text); +int UI_add_error_string(UI *ui, const char *text); +int UI_dup_error_string(UI *ui, const char *text); + +/* These are the possible flags. They can be or'ed together. */ +/* Use to have echoing of input */ +# define UI_INPUT_FLAG_ECHO 0x01 +/* + * Use a default password. Where that password is found is completely up to + * the application, it might for example be in the user data set with + * UI_add_user_data(). It is not recommended to have more than one input in + * each UI being marked with this flag, or the application might get + * confused. + */ +# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 + +/*- + * The user of these routines may want to define flags of their own. The core + * UI won't look at those, but will pass them on to the method routines. They + * must use higher bits so they don't get confused with the UI bits above. + * UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good + * example of use is this: + * + * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) + * +*/ +# define UI_INPUT_FLAG_USER_BASE 16 + +/*- + * The following function helps construct a prompt. object_desc is a + * textual short description of the object, for example "pass phrase", + * and object_name is the name of the object (might be a card name or + * a file name. + * The returned string shall always be allocated on the heap with + * OPENSSL_malloc(), and need to be free'd with OPENSSL_free(). + * + * If the ui_method doesn't contain a pointer to a user-defined prompt + * constructor, a default string is built, looking like this: + * + * "Enter {object_desc} for {object_name}:" + * + * So, if object_desc has the value "pass phrase" and object_name has + * the value "foo.key", the resulting string is: + * + * "Enter pass phrase for foo.key:" +*/ +char *UI_construct_prompt(UI *ui_method, + const char *object_desc, const char *object_name); + +/* + * The following function is used to store a pointer to user-specific data. + * Any previous such pointer will be returned and replaced. + * + * For callback purposes, this function makes a lot more sense than using + * ex_data, since the latter requires that different parts of OpenSSL or + * applications share the same ex_data index. + * + * Note that the UI_OpenSSL() method completely ignores the user data. Other + * methods may not, however. + */ +void *UI_add_user_data(UI *ui, void *user_data); +/* + * Alternatively, this function is used to duplicate the user data. + * This uses the duplicator method function. The destroy function will + * be used to free the user data in this case. + */ +int UI_dup_user_data(UI *ui, void *user_data); +/* We need a user data retrieving function as well. */ +void *UI_get0_user_data(UI *ui); + +/* Return the result associated with a prompt given with the index i. */ +const char *UI_get0_result(UI *ui, int i); +int UI_get_result_length(UI *ui, int i); + +/* When all strings have been added, process the whole thing. */ +int UI_process(UI *ui); + +/* + * Give a user interface parameterised control commands. This can be used to + * send down an integer, a data pointer or a function pointer, as well as be + * used to get information from a UI. + */ +int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); + +/* The commands */ +/* + * Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the + * OpenSSL error stack before printing any info or added error messages and + * before any prompting. + */ +# define UI_CTRL_PRINT_ERRORS 1 +/* + * Check if a UI_process() is possible to do again with the same instance of + * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 + * if not. + */ +# define UI_CTRL_IS_REDOABLE 2 + +/* Some methods may use extra data */ +# define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) +# define UI_get_app_data(s) UI_get_ex_data(s,0) + +# define UI_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_UI, l, p, newf, dupf, freef) +int UI_set_ex_data(UI *r, int idx, void *arg); +void *UI_get_ex_data(UI *r, int idx); + +/* Use specific methods instead of the built-in one */ +void UI_set_default_method(const UI_METHOD *meth); +const UI_METHOD *UI_get_default_method(void); +const UI_METHOD *UI_get_method(UI *ui); +const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); + +# ifndef OPENSSL_NO_UI_CONSOLE + +/* The method with all the built-in thingies */ +UI_METHOD *UI_OpenSSL(void); + +# endif + +/* + * NULL method. Literally does nothing, but may serve as a placeholder + * to avoid internal default. + */ +const UI_METHOD *UI_null(void); + +/* ---------- For method writers ---------- */ +/*- + A method contains a number of functions that implement the low level + of the User Interface. The functions are: + + an opener This function starts a session, maybe by opening + a channel to a tty, or by opening a window. + a writer This function is called to write a given string, + maybe to the tty, maybe as a field label in a + window. + a flusher This function is called to flush everything that + has been output so far. It can be used to actually + display a dialog box after it has been built. + a reader This function is called to read a given prompt, + maybe from the tty, maybe from a field in a + window. Note that it's called with all string + structures, not only the prompt ones, so it must + check such things itself. + a closer This function closes the session, maybe by closing + the channel to the tty, or closing the window. + + All these functions are expected to return: + + 0 on error. + 1 on success. + -1 on out-of-band events, for example if some prompting has + been canceled (by pressing Ctrl-C, for example). This is + only checked when returned by the flusher or the reader. + + The way this is used, the opener is first called, then the writer for all + strings, then the flusher, then the reader for all strings and finally the + closer. Note that if you want to prompt from a terminal or other command + line interface, the best is to have the reader also write the prompts + instead of having the writer do it. If you want to prompt from a dialog + box, the writer can be used to build up the contents of the box, and the + flusher to actually display the box and run the event loop until all data + has been given, after which the reader only grabs the given data and puts + them back into the UI strings. + + All method functions take a UI as argument. Additionally, the writer and + the reader take a UI_STRING. +*/ + +/* + * The UI_STRING type is the data structure that contains all the needed info + * about a string or a prompt, including test data for a verification prompt. + */ +typedef struct ui_string_st UI_STRING; +DEFINE_STACK_OF(UI_STRING) + +/* + * The different types of strings that are currently supported. This is only + * needed by method authors. + */ +enum UI_string_types { + UIT_NONE = 0, + UIT_PROMPT, /* Prompt for a string */ + UIT_VERIFY, /* Prompt for a string and verify */ + UIT_BOOLEAN, /* Prompt for a yes/no response */ + UIT_INFO, /* Send info to the user */ + UIT_ERROR /* Send an error message to the user */ +}; + +/* Create and manipulate methods */ +UI_METHOD *UI_create_method(const char *name); +void UI_destroy_method(UI_METHOD *ui_method); +int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui)); +int UI_method_set_writer(UI_METHOD *method, + int (*writer) (UI *ui, UI_STRING *uis)); +int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui)); +int UI_method_set_reader(UI_METHOD *method, + int (*reader) (UI *ui, UI_STRING *uis)); +int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui)); +int UI_method_set_data_duplicator(UI_METHOD *method, + void *(*duplicator) (UI *ui, void *ui_data), + void (*destructor)(UI *ui, void *ui_data)); +int UI_method_set_prompt_constructor(UI_METHOD *method, + char *(*prompt_constructor) (UI *ui, + const char + *object_desc, + const char + *object_name)); +int UI_method_set_ex_data(UI_METHOD *method, int idx, void *data); +int (*UI_method_get_opener(const UI_METHOD *method)) (UI *); +int (*UI_method_get_writer(const UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_flusher(const UI_METHOD *method)) (UI *); +int (*UI_method_get_reader(const UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_closer(const UI_METHOD *method)) (UI *); +char *(*UI_method_get_prompt_constructor(const UI_METHOD *method)) + (UI *, const char *, const char *); +void *(*UI_method_get_data_duplicator(const UI_METHOD *method)) (UI *, void *); +void (*UI_method_get_data_destructor(const UI_METHOD *method)) (UI *, void *); +const void *UI_method_get_ex_data(const UI_METHOD *method, int idx); + +/* + * The following functions are helpers for method writers to access relevant + * data from a UI_STRING. + */ + +/* Return type of the UI_STRING */ +enum UI_string_types UI_get_string_type(UI_STRING *uis); +/* Return input flags of the UI_STRING */ +int UI_get_input_flags(UI_STRING *uis); +/* Return the actual string to output (the prompt, info or error) */ +const char *UI_get0_output_string(UI_STRING *uis); +/* + * Return the optional action string to output (the boolean prompt + * instruction) + */ +const char *UI_get0_action_string(UI_STRING *uis); +/* Return the result of a prompt */ +const char *UI_get0_result_string(UI_STRING *uis); +int UI_get_result_string_length(UI_STRING *uis); +/* + * Return the string to test the result against. Only useful with verifies. + */ +const char *UI_get0_test_string(UI_STRING *uis); +/* Return the required minimum size of the result */ +int UI_get_result_minsize(UI_STRING *uis); +/* Return the required maximum size of the result */ +int UI_get_result_maxsize(UI_STRING *uis); +/* Set the result of a UI_STRING. */ +int UI_set_result(UI *ui, UI_STRING *uis, const char *result); +int UI_set_result_ex(UI *ui, UI_STRING *uis, const char *result, int len); + +/* A couple of popular utility functions */ +int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, + int verify); +int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, + int verify); +UI_METHOD *UI_UTIL_wrap_read_pem_callback(pem_password_cb *cb, int rwflag); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/uierr.h b/openssl/1.1/include/openssl/uierr.h new file mode 100644 index 0000000..72fd9a9 --- /dev/null +++ b/openssl/1.1/include/openssl/uierr.h @@ -0,0 +1,61 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_UIERR_H +# define HEADER_UIERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_UI_strings(void); + +/* + * UI function codes. + */ +# define UI_F_CLOSE_CONSOLE 115 +# define UI_F_ECHO_CONSOLE 116 +# define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 +# define UI_F_GENERAL_ALLOCATE_PROMPT 109 +# define UI_F_NOECHO_CONSOLE 117 +# define UI_F_OPEN_CONSOLE 114 +# define UI_F_UI_CONSTRUCT_PROMPT 121 +# define UI_F_UI_CREATE_METHOD 112 +# define UI_F_UI_CTRL 111 +# define UI_F_UI_DUP_ERROR_STRING 101 +# define UI_F_UI_DUP_INFO_STRING 102 +# define UI_F_UI_DUP_INPUT_BOOLEAN 110 +# define UI_F_UI_DUP_INPUT_STRING 103 +# define UI_F_UI_DUP_USER_DATA 118 +# define UI_F_UI_DUP_VERIFY_STRING 106 +# define UI_F_UI_GET0_RESULT 107 +# define UI_F_UI_GET_RESULT_LENGTH 119 +# define UI_F_UI_NEW_METHOD 104 +# define UI_F_UI_PROCESS 113 +# define UI_F_UI_SET_RESULT 105 +# define UI_F_UI_SET_RESULT_EX 120 + +/* + * UI reason codes. + */ +# define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104 +# define UI_R_INDEX_TOO_LARGE 102 +# define UI_R_INDEX_TOO_SMALL 103 +# define UI_R_NO_RESULT_BUFFER 105 +# define UI_R_PROCESSING_ERROR 107 +# define UI_R_RESULT_TOO_LARGE 100 +# define UI_R_RESULT_TOO_SMALL 101 +# define UI_R_SYSASSIGN_ERROR 109 +# define UI_R_SYSDASSGN_ERROR 110 +# define UI_R_SYSQIOW_ERROR 111 +# define UI_R_UNKNOWN_CONTROL_COMMAND 106 +# define UI_R_UNKNOWN_TTYGET_ERRNO_VALUE 108 +# define UI_R_USER_DATA_DUPLICATION_UNSUPPORTED 112 + +#endif diff --git a/openssl/1.1/include/openssl/whrlpool.h b/openssl/1.1/include/openssl/whrlpool.h new file mode 100644 index 0000000..20ea350 --- /dev/null +++ b/openssl/1.1/include/openssl/whrlpool.h @@ -0,0 +1,48 @@ +/* + * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_WHRLPOOL_H +# define HEADER_WHRLPOOL_H + +#include + +# ifndef OPENSSL_NO_WHIRLPOOL +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define WHIRLPOOL_DIGEST_LENGTH (512/8) +# define WHIRLPOOL_BBLOCK 512 +# define WHIRLPOOL_COUNTER (256/8) + +typedef struct { + union { + unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; + /* double q is here to ensure 64-bit alignment */ + double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)]; + } H; + unsigned char data[WHIRLPOOL_BBLOCK / 8]; + unsigned int bitoff; + size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; +} WHIRLPOOL_CTX; + +int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); +int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); +void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); +int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); +unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/openssl/1.1/include/openssl/x509.h b/openssl/1.1/include/openssl/x509.h new file mode 100644 index 0000000..39ca0ba --- /dev/null +++ b/openssl/1.1/include/openssl/x509.h @@ -0,0 +1,1047 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_X509_H +# define HEADER_X509_H + +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# include +# include +# endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Flags for X509_get_signature_info() */ +/* Signature info is valid */ +# define X509_SIG_INFO_VALID 0x1 +/* Signature is suitable for TLS use */ +# define X509_SIG_INFO_TLS 0x2 + +# define X509_FILETYPE_PEM 1 +# define X509_FILETYPE_ASN1 2 +# define X509_FILETYPE_DEFAULT 3 + +# define X509v3_KU_DIGITAL_SIGNATURE 0x0080 +# define X509v3_KU_NON_REPUDIATION 0x0040 +# define X509v3_KU_KEY_ENCIPHERMENT 0x0020 +# define X509v3_KU_DATA_ENCIPHERMENT 0x0010 +# define X509v3_KU_KEY_AGREEMENT 0x0008 +# define X509v3_KU_KEY_CERT_SIGN 0x0004 +# define X509v3_KU_CRL_SIGN 0x0002 +# define X509v3_KU_ENCIPHER_ONLY 0x0001 +# define X509v3_KU_DECIPHER_ONLY 0x8000 +# define X509v3_KU_UNDEF 0xffff + +struct X509_algor_st { + ASN1_OBJECT *algorithm; + ASN1_TYPE *parameter; +} /* X509_ALGOR */ ; + +typedef STACK_OF(X509_ALGOR) X509_ALGORS; + +typedef struct X509_val_st { + ASN1_TIME *notBefore; + ASN1_TIME *notAfter; +} X509_VAL; + +typedef struct X509_sig_st X509_SIG; + +typedef struct X509_name_entry_st X509_NAME_ENTRY; + +DEFINE_STACK_OF(X509_NAME_ENTRY) + +DEFINE_STACK_OF(X509_NAME) + +# define X509_EX_V_NETSCAPE_HACK 0x8000 +# define X509_EX_V_INIT 0x0001 +typedef struct X509_extension_st X509_EXTENSION; + +typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; + +DEFINE_STACK_OF(X509_EXTENSION) + +typedef struct x509_attributes_st X509_ATTRIBUTE; + +DEFINE_STACK_OF(X509_ATTRIBUTE) + +typedef struct X509_req_info_st X509_REQ_INFO; + +typedef struct X509_req_st X509_REQ; + +typedef struct x509_cert_aux_st X509_CERT_AUX; + +typedef struct x509_cinf_st X509_CINF; + +DEFINE_STACK_OF(X509) + +/* This is used for a table of trust checking functions */ + +typedef struct x509_trust_st { + int trust; + int flags; + int (*check_trust) (struct x509_trust_st *, X509 *, int); + char *name; + int arg1; + void *arg2; +} X509_TRUST; + +DEFINE_STACK_OF(X509_TRUST) + +/* standard trust ids */ + +# define X509_TRUST_DEFAULT 0 /* Only valid in purpose settings */ + +# define X509_TRUST_COMPAT 1 +# define X509_TRUST_SSL_CLIENT 2 +# define X509_TRUST_SSL_SERVER 3 +# define X509_TRUST_EMAIL 4 +# define X509_TRUST_OBJECT_SIGN 5 +# define X509_TRUST_OCSP_SIGN 6 +# define X509_TRUST_OCSP_REQUEST 7 +# define X509_TRUST_TSA 8 + +/* Keep these up to date! */ +# define X509_TRUST_MIN 1 +# define X509_TRUST_MAX 8 + +/* trust_flags values */ +# define X509_TRUST_DYNAMIC (1U << 0) +# define X509_TRUST_DYNAMIC_NAME (1U << 1) +/* No compat trust if self-signed, preempts "DO_SS" */ +# define X509_TRUST_NO_SS_COMPAT (1U << 2) +/* Compat trust if no explicit accepted trust EKUs */ +# define X509_TRUST_DO_SS_COMPAT (1U << 3) +/* Accept "anyEKU" as a wildcard trust OID */ +# define X509_TRUST_OK_ANY_EKU (1U << 4) + +/* check_trust return codes */ + +# define X509_TRUST_TRUSTED 1 +# define X509_TRUST_REJECTED 2 +# define X509_TRUST_UNTRUSTED 3 + +/* Flags for X509_print_ex() */ + +# define X509_FLAG_COMPAT 0 +# define X509_FLAG_NO_HEADER 1L +# define X509_FLAG_NO_VERSION (1L << 1) +# define X509_FLAG_NO_SERIAL (1L << 2) +# define X509_FLAG_NO_SIGNAME (1L << 3) +# define X509_FLAG_NO_ISSUER (1L << 4) +# define X509_FLAG_NO_VALIDITY (1L << 5) +# define X509_FLAG_NO_SUBJECT (1L << 6) +# define X509_FLAG_NO_PUBKEY (1L << 7) +# define X509_FLAG_NO_EXTENSIONS (1L << 8) +# define X509_FLAG_NO_SIGDUMP (1L << 9) +# define X509_FLAG_NO_AUX (1L << 10) +# define X509_FLAG_NO_ATTRIBUTES (1L << 11) +# define X509_FLAG_NO_IDS (1L << 12) + +/* Flags specific to X509_NAME_print_ex() */ + +/* The field separator information */ + +# define XN_FLAG_SEP_MASK (0xf << 16) + +# define XN_FLAG_COMPAT 0/* Traditional; use old X509_NAME_print */ +# define XN_FLAG_SEP_COMMA_PLUS (1 << 16)/* RFC2253 ,+ */ +# define XN_FLAG_SEP_CPLUS_SPC (2 << 16)/* ,+ spaced: more readable */ +# define XN_FLAG_SEP_SPLUS_SPC (3 << 16)/* ;+ spaced */ +# define XN_FLAG_SEP_MULTILINE (4 << 16)/* One line per field */ + +# define XN_FLAG_DN_REV (1 << 20)/* Reverse DN order */ + +/* How the field name is shown */ + +# define XN_FLAG_FN_MASK (0x3 << 21) + +# define XN_FLAG_FN_SN 0/* Object short name */ +# define XN_FLAG_FN_LN (1 << 21)/* Object long name */ +# define XN_FLAG_FN_OID (2 << 21)/* Always use OIDs */ +# define XN_FLAG_FN_NONE (3 << 21)/* No field names */ + +# define XN_FLAG_SPC_EQ (1 << 23)/* Put spaces round '=' */ + +/* + * This determines if we dump fields we don't recognise: RFC2253 requires + * this. + */ + +# define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) + +# define XN_FLAG_FN_ALIGN (1 << 25)/* Align field names to 20 + * characters */ + +/* Complete set of RFC2253 flags */ + +# define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ + XN_FLAG_SEP_COMMA_PLUS | \ + XN_FLAG_DN_REV | \ + XN_FLAG_FN_SN | \ + XN_FLAG_DUMP_UNKNOWN_FIELDS) + +/* readable oneline form */ + +# define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ + ASN1_STRFLGS_ESC_QUOTE | \ + XN_FLAG_SEP_CPLUS_SPC | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_SN) + +/* readable multiline form */ + +# define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + XN_FLAG_SEP_MULTILINE | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_LN | \ + XN_FLAG_FN_ALIGN) + +DEFINE_STACK_OF(X509_REVOKED) + +typedef struct X509_crl_info_st X509_CRL_INFO; + +DEFINE_STACK_OF(X509_CRL) + +typedef struct private_key_st { + int version; + /* The PKCS#8 data types */ + X509_ALGOR *enc_algor; + ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ + /* When decrypted, the following will not be NULL */ + EVP_PKEY *dec_pkey; + /* used to encrypt and decrypt */ + int key_length; + char *key_data; + int key_free; /* true if we should auto free key_data */ + /* expanded version of 'enc_algor' */ + EVP_CIPHER_INFO cipher; +} X509_PKEY; + +typedef struct X509_info_st { + X509 *x509; + X509_CRL *crl; + X509_PKEY *x_pkey; + EVP_CIPHER_INFO enc_cipher; + int enc_len; + char *enc_data; +} X509_INFO; + +DEFINE_STACK_OF(X509_INFO) + +/* + * The next 2 structures and their 8 routines are used to manipulate Netscape's + * spki structures - useful if you are writing a CA web page + */ +typedef struct Netscape_spkac_st { + X509_PUBKEY *pubkey; + ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ +} NETSCAPE_SPKAC; + +typedef struct Netscape_spki_st { + NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ + X509_ALGOR sig_algor; + ASN1_BIT_STRING *signature; +} NETSCAPE_SPKI; + +/* Netscape certificate sequence structure */ +typedef struct Netscape_certificate_sequence { + ASN1_OBJECT *type; + STACK_OF(X509) *certs; +} NETSCAPE_CERT_SEQUENCE; + +/*- Unused (and iv length is wrong) +typedef struct CBCParameter_st + { + unsigned char iv[8]; + } CBC_PARAM; +*/ + +/* Password based encryption structure */ + +typedef struct PBEPARAM_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; +} PBEPARAM; + +/* Password based encryption V2 structures */ + +typedef struct PBE2PARAM_st { + X509_ALGOR *keyfunc; + X509_ALGOR *encryption; +} PBE2PARAM; + +typedef struct PBKDF2PARAM_st { +/* Usually OCTET STRING but could be anything */ + ASN1_TYPE *salt; + ASN1_INTEGER *iter; + ASN1_INTEGER *keylength; + X509_ALGOR *prf; +} PBKDF2PARAM; + +#ifndef OPENSSL_NO_SCRYPT +typedef struct SCRYPT_PARAMS_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *costParameter; + ASN1_INTEGER *blockSize; + ASN1_INTEGER *parallelizationParameter; + ASN1_INTEGER *keyLength; +} SCRYPT_PARAMS; +#endif + +#ifdef __cplusplus +} +#endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define X509_EXT_PACK_UNKNOWN 1 +# define X509_EXT_PACK_STRING 2 + +# define X509_extract_key(x) X509_get_pubkey(x)/*****/ +# define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) +# define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) + +void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); +X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), + int (*crl_free) (X509_CRL *crl), + int (*crl_lookup) (X509_CRL *crl, + X509_REVOKED **ret, + ASN1_INTEGER *ser, + X509_NAME *issuer), + int (*crl_verify) (X509_CRL *crl, + EVP_PKEY *pk)); +void X509_CRL_METHOD_free(X509_CRL_METHOD *m); + +void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); +void *X509_CRL_get_meth_data(X509_CRL *crl); + +const char *X509_verify_cert_error_string(long n); + +int X509_verify(X509 *a, EVP_PKEY *r); + +int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); +int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); +int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); + +NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len); +char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); +EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); +int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); + +int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); + +int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); +int X509_signature_print(BIO *bp, const X509_ALGOR *alg, + const ASN1_STRING *sig); + +int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); +# ifndef OPENSSL_NO_OCSP +int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); +# endif +int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); +int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +# ifndef OPENSSL_NO_OCSP +int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); +# endif +int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); + +int X509_pubkey_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); + +# ifndef OPENSSL_NO_STDIO +X509 *d2i_X509_fp(FILE *fp, X509 **x509); +int i2d_X509_fp(FILE *fp, X509 *x509); +X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); +int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); +int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); +int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); +int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); +DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); +int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); +int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); +int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); +int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); +int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); +# endif + +X509 *d2i_X509_bio(BIO *bp, X509 **x509); +int i2d_X509_bio(BIO *bp, X509 *x509); +X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); +int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); +int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); +int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); +int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); +DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); +int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); +int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); +int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); +int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); +int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); + +X509 *X509_dup(X509 *x509); +X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); +X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); +X509_CRL *X509_CRL_dup(X509_CRL *crl); +X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); +X509_REQ *X509_REQ_dup(X509_REQ *req); +X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); +int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, + void *pval); +void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, + const void **ppval, const X509_ALGOR *algor); +void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); +int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); + +X509_NAME *X509_NAME_dup(X509_NAME *xn); +X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); + +int X509_cmp_time(const ASN1_TIME *s, time_t *t); +int X509_cmp_current_time(const ASN1_TIME *s); +ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); +ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, + int offset_day, long offset_sec, time_t *t); +ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj); + +const char *X509_get_default_cert_area(void); +const char *X509_get_default_cert_dir(void); +const char *X509_get_default_cert_file(void); +const char *X509_get_default_cert_dir_env(void); +const char *X509_get_default_cert_file_env(void); +const char *X509_get_default_private_dir(void); + +X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey); + +DECLARE_ASN1_FUNCTIONS(X509_ALGOR) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) +DECLARE_ASN1_FUNCTIONS(X509_VAL) + +DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) + +int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); +EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key); +EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); +int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); +long X509_get_pathlen(X509 *x); +int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); +EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); +# ifndef OPENSSL_NO_RSA +int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); +RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_DSA +int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); +DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_EC +int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); +EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); +# endif + +DECLARE_ASN1_FUNCTIONS(X509_SIG) +void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, + const ASN1_OCTET_STRING **pdigest); +void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, + ASN1_OCTET_STRING **pdigest); + +DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) +DECLARE_ASN1_FUNCTIONS(X509_REQ) + +DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) +X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); + +DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) + +DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) + +DECLARE_ASN1_FUNCTIONS(X509_NAME) + +int X509_NAME_set(X509_NAME **xn, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(X509_CINF) + +DECLARE_ASN1_FUNCTIONS(X509) +DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) + +#define X509_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, l, p, newf, dupf, freef) +int X509_set_ex_data(X509 *r, int idx, void *arg); +void *X509_get_ex_data(X509 *r, int idx); +int i2d_X509_AUX(X509 *a, unsigned char **pp); +X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); + +int i2d_re_X509_tbs(X509 *x, unsigned char **pp); + +int X509_SIG_INFO_get(const X509_SIG_INFO *siginf, int *mdnid, int *pknid, + int *secbits, uint32_t *flags); +void X509_SIG_INFO_set(X509_SIG_INFO *siginf, int mdnid, int pknid, + int secbits, uint32_t flags); + +int X509_get_signature_info(X509 *x, int *mdnid, int *pknid, int *secbits, + uint32_t *flags); + +void X509_get0_signature(const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg, const X509 *x); +int X509_get_signature_nid(const X509 *x); + +int X509_trusted(const X509 *x); +int X509_alias_set1(X509 *x, const unsigned char *name, int len); +int X509_keyid_set1(X509 *x, const unsigned char *id, int len); +unsigned char *X509_alias_get0(X509 *x, int *len); +unsigned char *X509_keyid_get0(X509 *x, int *len); +int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, + int); +int X509_TRUST_set(int *t, int trust); +int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj); +int X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj); +void X509_trust_clear(X509 *x); +void X509_reject_clear(X509 *x); + +STACK_OF(ASN1_OBJECT) *X509_get0_trust_objects(X509 *x); +STACK_OF(ASN1_OBJECT) *X509_get0_reject_objects(X509 *x); + +DECLARE_ASN1_FUNCTIONS(X509_REVOKED) +DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) +DECLARE_ASN1_FUNCTIONS(X509_CRL) + +int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); +int X509_CRL_get0_by_serial(X509_CRL *crl, + X509_REVOKED **ret, ASN1_INTEGER *serial); +int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); + +X509_PKEY *X509_PKEY_new(void); +void X509_PKEY_free(X509_PKEY *a); + +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) + +X509_INFO *X509_INFO_new(void); +void X509_INFO_free(X509_INFO *a); +char *X509_NAME_oneline(const X509_NAME *a, char *buf, int size); + +int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); + +int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, + unsigned char *md, unsigned int *len); + +int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + char *data, EVP_PKEY *pkey, const EVP_MD *type); + +int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, + unsigned char *md, unsigned int *len); + +int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey); + +int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *data, + EVP_PKEY *pkey, const EVP_MD *type); +int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + void *asn, EVP_MD_CTX *ctx); + +long X509_get_version(const X509 *x); +int X509_set_version(X509 *x, long version); +int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); +ASN1_INTEGER *X509_get_serialNumber(X509 *x); +const ASN1_INTEGER *X509_get0_serialNumber(const X509 *x); +int X509_set_issuer_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_issuer_name(const X509 *a); +int X509_set_subject_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_subject_name(const X509 *a); +const ASN1_TIME * X509_get0_notBefore(const X509 *x); +ASN1_TIME *X509_getm_notBefore(const X509 *x); +int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm); +const ASN1_TIME *X509_get0_notAfter(const X509 *x); +ASN1_TIME *X509_getm_notAfter(const X509 *x); +int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm); +int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); +int X509_up_ref(X509 *x); +int X509_get_signature_type(const X509 *x); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define X509_get_notBefore X509_getm_notBefore +# define X509_get_notAfter X509_getm_notAfter +# define X509_set_notBefore X509_set1_notBefore +# define X509_set_notAfter X509_set1_notAfter +#endif + + +/* + * This one is only used so that a binary form can output, as in + * i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x), &buf) + */ +X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x); +const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); +void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid, + const ASN1_BIT_STRING **psuid); +const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x); + +EVP_PKEY *X509_get0_pubkey(const X509 *x); +EVP_PKEY *X509_get_pubkey(X509 *x); +ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); +int X509_certificate_type(const X509 *x, const EVP_PKEY *pubkey); + +long X509_REQ_get_version(const X509_REQ *req); +int X509_REQ_set_version(X509_REQ *x, long version); +X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req); +int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); +void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); +int X509_REQ_get_signature_nid(const X509_REQ *req); +int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp); +int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); +EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); +EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req); +X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req); +int X509_REQ_extension_nid(int nid); +int *X509_REQ_get_extension_nids(void); +void X509_REQ_set_extension_nids(int *nids); +STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); +int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, + int nid); +int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts); +int X509_REQ_get_attr_count(const X509_REQ *req); +int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos); +int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); +X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); +int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); +int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_NID(X509_REQ *req, + int nid, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_txt(X509_REQ *req, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_CRL_set_version(X509_CRL *x, long version); +int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); +int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_sort(X509_CRL *crl); +int X509_CRL_up_ref(X509_CRL *crl); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate +# define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate +#endif + +long X509_CRL_get_version(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl); +DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl)) +DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl)) +X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl); +const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl); +STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl); +void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); +int X509_CRL_get_signature_nid(const X509_CRL *crl); +int i2d_re_X509_CRL_tbs(X509_CRL *req, unsigned char **pp); + +const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x); +int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); +const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x); +int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); +const STACK_OF(X509_EXTENSION) * +X509_REVOKED_get0_extensions(const X509_REVOKED *r); + +X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, + EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); + +int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); + +int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey); +int X509_chain_check_suiteb(int *perror_depth, + X509 *x, STACK_OF(X509) *chain, + unsigned long flags); +int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); +STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); + +int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_and_serial_hash(X509 *a); + +int X509_issuer_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_name_hash(X509 *a); + +int X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_subject_name_hash(X509 *x); + +# ifndef OPENSSL_NO_MD5 +unsigned long X509_issuer_name_hash_old(X509 *a); +unsigned long X509_subject_name_hash_old(X509 *x); +# endif + +int X509_cmp(const X509 *a, const X509 *b); +int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); +unsigned long X509_NAME_hash(X509_NAME *x); +unsigned long X509_NAME_hash_old(X509_NAME *x); + +int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); +int X509_aux_print(BIO *out, X509 *x, int indent); +# ifndef OPENSSL_NO_STDIO +int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print_fp(FILE *bp, X509 *x); +int X509_CRL_print_fp(FILE *bp, X509_CRL *x); +int X509_REQ_print_fp(FILE *bp, X509_REQ *req); +int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, + unsigned long flags); +# endif + +int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase); +int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent, + unsigned long flags); +int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print(BIO *bp, X509 *x); +int X509_ocspid_print(BIO *bp, X509 *x); +int X509_CRL_print_ex(BIO *out, X509_CRL *x, unsigned long nmflag); +int X509_CRL_print(BIO *bp, X509_CRL *x); +int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, + unsigned long cflag); +int X509_REQ_print(BIO *bp, X509_REQ *req); + +int X509_NAME_entry_count(const X509_NAME *name); +int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len); +int X509_NAME_get_text_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, + char *buf, int len); + +/* + * NOTE: you should be passing -1, not 0 as lastpos. The functions that use + * lastpos, search after that position on. + */ +int X509_NAME_get_index_by_NID(X509_NAME *name, int nid, int lastpos); +int X509_NAME_get_index_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, + int lastpos); +X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc); +X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); +int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne, + int loc, int set); +int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len, int loc, + int set); +int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, + const char *field, int type, + const unsigned char *bytes, + int len); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, + int type, + const unsigned char *bytes, + int len); +int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, + int len); +int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj); +int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, + const unsigned char *bytes, int len); +ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne); +ASN1_STRING * X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne); +int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne); + +int X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, + size_t *pderlen); + +int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); +int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, + int nid, int lastpos); +int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, + const ASN1_OBJECT *obj, int lastpos); +int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, + int crit, int lastpos); +X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); +X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); +STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, + X509_EXTENSION *ex, int loc); + +int X509_get_ext_count(const X509 *x); +int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos); +int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int lastpos); +int X509_get_ext_by_critical(const X509 *x, int crit, int lastpos); +X509_EXTENSION *X509_get_ext(const X509 *x, int loc); +X509_EXTENSION *X509_delete_ext(X509 *x, int loc); +int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); +void *X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx); +int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_CRL_get_ext_count(const X509_CRL *x); +int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos); +int X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj, + int lastpos); +int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos); +X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc); +X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); +int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); +void *X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int *idx); +int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_REVOKED_get_ext_count(const X509_REVOKED *x); +int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos); +int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj, + int lastpos); +int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit, + int lastpos); +X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc); +X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); +int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); +void *X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit, + int *idx); +int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, + unsigned long flags); + +X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, + int nid, int crit, + ASN1_OCTET_STRING *data); +X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, + const ASN1_OBJECT *obj, int crit, + ASN1_OCTET_STRING *data); +int X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj); +int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); +int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); +ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); +ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); +int X509_EXTENSION_get_critical(const X509_EXTENSION *ex); + +int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); +int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, + int lastpos); +int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, + const ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); +X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, + X509_ATTRIBUTE *attr); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) + **x, const ASN1_OBJECT *obj, + int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) + **x, int nid, int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) + **x, const char *attrname, + int type, + const unsigned char *bytes, + int len); +void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, + const ASN1_OBJECT *obj, int lastpos, int type); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, + const ASN1_OBJECT *obj, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, + const char *atrname, int type, + const unsigned char *bytes, + int len); +int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); +int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, + const void *data, int len); +void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, + void *data); +int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr); +ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); +ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); + +int EVP_PKEY_get_attr_count(const EVP_PKEY *key); +int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); +int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); +X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); +int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); +int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, + int nid, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_verify_cert(X509_STORE_CTX *ctx); + +/* lookup a cert from a X509 STACK */ +X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, X509_NAME *name, + ASN1_INTEGER *serial); +X509 *X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(PBEPARAM) +DECLARE_ASN1_FUNCTIONS(PBE2PARAM) +DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) +#ifndef OPENSSL_NO_SCRYPT +DECLARE_ASN1_FUNCTIONS(SCRYPT_PARAMS) +#endif + +int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, + const unsigned char *salt, int saltlen); + +X509_ALGOR *PKCS5_pbe_set(int alg, int iter, + const unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen, + unsigned char *aiv, int prf_nid); + +#ifndef OPENSSL_NO_SCRYPT +X509_ALGOR *PKCS5_pbe2_set_scrypt(const EVP_CIPHER *cipher, + const unsigned char *salt, int saltlen, + unsigned char *aiv, uint64_t N, uint64_t r, + uint64_t p); +#endif + +X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, + int prf_nid, int keylen); + +/* PKCS#8 utilities */ + +DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) + +EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); + +int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, + int version, int ptype, void *pval, + unsigned char *penc, int penclen); +int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8); + +const STACK_OF(X509_ATTRIBUTE) * +PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); +int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, + const unsigned char *bytes, int len); + +int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, + int ptype, void *pval, + unsigned char *penc, int penclen); +int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + X509_ALGOR **pa, X509_PUBKEY *pub); + +int X509_check_trust(X509 *x, int id, int flags); +int X509_TRUST_get_count(void); +X509_TRUST *X509_TRUST_get0(int idx); +int X509_TRUST_get_by_id(int id); +int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), + const char *name, int arg1, void *arg2); +void X509_TRUST_cleanup(void); +int X509_TRUST_get_flags(const X509_TRUST *xp); +char *X509_TRUST_get0_name(const X509_TRUST *xp); +int X509_TRUST_get_trust(const X509_TRUST *xp); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/x509_vfy.h b/openssl/1.1/include/openssl/x509_vfy.h new file mode 100644 index 0000000..2adb155 --- /dev/null +++ b/openssl/1.1/include/openssl/x509_vfy.h @@ -0,0 +1,624 @@ +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_X509_VFY_H +# define HEADER_X509_VFY_H + +/* + * Protect against recursion, x509.h and x509_vfy.h each include the other. + */ +# ifndef HEADER_X509_H +# include +# endif + +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/*- +SSL_CTX -> X509_STORE + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + +SSL -> X509_STORE_CTX + ->X509_STORE + +The X509_STORE holds the tables etc for verification stuff. +A X509_STORE_CTX is used while validating a single certificate. +The X509_STORE has X509_LOOKUPs for looking up certs. +The X509_STORE then calls a function to actually verify the +certificate chain. +*/ + +typedef enum { + X509_LU_NONE = 0, + X509_LU_X509, X509_LU_CRL +} X509_LOOKUP_TYPE; + +#if OPENSSL_API_COMPAT < 0x10100000L +#define X509_LU_RETRY -1 +#define X509_LU_FAIL 0 +#endif + +DEFINE_STACK_OF(X509_LOOKUP) +DEFINE_STACK_OF(X509_OBJECT) +DEFINE_STACK_OF(X509_VERIFY_PARAM) + +int X509_STORE_set_depth(X509_STORE *store, int depth); + +typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *); +typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *); +typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer, + X509_STORE_CTX *ctx, X509 *x); +typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, + X509 *x, X509 *issuer); +typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx); +typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, + X509_CRL **crl, X509 *x); +typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl); +typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, + X509_CRL *crl, X509 *x); +typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx); +typedef STACK_OF(X509) *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx, + X509_NAME *nm); +typedef STACK_OF(X509_CRL) *(*X509_STORE_CTX_lookup_crls_fn)(X509_STORE_CTX *ctx, + X509_NAME *nm); +typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx); + + +void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); + +# define X509_STORE_CTX_set_app_data(ctx,data) \ + X509_STORE_CTX_set_ex_data(ctx,0,data) +# define X509_STORE_CTX_get_app_data(ctx) \ + X509_STORE_CTX_get_ex_data(ctx,0) + +# define X509_L_FILE_LOAD 1 +# define X509_L_ADD_DIR 2 + +# define X509_LOOKUP_load_file(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) + +# define X509_LOOKUP_add_dir(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) + +# define X509_V_OK 0 +# define X509_V_ERR_UNSPECIFIED 1 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +# define X509_V_ERR_UNABLE_TO_GET_CRL 3 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +# define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +# define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +# define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +# define X509_V_ERR_CERT_NOT_YET_VALID 9 +# define X509_V_ERR_CERT_HAS_EXPIRED 10 +# define X509_V_ERR_CRL_NOT_YET_VALID 11 +# define X509_V_ERR_CRL_HAS_EXPIRED 12 +# define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +# define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +# define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +# define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +# define X509_V_ERR_OUT_OF_MEM 17 +# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +# define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +# define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +# define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +# define X509_V_ERR_CERT_REVOKED 23 +# define X509_V_ERR_INVALID_CA 24 +# define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +# define X509_V_ERR_INVALID_PURPOSE 26 +# define X509_V_ERR_CERT_UNTRUSTED 27 +# define X509_V_ERR_CERT_REJECTED 28 +/* These are 'informational' when looking for issuer cert */ +# define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +# define X509_V_ERR_AKID_SKID_MISMATCH 30 +# define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +# define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 +# define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +# define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +# define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +# define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +# define X509_V_ERR_INVALID_NON_CA 37 +# define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +# define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +# define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 +# define X509_V_ERR_INVALID_EXTENSION 41 +# define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +# define X509_V_ERR_NO_EXPLICIT_POLICY 43 +# define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +# define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 +# define X509_V_ERR_UNNESTED_RESOURCE 46 +# define X509_V_ERR_PERMITTED_VIOLATION 47 +# define X509_V_ERR_EXCLUDED_VIOLATION 48 +# define X509_V_ERR_SUBTREE_MINMAX 49 +/* The application is not happy */ +# define X509_V_ERR_APPLICATION_VERIFICATION 50 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +# define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 +/* Another issuer check debug option */ +# define X509_V_ERR_PATH_LOOP 55 +/* Suite B mode algorithm violation */ +# define X509_V_ERR_SUITE_B_INVALID_VERSION 56 +# define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 +# define X509_V_ERR_SUITE_B_INVALID_CURVE 58 +# define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 +# define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 +# define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 +/* Host, email and IP check errors */ +# define X509_V_ERR_HOSTNAME_MISMATCH 62 +# define X509_V_ERR_EMAIL_MISMATCH 63 +# define X509_V_ERR_IP_ADDRESS_MISMATCH 64 +/* DANE TLSA errors */ +# define X509_V_ERR_DANE_NO_MATCH 65 +/* security level errors */ +# define X509_V_ERR_EE_KEY_TOO_SMALL 66 +# define X509_V_ERR_CA_KEY_TOO_SMALL 67 +# define X509_V_ERR_CA_MD_TOO_WEAK 68 +/* Caller error */ +# define X509_V_ERR_INVALID_CALL 69 +/* Issuer lookup error */ +# define X509_V_ERR_STORE_LOOKUP 70 +/* Certificate transparency */ +# define X509_V_ERR_NO_VALID_SCTS 71 + +# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 72 +/* OCSP status errors */ +# define X509_V_ERR_OCSP_VERIFY_NEEDED 73 /* Need OCSP verification */ +# define X509_V_ERR_OCSP_VERIFY_FAILED 74 /* Couldn't verify cert through OCSP */ +# define X509_V_ERR_OCSP_CERT_UNKNOWN 75 /* Certificate wasn't recognized by the OCSP responder */ + +/* Certificate verify flags */ + +# if OPENSSL_API_COMPAT < 0x10100000L +# define X509_V_FLAG_CB_ISSUER_CHECK 0x0 /* Deprecated */ +# endif +/* Use check time instead of current time */ +# define X509_V_FLAG_USE_CHECK_TIME 0x2 +/* Lookup CRLs */ +# define X509_V_FLAG_CRL_CHECK 0x4 +/* Lookup CRLs for whole chain */ +# define X509_V_FLAG_CRL_CHECK_ALL 0x8 +/* Ignore unhandled critical extensions */ +# define X509_V_FLAG_IGNORE_CRITICAL 0x10 +/* Disable workarounds for broken certificates */ +# define X509_V_FLAG_X509_STRICT 0x20 +/* Enable proxy certificate validation */ +# define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 +/* Enable policy checking */ +# define X509_V_FLAG_POLICY_CHECK 0x80 +/* Policy variable require-explicit-policy */ +# define X509_V_FLAG_EXPLICIT_POLICY 0x100 +/* Policy variable inhibit-any-policy */ +# define X509_V_FLAG_INHIBIT_ANY 0x200 +/* Policy variable inhibit-policy-mapping */ +# define X509_V_FLAG_INHIBIT_MAP 0x400 +/* Notify callback that policy is OK */ +# define X509_V_FLAG_NOTIFY_POLICY 0x800 +/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ +# define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 +/* Delta CRL support */ +# define X509_V_FLAG_USE_DELTAS 0x2000 +/* Check self-signed CA signature */ +# define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 +/* Use trusted store first */ +# define X509_V_FLAG_TRUSTED_FIRST 0x8000 +/* Suite B 128 bit only mode: not normally used */ +# define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define X509_V_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define X509_V_FLAG_SUITEB_128_LOS 0x30000 +/* Allow partial chains if at least one certificate is in trusted store */ +# define X509_V_FLAG_PARTIAL_CHAIN 0x80000 +/* + * If the initial chain is not trusted, do not attempt to build an alternative + * chain. Alternate chain checking was introduced in 1.1.0. Setting this flag + * will force the behaviour to match that of previous versions. + */ +# define X509_V_FLAG_NO_ALT_CHAINS 0x100000 +/* Do not check certificate/CRL validity against current time */ +# define X509_V_FLAG_NO_CHECK_TIME 0x200000 + +# define X509_VP_FLAG_DEFAULT 0x1 +# define X509_VP_FLAG_OVERWRITE 0x2 +# define X509_VP_FLAG_RESET_FLAGS 0x4 +# define X509_VP_FLAG_LOCKED 0x8 +# define X509_VP_FLAG_ONCE 0x10 + +/* Internal use: mask of policy related options */ +# define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ + | X509_V_FLAG_EXPLICIT_POLICY \ + | X509_V_FLAG_INHIBIT_ANY \ + | X509_V_FLAG_INHIBIT_MAP) + +int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, + X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, + X509_LOOKUP_TYPE type, + X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, + X509_OBJECT *x); +int X509_OBJECT_up_ref_count(X509_OBJECT *a); +X509_OBJECT *X509_OBJECT_new(void); +void X509_OBJECT_free(X509_OBJECT *a); +X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a); +X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a); +int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj); +X509_CRL *X509_OBJECT_get0_X509_CRL(X509_OBJECT *a); +int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj); +X509_STORE *X509_STORE_new(void); +void X509_STORE_free(X509_STORE *v); +int X509_STORE_lock(X509_STORE *ctx); +int X509_STORE_unlock(X509_STORE *ctx); +int X509_STORE_up_ref(X509_STORE *v); +STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *v); + +STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); +STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); +int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); +int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); +int X509_STORE_set_trust(X509_STORE *ctx, int trust); +int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); +X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx); + +void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify); +#define X509_STORE_set_verify_func(ctx, func) \ + X509_STORE_set_verify((ctx),(func)) +void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, + X509_STORE_CTX_verify_fn verify); +X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx); +void X509_STORE_set_verify_cb(X509_STORE *ctx, + X509_STORE_CTX_verify_cb verify_cb); +# define X509_STORE_set_verify_cb_func(ctx,func) \ + X509_STORE_set_verify_cb((ctx),(func)) +X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(X509_STORE *ctx); +void X509_STORE_set_get_issuer(X509_STORE *ctx, + X509_STORE_CTX_get_issuer_fn get_issuer); +X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *ctx); +void X509_STORE_set_check_issued(X509_STORE *ctx, + X509_STORE_CTX_check_issued_fn check_issued); +X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(X509_STORE *ctx); +void X509_STORE_set_check_revocation(X509_STORE *ctx, + X509_STORE_CTX_check_revocation_fn check_revocation); +X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(X509_STORE *ctx); +void X509_STORE_set_get_crl(X509_STORE *ctx, + X509_STORE_CTX_get_crl_fn get_crl); +X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(X509_STORE *ctx); +void X509_STORE_set_check_crl(X509_STORE *ctx, + X509_STORE_CTX_check_crl_fn check_crl); +X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(X509_STORE *ctx); +void X509_STORE_set_cert_crl(X509_STORE *ctx, + X509_STORE_CTX_cert_crl_fn cert_crl); +X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(X509_STORE *ctx); +void X509_STORE_set_check_policy(X509_STORE *ctx, + X509_STORE_CTX_check_policy_fn check_policy); +X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(X509_STORE *ctx); +void X509_STORE_set_lookup_certs(X509_STORE *ctx, + X509_STORE_CTX_lookup_certs_fn lookup_certs); +X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(X509_STORE *ctx); +void X509_STORE_set_lookup_crls(X509_STORE *ctx, + X509_STORE_CTX_lookup_crls_fn lookup_crls); +#define X509_STORE_set_lookup_crls_cb(ctx, func) \ + X509_STORE_set_lookup_crls((ctx), (func)) +X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(X509_STORE *ctx); +void X509_STORE_set_cleanup(X509_STORE *ctx, + X509_STORE_CTX_cleanup_fn cleanup); +X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(X509_STORE *ctx); + +#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef) +int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data); +void *X509_STORE_get_ex_data(X509_STORE *ctx, int idx); + +X509_STORE_CTX *X509_STORE_CTX_new(void); + +int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + +void X509_STORE_CTX_free(X509_STORE_CTX *ctx); +int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, + X509 *x509, STACK_OF(X509) *chain); +void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); + +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); +X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx); +STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, + X509_STORE_CTX_verify_cb verify); +X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx); +X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx); +X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(X509_STORE_CTX *ctx); +X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(X509_STORE_CTX *ctx); +X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(X509_STORE_CTX *ctx); +X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(X509_STORE_CTX *ctx); +X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(X509_STORE_CTX *ctx); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define X509_STORE_CTX_get_chain X509_STORE_CTX_get0_chain +# define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted +# define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack +# define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject +# define X509_STORE_get1_cert X509_STORE_CTX_get1_certs +# define X509_STORE_get1_crl X509_STORE_CTX_get1_crls +#endif + +X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); +X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); +X509_LOOKUP_METHOD *X509_LOOKUP_file(void); + +typedef int (*X509_LOOKUP_ctrl_fn)(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); +typedef int (*X509_LOOKUP_get_by_subject_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + X509_NAME *name, + X509_OBJECT *ret); +typedef int (*X509_LOOKUP_get_by_issuer_serial_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + X509_NAME *name, + ASN1_INTEGER *serial, + X509_OBJECT *ret); +typedef int (*X509_LOOKUP_get_by_fingerprint_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + const unsigned char* bytes, + int len, + X509_OBJECT *ret); +typedef int (*X509_LOOKUP_get_by_alias_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + const char *str, + int len, + X509_OBJECT *ret); + +X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name); +void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method, + int (*new_item) (X509_LOOKUP *ctx)); +int (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_free(X509_LOOKUP_METHOD *method, + void (*free_fn) (X509_LOOKUP *ctx)); +void (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method, + int (*init) (X509_LOOKUP *ctx)); +int (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_shutdown(X509_LOOKUP_METHOD *method, + int (*shutdown) (X509_LOOKUP *ctx)); +int (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_ctrl(X509_LOOKUP_METHOD *method, + X509_LOOKUP_ctrl_fn ctrl_fn); +X509_LOOKUP_ctrl_fn X509_LOOKUP_meth_get_ctrl(const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_subject_fn fn); +X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject( + const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_issuer_serial_fn fn); +X509_LOOKUP_get_by_issuer_serial_fn X509_LOOKUP_meth_get_get_by_issuer_serial( + const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_fingerprint_fn fn); +X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint( + const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_alias_fn fn); +X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias( + const X509_LOOKUP_METHOD *method); + + +int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); +int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); + +int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, + X509_NAME *name, X509_OBJECT *ret); +X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, + X509_LOOKUP_TYPE type, + X509_NAME *name); + +int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); + +int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); + +X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); +void X509_LOOKUP_free(X509_LOOKUP *ctx); +int X509_LOOKUP_init(X509_LOOKUP *ctx); +int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + X509_NAME *name, X509_OBJECT *ret); +int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + X509_NAME *name, ASN1_INTEGER *serial, + X509_OBJECT *ret); +int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const unsigned char *bytes, int len, + X509_OBJECT *ret); +int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const char *str, int len, X509_OBJECT *ret); +int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data); +void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx); +X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx); +int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); + +int X509_STORE_load_locations(X509_STORE *ctx, + const char *file, const char *dir); +int X509_STORE_set_default_paths(X509_STORE *ctx); + +#define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, l, p, newf, dupf, freef) +int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data); +void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx); +int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); +int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth); +X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x); +X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); +X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x); +void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk); +void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, STACK_OF(X509_CRL) *sk); +int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); +int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); +int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, + int purpose, int trust); +void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); +void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, + time_t t); + +X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx); + +X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); +int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); + +/* + * Bridge opacity barrier between libcrypt and libssl, also needed to support + * offline testing in test/danetest.c + */ +void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane); +#define DANE_FLAG_NO_DANE_EE_NAMECHECKS (1L << 0) + +/* X509_VERIFY_PARAM functions */ + +X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); +void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); +int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); +int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); +void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); +void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level); +time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param); +void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); +int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, + ASN1_OBJECT *policy); +int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, + STACK_OF(ASN1_OBJECT) *policies); + +int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param, + uint32_t flags); +uint32_t X509_VERIFY_PARAM_get_inh_flags(const X509_VERIFY_PARAM *param); + +int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, + unsigned int flags); +unsigned int X509_VERIFY_PARAM_get_hostflags(const X509_VERIFY_PARAM *param); +char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *); +void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *, X509_VERIFY_PARAM *); +int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, + const char *email, size_t emaillen); +int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, + const unsigned char *ip, size_t iplen); +int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, + const char *ipasc); + +int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param); +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); + +int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_count(void); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); +void X509_VERIFY_PARAM_table_cleanup(void); + +/* Non positive return values are errors */ +#define X509_PCY_TREE_FAILURE -2 /* Failure to satisfy explicit policy */ +#define X509_PCY_TREE_INVALID -1 /* Inconsistent or invalid extensions */ +#define X509_PCY_TREE_INTERNAL 0 /* Internal error, most likely malloc */ + +/* + * Positive return values form a bit mask, all but the first are internal to + * the library and don't appear in results from X509_policy_check(). + */ +#define X509_PCY_TREE_VALID 1 /* The policy tree is valid */ +#define X509_PCY_TREE_EMPTY 2 /* The policy tree is empty */ +#define X509_PCY_TREE_EXPLICIT 4 /* Explicit policy required */ + +int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, + STACK_OF(X509) *certs, + STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags); + +void X509_policy_tree_free(X509_POLICY_TREE *tree); + +int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); +X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, + int i); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const + X509_POLICY_TREE + *tree); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const + X509_POLICY_TREE + *tree); + +int X509_policy_level_node_count(X509_POLICY_LEVEL *level); + +X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, + int i); + +const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); + +STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const + X509_POLICY_NODE + *node); +const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE + *node); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/openssl/1.1/include/openssl/x509err.h b/openssl/1.1/include/openssl/x509err.h new file mode 100644 index 0000000..b1d6a87 --- /dev/null +++ b/openssl/1.1/include/openssl/x509err.h @@ -0,0 +1,125 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_X509ERR_H +# define HEADER_X509ERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_X509_strings(void); + +/* + * X509 function codes. + */ +# define X509_F_ADD_CERT_DIR 100 +# define X509_F_BUILD_CHAIN 106 +# define X509_F_BY_FILE_CTRL 101 +# define X509_F_CHECK_NAME_CONSTRAINTS 149 +# define X509_F_CHECK_POLICY 145 +# define X509_F_DANE_I2D 107 +# define X509_F_DIR_CTRL 102 +# define X509_F_GET_CERT_BY_SUBJECT 103 +# define X509_F_I2D_X509_AUX 151 +# define X509_F_LOOKUP_CERTS_SK 152 +# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 +# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 +# define X509_F_NEW_DIR 153 +# define X509_F_X509AT_ADD1_ATTR 135 +# define X509_F_X509V3_ADD_EXT 104 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 +# define X509_F_X509_ATTRIBUTE_GET0_DATA 139 +# define X509_F_X509_ATTRIBUTE_SET1_DATA 138 +# define X509_F_X509_CHECK_PRIVATE_KEY 128 +# define X509_F_X509_CRL_DIFF 105 +# define X509_F_X509_CRL_METHOD_NEW 154 +# define X509_F_X509_CRL_PRINT_FP 147 +# define X509_F_X509_EXTENSION_CREATE_BY_NID 108 +# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 +# define X509_F_X509_GET_PUBKEY_PARAMETERS 110 +# define X509_F_X509_LOAD_CERT_CRL_FILE 132 +# define X509_F_X509_LOAD_CERT_FILE 111 +# define X509_F_X509_LOAD_CRL_FILE 112 +# define X509_F_X509_LOOKUP_METH_NEW 160 +# define X509_F_X509_LOOKUP_NEW 155 +# define X509_F_X509_NAME_ADD_ENTRY 113 +# define X509_F_X509_NAME_CANON 156 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 +# define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 +# define X509_F_X509_NAME_ONELINE 116 +# define X509_F_X509_NAME_PRINT 117 +# define X509_F_X509_OBJECT_NEW 150 +# define X509_F_X509_PRINT_EX_FP 118 +# define X509_F_X509_PUBKEY_DECODE 148 +# define X509_F_X509_PUBKEY_GET0 119 +# define X509_F_X509_PUBKEY_SET 120 +# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 +# define X509_F_X509_REQ_PRINT_EX 121 +# define X509_F_X509_REQ_PRINT_FP 122 +# define X509_F_X509_REQ_TO_X509 123 +# define X509_F_X509_STORE_ADD_CERT 124 +# define X509_F_X509_STORE_ADD_CRL 125 +# define X509_F_X509_STORE_ADD_LOOKUP 157 +# define X509_F_X509_STORE_CTX_GET1_ISSUER 146 +# define X509_F_X509_STORE_CTX_INIT 143 +# define X509_F_X509_STORE_CTX_NEW 142 +# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 +# define X509_F_X509_STORE_NEW 158 +# define X509_F_X509_TO_X509_REQ 126 +# define X509_F_X509_TRUST_ADD 133 +# define X509_F_X509_TRUST_SET 141 +# define X509_F_X509_VERIFY_CERT 127 +# define X509_F_X509_VERIFY_PARAM_NEW 159 + +/* + * X509 reason codes. + */ +# define X509_R_AKID_MISMATCH 110 +# define X509_R_BAD_SELECTOR 133 +# define X509_R_BAD_X509_FILETYPE 100 +# define X509_R_BASE64_DECODE_ERROR 118 +# define X509_R_CANT_CHECK_DH_KEY 114 +# define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 +# define X509_R_CRL_ALREADY_DELTA 127 +# define X509_R_CRL_VERIFY_FAILURE 131 +# define X509_R_IDP_MISMATCH 128 +# define X509_R_INVALID_DIRECTORY 113 +# define X509_R_INVALID_FIELD_NAME 119 +# define X509_R_INVALID_TRUST 123 +# define X509_R_ISSUER_MISMATCH 129 +# define X509_R_KEY_TYPE_MISMATCH 115 +# define X509_R_KEY_VALUES_MISMATCH 116 +# define X509_R_LOADING_CERT_DIR 103 +# define X509_R_LOADING_DEFAULTS 104 +# define X509_R_METHOD_NOT_SUPPORTED 124 +# define X509_R_NAME_TOO_LONG 134 +# define X509_R_NEWER_CRL_NOT_NEWER 132 +# define X509_R_NO_CERTIFICATE_FOUND 135 +# define X509_R_NO_CERTIFICATE_OR_CRL_FOUND 136 +# define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 +# define X509_R_NO_CRL_FOUND 137 +# define X509_R_NO_CRL_NUMBER 130 +# define X509_R_PUBLIC_KEY_DECODE_ERROR 125 +# define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 +# define X509_R_SHOULD_RETRY 106 +# define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 +# define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 +# define X509_R_UNKNOWN_KEY_TYPE 117 +# define X509_R_UNKNOWN_NID 109 +# define X509_R_UNKNOWN_PURPOSE_ID 121 +# define X509_R_UNKNOWN_TRUST_ID 120 +# define X509_R_UNSUPPORTED_ALGORITHM 111 +# define X509_R_WRONG_LOOKUP_TYPE 112 +# define X509_R_WRONG_TYPE 122 + +#endif diff --git a/openssl/1.1/include/openssl/x509v3.h b/openssl/1.1/include/openssl/x509v3.h new file mode 100644 index 0000000..fe1791c --- /dev/null +++ b/openssl/1.1/include/openssl/x509v3.h @@ -0,0 +1,935 @@ +/* + * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_X509V3_H +# define HEADER_X509V3_H + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward reference */ +struct v3_ext_method; +struct v3_ext_ctx; + +/* Useful typedefs */ + +typedef void *(*X509V3_EXT_NEW)(void); +typedef void (*X509V3_EXT_FREE) (void *); +typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); +typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); +typedef STACK_OF(CONF_VALUE) * + (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, + STACK_OF(CONF_VALUE) *extlist); +typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, + STACK_OF(CONF_VALUE) *values); +typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method, + void *ext); +typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); +typedef int (*X509V3_EXT_I2R) (const struct v3_ext_method *method, void *ext, + BIO *out, int indent); +typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); + +/* V3 extension structure */ + +struct v3_ext_method { + int ext_nid; + int ext_flags; +/* If this is set the following four fields are ignored */ + ASN1_ITEM_EXP *it; +/* Old style ASN1 calls */ + X509V3_EXT_NEW ext_new; + X509V3_EXT_FREE ext_free; + X509V3_EXT_D2I d2i; + X509V3_EXT_I2D i2d; +/* The following pair is used for string extensions */ + X509V3_EXT_I2S i2s; + X509V3_EXT_S2I s2i; +/* The following pair is used for multi-valued extensions */ + X509V3_EXT_I2V i2v; + X509V3_EXT_V2I v2i; +/* The following are used for raw extensions */ + X509V3_EXT_I2R i2r; + X509V3_EXT_R2I r2i; + void *usr_data; /* Any extension specific data */ +}; + +typedef struct X509V3_CONF_METHOD_st { + char *(*get_string) (void *db, const char *section, const char *value); + STACK_OF(CONF_VALUE) *(*get_section) (void *db, const char *section); + void (*free_string) (void *db, char *string); + void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section); +} X509V3_CONF_METHOD; + +/* Context specific info */ +struct v3_ext_ctx { +# define CTX_TEST 0x1 +# define X509V3_CTX_REPLACE 0x2 + int flags; + X509 *issuer_cert; + X509 *subject_cert; + X509_REQ *subject_req; + X509_CRL *crl; + X509V3_CONF_METHOD *db_meth; + void *db; +/* Maybe more here */ +}; + +typedef struct v3_ext_method X509V3_EXT_METHOD; + +DEFINE_STACK_OF(X509V3_EXT_METHOD) + +/* ext_flags values */ +# define X509V3_EXT_DYNAMIC 0x1 +# define X509V3_EXT_CTX_DEP 0x2 +# define X509V3_EXT_MULTILINE 0x4 + +typedef BIT_STRING_BITNAME ENUMERATED_NAMES; + +typedef struct BASIC_CONSTRAINTS_st { + int ca; + ASN1_INTEGER *pathlen; +} BASIC_CONSTRAINTS; + +typedef struct PKEY_USAGE_PERIOD_st { + ASN1_GENERALIZEDTIME *notBefore; + ASN1_GENERALIZEDTIME *notAfter; +} PKEY_USAGE_PERIOD; + +typedef struct otherName_st { + ASN1_OBJECT *type_id; + ASN1_TYPE *value; +} OTHERNAME; + +typedef struct EDIPartyName_st { + ASN1_STRING *nameAssigner; + ASN1_STRING *partyName; +} EDIPARTYNAME; + +typedef struct GENERAL_NAME_st { +# define GEN_OTHERNAME 0 +# define GEN_EMAIL 1 +# define GEN_DNS 2 +# define GEN_X400 3 +# define GEN_DIRNAME 4 +# define GEN_EDIPARTY 5 +# define GEN_URI 6 +# define GEN_IPADD 7 +# define GEN_RID 8 + int type; + union { + char *ptr; + OTHERNAME *otherName; /* otherName */ + ASN1_IA5STRING *rfc822Name; + ASN1_IA5STRING *dNSName; + ASN1_TYPE *x400Address; + X509_NAME *directoryName; + EDIPARTYNAME *ediPartyName; + ASN1_IA5STRING *uniformResourceIdentifier; + ASN1_OCTET_STRING *iPAddress; + ASN1_OBJECT *registeredID; + /* Old names */ + ASN1_OCTET_STRING *ip; /* iPAddress */ + X509_NAME *dirn; /* dirn */ + ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, + * uniformResourceIdentifier */ + ASN1_OBJECT *rid; /* registeredID */ + ASN1_TYPE *other; /* x400Address */ + } d; +} GENERAL_NAME; + +typedef struct ACCESS_DESCRIPTION_st { + ASN1_OBJECT *method; + GENERAL_NAME *location; +} ACCESS_DESCRIPTION; + +typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; + +typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; + +typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE; + +DEFINE_STACK_OF(GENERAL_NAME) +typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; +DEFINE_STACK_OF(GENERAL_NAMES) + +DEFINE_STACK_OF(ACCESS_DESCRIPTION) + +typedef struct DIST_POINT_NAME_st { + int type; + union { + GENERAL_NAMES *fullname; + STACK_OF(X509_NAME_ENTRY) *relativename; + } name; +/* If relativename then this contains the full distribution point name */ + X509_NAME *dpname; +} DIST_POINT_NAME; +/* All existing reasons */ +# define CRLDP_ALL_REASONS 0x807f + +# define CRL_REASON_NONE -1 +# define CRL_REASON_UNSPECIFIED 0 +# define CRL_REASON_KEY_COMPROMISE 1 +# define CRL_REASON_CA_COMPROMISE 2 +# define CRL_REASON_AFFILIATION_CHANGED 3 +# define CRL_REASON_SUPERSEDED 4 +# define CRL_REASON_CESSATION_OF_OPERATION 5 +# define CRL_REASON_CERTIFICATE_HOLD 6 +# define CRL_REASON_REMOVE_FROM_CRL 8 +# define CRL_REASON_PRIVILEGE_WITHDRAWN 9 +# define CRL_REASON_AA_COMPROMISE 10 + +struct DIST_POINT_st { + DIST_POINT_NAME *distpoint; + ASN1_BIT_STRING *reasons; + GENERAL_NAMES *CRLissuer; + int dp_reasons; +}; + +typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; + +DEFINE_STACK_OF(DIST_POINT) + +struct AUTHORITY_KEYID_st { + ASN1_OCTET_STRING *keyid; + GENERAL_NAMES *issuer; + ASN1_INTEGER *serial; +}; + +/* Strong extranet structures */ + +typedef struct SXNET_ID_st { + ASN1_INTEGER *zone; + ASN1_OCTET_STRING *user; +} SXNETID; + +DEFINE_STACK_OF(SXNETID) + +typedef struct SXNET_st { + ASN1_INTEGER *version; + STACK_OF(SXNETID) *ids; +} SXNET; + +typedef struct NOTICEREF_st { + ASN1_STRING *organization; + STACK_OF(ASN1_INTEGER) *noticenos; +} NOTICEREF; + +typedef struct USERNOTICE_st { + NOTICEREF *noticeref; + ASN1_STRING *exptext; +} USERNOTICE; + +typedef struct POLICYQUALINFO_st { + ASN1_OBJECT *pqualid; + union { + ASN1_IA5STRING *cpsuri; + USERNOTICE *usernotice; + ASN1_TYPE *other; + } d; +} POLICYQUALINFO; + +DEFINE_STACK_OF(POLICYQUALINFO) + +typedef struct POLICYINFO_st { + ASN1_OBJECT *policyid; + STACK_OF(POLICYQUALINFO) *qualifiers; +} POLICYINFO; + +typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; + +DEFINE_STACK_OF(POLICYINFO) + +typedef struct POLICY_MAPPING_st { + ASN1_OBJECT *issuerDomainPolicy; + ASN1_OBJECT *subjectDomainPolicy; +} POLICY_MAPPING; + +DEFINE_STACK_OF(POLICY_MAPPING) + +typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; + +typedef struct GENERAL_SUBTREE_st { + GENERAL_NAME *base; + ASN1_INTEGER *minimum; + ASN1_INTEGER *maximum; +} GENERAL_SUBTREE; + +DEFINE_STACK_OF(GENERAL_SUBTREE) + +struct NAME_CONSTRAINTS_st { + STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; + STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; +}; + +typedef struct POLICY_CONSTRAINTS_st { + ASN1_INTEGER *requireExplicitPolicy; + ASN1_INTEGER *inhibitPolicyMapping; +} POLICY_CONSTRAINTS; + +/* Proxy certificate structures, see RFC 3820 */ +typedef struct PROXY_POLICY_st { + ASN1_OBJECT *policyLanguage; + ASN1_OCTET_STRING *policy; +} PROXY_POLICY; + +typedef struct PROXY_CERT_INFO_EXTENSION_st { + ASN1_INTEGER *pcPathLengthConstraint; + PROXY_POLICY *proxyPolicy; +} PROXY_CERT_INFO_EXTENSION; + +DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) +DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) + +struct ISSUING_DIST_POINT_st { + DIST_POINT_NAME *distpoint; + int onlyuser; + int onlyCA; + ASN1_BIT_STRING *onlysomereasons; + int indirectCRL; + int onlyattr; +}; + +/* Values in idp_flags field */ +/* IDP present */ +# define IDP_PRESENT 0x1 +/* IDP values inconsistent */ +# define IDP_INVALID 0x2 +/* onlyuser true */ +# define IDP_ONLYUSER 0x4 +/* onlyCA true */ +# define IDP_ONLYCA 0x8 +/* onlyattr true */ +# define IDP_ONLYATTR 0x10 +/* indirectCRL true */ +# define IDP_INDIRECT 0x20 +/* onlysomereasons present */ +# define IDP_REASONS 0x40 + +# define X509V3_conf_err(val) ERR_add_error_data(6, \ + "section:", (val)->section, \ + ",name:", (val)->name, ",value:", (val)->value) + +# define X509V3_set_ctx_test(ctx) \ + X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) +# define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; + +# define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ + 0,0,0,0, \ + 0,0, \ + (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ + (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ + NULL, NULL, \ + table} + +# define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ + 0,0,0,0, \ + (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ + (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ + 0,0,0,0, \ + NULL} + +# define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +/* X509_PURPOSE stuff */ + +# define EXFLAG_BCONS 0x1 +# define EXFLAG_KUSAGE 0x2 +# define EXFLAG_XKUSAGE 0x4 +# define EXFLAG_NSCERT 0x8 + +# define EXFLAG_CA 0x10 +/* Really self issued not necessarily self signed */ +# define EXFLAG_SI 0x20 +# define EXFLAG_V1 0x40 +# define EXFLAG_INVALID 0x80 +/* EXFLAG_SET is set to indicate that some values have been precomputed */ +# define EXFLAG_SET 0x100 +# define EXFLAG_CRITICAL 0x200 +# define EXFLAG_PROXY 0x400 + +# define EXFLAG_INVALID_POLICY 0x800 +# define EXFLAG_FRESHEST 0x1000 +/* Self signed */ +# define EXFLAG_SS 0x2000 + +# 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 + +# define NS_SSL_CLIENT 0x80 +# define NS_SSL_SERVER 0x40 +# define NS_SMIME 0x20 +# define NS_OBJSIGN 0x10 +# define NS_SSL_CA 0x04 +# define NS_SMIME_CA 0x02 +# define NS_OBJSIGN_CA 0x01 +# define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) + +# define XKU_SSL_SERVER 0x1 +# define XKU_SSL_CLIENT 0x2 +# define XKU_SMIME 0x4 +# define XKU_CODE_SIGN 0x8 +# define XKU_SGC 0x10 +# define XKU_OCSP_SIGN 0x20 +# define XKU_TIMESTAMP 0x40 +# define XKU_DVCS 0x80 +# define XKU_ANYEKU 0x100 + +# define X509_PURPOSE_DYNAMIC 0x1 +# define X509_PURPOSE_DYNAMIC_NAME 0x2 + +typedef struct x509_purpose_st { + int purpose; + int trust; /* Default trust ID */ + int flags; + int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int); + char *name; + char *sname; + void *usr_data; +} X509_PURPOSE; + +# define X509_PURPOSE_SSL_CLIENT 1 +# define X509_PURPOSE_SSL_SERVER 2 +# define X509_PURPOSE_NS_SSL_SERVER 3 +# define X509_PURPOSE_SMIME_SIGN 4 +# define X509_PURPOSE_SMIME_ENCRYPT 5 +# define X509_PURPOSE_CRL_SIGN 6 +# define X509_PURPOSE_ANY 7 +# define X509_PURPOSE_OCSP_HELPER 8 +# define X509_PURPOSE_TIMESTAMP_SIGN 9 + +# define X509_PURPOSE_MIN 1 +# define X509_PURPOSE_MAX 9 + +/* Flags for X509V3_EXT_print() */ + +# define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) +/* Return error for unknown extensions */ +# define X509V3_EXT_DEFAULT 0 +/* Print error for unknown extensions */ +# define X509V3_EXT_ERROR_UNKNOWN (1L << 16) +/* ASN1 parse unknown extensions */ +# define X509V3_EXT_PARSE_UNKNOWN (2L << 16) +/* BIO_dump unknown extensions */ +# define X509V3_EXT_DUMP_UNKNOWN (3L << 16) + +/* Flags for X509V3_add1_i2d */ + +# define X509V3_ADD_OP_MASK 0xfL +# define X509V3_ADD_DEFAULT 0L +# define X509V3_ADD_APPEND 1L +# define X509V3_ADD_REPLACE 2L +# define X509V3_ADD_REPLACE_EXISTING 3L +# define X509V3_ADD_KEEP_EXISTING 4L +# define X509V3_ADD_DELETE 5L +# define X509V3_ADD_SILENT 0x10 + +DEFINE_STACK_OF(X509_PURPOSE) + +DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) + +DECLARE_ASN1_FUNCTIONS(SXNET) +DECLARE_ASN1_FUNCTIONS(SXNETID) + +int SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user, int userlen); +int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char *user, + int userlen); +int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, const char *user, + int userlen); + +ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, const char *zone); +ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); +ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); + +DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) + +DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) +GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); +int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); + +ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, + STACK_OF(CONF_VALUE) *nval); +STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + ASN1_BIT_STRING *bits, + STACK_OF(CONF_VALUE) *extlist); +char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5); +ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, + GENERAL_NAME *gen, + STACK_OF(CONF_VALUE) *ret); +int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, + GENERAL_NAMES *gen, + STACK_OF(CONF_VALUE) *extlist); +GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); + +DECLARE_ASN1_FUNCTIONS(OTHERNAME) +DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) +int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); +void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); +void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype); +int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, + ASN1_OBJECT *oid, ASN1_TYPE *value); +int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, + ASN1_OBJECT **poid, ASN1_TYPE **pvalue); + +char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + const ASN1_OCTET_STRING *ia5); +ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); + +DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) +int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a); + +DECLARE_ASN1_ALLOC_FUNCTIONS(TLS_FEATURE) + +DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) +DECLARE_ASN1_FUNCTIONS(POLICYINFO) +DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) +DECLARE_ASN1_FUNCTIONS(USERNOTICE) +DECLARE_ASN1_FUNCTIONS(NOTICEREF) + +DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) +DECLARE_ASN1_FUNCTIONS(DIST_POINT) +DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) +DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) + +int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); + +int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); +int NAME_CONSTRAINTS_check_CN(X509 *x, NAME_CONSTRAINTS *nc); + +DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) +DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) + +DECLARE_ASN1_ITEM(POLICY_MAPPING) +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) +DECLARE_ASN1_ITEM(POLICY_MAPPINGS) + +DECLARE_ASN1_ITEM(GENERAL_SUBTREE) +DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) + +DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) +DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) + +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) +DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) + +GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, int gen_type, + const char *value, int is_nc); + +# ifdef HEADER_CONF_H +GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf); +GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf, + int is_nc); +void X509V3_conf_free(CONF_VALUE *val); + +X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, + const char *value); +X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const char *name, + const char *value); +int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char *section, + STACK_OF(X509_EXTENSION) **sk); +int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509 *cert); +int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_REQ *req); +int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_CRL *crl); + +X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, + X509V3_CTX *ctx, int ext_nid, + const char *value); +X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *name, const char *value); +int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509 *cert); +int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509_REQ *req); +int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509_CRL *crl); + +int X509V3_add_value_bool_nf(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool); +int X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint); +void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); +void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); +# endif + +char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char *section); +STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, const char *section); +void X509V3_string_free(X509V3_CTX *ctx, char *str); +void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); +void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, + X509_REQ *req, X509_CRL *crl, int flags); + +int X509V3_add_value(const char *name, const char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_uchar(const char *name, const unsigned char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_bool(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, + STACK_OF(CONF_VALUE) **extlist); +char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const ASN1_INTEGER *aint); +ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const char *value); +char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, const ASN1_ENUMERATED *aint); +char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, + const ASN1_ENUMERATED *aint); +int X509V3_EXT_add(X509V3_EXT_METHOD *ext); +int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); +int X509V3_EXT_add_alias(int nid_to, int nid_from); +void X509V3_EXT_cleanup(void); + +const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); +const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); +int X509V3_add_standard_extensions(void); +STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); +void *X509V3_EXT_d2i(X509_EXTENSION *ext); +void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, + int *idx); + +X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); +int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, + int crit, unsigned long flags); + +#if OPENSSL_API_COMPAT < 0x10100000L +/* The new declarations are in crypto.h, but the old ones were here. */ +# define hex_to_string OPENSSL_buf2hexstr +# define string_to_hex OPENSSL_hexstr2buf +#endif + +void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, + int ml); +int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, + int indent); +#ifndef OPENSSL_NO_STDIO +int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); +#endif +int X509V3_extensions_print(BIO *out, const char *title, + const STACK_OF(X509_EXTENSION) *exts, + unsigned long flag, int indent); + +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(X509 *issuer, AUTHORITY_KEYID *akid); +void X509_set_proxy_flag(X509 *x); +void X509_set_proxy_pathlen(X509 *x, long l); +long X509_get_proxy_pathlen(X509 *x); + +uint32_t X509_get_extension_flags(X509 *x); +uint32_t X509_get_key_usage(X509 *x); +uint32_t X509_get_extended_key_usage(X509 *x); +const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x); +const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x); + +int X509_PURPOSE_get_count(void); +X509_PURPOSE *X509_PURPOSE_get0(int idx); +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); +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 *); + +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 */ + +/* + * Always check subject name for host match even if subject alt names present + */ +# define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1 +/* Disable wildcard matching for dnsName fields and common name. */ +# define X509_CHECK_FLAG_NO_WILDCARDS 0x2 +/* Wildcards must not match a partial label. */ +# define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4 +/* Allow (non-partial) wildcards to match multiple labels. */ +# define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8 +/* Constraint verifier subdomain patterns to match a single labels. */ +# define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 +/* Never check the subject CN */ +# define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT 0x20 +/* + * Match reference identifiers starting with "." to any sub-domain. + * This is a non-public flag, turned on implicitly when the subject + * reference identity is a DNS name. + */ +# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000 + +int X509_check_host(X509 *x, const char *chk, size_t chklen, + unsigned int flags, char **peername); +int X509_check_email(X509 *x, const char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags); + +ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); +ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); +int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk, + unsigned long chtype); + +void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); +DEFINE_STACK_OF(X509_POLICY_NODE) + +#ifndef OPENSSL_NO_RFC3779 +typedef struct ASRange_st { + ASN1_INTEGER *min, *max; +} ASRange; + +# define ASIdOrRange_id 0 +# define ASIdOrRange_range 1 + +typedef struct ASIdOrRange_st { + int type; + union { + ASN1_INTEGER *id; + ASRange *range; + } u; +} ASIdOrRange; + +typedef STACK_OF(ASIdOrRange) ASIdOrRanges; +DEFINE_STACK_OF(ASIdOrRange) + +# define ASIdentifierChoice_inherit 0 +# define ASIdentifierChoice_asIdsOrRanges 1 + +typedef struct ASIdentifierChoice_st { + int type; + union { + ASN1_NULL *inherit; + ASIdOrRanges *asIdsOrRanges; + } u; +} ASIdentifierChoice; + +typedef struct ASIdentifiers_st { + ASIdentifierChoice *asnum, *rdi; +} ASIdentifiers; + +DECLARE_ASN1_FUNCTIONS(ASRange) +DECLARE_ASN1_FUNCTIONS(ASIdOrRange) +DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) +DECLARE_ASN1_FUNCTIONS(ASIdentifiers) + +typedef struct IPAddressRange_st { + ASN1_BIT_STRING *min, *max; +} IPAddressRange; + +# define IPAddressOrRange_addressPrefix 0 +# define IPAddressOrRange_addressRange 1 + +typedef struct IPAddressOrRange_st { + int type; + union { + ASN1_BIT_STRING *addressPrefix; + IPAddressRange *addressRange; + } u; +} IPAddressOrRange; + +typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; +DEFINE_STACK_OF(IPAddressOrRange) + +# define IPAddressChoice_inherit 0 +# define IPAddressChoice_addressesOrRanges 1 + +typedef struct IPAddressChoice_st { + int type; + union { + ASN1_NULL *inherit; + IPAddressOrRanges *addressesOrRanges; + } u; +} IPAddressChoice; + +typedef struct IPAddressFamily_st { + ASN1_OCTET_STRING *addressFamily; + IPAddressChoice *ipAddressChoice; +} IPAddressFamily; + +typedef STACK_OF(IPAddressFamily) IPAddrBlocks; +DEFINE_STACK_OF(IPAddressFamily) + +DECLARE_ASN1_FUNCTIONS(IPAddressRange) +DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) +DECLARE_ASN1_FUNCTIONS(IPAddressChoice) +DECLARE_ASN1_FUNCTIONS(IPAddressFamily) + +/* + * API tag for elements of the ASIdentifer SEQUENCE. + */ +# define V3_ASID_ASNUM 0 +# define V3_ASID_RDI 1 + +/* + * AFI values, assigned by IANA. It'd be nice to make the AFI + * handling code totally generic, but there are too many little things + * that would need to be defined for other address families for it to + * be worth the trouble. + */ +# define IANA_AFI_IPV4 1 +# define IANA_AFI_IPV6 2 + +/* + * Utilities to construct and extract values from RFC3779 extensions, + * since some of the encodings (particularly for IP address prefixes + * and ranges) are a bit tedious to work with directly. + */ +int X509v3_asid_add_inherit(ASIdentifiers *asid, int which); +int X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which, + ASN1_INTEGER *min, ASN1_INTEGER *max); +int X509v3_addr_add_inherit(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi); +int X509v3_addr_add_prefix(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *a, const int prefixlen); +int X509v3_addr_add_range(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *min, unsigned char *max); +unsigned X509v3_addr_get_afi(const IPAddressFamily *f); +int X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, + unsigned char *min, unsigned char *max, + const int length); + +/* + * Canonical forms. + */ +int X509v3_asid_is_canonical(ASIdentifiers *asid); +int X509v3_addr_is_canonical(IPAddrBlocks *addr); +int X509v3_asid_canonize(ASIdentifiers *asid); +int X509v3_addr_canonize(IPAddrBlocks *addr); + +/* + * Tests for inheritance and containment. + */ +int X509v3_asid_inherits(ASIdentifiers *asid); +int X509v3_addr_inherits(IPAddrBlocks *addr); +int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); +int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); + +/* + * Check whether RFC 3779 extensions nest properly in chains. + */ +int X509v3_asid_validate_path(X509_STORE_CTX *); +int X509v3_addr_validate_path(X509_STORE_CTX *); +int X509v3_asid_validate_resource_set(STACK_OF(X509) *chain, + ASIdentifiers *ext, + int allow_inheritance); +int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, + IPAddrBlocks *ext, int allow_inheritance); + +#endif /* OPENSSL_NO_RFC3779 */ + +DEFINE_STACK_OF(ASN1_STRING) + +/* + * Admission Syntax + */ +typedef struct NamingAuthority_st NAMING_AUTHORITY; +typedef struct ProfessionInfo_st PROFESSION_INFO; +typedef struct Admissions_st ADMISSIONS; +typedef struct AdmissionSyntax_st ADMISSION_SYNTAX; +DECLARE_ASN1_FUNCTIONS(NAMING_AUTHORITY) +DECLARE_ASN1_FUNCTIONS(PROFESSION_INFO) +DECLARE_ASN1_FUNCTIONS(ADMISSIONS) +DECLARE_ASN1_FUNCTIONS(ADMISSION_SYNTAX) +DEFINE_STACK_OF(ADMISSIONS) +DEFINE_STACK_OF(PROFESSION_INFO) +typedef STACK_OF(PROFESSION_INFO) PROFESSION_INFOS; + +const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId( + const NAMING_AUTHORITY *n); +const ASN1_IA5STRING *NAMING_AUTHORITY_get0_authorityURL( + const NAMING_AUTHORITY *n); +const ASN1_STRING *NAMING_AUTHORITY_get0_authorityText( + const NAMING_AUTHORITY *n); +void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n, + ASN1_OBJECT* namingAuthorityId); +void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n, + ASN1_IA5STRING* namingAuthorityUrl); +void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n, + ASN1_STRING* namingAuthorityText); + +const GENERAL_NAME *ADMISSION_SYNTAX_get0_admissionAuthority( + const ADMISSION_SYNTAX *as); +void ADMISSION_SYNTAX_set0_admissionAuthority( + ADMISSION_SYNTAX *as, GENERAL_NAME *aa); +const STACK_OF(ADMISSIONS) *ADMISSION_SYNTAX_get0_contentsOfAdmissions( + const ADMISSION_SYNTAX *as); +void ADMISSION_SYNTAX_set0_contentsOfAdmissions( + ADMISSION_SYNTAX *as, STACK_OF(ADMISSIONS) *a); +const GENERAL_NAME *ADMISSIONS_get0_admissionAuthority(const ADMISSIONS *a); +void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a, GENERAL_NAME *aa); +const NAMING_AUTHORITY *ADMISSIONS_get0_namingAuthority(const ADMISSIONS *a); +void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a, NAMING_AUTHORITY *na); +const PROFESSION_INFOS *ADMISSIONS_get0_professionInfos(const ADMISSIONS *a); +void ADMISSIONS_set0_professionInfos(ADMISSIONS *a, PROFESSION_INFOS *pi); +const ASN1_OCTET_STRING *PROFESSION_INFO_get0_addProfessionInfo( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_addProfessionInfo( + PROFESSION_INFO *pi, ASN1_OCTET_STRING *aos); +const NAMING_AUTHORITY *PROFESSION_INFO_get0_namingAuthority( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_namingAuthority( + PROFESSION_INFO *pi, NAMING_AUTHORITY *na); +const STACK_OF(ASN1_STRING) *PROFESSION_INFO_get0_professionItems( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_professionItems( + PROFESSION_INFO *pi, STACK_OF(ASN1_STRING) *as); +const STACK_OF(ASN1_OBJECT) *PROFESSION_INFO_get0_professionOIDs( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_professionOIDs( + PROFESSION_INFO *pi, STACK_OF(ASN1_OBJECT) *po); +const ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_registrationNumber( + PROFESSION_INFO *pi, ASN1_PRINTABLESTRING *rn); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/openssl/1.1/include/openssl/x509v3err.h b/openssl/1.1/include/openssl/x509v3err.h new file mode 100644 index 0000000..6b3df12 --- /dev/null +++ b/openssl/1.1/include/openssl/x509v3err.h @@ -0,0 +1,158 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_X509V3ERR_H +# define HEADER_X509V3ERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_X509V3_strings(void); + +/* + * X509V3 function codes. + */ +# define X509V3_F_A2I_GENERAL_NAME 164 +# define X509V3_F_ADDR_VALIDATE_PATH_INTERNAL 166 +# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 +# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 +# define X509V3_F_BIGNUM_TO_STRING 167 +# define X509V3_F_COPY_EMAIL 122 +# define X509V3_F_COPY_ISSUER 123 +# define X509V3_F_DO_DIRNAME 144 +# define X509V3_F_DO_EXT_I2D 135 +# define X509V3_F_DO_EXT_NCONF 151 +# define X509V3_F_GNAMES_FROM_SECTNAME 156 +# define X509V3_F_I2S_ASN1_ENUMERATED 121 +# define X509V3_F_I2S_ASN1_IA5STRING 149 +# define X509V3_F_I2S_ASN1_INTEGER 120 +# define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 +# define X509V3_F_LEVEL_ADD_NODE 168 +# define X509V3_F_NOTICE_SECTION 132 +# define X509V3_F_NREF_NOS 133 +# define X509V3_F_POLICY_CACHE_CREATE 169 +# define X509V3_F_POLICY_CACHE_NEW 170 +# define X509V3_F_POLICY_DATA_NEW 171 +# define X509V3_F_POLICY_SECTION 131 +# define X509V3_F_PROCESS_PCI_VALUE 150 +# define X509V3_F_R2I_CERTPOL 130 +# define X509V3_F_R2I_PCI 155 +# define X509V3_F_S2I_ASN1_IA5STRING 100 +# define X509V3_F_S2I_ASN1_INTEGER 108 +# define X509V3_F_S2I_ASN1_OCTET_STRING 112 +# define X509V3_F_S2I_SKEY_ID 115 +# define X509V3_F_SET_DIST_POINT_NAME 158 +# define X509V3_F_SXNET_ADD_ID_ASC 125 +# define X509V3_F_SXNET_ADD_ID_INTEGER 126 +# define X509V3_F_SXNET_ADD_ID_ULONG 127 +# define X509V3_F_SXNET_GET_ID_ASC 128 +# define X509V3_F_SXNET_GET_ID_ULONG 129 +# define X509V3_F_TREE_INIT 172 +# define X509V3_F_V2I_ASIDENTIFIERS 163 +# define X509V3_F_V2I_ASN1_BIT_STRING 101 +# define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 +# define X509V3_F_V2I_AUTHORITY_KEYID 119 +# define X509V3_F_V2I_BASIC_CONSTRAINTS 102 +# define X509V3_F_V2I_CRLD 134 +# define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 +# define X509V3_F_V2I_GENERAL_NAMES 118 +# define X509V3_F_V2I_GENERAL_NAME_EX 117 +# define X509V3_F_V2I_IDP 157 +# define X509V3_F_V2I_IPADDRBLOCKS 159 +# define X509V3_F_V2I_ISSUER_ALT 153 +# define X509V3_F_V2I_NAME_CONSTRAINTS 147 +# define X509V3_F_V2I_POLICY_CONSTRAINTS 146 +# define X509V3_F_V2I_POLICY_MAPPINGS 145 +# define X509V3_F_V2I_SUBJECT_ALT 154 +# define X509V3_F_V2I_TLS_FEATURE 165 +# define X509V3_F_V3_GENERIC_EXTENSION 116 +# define X509V3_F_X509V3_ADD1_I2D 140 +# define X509V3_F_X509V3_ADD_VALUE 105 +# define X509V3_F_X509V3_EXT_ADD 104 +# define X509V3_F_X509V3_EXT_ADD_ALIAS 106 +# define X509V3_F_X509V3_EXT_I2D 136 +# define X509V3_F_X509V3_EXT_NCONF 152 +# define X509V3_F_X509V3_GET_SECTION 142 +# define X509V3_F_X509V3_GET_STRING 143 +# define X509V3_F_X509V3_GET_VALUE_BOOL 110 +# define X509V3_F_X509V3_PARSE_LIST 109 +# define X509V3_F_X509_PURPOSE_ADD 137 +# define X509V3_F_X509_PURPOSE_SET 141 + +/* + * X509V3 reason codes. + */ +# define X509V3_R_BAD_IP_ADDRESS 118 +# define X509V3_R_BAD_OBJECT 119 +# define X509V3_R_BN_DEC2BN_ERROR 100 +# define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 +# define X509V3_R_DIRNAME_ERROR 149 +# define X509V3_R_DISTPOINT_ALREADY_SET 160 +# define X509V3_R_DUPLICATE_ZONE_ID 133 +# define X509V3_R_ERROR_CONVERTING_ZONE 131 +# define X509V3_R_ERROR_CREATING_EXTENSION 144 +# define X509V3_R_ERROR_IN_EXTENSION 128 +# define X509V3_R_EXPECTED_A_SECTION_NAME 137 +# define X509V3_R_EXTENSION_EXISTS 145 +# define X509V3_R_EXTENSION_NAME_ERROR 115 +# define X509V3_R_EXTENSION_NOT_FOUND 102 +# define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 +# define X509V3_R_EXTENSION_VALUE_ERROR 116 +# define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 +# define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 +# define X509V3_R_INVALID_ASNUMBER 162 +# define X509V3_R_INVALID_ASRANGE 163 +# define X509V3_R_INVALID_BOOLEAN_STRING 104 +# define X509V3_R_INVALID_EXTENSION_STRING 105 +# define X509V3_R_INVALID_INHERITANCE 165 +# define X509V3_R_INVALID_IPADDRESS 166 +# define X509V3_R_INVALID_MULTIPLE_RDNS 161 +# define X509V3_R_INVALID_NAME 106 +# define X509V3_R_INVALID_NULL_ARGUMENT 107 +# define X509V3_R_INVALID_NULL_NAME 108 +# define X509V3_R_INVALID_NULL_VALUE 109 +# define X509V3_R_INVALID_NUMBER 140 +# define X509V3_R_INVALID_NUMBERS 141 +# define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 +# define X509V3_R_INVALID_OPTION 138 +# define X509V3_R_INVALID_POLICY_IDENTIFIER 134 +# define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 +# define X509V3_R_INVALID_PURPOSE 146 +# define X509V3_R_INVALID_SAFI 164 +# define X509V3_R_INVALID_SECTION 135 +# define X509V3_R_INVALID_SYNTAX 143 +# define X509V3_R_ISSUER_DECODE_ERROR 126 +# define X509V3_R_MISSING_VALUE 124 +# define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 +# define X509V3_R_NO_CONFIG_DATABASE 136 +# define X509V3_R_NO_ISSUER_CERTIFICATE 121 +# define X509V3_R_NO_ISSUER_DETAILS 127 +# define X509V3_R_NO_POLICY_IDENTIFIER 139 +# define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 +# define X509V3_R_NO_PUBLIC_KEY 114 +# define X509V3_R_NO_SUBJECT_DETAILS 125 +# define X509V3_R_OPERATION_NOT_DEFINED 148 +# define X509V3_R_OTHERNAME_ERROR 147 +# define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 +# define X509V3_R_POLICY_PATH_LENGTH 156 +# define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 +# define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 +# define X509V3_R_SECTION_NOT_FOUND 150 +# define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 +# define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 +# define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 +# define X509V3_R_UNKNOWN_EXTENSION 129 +# define X509V3_R_UNKNOWN_EXTENSION_NAME 130 +# define X509V3_R_UNKNOWN_OPTION 120 +# define X509V3_R_UNSUPPORTED_OPTION 117 +# define X509V3_R_UNSUPPORTED_TYPE 167 +# define X509V3_R_USER_TOO_LONG 132 + +#endif diff --git a/openssl/1.1/lin64/libcrypto.a b/openssl/1.1/lin64/libcrypto.a new file mode 100644 index 0000000000000000000000000000000000000000..59c75ae69635f1c79f9ee9169d294bf81120f35a GIT binary patch literal 5740758 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 z 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¨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

      6n_to9#wRE9 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

      p3Ep^KQD{Q2bX1;+E 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

      T?~Zqpz)> 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 Fbefk7N2|0lW+4v3`!iHYs=t*#Hpj2Z#mfUfH$0 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%0DI?*cqg@mbXajvmK9W8XjiHoRl5lH9 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

      ?+WZFeGAjvT%TDpy_ZWX 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Π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

      VQrV>|fHw7P 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�g1OFbIeZx`dlft+ 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%0D&A*5`t|m=0tDGV6wML!5Nh8BMaxUe`EN_
      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�Pr`TnqPg`fvazN6sfR1o<=nw^iuH
      z!^+S?H|pHnzL;RYLy-xEC8LFw5RBr%Y#E&41Ut?ba1rdtrT7#Q1Scjt&G
      zFmy^Y#fpHyHG;|oSEZ|!5&EE0RoK=P%VXo<`pzh87(s4q<_}so{xW
      z1-_*R7?NyB?;#0{NxojC6A1P`nw_=J&hv*>(tUUMZn0O22prVL(m@*XK8BoGNrumd9yD}RtB5YIIy67|9A
      zfN6v^!P7{9BtpT#C`cz2;-&!ir;YMKpNuZft-{f$&c??85i7yC0Kd3m%b|
      zUcM*TNw}9j&1vApr6;Om4*Xw_{0p$t69I3->JcJJ>x%n5w;HvD+Hl
      zyZr|n-dT`FW>O~XH%8#}621!&_W1-y7`bz!AoF%mwwO_n)i>nb6Y8bl@;iAc3zt90
      zO9i<6NnR?!)$R$
      z_dgE;T@|JWRzofZ?pxxjpi!y_*gF^QP3TcOBOq;HhTK3;gkam03$hu92piC&(xcHT
      zW@k=HPpB7FOK&S3lk5LRKrNk};9n(>S0|8e5~4VpS}-6fgPjVlBoBf$Hher)XyO<%*_Yuq%^&N-3IXGn0gHX!`6ToYEK!^?k3Tgg^lH
      zVH5N5h2D9j}IgMP1xT}
      z+3#8G51@*4P$x7Q!eu;M*2#kWbo3o!BmXoJql6|Q6Lz~PyNMpPs9%Ip$b8`AwP}c}
      zC_CN1S~P(x1k*^5GU*qQP$edw`;tqKY9=S;)1+oJDb2h|X=bOQN%<(y49n3ZL}RuI
      z`%@mZf#yVFCOC130X!`x>}Kdqw3T4V(m?G}NCn^p;EnI&BAXG5ki0Q;>7~=y;Gs+1U?KmQ4z-q
      z0@nNxMNdY;TX6>bj6?zMv0lKr0b7QEg&yz)ic+ZPL5*34qGH1PeoO%}5|UlraM#z+
      zbxw%hSIh;~9|c7|oI1E;6m&#dL;wUXZQ=4NzI+ysRKt!-hdXR{K>Qe7
      z&*A8CF@Kbca}>iG?9qf=B#R#|46lI|VQ^-ds*!et9ZwoP1bvTymp?%>#tVy}+wU>#
      zi;aSWWsE|sU|wE52*5jKz>Hw7xlDm}LMRYTj{kRX
      zrTf8swI+fuZGo8#%y*Y)O%zN;=Guy8mV>iCm`pS;IPlNm2*XQK+`1xTz$)m+CPyIh3ON)DbGCVM!@!1ljp_qChWZ0Izdbuda!qXm=G|sL7`~{$Y~AlKPSZkwOI!
      zz)4PmUlMwF0M$t`cvsUHrtYmE&;ot;4cI(`>7z9Q`Ci~S37CMZA?Q>ZnF8=>ke3Hc{I
      zN=7i@jhJ{QJqp{;%X)TEi~%s~Uu(c_ne-{4uAkbcwpU{^{i_AkKCz1+JAv>I#q5tJ
      zA$kkI`*w$a!r2ilG-UYs@;@TfSgolw}PJG8!?Wuys7bb`r
      z6g3ADIDrIG9*RXxAPEu;5W@*#eFbx3Jw2k_R&Tw1iGA9)_qMf>Dh5$Ot5&Vg+ZXjw
      zJw+?kRuLckzuz@8`>eBbM(zFI-~IhQpWcC-z4v$4tXZ>W&128Zp6NdXe9$*X8_O($
      zDY7|*-s5*shtNLXb=eP#-o7vT>%$U#n?E`1@$}QR=|A_qbVmC9qjqij%gCx-Z~gw0
      zulN0FSkKTdov34bz^%h+u6g(h`Nl*O{c_pzY=t4GIv$0V6QqnBRw(p8Gf@vn6D=l
      zJ9P*v1LRRiMwCR
      z*1{|IzKL!owIYnRNUdggvWkwx2NoiBGwSdfO*7-t?oXQy@p8PwK2;E{pa?y9tf4TE^#l_lYd7&61w&Qustu3)pztOh1r8@@QIw
      z=6ukgHfMl_wJUeR+F3AVvdq*Wyv_WK#PC~1fG&4%3o$@m(doE?R!#p4GN)ZzAYxpoJ{kXBTEwyFu
      zGRo{|e2|xZyy}4^>4viRv+v@dq9FQxq1e#qlrw@{q}dm_X_k}tAa9WDU7C)Ihs=OV
      zC}n*Z_ec-MjT+-yYDXC<%TeyqgH>-XiKmmJ-p}rdN7zy@=o;<+sSKvLf!7Ve!0R2k
      zf!DIc2`E&1KA5;8H|m-w6CgL(nm}8bkp=$-^;`Lc1DuLSBzRHyV`Q}
      z9YaLUpw~l*w)(oX!rWkR+*uky!6xGG9hz)8&aRHN`ajEj8>8N1{L4k)x`s
      zh^7tzBN^}IA`et^V>yU`ewi7NQpGo#dW4auw@7$amOlbvU|^Fm3b&yf$i_GDBXw6@
      zl^Msy8yy)J1D6=s@yo@42_9oEZp2BZd|cXk!B!%4H5Gl$D-Q-5IG0NOskziw5C8+R
      zw*t+ZOYH>^XpC!>@2blmRm>Gmta<{HdDgHSf{NVfEXv
      z%LjAeRXh(cYqNhryjC7p>|;pKhKt~t%N0p-)nImzQo3wGa(FK}gY3$lC-s;#OQxdX
      zmqL=M@qtuO3atJ018|vV;s^Uh;DG6A+p>KIBq2sl4z_IW{a&Wcwm7?C>YkJ`jm$}`
      z<)$gvVYC`@j)gSHs7`D#huuXhaswNjNE{hK#xlRK#aZpxCKLwF7M3{!BG*pni}Qaq
      z=*g&8J9>QzUiDZ9U|&OnR|M
      z#qb(r=WOtE^=t0u@KnR8=)*?)FOpu9OnEkpP2e;P7-Ay*dJxF~gCXg|GWhA+SrhFa
      zhY;LB7Za&ScYGtHKzF(h9UJJYK7B4)ySie&y$0C~-|~j^_tyi%c+i$UmK_xPNOn19
      zHBnPaWUz7Uj-14-6e@!(4_QT~ra%QoE{l*4X3~GuRm9GG_Kh2k`{NQFKQc3L
      zC=$}!qyN8Zq7M@GfBpXNX<+))si(v$<}dD9p6rR8IDX>z%HvMzk*BIFs!keTIdObd
      zjCqY{GtxNcu(+2n*Y*SN*BEWA0ujewI
      zRJ^phZ;$!>Uhhjqqf4vfrIqp03Vgo_T7;QWT0EU2Itl!BT7C^I@E^=?cIn{oqP~Lc
      zYD*>}IO`(11^kik7V+Ka)x&E`V|^pe9$i|F&*u7}uvHUtB0oDvr`2n*bUjNxQ*4cC|Ommh9v5Nu}2EZk2M7Bi9PT9CHbva^zl66?l{
      zj?5_=RkSM77#+T9!Kkum(W=#DrA4c{%JwQ+wX|$Z(W;h2+3=!OO~ZdWY&3`)@dfbI
      z5>{llT0R{6qGR6NX|Xd2)Rva@6`eJ@w79P1B1p~r*ITp91+Ck!AqfLksF9_Av&v$HEw
      zq3z&hh#Rixwde2%En}z~9^nXczAK?Y6!_MV=ORt9&qi)=Pll1acM(P)_&mObFT+~(t|(m!FPG^QuGN5>E|F1KF))m;KBKg
      zNg@6%9(>pt33Eu
      zJ^1Y&{4o#yx(6>o6J97?$9wQ|J$S~0-|oS;dhq}B;IDb`F=$E)$$x|gulC?`Joriv
      zp7!83d+-4d{+I{d1=a?Sf9o4|jfh(tblbzH3o;a{P%t?|i&tr47|Q-GmE$
      z9DQ-e^0pNhH!oeZs=c`@_y(IF(}%uLmM?i%(jzi^R$YE1q*kFL-R(&xq58zg_=c&K
      zk>=?Qv!}!xnrBa&Hn(nG^StMV*~1LWUlEb{?`+!^7+y
      zkRM&ZJs)<-IWe-VeOYVQCHcNNqithKf-NC{!)TUuHMjMMLWg=t;%x%vCFaz{Ynzb>
      zT6QiEmMyxl-F+*cXJdgn
      zPtFmyE$+-c@Y{Q9AWoENxlz96W$nqOC`#?E&C>yM2ZHAFyI1sd!5TYQ)Wa}Mbmh_l
      z9<812i@KZr-b~I=b}W6ZJ>4j7)^BCUvaZf{D+5cx2m7|QpU-STU?a5+E-E$^M1hqiE;Pjo*
      z)xF|^_Ey$TuwkSTq9@x|Qt+_){vm3UTE<}Z;LyxNjLl9CT2(Z*d{NPqwWA^mf%#S3
      z5YH8;%L~|nse5#M`6WU7NHWkA@IA-q}gS0cgLy;D_TV>3I;Nv3tk~=TeY{7L&(dR?od1k(uK`eIwWp{
      zY+LFCu)C-TM>|fzF;zNr*CQXpALa+dH4%g(&iw!!-bxUTILGuHzJ?$ian2_@{A&c^
      zh#!hShyRQq99};o_#h;54jq$AL9yilt+e4m3qy3-WB=EKF|bm4gI)@eiX@iQU*F5Z5{
      zNAtf?;h#i2j{a$dAEt1Qm(cNYApRWvUKl5!qnwB1&*2}pc$oe~4}DzWV-=t46|T$C
      zcRlz|Egp{d5k-Hv;?HplI$kvYDus`OpG#Mh!jDk+LWOJkB_2GbaLwm>g=;=v^5Ea{
      z;J113M-;B({k_6L`Fz)d4=7yod0XL{PYK33=)!h*n8J^Qzf0Eyh3k56
      zfx>mX7kcnj3O`cuzgpp%|4j-XtLT5E@Ct?h+T!7Q>{Ugt>oJ)CMR@9gb7d~Qy%>+7
      z3*#Au9}Ry;|7V3CqwseWuIcOSJQw+Ee6GT^JS*)K66uds{I5~Cj`zzJ59{GRMSq;)
      zlU4Y5h3`_h&X+NEYK-z6ujt1syi(zlEgqIA_9{Te<^ea8|YZblD_c3+~
      zkMiquP4wXBc<_rAuJh|Eg&(cbwO!%5KRia3aT$Bl{o#*WJgm196}?W^a)s-3tx@dHyeIB9k
      z6X56M{Hh(S4b$JIa7{mBZ%Sk2;d%(i=SLO~>wl}F=ZEl){y7i*8y@<7_F=3;`-cZx
      zobqe_cPd=#`Duk~J?~Vw*5`gS0yy&5cKc(6Yx*O&Kmv~Ry1zHegRk)5pI12795}sw
      zU*X(O+2OxXxTb$h;nj-%MTKkn9SYa{BV4xv$8>4>eH5XNrmh5zNm0bKk2}n-Z*CB?D;F@h4CLNT-Qqz
      z4$9GMITtHj%d^abulC@59{f5FK7xZja4avA@aNKXpu)BMUsJf2|6YrS>(wU}eU;+>
      zyodf(5B)nH`jMh}6zi-+ke6up-7
      zBoBR!hkllaeu0O+UE#WYU#@W7E?n*5|8+%wBGT;alMt`WoE2^q#5kxWX@2_^}G_SNIf#|Et2MD*Rg(56g3pqStoy2ZihRpsd1cBRTp1
      zs_@ek{+`9d@$SLSJskC>^DC-wU49Sp;Bze==D%3c>+-u=;m09vr~f_={zHZ9{JmS@
      z+MZ86jHw!$@AECr^lCl#dg#C8p})mL|06}O^|{$Y|2svm<=Lh1I>_qu(?lXT%CGSY
      z6+R7qjy|Pu7JY}`?7@Gb@ac;FVTC6YK4L5$;3!W${v7{{6h1@YU$A%)Fm`Pm{cVb#
      zQ91k_5BrL?xidd5
      zF5>eQzQEoSKU3i?3O`HXOBL?I66#X;+4i27)e8T#!h03IP~q1o{2Ya^Q#kX|trx#d
      z;pZy)0fnEZ@Ii$)D}1ZMTNM7N!WSw08HF!a_%?;ND*R=Iw<&yw!kI3&etl;Mck9$8
      zW8ugABE4G&UrYdwmv*@`KU^nH$IBAAGe0qfpRe!=g}c0_ccsER6n(YAFHm@m!Y@>K
      zlfpX{zChv26yBon*i*2cjs_ZY5Jg`JkLXe3f&@2YKm?>x%f
      zjlJ^qifu=YeRh{FcADVU+xNaG?io)pLAY{rkvTWw!|k)XtPaKNaGP!JQO4fM^S>IN
      zZ54S=2soM>7r%Y&4t!nw?pgyM-iP(~FCS5Uwq*=&%?@|Qt+(OVJHTFJp=Z|V3?EK^
      z%@KxBe{Vx1X5iqLZBe28D_dYlp0SLXf7Ek0|5$f1{!095_wteEiDNL@k(SO~yVbpT
      z*q=iy^i%HMg>%SfaYHPuznBeQ6Y_BKyYN@xrcnA{wvDK3PndpA6}a%ue)k3z);*xe
      zGq$n)7d|K#mcNkfByVBo9Ikh?xw72R7Q^xH39L~3+a{WDX&1me270%TSYFiCj0H?Q
      z=0Th}*+JhM#GUm}U0H2OKKfY?We2<1Ts={PlO9UstOxD@j1RNt&uvI=PH+dOC$RZ5
      zw&uZC;rPz|;FlRvwtqMf8L2iZFdqC~9AAFt9_&W(Aapw!$hY11ClA1u%{7Viv$DOa
      z*(alau;(~z5ok9*aG&#ISE;^xE7V2`xxFnCnL2C|GayZRH1#!PoiNQz#-{UREMj0w
      z(C=Zx=$b@k;@JB1GkLpt!|%FGT^Bx}@4pS98@R7@W`0Y3W(|2lQtWNOoAk2`jV%v$
      zKT7N@tmsNG7O(|Nd|&T20irMWWH1{@NUYqE-0ToU&x6GiVrP1TD86q5UmA{P2X{bl
      zJn+eXv1asZ@q`Mw4Y?#Y*tjv8dJ7z}J5=9gV-Lo*2yexsH{L6{z&5JU6jxNajcl-O
      zPNt_OnmSQZ`JZlsg1(*aM^hIe2JA)>ALv7t<75t!n2+K&u%oi^yZDj)7^+?s=GiF-
      zAbU}m?B|v|o0D^~`9byxY@r}~%p+HxbE;g&t{ZhyEJ>-u#sN^}ALYydlc?8ruPe4R
      zFMvb#QxZW9_A1G~jA!h%#PmrZ!g<}yPVDB|M8VL^eUNC1@yd|52r=P?r@O>|0H{bWnNicn{RQK%~
      z(U^WDnTYqjSA;E;-3|)hVRTCw9e;9rO4U_8-jIG;1g^rap!Zg*LN0bByH>o`5Y#CB
      zgALqQB6+;*7IQi(phhbFRd9{pj~90G7=Xd#Z@W?x!QLp?X2aD>Ynw{@2KR`kH`PWH
      z55_mWJ-qLoqQ=$-X0EN>6T5fbQ@=JoED^1{2XV-bE78>ch)5!Cm^2vu?9+$A5PpL+3Upx;7B3RN5*Ae~LNDMd>G%keicQuvq<@*XDRI>1`bp1r
      z&qMQ_{P@hZlaIyjb<8mYtsiEN#F3~(eI}b6SCcs)yDvK%lEwK|awN;GiBT8FQD<1u
      z*gMP4lWaix+}=~zc#3_9{s)qmM{h4`magMH5ri(`N3TX!bM#0NeJp4*RS
      zzTCPCn+D^wsc8RI;FtPMwEsWgSBL&VPonQ_v`EL`F`DYZud@lh`fucWe$FPOPSG8Q
      z++INC2x;;+KL~po1V^Fz|6CJ{Yr@5b
      zjtDD`@>&?#eo5@jxZhZACzM!w`LJ9-5G7Bo&#aOb(Hg%5h+dOIRPlkCAEK_`xTvL=
      z3J2;V{mhVhgm4bbN=jtU?}2K>A?>2n-|+#i0?#f8>;c+|-j1!qn5{F`UN&x60(%FQ
      zGcA&i;7lym>YcDNNe(ueVhsI*lA238pyN@=Npwrgxf6kL><)2z%q^Y$Zak
      z3$jc4oLitdXtB5!nU=jqiqC#y)6W(T&%RfDfZJ?kw+gA-B5cxTY?25VJx1W!9>jwp
      z@Oc#J{2hPThi{EU{!6>Ea2%H|yeCTnnCrS9I06qJyr)NFX-m-Ww7*MJX;)EAL0;2JlE9}8+4ZHar0DPPm^#E`ddUrl^96|+XC$KuEtn4MBV+fL
      zsYNB>d4Y>}CTfgme745YC=uA^c(w-s{2Hr!K_jiyr*z9{h(Me4__{
      z(1SnW!T;dFU-96(JordtNul(9%!9L;EJS~T2cPS~xmzmjA;x+FPU;I>uk_G=(Sv`(
      zgY&%kLUKOn!Jhywds-BWIHnH4?JFMoH$C|K9-KoPh2#kaXIjm-*7@Jt@iR4k5Z2wk
      za%Fp4-sgUWKg#B}(B{iV^EGtd7svJ?@6&9H@tb0MD_^(bo*%jMb31#>56A5-zAbFN
      zsHX#m;^xTYYj1ofyTW|Ms=k=Lup3|5wO)uXY4bnSMp%9*&Tm~Uo6eO>JC-D?LcDR@
      zc@S9-kNyt6clLY;DbcjIU)bEaXr=oqJYTKy0it~67w`&w*$s(;FWLhde&t%=!%KYC
      z3`v-X#mgrw?pV$b0r`!t{i0Al9priILeT+|<-F_R7n1>N`#oatO=+Ho#{$Gq#~O2$
      z@y)$(kAAZ_t{qxS#hi}x?9({>bd)=~FwTCJ!}rIHqyMG{A5{1OivD*BKTzR+
      zQ8>qo9e@2T9>;VYK9+qGI9}MQI-HwR(@}m-r#QS`;hcwYIQJH!BR%_X4%gqr>GX07
      za5~Z-f_9r|UvRulcM}xVBsF%|pk_Vfb_DeNN$rD}1W$LeX27)0qm_
      z<#B-rzg*#C75^_NT$j7=TRfcJ`xL!S??^lOMLD(nzHhjaik{O{P7hzVcsO3}okK_d
      zI^IVVuI+I69zs5(935iuFrSkZuJdb_!gcxjg2J`l1{JRL@V>&wK{S`%18jeS@@PHW
      zZt<`l9#r&N56^q(-}BHPVY}?%{OVP>wzq2(uI=px4}OQjD^z-asqmu|{-VXh>3v(#
      z>+}w{b7GWV>whnW>wHWpT+8!s3fJ;%Qn;>{o>aKDhhg?@j`AF%(iKy7!lmd<`UpdHoyP7*DCx^tw@L=J!~>ymKZGssOg{Kb4wE+memJuExPYuK59
      zbLEzgR7p5~%2X)+777M;YKVC_e$M5u#LhczGXKNo@=vI$tTZ$qeJ;Pe$H>Cp8o8~(
      zyX#&N9^3pfpLuSSyJ;~unM*O8J#{ILo=CIMHbpQBNrkF
      zx>OL1lH+&^bxzMwPiVM{iD~(DInW6Ci>)u^^GTl&4|EwoI)Mfg#pG5UV_r
      z+z0b3;W6tTynk;Xk
      zpXlW!(f=loQ*Ok0#q)4LH@32Wk}62
      zQfy2wb8J60B%CwE;emg_akniE=`2=CRK2=;9oG>c_fA4^nU+Z&3o5Lm$jn^|A}oUd
      zoulGp^7b*DV*zWSc9Tr$m)(dyl2l9iU*$>ID_eNbgGta}atcMnSq3Y?`6WAL49g)`
      z@Z0_qSVYy}_S?zdg~9ZHay#b0vXk+u3xCj6y}CWU&deo0$hl<9^vs_tvqHbdJP`)<
      z_i!4BrhbU1MGFsLqPa2sP&CE!GdY7bRaSrS$Suxa;rwr|9Z0`c^&6Mgo`Zw5J%bsG
      za+kh%Gc8wUx*B0thma4#V-5``CE(~P#UgnZW@}`JnB-4LR`nYY#)J^Z3}ShL(LE*{
      zwtpeW_s5eTPh?iXqMw#IBc}+7Fu9ab?p>ehL3C#7nn0}$0>V`DHq6al$F%)QypvoPGkNR=wrP%M>Zjr*
      zOOFiG;8^t3zd5gsY>k5uR|$+F$p~FsCRvQD72ZguOTE!!wh3t1KKot)iz{MVrd5D_
      z#Gd108iT%ji#OBWP-g_o)o{KMY6zHcJx-uREz;Qk04BY$;7Y2CH+brdY3#x#U&HN}`XSfDVtbq9=yOLMdyO$}lfIYO0YH6B%&{TLBnFeI}&%q2XUl7*1}Dg4lS<$MWxZ_@N7$OuCpuZv0SQLrb_!A-!i>|X6-5;Q!Je_qN(poa8u~8z?9;mE;MqQx;zaE
      zss=G&WsP(Lw2&8wH)}QtN-GZpm?g|FW-ViETV-deN<6RhqNu?+XFtvV8^_3!r)g1aXIa|ar=ie(b;1(
      z^>>U+qf&0kX(2!Olkm@OvhmY6b6oON@k7u_-IY&ZN-1@DEeTAGE*1uP#MZTeEEQpF
      zIuMn%fCll)S-9w6S70E=!8>~p8!}5^@mT+r$V`Ef(S-ntzl-o!FFvq?
      zDQLKBX-HFmyw3XyypFosx94L+)+q=5BfN9N7!fLX<2Lnr@*$kq2ZqDz(=W>#Dtauh
      zJBG<0n_!S9YwaJe>NemPax86b1b)%fN~uzYCo(fp~3F%Yq|y734n
      zX56;i
      z=AlB9RhkF9Z5)QqIF7bwNrj^3vm=N02HiMkdOe?1z1O~b6M3)QX05di53_g%EMQ~M
      zx8ji8m`@-X0^12qeR>OdW=qzcKAuS9Y_MAsFSBNmA!TyM(!n|%X
      zTTfPgA^;3fm!AV|1oF*Bj)4;4?_xAa8sv~>4vig3zw7cn1#grMnC`_(t=$A2_|zRL
      ztZ4Yp5Im9oYc7G(S;UA!8!$N%43ZFe_
      zjJ6Fnrr;F4EbvDSjZO+0H?YZNM5FPCD8^K54Ulgt6+%Q)p}qFNB66P@L{si7o{GX*
      zz1_Bu@HWPVDlXU1KOFYW>jwOo&7%z_B}MGelt=36dI^mqTnk6tCBgTw`ZM)getC_i
      z*nlIn*cm=Qf~o2998Db?h;TVHC!Mui{L#P@Wk@W7s>%7kCe1nv0Q1+Bq&)RMVhAL5
      zG=#7LS<G;b
      zm@zu}LNErX?2jrQ+63|+h-nr=;e1RKHO@tpu
      z5@C?Pce;tD4t1z~`H}t}Edymts2I`P5VJnR5dt?Hig7Q&l4Dz>NvTVs%YvzhOoih1&TIFrBKX*66Q}Jn3BK>gkgvRv!_33vpAC^e}S{OCr
      zRh?aLlNB%3r-P6B>=aF|{JexL+%T2tyfrVK3#$h0cYvFh6r8WYhnzB4gz<9@79}KN
      zd^jg%JKE1h;TDSakH`q*x%9n~EHZt+Y{1wXsohIr~Bg?Wv0qf4p1L4xTVK`Rm*BS)t~
      zy|Gi|%?KLL%$K2-zY0Afk{)rK$)cH0Fl+=3*yN82Y`=0{Jac(P|L$n&UFlHup!1{O
      z>mNZh#-60ELGe%I4P4pzQABscpm@T7b6;zk@dk7<&|o4Ntk|ET@T_Lz8&Pkf-Lu_%
      zZHtNg;W1~=Y?Do&2T3xll6Uav`D)C2nL${7N@WIvVrckTf|Flt;9LQovOhx#Ilj?@
      zQmV#;Z)Bm%9wxOoMk1xzH}CGj2pHnEWqBIN5F6$w(QT9uw-CLH($pA-Gg)lmvl&FV
      zPE5{?4{-L)l%?Cz2b1ww8E=se!`lp131;$@XMFc#%)}?bgM)CuVJBIR6*+x0vL`7s
      zWSqk#QOrni3&Oa8hlX^(R#99DitMk!t8eS>EMFUQ?S-ko-!%326H=tie8+;sqz9v^
      zbEO1ea_Zq+@iLz^LIw-PQ9t*81$i8lDKjS$9;2nj+Cf@LUN!1(e*v>ql__9lMy((A
      zs#l}QOobq0xoAH)Pv8m=OSm0Ya>fs`XsX8I5YxRb30@&#Z86ITk?utc4a+%gjX|v#
      zWceyB0G3lNoj2wdy2>h=dPozng&>V-jT!!j;;jR`h=_763%-a(Qxg;`jz~TS
      z<9C^Ztl7R=?2h9XefKWF+kCD->v?ooxhrnP*1XE4K#g}6%VfxV6Dle(ze+K`{?QO9
      zXHRuis*vaAe-_lHcjhAAoTE2FZOZwHP&t2-qh^Zl=ZQ2XIv!$~2*%?mT|vRI5riqc
      zuBs5(Q86mn?MRcn=W_Her~zP~wgxyhzXlK{HTg{T1WEQllq%_$A^VE!Gg4R`S-|WM
      zs-y<$g!Eb@&h=!kLmH(SP`0C9yZ8bvHX3+Cq}*E>Cx7CY+^L9Qv>CY*@4Fng{nau=
      z&+cB(5ul095TRDN_tXR})tP|F;uNb4*9(>&^e$SdBN97_riv((c~t@rba!mJtoQRs
      zlC4H-7zN4!D$V?~-%Xm#74Xs}#?%B9^=9#BH-8>WluHJ^QdVQgAPFnHb0fL!;?1mK
      z9s0J5HprPe>z@!2=LN#U5bU7);f&if1EM0Rk%c)g?{?#bQp5@p0D@e;Y;)eW;*9oR
      zjpB_2qt<|EC_2^yBluggKa;o9D>!<8H!{(5W?U|0zX)H+*W@9r%0ijie+)7sYhIvX
      ziYy}{doI&#&NhNg_Whjhs8=QNczQ3CB5;KyIH**k{o4^LyB7%Z`iIhjm{l|`-;(>H
      zkgJ!MUL+`*L!!)QGlk!a@+={WN+W
      zwwnGkQeK^YG*=7awJrs6CJR=Mk((Bp6nZ<(
      znv%DR&B$0Lv)0%l5-Igo@+JgXDnYUbK}Wgz(j`RZFa8ByT;ui%tR;B=&kc64bQ;;s
      z+Ad@LQu@%t;w!Z3W3V4&_9RNZA#&S+x(cSiD3j%s{Z2tldSID|#U%>st*keaEZr^E
      z6Uuv|c(WM8TPpVabVpNP5sLX3+ebN<$q83RZExvPAqbd@dQ}YPz?=C8RYMV`gj*fN
      zUF0Ia8i={!zU}j9Vadr0D|E9c}L{p_OUekMh-&7FtLWrb41Wj?*j@;TD)}J}q
      zT^cYB7A(kN2Lo?{(bSy~D6w_~`)#<&7mgbqfVfy)C>2Ov`QbY{YVGX@=E_%n-G*bgO_M5XU48q+xKGsVMb>1^F&JP`|h>-&`f%<
      zCu>DP#kGN7ZJDrrp=C91;7xgG44^8wHwfN;GplnwP3BU4W>ju1Ry1|Ls0|xmoq!BC
      z?;6#}iA3Lf!%UOZb87YqB$IN_%+$UI;pe@x6P7R|GZ9mmSTCGF+cPRRxXxvrRzb;x
      zgis@2=saT+F4Q$Bw!?Qi
      z`e-UH-5w^)ErvT;3brhV#bA}~=$&UvH{OUx<-FE04C}2kC_47J>U(XN?X;&m`96ak
      zaF}rs#0yTHhGGKkOK5)tdbt8xMaEI$>!VT8Qwa2J}3K-
      zWWRyh!YnX7HIeBuS<07^{y7jj+YjGF=G2Wyh|waG)5Y561W7WIVFD{-I0?j6gAJlh
      zq!W$YIjo2`Z;vMWHV;coI)_E&*I-zm>HHn+=yGRAJ%11za*K^6nQk(J+h?Gar-G4K
      z^um}@sNd<~VhP&F@n7?rtCjR=4qf^}o+crKMTA&x&Q-{G5fZCS9=fHDuW*s<8MGS+
      zt98)>`)1;hlf~Jy(VfXX+O<^E3A*9lH(7Pzl`FC_jUTDH+^VVUp&&G>WV@jMm}@lw=S51Uu+YAzfV!)4}8fyn3^#_$doU|*vObDb7ribg5yE2iwFvmVf4RZ&}33I8L7UrRcP>!-P
      zK%1`O39K@jDzU!xnORJuqA=4((NtDy4bi7a$=5NJ#0PWUA|MzI(e}56Cdn)j9bsqA
      z+J?64*mC1E>@u56oQ%zgjY|2FDo|xrt;EoSOt4x)hKQEb#5~tCvF;3L#$bm%
      zC^D#{vCa>57`?F?))WVhgrO6km*dX_M1jDDzzO_wOTfy6^}2bpz^ek3s5r@c@O7Zg
      z^{*0Z(fx@;Hs|kJC10zx(u4K3173
      zxC;J=-x7(F-yC!7mu^pU5&5>+drl@t>PpM5E1FVTzIHhFHoJC2ZE3~TBWp`5`$iSr
      zJi4?ZUK)cR_EMWtS}ezHCJ-dXaBvs#n%ifs(B5b>N}Gxn6x>#a@I^e3ZG@
      zV*DEuvkLt%UcJML
      z)`MB0eehV0uCct0)A_w}CH}VB@QZNIa&dK0ytKS;_>9sR%WV0y
      z(z1AIaa~DmY57#SWtewun2w=grUhZ9=fbpru9A5G_xwk)k>O`CU$KQ>$PlNObQRP^
      zt>pI&HjX4C%9UAI^0gyG7hu>oYI#T%iIT;o6;qY9%h|2lEU#%yYc7upm7B)W-eEq0
      z>q=&sgrLsQC8|z#JseunBwsE=lr7S{Mj})B@qaGQ1
      za3{l|_-q&k^LU$$eTr;zY^WrRA_0Scus5ev}n%SAH2Oq_Y_)BTp2}%6d~q
      zS}d6Uga(@K1`>)UpmA3TlarLNcN3I=l-SF#+<}+FkDRQy}(N)+zDo*++WxcEDCj~QQ
      zYDv)z@R&ZNJT#QBUcT1GQH=W!b5!U5OM6k8y*q3IAe(Ein2thwOB#GMFGJjL*@Yn=
      zHf^CbfP63TcP(npgCC>ny(?R-*F;>|#)jPt0EO^RdGND=lYf_G6th>>S;W`bXBRJ*
      zE{HtLIJlVnLQl97kA?6DfESYIX-i*Y=_@Rsofhx1xYNjicrL`}aNvx$*V0S>2t48*
      z`g#vO--EXRC;#=fy_NnG_+Mx7n5~zcoZt8Gx!uyccE|OT9`VpWYw4RTf7gfNBA-Hf
      zc-PW*S$gSTLC(V=cOiP7LsSUo9w3GAX&!u@2S3k)U*N%efK$(dwrIp4JKeu|=)Yy@
      zw^@4W>w%vAp+fTi)`S1a^69memGtw#XK%E#h4>uh!K;B&{vGVdz)2quSMFt3h)=Tz
      z@ABX&4}K$XiPuIV{XxY0BM<$Zmi|$@XOZ;zK>w7*Yq((`ob=ytebd8dPuLmbeUuw#
      z!7VbE$YB<*VZ{a4VJ?wVEqA|n`;8z2uoa+xUf=FKsxBu>;
      z-{`?#vV3BP8a~nw!|mG^@A{;{rGJFm611;{(pB!k5BK0l1E>6hM;iXp|H17U9{TB)
      zzRXsr()R)VA`g9sqd&&*m;McI`#kjD@Zg&*pV+a6kMwPD`+|r5br1f&<+H8Q@R5EB
      zZp%^53+c1MgU5kWZ!x>6lr7$oGd=VddGKpI_{|=Cg9m@yga6Hg%ig?p_^P`-IeyYf
      zCs%Wq-l_?qEnd&>UeVLl+_AhP87aIiFSnC5``pUzy7?Q#n$SxSeC5&*W7(+IFwPHS
      zJPL*}?93*>mH^S)=kE6Qf>Gp==SOAuaqru<_VXE@iRoF^ytpH|GQ=xK+S=2-N+?@b
      zbX~#_-0IiuEbO-Z4aI{PW^{G0xS+i?*|Dl!Z+6V>bVE@M-LKbeIh@aRNk@BU-af|M
      z(zp9cG^9qa;~pWaS{Ztrf!2HCm2
      zl*QxqP%fx^
      zvsE_Xm#-Vd`#k4Ex2O9riM))7pdb9U3b
      z*?>AbSF}d#Q-Mm_8QO}K$(&F&p@DKJL~;en0qfo5B_vcEfiG)ME=9?MNY)-Yu#X?|
      zs+$(l^C=Y^BM*0bJgT*te=9Xclc35w4&g=_oyvBI?-zG3mO{ADaW
      zaOAJ$AFFVkU*{=Ym!mZvyp#jxaOAJ^_frbj`Fpm)b^b2#;43|NuLr+R;W}R)R=CcW
      zefARZMg9|U>&nq_3g-}l!@uFdw2FqewW9w|g=;>$
      z6t3w{W9I{o@oM~Bg&zk$m)@@_T+4Hp!nJ;W=fOv^lL5zgHT@9^*YYe;xQ@49;hN7a
      z3fK00upMX*r}q?vYd+5@T@X;--BbCtq1pBoi^3UuN0{D#7Hd3i_Sy1b0y
      zL>nCC(fGa|Jm$fV^Wdj=@aZ0Wo(Jz&xGs;A_ZRVp*uyy`IKHpZj=5wzHf5C&dmFM_tJ}HH3yBcA~=b7(1y@xAY)6ZA9wySd$
      zuI*>32Tv(n_m^%^_-T;I>HlVnhufoHD0ymj)t
      z<-zx4V*p1!ntr|qKi`92;=vzNIJ4Br^PIxt3LnAB3y$*W{2HThonPY=uH`>P;ZwlN
      z#XD2s$1D8v9{g7dpQ`9zRCukzhue9UaDE+P@o;{{6|Ut!Q{mbkS`Z~b$)$`on1J}ujBop2Y*xHTF>t*Te>GZ6}8?v*C#A_HMEV?@+kb^ZqmfxUe276|URa
      z*$UTsd%}bNN#SwC(;WHKfaViCl^5}l}=?d5KU#;*4gmL_DQMjgmSmC;Sy{d4X
      z?-guZ;V6%$?@+idcNZy~Np$jD;lVQ={3Z{cRX9a<{Qs(OZ9j({1tPexoh(wgwyS3p
      zuJipZg=>2|;OHEGZ4avzuIYcE@FoNe-4rOT&K6&gI{m)
      zuspXY`uT|4$@7T9`D*L%=M=8>vt8j@Kcy_pa7@?!_;Y+dX7R8*M=JU=6@9J3b-axV
      z*YRGYa9ytd=D|meM`Uo6Q`Z{@DO~4Ey~0mG7?-Yx6t3eP$4)0)n18JYZ&o-(cKokU
      zxaNO{2fwgVqLp|xpD$TFtpA@YdTpPNC|v8Oh=;4eF
      zJ@`BizQ}_w_u!X$@EaAb>&aUcuI+OiD=)ZkzMrA+1@L$Idk&2Wj`W)U%L>=^CC|5D+aehednW4xOFa1z1MPKxp8Tm)qBu%g)dY6u2U3VG!_qVWH$qUj?W&dot>rd
      zc9oB3E1bHbWAgTrJM%+b(GlNU?#vIBlI;2x5ZR&JG3Ca
      z%u_n@w?i`WTqC~*Uuf@nNhsW^M35$h?_=+IS)lNJ72cxo0~Eeg;b$nkOX0Rj5oEQ(
      zZ51m>uflCs3v!LZ>+C%*>lAK_tRS~3yx!jPGN5oY`TZ&CPag)dV0H42}saJL?p-jfu5lcGOW;p-KCmcnE9p7j|2oU5@n4tMtF
      zbmDMlH=-oQ|AB5=LditFq+^thDv++AVZaw-rA>6Gmzcqxr_2TY~bjN2$nUTL{xVbvq
      zt=qmfgu8Xy4~1~IK3ghsuyTCd`s|5TPY!qMvu_IFZvFHNA>6HpZX1~|r&|xr^}lqE
      zzgx%5^}HH)>y_KWxP4E!Erh#u#%^BQ@ptQn*X@zd->n1w$ImWKwy#c(?^)j2abbJs
      zC6V#nE7}$%7mZ(;?5;vzZG3lo=c4g~;0~UV@&8k&8JqOQaG_~h^%xMpHTJH;_FJ5X
      zH7oZhbJWbzngB63HBII^U>lQCJTjhQ14qj3^$3ewv$JRJ-1P!=FCO;iJR4qPym#Roex=1&{)dn7iWIdGnFSyoH(&MM)%RrRPI$B+8W5q(#|uL6Pf8{
      znaF9Qq5tH^PdkH`{Z1>vB`TXC_YGE?UE~L12!cJtH2vX*{$NGFcEo*yNFF!#Pcf3n
      zz1-t*v<hn93;d?C%sy*&i8dP7>=JcghrBhr
      zs1cm1aDSrje(c0_WldtOR0`Pk>W*O$=4C_zRbE=L(CrIX1T;(3%C|9w`|bCxassnQ0Z=@LsGs!ToP)z$1~VsgZ{h_y9_5gfb0#&Af|!G;O{`
      zQ(puZ(Irm3;%#33CDvl=n8aFa@`KPZ#vt{Ch}=JzzAt*sZ4@FiwX6aAT$N|4O=7U4
      zVAbPwRfF^I;M&+m?$~}mwqLQqK7DrbM9CU%%TnEzIAK3YO0=JSJnXAvw+7$5PV7eQ
      z1<3t*AdS&p>)-GA9q1v~7!#@6N$dAOH^lL?u>{G^Z32jmt;cM?R`$|$q)&TDae`+H
      z1P?andYE*V4rK{CZd@nv!ya%HFf_c1djuxu;=t?VEbgtSt@b!$wMSGvZuNXmqVFE;
      zBlRn*8ngX*F?JHCeQk&#%I$y5l?P*|L3xnFINs$3j@T>b3YuXwRWA9CgS=E0-vBl?
      zi_^HRdQ&0~OwuUyj;rBiG|5d1@57cn0GPFz>NUH?s+-sB7OOt1>Njh48#~$Dx7p-*
      z)dTVLvpCag19LntyOY%>v-|EX<5pR!e2HCWFGB#c*W)i@h;jREL3)GD318cA9ejpn
      z_4PnaR*xBy)i9)Rd_jI*#c-_PH|B>!e$Iz9uKo$=ukpkK`f-{bxgD39<&Iv4pt9@%
      z5>5rho7I^Ev<^$Zjr27iLeD*LAHJJh&Ax7CBiyP7oX)Xvs?EUPBo7ukdDH}dFa+4*
      zbAYW5&iPRC82*&vqwpu)KgQo|PKU$Ix!G>|;l}j6)PR-foth*z0W^n?#LtPJEA2%M
      zHr&FgDmb4ETf!zP=x?@Llj`w<`E`FVzq+aiP(u~qs`iBH#{o>!E261yKvhzaejYas
      zs8w;sa5U9V6ir|vGupL+<4pNJ)RgYjmqEdEHQugXHFtn--P`wO{UgvPR@F%TmPi-X
      zXUY<5ufU-wFYQdE4@lpGy}HV9*Kokj#8KGP4CfEspE&A~VVlH=Hf4vuk@yy>hnfiX
      z<&<`>inT?p5ynY!s*z-(s?QT>kP(}3k?%K9$3N1M?v1K^fORNj6oUZ=8
      z39ax3wmKUR$Sc3tR}_@Fvpl{=I;nrdblacObYCYOvt_+&&TXeq5)@5E)pLY!T6RiK5iPDYiej$
      z=Zq~!({`{lZ9PZBaw|~SY<@jn^+45|JSEU>xhQ9y!KCW$*?zx7Y3OL*jp_R+_8W=x
      zlV%56TVDEqgTsgWE{~kCY7#OeC?28ahYv}ACDVV=s(PlM6$whTt1Uzg7oeyHia@7BRKYIYP*s@t1EGgeXwk?1c|wQu
      zAv=htpLESIkIzI#WtLaCeo+6b(G)kHfS@%IZ28DrqZr$?;Q*W3^q;XKYS1}~UiTCv
      z%%`d%ktX>GNzgLat?d~RbmZ9Yv90{CaU1GlU>EdS)+DYImhAq(IIck1N6T+I_t6yV
      zJ3+IW2f2Y3Knzhc8l6f7uIP1DUxL@u%;n$_Q}1&QQJ=~tIZsX
      zjS9JcZT|zcnOO4UjABI9<94G^R1+h1#|Jna(o=<_sFFv-*Su@q3veS{sM@MQ+}gf2
      z>gD*P`;w=`X(52!^g#vQ4VLA@wvu_T2B@9O@9|-3k1dl8Ew;(lHFQd
      zi)moWplGCIf3`4eW;P|#_au&b8!b%ju&ilaYT4qNu7Z@6EDzYWa>WOxga3v&el`w~
      z?ms{$QJehjf3rc_&o6*jn#{*>6KXP#HVxI`w#mE+6t>A+V4BPWg8cpOZZ|23YcHo7
      zF(!Y6_Hxj)mzM^1=-OY?Zax&qYwXc%#w*7Q;9X!E-jsq0qLCHEx2co7l7Lzv{hzv0
      zxS}VYpbGxEqI|_!IHRC!?Mzn{Bu_SJsm!keQ@7*3YH-bay0G8dv(j5+qba_xB{KUqw&G+&6kO>RqSRtT>4trW
      zl-gg`4#TO1zc&S!`xV=F0Cw?Fd7z6gl~~?;Zw>Im^^4@8t@iBuH&0E5Nz?{b`aw0o
      z_KoU&!s?4B2k<1d;=cFyH2Ug$f3!KH#EzasQ~%B?7gij!IK2RDi^HjH&pT@ZUaqQ3
      zq=!dS9brDCuzXJAZQk(4_R*3q8UIl!&(-%dU)1o(=3Ak%xXWkc@T2D0WbtM^utE>z
      z@x>pI$6FBOAIf87FtR!Q06PD*az=(p_mFJX`BZ~Q3gvTN!Op$!Nd1+a66CjeKVOGB
      z-R3_di-D)LDZKvP{}CI8uYpd+uW*p
      zHWbd{z{8sNjOy3Pz2s`@SOmFy5`dgZY_7+sK@HAqg4afRxpoa5jO$VomPI$38kBp(
      zr%a+Y{9|&@cU^Oa1IrP%fX@{)DP(!Z6S+GEWkp
      zo?WU@-EUZp#~|0;*$b+F6}^4xCwdP@4e@(W_iekfZ)?ppQ$HagvI)i`9_E?jR(JEo
      zEG%cTej{O=OCdhg(>b8+J^bC?nJ4#Z7Cg+^)C-F5HUX(wif-SNIPqSn$B_L5IOpsy
      zp#Oj##^)7(_P_DwDU~vt^77=7Yu*WJ;=f~;=X=+@!)&}G1_99I#bfvOoHFUbWFm;E
      zhLXt}T(~b|Y&?FR(r?uRYu+*S$ELnb)sr6V8E`o_q~C?pMWU%6z;^0VFXS0-KgV11
      z45U6i4F<~bS`jnoubFB;{UA0zXJ0MJzS=$P#T~V4*kg&KoDBK|B-m_L{(DlY)_6*gYJz;91pzL`(Usd+guPXcP?pcM7Xz~R6
      zk|I`!vU9(ESBc(uPdxTiGKvvi_r^l=ubuREa@I$9V}WGBz%7U1vwH;jXkL-F4?2Ci
      z>?u&1aMI#)Qkve(FHMgjCqt!aI!e=LTxr6V^~lzs6P11thnnR|6Azopl_r}!Tb%X=
      zi|BQ?fWOm2ii0C~P=(68>|pDDd1ErAN(xnWBvQ%uMVNG58BX%xj`VJV2G=t1#gHQ3
      z9;5vou)plTixKt`w}K?6hYBK7wjTbbAbv8ZNAq?W?dK4l6d5B|wiVAq%j5K#(-pj&cW*5!9}}df#QVDTjt1%Hd-uTS3?l
      zD1+Yxos=QHS-+hIZN+DAN3Wb*KkLkRLw#+mX-@r_@p*NznRREMKAJw`R>qpJ0Sz{r
      zIc{eAC8r3+&1&pj&th|vV=#Y8L;ckJ@Ur8K4PIA^`P9hluJ+|~=QhOTDYmHd{1x3D
      z$)(F8b+r>tJh5t$@|R~tu|NmsgZ9f0ydWHwhKT?Fw2n>tKXdxo7x`y)?CSk9JC=X`
      z{jV#m0oD)v`(IaB1FS#(+3S$PnlUKrmw)y;rl5ZQo6p!`XZT8bo5X
      z7CXXTi7l}AqZHO@?+;a2uf5lF9BZZ1*sTT%zBi$4cUo)(uX5fF&qOI+z%_-G>9@q;
      z_)^C6E!Of(hHHo8ES;-)R!1MsrRggAdghp^kAT~e?
      z$qO!qzn@x+OTcWte+pSLt)xv(agy(cp0PCFvo!Y1nTFDuqKk02h&fRN=Vwsf5qQO?
      zq({8h*ik9{!S+=4&4i-`SY5i4YO^(a8=3_~0c
      z1PYX)x{`TDV3ixKl05-Q4D5budHd|7fpL!H56WGBdUPEj1-N3G%KN&K^Fv9T$~vbD
      ze@&KOl=hcPPmbRVr014U==zeP?*P(KOe<**C2=OrJC7!gNSTIvZJdexICFW@ggEaD
      z#aUZYG&Bao&z-Te+VUG>M{>qdku}S}Xi&2~W+V)tsU?)pegCnB_6eN~IU6T;&Q3jQ
      zWSqrT4J33d6AkbK9JBBL#+fr?5N}b0u^Z>wN-l^cUTJaHUb5{YPFtZn!d!%o_ri(-m8N_F7!pDBz#8_%@5X_J(`mlK-|nBzQ#X65Q5V{5DqVaMI4;$}?w3
      z-?FE`rcJ@^a*OYnU$D4ruz+W&({cT}#n;jB;G`bLm6NrMH&!Ze
      zP{(d^c+}uh&*Ju14lgsfOVy$F)U_!Iv77<#GSaLe=hh*z?+0w;A4u3Uyk
      zy!QZsBT|>(c7KaU4l=mZ3Fa2xTv#RBXLlJMvC45kKtHrj7{@xRfIS~=ah6N%cxDdi
      zD>aDwlPq2v!Y5mNRtTSBahu%0*XUzZP~M%#EK7fu1Jt$9nNhwod3G!TBw1AwBH!;ALpH3eo${4mt(&d+T}<^)KBFhuddVz2eSsILetgi!XCH
      z@>%1(4u`yS<(7V(#bdZ?{OcC4vF)a#|B1z0Y?bbC90(B13h{Pj$7gsR#%gz90g!ea
      zYJt-ZatMx)Xzp6ny$Ijb;XDu?DImejOpJTtoJ|*xH6XLrWH*moS#6Gp;f)-@(Z0NO
      zMVpBZM-()hqbcBr`@oC5&*zZ~D|jY~jw6RMF2>uDY+pw5yw#aT|_~#4*cB6vQG537(8NBy%x}dhmlI
      zXhd7kNLzcLERhG0Ir70M%n*l!b9!JdA_+D~K!or(BSK;jf21eJlMgmdoQWg{BTYDw
      z$0JQRS$+*NN$yYL?+Fv-_XN)wN%rgwF(;h<)7ieL+n9qsl%r!pTXTHwtg7bOQ|Hyq
      zYo0rAPW`Ouk=avbG%xRHo3LW>1(BwiQ|DGUOA;V+r909?@ykDurs5r583Y
      zS=7<#0xWA^MtgJTgS0Pe>*@?hC7DR#1SC}$){2#$DOOs~
      z!>8<2shGG>ENjD2O`V8f*iWJ>*Pn(gxBl8ESZanBO-oR>~UZPRI$@fmYi
      z3e(g?O)OeT(~Ow8Ri`nVkM>}dIq_Mwrid)QB-y?)L?q{}nBX)*o<*{xd&M#dfLUfM
      zejy*~$rD6uyP%&k5z%YggpLA6B`Prn#sXg1%pC@dqAc3kzWn^;QUhsww6$29$i^y;
      z9~Vd3+pI)6q;++Oq;>TW8sV~NC
      zgYUc!pX;IDrRX`nOM$z-EM!GQn
      zq@q6={!agwdgyOd^je=k@z6i)p?}^(|DK2bNZU`LcU;MNmIuE|;o9DAQ1}$Zhi4|z
      zk-w(@nZh;wa|+k=e^a=oA8z|oVgCCoT+>fi_*BT`^5u&j{17{CLH^Se{izl&0;cV1
      zzM|Lp*y^Fb+(V!7(0|KA|E$8ND>DBVrDZF0sIaA@fJYKAD
      zt>>>Qe1_t)+2Ub&ey8ZQJp0(84$3)G@j2AuVLsK0Uh}zF;abjbE4)GR|FwtztBPLp
      zKiCevP|ilh=VXgh&f^q*y23d|>g;ot;=?f&ho7tHHJ>(xAFt>y^6UFRMgOGYqvhOt42a;U2hD$~#lw1-q3|k%ap^rv@zMMT72c%i_uC5(aEw=%i?b~r
      zwv%OwUgx7(4nDM=|B9mLn6i^|o5JTP{I8yPOG-fmM>%!82P#~bFMXCtBf_|N8}0aI
      zSfBG0K0(p9TAcA}eJ)q@$0_6+}J*JrnU3Q2M0sM|yTCB=W9q90H==Ug10VRj&$^62y)s&LImpADn=%(V33^e#|*
      zI7j2+UFxClQS`cB`W=OHtljbXxx%?t#o_lWT+6>r;qw*!E`^`1aD7(Irxkv{xTfz=xXza=6|VE;3l
      z^txWU+(W-s(d+yj@o^DT`V|XQy!$9z+m$}!NAvlLqStoyBZX`Fw-tW2iZ^<2PM%LI
      z{Nol6>+?iKKUvXF_R!ZWdTm!{dFU@v^ph3;%N4HsUFWKC7|s7O_5N6^_~^4L>l9v%
      zdpfdXn%%tcAnxfL?&iTCHE@8p*!PWRLU^y0quR>p_yqhzc)&k|yLtI%LbzKeP)(uX
      z!u$t9xLXe}7{Yg$;E`%O4l{&L2#?u*)nEvBe9Bnh;K+wv<~}~am51=Ofg>@6Q#7|u
      zpdy63^%!nFmy^@2->44J$87(#CWO0r{6q+M>qDACxLeP#AcSwT^0$QWN{cTI;awJA
      z7sA(D{MHaI3WVQnA^bK=zcq~8afC-hxLarPObB=DRd$AOxBekw$9bHd-TI2+5WdaY
      zIp+oG9KBoDQK@j+!!1IEwRs`@yB2qHIX=!F5{jO7;_RU*ggbj!5W<~3w1jYH4@*P1
      zvxlw_?(AW82!GVd-y6c6JzNvQoju$Z!q;0qTSK_Bhet!Wvxk?%xV48JA>5^BX9zE|
      z&u&j-r+;S;F`Lg0clJ;b!ks<1`pMBdduUShw1>?$y$eG4R*SbNT-OgvL%6ett`P3*
      zVRZ<1_Rt%`ojqI=!ks;=3*pWlZVKa8{`Dc;*~6_N+}XpUA$+~%^KuAx_OK&_$M!J+
      zs_i_s)4$8dnh@^tF%iODJ~oALmycZvXFmSH%DFm(|H6gm70+eKUl+{B`|3$7h?hzu$)F-TKdB+kbQPuAezCgu8y}
      z>JaYwy^n@)SB}Da`nz_#%l0>1yv`0&VchoLwuSLBqsI|ee~yo{|9K(Yl_S@lI(pX+
      zckP|SUHNkDi^E-g@_%~o{_&kFS{HTx&+XtJgF0!N*6fUO@mpi>*4Xzi=V8_F9=&__
      z-^!ObxN_Sbv5jCnwi^1-z56$X;w3LSTa3&Devic;d0I0J@Q)h43Ly%m|D%SlvEe5K
      zF`F9~es>6W^1CbF)p;M5fAA0!aJ5sIMAsDD-oj$OI+
      zJ|9=cUumD+rTPeScaj6_)yeIyUBKPFCS7jBYmE0{+J1|%oN3o(!`~J%Oeepi?Zr*O
      z^mA|ouF@)&>F1P~3-8j;VfnD`0Y!FjPz3IJa|wRK^7AO?A@i|@%;MsP%mvsq=7REuOgFXw!Orj4
      zVy6DB=Nr-okHxMt-0?pBSp8csG^E?c7GtAA0JGOl#%8tvUu;Nsj>Z1+*rjOa%(auR
      zsK=&alc4YH=3MIv7rp4s`;B`=KbS7E5WQ?0!NCv2xil>PN}
      zb8d14FG`qEKiD$4irSyDtjrC31s6e^x6z##l<($QkC!0VPepH7wt)8^wsc-DNukyf-r~Yle5^h{ZL)iMX2(-6?fdBqj$9}K{HFtUIpFaf_rA362?sppfS>P}
      z_0m3QfWNZbfx8{}Yxn$X$ISt|9Pl^+FU?~P__^ceD0Vwwgxp>Pw@D7%f)^NR)9
      zG-h&h6h77wQk*c^A$wey7s&3w7Jl;_y4Rrx-1C89>WnJ9wS}iq`OBQ02gPU|c!{r@
      zv}5Tv_WgnRx{cX;*S?=Rrn`15{mee7=KZ#FJ?{QZcB;rrU)uM4Hvg=V`qw*v?L$B#
      z_lxfN#bt9*ZV$e||L?iyN14K(AiQ%u?x=RT=U=#Im%;G=t;3#k*lzc{&pnSYu0JH?
      zNA&)(Q2xs$V915~4gsIa2ORMILa}MV&U$IzGcJfPSpSSF21V`l=`TMuw`4cp@4CK6
      z@%w%%`$nj^-F+(B-g>-@cnP5-oiF2fzKi(0{&W>WpwG4;n>T3Ub1<>mFqyk}BDcIC@7FjY(ke3_Ieb>pMAwot!9{%;#oe?0gf
      z5B|p&_@55B{}Z|O6YwSf$4Bu$9Z?+u|I5~oJHBq)OBZJ!*;Ci|^JD7zwjVRMI`;yuWZlZG(t~iS!Z{~_m1qEM1eiu&Jx7yR)hjdboOeR!r^eUd|1yFvof;RdW61sgl*@CC48*zH|fL
      zN%om_nBwLGa7tg!?awO9+%|4j*_8E%%_^(7{qR|3Gd?)Jwrq*-KQ#!yAFwlb&@f{^
      zSMt5uhif0I{ci2{+WTwEHkUBoj|dO0ksh2!D#iJn2P91W!Q-tis~RY+Eo<<1kCGl{
      zA>@&;6K)@^RY%od2rh<+%Fv|2g6R*zca7;ja
      zNQ8Ff1nfk?H%f=y%6H^*rpd?_E*k?)jVUA~*ai	a~
      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ò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
      z
      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

      IBwQX!pU_J9?HF@YmtoBU<_?&&al;m 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

      DRf|}$I7Q{9qv<`H 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

      2YMaS?BVeF5~|Fddh=vuWN*78T?>__Zz&{ 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�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%0ApX?3t5<>z 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 literal 0 HcmV?d00001 diff --git a/openssl/1.1/lin64/libcrypto.so.1.1 b/openssl/1.1/lin64/libcrypto.so.1.1 new file mode 100755 index 0000000000000000000000000000000000000000..671bf28b7e355cab84f924376b8c2f169328eee6 GIT binary patch literal 3414800 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 sP5U1pV}W@C^U8I|MrDX~28=zMSjF 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%0A<_QiBOxPZz)=`OCb z@7iX)VFCd3WWb0!{S9`o8vkh#cHlp~W=>zk0c8fd(<~1ogOVuD5+}s}_-oAnph=&4 zSj@TjAEu2LPs8*T#J$)cmS4P*E%GR|yTCfhW>a?xkV3{YkiZ78g8~y|WOtto3O!2G z>7YX<;}h!{UN;iPZp%W*#m>QWPCYEpIOj-$*I&RnqKtHQ zj&{M*IV=647+KB{NK5wzxjQ;XAGJA0aGfyR^uJBdRyH_7{S=9FL~o*qYdr9fI0wW7 zU8thjjY{cp-pO|?y?`9iy2CHzTpVK(H<6Z!#3lVDK_%udu}`MI1V^OZUt*r)?fz2x z6t>eunwK_1=21tRzXU$F{3SBlMH6ZIKwHFL!r;(zvV3lI2)s|9$qXqlfjQtfp<}|M zWO>tT>ok!Tf9Whrw@swm{UviYFO_gwMYl@)B{oE1qn|`cq~8?pFJXzq!~0=+FYPHC z&2o4O9jFu~^5=GWL@Wr;_YUB1A?DpPutHMg#xliV2E90A@BBSdPQl6Wrp=gHG5S1PG&W57AqbH&$Qs$I_qY% zoqW;j#*Q|3)vI^$BZw86{;7HYjaUE7tDpAj+r9b+K7FM(a?GKxz^S+tEntk-`mI7y zpMF-=HygQ#lwweaxG*3C@PCMlYtY%=z%eJc;^P&_;CMa%_*_~1GsY$NIN?KMe4BvV za`ZYrJ&G?`>6`iF$B}yUtT@ZqdkWQ~?{lRjYD1kotWR$nkEjuyZ7}$ZYWcjA�Tv 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�Vhr8 zn~bNcGJUxxXL6N9M|M;P?&YV9@L!tms5am+70t#vttY6Ws#f(S!utNwJ4Jb^_vD}b zF4P0V%ary5(%e6iK*auvI3vjXGiCmpzyD`HB#-##Utkz0+RX2g*Gpq8xi*rxY=qld zinet$)*=m**2Ze~6Z}T%&KtmfN3CJIH~U#dCG!X3oGxU|#VOZ54I^+A^tg$x9T>tG zu#aiac{4dFM0J&~PdmMG`Lq%EbLK|pBK~vVvUyBb!yR4yxJT5{qx`Po&|L%U(Dp^W zb#|FvGv#7H6p}cL)naq`^3V!9w5t4d-q3T-8ela|fdaXQfuN!<_AM2T4F{%ojGFc;di&HU=C3nUFZ98v@j4nEy(m04p zS@g^97-K-QoiW8UU1e8x)YRR|W%i9+B}4__h4RsKHc_Xq0rNzI>{k;son1q|_~zYP&BzU94T zmfQeevgRHL)QNq$ir083wTE#O5Oy|JuSDg>o&q@ zp1K`IqaBPSkW1e%+)vIe8t)~GJ!6LoTMx`9Am&|L$u4E zDd?y+^P!`faFSs*7tA7ZjL##ZeF$shcvOCOP2X8fUfq?r(WN{;3tNTx45gH`(#6`&$plR6gu1 zvN=XrT+vq1)o^M*-Bf}9MYuK|32m+XJm%Szo2ty6(Ktr zA@Y;*&)YxAk8j(@nt3$6H}=h;cPbY1(N!B-$SGjHx*UhhMg)Oy{hzK-Lyu5 z_xR}Hw^bF&JdA)TV30HjV zCtUp&k@fHL=Ze=zQTBJK=lYNNbLHxKYZbApJ|Y&C-%W4VTlFjItt;Ol?p?xa_NFEE z*7be{+o}h0Qivty%5(}%uA)i7yo&1t^}u%})m~3ytEg_(a_e5{_sB8d4te#~EpKsY zb=C6vh&62`u3#&_Q&}ub=f0o|TnobBQ^Ojeqhra)d+NSKT#3 z4;#y&*?-@2hMp$FgL}@9Z!*ZfX%9{GG8xA2IYV!g;e^TDlKVb6OJ!dE~8FasK4?yl?GU&{FcNvVydBB&eaY6BB zr0yNv;Fv9y8Z4$L3cHX@E0L*vMZlaES&g444t_))?-ufWkFYzH47E-SPlQ_nE);g| z!6fA!PE*{EM+ZI!yHeul;{3g#dU2Vv%b|`z!Tl`q#KYL>XoDEhjw_n#2Kl(Am1D&WRm|9BtMMz zjW+KCbaaB(dy|heJmP@Tb1YDzFP!5Af!gNv69C5xfInpOvoM4cvHWUhz4tzukU#G! z@bv6yT3+O8+P)Aa9#>eUM8AQ4o2prsjB3Yy^C&7kmrBvs_$!2A-`4CO5EnizmS0P) zR^#v0NwdgQ-^>`vW=D(6wq<4<;nG&q6Tnbgc~3!fAR~FWa@Ckz*h`QL{*OMRfM~nr zXT-PK)Hv^E{`fna>3xl}nNDLI)JQbQtXtr<4+X=;$sw+GFX&krr)CZ?kXFDS+Cpl)*w zqK+gNx8WcoO0JT~L+$S6Y*Qpk_76nK-r##zY0@8m^~MfJJ#|P{UX*+pdI|Zmd_i=9 zGF2|H?k@njYSDQ|;$~mJSzN^X&3fN6(mKLx^g%U$|4#Cqg5A7^1-RjrAgU8K23CQM z(3H|q$^4_daau~U_5m1M^yiWBKHeyZde{A_*%lf{o}4DJ)jfWsbRoQ_9QR$7ArCh& zCXzXkBV=nad5SaNlbxZ@r;@#{`(#ue*#dgY?1z7gFu7}c+7F+{OKSLtMX`_^e)mn# z_=Rd9F~WWEWywuu(|eWTFCyN3N|Afs^y(GjaCX0oC@z5=4;Ds`#|989P>9PM|E`)= zWhC>pL>QU;eHt(l)ji6>j=-=hog0`N^B<*;puDfyBA9lJoPCoi-#>b!e6Mwi%XEw` zq$*e!;^2{_8g7?r(|*?I2dqXZ4ilsC^EZ7z@9%sEcnz0-;ha}!#9e7+i}oYed4)`c z*~V#?KuQdC-#Ab`Kv}!UeI6Ewb2C4ktajxa_q1|~MMX7rn_2!Np&jlbCNgQM-^`iu zO&(M|?aI^6D~L|1ty>4m`~DZGm2OVV=kBEe^H~_JrKL#ars&ClX;;2vC5HfJ*r_XI zPa@c!hBRo18ajSR4Lb62i&We>j$AwWP=QbVhFo^bu~g#osTmaT`P7^F{qrVQw3!1G zvmLI2PmL~wZ^z~Z2#c;U>y3A(Va0xWdNdeu?cZ6~HfEOx_s0y8IRC?KlUW?nbsLrx z{jtBF_$xBFM%f=+b5!RZau{*`q2lGN4VaL5r!a%E^n6cxaD!6X+ju%{G4xPVx5(?0 zlfSmk^ry&J7o9sVKaVC6XUDko?O=+qWOrzZJC*j23}{40iKhYO{j>q@VBts zXg)fwoG1GHD7|x~d~*2rZj^<he|L(CdPQ=~pP0Xj}G_B3!3+15@({7V9uiCi{J|gv0iMzFwz6gA-UPt>h;dbrSX*h_( z&*n>bEZmfy<~+7nKL;@IsS~}KUQ9d8*V&*rdf$C%U!iH*U97h(`{fKGxA*@&t&pX= zMB-l=bC3vXo%Tdc-SonmI$pwipCPFZed?|qvAwH0bWLF@$$5I4%$rNV7(>XgY8<_x zlonEJE0^5!L@FL}29?R)u^>Izo{aF*-6^L#L9>mr+2Gn1rW_B*F{N=2108xtr12%= z$6!6yHhdR-@y_e68>tAP@I zjh6iJdg+J7y>nLuwj3n0Qv;WPP z&u6E9*AE_v6;`%AB&{mdJPE-ldM?sWtU9AB2L@cj@s@`BQ+gqsu%p4)&R-aN3^X0X zB*-0ms6JV3a?bNHuKs`#-ub*^&*!J2{2$4i+_W2lG5jt%q84o`mJI&#TnrQvnHjlj zD;FSL=hL%1Ydq(i_aHlK*ZNA488GZra|g_7nn^~n51)7B9MQ03yk_)@folA2REoAU zCEtwYbHZnaXg+TyYp28h64-<<{Cr3{sc_Uid^ zzp3bUew6IhclB=P>d3~R82e4&wTWr)GqqzqXu@RpU23tGyRB4&SJkZc26?VQl@N9AKsN7l|DSq zxo%D$GW(xh>QDB1`|X_Zko>^4+;i)gQ^pi%v+>zvJFmRpFA3W?_|)n!&RLeD_HQiH z87nfIvv$U(4G`bFJi;|rHJ21WcDG=R*h(b4#l%~Y`S=wrUla+gwc|T*UUV{2hV?)j zIS8Y;|CGYkY*j%RBY|n8^Tnm5`&DfsA3L4{js?b=x>wl2)+VZC=rxCCYA|&yG24z& zJf*BlhgRW;_MK!#H4zs-anLP2&NYN+ug{z|H? z)uYhK1O9MDN!~f*>K0Pzom6_!rJnq{`S9JV_8a^Az{Cl}PNhUqE+AtB$kUWyzt-!H zAB`4CMG`~Y_fOzdcpdSX`A*4${E}f5;B9W9O5SGLYM|=$SQP>f&_;lcOly~u>0DJa zXLo&hi*h-A>67itUnqFt#ooYO>OX-z-DsgvO>8u~5(5Wtp6$cnqxvePFYA{6&E+{m z5mx$Nv*`iNJ?ZBO`f<22-6y#vGrwr(_1t>4%NksM-2%Be7@u+E@rP%%GGy;R2kCj4 z^yig+3>COfACINH@bV(>y_dRQxc$r;xyyU+i`Q4>xx?0ynjAT09p8ibHVdX0Le5%X z^g`PG6tIFCL94X})W3K;f85`_V3uI3u?K`wo4owmh%>mOO1f6uQ|lfTTSJ*hy{L`8 zbaj8(_rMAlO*2r{bk6Q615eI|w4`TCVg+{GLc&6tAqtXprq|6?>~v z)tQcBS-<6KBrlt|c{lRMEa-NN(SSVhbw9uH_f6yO?WY53a`-3;&_wI?WOo~%FABEQ zzCMHsk0jl0xs24-G2N_f%oxuBq+`^dt4SSuc6W;wqJ|Rr&5N9x{vX=T22Sd#`u{t!$fn?|iMb}`mYXe!xs#wvsO+%2@*SNOicAt8=!c@IDe0_` zAP?=X^8JmY{7Tcx%F5DzPg*}KS`}Fk7Q_cYMbs3s)bF?|C<-VF|M%zI?>sGwS^4Aj zVrS+)o_p>&=bn4+x#vzV{jIklip%@cd;hK~$=6d6#pQYLn$-s&o&Mvc2c%2h!?DwH zn5!?h;+lwZ+}`aZWd)?N2jLw8Av=&VjzS&8S9RFXgL<2A{f+Xq;=8mD9fV zLg!a`Az?f=xe4WIOH5U}R-b(iG;{?go7FniY?lSyV#7rsA`&BTXs0D_hMUiauyX_fb)mDk{2bGex2AUD>y6#iAw3|G>&?+3x&SY57O< z<(E-DSbPMAgPi|mg()@8E;~SyLsNN)Vbkbi3SV>d;Xk2$Oek7Tpk(U_-aO8nz|Y6Q z56|$Kpdl=`;n{@DoG<9SLMAMG+bxG5DyOP1L?$69BqPv!Bv$P81W2o6@!99hUfz^$ zbfhIc1zF{`O-5N8Lb6I2SxtbfCP7vcL{_Orkl)(q&0}!`vbps1&6dJcMz6Vubb(6{ z+m{!)+1wD{rP-V@RKa9>j-0wc!gB~tU4C{qilnSjWc0dE(NJR4u$s%hsS!Fs=!R+Y z{X^MLGlTXzM^oO{JRY~n@S zATBmIMs{8$p}4pxKc}BkqpUyTOSzp=-lPTYOgU*WVRF&5y2CD$7IWwz{uSCSnj0yc zG?9}Q{Uj{VWs7}!_O@Y^$cTb`aMU2sT`SpfOm1QQ5nFVKF|(tTF8Od~v3xioPf&S4 zoOqZRV*eF+5Ke^2gXedX2g_;A)oD2xb1S+|(-c z$xm`qo7V|aqb2P}L*#lm>eO2UC)~z2?v4|_9*W5@#2=vQ~Bsq<_ zP1GN)wt8ZrKC1aVluO;3$dzBB%6J**@-;$%uNw@ehMd5cInk@-U&jnqe^oR1ONQJz zl|B|-!XL+>r)6`Cx}4;hcUsR%5;%@uP9iFU@PquHs8()JE4JPjT8XL^itftZXsx*N zzq0ba%G-KhD8GR%oGX7G<%89qV7=eN{T9jm{Qcc0HEE)V_ayGxSLkQkjCv?SMjEt8 zbhi0t@YSsVZ%P&LrmT`IYwr<%%>x=J>b7)}$ zE4hD6%dNla(V>~s2gHc^VYQR@Yri5o(AA30tEji=0{%E^8o-8|{h)e;UVdfemaCl6 zOQGC`7jyH!7e#aQb)}X6lgb;t6w2S3FTWOgaiqCIl=HnI*jTOpX%p@N3h~8iQw}>k@zg&SBZ8^ncENQG;sj1 zx%G!f=y+Cyn}WU8pFl9A8ybw#p5aF_eGYox>8AG`sYyIC;ji{z&ncoW+Z`#V+|7xp z(@+nkXsY%?+oxI)6LBbS)r}HYNxckc@g}qUZ-ISfr zh#e`s`w#3e-HK&E5v>Shy6gp84Fh_Uvc1ik+@XgxRH?jT0UEgd-am)Br4-TX1-c${yQ&pBSEFGSY z^`qDxL3@);~VS~tkB6A567YgdXR&W zXP>Z zyrZslaG&|T-al6Rdf&96*pH-$KRkbWLy7%|@}D&&uA*mOtqTeouqm~F`ke9HjA#g6 z=|RHoh|K0mcFDBx_2vS<(O4cxjNlg z<2To&8*Ba3>SAmC=Gx#eYy_IQlg+Z2X}ut{uhy7Zcep$oJERl|jD-IxPzjh0T_4x* zlI}<=j!#R$9?m&o0Fd&nS}oZ`IjtvVWMH1cqxJ@O;`zB(D8UKy@?f~WK}+d|VSeMV zBK~XZz92ijTE3ri887mX-(x>n_#MvQ#68Vlm_K<>`I*zPsqVCaXAe6>)kxsebJTtdCX@+_X$4;sfVT2UuC@_i|5s`~7Dtg&8X9 zFEfG|GYt5Isg_6W1Y?6pKArAAjwHSvVlZR0?f=MGjb-u&3Y!3P$jkd%BriE<4(;Yr zy`8+=@NB4cTLr^3`Y(PA@(P%*YW};ON2vH@{sfi3upbzZaKlxE zPt#bqm$z>d&#Q-L3zQqJa-X$w8-j~}uCszcM;c5=lGqvN&!X?}$H8<8FmXt}Bu8J+ z%P}F5%A5R+B#n)rbnq#)1b<~lJg2l{Nt=`%M52u&=ZA(U>18kOWpB>(*SkZA6*zNj z_*i|hJP#kYr$Cq~EucVAv|n2yk7R%^uAk|@(zRbp`_(p6CHdWBYk{1ROb;`6Yrn3f zyg$9pHIkFRV@u8hXs5nceyO}fe)h`udbRKM${*h=e|)d}iM{eC7UzqSzI+OIG{;tJ znB8ORpyplqLGS3)dC>h0D73-ve`e&BIs$hSS@*gdWJh9Z@H)}&GHbWH(ayjoN$uNl zvM75pS)E2jH><5`{sjG>5fv%^Pk3L>mWWziz${VObdP@L)M)#|w9g_cf7~mu-A3CV zqLt`%x;-^-rxXlsNb@&$xO^SyZ98Xi4~9gjb!c8bwC((eGycsv!A_2Ev62<7T!a~` z_f&d2iVUcr9xJX$@WzCpL`=$)DmU3y~FAM0+&{9 zeMdVIG@stzpHOZm0b%=)xm3?jTZ=1^Uuw7GMU*nV^za;?Ub^iLu;cj=YbUEM*3<=U zJ1-N`=-bs ziqL>6=wGLb1w&M%yG=#(ue%=rmFZFBvTPP@8+~|YUGSNC%oty|;}PtboBRGi@F?G7 zc%#0^#apuGg1TIos&Xa-vh$nkEErOEKYo{Gzo$JzIDWXN<2n*W?^p8)y$d28j5q?= zKkUB}*uQuZ!~1^#nM_|)6`X$yKxZa!!~XJ0D5;WaWp*N@D@Q*7*yN~-s=S+1pP=SJ zs(F`c`kOqziEAN4RXfeM&<8qu2UdiY$nUl(72C2NU#M5kK3cpG?Kn;eLhN;Oh|ROaFk~|16RPsgK1RcY zgXNdl`z*Q%>t^4TirY4m=++$%XkE+?$>PK$nqQpnOso%c9J0EQz}B1{|-I5u!8B!tAMr=TSDB1<|4F>=`coV-{3Z7 zwP-KV_NzqCeq&vCKbWFyq5folN<&zk7FvAbp5KSZ^qYeJxhlLx=J}zd+Z4P?n&Wd4 zMGlS>_SUG=Ga1E*u}#e9|ALX=Yd;Vbj5t;acaxyWZ%Ls>`HkGVH38>pui$7EW~x`E zAseL2|6Jc)=C74GrLjEwGrpJ>k2;pj+_R9*gHtzJ&5*|)YNRK{=IL%8MlSKmzAs9; zC*-f+DqF{7MNAglOA&5vAW3-5u!zxu%kLHXN+@kFozjVXx z1~b&VJa~_w)c8SN`0}#f6E=12aTJp zRO&?QIqB~TBC`tfp%E+XEYh4@Wj-`chqNoU=lEFrq7~0N5jmOECT^79%+Mq<$MZXw zIUo$~aorfv=?jd>O!6+C(2v%Zkmy{>Fr{sLZ=(VF(j#hVu79cC)t>^hp_bwqe`BGL)(*4ft7)Y`Sc3U2k{JtrFZ-!Q#I{^y$lq zvNE$Fk-1tNn#f#I-;$Zi-hcqS3S5Kf0Ld<^L`Rw_jJKVLf;SzhMBoX0>Ce(QrVL)d zO>3!o4aB$DTUrAj(kqax4P~u8p%~Z@oJx<0^r9U9j|M}=|BWI4-#7>d!9_X#SGM>+ z(S5aQ=wEOzMdInN42-8|SL=A7noO0q%u87?B?G#n^Djdp=VZVIlf=r4x#Lg75(Z&b zkT2KN2Aeb)*c=%yZk|uN-x#Mp1DM6>102{U60Eq0b~`NvEts)PHW1&NcB1XCTKnr1 zSTrV+1>L%g$H|b$qWLP9!Rd_Ba8Rwz%Z!JoOAZlH)kbW|!O$5*F?VPs-H^kCWiK#& zF3~nyde4E(2$%~=`0^9MoasH88w{f%2~Se`Z$K4DQ&Ig3E_6l0IjL6>={*!tE&U6| zx+3Ac97vI(DRFvFjfxbe0(hnK5cb5WcTX@yp?bH3uc&vavk)y0p0Fp??(v8BDU07P zo^JBD_w1YB&)}4T5t~g@7?w8LahI0Jwg)_CLkf2+Wwz216h${#S!u%nwQi+d&!UL% zzBQ3P$*r=AeV_18ssn0f1VqlR3)+|oeUXlKdj9*e;7GnpM|-D9ftrH9{w~zfh=8Fu z6~uL^X1%5*sRU}EIeke*u#8$FS)wIs+4<8S41z-)6=TnK+Hzfx`K>Zsd_rXgxBN-> zbaq9rlgE%4)eMBK@1lKk^G6&|8LVf$fUa;PUj$|OLG~%r*5?8MPZG?QZnN<{iev_z zar~Zin{yx92WY=i*^)jeDFf`+@sWf5B#bzWYLeCNYtcK8CbHjgNE%_K`daTstJG9VCAa{7G;@&j z36S$-aL_scJ(Y9_;-b^F4iYhipE;XraK)2an`{kqzPoQRARA|qJ;2sEC%jEy>cUxx zaX?ahAT1?z1=wWvHBM%8$vks@pECOz=sDgt8kv1LG#*cLZNC4qFBHk_c=rG&uLtxc zuYb(I66yOx*)W8PCGz^{1(GiJhjQV)kz_l0eNA3o52T2$$;H!ia`O6`yu7~O*uZqQ zVtKvrv^~h{(STDdm+dzKb$YM#(;e7-$m<^kv>kOlzy#BS) zoxHv#FRwdYk#J7ttB8}=*W~5(O|D2dFXvGt(Vd?XC$Cc~(w(0Q;C1qP?EA{=kJD7& zTk)C|$m>N;UT^;Q<@I#r^_<@Fx|Rjd$?LJj@_H;%c7T)DbLxV}z9~|jgS=iI+@Alw zESSl6$?G?qydL)dLU~P45GSw4I(a?7$?G}D>q{$w12u<`Y$&hyHnE&SUWhBCnZ93MH@zlULmQT^I#_a(3YNE11E-C?ErlGoR( zl#|!%LV3;8!cPY0uP(^zd%oC*yk5Shm%MJ?vE$#9*Jskwe<-hG!cR`e4h2g%E4}sW z*BDqqUSB*M*-)%s&-w3SdEKJy-tziPitJHdM~w}3lh+mF_aLvY2b^MgZNCwy-M!Lp zcVPD+uU~!MWOASKdW|;fz4U97*9%=nU-J4J7w;~wSCST@^#jW51C9Z6Ca;h3i{ z&y(I;Uhm_Igz|d5iu9J(FU>EWmp@WuH+lVliu}v+`a+uOTVAJ@{NKsz83@mRDz6U* z>p6M7jYDMjeOa)I??v)@*3UnXygpBJSdiCWF|pi-yguq@z2x=rzy9a)dd6CbM#<~5 z|Mvd!`W;-U`nDaGca_Mzm*jJm8Sye7Ihpq}8B;#Ee*N>W3#d|gy^FMeL0&ifDkrax zAby&~TOMfxcmV~y$f)EkE`j|>2m9xWV1IFq$?F|QYxsT1>;5#6lh;pJslMd(hWq=L z*MEMnAg}jL_93r7_E0Z*eIo;Mc5&kG{G{kUtL#bU3Kt+*Kwx*U&q@;`siSnX-Yrjw zD;U1#FAb`nvK*#9#j8zneA!;G!|dvLMfQ&15MU$v>4w7ju)Bv(44-q*((RsBgO?s( z?{!PV(kY@oyzViT;b)cmlqQoqmdqL9`E#x9;`1Z`p1b1q zQ_{?CRP15U+g_ye&v!qkT01P#?)~*@Zg~gI!LkQ?0|e3KlHrrF%z%>qNvE`G+1jOHX9vjddDa>PkFDQmy8FLT9rG!I+GW z4O;xydK&WQ1w-FT41LY(cRAY`Jj7oLCT-oZ%Nu%8CH4Hk>xboiRAaSF($V(0w3&#! zLI~E>dBlNbH+)fbB2#{>H!_(1=cNA@fh80(U&RE!`IuNZ9mbPxtiW2C4Z{;`3LX~~ zaNGw>(?=!!i|Q~X5v$-q8qZBa>klXKN?oB9Yd4o^ZzkwGmCe7adcE7c(BzXalB`n>wMbj<`&H4J|`(Y%)&-D$2&kX7xCd@?oJ z^B?nu?(jyg_o64QPx#MTzlnaj_v~-?hOVZN7j4|0$TXcmY|YhIoaqgHN7=Om(j~Y- zBJx_W^-YkBFd?-vF%(B0K2r(nqUVqK`~7#V2%SvxsGPc>Buo)_4I5_awg$J-YD3PFFq5ntEk8J=CKEAjSF*Y6xB$vc zU*?XT*ot(V!SCz@{y?7z!ot^LFl^$d2+M?!zL=Z|os?BBM|1{b_8_ax{F*--*K>^R zqw`NIM|#Xyj+HKb3Oge*h*=YDKM7&RR-wL05AWe)p_$QL!;VKO&y${bo=t~%--x!i z3eo;%k!iovtMCC%5T$42xGNFq9Bv5w>iPz=$qKRoV5$1M}L zT&EaVoXgdFkujCoZ}0>7Lz6QA1y3y#c$2u1hNE24%F2F1R+BE>=D~xzWV9;*FHph< z2QS+Gnrui8#O(9>F8{v*zTRUE2s{I5N)BKDh_-)>WTX#J@xfA&zLIm;F@`p?_Z?;U zyo`v`W2(W)aY=u%H*|B$$Q3YlcZinDKufF`EmPFJ(31YBm;O?{H*`#8>Oegy+3#e8 z=*iWde{vOXBB)e1M?Cz?*6|~><3;&xkO$xAZ5t$`>AK#g;IP_KlpM?ivw_9ox@}%wf8pze2M9K^r zQ!9SFhz=Y-${*f|j@$l>>Ts#mnoA=5!~sTjG6`-xVLJq>M^B_H5n}^CtX$$q7$Hj} znqAx0A8Z%+3Kx6Oq+t{M_BAy6uWQ5K|yYpA}QMS%bJ_AHub}>J5@HxKJ z8?J(>GJBiyxUcZ)LXF2GR&iDlXmff-`s?-hYTz%?@efEk$JUC-MY1^jyL?Uf18WSk zYQjLy^EI)QId`qFw(%y>XL#qnJMNrW4yQNuA8qd@GcoGo8Yi%#?H@590T^ZC&LhxC z{;Y0wP!tTArF}}1dloZ+2MAP7dUhSBgr+Z@vIJ^6rCL&AF=^g?NEZE@V>FfB3bw7> z;VL(wI<{CR_BZ!Y@)m$lZ0Cc_sE-yDOx{My&Do1oxFln&%dnI6%%Jx^Eh73oAiH}S z1)+YnoPT?rN(u^mS_uWiMyY?&+h>phknlqO zn1$N-!pn>YX(-j)2NgaI8;7gtSu^TI=)ctG|I~TdrQD7B#>~%x1w=4IZ z?1g|zsls|}{`}VhT=sePB%y!5ytA`w?YBm5Wu%G(i%64@!Cei=6x=}h=F67)v_N}( zk$g~s?@_LkuI7ZVj*eTR^7!CuVvago^!z%r@eH~jx2_}8s^ zANapv?N{d8FYwu;zyD|O%OOngx6(lY{>eq~WCjhg_T^RP;74eN@L!s1zfhjrEUgFN zL|e~Qh|sas=A>3rYViWdTz%c(l=ehCsyO1eqf_BO`A8xBQ1Hno@at4BVm~6=Toz?z5 zwcXoTm*xpl0hXY*`I+qZvavoA>h%`Kk)etVJLW3~mg6=rs51d}s4CP*$d${66@93P-qKaN~+o37@NS8=PdU zsgv4{UVD#gwF&R3U=uAFLgQ_Za$ROQ7!M}Vn)x7T-5o{)phr8D82&V)%yiN54|O6C z??>#KLSj5Wg?zJgc54R}r;6K&V~Lp}ZNMkDfvOM-rxKWz~jNMKU_>yu(_PAtnhB?%T4Cgsb&DW(|D^nhErhhZK@VA*mLZ%-AFQTPusH-@$BV7{63DXcGUA$^Nyr=HN(6=};>s=n>S{;AerG8&Oc z;(^)yF|=^Mi8UhsnoW4WB^dR$9lNB@$s3n|VMN(}EqL*#g5F5R|sX0&|=Kj-cIp%UA51}R_c_OFm@;YZw4!_alXkNwaRKlZ2O$Id{*H;M7* z-q++sst0HF)_W4RQDNU0<*wYhbRwNW`!8iwYUlJ(Qy=qr!^l%CwQ_r)E}wiFTinDH zJTABZFId$~#G2t%^zgRgrr=RZS?{42Y>o{cTk2Dfq20lUug~@XgtFeun#z zydV2COJhG*ZucTMk!{11ePHm|cV(ijW28=l4c0OS>88~}1Agnyfjv7QtdI9YmBXd@ zAurFgH^L_^^x^O4vJB7Q@o$FEwV^kDYLY|c6G}BymOJ!<%AX)Y(h-SycdH=#7ZSAo z#M{oTsR}*je?gl1tH}5FT~ZvLG!MG}Q#}N&_$Jy-5V5#2IP_AsKXQLhumM5Q(*WHb z3xXN15s#vncXPDeqbcfdJcRl`7F@cTN8#Yg*#M8rT6y34?b~?juSySC2wS{{oZ+*O~j1^ejF(PSLm-w5D?wXi=OA3lM zEo>J=hJ0hi6F+O`@BAA^kQgc{50Y)y4eahfX3(j05ntGsqSA2tK58?ypWyQe3Qdfw zC;g=z&-m+Sj|iTBhRq!!qQXg6XKa zYWo+A1Hq|jP=9uPxNRfI(h7vdkPkPtv&M&$48Dg1r{;ex4L-$p)Tkjbp6^DBdh8n0 zqO^&V^agJ3DhU1M)?zdLgf_WN!Pq~9jmBY`s^AW_bX8s3D(O)E(?QjILFz9J-NK_C zdOa5Xsq*tqfBGJ6Ip}7OgA(M<17RXYNf-VuxE`q$jwSf@FKyCWzWy+r0k^pvxAE1-37@9#~usK|cN;n(R?H}k{E0n=Br^93LQ9<0n+ z6s;Nbh_>+dL3>iPdT!I<8f4P~aZ2-lXt1e8kMfaIi>~<-y27_i4B$ok1ha9)@foYa)Ln7jttbwhOMg%a9^ytF4_ed0hVR`ca8`m~Ia^t#F){)GhzkW=}=>luL6|P5q&cJa(33bc}z&Oolo1|D~(9f*q zJk{)_gx#Q;<0uuJygo!(s}=6G?Yfw9CFpN)V2&>Wv%-Nn!s_?6@%oH9Q{auz;crvW zfh&wiP`-7LF@#wbd=iXgf2LBV<_!lp@N7@9Mmv6s?v`E1pFZTJ-fwha-|XlTEAaXC zERO{-c^AzWi^-#2J}@sP%aNpePoE(v+0@~7qMA?9r{rWipoKCbH; zwPc%|97!6uKY~8`mXlRK)7gmQFWTONy!^wuUh;CQc=yaFOXcMd{A)|(C6S4W_N2z| z6KDP#@>1cnY`;`0FR_<8arwV2gfjn*DiN33Ff*iH;_|C`aoKW8L0k?D4$J>q8f-b) z#3j2<6PLGrJ1;Iz??YTR(NB)$f-2l@Ox`(h`7K&47MEF?DiN3485-j9Z|pv`jNC|D zPF#)yhJv`PBwZ*Ui7_BAE@%C;NL((F1h|*h3i}V_rBAzil$Y23=0B5{)94c7TKUmE z$;*3w(u-kliJDyb2_HGRayoV$Cofwb51D_4HP}mDUfR2@@vf~2MQ!a%TL4sV_4|^S zpQRBTVk6x7 zJk2?OhOOtCF+BBAcTqdMz^(nTu4!LPh4{k1Q@S(GpG69k;S8E*0~*(-*A?h}LU@+L z{I`Szf^rhF0@_rMHiv5*YQ-V*dg*s-|_53EkAH&|ia#oSOe|P_yU;V=H zRODZCE*;CiW-Y@Lg*w<&;6;|~dOmmlC%eIP)Qj%sX{;ZZ!ZrnU4Wc2t*Er&YaHFVj_39!YuAa9b{$G*2M7*w%b=>VU?alU&XJ}=aXGj#*Vtov;ct%MIhaTD{%$!?<*gFhKh|YO7wTaR zLJhcaG5Tj!^v}&@Q`@!^BjA@*;@dvajxX~Km=s2XkhvUxB`q6o_ zYU<0%K((6Sy@2%##9((=Q-F6TqRXKBC0`2d1~<7T57(x)V^`}T?AV5LzI8yZIou+s zVDz-GOb!x5*V~gjk}tG>!HMFVXMD7iZ>V8nP#1n(^U%#3K=$Kd@PADuG= z?`_|7@H+ImNM?$gP_163*+gvH;{Dnk2y`=@>S&I}@Mj%Ouo;KoLoV2e0B~GzHU+GT z@qq>~q*Fr0u|Zu3FRwevT&{PZ=JSTYuC}1gZ=R8*6RoGB{(l0`aUndLsA2FpZoD}U z$8!2Cz!CBz@3}ZYfW8VG5Km!Mo-e;lQ%vZ&ACYL6A?oL=$pgxY>`1Z-@)kgA)oo7x zURr~x`&&GV!_~VpYs}lh+!yQ!#}W8;PU&;y{U6;*&n|r<=|-;Ro#5p6!Ujzy{I=98 z$cUM z`v6Yc#(t7(!O;)q@zF$o+5fdp=Tf2wn>MSlt)2Uk8l2@wcm8>l%uVT6`Q8=`(Uk6d zJIDWp*@$fo=R-Z`r{eCF`L0(|DeKI*z@0hanE}Z1!SH6zmaIouz06g_dk~?@OFhOz(KI$DmqZ`ui!O$71tKl7xamzQbqa%=LrOT zn&7{c_t!n+NAzy)0;vNyzaV&{McS0Zz@2OsbAg`1^`&js*wi6&_HWx&o*LY?YhTU* z^ngG^S=*+|+IB^zziyBf-8V0~k2mj?^%_<01$zaFT8*}XyCFgV{xPB%Jr=c959dAA zy@L&6w=)Ck6yv_Rlp;LN#WmwCVqspAAgV!5^g6wpr_-2BW`Pw%1QeE4(NrbL!8f4} zvFuOjP0pXFF9SWc@zs??EfoYj)l?VT8jRFbraR_R$4i@>7e_UCm<&AK#=v{4iEq5r zeC;K4EY~|y8+11b%laA>_Pn95`v z#`4PsLiTRz!56`c;MZYs+kLlEAp!ypUb$^e+u!z*7YzRg1~ZR?NQg1R?<9-)5FVz( zmo(uo4q`|PE`o46m2RF!Lmk^`LU*m^YX`kZXRT<^yh6!i@8_}Q3ir<&g7u=9^eOd% ztnDvzDOWa!SAhPaC9rIEjW@4LW7-YgpDuUs>WYliC{27`jpAG_+A&c%^BxeHlvpL2 z3@6rn^!mf4aSSvupmea@Ae8rS7!zg6zOpOZMuEJ1^F}@xz5Xwx=u5{F`ZB6R*o|H< z1Cw3475(N1x8oLffx-VcUBug#N9={5Yg~s7$c@p#cH|ZKYL{Ige~9;Y>c!Io{N_}4 zBk4JL#(7>gYQQ>uAlHvt4z5=n9lu@kTdMT@T>41nguD77AKrvGv+Jy(xj?J*pDX>Z zO8+lgQ*-HamHvRzx024{IFSU(ujHfiZ`2L0xv*bZuy)xF{AZm1P{IC%TFh2Y7O>!( z4~QO?IX;tVAEHPdhed;jf8~C>KMfFZ(m6723fBG*EIc#&B<%tV4#_;CXnKN=<#M4)m1vjxE(f2PFNu)}H zx|+V+lGId_;uXb$eCs_P7qX!uc$~qw^N*#$%}e_j*s+Cy)l;@;U~m7x2G-oiz#4Q! z9@I0Ka9o4>9M@RGRL^gj&v0D-Yva0~m4tEqGC!{0(N$qw*HJ#)9*28llcspo)`JJK zYW1PrMPdBfABHE_Rh-byIgSI{tIo1VzE)B=dR>~oZ96McSLnpILqzCL&;hSI49wrZ z;Fvgd`J5QxyIQAcPq%M+dX0RYZ=nJ)x-O~-of+kh50@gNET;K_c{}Iwt97Euf(NS5 zmnWSSTbq3Wlp7s{$I1El=do9z_tY9y*A;@L?)>x{g`JAdPs7H=m+oz^)cYn?`g_8Hy71KMYtc3>1Ym&IirD@51kafLG@{0JQR+2N#3#xVV?R<^522;&Vrr zr3mS|D;UZMH8({|UhJ73ww_yho>&m#2eAf4Nk5kn%9aG74dpBBXjjHWJVy7iSA{bB z87#anw6Wg4^B~j?P3oe3`D4yX_dy-If+yyi5%p>-Ap2w|3SOB#dgCmWcT=F}N34&I z9tDoSCAf~R?HX39_D)jTsv zGjE91x~;9C6V9TQy_qNQ!&#p`^AT+&pH3-~Pb2d3iDw%0gf97mgFk_RUM9#;c;%#4 zP9NFLo~HXf=J=zT6g$LqKrb3uvTMa&OAAh!`}EucVL`MV+aVjiN1dJ7R^i6-@q<(d+i-FDsaP zU&mIlIi#?PS!=qH2A))S zoJa|D(fs~)V#v!`7Z=zwF>5jf#{{6 z{}C1*H`*>gEE!G1lHylta5YqS7c6I5FA2Lf*eLWp5u4$BaHfX{BZ3KvBrr& zx9Fpc!1>7D-yyCT@k8>=X^wa(7vID^=7kL!MP|_HWH?5V8PhRJnmWu6r}HD}U_o#X zq?i4i`nGYky|7n^q8E4;D&v{5V+P;P_!6u*$O~Tp5 zB+w5{^gsF#YvO;@#I@E$1KzP%v$$Vrt^-ccS%CLO!-M@sG`1U)(gkD`TN#ii_ z$9A4P%nVW<fh*U4Z~3dDthvG%I=>*y zsr&5Usu-EGHzFO0p9ia%tgseCe%o1|+SeL&?T7n;RR+SPfZ*#P4m^L>6}%jr2tX|5&$mqZ2ZTJA(uqv+sIpTs$KS^3 z%(IP$INC|iTF9di!Q6X*mq39Oqm548a1RCo4%db^=dKMi|2wyePGn8!jPu9*NgbVR zn7dE-NNM;KB5-kkn8lrG7smv@1)$7~2)!(%6&tZ)V@%lz5?)hR_0-;hYKkmVR(`(#&li&BaUz$@g z?h<`J(?9#QV)>!>X|Dmp!pD2&FLb}GW18ABH}$EMEe_H^4 zxkLAAhccGGiq!dD`hfVoB5RKqqJ6xoPeu>q?d0^ym3*RXe2LBCcmknHnsVyqSRf3; z?4MO%(4yv&4{?q78{_Si^SGAO^5#KhTmxR9Cj#!+3RIa9UCN&k=KrIK{CjlYkHzI0 z64T?HzQB>#0Jmu@hbc8|I8a7Ot_7qfY#lpvFTLG~(%RinK{Yxf3}koEq(0JD=?MC( z>PPWxgE@3Uf~SOAt?Z`YBBh0=!FgsirFAYP5L@cCATsj)=cc+#EwpF~x-pYXPp$|q z#+jt!nMAt0W=4~?Vk4JC$FA44|6|eZKQCXK3U5k}SPb@>12rdx4y#FUNxVXw?sR`W z7?G1d%wFpY>9gv19#R*+ZC?_6hE7V0=k?FfQ3@Qj?c7Ibinh;V!Z<-q@Sdu_W6tMH zQyW3roCz{zwVPkl&b^`?UndP*0!V#X^aedO+cOq_^2?&_vM)xj(~b4EotLMQ^LBn4 z%tSltN$@8)`$Err$?B#T2u-~8IG=XTDSPDK5T|%ehc@QUbztt;sO{^Q~^UUc-p*vHT zZsVArji8GUZ`Vr`etAvO-{_^)7A=4)h~0SG|Lazii`BQ-W8xT5Pt^%FG^DZr)`fW_=`4_q96=qvCxaH$VO!DCP zKR|Lg=7DjwSeAW9P!!R(C&L%>`-OdoW3MMYmPAG_ zZQTqGb1iI2rZ1=nE}}M!p8&Tx=KlxJ?L0H5S*(1hv2yE2a<+q|p*?z2FoAlAh;h{Q z*TfIgjM)2&iF7Lh1p6*KnkRx2HJd}fK@^a0KnO4QEL$*%sx?Th+6MITd95nk`2pHWe1t-IUnWtafb z!J9a^rq8NPrmw2cVfZOpLQ4thZ&MJ%jYb$gw*4BQOYW zh(S7+k@C$@ulZutJg-)C-`(JJdRwow@&}`cNPx8K`Jr3i@c(%pg6MB!`zi=?1R(-) za_+Gk=auLiGP&9Q1VRe# z{57xuT9Lh}clqAGwf~%0gwKD~Ua0l#5S>w+s6&YaD|_qlxw}q+RPTpyukGutN7w=$ zZSN2f<^7mg=Ibcd;4G85@rnOf|5cymSsUVqQ1YKZquqhBrxmgFusABz?#CFCo7SFF z3HL8G`S(1yKz9BM&c;6aLU?LmrHj@FDCgfjKd4l@eViYhUW8v3mR{%ezq-n35*pg= z{9xC0BHQ)hpyq-(o;?|x`j5{KPUi)R4}5;`Sqkrde(=Dr3f5^B8|(t#nG@QlG3nYQ z7`&+VyPY4*r)17P9ecm?gFA1}bzL|=m;^YXNVE$>hq!Lv@BE-j{e|ZT;2)^~C7Jzw zHjPPDIjN71-XN{Gqd&|J$5%2Rj8C_hktr|b&nxbrWNv&~Pl+WEs@?28aC2lWA8B(?Za z5Y?+ruSvGB&sDH`|K1uM*C&U*tMS)0aBFOy=>x8T#Q#t3I=4a*OXZBu8Fb zbE`pram|dRe{RjRBqc6rh~CugMeePcYgtgnE%vn~Q$C<2vfT5}@w|K1eEY@U&iT@Q zUrc0XjVMdTRwewWyn8BE-n-@e7e8`gGP0p1_IgX?#l$_MZhx@7<9FxZlj!PVaJL!p zBqOW5*m|#PMHNl%omh0(#U~zl?FIdRn27C69&@+#<@GzhrX|*u=vrAx=|tD^YHGAZ zws>n6Cu8hT+iUIuIIruGDlf8)dWo(_D#<2~8;^4Ss7S0?=0(}p zVdrIAE;-)oT3nroJmB>sVp_5v4rIyL^Iq43g!fGy2#sG{Q`Hg)yx8Vs@L{Zcias!$*aT`m;<)A!m?DeXm` zOh(o*u0-tZ1SUwTGzhJR9jcB`MjlRrA^?aztq}>1u#(jfHif8?a%+|Vi$*h1AWl@P z70JlkUTlRDCnqDD3}K)+va}_(0q_``WrLhBZB2JeWINNP7V2%LnKM_`W#s0Ov^Cuh zUhY?Gj5dt`U#H2XL&(_;ye0Om(4+ntbZjRxBK!c*8V3-_eFOj=5K?XGpEpcDYa<5- zHvfhKY8tG$*`u2(fjUity?_Rp111Yp3He}G=`#xR#+)#3!nDmD=yTI2Oar1i6v;%M zWFj>;Y6MjGJ&V9a0~%_j#?v4`8fXc!05+8Hha{PJ*K| zRj|S~9d3Sev4jtFMXOjhLHMJCsF|TXD z&Ti~9@%`8d0cn^k<)*&5h%pzqXj%z(0KmV-MXaHYs5Me%@A#SmGgSzK!W+{W+xbD5 z35j9T^v{?H=GO#5(5w(*hHx^Nf!ur;rHZ;X3o)Mf%Ai3^!P*ZPcA3T4^C3UENkViz zYy4;Y6x(db=*>(fIc5j|L`$E{R9|2w@cDniOh#T6LVDe9%*1k9#7!4`DBM&Ta?=Gy z)_rjk6661ln{2Iso{AZ1vPN%A!Hj`$rW%1|+(bFaIC1S7O) zHGFvNeyU!TIz+gCU~W3TrkI&#{3pz$%>^SJA5vJ3n{p)l!MUj+lzRW1n>_V3(d##` z#&n8jcb^lqsQlVA?ZaaxE>CH!Figlur7{nNXHTe0TE8t%@dIjl$j;#= zu)R`ds{MDFX~v$XNmBzQr)pTfJ}@&OS&O-e?aqI)Z>krC)e8{TxEwbz_5b3&i9voK zRZrWqP^4+x=<2p_nwHb^Z2ETJH!+bP#=gmR%#$_Px;#&n?wgR@x&1Bz;{QU`W4;}I zUC@i0#7Y+wtxev4yf$f|GeSn1CUl3aUf>C7_{E&`VQ-tN)T^^olyXz`2j?bP#1YDd$A{yk(UsKp&V=wtfpgWCLn}|&Gur} zm1O4lgS@;gBQG71m{`!%r4&;C@sl%yKbDBC^ZI?cW_-Biwf(O2+_hwc+gqh!wP3#t z?@i3xDwr)!U6y%W%c>KZ;YTL?9W9c2Y=<^@NV{Za$Vl9ZlWb|a9>%cqnl?jg7AGQ$ z!zr#$`i~}jv-cQCAjpgC2yImqOJb-&%y^lBqjY;f9Vh+Qld-pxSe$BU%9HvcbDbA? zBoTY-luY??$@JY0Std-`;$kH^Q!?wz>{PTyFoJ2WxE>V6DAF@7GwgsQMmMcJCufF# z%3HHE5n107>q*33Phz%0Y%i@&`VR`-lTXdeIut|Ll4@RGOhA3HcQCza$v}vs^fN<` zP}7UOk?2~*7XCrZ66i-^xg;mAYr4EO%UWVfJpf@rTxyF@!?;Y%Cp0QA8T-4}wThOO zCnC?a#I~rJmdIa|*bu8u%?!cwrJOgVrLn~}Xk;@yVGYw=WS6kfVk;rlSCKE|wPXg5 zPAaTUGBbETRjf|NIQ|X1%rNYftkntZg2~7-FP0U05|IZz{}J4x`eO>a7{pQp<7jA{ z#x@swP=n`TfkbSXG>qgico1vlYKg4__LkTZ&?g(|9bglpNghMQJ1_QJGLmKJvNx_4 z_0fzfCNZ;tBkvez*7c4F&AgG-9woO^G8ua?5nGy!1<7Na$yd{UjI$Ca`82C>Y`bXv zRyBM~XfVc}db57>DSLB^e_V@y4%E6M>31jmODhvY*KatyrS5B%|<%c zKd-Hu-q&!9-=J%x%bRex;?G_YZ|K{6_KR>Ov0Md<4j0%C#1_x%lHr>Z1`1TDz*GqS z6I?)zE#{V`w=ib}rjbguxIaeny}X4vL$IpJ)tJ;V72d*}RhCo^C@r7*1>GpNXqlxV=@sDXn? z&Os?B@jmqL!DT9k+vHr;=Ca+-XsjjjLLLIIyF+d0U-TMzI`sUI^V9r57HuRWnVCA- z8jyE!_esQ+BY4PG-aBDA2;z+2OMlnO`7g>TZ?wVNPY$Od9fdHoV|`y9R)k^po540O z&iKt7S?JZ7=4w7``K;x$j!z^5uOax&^}*p69#l5T2B_1)y#HDs=VM|--lM4De5?4C z=62&^$hYmChJ_6V4k~05;w(w&TAh=5>CyHQ8c*Fo+MJv;65sXJ_`EH4WEQShO`J{L zM)fAnmhRAJdeX2sNA00*#yQGBuWJ*7X?J@Fim#v;*J^1<2WMVaQ0;ZS#@mOt)cl4V zRxA1IQHQ&b3I7ewi_)X~K*5vmt!bw~dS*G_=G(UlzFlkI2HHy0gly!(Nf*frEV+_z zH`uqqe3RtiB#Cc!ac|}jzTHY1Z)!I6yS$p2)3xObn*0ZwSc9hZ9N)weuL69i2EeNc z#-cVk`%))O{%r<>1|X=Kz>MJZh&DJeJ*tVR<++lrmOc@&|MGKimR#kdt4Iece zilrwV&$qfJ|54`j_-5bZ1r+vg8dwt#C3sEbHt2{eKJRs%U^PVlv@0^JCW#zw=7bC2 zlg*K3&9N*oEp)gQ@9L^-j=a@`JV?ef-`Dw8Q)EMIeb z&CQX=yH->*MgG>5zRid!9$98J2E=0zp^FV^=DuxLcV%*nH&IC9p7bYWH7#BFE zb1LzjnY4-q2xOuA`ffYQcGkNewu**=8%UodTZFwwS5w0&Rw(l@*K* zEHO3AFQWv2*iK>eQD_2eYm#hos7fWnGLRo{6D?dD6EI;ys7=;zFl7WTdfy`t)PF!8 z5O0WF1`3TubWBo}CMqQTCP&XeR^w>jm`4NRe^E6dKjeVeiaqi`Wyk|V91qaQzsdu! zcy4muhX^0qXJ$P@iLf*iJ|Pnj1z2f|(b`0L+eK0O(JQ+9wZa zvpv}H0H|Ziig=)^zyq}(A`cwzc%VTP16q3XK(%J*!{LF!B5`%oAeB-Oy7LSGmit-kDat%32l^}wwIMLaMp&jU!{WkMM8=|AHE33)hM>%j57d0=>f2L^wL zJkaELpkBlYT6*&UZ1JJ+fSMo7=p zexP+=$iKq_Rg6JuLv<++AgA*S0!!V0t_uwdd0@EX0bu=Cd0?18`lmcl&v>NUp_1p8 z+v0VgDbE8n9~KX24G3vJ)PRtg=&ooqy|ht*G(+@59$;2WCz3#7S&lpjw~)n3B8>@k z>3LgijfbQjxs*^B@*EFTiDHl@y?KBo=R@HE;1N29sTHmAwhrHeRpviw(JI+}pdxNIPJ2oM)C)hR4Wh3acqv4FW2?DBZifnRo z0bPa#3Uq24b!%93J;~ z#AE9)q9SwA^qDb#0}3qKtLCaHvX)#^5_4$-KsQjB9$M>fZ^9PL7O^?@*Lc@MX#X$9 zHnTg6M;14^eGqFk`vAyJJIu<+4%_d=8G)5x%Y+S>4Ja1iCja%O*xTCLbyaHD+L$Si zMjna11#VC_{cMx}0y-^QwOI_UDKmV(=Gg1njM6d=QBD4;u2lmV2YUFKHBCktV=}`( z8;`7yy#?l~{Fm`QG;A)Zj64yKz1r+&$6_D`QK(q2HANn2_P4~|h<7cm?0T?bY-TvS zX*P)}nr&A4$^m0Dvp&r>7L`nUiXHK;RnY%)%`sGVtJmy5-o(AFVNH=|V?Cf_K-a2) zbOC@E{Nj;kn`1pdG7zF=F<1q%o|U;|@JU#I$7ITnU>J4M+Bawf^9@ow}vPuTF@y(G3R5A89Fe=?Q!WQm9@H#M_88|?^TuTjv)Z4KK znY@NBaIiXVTT$EiJ;;!oV+{3`$m%9+wlY679plUr@z~NPOtfa1h;3(nngq=2m}dQL z&9Nm-{^vB?gmv$0N0tza6k_R6q<$yR0#$)F~z#eE&&3{wJ$LLh>J}MutN#UKZY{S&x@KUat&pAeBW2id z`P@f8_ASGf+r5{J9o=KfWy9zmQz1J<_n3jQAW&qW$_>(={q!eV##7s}r*w}QEJKJ) zv%GgIlUeteAu@P5i!3(SN&}fMRr=Dm>9sa*dMy}N>z4*K-*S-*d)rs%OpD*!Kx59h zS{E8u6$YjC%a}IXb~IeUanN7Q;D@yo%j)R9EUSO)(S%$ztzcGdoGG*FS<^~wstXGC z)K94Z_EhyQd+KF0;q0k&N~}hkpXqHD&8%RL&)ZXHPs5m6XSFe=cAr#RVoQB%hHR-5 zaLYDB>c<3L25afarI&xi%V0Vkx$LrGV7gy)|7ID(8!=szjiGf0-~?O0d{Ds{?C!Jl z!}!V*a(;6;R!t1B>BfP6^FT~>7-7?mgZ<{gSYk26Vx;q%hxFVX-Y?>&!Hf*I_+XEagaJu*0q_em(mF)>i%3HZV=gW0xC%sgf z&)d`e`GU<=o9(VZH=x-vZH3d@1lF`T8-XX%!0A(DLAGuX0MD?ESfVlRDCpd|nF_557T&&}>M^%a@;gK>3oB{qpXXOhaVX%GOuBgBKGJ$+gt`zF(j95BcEr!K)@ay?2ZM zV2i&h>96#*eG1x3?Eje8wgy3Z5E*1AwoQg;mwNlJNr*QXd19N~;lqR^N2pZS=t=h? zU5WkICfXhg3r?;mPElJN`sa)I<0{py^?}b-u4~uFWHCYrjB8zR6s1%d9Jz!flVAX! zR9yleRVmnO2!N{Qb7KfQl-pN+n1Z!*m>lmjOr_&Sl^=uQV{+-h)jU3EMP&p+@yOGH zvJ^Qd)t2JVABQ6X$T_L5WSk^Wuoo)SSSh;HVJS)l6a&iPD;#reaf-%PS4aS*oPLKi zP+yE3(SS-8(52a*Ok+hU0-*?lbSN-OkZeOKod`zTYqIJ~<`a6Wcl1VjFAS<~DVBw* z(wPtprL!eCOJ`JLsVkX3jTeuS{EYhJ8j^@lh`z;t8gP1LJDMwPLLHZOBj8Fw(Ev)p z)gX(9l>xU_a(~Bf7}Jkl2RdH(SE{Y+v(_Y=gi=iazQ>9$wLW4 z5x(SMj-ZqNVR`4~r65*Bswg_U79PpePYxCJ#&a4RQ+kt&~qxwUke2y%(P_ zhehnh_>hN^%cS?>6VDx)Cw^rCYmm}r zi%pl^DrL>zh(5t$;TD^y)BxZx{b`9w;WcHn6n;Y#vC7~UVC$}do?DJsbdM-XP@68x zRu?r|WsTp?aeK<)AKn1AaJ3@Yn7M zT&q0Qk(L`kVJJ3+sSe-0^K6|6hgpPD2aL4I-3RBu=zHMg)$IXa-~_f)SM_@srmMV1 z>@aqx-u8{TsUn@erXE=*)PdZMMKf)J=ZFX=A9B=S%4o>_ zdt!E^u1FIJQpyFDd!}ZDTgW(lGA*r9xo>I)Xyk)HqDbi!B5w9bU7=L9s>Ta_;>kp5 zuGt)(kff*A7sUgSzZDUaU6`_UrxB?6U2UnG(w9`E&!~uxeD=4g+3#N`KTfD9p z`?)LTk)6b>8PSw!-leVRvIN1A6xRbB_8YiPp|bpePeyNG8@D79{nJYClPeM<+8xKdNafsps-N*tBZ_m#p`iN{GzJ#*%j#vE8_lN<3nHJ9U69h8WUH| z-;>)^MX)Htcvdo=X#3B})H@HnGkUC_Z6Usvm;NYrAw_iVenVs8e(Ot&Y50lB2yuA+ zks961`wI-J#eXQ#))fiu3F(3B68?(B(8Y>ec0*UvFMqOlXlq)ZC0OFgnOQGY5T&Tv zYn!v3SVLpCrz(36(0b>!1?=$a%Ub)l^+Z}zb?3SKaqqJC<6Ch1(Zrlt*`xiVn|O;a`j#TTG56`SD@UDCnIbO6I_zP= zJF|&0vb}81r&}k*82zT$Gr=`9YIZch!N5@ztF0`3Rwe$47BzQMFbCUCuOdMj`%SMj z8>deshZkvHZ#Gs2&D8Aq>HETWV9>C8Qwu_%n?s;$TTeBRiDb6+zvZ;&;4Lx&hVQ|Z zz}>xj!#Vqv-c6{CJ%dHefeWeJur&A{6)aq-;t{4!!N|pXcB6y)>5`BQ6~Uj}m&)L` z?n_m0oBQGg`+jUN#J_>~W1sjX@yE_!ekNu2esf@GkCFkPWgbBCY^=|0O#U#O^t z(e~S^1Zj^vXW*>y-V`*)DUY?tobr&uT4QWrXa1PC?dinORSPhHi2M>=Z;wuX63SX! zkr??{Yc?_TLCiwU%v{&@(K>ti>qEuo;R=Fm#uVQ&2wV*$ned7({{~sX3 z++o-Yc`zvW<$*#H;Uc;xWq-x@LV2M&xW=*@t0yg8;OO~H%$S)G58p-{POgrN+#aR@&jmJaW5OaXuIBEWJZFY0)ZkiLeQIn!J01@8S_j9*xeri z80^As=&DtuP7<%YmQSckjj)$@mAai6M~FzAs?nW~amxkPhem4XQp(a8? z1;!VdL3=Zd_`**ERcD+(i>C6&p?1TO7CY*G@Wd26_j8pyvX63qrX2XVj{=?HvoFEV zUmvKrQ*Abz1$+_##>*ZDI&yMEzsDB;CO}ise#i5tm;9EzZSlL^H0+c$8L{$E3lH*H z5b~-LCv+m@!7tJFDM&J}ZB$vb{Z{)nQ!nlQT3~dN>qV3g4>k9CB-Oq&2Ljj}nn>4m)E`J=}&;P8RFy&c+`$@7#CphF7X#V9) zXS8F0jY1D-6g|D`?BDnxS7sZHw$&cB8yo07+TO+wLc-LyU@N>5hQvHj?hpIM#dj^&h4|BdmPWCJOiEZVT+h?#h8_h1| z!E~f71cyX#-a#1!Ox~^M;KE~F2m7j-EBO3$ph>QQgQv)V{38L|No4= z3w%`7wfLWb022+KXro5U)#RGmq*6;1EmN>$U?OK=f>c1UXzMi=ZEe-+jN*fbPGUKo z4$!Ktz17rtKu~$8u!o3=s3d}t|97o@W)jf$fBAgKoOAYj z?X}llue~;0nj(!}Us@EL=x?5qd>+63ALs&>((Q;O93sSJv>L z#(ujjFAw_3g~X`)8(~`zO*HCH>OR zOh4g|q)XVU%!JQOzX?`s)nZ8>^_l4xv3stPc!HUa0qv*zcP^x8RUX@E=C#jEKjGJs zo=^JIlAeq1tMN}yVsN_mv4!P5Tg@Lce6MbRaqODaMSLKladpuC%3s17j& zeU;6F#N2|B+ksaC8=uV#ld2)q?KD<@L6^tNhm8l!Ggk?^gFhqMswYUZGS@yIri9@4 zd=oC`V=$G7WNcltX=G(DpH0`ELgI&xDv!ecm+}Eb+#3J(!1_u*EN~upXIrs1l-vnR zNSyK#H`E2clOnE6`kX_|+sZS@@1}mVgde%5JZP3^6PI!Xk;u&6sPe?0=7RNP-yqrl zMw?(|<_dDX&;3Snn8Sy4 z8V4oHms_f1aa?y|E<3vP*~K&wex{VaH2O_xG@s6yQd(5fy(SLDt6Qk%U-3+U62D3LFbE<{>kk!2s#&!rP}jT zQ^qlc6H`-4#!nf=?i9a<*C}qwk-IrA2+EvdN$+se`PH0lY*L=&3$!lux7*w%k_MZG z%p}0h609t|MYyMqolfFOH{}VANu6DP%BC}Mw?G^~j|nTkM(VT6`D4yC*_n3gf5G^0 zbKsceLo#OWd`NtAV1OA#Xny5LvA8$kk;g%%O$ova$kq{knO=W z@D$eslaogkB`22zbmRBwvXJ)`*NF$j?p3lhwem0CW-H&>^;^nmS=T$G>sgTJX@r*W zit$u$k>_s8Smc>hb`+G1EWacR0n?>3;T1dhYq2Pv%UMFss=b+&Y&Cj+9oG}c@(Ft% z&Yl^QZHSv9H!xxBuCKW;cN{XCB@ymetB0|Z6|ymQo3#rVa>G_}?Fq&?0G5e)A4R-< z5qp!%=i6kwY+GU+Q#kH0mJK{ITd$Sc8Uedjn0VCgXTS%x>5bdD7vOPo z@kP1&J1pb-g0MNCguM?CM`NHs@|_AUNja>uB~^{)ROzX=gF7-J;uq3w&RoL>ItH8U zcPw!XzxdD8cswDhwY{S$r0)h#N~6tnG~-}tF^N78O- z78)%k?ze39MTcaVwcctOCf*{?5yf%|(|Onc=QA61oD9W7F4)kx@MzR0+`ie|mj~NW zH`)IL*Px%=oUruVe9ICY4Za9}Gd`j7bu)-`{o{gbkI~Rd;lWmkpsBc4Q?=J@I)w|K zz99G()olMQ*;EugEZZYw6Nk0=IkzO#TTa8`VYGI~Y8ga!%zD$IT=+UlFjv+^(E$+% zVf%;Y+YgVzHIpER3ro%a8+a))_wu4x(-uEVM$rJa|5ESD=x^F{GDNs2oP2v?xbmfy z)l?p-++*H+SI6BT3y3;pNFB77u@REj)&XXNC$*KCh_z5oFcudQ?rsq}$E$n9(1sPcUC{ghAnul(Y?MFtP z=_Ezz>59d?hTEoCZozvuQfcHEcahi3;L-SYoBy-}sGmqvtj|$dHI>}T^fs(bm`LQc zsUPHl4;5kW{cvgu9)HqBC>KlxXX(g9oZt3vWeatpZ6Z{ zThuMPL@QNJFt=u_JeMkk43R2zUMlnh^}^i>i}P6kiNa{I8Fk+I3e+$+9y?1<5wx$v z`&7LuC5mT742Ze4!sv1#ZY@y}fP1L~`NS6VB6q&F_Jz}v(Y3zpHf$^u?r^JJgwYGa8!GbHnTYeotQ+B2J92$|VGDYK(bkE6AodF5plKHJjji z`CPmpCvemA`(*Mi*JOmT1+SA;(7B!&j<9~q|C%%lR=nZ1c99Kx4xTS@NAW zTR(%ad7<`2SEg?mBJ1M{D<3=cryzlcVG5#kWcfybdxe*woKUJ%RM{*j4g>X)Y`(G7 znN|DIny<+-|Cm9DX6+3_OoxXsvlZZBnCrFwMt$k)!SZf%i2D>2ow;EK%JiF@0* z+uUSMb$d5s+Hecn!l9QETcX}L>>xpcYt&-wcuF8MhT121bI_Blc6D%r_N6d}hC`d) zOi%7FGfdJr&ur@Rn$k1+dppb4HSMADEo#s3nv?qi-b?Vpy)Tu$#9PnM=jIk zV*e1p>3SK1!rM(p+Q2o5SWLG{)A^rgrz?ro^+d7$P(0f7_E5PXD zYbZS-(#nV^m#myd3=cOoj#nxk!%u|($Svz;IZ|X?tZbKCz!|OfSlLFm03NYZN7c*A zdtt0EWgP&S2-pxpfpk-};JHZXxx{Y-v?vhZ{oDZO0b(AmnA97hyVBw+*SU#$^ZS?|r{P4hWG?29Oiorwq1R6M_b)5Hp*|6N8oSjCF|P#{X+CH% zh()R|znTxiv%(>ny6-EUx(2mL}%H+H)yfqLR&v}l-^Pmz({PwfER1N4GQbhcfYwrlM#Gc%5Zrf>l^FK75 zEgM|8Io$cNYqLh{R@=rj(=>nlW;T*wa!sI;{lr-^oiWN#rT?L0et zP!fO3ya3>I9;6m2Ew!*1^D+lXF<*B-C9h#0u`(hyS9Glq37@scU-lj7<_l)6u9w8I z`dt`|75agDuF@la`iO`?RWz`25`R`9nET@PreoOKOq3>Gc z{)5dgsQ4?JKmIM2UZKDA7L{avM-JVOxi>HZe^=<#|5Pi)j;cb(ja`ZzUsOqWn|bTM z^tA))W6T46bS*vjD+T*g@Bw0i?KXd5WHRXNJ!t;bKM^~$B8J9=2$|y*1?p*T5GiR< z@*00KGmF##o}o6>tt>+PH`=CHyVoL12~_TF=}P(WfIiVA^rQ4cS2FtM(ST=XyrYb{HL^hqOsQNQM-;%U#MJ` z%x6*`9d_OUtNq(qp9kU=fnv|g6%(}Nde2PugIwn6+oB!f{9|OJUKrYbn1V|Cre*aTK#!v1wfaj8)ze4_&S}> zYipQ6jivfDfhSqpsmJ9TT!yzV)Z@fjokurudMrJ*DSXGF{-dRW;ZzV#FRVt(cCn~O zpO;Q^`Qytk`ueqoYVD`os^uoPH$qL*^Q)tE?1{|`Vh)Ld(_h6r=GL{e)d(E9%kVz= zu~`HzZk={6mL97dws+an-evc<)ig@3wwmAApVc(Y+wbH@oL#&IG5|; z5|THY`HajSHn|6np;YSe z?BH)LJ(1UE1Webc)Pg0ZlDX$L$F8}uzI{$*x0zX|UAvB=f_6Ay zd;?6@O{%MEV7;*{o>4!Qd30l?n6_7;pR&sWoHQR7%C)f!`?7ZUol$CIbsBm{%D}#} zd2W`{$)(}ILOQO^X*bL^Fu7~B(&upc{A%|;c)e4Y=N`9mwJ zO)L#g(s6!nzhXju{HV4O+D5W1-+mf`%A}D)B17hRQx4frf%wqY5tvLAvm|$>*>0Ye z{v`V@ah6@h4w>vbQLnRIA$yM#YxWd}oCg|Vgr8_kNAdz*gCKh51Sy`|-(ZH_-ZxMc zaF?O8^f}5RA37+9tGV~$dXA;e?2m=o>krOM8Zf^$%R+_!b?#om$T(zfaO^2cUA#*JxQ~19anUc>a9dH^# z0!`7KjFDlbl=N_&<6}(r3}$o&&AD|oD?%*`OMp%^Jz;g#{>tX8jBUOdmc?CjUo7>5 z<>Wa@^B{5`mgyYHWUF>l>FcSIOHtGf4N>8OO@&Q%1iTo*yc z3wzI{Z#~r64Ky3JMu@r?@$QwOhgZ^CUX3%oIUH(_e=XYd=1?^bPfr(1m_}kd0!N*Q zqrwRNVWy$bO%f>})ONE;rKO6%dM4p$uHkc2`JB(n=XSr}%i!2xP(}5iRw&bV3S8>z=1vP2eqaBZb1^nz1JQw00`>XPMcU_j~5pg+q(f4a z-e4e>u$~^r*|#IQ&M@nzNuP4Hv!RkWC0$-_ilzFwbD*()I zsb+|YQ6!rD_}K6z;cq5>9P=!YQhyeJD*u(9W&7a+e-N}T^!xJ1so9AW=&)&M#qZy$ z6_|4dg%WfK%4T>1Q_ zog%VLMCE|DWY~$WZt8=daF*N!QKcJ;tJbC#219)dX5fYvSnY0lH`L}VolPAps>xQ_?lnzIMS?+h({{I@wQQeT z$5DtuGk(B)myzsm8R0a@6|Zz<;p7^Rc;MezEbtM-FlaUmYmw==#R5X6%?B6rbpXUt zd_82IofDvfy>q^~s9mPX&r`*b%509yaBY&Uo6rXkH@57USG(A}a-}vLOVuuR8YU^# z%I)l8@UnXto3g1@Svu_8yE-$sk9`3ARGz8GY1p`5uz$Dt(xrKM=ZWo~`z)zS*sRP0 zq*;E-@=Yoc>2@Luuxf3l$uGPY*5W*Sf#;oka#Ih;X04V#;r0J=1ydsg_W_Fe^e>7q zWF>0u7Ud)NV!42)dWLij?Tq=TDuBJu%2bo3WeD9i^CtX&(Df{v(a?z6RL1j+@H1u> z1I_%IPyRlhzU>f>xRAWuz8-JKDf?xVCF{_MH3i(zM~OX|b#TABz5rI&|4_f$M+R8X zII)Un!~3WxQ?0;s8ou|TXm;Kb-?zNf?EC2V^3W!Zflhyp(~x7}uqx5GGm_sH^g9}5VU zIQ9Pt-wV2qp#w449uS7@MgRnJE~`uk>vz@SEo67!ys_LC-Glz6r2E89wAUJurWT5nga_YU`xT6~jU z=em3#I}~{6zjG0)VA6vS?;Ow-WDEZTk^rnbf*2$R`V|Z8bVIEPsLz^UZRp*^?`u86 zGixt=@?)v`FME{{K-sR;=CcS*)mkMr^YJ_#ATt*nL1sq%AIQuwIzO1ql;p^a*BMDY zE?X*i;=Q2@T_>!@>oM~=VlPAg`3Eq{{{wt?*l!R=6DgrW===5<#m?5mpKY9 z+#C!B6yfT%6L$L$qAxW6I<_X=KE4Hj|IPL>gY5&p&2Aq*CVn;Bhi+K|+sE%1ROVUQ zFnh)dD{gm7^DWN*Xu3u z$f%to%O|IM>opVfL)>*!HV;B*zAuE{B^&o0tEEB-*)F{1M;gO8 z%Jt7z>h+s9FV>d+SM&={UgXn87OlYT;#u;JhON}8AFtoK&E2m8Li9=FF|_e3O8cNW zbKs@Ol*x-|MNuwbt#j%hrzn1#F|Qnz{@);7;nYp&@)IZNIwOuWjwa^wwbE7${bZGA z=XEnf&a!!QCE16ze?8m?a1sQ0q7Raef#3Sr!zqJlfYJRolb#SooUg$b{xlrt|SPClO5T&B=T2UPTfE|&_k0dCthU9w0bK1}RI`t#8-fr{YX4xQmy1q0}pRbSUH!a_gxrtw=XL!sS zuy2LH$xYp(xDQ?z`*{5q!0qF8R?DcqFpJ3!ogF#y=c0rDI;E|?<_COMHynYmnRc*1 zC!*{3KArj0x|u#uKkGz0IM7b!40`6aaVI_h7+>b|P&k>?Qr`J3XVKAVYg`EGqT}Ss zdO?M6sG8iV&p@BV#$e5+f(XFsQUXZ>^b&D+Ab6V~1$f*mkc4?1Ti*2*%fCcZH}`3+ zh>aX$YBLAFr*JDxwqS^83r0d+PWoFuydQnVUvVQ6ZBmmgm(2HQURH^Co(~}-76-f+ zod(%VW!_;h!Af#kY{s1LPba&0x4BfO7>2(!Q$|Iyl1t1hd{mw`znsgx<>(PO+-9x^ z^8V6w8cIJFrj|;v+KeC}(*<=Fz$qaGaB2-{mO8;Xf?M_IN)l6juv1MisK>BCRf{!$ zxDMJL%m~ATM=J4xah9Ct&jlmFW06mpztAeSlG1>EeUMkJ)_d9908vxoe-RxKF9BKt z=Z_NKo8DK$$wR2Hg3i*X1uSXEfBIH5SW|=H^i8;^^x-MuE3iJwDX>H-oIHg7s*(rM zoXEktCNnV{>WMg0T5E*#?58@;7a=O(2kr({^AM?Qt??SMFsBzDnx3ApMs!%X9-+o+ z?Cj?1i?2lkZ8AtyEAu8h*A)&Gl@^Mt_Q}q%g(EQjistHuw}`Hanv7#SbsTRk=3GDS zp~VP(3@hSYAIvN`XaO$O3#LL$@-p9G@B@HW#PxI&|DUUsRyMq@8H7&Bq80?I1c-tt z6*5s{#JPn_gF&v$PIgh5QK?uOU>)UUddO{F{_??o)yiawm?BHOpkkTDbP0f}DAgLE zAIMIk)Vm$IMrEk?kfFXtk=*_?$aXM$rfydDRNy!YiCLe*qHF+ZWPd0!qm-<0bp?2* z+09Xw(3}gUc=M-1DeCF3HFzZGuyqdoLT`aszK?XctY+@O-~YWpVN-vztg}>pIYt7g z^EY@Cfj6WS7l*fchc6uaaq3GXNvzOfZ~pE^;K%Q=FY2$H?;6gdZjBhZc50=9i(;sN zWI6Sp2a?IXL&Pq&WE06s8Fk-4ZqK|?r8D({#&Y}g7BTDYc}Y3>2C=fuTP~i}Sf2Bo`W^)k zo>?ZygkVHI2HLZndf~%Zr@YvmHFL~h{4>AWstrB)>4xsmhT;zZPsU+^={ugIxA8V) zL{?Qi6kwZ;Fbn{1o&d9i?P22#e_}HYEV(Sd=%z~K7_xDD&&E|FbH64a&B%168g|TtUq$O^)(}s`d zBU_}GPJJuz`1FvMg13_Tkfain?J#`PaqTr*kT&NpIRGwOZ+53cu-(0t{`pZ9c|rd zcm^^=oAjyFEa6)wKtYCznnGs<=qO|ua#Y*a4tMy_8{k)LJV0w--GKG-MTte{y})Jm z=BLwiLcg56Eg0a$#bm6C@oHp8Ws%sck-EX|wOL*w^B&UP@*~o7iDP#PsIXTty-HPP z+7UmhA7o8VvLAl!f9N(<_CwlD;bkeU!sa8gN}K*UKUDXbry$aU&btlrmsWou_b`hw z^2j)l6{pU_gpmrqA&fNYfPG;^c>hN&1UTC|a>-8wIfHEKmb5Np7?!lIdrwI#e4SJ? zh_AcW@?Fwk77PP?T@DV@Y@_!J2sTU+h{H4|Ds=LM`rfABaATD|s^$I`=&@4Ft{=}s z+uv=>^MbA2X8C&k6_+AY&vOoiPKBV^Q{rlmgrb-$Rpb$YA(%L}YO56Qd;zktSq~>5 zj+nEwVa?$*Y^L?_9sO3cIM2Rx0|IB+MtMp0BVBwQO3oAF#VtI^#z|7vK-p`WbvomB zhtpGJR~;pZYzM{SMkIs3A}oVPYeRy%5s?X5mzped8jnFk=TEVu{YXEeF}99Vw2t_R z5$~fj3d@CbM!X5-o3B<+ng`Dcod%n-l-$X(9d6{?097&&^V!jz!ajA?97!BuFh-kJc z;jYd3+7A4nkPA*=RAgb%H6f>;O~6DJ`^AJZ9Osw$3T2W4Iybo{C?LSsuGm=`=d;Z6 zH6V*3MonH~Wo8Ip6|0`2w|V9iI+y8zNJtNTM%KFZTmn@AS;VJjKJ=)V(^vCgM2p2~ zr#K`2Owv?#5CSZiTxD=e&3qNTo%(yJ7#R!~qe=?RKb=NK(W-b@6=!<=R()>Hx(2;T zz1p+PT#~c3XJ@0-*4rRQaWmt{V7^{{P`fTfMu4jv+pno4$4_MWElyH!h5|f2j1bJ{ zLserm1*R-k1f~Y59R= zDtJ24d9cxWqC*Vhvn~v%aeP+!<#c3LW)lTP{|DX+vnWIMekTr`jc$ch5nK{NvgKB9!5&5vnr0`X-`!gWA))P`#*#J z$1(@N2Ko zD6qrM1&vUj58|k&k)}@vSNQR{tcn7g2#r6aioiT7w z0GWoKbc2o3lV6a5p3H(nIsK$_}VOa$3(nO)cI+jx&Klr62Dq*fI^C=zF7Kc zZuQB_Q;$9suq7V%2c1D$i4Q z)m}aC(<%cXeIn^FvLab$>9ZnO)qZW<;R$+FNH**G5O6+gq3N0{Jv=TEy1Tr(noQ-8r5u>3o;=Sb5zfb>ToDrBWkiSxd zqpJn{a}?q_{93g4BEyO*U`7r;fNe>u57y!FkobFM5m@Krxo_%(+WBZjzw*iL&xxky zN~!B=5$fh-<}pTn;*{Vu^h45-iJ2fX;oKZ=hMz#T%^GJT}g@u$mH-=78RZ zxZih;5Iz@lw>rd>W{P)*UbjbIoMlxYf~|!c(}auetqJTkb>vI-p~if@pH@S!FMJzq zL@XoL7xi5p80Tt#ocFAjO+bd)JI8jUmyYOop38q ziMXScG5Il_M}NHdmylb>`~PZ}f-a9~r;PjXQ$5f=yw#liT$G|@k3_(h!5;@9=om}xvJ9vlEH zb~_M_##l(FetuIwgU;JbY4+O&zWG6-5R2NfRuueY&r!fFIad%@?T1osv+gd5@5}Bn z`sEt*MWIc=rmaj7=(s^G5`3046ggzVs_ z{e8`i=h==+$#|8yQoH0dd>4G}Y95d;eT7SnpFCBP)oNi9t0e4lAUWroxFAigeAel^nFS-P*r&z1NE!`p^3 zBcc(5WLymolVvnsQODHP^9OMmR!=R2rpTP4btInl>kz>Df?T(`Qvs4d?@CVnYOd2y zkQCWuu{%wCR?w{9>~7Rw!K>G@k84b)eMDttTC-o_sm(tJUdEV5vYA$!-}0y^*&*DK zh)j7-{RfQ8he@xwU?O9LJKSw*cv5%NZu7lrACngd^^lb=I5{i(RcuM3V}<)=hxBn- zxg(D1kS5W7@XF~nL#kllWJ^@6>NbA^;j$JvMW+C}vk=q*DdkNlhp3h^{p@Obw2&<@ z(?D?xU#ao2F}WH=w_q-p8dLe@0#W#IL|D%!B+f|ML|pv;sm!+-jtSbjLtJivp8) z@=@R_hzxn-C+DVrw*BHX98F!a{GqhM9F*){M|YF_2V@A){V{-&Yy%?DC9>t;Z~c*g{JV`5M)CU{mO zU9b6X`l!p`4#ix>=WbJ<{d$dl_3=6AQ)!MyijO=jH+H^W^CMsfyN{g~gEBa#vi>Bf zyP(4?IXw+TFEv9R4@A#wt2 za#swA*!4z}iNIaTR{Ya$8V#2!;&mH&r_<{q?ky8rvMX}9^iCC96D;ZpB5bBAB= zWz^gC2cQ1u^kkc0JeiIL;Q_|!2=|K@zn)iz&@S~60VPhaRL@(VND zZ-P1`M^DZ}P^47Dm$lRqDWDc0-4eIq=VSK##ZKF?lH?za*=@%9U**`5-*VWmL*%?w zV6lSq`H)szze)2!qm&^1+?H;*fv=er{K>5^v-J$dWY=+!ctI?G1(``wQ5O4e=Gn*o z`vIdYWugrDnEzw@#c3$|M4&GQf&V3c<_ene$rW1E-R3yI52Y|mneXr?H+312on-#i zVP3%VgoRjxC}}dm!TrsmNwME*{T{N&i3*CLo;4F%>~uUMCD-#OJFi)sd)Qx8S4oCH z^T*Ctjy7i2fjTmbBJXP2?10+0InJ z^LI_k!IzPT;myrI#!8N?;3n|6;!k#-U(=b}C7+f(Y$s1RWesQ2Yn~phTQfpwwtMsJ*ffZR>?oNi@M95GfV)Dv zfSZyo*QtMk5y+HJKHHASlXv!|(&YT2Jb%LzxqhbK^j1yR4NsHmVe9K$)k)%W?!Z1Qhym7FlRq(r;~7a{VIE#vZ8|wH|z9v<3l!mFW8)=LEYv& z1)bCIq+sJlf5lL#45=#H@iM7$1b=itf2SgrMq7HNo61*hmF#d5Z05ob5rwU$^bE9K z*T!XZNycPHcWribl0RtbUoB8DW9XTs;b^RPNMac5cSVc&jw1&fVI#8oON1Cd7>q{u zZ{SS$AoRfT<ueR?+D*NB|WPAeGalj zxH}xNlA{#e`R8U2v($uk->|bLv<08^qiH~V0>*BLo;|kR^~SDCEx?i8Nk0Zmaq{Ni zgo&kwazJFSsD8q@kXJUx(wFoQJUBQlU3`)o+BYpdR{R}S#{z5J(0WE33GQ&}mr8a$ zFH+AF5l}cRvWLSu8#%1A5taARIAdqnWbx!P;mVEP#;Ud9^bLn<)1x+3ZR~vaf^_*w zwSg8+ET>1Gt0zHu$F`?8&OKrtl(R!kdtzStvE#oqM^n_ch@S#i>kFg-5dlJaXBC$#ygqU zLFBAFMH`2mp!dI5HD;b9m!7wjh=maxN4$evk%SRd@Fmo%hi6etb?}ZZ>x0*l;G69=S%%})K_DG*NfaVqDJQnlAkAQb>@ z0CXdOZWJVHj2F78W3w1^LJb(SQ4pvZ#}Y-L?I6(TfE(x;gggTB$nkmL4j?ZQkcUGb z-<+ulZQ^dhqXp_P3V7=kw?@3l#N4jUt4UunkwMltQ9NV_($I8pculCqNp~@X2v<`* zQ_VworTpcTMUy$XCS8t>=B1o#ouy8l?1SA z^4;`omR|e{;-wQis*>h=Y<1k$Hymf*$|las(UJWe)4+G8758a!aV|0ndqR|%=%#mL zRbz*XM)14pn!@xiTuH?BArX(e zhZ>`sOs&wAze)DgW%>60I18hi%ICBAv=*?&x%+g791PiHj`%O)m)6 zcto_JL6e09`dJ?oHGpC-pulT%4WNi_dfSd8RyA5+a8eEin5hAcgi;zNfWXP7EkBaF z?qiB4et%?-8?I)gvew$+4h~yqEfInvL9;S@A^S)dCn8G=WWG6sYDbnamexM>)rJIIM>_K6YQaIFDHmG`e*gSreVE5WCwudz3B^ zI4LSFFTMsx|N!>ew5*WrNhm$*pBzMudjl9GGGP zDQJ$)Iw>;iv4Wk{O=eo;-XI!`7Ho`p>!M9N$51j>(80AkAd{ArsinNmB%gVu{1#h) z^4Y@8po?~MM@0@1V(H@SWN2{$2vS-QL7HG$$y6Nh5kY!97!k4^&mscTZxLZ#RLV4i zg0X^)fCDU`8U#QLx;=E^a4gVqzBj zy_|Zn^FzeZZxxFTZQv(l<~*yDS6pKzP>x)jY|>gwRoYdCxT9qymqWo|ix6xopy zWMP}D@xBvWctW~nXq5P9c<3^{qLDB=^2JO*4XGJH9E6u1;3Ic=auNzd7HW$U!9jkD z<=4dq74+JcYXNbzVt)`NQfh1fhO-=DyBIbP_tasy7YBlb(_VTv#nf>Wr&5?*)H@OH zAU@Bibq4kaR%CiwplW|;!_-vqxcIQCsrWdmW`j^or|R3^!tS~aUQ80B1Pk?1~VxK)MvFlTC2th6MAJK2kie(6K%eTIrJNbwMtzaFWG9=cHt0s`0ve34S~hH0OvimaX~vane~4F8bI(SAgBvzb^O@WP~gj1Ia38BX!9H!+GW%K z%0y@F9xd7N!VMLC@knk+_#l`B83W=pI<;<7jPT&KbUi+3{S!boHAHzI`gN5=Efw2a zuj{>J&eeY5|3agX7f~Ba`}(-rw9BI|`}lFz`(B8_6}T7D-LJD4AxPzt2lvk-2omev zTyi?_BIz&|PiHqG^Ve(Ul&We&o!a)-q1XmXysLNqyFf)8IA=gTV5maCqMUGteXG*y>sH!Qt??v4&nuQ+Lp zHgEg~ut@fw6%R7(hIVbDTMXo-riCPdg*e*L$c5TSsWkG#!x}N)lqPzi7d}bbMYBI= zfS`_=#NQxk5Pgt9#UHa7e+W7FHf@M(O#nOURJlTBil6YN0()IY*lY9}!$cku!4?)- zq=~9VVy|}gsXP%&9V0hpoEuKN)$X&DlYff`+KV=P6hDTr9wRu>>c#FAi-er)?(8OJ zMq;N6e?rC8vCzwj$3rb%)54MNeP}7#A`N+ryMM0N4%roHYo|Yt8ff_g`j4;GD=UZ7 z7<)&l>+SlKzU?^5Luk%S_6=WD=?Y;|d%ziBlkAg&LOf%zu%VW@zYI|CzFg*WDOkRe zV>o%ML`P@!j@@g-AFZp=>^gYB*Gmh1%iXtv{h0%E5Tt?a3?Z+u+zf}zr{@5_bAC+a zE4RoBsyiqV;LUR>4TS{b%oWQhNnmV6FxX%&1l>7=xF#M6wcK8BVYlB?ze1&5G(6GC3N$Cg+d%QqT3Ytt*@Xg?@E2m!vilR=GXRx z{ljWemr5(vcv3oe?|6chMqfrst$V07bCq;bNQ9YovUZbz6jzF`9CUTJnNp_9Dc&JV z6Rx4xoI@^Bp#Nh`CC@yJBk%)B8ilyRd{AnOJP@rrpRmiP<8)iG@D%W_!Un)$5qRq= z2cqE2I&eUE@Crdq<^PJjaFA{A5nB(ZZ?uQ(H=?G;;dD&2Z8%ezxA0^s7ELdNy1|6x zxZ9zFDuf?oH?kGZ%~mK2j6H%DVFepD#!@9xk+ZY~Qx$7H#=SH-UO9$YrJ6BLFpqq6 z01Z2D%2CRAWTRojxV?Oi&@_0)?-RO~n7wrp(bRjv<184ZXQ=^SEg0xM)>zxoX3ssn12L#Be0xjtDbE&&Oz}Ar8awT!Egm5qXV>4}@Mx zk2JgzGZexLYDuOiw#k8Q3BOfhltkE-p%M~qNi24Rr@5kt?(BT z%+~I=(bVnF2i;ENc49I^ce-n$)$0&!>G|ks@wLI|+41#YXb&?*5;`#4Ba7GT={&;P zJ-29;AXhaTmfQJmIN6OLJ)tn_jXfswHM%9f;l<5>ZZ*Fx{Hh*499pwzcji%`sJG#@ zbv22Trkh!coGlbY?UHjuhMJ)XLQo>72)?K}`c*ayT@l}s{7@+OeyNFzl7%!{^B|(y zotVp5H%I}Gz}8i5&D=+WO*@Bsn=(sz5*CRSn3=`)|JmnZkgVl?hZcBnj$TQiLUDn6 z_`jvGZDyu43N>dP;k(T4i3EeHVvX6N?IupKeD@>2B3p8G@KgJZwf0IDD@n0cq1{8RW`b0ATB&vEv#c;~LBl{JZ)2Qf@4Np~97G292fr&fHiA=I2(G7XHQjocEqT zh%2Z|2C+c~akJEOUT{^m3B?VHDC=jM%z7|#?~ z?(E#0`dQ=olZp-hVmzN@C*^0y}nN5aK$ z$jqLB@On4BZIYl7+)N~W<(KnL!oD!11~*5c%F*Q4^Oi))zli0Onj|Q{a6hYgmVMwg z2Xwm+u0Amf)3x~`4=1`2$TP;x?Mwe~rdJITSn+c>&CBGi>Hn%Pu44odn%ML!KmEX1iLljElX7ySK z9hQ#ZXd+4Jk)K>hZ4sVViSggkk=`f883XBn)?Sx%Au(ph0$s)KVdnGj3cNz3p2t6< zo=2q~lte+YnwR{UTE%*Ys2@~3$l_2Ei+Vq6> z%*wsUx;cC1k@w+-XW_>_duHgO;6jYM+Xb#lH?TdT@P{hFyCSUH0|4e)>cT6)#X!5! zt(yto#WiRDRf<|I@C;Es3eUJ@OEwD-ij2l}~yOZc4UU@vmE-4>Dm56%$!E4mB|?BzUJJm`MB zAa8D!D2Q|VP|Lsg@s3^+YJ5;^d%{Wm*H10`R&cj3uC6hMerAbQRQ>+C#SgX%Iw3tg z*J{jI!Dh4l6n5@ui%*28nkSDI(i5*!ow!i%oA?m+TD!iuTsWQzsa5DU^sj#qW-I+( zB_Ac%5ON`PX{N9ffm6-i8|~`|7Bfz$O}BYyq*A(i!fxXC@1I|330RHwbHlVR-Fm=@ z&Pj()RMB4hy9`5}^)`-|;ZPxQR>bg+V{{Fx;`kRXIFXfemGeYtzukcWoEhlYFKK#i|zR#8aGh|f_K zpo|zFKN{w!h3`s?zZKJ}aS>$dE-kcU`3IRKxQKXo>bk6f?8hJS+Z?zbQ1X0>4&`oF zPc0z2Nl)+QhW?0C)05HTIMn+OMTr$MWf3RRlR4S1x1oRjvB~~ZR|q|HF6i^ldoVUB zuVFtQ4`o00c<0ON5jhw~D_Xpkoi99!oPzv!cCi{oP z&r0?W)h;-ZVP}w$m6{rMraol%)6}pNj(9)nuy;2-?3aI^n3r2m$Y1JzfCi_kk4VdI z)1irOSx<6Tsl1ETI)g&H-K}au?u$0{af^17Th(q;h)1+eQ?^8#4v^BRDcC!Snn=;A zj%Y8g3?Gp~1sxcpv4KNP$kt3q9G4WgY#kyi8&VshWf4~6V72o^Kbgh*A#eym68m~M zAeWld1f=4LHAJNetPQkh@6SvPE0{KkWi-M~4I80P;z}|s-#!*GP&SuA^euhPt1;FD z1Y_kY=ImLqI+|Vcbq|XdwpGg_kS!}HcYXeatb<9D>=BkU&HAgVCW$8p<-t0kyitDA zEoLvbmwVQe7ak*ZO6sEGSn9+GHz1{^6yxc_HD0GixV}7f0hsn}+@QV%CI5CIzw*xi z^9w}_JiW;46nQ(j;}|hXZ$Bnd&?L5dlo!*3-UY?p`Nhn?5elT;S=x&t<3p)Mg3`L7_YxrjDF)i2*yww=SiMPCi7zLlVk7X2GPppD#e40& z#4#>6{bZ^dWkX{|aQag&jZN^d{YD1zdD*W{NKGjke}0kZlLLctlD%(zMY8Dod+o)>gq)oq#T zN8O*68oOm`XzaF|-5dTYL)#Dy5cf!i=Eu74I?ab8JkE%|XlmAwK5huR`6L-B56+!& zK?TC3ZmW`xRl}q<9yUHmLpk^LHlpGge{paDCqU5DZzO_rD!&6aE#}*f#{#MvQ3$NZ zgG|Ahir{M&YJvw3wGY5V;hEesWd77xUGvmbVH+Mb!Xf5OPvy5pQTvbAS#krd1G98; zmR{J3={@G};jvItZl3)0MfqGyGMRduK3DqQ^IF%CPatY%|!0JC8PE-=cl6pEEnUvt3DSsS65+I)^2$4RU&l}vT z1Fm<1Tg648iqAOpb#0S*;up_X{e8gxW^NJOPYub;(K)yDPu{ee2b;s%VX*DXSnGZGa~6r_Tv{FOHaRCT%=>_Dcw{PTt_@SP@l^MhdFm` z;|czA!arefc-Vu3>lW0)ge{Jr5=)&w178XEYJHe^vpx=I}2x(_uw@4(hSn(Ip5zH?%Y$g5kJ{5;Y6pVM-68cOiqtJPPDdTB{m6 z4uyAK+pVvbyexFWI9=I(k<#zIXhos*_cX(I-a}xF#n563qq)rRnYAxJ7lC5773diCiGNx7VS_E^M-wk*$xyVEjC)(U3j?DiNZt5GFE*!#z5Nt)s9V056xEP`h4@%hu4)iY>o>-0k znci3dBRgKyynzp^_9NpXV}LFuwG9K2_ik58Nu?i+VE{jT3F$+6UShggM5!AKZRZ`g zIpW8frz^E}Yq2Xk^`c+k)_b?EJu1ZATbC}@9Um{Pk!(f?nXg1EH*!;S?=}}EeiDBE zcqn?E__hvZ6f#uCa6u}6Gk(foulQo3%n;5oQr5KO7zj(Oa;;ne;Re=4LkAM87-Pu* zyv427>qe7aXx>|Sf*kAT4hPL(=eJ?Ma6Abn*_&K6w`IAJ1Cz{Xw{9@{4QeznetSTf zBIa*kJtDwSshLGShRg-O1wNRz#Z@k7mf0-D9COj?$UHln*-k}^k6#N5EXTxtEvsap zz0}3FK$b6Yy$&~hA&j!H%$fCYo3a}YK;fxQXf%pvv8pU>GZg) zXOR3N{M?t=vnRr$AB-QPM;*;8tRSXhvM*l~4^TfOj+&dJ6Q~MSDQn)f;slCrW87uZ zrQb1-xtW)*p-+~N6rLAdgRs4gWX*;0ztL8CswAe*dApjjKc}qu6-B%5%F!E}+$zcU zNb)0?CNfu2)~8pYo4FaM@AhDJ{oMh&Ey_dd!Cg~~$XV7!DLblww&*m7(o4E86wJIs zez)!uTn~nd+`WKrbmt;zZ@Z*_ALt^#YFOJINkmK2uyG;wyt8#DK=i!jby4Ds7f7C! zWAR^na?n_1b7T!nwuAX-Vs@;Leyii)y}|l237UpuX<^k@_-|w0o96ko7A1cUiB9Qe3qCWoUUWv+(+D+ka(8{b(>Wi=UZk^mtG@2Zu+F^Uf2~`VmHhZb3Wed)|(wjtQp|{m;Pf zK}A@U`R}p%LYoqt8R#`{3Uuii9n1nB<^OVV>ozyzyh4Lt;-q3RjvKOVSFS_z1x8QN{U(+=nu7)2M;zTajNd8j zjBdhL0A{;MP6~?FD^j*r_??g3O3|Xh?`(*{ey?I3;E5paaHFg@cO77=@VPwb1L}Ls zdimw9_{PHsA&$ukM02bB3906b*zt}SS^9K9WLd!92wu8%ABsBk&wo83&ofcHP{0|!C5(Bj+r^AcyvmEeMN?+wtW{|nxwuNAZldwav)JA!tc zP08V13?B;x{I8|G-j@!?yTUU-yOG+@p@JSKG3qL)8 zd1zF~oxt^%c*u~WPh+0HpM!sFhQwTcze{kiO>mF^RAUqe4}pVl6P(W$<+kD>K{PTr zV7Mt_-yTgS=uc!oe>1=r$bKYRoUiJRBaAY~?s_}iviz6LX2xtk!_NEbGfPLP5C6iP zK4=tmP!s3y634R#m4|g)SOn2XIqMv<#%*#5c)JQS*&02@PPHi zNP?O|oC?9IeR$@eQ!iVfT-aGK#0bQv+iNSiw{zHL0y;{gYCD#A33D&Y=|6Jg$m#>q z!=gXnw7~`+zR=}bZ#85LFZhFIDK$a&j>;KvU`KWgsy2LSW-dS-v|p(`Se+r&x$|SZ z=>7XVS?^>0<17Cte+cZs*j4vKI*Hqvoz=1BW^W%|7qa$eVZxFV%8Mj?XQ^C_P~!aP zIzHB7bzl+4Qe(?GMj3M=Ymj^Rc|mCrS7mXEbU`pycN_kFwRM*jx^qfbAHhxT5acvt!|)+52((Xxn2-oRRhInjfM6l9+54us5T{WO5Vk^ z3WgSmfvM^;##+fa5om?@DRm>Gt$`O=3~b=;k;R&zYi&TN***IkeQwznRl-l{bKAmw znkTeA@roEl#S^hm<9z1KAYq|A@nTq*1K3_xep9NX&C4!F&>;Axz#j@`C&b&FxSZ&a zEBH2u)cf#|-lflZTq>C$l@O1fpFA^JYSP0bPQ%r#HVj{X(1FU0WL$-X{}Xp>)n1B2 z+9jZfd2@phusnZ*EHV-Y5dHpk0bCg z=by`wfBcPEMC07LOMoi|dqKYv?+x7T3eELwIEs9~5G-Q8qN%Uerp|;Na-GP#8n|6- z{u)FVZlAu<)4mA)ycf{6^ouibH{&-{V z!Xy%{JQ%H9AFX_GV96t8a=+?Ov8_x!E%pNZ+<}SHPMh@-v$w&md?i-dhC^MO9RBL8 z7OV_)l6`p0sR2RvOpFHPHDA3S^mU^f+MIY;<^??>F&^X~C;D*C-Q$-ibUKE7ds;r1 zGp$8o1)evFz&kX5y&J-{FMmBAo#NVu$_Dbx`M_XeeGG^8wR#;mGZKkQa%=HK}#RJnX6b>4fF+DO_5-dHwP?VJuYWcmK%lDw|TLo z0&I8_r(roL*0macN3tH~KyZZoD;$`RE}@j>I!-KuV}(#irF$AB6vC*q&*Ik+bTV^4 zp3Q^hVQa5GB>dfg{~vL$@c-MOZ9IGfNF)A#SPnp*__f?zEhns|tJ@AIO?Js4t9#4D ztQr4?+Fs6GEh zfUr(CjTg*wHv0&lgzKRrNH|{eZ&a!AJM-#IgZxFb{PUC-b(uNkJKEO2rT^@%gW4DP z=QM5GuGHd3%b>FRjrc`wGcUa@1D}uG<*;ok^UOSv+#}382|8yY{0*w#GTIu5@RKmn z)@4Hs^~Rwm`z-wDS-8k?{iRsCLGW(#B)o!XrCQ9Nd8%x2mNbwO3B9=p^h!+e4dYeX z+xQp4urBJp*=^3W-Td1?@TO685a|C#`j^E+WH;w5ik(Z1SdHi$;%1Q}pvg&63Sb6->d+=WqX?)Q9f{2V;z|48DEuvpW|0T%2 zu~(7(T)0gl=zx86Gc*vKuthl{fx)XHxzU~MQ3Co>t?(W^9+{*LoC`r|j*rH-`->Iw z)b;Q{Z)`k4E6ve~iqtnN0O;p^?Jtc~_;Z+(Zn*CH^Qr+*+KWfWOCrkcmoCY+|9do6 z+z2_Qss=xY{hZ${<)TZ13q!1NeqZ`qfP`nN*aWOOU?1jym${o|n6vCoio)7)rRQc8 z-9lZ2M_S=!X6A6RCyhI&cQx@ zCvE3Ln^Splk5f5idpPv|4G%>E9W~sqI}v`PuBUPx=fz-=qGiP&q-PMT;pK&=V@0l9 zmuws|kP;5HqU);b7ywNEi(LAPuw9$_!3?fAM*HE`wFpbas7r{putwm(Ey2-rM3z3F zuyPp=Bd~Oc@6MxgVaskagcBUoQiWqv(Ab$!m3y0X693bRVTSPGe0@N4?wJdt2>nGXy+wqRh zU;Liz+_`m|yjOMFYVw#etpC8PL*~-F4YFh|fX}r1^~-jf_(aGgVF9`Hll6eY@sf(v zML}^P<^Ju3`RGNi4|D{!hBhxOfolVgK0O}6#CEt&`MqA`Dq(qB;wQ&KAI5LAhs%`e zx0%14pqt%Ia$akTuS5zwOW+2<2c z|1z{}HI@;|I9eO?A`r67l3uk1Grq6-N2=%!7s0gC?_{>^YhFPq=t#VmV9OvX*O zzG@jC@ox^v?#m|;fAlO~w`qlGkf5R4%>BT2kh?SY@pPHN`~5)w?xf3ZTZFwR^f4{ej@XqL9gGvv2z^5ya)_9pH! zIp?VggdxL+XRqdu3C*;|8~nskFSnUrYDYIy2%nRpqA=d4cVg9VTmp^u& zZ~KYp$t5TJZh!oAofGNa!d-s%682%7`92T(sW~xRZ7nP*F|AZekMe15ZsxWN3-bo^ zOXw%SvS@$)HLg5*)uEMX=}Z8p)XP4TM{hi0m+B_c)8H17~4+d?jnh1W)d$Z@~zjbYdb zGk-TRJF6)!+NNvhm~b95r7X%jbz8=(kru{j3-&nV7;F+qF|vu7tKZZj4OeTCS!nq5 zxVUhdU;h7?dlUF7t84!|fdE0l69hC4)ZmSlSZs+EODbrNBzTUTsJ%F#R*RxIRKX!Z ztU_XwSWeTUTwATZtt}mFwXL1CNG&Fi!=P0ef})5-5P1#}LuCjyVYdw;q{y){txp%u${Pq5>={zblR zO+$$;nc)&GBT#LC3B&YtW)bb)S@bMH_$85&3R(o6)6coMz?MQ?FiI3&8U}G=UhltP zm0&{-gK39+B7NOc{>tgP4S|(iPWW&vc8|B-rqq>JhB<$j7t|cFWZmpxu}K^^Gz5xL zXD*rgH{ox2KNsVExiHVn4Q;1}mMw+d5s&TOaLQAawA=%8)Pbk=!-_MWpGJRwJMlB? zjx`GR{gQTh_e0D?7Rss5Polp?de#95dBBH5n?fwGb6ysy2z(wx4l-6#kAsRQw-^Z~Hd$ zIVK47{GHzK-!-c<2L_w^1;VS?hu*ZGMa?<=d3(AadvlvXFBmHul2aK$O~8J>a_)Gn z+4zUrmp_+9Dqi-pXKNp-`TKJx^_n{|yE11f{#L5 zGCpvUiWK9EchXwp1ICg-{fYD>6sd9iNLm)qA^7}kX8&US^;UzA|7`#KQyTsZ;FIB? z^&!_E-T1x7ruhdamFYBNOY~LmsStdIZ_uZJ!qS75<1xI%9vGb!m@EGk5qv30_&iB` z@#?mdQvJKOEvNFHQ0>wJ%{SED=7buK!DP+;K=zk}0_BTQwIb1e^i8&_9TL$i!nzvk zckFOGBnBTV7v{;o_Qmf&QE2E(f$YZsE7S9Og;d5g zKJsc0z|DZYijRDtaKSg<`BkIaE=<)&nS!-@U9M5e#h1%=s^ACw$0y>xEGp^Feng|M?NJFnfQsKEN8mRhuB5tgZp$|FvW&VYNQCq(} z$jLGILi%!9$>P~Z<4)1;qSmz!Q$b$#iASz!6v2kCP5DaajU2B;>^UmWtGq#x`9yMuf<*=t*~Z@U^8CtjMN*r1L8^o> zAI$a&ysZo|Du&W3huJs<5H<%Jke7*M%1wN3)r0C?NmkL>CD{-Cgx7#`>Lxs{z5WS> zC+|ntDX~$%(WW07CqXMJ8F0qIycP#oj2PrfQn?a;3`Z6mgp)%e}agzX>qMqp3wrtHfB=C-Dfhn{w zOT?&Xf}j))WH7-!!?=<>USX@@OtunU`9Vm{H8p}CJMU<*1;e`(qxz+}r zpfXEE`7!caGL_XM*0T95g-(61015Op({=7fS(<#c^BrLj-UUJz7qlpiAb|?2^IN?z z2~`8IPn1XZekGYk3D}`r3BuW}KGC>8oz%g}L1Z9=(^2&gSYMJNd;|T4#4t!4+u|4MXe(5AK z%pw(6?2_V;Q9gT!GqeaOrcutx&+X5sB3TmaQ}D~O+eFx4$J^N(!c$jkjdi>B1YLuC z_|QL8jIbLD2sbaKKKb?AlN5uOsqQ(6&scLY^QRlbyRf9XvhW+F{wys10RGMsMFmP~ zQs38jlG5oW*Y4{VY528CNsPDZ@tW3!rgHB*ZjF6G_6pnd%ZqmCP9e=tF=+3Q_rMXd z`61afa+E0)ufMOBK?5Wl(#kvQbu}1AciF`o^@`R-w?&(XD4?PkA4~?0@dlCzk#=KB zr0I}9BJGY7B+>*cDbkYd3-KnzhGb8O<@8Sv9O%Af(bb99Y2{=(2?ApeTnURDKh@$P z5c90tp;`osJo7$L5&Lo<`q4%aFW-BBWTIL=6fcwfs6D_qQFszP$V7$|Eac*c90ZiO zh(zBOKVT!H{^6<3X10q(`tZqIPvj|Zw2Hodg}UWO-nsDqWJG|;$}w7(Qe_$4g5E3O& zq9}q5U({8Ee0v;(jK;yFj6f-!d!dun!X`!gy}hJxq6p6*F0T`Y*|1Ni_dTMsP2RDETd^&FY!WNdIz&kXQZAxi%`W z>q|50+pS+T?EGhxIu@nYmqT=&WE~w9H_3kNx4WFtc#Y?p#O#g4OzG>!0OHI{t}M?s z$-t0$GQ+p^yiwk%^gI|-)!AR3y|rShPHRkzjm60gTPAa;Oz`U9HO7&NTcNJ6PvBr2 z*(-MuudBO_@ZSC{DQi0e)p$G#RF9R`DcTx2jh4_<=C3C9hUa1m~v2DP`IFR_!AUw@q_eRTcb`(=*k_;5h+j6i@cGU=i9&hxZt|$aO&f zN@9@-U+bKoAm1?B^=k56m3YYI%aGSm*@3wYaV7__zJ`iBppYfFK%LeoI0qf5`#mrC zfj>`17I~tSKdAxUuP{u9N;U-QdLbghCAg~QeGf@Fg>62n{GRl>0 z4u?|rl0%}G)u_NDXYip*d>+v~GMtd82QK2$S}(sWitG0X+3Q*?d!X)IrJ^egLG}>q zeKi?zDiLap@+hO#4mEEhU~Z)QHR0X4ri4)kJglvpiSV47>UE_}JO! zNvaJ=f_(*SL`Cx#=tD7m;$vm>Zf6biM`$WLwIVJH)aXJ$2vV|Q67Lru+2gld%_R9k$YKr zt`c~o$B?CkEIqc6TSpnf{+-!b_-MB_@@`;#{Hp5`SCJ{hKAy54dLPpvpqAD@R7vKE zJ+6PC-=L{T#R*3LcKM`W?8}8@W72F#bV3bBA!EENMw>b1;RbNU23D9IWQ)4o!-=)Z%ZRY4F%fJ?$nkc5UhW9qpL4F(i`=x> zIhktLjG0Nlw~7??>*t(E0xY1jb2XfP>HzCf>shL=J#fn8tE+EEH#D8YsfJq_V?XEV zynO}JHAbW}vxv=R8|!{^O2c%+lXC@SacfxZ-bc_$_iQl{u~jWBnTxw4nRtaH*b(sO z_Mw&M3d5#uX?jJsA{nSX9ZC;&!{>dhQ=KN zX5Fpc$Tw`|OH(rzScce!$fy^nKi3qjZjM&mxELFkFsSc(!+}}57ro3wGR-+XQnJ~k zL**YFXe7hyQi*+^VL$Na8zq|qb+3>ib)(idT_U6=R0ub)f*|`e&c4}@%Bc%}*%UV( zvzP3#-y4Yq0hsu7&aaf&ciIHV|Sed$0O4ww?JdC8 zz$WSljss!?&eD7=IuRf4`v_kiVRDeohW!Ek*bW|@D6=%dO%lM7?4~kpxz271W&b@o zkt6l{3JBx8TEoO4q3r$9NjU4@PwJNiA$v!3{17V)VRHuC$X{TFKr6n>8oAcihLp0S zcG{rhnKcYq>CL7$MW%Y;jty>KYHa94qEcCqTi1|6+pFYdk6S{vg@>;V506LKkt25* zw#Z;~<}=UQ&xnoYldE#Q+i9J|21KNleF5zgI@09T z{XD%tT%Gwa{=KCPALx;WbGq^GWcc@}6)FCG>8>RIKKD|Je=oW_lYehtljL6(5Ht99 zndVis&9`(DFDR^`*tq@xfS%s3XoMso1yxfsK7^`{q7Zq^Id1!51xvx*c7E3NfA#VR_*+^3{SGZ}RwEsGhLm@qTQ z+2IJ?Zer{xJ+_gXCJHF0z%F0d5pMd(zPQxEL}0i-6Gk?nZ1Y2N3d2p?NxO7`x>{)X zc%}u*wX!)1m|243+Y}n@UEV1;EsiaUlGwm(u^}(a=6X(nV7YL(D4UAV0U@(Uc0Ss(kx#*2I}slySP()cA*O!B8|a6NmsSk_h-U&> zMAPjwch|ap2e=K9rDD)H+{=cW#nm4r{u7acIZ=HhaWU`Sn4d_N)QP?s_oW>&9^$?B z@bOUF2o^S{B<0CXe@V%cw+T#-hbJTN*a@QfO*eTmT-~*sEteIQGIil`-!rK1 zdV_#z@}!2&+M_&q35xbK9{!#TDS7fWmnbPujx-)JE;@Nq+nE!1_+H6}*n|U&i*y8y zi@HEE24wlQwda~j;qL7RW6)lgBXVBDO>NR|o!Eqh# zFkC*1W90PXSa`}QW&E9`VX=r3Rz{SW@zYPBwTD^!U&^3KR0NwFte%WTTO}rzbEih< zqIDpc99XmA%`?Z3q%9O1%L$Rc;hvKzCRs+lgR;X#QUPKF!BrzV{$z`{PW>zB={ogY zxku;_>pr6nu_KHdDww(;*_DH&rz(InNEmn@^VmeF0Do|Vy$Pe8FroI#BBH@82+-HL4ecwxUIp#9z%hBp29 zP2RvB`4Snvo2Ty`>p-F!sQ#$`Q}xt`f9OX2v^;U^dA`5SRF_46omJK_{jl->7LET+ zss37hYqGyS_vci9J?b{~*L_C0t={d3FxOvi>DFKW>iX-f9>)I_29@z2nATtON!w$8 z4M4e``fCLl7WJj!r9r=peEB!VfAj!)=y+!B4ExdXBe2@^4LsZ%h{0I-KD=9xvi`fh zZ>s;U_>ubW!9K44_Obr!DS*KtnFzf$k*U|lpG2=6K=)ssTP+uL1CR;{`^=H|$ z%cR88uLr0z%CWI^m1O^2$w9_QwnzW89!xKy`}uvBIQs5Nb>AW{glU<>h1T=XkWqE_ zqs>Zt&fXR&TFnWKNYUHTN%UN)xoFQhw>3;c_1ytmnI>1fCj$Sl`ZTt2_q@kxR`1fj|#q#11!<|>C0VU zMZV<}!WpTC@r9A1H=_5TRdft90WOznR9y{G?f-Gs^t(#6T+}83pXuN;<#gzOw<))hZr@QuV6KZ@Tm{Ep$bl;2Y38GAL) zxPY>lS1=ONzeCY2p^|1kxfwQNn$epyHqF?t>2+=UQ9VsFN)MZ6yvb>~^fZG~2jti+ zBbQl*rW4&~8Q6fj%`#5?p4?C%e?kZlZi|9*X7^x>YPz+?qUs z-y@i_M3#?!Z@a*hT;U|gOsVv6_o3-wdM%x3*I2joEIcp)IXpcUbgfq(mVT7dQ`t0p z3M~bx7u2G{Y)t6Esij?zl9Q?4_x}SPhz-50Q*KAv{WR}-%?i$#mWPI~3>ABR*QK5C zpMc{m+$HeKCnkahTyI4uQ44%?MJItZ&buUQ8u0EFodj06|B6n+G+$b3?Jvzh7ls~Z~Q#z=Kd7(F}tj<;rQz~<%eIqAG^4L z#68}wI9tzWe(%S-`{%0^zjS9t{EF*c{_E5Eujt5#kNWY!blEf6yLinKZHYF26%GBO ze~-Rlex%r%Rduve%=SlL?`ln+!;WA_HS0E~fh&ih@34-)JcPF&m<9KY%Yt3H)WLia znV&&R%YGn}ch0|gP;R1tNxFUsgrc;c~sL$!~g}_jdXt-+Pr0B%qQNRG#JrEpNeJEUULe&87bfxtNhWWEOMKW3T{F_&abBV_PUu@i8=vr-s$@M;2Vmio9tIt2?cs8gm z>lNWH>AEGzxM1MV>|CYNA9;TYl7!`*s@JTXkY8weUj+-((jl|FqyE&@HSQ-|dJ%ZU zd{8LDX3u{|{*Nm~9}7J4G93fJ!M{p7^VTV1Jv0kEVmERr!baAY6!C~f=&}dPp}qg! z&lPdCMN}svBtgBHB0g^s(~=Pj_K; z#0O0MeMUjmm%vAVTPWjntxBRuT>i#&#BStXU%}Z&Z%o8JMb*9LWf{#0Mdj zD9EYLDlQ(OuEpCEyQrV(AG8sTLoFdghd2FzD{~CeJ8>~-)DrtxXGpZ@LzxqQO1@dk znPQi*-o$R!;uVR9faB(khtAiW|NdZ<4bW~2`NVT*JtWCa$4-?e6tA|6a5y$;nq=I& z>SPhQ>NHHuq?@R8wQlh$$&i`**V#CUWtt5OT7&U6AYtI5=9IH$@7&K=$RBX4QF*tm z-FzUesg5Zr3BQkh?S-RIhht~{X+L5hpc{y0p22z)y?%G)^?^TEL8z@>e4O9iHzsa^ zfa&>Z@}jt{-dP5*>bXRj5+v2Q!7dB-ASb{5`!SjCM%-4- z2RkJ}&<%1JTeX)E>uTVUYTEI^PA5W^*t?_#qDW$-y6nMD$qGItJgP@O*eMCYr$k2e z=?`{FF7PQqQGI-ErxOMXB_0BoELQKrzQ($Cc5p$d!X8$7zIz4gj_1v_H>*U~?>jDQ zVTcqjWwDm&ol)RBQb3po%!jzwahBg>mjvoQLsoUw@hlFiecRx+q=XODjYi7aP{vjQ zDf4Subyd(Pxx>*IFb2bQ7r$qR*rAx46{x!$5leT=K~uH9D~PfZ>R0P!{3_oFug-lS zy}bKeiQ(u{xh1#Wx6J#~r>$q#w-|aGy%wQ|6w0H5HG8RGlnSyW_2DpT2k<`;-}bHnZD>F!rl2%`Q9l?82&_ zThD3hpIldBJ<7G#>ODTCywa2Lop*_0m<0*W_9cx_+-?5b19gLl6%UNiDI(+uo1yl5 zPavX1rd>!yQ~KF{r%XGTdMf-Kg~NdPFyI6jRsf(i_p*6+oMr^7d*P6*L;b8jCfuNH z^&TyBNgpOCMV(>iy1@Gg)P)_T=6gf#VnU(Vut8LYX^+aVe9P5s6Uz#(_w*9$ zljwsys!LF*`n=_3>Z%Xy)sRf%n zElZ3TqhVdB5HiX{wRX^$RP4%k*sg)Ekf3+(K8|(mIlUw|l7jPFR)n^}{Dwr+g7`&` z^|{b6jO$`!u=J`{L(Ea7)n|YtBRbH%Ek70M+0Z3tRZ@I)(OgMWC@_Ifka~e?(GOYK zc%`_@az{9BTzy$YoLuk%QzthrE7192BkKzyw8fS`mneKKD=rphtyD zUcYyxYvfS0&AX_?5$QLKkpjH`nXWEw0~{5o|CKQxlugWlHa-t@c_+9G^)0kU;!bjT zZ~g>obgWG5whT;Nt)p%AUSblchCh#R+lXsy`iu*$e?|HKLs_D2iSsQh^_2atRQgaz zVr={8Nb`5fNRC&`pAL8zf+BG1e*~2q?q}jX`mx>|$Yfm3YT~|nD9bLFV^1(SAE2>^Pj|ukQhg-?mz)6%Cj_#}78sJ8HJisjO6*Rt^5O{t-fBs9#=3dk}_aeB2>C=GX zunJjE(ow;{^ZSDR_ZyI70MgWzgY$k4_0wkoV(0t<&yOv+K!8f;e(g{os{t~?0Xbkm zR$zxZ1c+hs&wvP%f=o>64hQmyFv-uvU@PIl1)qZH76y4Nx|N3;dr!aA9Z=4+59)9| z(`@hRpR-MGKqC?t?59oqMf+QFZ!6GXH!J> znuR-0eEF-fiM?u<^x>oc$@iT?y8XS2UXICCItS^I+RK zmd=Z?#)n%(287x5AuQZpH0M8-eNzCwz+pg5wsl4-P$vbPqf-dM4)4jI33O$X1R7g? zDwuS=i?!^R+wvhR>Pvg1s5MlCXGibzpYD`Qn~O=D+}m@L;1%4?D!Kc-0?+s5ZbgpI)IHCb zHulWq1T;|hXTFQq2Lp@7o?;sWgV7D%*O8nOx)%|rql;Jbt66CFI_Si4AuJ#^%B!F0 zni^*nLB+mb0eBANesARV1+koGX^^aOn1!nYj|?L+cIWxZp4Zgb_uM-N1RnVcVd1H9 zjqcL@b@*JO9UwB6o?Xb=P~HML zH{3xtK0be5sA+SK*Y?o>su2u?n!~7StW5M@!c3}aqhVm`cCdDP9&_xIvqQBb(J`n> z^kg*rrMXPkwbwg0@W@OWNh(Pm<34T(HnJhgJ5^kVu3tb^Muws%vbe-3e7&aeGH+tH zNLwt@=U3$?H1yyBDpL@sZ?HzI;ls|utBR0Pgw-t(LrjD8zWH?K{0_rqcgVU5O$`YR zvl3$f=#~68h$UO2{sDs8a2L1C`x1ggE#`cEeb>#GgnZkt)AL99k+1s&z}&=nPwK2m zKHMYLnMxcpp|NMO11eA_1D9i*PuYS$=O4WARgQ6FyAb1?AZW3&VKTqLIs*cA+Bt07 ziWEIgAYjvtUMc+&cKNHw;IoTvD1cqWDfhrBh!*xe?=|_x1#=zS_`sb^-zHqfBi^fS2Tm6sD-%Hi~rYR*%HS zUR1Rq-PeWGN%VDk^i_7`WurHMtv!5RRNM$qfK~m`pLdcp4|azO!qJlpA?pCR;oP$5 zSM%CNBTu@u``^;-j*g%s=T!lf^&?s+Ie$<)ci&7}qiPA?pqr%E0Y&~Sz0ebWgL9<$ zMKw1^nKpViAd0NHUs2Hae7M?lne^vQi;g|BvTE!o6nA8MHtDF^P{wq*_A^x4g;t2O9OfCUzRnIdeKfZJ z$4>sa6ADe+#?)>K^j{UIm!nLDtzhltY=ylMsDHu_<0KdSosKiy3k=}z|3J)Ds)-%t1FjC4c%bgdcb^89rDWr6m~9pI-s z%MVkzxqiB9GScPv>FNlpZ4DH!?%x!se^v=<+j7}bAE8fK#;nqS)D|T7K_8l9{#Xoy;~}Nj9D``|VOE z=b49Q{@_Z#WE~vrsbs$a>uj2GNXgG6Gv9xNlKqyhJFbV4Z%<}E?+7LPEK#?e_(ReD zTrzX^5lZ%Xr_Q`rAA4VU>aYWv(+r&G0uqCG2_ z`Jy9~?6Ym1owPj!?Q@fv2OgnhpTFx0dMLS*W2wlBK>bQ&P)~LCJ3?Itzz;>cDVh1( zF7sh^_Ipg-YdvJHOJ=^}2qpVntL~{DGGCa?e8Le*_WNMn13hFuDw+A6{TX#;N}H2U zccrt|O;WBWlHHIlRp70?%qP?@$Ye2zGfBmH{@CbS-(ntvAVX5Ld%sR5oI}C{+oMeD zOv_($eDMzknVnwnrB0^$%e+KHzi~7de0LP#)2n#(qT76M2fwU1TdwH^EJ}zj@p3Qj z>`LCp(9q|b?*ujC9)m?=2Cu$? zXXPRwKM?ZDNOW@3!QPRn+cib{W^Qucg!6a`=a82ST+1pez4pEVsuFm38JXG0pIvoZ z{q{N2p;jL%9kl+yIb=o}BDWY$!X^k!p9yO#eHZgla7wOitcB~w}GB`I!n$*cO zf8X&nk&#{8w|5!m(^Lq4*jgFqrQzU+?Ou>FJ7jEPmu(460&IKM>1Uunq_Ay1{5o>O!{(WQe6p15Ygsty^1eM&TmSs^591G9MoN2PZ{tq!o7eQXtkB#V zyqs2v-N`b4doUXJzW86Jebg-mEHjA8YXfs1;WhZ;jXdXZ%;yEbV@$=^{caiB%GZ!v zRHDw#GO z-py7e^XvCiP2iF%4tBC~qxln1H-B`bYIx&p<>pXZM-2#M&5BFTupU+YVp(i@KRl=+ z!JZJPm(Tb%8LnfM&D z|6KV^!;u}&RG$tWRh|{>cr!SB87J$?=g!VzNw~eJuFHFLfWT5rNsP$NPtGtrjMV7m# zj`msd+KfJRf6}bilkK%s8*J$C(N!2XqMh=+mzAi%v4G#-yg^L+tX4{u^oR7x`RUsq z9*LixIQQS=r;tE>QhvHEyJvn{-F1u&j{j%)saZ^6V?&ake%hA7PvyOi%ug>M*Z-IK z>3DEC5vh4)Q`)uch;7nJ`&|57cRyh;xygHxb2Z_fH9Yqnw~f?8UzG8 z>m6<4_S(>|%qz@TMMPr1E-WByTwvkMjQTO}y9 z1Umcf{YVMiIocb6M$)lS&ot_ym9=|I0~3}<*|NR^2VH^MHDueW8fT#1cFjH5 zERN|mD%6lslBVu{24a?R68G?%9FKJxz9QNhisnUM4mVT|!GK?xx0h8OyqIj-%efvL z?`1EqZQV;7-+dgv#e1S1*orF}28=0Liks;#-rcVHC$eosNHIK*)E!-OJjz8Echag z-qrSYk{{i8Zf5v!lqEs-ud#KOJ2)cdLNMQJ2xvDc+b$$;?2evicu^t4g_`yo;gWZ# zLsQ;QuSE81l6DrY#S!{xdfyYpa$PYhHl%;a%0R`+hVrxNwF634a+5aR1Kq|!@9!{H zwES#s^cdW5IUBUcB6vUWe#vew^zQ52_PCMIg@vv|ZP&hk+3OI+bYNwxRZD16A zclvoBQ<0vAT_^WUWW_EQE|R!U{nd!s0LKsb%;jt*Vy8j7cZ#9n&VmJ(mAmy6WzcR# zWt(o<0(F-{9tvX=P}A%coUCBU+3Za&dy@g1od?xar#^_I<3$r2u1MNbp@`588bfbpMjT$6Fbsw z`?2vop=F))eJgaB)O{=G4m7UuHiL&4d%CPPcSTCJYay6*0vt);E?EW*uK->pMa0;A z9|IzeA-Fe7Ry^&b-sqho80uCyI#2JF^ywiTL{PqYwDHeEUk~5j7MC7g5&f|37tFgd z`?FjS--{}Qk5Rmc#_r7aKJ~Ce@~(#RTuy8?%tqH?PmGpJ8+zAw&G`cR{|7X&)uVr? z|Ht9z5ZLWyoy)~Me16HY>P_t4!;30Qz>T^09UWR`wxZhcxvT_c+>T=Sa%52jJ{z+F zs~%Gde=!3oo7QKN`bs#;Wk`}ks3|fQ)IDS@R4@P3SPA3}nlWQ+VYv2zWqa}IiQAIh zIETXpc2OKJKb0qmI2*ljt~_@Qp*5*oN5n2>FYM9WFwZG5(^2pl)lWA)bNN!!2j_=Y zZL7Mse#M+{d2B*wm}|5CLZSMr(W=$zaL39pN9mLOD$xfM z%h-{`W%J>Z#;UjLw@1I4%k_-oUEi?vCsClRTg$55CPs%ewbiESVRiwxVC79g=(a6C zWW6VIy*gj!sMQDqsK@E&=o&7sL^%sa*Ji(q9nAaOw~YFMx(`TW)Cl2$22)Dyrt=wq z3*mAjY-~VpE+=FUyfzjxDb@DSve+#gT3v!ghU*;zbN@y}Wa>H;w%*~U%{bAVv_pQX zBC)%7urfG^JEXp#8>MnDiH$uWQo;+js4vqwz>-zmO%cp}6Db4K+P(RKhi=geJ9-#J zOO^*NSdKO{I6M`cQ6^T&X>)W)2lk<&<FNxG@{@^?)NEyuq^Xl-pFXpP38ya)8WSNP@KHx{t^OuBCVELM za>CvUuGi>TRosXH8;5D{^|pQr$=R7Z1h>H+7Z)wBYENuJMyC0(es$7+VqmWPyvQ9f z93TBhkTqshhv*tPxr%8~T0_EUe(A#AT1Ehz)5UI)zk4nz_pq7tjg)M0`-kBujiU1y zMG={t*AQT?g^=1_rpt8@Nci^U3>Xe9#uk=iV#zHp`g`r>^Vxca3NKC7+}r+?7j75L z#>{*#4m94>^(!SiINY|hH1~}_ot7PgwfkVXn|PBipVUP?sDT%*(yrrkiK#$ctzaKR z>|UCq9~b7}9W@p-M{IWT^UdPb!BrdrWvhG;X?S7mWOh%_$jO7-V7BAgmj<&n-Q8A3 zTY@uZNWDa;>~KR~7<@Mq}v617yM|pGn_lq;6hbFEh zEf=_9Y)LE!MdPPnEUd#~P{!d4e=&#*v7#M+X_IxDzW{>cbCQl z-K!Oe%>ZB7kw<8KKqsf3aO(@p%9iZ~F}O|}rk&F}z!J!Hxm@}X*8~v1c$%uk z?#TB-+d9!J`jz9@q_bk`8<)f?*Y3qkI_ER$ceP7kzlr#J#W_6FKY|3#ia_FI+v4_g z4tcuE_uBnAfx7R)lePPE19gwv3y$e#^O9C=qigZ@wd&yIbi+yEsRxlkwd9gGdEc^YKY$QNBmts|gQgFO~nyHhHX=%6&FFd~d$tlBIa_J)-~25ouB< z?R`}jn`hfp1rMzq-0WBI>(}k)*d%xxUni!brNJMG^}Ez$S&2XHuwTEiAtdb8?rn!j z63>*aXIHdo)#K1|eL(^shwoFOaseuI)wY zWlo|yqD$4qymn1c(OAD*djPI{50=64XP|C}y#%Up7N`4x&I`pNEHb_Am9nCM7CnG% zKFMi;?Mw|a%;CP-SU|jn`T98rSxZqRgs0^}XzBrP0qbYjer$HI=7W-*m1n?J1H^RK z`Pu5A4(rnaA;1+~4d;2yto*ipo%?LheiG~;SC?0uOuUx%=$81qAe#73l{- no9! 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Π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�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

      d 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%0A^g^WEcE7X!Pw*U(56;}9KCntMykhX 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%0DQ+ADf$<= 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

      0tgvMB} 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%0AB@0o~@pxI^u|I;y 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�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%0Ac}NQi(HAE3G);j)>67P%Ad}pqzuK)l$%NM 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

      &Q{$jpSrfzEZE8#+&Pp6j&gbm@H6A?ot$ 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 z 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 XUvGQzq literal 0 HcmV?d00001 diff --git a/openssl/1.1/lin64/libssl.a b/openssl/1.1/lin64/libssl.a new file mode 100644 index 0000000000000000000000000000000000000000..1894634d532fa65691af5fe7b4caa897433ac770 GIT binary patch literal 1038556 zcmeFa3w&KwnfJfj6bKZOpr}!CIBLsiuytP4h&rG84(}L!y)+iJ-XJ2<|MOexS^NC< zI(q~9*BRx*&gW$B{aw$xKkK^pTKmNpcMNs*y!MpyQqiNHZtXSyPoU|BHlss29R6wJf# zQwx6k-%smtO{|Iokht`91o`Gsk4^2%L7?C+oR!O8A-|0jc!pWt`OYubW8>fc=t1*iNr zzi&?jr~Hxr7H+&N_`UxAYF)7KzwvkKu8V`;`uELa!Kwelztc9I8T@zsss>U)?C&2x z8C3lV|EkyB5&TZSkJJa%zyIH*Emvl`GsDAu0j>tJTm0)x=itCVwlg1^Zy4$B&JIB= zVr1`gTQkGi;o;uFflP0gu>wBaGm`Hb+%gb!<@<&kGF{p3j*-56Cg0ni9URFk6~FbW zvoG5*lo`r)W_vehyE4|ph}m#r%u^p#I*0On-hvow{KpJG9l@!)gW*=<3LKl*q6~X(-dV!8yMqlO5}ZzPG9MsJryZyTbwY7>qO zXNNY6hI($r(Iv664Y4$8AO3Xq^+FFlf8ywpSlNbH8nutilB7^S^e#*ZqYzQEXfQ(y zQEco*kxG{Pp4rgRl|g!z8%eHL&l9E(LP{ZkNqux6jXEltz74oyk(KxFSKjVCi zT0-bKtl@psYKUWPtDh5!5*{G!%lNtcgR$RuRr- zM_=DyXNOcFQQSMwE2Tc)k?-w3)dAp0QL?+J+5g zY)Tln)w=aZ1xz|Y^KDY7h_q6j(sl7YaE&5VK;o3W0ge2I?9gx!Nj0M~5i%r=T!$1? z4@x+5*@3R!fsIiU_1;7*Nyf$^*18SeP*$vlspto5j*!TN;Ltn|{}8Gk$0m zq0m4EPCt?P5NZVJGDsc{Y|QixO5|ZJf&=5TaecsEN2A*{h(701t1>KLbG2kUa&HQQ zOA)8^k!VZzPwZ}9;uI=k2rU^BO>>o`gnDV_(rZ?&l7eC)EgdmLC4@E+nK(T#0TeqU zIq?bFY82T<#9~#_GHxY@T>=@k(vriDs7DdkO+Yk86f`9+Xe@3Ib?QbCXu99)X-amht1n(6A@m>rhrkK}TLL()Gj z38;xWX+t7i{EgX6XK$_t!yzcR%G*XEvnjhZvq2h3O*5Ov9z^x&yv2yXx?mclZuvjl zBlSTTQ%g$s8mP_=spVaLsJS7c(%SnLHf9IVhGfMF8GJ~fvzzy8kEn5W2-Y*hl3p$;O7U=2f*a@=kEHrkNewHq#-^eT37SzOY1$TZ zMO9O$^aeIa7b0T@Q`R&;nu)(aMTD#>2SU)GtkkmagLgG_H>xYNp&dw49#b8 zsl+>b2Bj+&2|Sz_l18Fa8uv_oYffDb2Y4n7Ly`|02lKt5$`H^d+sK&;!3NuO5Y%#q ziHaFXb@XiD5C8M0E zt??if2FYw38kEjY#F1RbP)9!*h=Rx<-pF+IWb%U<=hRX^12Hz1ifFSbns(%B;){wU zTGVn`ExIxd(4~V^D;gcR_Acqlh>MvuE7z=Px$=sjYe{e99%jg|?5M5d)}3E}VP?(R zE3aN@#=E^;qbA%YD^)3Nz8ZBjmqvvxblPg~x-?;oWhplGh(xbx*sOps8UIC@REa8Q zWJ3A>`{b5{^-d`)|& zdT-l4BzbnTtqA&U-BfBM6y%1wGq^+!TNg%TKx3zbLap!(%A`#SNbgCSFs+YGV*|Ba z-qMzqPFYuWxO1pCmzNnxn{yT;h@$S8nDnu!{>cT&qk*mt8A2I@E8A9H0Yml97lyks ziqLqJ{E`GFCm|*M`}|<%U|-k}p|^wms`*ef|#Vyx97(q{PxM9YUw3RF8^aSMP9#Oa!}Zx?)wP zQxw@IrM<~?3~k&TC7V0?Waw|&|4g}dH;Be% zyL(5=9THuMh0-981}m?=S}F>u*Wi&IuMG#T5SV@`tV7*K2Bdq}J0LyJZW#-d3Y^Xq zLxf8lQc`-}#%D7G>b8M!;^9*R(cXbP<~B?SB;ut93K1h$YlK~rl3Zvt$*iYiSo**+ z#f{;pXV1Bt8yU)BqRj<^@10D3Xhiz#P9k#Gkm(szGt`Etg0V}g=|-sD!}Ux`b$nL#d!dA$jP5ioXO zhUz35#C~W#YO4@ijYQ|rAnz7&v#AhDc(-WxhNZEUA*pkqJ~OnTcd&G~#odY3k`Zn~ z6C_+3$TaWTojB^sQ5li3FKXGcQ0m(!#J8G zqP`6rFys1|(r6|zr8?`~jD{aW5hHD$y!muXM{gd5x_fXa(=ohN2Kg@JGH$d)veZ^X z2%sHW$S4A`5tEp~t4$DTNl{d7C5rSgUYLZ*+Ugb#)7%N>21cxx5^dZ6!-WhyOigO% zeIm}&CUi-6EROrv(tPH1PKS9-hswi~G=mmiWYhM_Ks)`T+94h%dj z&xqV4j_Yrlq&8V@yO}yE5OudS>~ZCX9ky|EJ=l^g%8G_K?2p1HnLm-|$zcGTSN4%m zSlJs%^T-mYlyN$?!#uz3JvvpEj#$X#QfCrMRWO26l8~-WmlXDV?=XV0!8qa~Qj(H9 z!!uc5prbE0U_G}f4yS$Q95X!Xj6|*8%3H2#CJ)*%UnJU!qACrs3`Dg&#T(hu6b9Yv zKbVoX)4i~VW%RH#EuHHa9^O)x0IraSrg*eHgvaZlXULv1u_rc-I)XHdcOcdzYB|~W zSd*w_mouiG)uzUkzAy#|1T_ZEj*6EW1ZQ9?ZL3GH>+VfKHg)pw&}Mm=qO;Q)$!JPc zU}ISPtoB=9!dK5K`lZ;X^#(wmw!33sDpyB%YK^9ED>5>wMT_-8?9@ zO4x0My;5&hx}P!!95KWbaP=Ot;ZV+u=dk#l8OHj1bruqXZjIARTcTauL9p0k>t=dy}okbkfENxQx;8nPh+k zzIW>HO0t#@c~M3l&AW)fk|!XOJWpgCP8z{|Gw@P}&C_+61h9_7VHA_F@eH%7oI+L| zk;gOgqE#pxPc<=g!q}yS7E_`+jcWR>`T)UcpEDA#@wCT0TySOxj?S=#0pWX>us%a} z#xYah$a`2a@x{p=k7d?W3XlwBo%ogxod+?_4-Lulbao{#b22hd9jPP{fjEwU<3*_4 z@FwY`$n>j>oH8<^wCSB}0-xjU_$DT3@E+otO_89vv`aE~c3qvT&rTvyhTS-GXII8C zc&2P$>Pz%JS<1O%-Whu`XP#83e|Teg?vz27E(3!Y#0-!0V-y`92?Xych&dPaNufTy zj0WXNWH3z>raZDb!L5iKf@dBgh7U}kuAm9FL!C)54_$vMAxQQePx0g(A9<6DI;thot-jr)`zc17z<1q*a2Di1UpO@ zeV>&qxi?(lfDX5!*1|_SVSj>yVN1qPR&>|)!SP0c>CcCLc4aq=*t|!m-PF9iRIoW~ zhmlB*7#xv~l)Z?Bh>6&#FS*4vsMtv`aXA$e1QPJT&-1w3W(yNhIFwv`)`7*q> zr9B2;upWXYwx*Bm-U2e!9A3WEUbs~+mub@LLXJdqOVb_W?T8ta17Jv|aMg1W5nt`3 zm>Dy{Txtbgs>%XlOrpNjj-bt| z0~)DIfS~9SMcdEDgGVHk%wLb_a}8;IyL(F=BfW)?d5pbP1{3naP)P_~M1NH5u~I$d z8#J%EqQN8t46a_&+-8T}uh%){G8%O$Vj&Z8E5@M`in>BPbOH+Lg*D7CkCz;au~Z6_ zGmL~e;%3C8+|{UYSx8H&_YnU!_ zXw_5#%Jl6Mh{yzoZC^A3nDx$Xj@WjAlZvRpPa#xJ?nOh?s!kRWcp@GNx^pA~;X*j) zr!`tc0Jfe`KwOaSkm(|pS&YF(9M6cuX9O-XCgQOsc=~2*^N0^N_IAZZZ+8|6QJSN0 zt{VRmEXOpu&Kjcq1jfcydMKcyBeLBP^K8Hw8{6nYN1|imk0(Mg#Xvg4;aJ~TLitA+ zIrqVAn%K36ru`KeR}5@lhZ{U+qD>{9ylB@HZkL;eUU&D6$VgTN^o1!rzcvf16dPf3 zC$tQ66L^%p$Wt5Ph(H{NLs~B5tRxu07F>+8QpV$^Azhl5Per;M&<=^IK*<~9x<0?d zG#wcsP;5)qK*_r%lssZA@3Zx0CFoky`L?aG>k`=q7EZgw`35a6SOXb8@Nwo6vidl4 z7oo7r_GFqs++UfTeiVuG|@-GPux3BQ9BU;-?+bL`bIF4tk@|4p;EXa%l*Qhxl6dhl6k& zg>f*}GHk}=F68AsJM%O%lo&QxUQU*7UkHi8-H=OJ?HL@AcQ4UUg;X7uheJanGRO|O zIxVxP^1x|>OqNQOWy9b^JM)7GU-+ap&RAz)O@$w0TdG+%WWbu67>VJbTpX6AD>6YQ zZ$rpaRvS`DK8=D2SLr#qd7C?4#x~ZjeTnnEcOxG1#oIQoKS%<|A}@I(D#rFeE;dSN zJL1IANi(aDW1Pz7%{%WJ3BU4{($*5fO$S~S$nozT8 zxyG=m<|QGgK!if&Ar?^_;!bH8sb&x=m6V89kVG`Y$$&DOsF%@Xf}HG>R|^OGQP0R& zN8S>qdpwBcdt;LUUdSuSqdt@sQ}%^J#%2(}0CHg)iyozGg2S*F)3ELHLY-N1 zGK#gSk2;1X)s6_vs(rFsQqtHO)TWoM#O#Xyu=XUQME$iEwbmpHNqVau+1Y;WEPEjw z)>_caPmoeut6W8re`t36SwsFYQY{OzS+wiDn8&qCxk#}(#Y;2Wju%V?Q zL5&AFCu_0&WQbLI7cgHqI)jxlb70YmFShzBRsP1h)oAy=7}0n z8_se~@Z6yHwWPu}spUz8%Hi>df_P?5Nqk(^INDG?S>tG=qKf3XOv>b&3~kNH7Ar$| z#UwUguOr)o1USo;8oht$xveHM&27{P8F*aq+(Y$QT z#E!2@O(mOk%R6Iz5&Pn5*1TZAVsOHRhdDwlJbb_yaY-#D7;fs#(OhlBqJ4AL#?__) z`w3_5vlbncbPdW7izOs^&E7xE^bxBjk{RSi?1Wp&n3-Z3^s{Asz3&N(Yz8}lXkpjZ z$b{Kb{!+>C3|tFF?@>h^#dQ2&H>Y6KTpfTyhfhX0N@{LKa(Q{cG%PP5%PON75j#kG zVi}q8%4``N+7xHMr0o4tmvn6O^2)ZZQk%)+Cu3|k0l}&Z%uboj4LG}PWvd2SN0yS- z*-!(TpN-ff9&N(ZU79-N;e&JC%m`=;xM8qsYnj`oFv`o*CQob(IVbFskfa1N&4)3R zV!c%6m9bZo@lsz(v}>&$`f50__$1U zmR**j0>YBl=(LD+E-Ou|Jp3pbxwi;ol+DE5cie7_(bFG3e=@J{>AHFG)o7@>9kxzUhoGDK#=lhvTc`<}5azLJUpHR}OTK-k>mJh%BNwBN z#|RkLWQR7h{@qN_nRg#xPurAIlLQ!(_C7X+yk}@gpTtAkM`hWyG?Yustdg1gH?_Yc zzkQ^E+7xm+>Y_0Rs4djaEV{HEIqXa}$Oaa=u+OgA*V3xy;WG!b_nOq9jw1r%jy%&S z#nt+2*Z$kW=%ir+U$u;e)vbAl)&^BtdGq94o~dIwi>y1z_sG0_XGv@EhLd)pJItEP z;h>}%o#lwDtW17`sVrrO3+%sB3bfm00t;huJslB6WOWmZGK-G)C7;-CDMXr(rKY3I zhy&#<|ps={=4tY`%NN8e80$eY1O{v^(xy=K5@-7TljNK<}($)RgCf%7~ zZl5ce<;axvN4!3!bF{nz85cC|4^gPh zjt<=COkFwi{SR%Gd zQwexRIVf^gLk~WEs1F*^@+2r;SPN?Z|dm_WHN_?)haMs zVj8rZCAL;_#n2EV z`DDsS_JixuB(i&C*y%ajR1*Jff5MnbD(k z?_`^#EwXcyS+N(s=V4Ue7t7f_BjU^gxEba{*r-Q#_hJdHA)*-qH>3lLP6P)pFcIkJ z>&!IcS&^>XH}yN5EKRh@-4&5LnQScWW#B9T;thc?SzUZ0(%}PkaWsb|o3fc@nGJce zXZA!bGtgMr)Gd1l)_K?|TZ+Q zpV<Ncgzc38^2vMG30P#s*erttH0;T!4k zhboT%kN>(Vzc4+1Z)L;O^=~@RJ&`U3>B0~9SBX)&I9daf>)$jB$?od2RtVgFJU@KR znsnjUp%dw1W4dr33{EgkrVHOP=j~G?FHY|~A9mA)pX^&FXKOBQP9n_W;RFdUlI#7) zM|h8m10d|BG+8t{nZUxkpfblP)}xmT0*+A<*ftF7_X|_$&IRvG&%5XNcTD(Pxc8rG9W)m9SI`YYTR3w4o0``* zzp44n%^4fdmg1_K^!BOzb6SdLENZE^wl;m?boD#`QS7x8uB~kuzbO@rY-)J;=x3_W z8WR}oKUw~{6che;jz|1Osvo_j`mClP8lL&WXE#aGPwbbk%8@&>*9wGugUywe;%?_@r73TsnKT*uPC%P9`pY?~#kCV3KeyjXI z{9WQbaekam`7yMilowkh%|9o4>gU5hxqOJG>(Re-yexlahmk}seUj4gio|@WzU2ln zi_4oA2p45{Me^7CUL(=|d_CeG79CN!Whl*sZ#6uun*ZZ4Ww?AInOrHBc&B%sChi2y zlb6WE#9RE#!{&@{k5`tPPHnx5m|IIt9Z+-OwiPFv!#Ot8&!*u5v6X|)=$7f7= zZ0WqL^5}gf|66W;?6{PQmf~eKH~q`%!p54TdyL%b?cZ%JJW{=FfjDLSH*q~$T)q8A z`E9EUBZ0Y}9W~joA_yd4)!Xh857XQKGoO(ZYb~r;WUE+PKeiU-9+l)N#yNY-V%w(- ztKR-x6M9o`no3jZv65rfp3TBi{*}z7&XDZ0E^Vt2mrOlM=7lgjOV5P)2j7xsb5-(H`TNjW?Kv2 z+20F^NFKVXTGG>1z@?Cv8U)E0n}&r)Bn+KL%+2^*MfJ8jq#)b4zw3>1IX<_bdfSK1 z#YxrMZB8aJVUcs?RpM8x@k4=_eW8}qFdflY9&o`o=jP&dq8O5G71i&Zs=jlou%@!5cwJ4p zu%<@NwQ{bNb4t!BIg5{L>ShDuC8d)MP|5R!;<;faZ)`i2E*zOX_?WHFT^go$iPzQJ z_Xn)0n-FnySrxJr}9=c47Is=lQ9UhIK6AOPsl{;g-5HmPs>%q0}T&5Pc;8w zE~-<#4Zf|uXjM)1wtti>N&K?xc%-#(k0==VS0$2C&xn&HVQC~KsjjUzd6>Sat-g9& zqv)Mn)m3k6lBQ<;^>TK)X(AmdKai+0lCEcE z;xMws72#5nP$@w)XFmaJPgXZKOwIo5qX?~*D`Rs?ifbhOjGwdrBslFlVHRyRI=&6b zii#Mt}hwbwKket}M!)hJicko;1yxw4?u%gUA8zblo>$T=!JyAMgXzaI{3uTlye zDt+-_OsLJ5qu&VI%Z90=Gfq^lzi#`7Ve>}bpRY;GVaQAAl76FYaU@LnS~PR$7`yn0 zn-8G{BR?MG{!FreuPTr3OVX%AZJxrnXQ^+dzkBp&?2lMBX(ImrAK$-U?mtPYwy+Ji zcZCDa3RAEANqF*f;jSRGR}V;4Wn4UUo$&Q2eCMEQ1kctpC6E+(s^#kWHuB=zCUw3 zlLCK;6o8ukL66IpFMmy{?wSpz6HVs6WRVq?Xh- zTu^^OJ%;jUXrSi3_3B{WXwAGAo_bQ{gj9~`y`QOO=*|btRW-NFZ?38xuV|@CU2#fP z?eeOc=Bmo&3)fWDikVyn%S5bA?G$ld723J1Dz#PYtU4f)U#P0QbYV|b<$*7xt5V|? zx6EH8qC3>y%W*FGwYnmwvgb=F+cJRjxuG2Y#IiKjg^$f&D^S?@+(q2@gy0UsshHM!J~7dmuQ$XIHqWJdW>5tzAwh(Wu#D^DNbiU6q^J+g8OJ@=2d35er668PUF z@Q)<$$pn6H0{?0P|8@fZaRPrNfj^$WE2RL$rNavncwGX&Ac4O=fwv{__5?nhz;90A z?@HizB=8R>@Xsdj`xE##6Zm%$_)ik}qY1o1>bJQ3IwOIflfWAi_{s!+RRVug0^gXx zZxsG4sUg}iuPKMCnQu{^Q$A))gW%l>?)*&x|N8{~QFZ^Ax^LPl@#FIe@?TQ>_2n4`qz(YmN}YdmuO)Tl!T3JZj1Xi(8jB1ewcPue`LmHFM>vRcqushHINI zZC#l$Uw_5JKl98QUzhFFXJ*zJJV*_T%+SbaaX|WZ)Gc*rUjYDP` zwO!AIdpw^DpR(ErN%Ul$Bn(TjFfV#VwpoUk_8ooaOw>`?_C`LvD)xru9YnktW1cwj zYB{8eeF-ddScCpnyz0_vzk%yg0lVwtWy+GDc&ErXia5w?TX@}GmoB&_0xrXSm*u6^@F9Jeo{`wWaqRhEtYNvBdE3c|nDFs-&(mKw?i7{)7X zXBd8%!QXP+*$mShz$(18O z1f0KbAdWt`<69H>UgE4*2Z(ceew{e_^v?Ym;x8fokaC=mo+`%IM+XaMV#xO ze^&0t>n@V#`p1pyeEA1Sp40y^;+*~`>5vWa;`Bd*IH&(P#9u|}u#EU(;#U#J*w>}o zdgArOyNEXszkxW1|4!l@&MD%H$elyPmlFR5@s|)kO^4)2pO+GU0ddT~xp*xi&iN5@-Fnl{mKxe?c6Nl%2odB+lvZBjQU)evbGB#81_ZKjQmp;^z=&cV0)F^ z*7F;PV{XHR{|@4u@Bd1i<-bUr%hw~sFC_Ob)Ts}|3v)Wo-)o3-{@$9vKa{}#jX3A~ z-Nd<{@E~!{ukRCQJ%2>GU*1pGaTDUj^j?^}p3CwGR3v%l{o-bC{6CC>hSk~sT&R|5YQ@s;HMPZIb7?QkP~xL&GG;ERZ_ zBKNz9zmj;Kc$)Y)arXDU#JRk`pE$dZIt>TH|2+A*eEd0}9N;PWIsO5v|5@Ke#2nCn z{Ps})6$XxfRk>C_A)isM!3_DiuqcO{gK+K`0pafXkmIgDjkx1*{Cny?>JS``FT#Z! zDf7R?cd7g$k2h*Rug>FdQhu(-dz7Q?#^LeuOUJaPHiz8PaNT$m>+T&EwyIV#u-9oRgyvO6~mG^nPUU|;rk7>J}_xK*=qaMFq`Hdc*r~Sn-kFVGGZu5A%@*N)UQhuAq zdz4RjyifV<9?vP?#`<)8HUgz`y` z->&>FkMB}G!mZ&jZ6c$@N3kFQmJqsP}NAM^Nn z<=Z^ou6&2byOiJN@gC(99`93ryT^0NcX>Ro{0@(gD&Ot#8-B|!Yd`5Yt$G@xmRF5A~UgPnHl;gQEyMIi1t;c_%{7jF}DNlKPfyUR3 z4`6IWbR1ac%PV)|6(?V*yxx;PRk?dt$;sC!Z}j9{crNz1OaCU1pR4VcszrcoLzJ+< z4M&YV84j!Ny_uB9jexLvkGuX*lgB3(SdjL(8Au9i^LUfquk*Ox1}VKj7&VH9to3-4 z-uwM$7f!#Q>Ef00^x36@Uk|(RPxSf%qj2j^2_P%?H+f}@25QOp40!r zpD<`d?N&9m>t8|2d-1}q*K=_V4;igF~GiHvFwOrJ}9zSK3JAreAyM(yh?WV=-i|hvOQRmF3+fc zA4f_YK~}ix$GO?07oRxQ5qqwQ-UgUsMAkKVybhCza*V2d*n>Z=9M!^5j+e;~T!+~} z=J>hiuj8sV?$$gTft$apea!vF#s8`L-=y|2hr@@n|15@b?ZWTQD1W$C^$Vpd^_903 zo`DvVQ0_{(icA09=U9JHK$^_HLh9m3$hpMLGt0_A8o|4aW;rAu?QUjE1V--yY4 zIi}2iTTh}Y_5IHaga7p^=T1}VznfQc9I`mv`R#OV4D{c_YM&Xdoju3jt;|d2U{38< zdI{sg@9giCi@5mDY5W`2L!>{l!r6EFf4VTw3n7voc$gr^9rhId_rs5SKkP;r4@u=X ztOXnXV1cpkKk_8b|HF8QB1fBN==qTJ#hq@bzdi z=O$@)PYd>A!gdzGuHBqWof!lNN^3LCg3$EM2WuqK;p!GyRbCw~Lb3MTq7qp_^F3YN zx^K0(`gwGIj=+7p`lWi?2j$v=!uDE83UggtBTMqOr{s3~1F{zW;C7>Aa+@xG4njie zm>)oZSTv?1oJLjZ}%VoLwNB6?K@U7!*wMlDdtk1>I!7F>M>o_yUs$JmYA~X9u zv#N^M%7$x;jy~6}wJE+$SD3mrM8)kU6vfFfawg^nMr28?S;r(Ri=yfK8zk(LyH^Ub zS=STq9+m;6cYYq(WuxbU<)4e=Wx)(l$*1CHjg+R*Ur8ESR}UK7avNMPtH3BeZY^=F z-lWwBtOERqN$+p97AMi2ZY}OM*<9QMzgvrYk;SdWJ;?NEJc>nxNLC*2+*+AFD8|r; zo8gAJ9RI;w`kY_gd^gnY?%9f;r#}kSvi@#=ptWFpgNBU-uq!{8*$>}aqjDpcw-#)0 z3MM#CLKN*qP_$xj$#Ge*oL~Cz_?KkLb!_DFLd7Ipvl&dA2sFu>MjMraiOSJ`JXrCY z$E~2TQMPvapm|aL;P^wB%SGs*Ge)$uIf1|S%;-FP)4fKvXBGY;#(wDqW4AKR2bCayi`@+2Rs~{UnS}|QKhw!I&7U5*W1J}Q4|EmxdS?4LIz^tt+ zjwA0-h|g?z`1o{T9HB|u@XfB0@@MOpgNDPO*#--@!3o(*!|XkQjVJ25(!~X5*9lC^ zy6;+1k>ag3NhZT2nbaitlt^Kj<`1lLxiWjkqV$Cm5WcZJUA%EoWxg$4+>85kam+-% z@Y6KX<)QhI!LUi#*HY=Ry(?kfABVGJg_;_$TJVQFzxa{0%@}Y207Dq#gEQNLzzNNdPSbZ{iUfcn{c3w5FFoBDP zsqshWZ>f;IRZu?~t5V$aFVF&C424eJ@>*H#hd;IaOlc>b<-?O5-jy@a?IRfm(i2e!BE;2uzK4Ka&Mh2 zwUM%agU0Shs7z#){3j~K78XGMIpDhHg9{c34fX|1 z;zB{{F56cTN8fdscrreBYHR0Q^}9Z6Jw(ArrMd_i*i!iB@lQ+%X`V#?xwY`qeaM!E zhovf=ZoYn9%lPqm&DD3FSiOCx5jtN=o~vK%y7hhNwe5eiSo-`Ka&<(0ZabP%T1d&{ zgz!TuxlsJ1$q%U*mzjE}di%-Jc~0MaFS3o>!f^v}Xw&}k$Pj*RUXP+Y_Qtw}n`xD%K%g(0b5`xXAi7)dve^oA5Ri*Eq zk)0v#!F9DiymD{T;FV?{a^|bL8BzGyO<<{8#gkZ!sA2bC=+ ze+AODau(@dv|RX=>RT^FShp{g|4n0$OG=$1D%L%Ie17$<=gF0{QPtb=24m}mbJg!e z?Ih~xv?CSKj+UKQoVE|+f#Oo57;k8PBQ&G>mgmXnOyaZZ`7JxQJl-wITm9+j?n{Ds zrZXfZ>RZy3-TW)4RAG7_ls`Ye@b4GiGkogJzd}bz{1*q(``{a4F52lL-d&pRe?UiF76+_-2ox#G%ISc5!CsVO;GUe%P6 z;Sj=vnB!dzwC$;MF)!7JOAx%War2FfmZ9dYzBOZnmRB}^{i+y+gJYITOu-WU2{d}`PNu*^ak=S6R81Vi1-u>Bf52a~jp&CyJlL06$ z&+Tq5tg3>B*Ea8vt;9;@?&TOceSkzd3+iMUJV56#-=r_`m zfA2aA!8ZY#y;aJu?SI?iJ&D3yz5OiF+hJGx14yBJtGC@PR`v%?V$XHf zppRWrGqx7~VTZWUT9}!=34Vm_OSmt~Ux?j(3nk!QU}v8r{)AHh1gZCwOWEk0DWa}? zyZv6i3L6vUHfA4{O_Kke=B%XuL-euYfJ2l69^|_&f z8JJ+^-RXMa9@E!GCp>-5wCjh<-al(}L?t7i*5ZfJ*Orads<+<*yTy;&zP0ZAa^ZbL zRi>%Z?R}cWbu}v7(=avm{hE>Qx$y}%V09D@na4A3>RgX(OIF+iU?P{k@V?;>crJ(+ zo*l9vqpw$3$7M@Qo1WK8d6q=pCRklHbyy@VrdrOqx3%zL8xT95D$O8j?`{nC?fk*` zLya_OkluE~lnpNGkAjG$i|;j~zMV3xNBuATcXZVY2h+vBF`n#PyQs!kkv{kJ>EiZ1 z#!~R`z4I`lTPxenRiIHW;NQ+mPfK5TV6(J7#>>q<#6~}xjU9?xo6;-L#vZaUJbLO&z^Z%Om_b}`IZZx)n zU^&i_Jw~>;Z9|OQhn|95t;pQ3a>F=_d$Lc+4cI0GwXab>Id>t9ar>^wHY>UZ%@wi- z&1~%UDk~ShQTVEu4O!NjeOgvU_i3pUuiD|C9FO2%B#!g{R?_2gv){>83(a~r_k8_V zQCaMX^Ffid8>uW`7$B~uc9iqgkd^&&=BH1os%&0p^2oh^^KzKUu}FTHeZgVUJQ|K( zx9v(w%-sa`#~|E+G~6Itt*kVOiK}IT-TN7M-sZ(gHmuP-Tvje@3BxR#zaY$gQqpn! zHU7y?FMSeZY&bI}w>#AA|3cZGIDam$ny#ogeO}dJ+0|&K;#xU33z>gQY?i%#VMV7C zy-Gwch2`}Xa@8u9uTf&3X`+jOLq>GwI79xYl$`@2VeSxxLcY3p-k-1fr2FYKV?Uj| zjks*5vvMJ1yVQ;E!wpXRw)vk6(?}8mWo|-clj;FDfdk(DPwa7n?BP9bT-|^$#qDup zxs3l~j*5V7mjvSWd`TH&SL>8yaTT`*&Dp|{p8kRLMsfUd;n<_WnK_@@m8ay4!_;wd zevAB^EVw(y!2czI?@QqK3P-%qIl!^po`M-U$At&=R2)aVm76+Q+(tO!+__BU+q51q^|Z*ZNs!-^z~7d@Z&CNBw0xQRSlr*0AfL2% z%>PP|$DT4shp7ePs2rvam-Ckrj&H#hs)*U;bR>Q{9cte{Q%M1 ze^5T7-1Gy4e?qx=K}YVtFFzdjCAj}!0{?}&a||!~$l>|}CrW@%H*bGgK4wort?;;X zcyR)MMFM|a0>3_i=M(s!C-A>X;CCkQuO{#x3r9M*_`7oujw0=+CBq$bbWb7K`)EnR z-bdC#_^C*}&31Q;^x>0E{aN{{qJ9Mvd*G~)Px@r8Ub+0rt5;-No8PeVYPaLkQgadA zQ7C7>unBv5X|_D#9g}498~MTxHr25{n@xJ~p^V4)mzZaqP4t9}mXI zP?NrS>h|oCl)>&@Nbb#e%}&1dGeCPWVUsDF;dYy;47QsZ7?iKHb#|Cf6Jt*!v&mQa zc2vzPR$OhfzC1Ir>yzE;Y8cpe`juMcx&^2cw~co6{vHQI4#?Ii8K;4llZwp=a%`LYv`2Gib45W zw}}nX&dJ$XBC}1DNeH(+mEA(@(rZ>_RZiw47Og?lb`hA$Q2&VD{lKQwDT$|hTnML*qD z`ZiVclT*ftq_29#e;cgqi-qyu?$RVN+V@+1+*gZJ_!TvIPN(gmG@sHwl-B6C5`Px) z>y%5kFS2JCqPUrqc4#M_DUUL)@%&hEUQIJ>i#IJ@K4cp;pBM*h0BTz>f7nk{h59l7|r zwOQbppLE>q)eX++`~oDT96qm8?x*t-lIL{B(;4SZN-mtgA0p1-{1|Z#=ZVs<#)0s> zSbol(I^r)O{xjl>h_8nOa^Q5f{G2;(?L9cle@gmGIKVL{<>U_&$5_+xDjiSy@*g73 z{_Z3GGIHma#5ula>Npeb<25?x@2iNjJ8P69S@D$E$>&I(_m28=;^?zG`F+ICCH@2A zFD1@<8oh$}B|45p_+L)EhxiiW|3>^g;=d-2xm6d=%9G_r4!D25{2Z?#&guU`;+&qZ zAb{28W0lM^jIq{2$Uqqb!y_`6Q|7zkK{!ZfT&W*%b-aaO`;b-~xlRU@w z!^GL0&k$#Kp0A4?kv^ADe3ue`E%DbU@GSAyk^EbUHxa*`IJ^JR1b$Bf|7HUJF>&_y zBpo;-zReV#=Mle@_{$Uc#l)ABd@J!4#6L)UCGpP@=Y07_0{_3nS>Jw4d=_PUdilBft&TYB zPd#z2H=2pF{#>uzPyZ2;=k$L&arC`ic;1uX&c{if-T7LA{ErgkpRMz8emGyH+}D$4 z;+$@8Ccc`&|CR*zw~;)D|6RoE$em9Se--gB5a;wi8G{Wu5dJp#x%6B_ocmXo5NG$V zAkOY@BF^r=BZ1#RoZbHy;_Uw2#996U;w=9Ho%ck1*HC;{6JJaGJH$DiPZSv(a0g9< zOE=5|NR9k={c$a6tY|=F0wa zVFrIQ@gBVf&k)ZMZzn!V9A(%YV|oF1INf#-cVPgUAkOKwi#Vs-ZsMG7dx&$o?Iq6X zHsx`bZqvj$-3}AybUQ+v)9o1XcD=@FPOp(ZoNg)QV9b|!yhiWS9#850n8)4oWS2h9 z{V@bU4i{g?-E-iFtg#6T%>3uQPToDIoly5euI1L>^JeM<>+oSu-aSWk^9jx!_Z;;M z0683Y&r$t7D%^9?oG0&|f8OSC_nZ^&WV8G3xs%(A(E010FJ0`(yXQ-8&qOEho-f_* z$-C!8e~`T{XnTwQ){QMB0aNlr*1Gy!F3r)T=i^%c>uuSyFw8|kb()-jo_D;$UhLNK z15WU#Qq61ij5Y#XlUr#JybhB@F$ZM%z+3~|{9Wxgh~2pOKUM#m)cz7V^Wp5HP3FUe z-<{Fc;@S`Yn2Wy?R7X;Jb| zbo)Iogh)Ggi8%!YdkX*i;m5rnb_lOS!H}a~=XWryL?6KSAI5S1?^q-Tay+i}ue~cz zKY1+MKfLj&?=7*UvEhQ0IiC9760VL$7@AB#nxxOSFu+&ER~NpZpPy|hd;@zE6uxu> zBC-IlE`9TFAirhf>cX)!zS8?c`-Nk-5O5ZPv=&$F+>aGaYwBg)Yu(6H_^v;6Vc+-U z-+rv%Dy>j7Ya5(v2TE%#&^g$5g^0$xBQwlD;uWvqk==g;}@9kfhk`8Zk1QV zn9uthC`p&U=0(P`6s`(7mV8@C@r)&J>1MkIgSg(H9d*uI^d3%3;^|pVJ z8(J#VAZxOWC-UO|K7_?C7?QO@&69A^EYwNwd>8yJE`{?J8KgGAzMwb!IUL+4~Og!a*+p-A#;dF($wbvlb%bobfZ#|lKd^v>v& z@-FaLRr>W+ZEvhfH_J_P_yVc<1g5d$|AQ0%6Yq*59Lev5R{Fs-_i^uXo?=YA3Px?m zefJP`7~b)5hshJUK~wMgxy}sdCi%s2)R3d*LA`kuqU_}k^PEqjXxd4%L2fLKe87SB6M5^n z6l8Ot`a%2T_}eWu@YISq`vzCj=aeEWg@BX zenhK;V`2x#sq%wAu4Zw4r=-5SzaJaiz@gb|Z{+{E@`Iax|L3XNcYSxi@9peE*ZFY% zyK|Em;@VF?e7`a7aQ2)T`rcsm4(Qq0f3m*wI<@av4{m*m{`aeWU)-(v*zGy&^3UNO zxj@-zazM{+KQtFF3;-1;NzB}?UuJ4X8`MLx9 zDb?SDxS_-MU#j=vp?ogvJU`jKY)c!LF8OWy&Th|F1f$7>rAf-+X@T336Ykd9YN;S1Hmc{zp{rYgZ6xli-gXGmh5K61`Ce<$j8|66hG`?| zo#_7tM{7)LzItbN-YoX9uA9bT zU5HkQbn$(=O=tdr{EyPbcftcPXp${$1Tt=In~V)~?cs{5w)sDkg=|8+kG|{Lz8(#(KK?Ro<&80HLfKM1 zqd)Q?y-tj~n&X6^{xOXiP_Od3Gn1CWUTnfz%H1}(cSqdV0A|0{ID)Q=XAX8JoeWiz>{)DJkE zJFXo6_RpK1cx-C+Ru7*y{qgOk?w$|Y)F|bjyH6Uk9@3`jkm?8WAD6BkbYqsJG3zL2 zs`E_UpxeYT>r=I#G-h@7d)PDbU!xT?Df7pyGfy%6Yt_C#ZgTe9#GH>5-^ew_yr>JB zjnS1PHY;c?NNY8%wn|IgIHq%D`xw zq0ij^&!)#La)I`)dRpEaO|$>7jpEb!z|Q4*xN5`QKRwQpeOm8pZTa+wmWu^8`+Qo* z@0s%FvieW*{EUA7NoHFZ=%;)8@O0PDc``z*kwTNWdij$!L#ST2Tbi($KB*vDenR19-_y>pn4#K=7s!)kPpZJy3ZS|HCC z#W44*o8?+#-rj*u63Aa147WhPjt;+21pCEXT~f*XtPcB;*A_L=6?`eBxlGs;YA%eX3T&2=7^lZ+x4X_ z#|M><;UTabGv|#{8H48I(8S#UVLn%zxR-TzNYZM2;Er-+to(?u_ZPYR9*${BC^*!0~@n zKBa}o@%xm|oMat#9D8@0@O%7M%2WD`+R3AwLB2^9%5l6q1KzGrc^t=H+$Q|0n~vv{ z@0K%;8S`HrZ7QD<|8dNi|3Pr4a(C~}C@&`bD(5(Elh8l*g}C`Du^;hw>SZ_bET-@wY0MAeqCZC%#x`(%<8M zr99>Fk1DVC_&v&-JpK*kZ65!j@^+77k8y;@Z$Gh@IQW<+f3xxl<*wd7Pk4={0iXU- z<#&7XdzA0>_)6td9$%|`+T(9gKI8GvD?jG(FDZAE-Y)##QI7fphvQ?)Qy!mCj(UaV zKcc+JQO@|?#X79N+*2yh%fHGw}bfiF(rmnQJm1b%G-??~WSy&M<* zn-lo11pZG6{N4oq%>@441pc!Geu}h1ap8YS0zWT-HzjcFp%UkQcLE-^wdPzqjxKq+|f0n||wXEt`HWUf=8$G4=^ffe%L@^YKqxdF5FLrUa2^z{qDVE5G z*;GnNwPUu3*K3uGdZlnlG;?Co+c{nCdwj||c`rF*(lB9j0sFxNr+_HT5=~EuLK+Q~ z?(Xh1)c7fu<05HrtZhm`5sIdodJwf|H!HyB0PGd-?{B`1AzO)LMh3dFvRX)1>2!|_ zbeb{JS%=dQWv(9=59zXfRR5f1lP8bGwNom7_U^vYVJ+xqH=^G3(+%X5b&u7W+F`cK; zX&KY~2R~E!OO3RB7Y6)d6+lH8!PPn8jriV&Q6cJJq?FF{-AXx z827ka6Nj&L}@s|<*D)Cnm|2FY@;y)$+a^mxJ+=y_V zOZ;@=Sa;;Y|6<}xi8m0(Ivgk8OdRWQ9e4X&z~3drJ4pU~;x`a)B<}j`h+eDw+~L-& zfUkB?&MCbHze2BZs?%%mEA<*Dq#+LQHgjeFAq+UcuQFHmUz1*gyY+uSY2s`28Ykx_ z*Emh;HPWF&uW_2vYw!(vjng5$2Jh5soTl{}yi2cfI;_{= zS-r;Tm|lakzReM5eKQIoW{_uns|1h(C)T$b;%!F4{&V{t!IWQmkni=H_kTe!KkKF-r0s4$66qcsKDK#97}ah_k-!BF_4@mpJR& zByrZaDdMbehlsPjO%rE*J4~GQZH74O+Y#cdZ^wwUzReM5eRI#Bk^Zc2l@&H|!CBwj z-qGN!Z?z=P`j#Tj`sSWz!yVQ)x0V^4_04_T9GvwH&#iEPv%aN?v%a+vZ-+%a))DV; zP|oedS>JkycanULIP2Rean`p9;;e7Gh_k-!CeHe{hxkSc&tBrJhm*uv-=>JOz8xaY z`Zi6R_3bcm*0&krtZzq%v%Vc8&iXb-ob}BNI3)hi2iCXB1vXK@S>I}iv%b|5XMIZ% zXML+9&iYnQyxj)D{BI=A`qo5z1Ied}cM@+S-bH*Jan`pSan?8Y?Fpn0>)RN~v%c*h z&iXb%ob_!Nan`rp#980=5NCbcOPuv>k~r(z6mizKL&RC%rirt@9VX8DHbb2C?Fez! zw`0Uv-{y$3zPSgi$QRbP$`fp6gR{QX5O234=0Cp0j05r==F0v{5odj?BhLC(PrQrV zX(XN{-bS4DZ5?sew|3&JZ#~3W-|##X2ja#0HcFiJZHzeU+YaKaZxh5>-*ypaecMf( z^=%Jv*0;UHS>Gm!v%XCcXMHz z$Q;NoZci(Tv%b|3XML+Bo>f0_swd9+)<~T74bPErAUv#ZY2vJJc)pAS^4x!0N1XMo zojB`T4{_GF9C6k+Jg3G1e_7wgh_k-!AkO+WL7eq%7jf3N-Naen_7G=%+e@7FZIU?a z+Z1uuw?o8P-=>MTBSG{yOuWNEInNO1`t1mD*0*ECS>NV}v%cZEIS%9t>su{x*0&UK z*0(z18;y(hUp;Zww?^WuZ%xEm->`Qk4uq5S4I5+P0B3z$N1XMoojB`T4{_GF9C6mS zQR1v`W5ikCb`WQMn;_2mwu?CH+iv2lZ+nQdzU?L6j)c-)SfwtZ(haS>N0@bCEu*Z#j}@eH$gt`Zh+K^=$`n*0%}b?Z^;4 zb`fWN+fBUN3Cnp8an`rJ#97}aiL<^<6YnAS4-@YtK12L1#E%f?e%dkOtZ#F~S>MdY zk>W1$h4sySn;4w+&3&5~e3Sg#QLE4Ez**l?#980!i1#^1syX^JB4SIc#ilO@f(QmAkO+WL7eq%7jf3Ny~KOS z{Ym1z#HWa}z8xaY`Zi6R_3bcm*0&krtZzq%v%Vc8&iXb-ob@fx=gH6?*0)OHtZy~M zS>I}jv%aN>v%b|4XML+D&id9!ob|1VIO|)QIO|&*@pj6`b;McU+KCU5yxa2+>Bjn& zBYD=hQR1v`6U15Hb`kF-e|Hmq3-LX~S>N^&XMLL_&iXb*ob~Mxan`qK;;e6niL<`V z5NCZmLY(#O7;)COIpVBuX5&Ul7vu};TjfHVSm3O0HN;upYKgPHrHHe>)e&cXt0&%W zgJAwQ5@&sDB0fy=Y2vJJZNypM))8lY%MoXN8zs*AHb(p{6rLT#S>Gmzv%c*j&ib~S zIP2RU;;e6biEpCtOcG~(n)RZ0);F^; zw8Rs7%lcM%s*OB2>st-+b}M53*Ai!aOA*hLd>wJtw|e5NZ;ixR-`a??zO5t9`qoaI z^{t0E>syXE>)R-C*0(X@tZzGrv%XCb-$d!Ni#Y4sZsM$Odx-auJ9~+)SMO*0;mNS>I-ev%Vc6&iZzYcss>wjyUU^`Ni3v%WPFXMJlT&ia-n&g0WI;;e`3h_k-66K8$vA)RgUtZ#dXv%XCdXMLL@&iZzUIP2Rq@pcOTVdAWBGsJHo`6I+x z-;NPyeVZfB`c_kA9fjVqzSRsu3X*0(fq*0(m|tZ(ax zv%a+xXMO7-&ia-k-cRX2N_>F$7;)CO9mHARCWy1X?IO&ib~CIP2S9;;e6z z#97~_h_k*OBF_3YO`P@ZFmcwm8RD#OM~Jh&9V5>AHb}V9 zw;JNCZ?(i(-%`X`-|C37zSR?FeQPAn`qo68^({@D^{tI~yN#mxzm9m0csp^f-+G9% zzU7FszKs%ReVZW8`nHQW>)USPtZ#dWv%c*m-bV47Bz_g~DdMbehlsPjO%rE*J4~GQ zZH74O+Y#cdZ^wwUzReM5eUr^7%mKY+eXAtS`c^}n^{tjT>syLA>suXh*0*}%?KWuU zesuRf*0*)US>JNRS>Hy9v%ZZHXMNj2ob_#jIP2Rk;#X0;b`!sv z_#Wb{Z+nTezD*KmeVZcA`gVvo>)SMO*0;mNS>I-ev%Vc6&iZzYIP2RSan`rs*)~z2 z&#Z5i#97~Jh__RE))HrZOA#L;`8wjPZ}r4k-x`UtzO@l&eOpJI^{t&a>st?T*0&sS z*0)jOtZ!q)ucr9!Aijq91aa24UBp@6b`xiP+e4i7Z7*@ww@KoxZ&Sos-wqLHeVZoE z`gWK&>)Q-**0&?XS>KKkZ>MydBhLEfKFSJx9wzz9GwcmG>st+R*0);XtZ((iS>GCo zv%WPEXMIZ(XMJlU&ib~FIO|(Gan`pU;%g`!a>QBRMv1e&jS**k+d-W5ZGt%K+b-g) zZ@Y=JzU?8-`nH!i>)Rx8*0(9*tZ#>iv%XCeZ>MxSOq}&?hIpRjj}T{lJ4T%KZH_qW zTg`KUbMx6C+2XWT73F548yNI*C?IzCpwudL9JbNzOR zIP2Rqan`rP#97}`8ix6D#?Kwg^uqBPy-#~QrS~qaoP51<7Z=BylyB3s<86As%j4~O z|1pm{cc(l)ruSd>_=Mgc@%V1Nf6U{1^}YrLQ4SZ*DRU=#sCs-_d85Z?l(%~PnDTay zn}M^KCVc$?n4b)e3D7ruu)`JCQ6rE&6O%Fh6h z!|@5_bspcX{9=#0aJPAUO69veKCOJz<1@-{^Y}64yFKpW^GT1_=)GHqh+F(p${*CT zF0lf~F1BZ+AHwLTANmAH zlY05_v0D@P0)}$!($AgI_PT2p{STKx3}a+-%KYp)to9qdgmK|_&Z3VJ7ynA_EU^BZ zBC^iD3*PC%JTHvXhlb24c&j~y|NXe)-VZy3YtFP*+bZ1aV^=LBZrl2ZV7^I7r z)up#j<*N(1)Fc9Spu7646+zH2C7;!mbGmq?n13<#PZn`&FI~K$CcXXP{6*>Fb(QJu59C+16ppo4G*@1}bM5@&ErqYPob%Jx z!k0yO8=RBx6Q{?2I4^zok;?RiKO6a}1ZCtC>Eg-a<;d+Eo^EhLuNB_-)s(Z1s zpB{gx(uMK5ba5Wya%H->r8ZsoS^AY%)#k5oA=)fKmk>==Z`&pQhM`&!NT}|%p{hPB z*in-nKO*7zp@ioP2+srgu7;`f_`Q`jJysN(Q_T-g%^Ue)^Z3mC{NJ}0n`s{Bq_FC^gHRy|0@3Nh%%5CSyiv9<1f4VL(4^p7Mpb|KkFYxRts}I`FAG^Co z$nwuX-_KItk6Wp;kay%RvrJrNxo;DSm?{*Ji3sJWbRc7DZ+t}mg|fan+ikaq)#x4D zom6h8Lj!i=$k64dq7W~=v0~Zr(4?y9s-7Q&$U)z>mx?#B`rA+c$@Xstas9K)pFFsu zn|1l)qS8A<&H9*aAE`sgVO8uTmc_?p>lly9r--`+ozE;EQ3+$i?Ba>#JLYw(@)jY= zVJB{{^2H)dHjJXG0LOq`y&IMB#tUXnx1HbE&ikUyCvGqG#j5Sp>#P26MmiO$#V zYmoKVnI3>&3=W&-AjVcEr}IG#I1N=+^1FiR>q6vMgYEna3hiG|UuIOIj=iB(irh8Y zZUY+I?Yf7MAI*hI{WP6#)_uY%eHe}Rn%#PZW=1$ zXF`R*NXaQJAaBgf3=-Ag^W<%1h9rWM^{plp`0eCm-eq` z|EKf&3CJb$dvjiXm0pnT)uO$)jp%Eju%C(qx@!+*C|GuUfj&@SQ3-#EdKht@QDVf0 zT~pgj8Kcgh@{9YGT+v(i^j>4F7i3v}Lc1ttqZSM8zE`q*478lDig{2)g{T9l?oYGb zAhADcP3*DLlLwsrw)2EtOm#dTJ6nu{smFs|XT?tK8b2U{iT8_QAL|OVwp8!Kc8I=P7RvegU5AzW74ORKBR%SM1dJ|m zPk&m}`@$X8IY)I^lXA@r9oAPEAMMAH?I$;+7wnfZ*Pwfr{fq9Oest{pQ|6P1EeaCt zyLNAW`$T>9qiH@Zhlf%@hK`}s_Ma`312vSQ1!e0e=$#Mcr0;eN`~$Jmv|Oj^lK38a z4#5Xa3XM7bvfbBMMI|a;FeQ4fnsT@LeE%1}@ua8RtPeF50PZXD;tSx4>9ug8gu`X! zMe|0Kl};F0G)-K5f@Z#=;dILvDl1PE&A{EsBa1q5u}AvI`%Xop*Eor-RhTKmPZV~# zx{_|U@~cN3@htrZg?*dX>&nVk6@|(w62+6s0&~hLLOaUJL%YgKo5})-;#EbJAkp7= zswO>T%+X&BdXSfu3R{f&8&ChD@}lUblm(047@;YVC+cc8Y2Y{y@r^GlzmqboDh?sl zl5kl~(d{G30zklhd|7Fu)Wh8>j(*(Y`l+_rHZh-1n0%%q(FVaFG;(%X1xf(CK*!3m zPx1N&)^%p_T{Pis?#`D@{y-&D~~x682#52zcuf8d%8>3bC}`Uv>h zXRzIR9nX0WhR*{|K6))z^drFH3fF5?y6?C{;eld!;Iy0%z)wCwh3h_KgTmVtuKN-8 zE2QsMxadoO{Sp6z$=R>yYf9jO6MYG;MNk>}%vQMQJAiX~I2fO*0{BG*@QI4Qwkad} z8}Of}akVI@OZ0YyYa1LBK}*NAf67^-2t~gEoO&m&Z6fIRVjSEClYgtCm(S!rU%TM$ z^Ys;=|D~eWXW+Fwe^$7zx}q-tueTN6E-P@hruxw@QO-_ZZ*t%$GM_U0y_6^fM-#lX~ z7P#Bm3?@q!bj;5NnabihD_S}h+?=DK0rc3?*qlWzv?U&ETaqQ`9VtN`)EZy5EDJ1a z6DI4Gq4)7KC$uy*HnrTaZ0U_z5?DQ7+6r^=ibiL7!IA~B7Oc+47PK-IpOXJ(LGEju zHcc3GZ(Fu(=`vpn30oJ!*!#kkd2<#l%JK%h3|!*Zw@AH`Q%g(1+qoNvkuR4Ki-zQ{ zzbV$%VPK2f7DId4_z1SP-;@nf00|jULih)I+FOX8vm&qckXE1b=neWb=uP~)VRzFOg4`U?usf3^Ud`-Vu z;a)j22K~tf{V78bfaC3x@UQtSRk)YWmkfGSKi@4t|8s->69)fX2F^ZRr~7UJJ|k7X zM>$RT|HZ&f`M;)culzqU=uLTkVc@1bZy7kp5-sNl)vtQ>cA|kFXVAwC+>~>tft%@$ zQA59%|2P95Yw*9sz)e1B12@xMYv3F^b-sRR;3l7K25#!%_Xd8N!RN0AZt5YdrY_!c zxk2IH@_o|4P5FnZaly;y1cj52Sw9;J&|hcJoAqIVftz~hHgL1u{jvamZ6m-d&(j6! zRfoa<3`3s*`01Em{%gm1Ii1D>B7|p4b=7#U3hR9{8rSo%ZZEw`B03pY@Y|$^RRNGA7+wzzE$VJ^?b|hw@I((N%wi^wGA`X=RKurzRKJD*YlqL`aAxmbLYh7jO&Ok zs~uPS|Lz5U0C}M5RrQBYx}drqRP|p4kD8OREwU{IHG#V7y@HSMCfq3eGac0p`SiQl zPb*xh6(Q-)$Mf)DPF0iat#jZb&wn<4p?CYontl*zQzrE)9zN-GeD<}b)AH-d@+hk@rFiYO_DU&CQK=7@MkBN)#GalyN z^xMA}Z;Q7b`@8w`FRuTG-_180Wf>G=$#?Ty>pW<@s^L79OP^b*-2EivJCw1uI}?R>*fg`W?>MxG&S=r(Q&QeC;P!d2PJ$DphfkAVh8?|4nRbgQXvu8Jf{p z`|`}`5i9}YZHjpHe=1gadAKY<4sWLx*hU0S9$Erh_eW9`k+JH;+rho6Kmx_@U~q8c#*bPtSRSHneTds;SFzI zm<5Ix{LOfeb`oDahq2O--OC`}-MP$AEQ*(O{U2B5Csd4x=h{xc?Jg`AnG|o;Uc@_u z_&#+XV%S!AhkEq}&bITM2w<)MRmv}PYRZG;xf3f`iH&65VSCsot88xi58x64vm|jm} zKW41MURf5vV!2ve#*(oZw`|hDvCpAn+-rqT+4Y}X7MO))^Tv@vm!L91PjLj9ZC=^{vJ`3Nu1@OxY;FE!K z4X$1B(Pe*S0s89|y{@mEE6`D{!Q{CGIQbtS5uE0~8h+yX*+A5LVE5pEFh2Jy`d(F6 zbiG}t@I4CG{2x{L0fmeD3v8>xn=v@h>5}*r{FG<5!gc+8Ug4bzAInH|YLIUAVJ))8 z*S;Xuwz!2KmTZ|AojN`gZJ9b@!gMT7&IpZ?^j8@5%Y619PC?+9UlTXi22K1+f?CqEK5IEYEP$Keu`|~I1B#x>D-i?|_2BI) zJllhJt8k|WKcK>QdvM(zOOzgTy1Ly}cyQhB&hg;7-Ocyly4~IC!F9Xq_TakR{o~KV z%km$7J=@>^Uu|{|K)=jVp=aU$Wfm&vSXWHPM;6w(pb5g?Tq=Q1r7u1U(W~IU`z-vD zCtb-+^3Z->&%r-=dY@;GHGVDPQZDbatd7sV!*nV;A`bB&{)u_@_r@{GU+7s_$Ny)a zg)6-ZfsAxoei@SEA~CPH`WbkwCxR|N9e+MNgO$Iwzgw!}v;5gV>-c}~Sy-=G{l*ul0m&?Y5m?+t|@uzkPXi#MvF$w*QL8WN++~ z_R79lPz83I?;%nl#wGxO4j+JMnJkt)~Lob@+F+y@_|P zxc%3*d!lW9_lb_5WaHskYO~xom6gTz2vKPWQDOHD73sRGg}lxLwT~Rq%Jk3B>HkKg zeTT+OZbkqFSg(t;rVVfYGPjP-WVt}B&ccbk_&DqE zFtgHsG0t}2AcYXWg9lm3|UbA@rp*;p(t1QXN*3xSIvN()EQ%PL-~pW9m3F zhw`|WWY&gXS{ud}h10=-aQ(JeJyy7J88OdURwP&GG0|GfhyYtzGz0_2tcov(t8ViBMDOb=%o#CD)+?5Dn`)@I>5X9bqQ8avP@dK9o7YAi?>hb>cSt?b6>&{|f1!MSrLC&!)di`sdT%E&c8E-zWVm z=wB=RKkbBKqR!&dNT19!fM%W>?e$O zD!1d%7g~Zm#3Bmed$_?86-N!ParWp}NlC`Ymg~LnN7acbeR3+A9zv2$hw&5Y`6hmQ zI2GH%@hax4FY6z?E8u1Iv)xoD@{SNIAa3~F z<{{44z7L_T4Z-1?evO;+oWw&2Lvyl~>jDtNmhAY%+eX=+gsuu*NgalqccdCuzV;kb zKx^gFpzX}4L{_7fby2)jtqH?7hObwH#_65VFCX5B(n$Rg6)cSNYhxO5+`BZn*GfGJ#5fI?oQE)?ooM%kD+6GLQu+b8T6b@^ z6Sr34eBnL4W4GJsaAkAXjLK6ei*2W+I^ZwwKT-9QYGlKBzs5#J`WmY6Ya|tW!A@*u z0r}!j+is#)l>3V8C=+pZ#WqLX*`>O1sOlVXOK?t2)R>5Px$KB46A|Y&otaSkj7rp) zndswYR0iNd_a;<06MY*rXgiGodUQ>pKM01DgnnID=+~8neqCGWpAC9e7y5O5prkG z<6DSoCATB&Ca#5?i6bXi$@dZLOZ*IKrc3PmFmYtGmHG=%Xn!4`u-kb6mqv7IlMP`=boM%Fbmy4`aA138e zqEJ1CEkA-3BDofkgp9wU=TCks^=|?>5y!+qV^q)7XojUs)&`st7Om1s#nCCM>NL_? zbpu20X4$x7l~Ur)TPvGKgO!ym!ZccEBDnw$Nn0qiP6gM2={3yXbjM(+k*K6*kE4UC&Qe_Yqp`EvE#NebnOO;le8CzBgA26 zpOrd*1niZMvE9o_Kb<=>JN$6_cF$7~ViOO7Y~f}#oz=`viod=V^CW-R+EDMr zDo4e3AygE$)_>6--wgH}Nsme!;M~eRf8fzx01@YRp^f0{+jIhcY6k}PeEtidZKtN8 zzvTCT&I@hpE8S8O6v>6G4Zme)78uxrZf+Fn;Aj*qqO1dD*m>k_TwKw7a`haO$i$H$ zjzF#C8K7^(nbOqp?+*+lCWnhMWf0zhX@?huDv|76hu#|)2sw{s-ZoTBaqa*PI#Kaf z{LxC?jBw_05Me%t=gYEYJo2F`{h+PeO4U%>Y)d#z%C1_1tmlIH-)s+=x3CIj^k*EZ;-$>q z0OYsb7=}IAM<|t*91Eeya1AQpgUpAn;;A2kNoF-NpgX$J)}7-JKXK$lYt3cCbCQ)B zBRGnZbi1iW+8IdW>UNeggaWvoB)Ni0E@fC2zRXdd&_8Qb=3*o|sAjNlNi~Vg$4TS< zfTIfcK;a?jQ913n6(dhQ_V7&DZx=r*+Jf_{(3X2^<(Sk!{05{dV)=g{B2@23eO2RA z{M5b#`*(KJ5PG^{}VZaG3DbfE%5|VHD4(P~xK^D|sv6Y)k$UTk;_wvL&AjpH`~WV&;8R zmQc@CMsnYPw3#B2+{ckzMs?+N=;%@02T``6o_9f`<(LaRvp1IySx8!h^j-VGB-9f_ z3c7o8Fl_y>lD(Z23k_u;>})&&KxoHKvyVU{e;0F&E#>gm_Np5f@`mlax)tm+%BGFt zEElbEa}dkUxdIT;GAGIwp;e!J2)WC=|1NW~7mPArKv>*F{pb8I;tZ&1^vc)nLqd6T zyDpJ3=5{Me;fp$>Dy`IS!G&)I066bN_+a^qM&~hi;|Bmz16Jx@-p7`?^J;q=Q!mHQ z=CDIP*hZS4!I{q)9uCE z-Ye~D_9M{MT!d7ZW+Xjfgy^HWAatfoQ?Wl|7)~Z&Sg?|hLgK{!p%^f%Rd>PPSo=7p zvf?!d<3s#e6yJ8P<(zs^<*X>?)Ua4{8D^T8BA_pZ40bwJSp!wr7;wr(LaE*;?LJt^ z7&Rhwk5&NNEk5-5_k?k4J?|=#tiaS!hxeG7i)*H$%>ZB8+RR*TX*#0lZD(#20p$K!i0b1mGEt$a)N|;uyM#lZnv428t3%Px-LP zc{j9?eNFA5trU4+&#bE>>8+1|tDOLk<5+@1NvLdsD{YI6!8E;CJo99}ghs4wIWgnN z=|J-eJ# zqFzwHur`9^_!D6Dt}2)?*}+iGONeQt-jL&$?GLtZWWR}#GxZQUU)|sKY#X$goRUgW zAy62Z+u2v=_P_S9JlG<6%`AYfMLty%7qQTGk*zV&*4@@!Hv7&x{A5%7SEiUoTw$6YBX7FZQ!g&m03|vGuPLGU)nYn@8)T9gD^*>a1WU`0Y)!da*>0omgkT?Nz-7a*NPVyEY>QoB zZRm}rZ9i5{>UYOanRn^bs@Mtcl#)c|gv7i48%Nmbi4}dE%=r$Q>(vv%)zGh4P0%Yc zN1F(e-9~Pem35DkAlv;KG_6a@CZagW%(y`UFZv3UsdzK_|wt! zqRJ91^UOk55luh37MK2U-Fo~-I;mcWZcLo$MUr$Xb=$pJE&gIYAID6HB7p-QJFA2u z(R$^cXb}=Kqn)u^u^yUBCYCm~hBJ3JquMG~QP_(U-0DR9RPRlzP?jfxAlu%RB-Vza zdCvGc%Kh&U+_plYS2r1`9C#BOf99>NRfbMxL3wffGO>%;ryz??J^@5>;P7>sd!75~P5?^$I58a~Nx_`Vr_nC^gOkx3)lw6_XTu4O#9%b{o^KK5l7 zU*OmAaf^EB!ap6~DUvo(RCFyjhI5+t05Q0w@**&fgmip2NEgNblfvioJ>2EAE40;Y9f!RHY=HYbB0cABfb=M&3nia+fad(X2w%|Xh1&r)$e znu>7J?)?Yt=zXh zab)qi{<8au?6S2*({T-fR`3^99jx!;pqJy{nB@;%ivPs2J^rGlgR*ZJSzKIH_MAUj zw$FbRt|5@hI#D4yJ)dtX*!vcimA9fWSQa%3pGh1pi2ty{xIRQ#)-bPW=JihQ(O)$L zvLuF1gvpaDM~ECkgV`K5jPwN%txNH^9e(a_Nl;>(4k(%+jt3AO)G^8bzP&71lp4ep z-pj(ukngC|+-~dKy%QA9bGfFI;UT_HnxOIzwom?4+%xyeh_(#uLj23LRb+LUTma|0 z`oZYu7QovJ;I|gQ?*L9Y58z5C`V3tE4gZ6s`=bIl`vvmR^;GmHz<#B0G#}w~U&8&) zLO+-i(CPl90u_sRxxz)Cg8SUhJD5Cm1@Q3&@R%Mp|-*3`E)iI z&L`Nx@b47B|Dyo@cme#i0{C#$r@_)?JsS-FWC6UU06wt*J`1?0566q@Ajb`OZzw>& zvH;FU^}*!)Rsoz-`N8P77r>t`fWKJ)FDe86c z<;Iq__NA@!2Z>4=8W3v3HcA|AT+-U6_dUnw&BL}SIYZX@5C?N|2aa$c@_cT;jJLO3 zFUUJIp*j_`6coZ(P}^b{0D`fi>;}!)vIT9+VOvNBFIHf8)nQxxh!6aqU(Tu7A#$I zw2`N|OIxI*qF(t}1%y6n!K!Tua$~%zG*xW4dXeO#wXmVB@wXYdZpdGsS z*)uSYZ4214Wl@X%PEA|Ht4q#;u~H-)_wdr88^p?R4nLnD9C7xKn*K6^a9+Go!bjmZ z890YN&F9MnaJK;dRfS_%&pYq;9fRIHcekSe{R;;D$KluV3{&Hcm;VV0XMRoofdcer z6`()Q!1-*U)4kNdIaF%=ssjAm40=1W8OsP<#V;dNpH5h`361)_cR~Vh8mweHU2Ic!13}a{A>Jl)!@D9)+n6xW_i^a zxT*gu3h=qspyxBLPWQ$F^eYW|GhMlr?`ZwpQ-J&oppT{%aNPl|Q7GP`vU-4BV9ea|Uk8IoH5HZOHj&1Ls`;+8}t_#_^%9lRy|GsM}z)C10OK( ziwt~}TE}31&GuVu;1?V8j~RHqfgd*TOALGzJ6|~RH}TO1ekty0`4<{E=cpR*F!0L_ z{22rPtbxDFNg*85y#oK5PXi|zaNcs9t#EI-Z!z#7;%Pp9c8+jfK36H6e9U_LjDeea zezgFf5$xRIyz&GMJcRpNo@*8EmFFgd-t1?(3(!AM0N+>uf6U--){}z;=#N+HLf(A+ zz`z@ge2wNyEjZGfdK+)xCjHe09zYzepZNyfVBohH_yhyL!@wsR_&NhO$F+kB_v*h~ zty6jPJI26Gy?xcdBSyNf7<#TV@BsXDOqc)K%~l?bA5h^tJ-A-qU+2N~`u@*6xIQSj z$Ajzjee-#WX&)FO39nW2e=U!;l_@swfh3Eoeq;;*1J~=1rcGp$==De2L$B8#@ATk$ z-S8hj+xtJm-p6-T{SnH;kLvbyP(0JHE(WuR^gO~z6kNF)k2yVIk*VpUc(=^^Y=gwr z;|(F^B_*g)3>I= zL###v>Z;>kU@Y`!_n4 zKd10IzUtnDeJyXSoB*Pt01;gnm|Gnu`roqzRcRFss zJ;}@&&YM2g)YMtwj`NS@tnhi~ov(~v9{XA0BhzyN1cg_9m(sboZ`DQ&bQB7fJZ$uh zTLSQBNHnh-A33`{fc-!3<5NNI75fR|6mW%)!AoT@y*V4{8Wk(I7m7!sZV&Rrl0M^! zk1WE}VV%376G>rvIShmJ?SU5-KaS&GroLu(>Lb{sIZBv7tlu7g&35*{jE8kEzrwWx zWdCXGwZcaM`E@&RJRY0zzKSDoxAx6va-hW)t!}$-^?hnuE%)&BiL;~3hY0i7T;Ie| z9Ew0{D^hrywKvfhK(I~)`&I|_jXd&M+559|_vh!l?aC`vHi+u<_pBs=K9j7k331TY z7c0kpCaGj~Hd*dW%ISOMR&MHh3)$g!4Oa&cz!t68C5f#(O>|QHTxgqn+iM@M-P=D( z>N|1!2Pef(v=iI?cCiIb$6vLb-RkTMZB*vj)^s*JhpGbIC8462>qw$-?uDg9UD>$7~=eTT0giq9HSP#g~D2|8}X zgbEMx`>4)GFzRU~52EEq(``eV+$}s-6gm6{9F!V{`qvh5*Yi+h)c=BFz)p_ZHS7jwC-z~3@@+`6iMzm$!+m^eGdTp;+UK!vuS(hq z<<32xFX|>$@>kF(cFaYJ*Yh|f%%jGvNMfL5`S8xqo@6CgQ9}P;JgG+Ev|ma$l%#f>@li{cnV;-xKk$-LGpS ziCgzr$%o;gdLsVcDh(Y9&Mu8z4e6H8+ebM?~M4jFEqUH{}eh-dt?BVImQuU?MFldqQ)f1tGsDmTdFWS}5^?!r;$nFvR z3^?{Y4X&H+!H?S0d{~Gs_7#Q>tzvIf-sFh-;OwxHjY!)lWM%;eZ~!*>KeSS3!lMrh zWK6;Uti1QFDuaW>ejImb{d*d@x1*0HN zT3~lCqX_+pDBP%dH*^wlAF4s>VU)_4T*T+_)M9OzP&{v2Z|S_mk=w0R^TBFT`qncj zQ-0#uABwt6CRq(+8BrBM#LN~*Zqw#b1+tm1kutlGvh@9oGI(tHinALZsk0lfm~7YI z#XaWM>ZK^?L#tVqMNK%bpMH223fyU|#YqEHrTx$VY9xGU z0rR>ir%Sfl+x8V>gt60Dn2vuc;%=z|y`7#q5UKxFM_DA%=Lh`|yZ>pNB|&?sFxpG3 z#dbR??BerTm(lEG+rmd++wIofv4yag9I)$ujj;<~i}g=NVN4J7-zoN*A{0qa^hYjT zB~t5a2vD$&8}MO2*~pU&=j!#BOHi*nfo%E?evYo!5%)^;QeW-G%|qkS24TipvP7qZ zZ)fs2wCIx5xDs(!aYMdtg0x;h!i{W?26eYxfA3nVGPw>FS(PbTL#SsV<+&ZyIeDaN z$%W-=a>#3KWbV;{hk=MPy@{e6+3~MOM%W(SQifDar#G2R}NgNqwtv<|ZfNnkNR$IwQAdD6-C5m7Fa@0fdHF$?IjP3ZY>*xhO+5VvT(Z7uxOmo!HIoylGeW zq3(QS|2ktQw)yd0UVk)QGTcgi6+$!>pM!74ZZ1dt63R;ThMZki>SD|;)k(PA0i!>m zI@y>0fVIO~{SE>+>mRSf!G>V!P#lNd?yO|)v)_viI|r;(3uYlWaYS_*>KFAbvAG-~ zGZ`N9v69mu4rUHkGD45Lxf7@?K!WT=^FVb5$k~Q62-o(eaGI}= z-9?o_9)VAOTEu>o4bo00E7yv2zcwGi+Q)6DkL6eqO)nV{Is8H>@t0vy=LhY$CsM~; z1|O=v6`wTTtIuRWp488gR;cGa{Hi)Aw}HaQQGt6Fi`=1)CFow=0(p*U&x!FfC4?CL+Wn`-(1DY5-8euIX zKZjpDMvUaqW6ZipZGb?$GD8-*t zb|N;8o3bK9X4c>=37>COyAwLw!s2zOqlbnTnX2vH(Tj^4nSE#*&VBbnw8Tr8X1;|s z>AFeW0%aX8zVzn?67Ll+uTN~=hkO254VsfkM_+S?^v*>p;*eg^$-S7gqRrLuEHF&g zti|(gZEsJIV$rhx~m<8=jC2qPQ5E&R!B7GZW$Tlkat z0mGr5p&-r-)iVR7$EeHZz@F-D+!n&-=`h9b)9Ad4oYwY6StvG-BZ@3*l_KjrmQ@!; z_toBr&H*>X%7bchi)f>Q1}V^!bwe%&<}+}g3antDO9gDDC%5?L#gq)g7bDSKUIM^s z+;6*I?nO{eGhYVg7F|wSYt3)*dpRqjm3$IjocmG7Kwm&8am%emaZ!6=X@a-;RPWou zpODj7f_jhEE06Fbj*LQ6z?ritP`tArx1k~&VBaJvTVk^~orzOtQ{2h}5eU!KnW)vc zFI!`Gf&C^Hn)8M}oJL(g3|N$<34Rk`7!9zl5v>b-cdT+YJEegvvztJGXC5on3=c4>&zh@=85g&tsZsC;ZIY1FNUYegG zH>iq^#qI7zCO99mQr|~@T%XePzapSC{Z)8#n&w)y(DX3&6DP!OXP+YUW@hOMRPjin zu@vS*WpC5uwv{><8UC_-3Th}Zo?= zj5>2wg!x3ozqpj`Ri3?;r&HsjprbG-QryB)yH^~fHsxaBumo%q{C9u|%YmU!b;aoU zSYE@VYHx``xs zCieTOomHnnAk~Fi$rBJjxsJksbw0duT+64w7JAY2sSE;{N%#@-I!HJl&tpb`r|tt6 zy?ztwxgILceC7zDFpG2s?B=u{$kE5D*;Lf&)w_jWWFyljrN!ad)EXp+IUkwrLtZui z93LxrB}z2n!uF5TSe3a|2!Zt6a?u(v;i&-&8zY#V`gMGAbnKrv=}DeK5cBrxJ(<5C z3XbnHi7z3E>=Wd2Ao4WoeCRN5zL!}>LT4X_+{176KV+j1Z)WqA7HD!Ab6#b$Xh)gq zT$Q64t=R<5V#dW8B5MM>rfB+ym21Uy^NLagG1Q200sVe}BSo0q5ezcrMu0k9iFl_f z^J7HL_B6Ml&s9B52M1i$r^o87^(b>`PeoW#Vc)#Tk6&>Byh~1-rKJ^~5w!=twhruz6*rekE?At()8) zMb6Cdccn6zCk%IIV%o0n+I`#6$Or7RWfv9N$k_lDReMOPLnsJ3v(ux>#X)+h8kTlT z2**2foqjTo>0EwOx&=tKDLsNfW&wWe>RlW{-c)VfN}UP`V4MRrI`h`sxDO52sh%}U zl;pkSEV43PRMH2u_}tW?n>!p`JTXc$vEebN%dKCGTZk_1qAC z1kAZ%>g9JJjGDvA863V=B<3`F+M?%knYYoLM6H)?8%;nBR;c-R4HeB!4qkW)?fEN& zu~L%8u}qMvQJcXa>TGw)r^8lS`$*nsQj7r2gtjc3`dH)V!|b)aJFH=K-5mB&zkx! zCdqY~t2rJ1uGu`0V9Z3g2!lV3v{p8Z4-oe2Sck_iXo`uf70AyeQbObrf&4%sLx}VWG3$C{=hSxNF9a_mY<9@j3NM! zNnp?NQhnFP_)yNi6ee4&YV<_|F)l0oE{wM&>Cx!04~ufX`tzw?EPs?#T5HZm<6tYE z6{-IXEIJ{?3KP2_QvDm-{~N4H$thFplt{V}i{AEO_WS7|mP}CtunHHo#`m&o-5)u8 zAX5LBwdxXfx9Jsr2yki;t7cEow171c)%t>8aK$VF!wi|sbo9Txua@imvAd%9Xd7Sa z;DPn`w)0em-M~Doe`G!aLoC|zQAxbP=tS2hTd8_B#tV>6ls?z9^OyNyfs8Y&%oP08 z?p597AGH$LT-Ku_ljaCM!v;d_Mcg%Pc2QPas14MUpgEBsrxcv>M~l%Bh<24)2L_rU zSE);Wgfha*m)B_e=gW8CZX~fqJnUF0PMHvrLt<(PL++||AeXa$D|L;4vTvjC1c}vx z2?7+^_vSjtkrlV?bjrseXXVQSTp+Z<`-R=mdyyrkUWz2Fq{9%~J`Gjn1pPx(^=l|M z(H^ZYS5V36lGm9D+d(r;qqU(Pif(}|dA8^fM4P4$MtDRH+($k@3|em6ie#eom6g`2 zXM{!wqyQu2jxPERng4R-IWf4n*xFY5AdqIqOB;hF%YEb(p6mNu~u7DgS(1KQ6k7l zlw%7wJVYU>EmC0yXNx*9B|QplC(4;P)~pq8YYpG(py{mOtC=8&KfLJ<6|LHUJchc& z1uKO3+(tOmxrzpa{P9cR`>F8N!1oj3`!sxy3f~y`XmrRQ{}_D#A$+CqQEC1rXBB&O zCQ}Eq(dhrV7Db15MWV(!Pc%7eIP8i=1Jue;-zpBi_#;hr0LI52tu^l`?ahkT@3WFS z5sFkl#?{YD=fcKRq7wBfTHUX!HinMOlX&duM*D1X9^%MjyZ2XeIKv9{7-5GICilp5 zJRRvgGtv*ek-n9SgjU~w zXZEpW5wh81;b+sgAxz#Io6I`Qa6>%}>?`DJa|C>$cJb;1o&I6F{uj12evhD}N^7C6OdZk_h-TabD=#ozgxNAR zb#}%lt0HvvXD(tnJBLx!B6{ZI2vY;V)SB(N>JrG7l6J41G~;1=jpB)m7h)Q^Cu3{8d9B| z_<0Sbw35H!d@4Nw)_p%Rtox$-ietvYu0Y%NZ9^DDCtArH*lp&XAd;t}BjKHB`g=6j z6UORXrLyo_F6Kv7ND1u@dk(PKVC-{U;mRw}QMa?{K$svlECe8oenTfV65NE^gsL9~ z?0&r)T(QmL`AB-zK6vpl(c}6tY3OZsn;*ea9KIvF%^$6QciC%pdW>Ul`*R5bR`P7H zi2DERHk8nmX$3a>l=@=FqbJa2YbAfYHC+es-0yQnlX^WioaP==zoS6zm0{=E#9xb$ zAv|AR15MS3k+md05iV@aa?RHriJ2M99t}qpVX@l1c;!c;0FsvqDlB1g_oOg$T958u zaJN8=JuSUR5knhzbF5hTkz5R-%{jix6+O$sQZZ(TcdymhJS2@hqACaN;*Nlwz6{SC z(&VGl<-5W$=r!546S6CP_90r8)Yfb=_<=n z{!1WI1tj)?EEe_uolwt-L-L#SCcbf3OBV9MF|-NY2_8glt(=dp@iNghhMhfDY9!LZ zJJ=OQ*C=)i>)*q7BbY*5ELGN9>#=+2h`;L| zrm*}hYyFjYuX&`XOQaC{1j2Z0cBHuLo@KZn8)2=VP~4U3VCpCmYzOO&4eb*rpG0pH zlFQIeY34ArW;U6p&|e@tFcaOq)par|h?VML_p%#=vR*d2Q?SsCMTP+KNQ1_ylbBgP zF}rxbUOX9Z1@_){vbDi)t*_=@20QT{>`UQc!b+8)(4r0s>2afwo+CX4xXw1F<2f zPtGtqaako;Zor)|o`wRLdh^vnX%pte&XY~fQ(XQ`y@Zxw5XGxf z>@L7F8Qv{pii{^dRBlzVBd{LH?^d9GNBsM3Wy7?gG=3V|GWTe);YJdV!NgTV1#^(C z>^qtx{@0`R=Tu_HT@rbT-_eAxOgJxL7e!O*aV~dphZ6=2uIdMxoFh%nuducsAIq8f znC$5JF-#qs*)%-ErYv4=YN>z{6?qAyAgz|dN_`RuK*Q|bP%Ls__?y;jWxL7jKz+b^ zYRK81*$6K?j^xYWC3>ERP!JG{Rkzq$%`b)#zVlSk=fGU;cBGUz0&}(8w`H{FR2UJB zaPrd#L-(b%k8hffIOeU(kgC#UW)>EAm0zej;ngkLBC0M*)k@sU%Ki_OEK3zFXDxcS z`1kwQVqp|AW!6${a>^j8@^>-*$amqQqv0_g-J+DjzA6>HA9sWq-tEXb`?)_s9$0w3 z2~GLEqA=DsY}l?x-kRKR^9iI0U(c@OlVV7`!V3+o?*&>r(B!-&>^+Cvi$ViWW4#R% zuXa{?zS4dO8n-sUI=nLZ9Oag!!vpyK8+>d`Rf!Mr$Z`e9up(54-Jv7!m~=I4MFVN% zhPpLKM9|Dbtw3Y^EV_Ve;7xpp(PWPBfWba2XJ_YG$5RD|5Ks2C=fbDUOR3;4u?F9X z8(HO`0jEv@m&{_hJ};DcA2{jx*gGK3JO~|$lwX0;lr(>U7eddqQeQ+ro|R%arI?Ov zNGYli-6O?tq|}YtS%-2&uAUX;g5GGF(HqTWs&ZRF5?;uw+D&8aUOf}Y^kNpQ#^;bL z#_h1P>1`0FoBgUbCf*woa=y+X9dEE;3zda4QVM=GwxS?gnftMFJ`c7tzrI#pK0Nc3k2iSoGGh?PQGnUfGp_S0hK3k8SVZ&OjCb~7j* z6|Alopj<2Y6%=sd{gGC(3m)AQ;l0%%k(%hdtkm5IWtQo}xWGvAD@^hMGzl?DVsD5! zNds8v=6^B#LeL#3e6fd5sYlj3!=CkVn({&L&pZ#c)IOg1o(8Wm>Yd0Z=hQMwvZ?D@ zpb`%C)Umdmo~>=1QFv+_UsQ#hG9lhijZCrJGQUE0MRPk93Kba(C8ofd`aD@)Iv41h zkpxC9^aO$`TicI-qpavmT3LEV#}iG@t!xgZ*X&124LhSNMJBSwpWjk1EMLht{)|_n zdB&fcX#Dx7+^%H1KM!JfSJ@WK!tUtG%odcH8m}h~^T*HZoH*1UAKN)`h(CTx=fo0! z{DjVl#s0X}IkCteAKp39?~fOE4)Y(}(TxvMZsm6NA}mE>Q!`Rn-HhN4T7d~Di!8!_ z{nEKN!H^Hoxl5O{`Ql3!E?Iix65ll2H*LIcT9_6=Xx=g3$|Lso|9@=daWwQ#=f8QH z&%dJFf6Ay~rQIl$a$tNQr2CY-_&ChhDE|e#3R{dzgb_Z{N7X%S3=xjlZ0Yqisw=UW z@@u}tx)e4_U5VZA!6?ro3fs=Bv<3Mni~&YR!o(!w>{0h;s4KCTmA}-$jtqj0Vr7K; zth@*v1U#6Hdlx9|B~(Jgz9MWID*KH&`-y3_D%X2>vD z{wJ30D=tnJmF+K%mK`Xbj%$d>?2&tk>O;D|C<3TIx2j7s=aaKS_RnAZt9-4(Crfp~FI;d_PbzzbG&$n4QRGhUk zGk2m03>8mlCNBFJj5Z#3ng|c|1w43_!q4{L;}kBhxtpS&!pkHXFNa^E=y~?ebU_gq z>YHqW@J~?q6c5heV74{c7t+R@cDk?o0sz(ruVbG$7`_TP`2$K6T?5Dx@m>|y`MOl$`xLJGah{PS{Q(btkHT?Fxb5mb zw=)c;2R$Y!vh0Oxz2v_~@tL9S(Do1U8rA-FyZfEOgC6`{g>$C@U3LsWn0&fD_-P8? zqi``6AYLI`mREpouzYcqYB2oj0{Ha>@SA{B&R*4&#CQUEcvg5Y{$E%0-AXZH3;_KD z1?YcV0OyXd!T3L00Drvz{$T<91oWkY@#mZ6!SKrp;FAjAUnqcc0d6q7810JjU^a|+t(8hm9BqVE;zAi(a9Sg!y-6lHw{6~>_#&0GR0EAr3S*mp@BXrm z7(Q$d`>HV6c|*&hrLbs8)_JhjHgrN$oiK8`WGP5n=fr5clO{iz={)V zj1Ng*F+5oRQ1N>vx}F&O7HtpOipA=kXwv2a0qOD;2c^0LKhT~O4Hf83m|$`V(s zjxu4J*JZ(;F=&^cr}LV3Q|Le#w2<{kk1rU0#rhK#E``(cbK;y*X#9)nIe_?B1LvD< zIxjs>O=_IasG83=4V=$78vi!~H*HUS9`jc^UbvK@>6aL|X#Pu0Jl``{HGc8CjTx2 zzYx5%oR1s$MF#$kfpe;==|8U~re1k&HE>h@mks=4gU@RQUT5HMv9ZCCe?9(ny5rO& zo;cT@G~QSMzuLe}TY|S3xGCpv4g4~L|LX>B(oZ=aL~vetS`8dqnzC~K$iUh6YWe?a z;8z&<`vx8~@Q;5C0XU``!oTJ--@wNkc(MQ<{y2!>$fpMXn$K$nZpt%eG^r)MsfW1+ z-hlg>&lZJy>*wJwdP+@`MdO=gWmpfd>tIWdZyv2Ht4UKWyNp-fHj)mX3Nb z^EI;o&cjl4q@RF)o!@|gPc-m{4cu%;`wZNqzfe8jlfP~7nP%V-125&4S2)s7#=n;5 z3IjLm;Uoi(8uaJMg=E3UtPe*F+-$%4BS}oR&fs$~J6|~BP59UHEHH3W4_yXs%K3(Y zo9P}ha5LSLIhlZCx>NA4(~TFvYXTsGBfTk4Yk;W4&3Vy-0Rap8sqkw4=Z($bCjAWs z@VLUg?c%Ejz1c1vC_um2pf}UqW8kJ9-ZSuv4EaZ$mXqJCSECKwxoJK8v{4xTu_zc&nB+r`F8`KVcQ_8u%;&pJd=> zdwkfyP5FPTaIYQ?8}z0=N1TPk;3$t-jxQ+O%jZ3V-sCfy0XXvc4E}Y#E>O6aPiq0Z z)8Ip|=JWjm^lQ!m5uBI*V+HX23a6Z($G_%(F@=Wn^7&x_e6zyICxU;?XL|wqHw=0+ zU!&N0!FkjDTmigO;Y`=$v)Z8N)I-bj4TJt_17B;Znq19`fEINyH)-3s` zr>`7iwcn)s=ot04SjAV(BgaAsw8B#`y8JZZe0bP51~s6rU7wSlBT6`y|8V^4_?(l_ zv5)s8A@EL4uHbHzm+Y@MuM8h0JFpe!t0+tq?l}C9#=kdx-X1Ld6_?=#T$QI`c+(fF zrE=MyCVK-lft-_m`Fqg?7l<1d)YK@FW4GBGpz@RpimSBQ%TrIkpS^v_4^l{=an@p2e|ySfItw@-fEPW%P<&gKw8*th

      u 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 rLPpXWJ^7l?X-ton@ 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

      n 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 D|5M3Z literal 0 HcmV?d00001 diff --git a/openssl/1.1/lin64/libssl.so.1.1 b/openssl/1.1/lin64/libssl.so.1.1 new file mode 100755 index 0000000000000000000000000000000000000000..83f52db439e4bd1aba3b1bc73b2c2daf427eb834 GIT binary patch literal 688960 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%0DmNTB@fi%Odgy`FcFx$Rep+uHFSuQ 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 MkLvaIuiyUv1J@G=7ytkO literal 0 HcmV?d00001 diff --git a/openssl/1.1/version.txt b/openssl/1.1/version.txt new file mode 100644 index 0000000..5f64bb4 --- /dev/null +++ b/openssl/1.1/version.txt @@ -0,0 +1 @@ +Version 1.1.1

      d_EbJsc1cWu-)2dq@qRVeBbTtd?lNZE_T2-X3$c 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�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

      N8vML@Pg97P1e+glQq-B>6!EE=S*qM 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%0AkT1k8HQ(ooAW(|-sC^*mqgGn7W#fE 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%0AU6z{O}_dajUIpae)b=PPY&*l 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 z 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