diff --git a/Configure b/Configure index 3a5a78df..813cb77a 100755 --- a/Configure +++ b/Configure @@ -312,9 +312,9 @@ $config{sdirs} = [ "buffer", "bio", "stack", "lhash", "rand", "err", "evp", "asn1", "pem", "x509", "x509v3", "conf", "txt_db", "pkcs7", "pkcs12", "comp", "ocsp", "ui", "cms", "ts", "srp", "cmac", "ct", "async", "kdf", - "sm3", "base58", "sms4", "zuc", "serpent", "speck", "kdf2", "ffx", "otp", - "ecies", "sm2", "cpk", "paillier", "ec2", "sm9", "bfibe", "bb1ibe", - "gmapi", "skf", "sdf", "saf", "sof", "ecrs" + "sm3", "sms4", "zuc", "kdf2", "otp", + "ecies", "sm2", "paillier", "sm9", + "gmapi", "skf", "sdf" ]; # Known TLS and DTLS protocols @@ -415,21 +415,13 @@ my @disablables = ( "sms4", "kdf2", "ecies", - "ffx", "sm2", - "ecrs", "paillier", - "cpk", "otp", "gmapi", - "ec2", - "bfibe", - "bb1ibe", "sm9", - "saf", "sdf", "skf", - "sof", "zuc", "aes", "sha", @@ -437,9 +429,6 @@ my @disablables = ( "rsa", "pem", "pkcs7", - "serpent", - "speck", - "base58", "java", "ca", "gmtls", @@ -484,8 +473,6 @@ our %disabled = ( # "what" => "comment" "skfeng" => "default", "sdfeng" => "default", "gmieng" => "default", - "cpk" => "default", - "speck" => "default", ); # Note: => pair form used for aesthetics, not to truly make a hash table @@ -504,15 +491,12 @@ my @disable_cascades = ( "dtls" => [ @dtls ], "sm3" => [ "sm2" ], - "sdf" => [ "saf" ], - "saf" => [ "sof" ], # SSL 3.0, (D)TLS 1.0 and TLS 1.1 require MD5 and SHA "md5" => [ "ssl", "tls1", "tls1_1", "dtls1", "engine" ], # current pkcs12 rfc only define sha1/des bag - "sha" => [ "ssl", "tls1", "tls1_1", "dtls1", "engine", "rsa", "dh", "dsa", "ocsp", "ct", "srp", "ts", "ec2", "cpk" ], + "sha" => [ "ssl", "tls1", "tls1_1", "dtls1", "engine", "rsa", "dh", "dsa", "ocsp", "ct", "srp", "ts"], "aes" => [ "engine" ], - "ec2" => [ "sm9", "bfibe", "bb1ibe" ], # Additionally, SSL 3.0 requires either RSA or DSA+DH sub { $disabled{rsa} diff --git a/apps/build.info b/apps/build.info index b0df7f05..37f8241f 100644 --- a/apps/build.info +++ b/apps/build.info @@ -11,7 +11,7 @@ IF[{- !$disabled{apps} -}] s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c \ srp.c ts.c verify.c version.c x509.c rehash.c \ apps.c opt.c s_cb.c s_socket.c \ - app_rand.c cpk.c otp.c fpe.c paiutl.c \ + app_rand.c otp.c paiutl.c \ sm2.c sm2utl.c sdf.c skf.c \ sm9param.c gensm9.c sm9.c sm9utl.c \ {- $target{apps_aux_src} -} diff --git a/apps/cpk.c b/apps/cpk.c deleted file mode 100644 index 1c797814..00000000 --- a/apps/cpk.c +++ /dev/null @@ -1,87 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * gmssl cpk -help - * gmssl cpk -genmsk -out - * gmssl cpk -params -text - * gmssl cpk -genkey -in -id - */ - -#include -#ifdef OPENSSL_NO_CPK -NON_EMPTY_TRANSLATION_UNIT -#else - -# include -# include -# include -# include "apps.h" -# include -# include -# include -# include -# include - -typedef enum OPTION_choice { - OPT_ERR = -1, - OPT_EOF = 0, - OPT_HELP -} OPTION_CHOICE; - -OPTIONS cpk_options[] = { - {"help", OPT_HELP, '-', "Display this summary"}, - {NULL} -}; - -int cpk_main(int argc, char **argv) -{ - printf("cpk not implemented\n"); - return 0; -} -#endif diff --git a/apps/fpe.c b/apps/fpe.c deleted file mode 100644 index 0b42d361..00000000 --- a/apps/fpe.c +++ /dev/null @@ -1,286 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2018 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#ifdef OPENSSL_NO_FPE -NON_EMPTY_TRANSLATION_UNIT -#else - -# include -# include -# include -# include -# include -# include -# include -# include "apps.h" - -typedef enum OPTION_choice { - OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, - OPT_LIST, - OPT_E, OPT_D, - OPT_CIPHER, OPT_UPPER_K, OPT_TWEAK, - OPT_ENGINE, OPT_CONFIG -} OPTION_CHOICE; - -OPTIONS fpe_options[] = { - {"help", OPT_HELP, '-', "Display this summary"}, - {"ciphers", OPT_LIST, '-', "List ciphers"}, - {"e", OPT_E, '-', "Encrypt"}, - {"d", OPT_D, '-', "Decrypt"}, - {"K", OPT_UPPER_K, 's', "Raw key, in hex"}, - {"tweak", OPT_TWEAK, 's', "Tweak string"}, - {"", OPT_CIPHER, '-', "Any supported cipher"}, -#ifndef OPENSSL_NO_ENGINE - {"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"}, - {"config", OPT_CONFIG, 's', "A config file"}, -#endif - {NULL} -}; - -static void show_ciphers(const OBJ_NAME *name, void *bio_); -static int set_hex(char *in, unsigned char *out, int size); - -int fpe_main(int argc, char **argv) -{ - int ret = 1; - BIO *in = NULL, *out = NULL; - char *prog; - OPTION_CHOICE o; - int enc = 1; - unsigned char key[32] = {0}; - char *hkey = NULL, *tweak = NULL; - const EVP_CIPHER *cipher = NULL; - CONF *conf = NULL; - char *configfile = default_config_file; - ENGINE *e = NULL; - char inbuf[32] = {0}; - char outbuf[32] = {0}; - FFX_CTX *ctx = NULL; - - - prog = opt_init(argc, argv, fpe_options); - while ((o = opt_next()) != OPT_EOF) { - switch (o) { - case OPT_EOF: - case OPT_ERR: -help: - BIO_printf(bio_err, "%s: Use -help for summary.\n", prog); - goto end; - case OPT_HELP: - opt_help(fpe_options); - ret = 0; - goto end; - case OPT_LIST: - BIO_printf(bio_err, "Supported ciphers:\n"); - OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_CIPHER_METH, - show_ciphers, bio_err); - BIO_printf(bio_err, "\n"); - goto end; - case OPT_E: - enc = 1; - break; - case OPT_D: - enc = 0; - break; - case OPT_UPPER_K: - hkey = opt_arg(); - break; - case OPT_TWEAK: - tweak = opt_arg(); - break; - case OPT_CIPHER: - if (!opt_cipher(opt_unknown(), &cipher)) - goto help; - break; - case OPT_ENGINE: - e = setup_engine(opt_arg(), 0); - break; - case OPT_CONFIG: - configfile = opt_arg(); - break; - } - } - argc = opt_num_rest(); - if (argc != 0) - goto help; - - in = BIO_new_fp(stdin, BIO_NOCLOSE); - out = BIO_new_fp(stdout, BIO_NOCLOSE); - - /* engine */ - if (e) - BIO_printf(bio_err, "Using configuration from %s\n", configfile); - - if ((conf = app_load_config(configfile)) == NULL) - goto end; - if (configfile != default_config_file && !app_load_modules(conf)) - goto end; - - /* get cipher */ - if (EVP_CIPHER_mode(cipher) != EVP_CIPH_ECB_MODE) { - BIO_printf(bio_err, "%s: Only block cipher with ECB mode is supported\n", prog); - goto end; - } - - /* get key */ - if (!hkey) { - BIO_printf(bio_err, "%s: no key given\n", prog); - goto end; - } - if (!set_hex(hkey, key, EVP_CIPHER_key_length(cipher))) { - BIO_printf(bio_err, "%s: invalid hex key value\n", prog); - goto end; - } - - /* get tweak */ - if (!tweak) { - BIO_printf(bio_err, "%s: `-tweak` required\n", prog); - goto end; - } - if (strlen(tweak) < FFX_MIN_TWEAKLEN || strlen(tweak) > FFX_MAX_TWEAKLEN) { - BIO_printf(bio_err, "%s: invalid tweak length, should be %d to %d\n", - prog, FFX_MIN_TWEAKLEN, FFX_MAX_TWEAKLEN); - goto end; - } - - /* get input digits */ - if (BIO_read(in, inbuf, sizeof(inbuf) - 1) <= 0) { - ERR_print_errors(bio_err); - goto end; - } - if (strlen(inbuf) < FFX_MIN_DIGITS || strlen(inbuf) > FFX_MAX_DIGITS) { - BIO_printf(bio_err, "%s: invalid digits length, should be %d to %d\n", - prog, FFX_MIN_DIGITS, FFX_MAX_DIGITS); - goto end; - } - - /* encrypt/decrypt */ - if (!(ctx = FFX_CTX_new()) - || !FFX_init(ctx, cipher, key, 0)) { - ERR_print_errors(bio_err); - goto end; - } - if (enc) { - if (!FFX_encrypt(ctx, inbuf, outbuf, strlen(inbuf), - (unsigned char *)tweak, strlen(tweak))) { - ERR_print_errors(bio_err); - goto end; - } - } else { - if (!FFX_decrypt(ctx, inbuf, outbuf, strlen(inbuf), - (unsigned char *)tweak, strlen(tweak))) { - ERR_print_errors(bio_err); - goto end; - } - } - - if (BIO_write(out, outbuf, strlen(outbuf)) != strlen(outbuf)) { - ERR_print_errors(bio_err); - goto end; - } - BIO_puts(out, "\n"); - - ret = 0; - -end: - BIO_free(in); - BIO_free(out); - OPENSSL_cleanse(key, sizeof(key)); - if (enc) - OPENSSL_cleanse(inbuf, sizeof(inbuf)); - FFX_CTX_free(ctx); - return ret; -} - -static void show_ciphers(const OBJ_NAME *name, void *bio_) -{ - BIO *bio = bio_; - static int n; - - if (!islower((unsigned char)*name->name)) - return; - - BIO_printf(bio, "-%-25s", name->name); - if (++n == 3) { - BIO_printf(bio, "\n"); - n = 0; - } else - BIO_printf(bio, " "); -} - -static int set_hex(char *in, unsigned char *out, int size) -{ - int i, n; - unsigned char j; - - n = strlen(in); - if (n > (size * 2)) { - BIO_printf(bio_err, "hex string is too long\n"); - return (0); - } - memset(out, 0, size); - for (i = 0; i < n; i++) { - j = (unsigned char)*in; - *(in++) = '\0'; - if (j == 0) - break; - if (!isxdigit(j)) { - BIO_printf(bio_err, "non-hex digit\n"); - return (0); - } - j = (unsigned char)OPENSSL_hexchar2int(j); - if (i & 1) - out[i / 2] |= j; - else - out[i / 2] = (j << 4); - } - return (1); -} -#endif diff --git a/apps/gmssl.c b/apps/gmssl.c index 40981f64..d1933846 100644 --- a/apps/gmssl.c +++ b/apps/gmssl.c @@ -545,9 +545,6 @@ static int SortFnByName(const void *_f1, const void *_f2) static void list_disabled(void) { BIO_puts(bio_out, "Disabled algorithms:\n"); -#ifdef OPENSSL_NO_CPK - BIO_puts(bio_out, "CPK\n"); -#endif #ifdef OPENSSL_NO_SM9 BIO_puts(bio_out, "SM9\n"); #endif diff --git a/apps/progs.h b/apps/progs.h index d81bfc38..5ff68c27 100644 --- a/apps/progs.h +++ b/apps/progs.h @@ -28,7 +28,6 @@ extern int asn1parse_main(int argc, char *argv[]); extern int ca_main(int argc, char *argv[]); extern int ciphers_main(int argc, char *argv[]); extern int cms_main(int argc, char *argv[]); -extern int cpk_main(int argc, char *argv[]); extern int crl_main(int argc, char *argv[]); extern int crl2pkcs7_main(int argc, char *argv[]); extern int dgst_main(int argc, char *argv[]); @@ -41,7 +40,6 @@ extern int enc_main(int argc, char *argv[]); extern int engine_main(int argc, char *argv[]); extern int errstr_main(int argc, char *argv[]); extern int exit_main(int argc, char *argv[]); -extern int fpe_main(int argc, char *argv[]); extern int gendsa_main(int argc, char *argv[]); extern int genpkey_main(int argc, char *argv[]); extern int genrsa_main(int argc, char *argv[]); @@ -89,7 +87,6 @@ extern OPTIONS asn1parse_options[]; extern OPTIONS ca_options[]; extern OPTIONS ciphers_options[]; extern OPTIONS cms_options[]; -extern OPTIONS cpk_options[]; extern OPTIONS crl_options[]; extern OPTIONS crl2pkcs7_options[]; extern OPTIONS dgst_options[]; @@ -102,7 +99,6 @@ extern OPTIONS enc_options[]; extern OPTIONS engine_options[]; extern OPTIONS errstr_options[]; extern OPTIONS exit_options[]; -extern OPTIONS fpe_options[]; extern OPTIONS gendsa_options[]; extern OPTIONS genpkey_options[]; extern OPTIONS genrsa_options[]; @@ -157,9 +153,6 @@ static FUNCTION functions[] = { #endif #ifndef OPENSSL_NO_CMS { FT_general, "cms", cms_main, cms_options }, -#endif -#ifndef OPENSSL_NO_CPK - { FT_general, "cpk", cpk_main, cpk_options }, #endif { FT_general, "crl", crl_main, crl_options }, { FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options }, @@ -185,7 +178,6 @@ static FUNCTION functions[] = { #endif { FT_general, "errstr", errstr_main, errstr_options }, { FT_general, "exit", exit_main, exit_options }, - { FT_general, "fpe", fpe_main, fpe_options }, #ifndef OPENSSL_NO_DSA { FT_general, "gendsa", gendsa_main, gendsa_options }, #endif diff --git a/apps/speed.c b/apps/speed.c index 946fe3c2..b123951e 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -202,7 +202,6 @@ typedef struct loopargs_st { #ifndef OPENSSL_NO_SM9 SM9PublicParameters *sm9mpk[SM9_NUM]; SM9PrivateKey *sm9sk[SM9_NUM]; - SM9MasterSecret *sm9mst[SM9_NUM]; #endif EVP_CIPHER_CTX *ctx; HMAC_CTX *hctx; @@ -1123,91 +1122,23 @@ static long sm9sign_c[SM9_NUM][2]; static int SM9_sign_loop(void *args) { - loopargs_t *tempargs = *(loopargs_t **)args; - unsigned char *buf = tempargs->buf; - SM9PrivateKey **sm9 = tempargs->sm9sk; - unsigned char *sm9sig = tempargs->buf2; - unsigned int *sm9siglen = &tempargs->siglen; - int ret, count; - for (count = 0; COND(sm9sign_c[testnum][0]); count++) { - ret = SM9_sign(NID_sm3, buf, 32, sm9sig, sm9siglen, sm9[testnum]); - if (ret == 0) { - BIO_printf(bio_err, "SM9 sign failure\n"); - ERR_print_errors(bio_err); - count = -1; - break; - } - } - return count; + return 1; } -static char* sm9verify_id = "sm9_verify"; -static size_t sm9verify_idlen = 10; static int SM9_verify_loop(void *args) { - loopargs_t *tempargs = *(loopargs_t **)args; - unsigned char *buf = tempargs->buf; - SM9PublicParameters **sm9 = tempargs->sm9mpk; - unsigned char *sm9sig = tempargs->buf2; - unsigned int sm9siglen = tempargs->siglen; - int ret, count; - for (count = 0; COND(sm9sign_c[testnum][1]); count++) { - ret = SM9_verify(NID_sm3, buf, 32, sm9sig, sm9siglen, sm9[testnum], sm9verify_id, sm9verify_idlen); - if (ret != 1) { - BIO_printf(bio_err, "SM9 verify failure\n"); - ERR_print_errors(bio_err); - count = -1; - break; - } - } - return count; + return 1; } static long sm9enc_c[SM9_NUM][2]; -static char* sm9enc_id = "sm9_enc"; -static size_t sm9enc_idlen = 7; static int SM9_encrypt_loop(void *args) { - loopargs_t *tempargs = *(loopargs_t **)args; - unsigned char *buf = tempargs->buf; - SM9PublicParameters **sm9 = tempargs->sm9mpk; - unsigned char *sm9cipher = tempargs->buf2; - size_t *sm9cipherlen = &tempargs->cipherlen; - int ret, count; - for (count = 0; COND(sm9enc_c[testnum][0]); count++) { - *sm9cipherlen = BUFSIZE; - ret = SM9_encrypt(NID_sm3, buf, 32, sm9cipher, - sm9cipherlen, sm9[testnum], sm9enc_id, sm9enc_idlen); - if (ret == 0) { - BIO_printf(bio_err, "SM9 encrypt failure\n"); - ERR_print_errors(bio_err); - count = -1; - break; - } - } - return count; + return 1; } static int SM9_decrypt_loop(void *args) { - loopargs_t *tempargs = *(loopargs_t **)args; - unsigned char *buf = tempargs->buf; - SM9PrivateKey **sm9 = tempargs->sm9sk; - unsigned char *sm9cipher = tempargs->buf2; - size_t sm9cipherlen = tempargs->cipherlen; - int ret, count; - for (count = 0; COND(sm9enc_c[testnum][0]); count++) { - size_t len = sm9cipherlen; - ret = SM9_decrypt(NID_sm3, sm9cipher, sm9cipherlen, - buf, &len, sm9[testnum]); - if (ret == 0) { - BIO_printf(bio_err, "SM9 decrypt failure\n"); - ERR_print_errors(bio_err); - count = -1; - break; - } - } - return count; + return 1; } #endif @@ -1708,12 +1639,6 @@ int speed_main(int argc, char **argv) static const int test_sm9_curves_bits[SM9_NUM] = { 256, }; - static const int test_sm9_scheme[SM9_NUM] = { - NID_sm9sign, - }; - static const int test_sm9_hash1[SM9_NUM] = { - NID_sm9hash1_with_sm3, - }; int sm9sign_doit[SM9_NUM] = { 0 }; int sm9enc_doit[SM9_NUM] = { 0 }; #endif @@ -3334,181 +3259,7 @@ int speed_main(int argc, char **argv) #endif /* OPENSSL_NO_SM2 */ #ifndef OPENSSL_NO_SM9 - if (RAND_status() != 1) { - RAND_seed(rnd_seed, sizeof rnd_seed); - } - for (testnum = 0; testnum < SM9_NUM; testnum++) { - int st = 1; - - if (!sm9sign_doit[testnum]) - continue; /* Ignore Curve */ - for (i = 0; i < loopargs_len; i++) { - loopargs[i].sm9mst[testnum] = SM9_generate_master_secret(test_sm9_curves[testnum], - test_sm9_scheme[testnum], test_sm9_hash1[testnum]); - if (loopargs[i].sm9mst[testnum] == NULL) { - st = 0; - break; - } - } - if (st == 0) { - BIO_printf(bio_err, "SM9 failure.\n"); - ERR_print_errors(bio_err); - rsa_count = 1; - } else { - for (i = 0; i < loopargs_len; i++) { - /* Perform SM9 signature test */ - loopargs[i].sm9sk[testnum] = SM9_extract_private_key(loopargs[i].sm9mst[testnum], sm9verify_id, sm9verify_idlen); - st = SM9_sign(NID_sm3, loopargs[i].buf, 32, loopargs[i].buf2, - &loopargs[i].siglen, loopargs[i].sm9sk[testnum]); - if (st == 0) - break; - } - if (st == 0) { - BIO_printf(bio_err, - "SM9 sign failure. No SM9 sign will be done.\n"); - ERR_print_errors(bio_err); - rsa_count = 1; - } else { - pkey_print_message("sign", "sm9", - sm9sign_c[testnum][0], - test_sm9_curves_bits[testnum], ECDSA_SECONDS); - Time_F(START); - count = run_benchmark(async_jobs, SM9_sign_loop, loopargs); - d = Time_F(STOP); - - BIO_printf(bio_err, - mr ? "+R7:%ld:%d:%.2f\n" : - "%ld %d bit SM9 signs in %.2fs \n", - count, test_sm9_curves_bits[testnum], d); - sm9sign_results[testnum][0] = d / (double)count; - rsa_count = count; - } - - /* Perform SM9 verification test */ - for (i = 0; i < loopargs_len; i++) { - loopargs[i].sm9mpk[testnum] = SM9_extract_public_parameters(loopargs[i].sm9mst[testnum]); - st = SM9_verify(NID_sm3, loopargs[i].buf, 32, loopargs[i].buf2, - loopargs[i].siglen, loopargs[i].sm9mpk[testnum], sm9verify_id, sm9verify_idlen); - if (st != 1) - break; - } - if (st != 1) { - BIO_printf(bio_err, - "SM9 verify failure. No SM9 verify will be done.\n"); - ERR_print_errors(bio_err); - sm9sign_doit[testnum] = 0; - } else { - pkey_print_message("verify", "sm9", - sm9sign_c[testnum][1], - test_sm9_curves_bits[testnum], ECDSA_SECONDS); - Time_F(START); - count = run_benchmark(async_jobs, SM9_verify_loop, loopargs); - d = Time_F(STOP); - BIO_printf(bio_err, - mr ? "+R8:%ld:%d:%.2f\n" - : "%ld %d bit SM9 verify in %.2fs\n", - count, test_sm9_curves_bits[testnum], d); - sm9sign_results[testnum][1] = d / (double)count; - } - - if (rsa_count <= 1) { - /* if longer than 10s, don't do any more */ - for (testnum++; testnum < SM9_NUM; testnum++) - sm9sign_doit[testnum] = 0; - } - } - } - - - if (RAND_status() != 1) { - RAND_seed(rnd_seed, sizeof rnd_seed); - } - for (testnum = 0; testnum < SM9_NUM; testnum++) { - int st = 1; - - if (!sm9enc_doit[testnum]) - continue; - for (i = 0; i < loopargs_len; i++) { - loopargs[i].sm9mst[testnum] = SM9_generate_master_secret(test_sm9_curves[testnum], - test_sm9_scheme[testnum], test_sm9_hash1[testnum]); - if (loopargs[i].sm9mst[testnum] == NULL) { - st = 0; - break; - } - } - if (st == 0) { - BIO_printf(bio_err, "SM9 failure.\n"); - ERR_print_errors(bio_err); - rsa_count = 1; - } else { - for (i = 0; i < loopargs_len; i++) { - /* these 2 lines should be modified ? */ - /*if (!nopre) - EC_KEY_precompute_mult(loopargs[i].sm9[testnum], NULL);*/ - /* Perform SM9 encryption test */ - loopargs[i].sm9mpk[testnum] = SM9_extract_public_parameters(loopargs[i].sm9mst[testnum]); - loopargs[i].cipherlen = BUFSIZE; - st = SM9_encrypt(NID_sm3, loopargs[i].buf, 32, loopargs[i].buf2, - &loopargs[i].cipherlen, loopargs[i].sm9mpk[testnum], sm9enc_id, sm9enc_idlen); - if (st == 0) - break; - } - if (st == 0) { - BIO_printf(bio_err, - "SM9 encryption failure. No SM9 encryption will be done.\n"); - ERR_print_errors(bio_err); - rsa_count = 1; - } else { - pkey_print_message("encrypt", "sm9", - sm9enc_c[testnum][0], - test_sm9_curves_bits[testnum], ECDSA_SECONDS); - Time_F(START); - count = run_benchmark(async_jobs, SM9_encrypt_loop, loopargs); - d = Time_F(STOP); - - BIO_printf(bio_err, - mr ? "+R7:%ld:%d:%.2f\n" : - "%ld %d bit SM9 encrypt in %.2fs \n", - count, test_sm9_curves_bits[testnum], d); - sm9enc_results[testnum][0] = d / (double)count; - rsa_count = count; - } - - /* Perform SM9 verification test */ - for (i = 0; i < loopargs_len; i++) { - loopargs[i].sm9sk[testnum] = SM9_extract_private_key(loopargs[i].sm9mst[testnum], sm9enc_id, sm9enc_idlen); - size_t len = loopargs[i].cipherlen; - st = SM9_decrypt(NID_sm3, loopargs[i].buf2, loopargs[i].cipherlen, - loopargs[i].buf, &len, loopargs[i].sm9sk[testnum]); - if (st == 0) - break; - } - if (st != 1) { - BIO_printf(bio_err, - "SM9 decrypt failure. No SM9 decrypt will be done.\n"); - ERR_print_errors(bio_err); - sm9enc_doit[testnum] = 0; - } else { - pkey_print_message("decrypt", "sm9", - sm9enc_c[testnum][1], - test_sm9_curves_bits[testnum], ECDSA_SECONDS); - Time_F(START); - count = run_benchmark(async_jobs, SM9_decrypt_loop, loopargs); - d = Time_F(STOP); - BIO_printf(bio_err, - mr ? "+R8:%ld:%d:%.2f\n" - : "%ld %d bit SM9 decrypt in %.2fs\n", - count, test_sm9_curves_bits[testnum], d); - sm9enc_results[testnum][1] = d / (double)count; - } - - if (rsa_count <= 1) { - /* if longer than 10s, don't do any more */ - for (testnum++; testnum < SM9_NUM; testnum++) - sm9sign_doit[testnum] = 0; - } - } - } +//FIXME: this is the core code, #endif /* OPENSSL_NO_SM9 */ #ifndef NO_FORK @@ -3779,7 +3530,6 @@ int speed_main(int argc, char **argv) for (k = 0; k < SM9_NUM; k++) { SM9PublicParameters_free(loopargs[i].sm9mpk[k]); SM9PrivateKey_free(loopargs[i].sm9sk[k]); - SM9MasterSecret_free(loopargs[i].sm9mst[k]); } #endif } diff --git a/crypto/base58/base58.c b/crypto/base58/base58.c deleted file mode 100755 index 1322d875..00000000 --- a/crypto/base58/base58.c +++ /dev/null @@ -1,209 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * Copyright 2012-2014 Luke Dashjr - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the standard MIT license. See COPYING for more details. - */ - - -#include -#include -#include -#include -#include - -static const int8_t b58digits_map[] = { - -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1, - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8,-1,-1,-1,-1,-1,-1, - -1, 9,10,11,12,13,14,15, 16,-1,17,18,19,20,21,-1, - 22,23,24,25,26,27,28,29, 30,31,32,-1,-1,-1,-1,-1, - -1,33,34,35,36,37,38,39, 40,41,42,43,-1,44,45,46, - 47,48,49,50,51,52,53,54, 55,56,57,-1,-1,-1,-1,-1, -}; - -int base58_decode(const char *b58, size_t b58sz, void *bin, size_t *binszp) -{ - size_t binsz = *binszp; - const unsigned char *b58u = (void*)b58; - unsigned char *binu = bin; - size_t outisz = (binsz + 3) / 4; - //uint32_t outi[outisz]; - uint32_t *outi = NULL; - uint64_t t; - uint32_t c; - size_t i, j; - uint8_t bytesleft = binsz % 4; - uint32_t zeromask = bytesleft ? (0xffffffff << (bytesleft * 8)) : 0; - unsigned zerocount = 0; - - if (!b58sz) - b58sz = strlen(b58); - - if (!(outi = OPENSSL_malloc(outisz))) { - return 0; - } - - memset(outi, 0, outisz * sizeof(*outi)); - - // Leading zeros, just count - for (i = 0; i < b58sz && b58u[i] == '1'; ++i) - ++zerocount; - - for ( ; i < b58sz; ++i) - { - if (b58u[i] & 0x80) { - // High-bit set on invalid digit - BASE58err(BASE58_F_BASE58_DECODE, BASE58_R_HIGHBIT_SET_ON_INVALID_DIGIT); - return 0; - } - if (b58digits_map[b58u[i]] == -1) - // Invalid base58 digit - return 0; - c = (unsigned)b58digits_map[b58u[i]]; - for (j = outisz; j--; ) - { - t = ((uint64_t)outi[j]) * 58 + c; - c = (t & 0x3f00000000) >> 32; - outi[j] = t & 0xffffffff; - } - if (c) - // Output number too big (carry to the next int32) - return 0; - if (outi[0] & zeromask) - // Output number too big (last int32 filled too far) - return 0; - } - - j = 0; - switch (bytesleft) { - case 3: - *(binu++) = (outi[0] & 0xff0000) >> 16; - case 2: - *(binu++) = (outi[0] & 0xff00) >> 8; - case 1: - *(binu++) = (outi[0] & 0xff); - ++j; - default: - break; - } - - for (; j < outisz; ++j) - { - *(binu++) = (outi[j] >> 0x18) & 0xff; - *(binu++) = (outi[j] >> 0x10) & 0xff; - *(binu++) = (outi[j] >> 8) & 0xff; - *(binu++) = (outi[j] >> 0) & 0xff; - } - - // Count canonical base58 byte count - binu = bin; - for (i = 0; i < binsz; ++i) - { - if (binu[i]) - break; - --*binszp; - } - *binszp += zerocount; - - OPENSSL_free(outi); - return 1; -} - -static const char b58digits_ordered[] = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; - -int base58_encode(const void *data, size_t binsz, char *b58, size_t *b58sz) -{ - const uint8_t *bin = data; - int carry; - size_t i, j, high, zcount = 0; - size_t size; - //uint8_t buf[size]; - uint8_t *buf = NULL; - - while (zcount < binsz && !bin[zcount]) - ++zcount; - - size = (binsz - zcount) * 138 / 100 + 1; - - if (!(buf = OPENSSL_zalloc(size))) { - return 0; - } - - for (i = zcount, high = size - 1; i < binsz; ++i, high = j) - { - for (carry = bin[i], j = size - 1; (j > high) || carry; --j) - { - carry += 256 * buf[j]; - buf[j] = carry % 58; - carry /= 58; - } - } - - for (j = 0; j < size && !buf[j]; ++j); - - if (*b58sz <= zcount + size - j) - { - *b58sz = zcount + size - j + 1; - return 0; - } - - if (zcount) - memset(b58, '1', zcount); - for (i = zcount; j < size; ++i, ++j) - b58[i] = b58digits_ordered[buf[j]]; - b58[i] = '\0'; - *b58sz = i + 1; - - OPENSSL_free(buf); - return 1; -} diff --git a/crypto/base58/base58_err.c b/crypto/base58/base58_err.c deleted file mode 100644 index 9a034293..00000000 --- a/crypto/base58/base58_err.c +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * 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 - */ - -#include -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_BASE58,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_BASE58,0,reason) - -static ERR_STRING_DATA BASE58_str_functs[] = { - {ERR_FUNC(BASE58_F_BASE58_DECODE), "base58_decode"}, - {0, NULL} -}; - -static ERR_STRING_DATA BASE58_str_reasons[] = { - {ERR_REASON(BASE58_R_HIGHBIT_SET_ON_INVALID_DIGIT), - "highbit set on invalid digit"}, - {0, NULL} -}; - -#endif - -int ERR_load_BASE58_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(BASE58_str_functs[0].error) == NULL) { - ERR_load_strings(0, BASE58_str_functs); - ERR_load_strings(0, BASE58_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/base58/build.info b/crypto/base58/build.info deleted file mode 100755 index 329c15cb..00000000 --- a/crypto/base58/build.info +++ /dev/null @@ -1,3 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=base58.c base58_err.c - diff --git a/crypto/bb1ibe/bb1ibe_asn1.c b/crypto/bb1ibe/bb1ibe_asn1.c deleted file mode 100644 index 84254054..00000000 --- a/crypto/bb1ibe/bb1ibe_asn1.c +++ /dev/null @@ -1,101 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include "bb1ibe_lcl.h" - -ASN1_SEQUENCE(BB1PublicParameters) = { - ASN1_SIMPLE(BB1PublicParameters, version, LONG), - ASN1_SIMPLE(BB1PublicParameters, curve, ASN1_OBJECT), - ASN1_SIMPLE(BB1PublicParameters, p, BIGNUM), - ASN1_SIMPLE(BB1PublicParameters, q, BIGNUM), - ASN1_SIMPLE(BB1PublicParameters, pointP, FpPoint), - ASN1_SIMPLE(BB1PublicParameters, pointP1, FpPoint), - ASN1_SIMPLE(BB1PublicParameters, pointP2, FpPoint), - ASN1_SIMPLE(BB1PublicParameters, pointP3, FpPoint), - ASN1_SIMPLE(BB1PublicParameters, v, FpPoint), - ASN1_SIMPLE(BB1PublicParameters, hashfcn, ASN1_OBJECT) -} ASN1_SEQUENCE_END(BB1PublicParameters) -IMPLEMENT_ASN1_FUNCTIONS(BB1PublicParameters) -IMPLEMENT_ASN1_DUP_FUNCTION(BB1PublicParameters) - -ASN1_SEQUENCE(BB1MasterSecret) = { - ASN1_SIMPLE(BB1MasterSecret, version, LONG), - ASN1_SIMPLE(BB1MasterSecret, alpha, BIGNUM), - ASN1_SIMPLE(BB1MasterSecret, beta, BIGNUM), - ASN1_SIMPLE(BB1MasterSecret, gamma, BIGNUM) -} ASN1_SEQUENCE_END(BB1MasterSecret) -IMPLEMENT_ASN1_FUNCTIONS(BB1MasterSecret) -IMPLEMENT_ASN1_DUP_FUNCTION(BB1MasterSecret) - -ASN1_SEQUENCE(BB1PrivateKeyBlock) = { - ASN1_SIMPLE(BB1PrivateKeyBlock, version, LONG), - ASN1_SIMPLE(BB1PrivateKeyBlock, pointD0, FpPoint), - ASN1_SIMPLE(BB1PrivateKeyBlock, pointD1, FpPoint) -} ASN1_SEQUENCE_END(BB1PrivateKeyBlock) -IMPLEMENT_ASN1_FUNCTIONS(BB1PrivateKeyBlock) -IMPLEMENT_ASN1_DUP_FUNCTION(BB1PrivateKeyBlock) - -ASN1_SEQUENCE(BB1CiphertextBlock) = { - ASN1_SIMPLE(BB1CiphertextBlock, version, LONG), - ASN1_SIMPLE(BB1CiphertextBlock, pointChi0, FpPoint), - ASN1_SIMPLE(BB1CiphertextBlock, pointChi1, FpPoint), - ASN1_SIMPLE(BB1CiphertextBlock, nu, BIGNUM), - ASN1_SIMPLE(BB1CiphertextBlock, y, ASN1_OCTET_STRING) -} ASN1_SEQUENCE_END(BB1CiphertextBlock) -IMPLEMENT_ASN1_FUNCTIONS(BB1CiphertextBlock) -IMPLEMENT_ASN1_DUP_FUNCTION(BB1CiphertextBlock) - diff --git a/crypto/bb1ibe/bb1ibe_err.c b/crypto/bb1ibe/bb1ibe_err.c deleted file mode 100644 index 8a9da30f..00000000 --- a/crypto/bb1ibe/bb1ibe_err.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * 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 - */ - -#include -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_BB1IBE,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_BB1IBE,0,reason) - -static ERR_STRING_DATA BB1IBE_str_functs[] = { - {ERR_FUNC(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE), - "BB1CiphertextBlock_hash_to_range"}, - {ERR_FUNC(BB1IBE_F_BB1IBE_DECRYPT), "BB1IBE_decrypt"}, - {ERR_FUNC(BB1IBE_F_BB1IBE_DOUBLE_HASH), "BB1IBE_double_hash"}, - {ERR_FUNC(BB1IBE_F_BB1IBE_DO_DECRYPT), "BB1IBE_do_decrypt"}, - {ERR_FUNC(BB1IBE_F_BB1IBE_DO_ENCRYPT), "BB1IBE_do_encrypt"}, - {ERR_FUNC(BB1IBE_F_BB1IBE_ENCRYPT), "BB1IBE_encrypt"}, - {ERR_FUNC(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY), - "BB1IBE_extract_private_key"}, - {ERR_FUNC(BB1IBE_F_BB1IBE_SETUP), "BB1IBE_setup"}, - {0, NULL} -}; - -static ERR_STRING_DATA BB1IBE_str_reasons[] = { - {ERR_REASON(BB1IBE_R_BB1CIPHERTEXT_INVALID_MAC), - "bb1ciphertext invalid mac"}, - {ERR_REASON(BB1IBE_R_BB1IBE_HASH_FAILURE), "bb1ibe hash failure"}, - {ERR_REASON(BB1IBE_R_BUFFER_TOO_SMALL), "buffer too small"}, - {ERR_REASON(BB1IBE_R_COMPUTE_OUTLEN_FAILURE), "compute outlen failure"}, - {ERR_REASON(BB1IBE_R_COMPUTE_TATE_FAILURE), "compute tate failure"}, - {ERR_REASON(BB1IBE_R_D2I_FAILURE), "d2i failure"}, - {ERR_REASON(BB1IBE_R_DECRYPT_FAILURE), "decrypt failure"}, - {ERR_REASON(BB1IBE_R_DOUBLE_HASH_FAILURE), "double hash failure"}, - {ERR_REASON(BB1IBE_R_ENCRYPT_FAILURE), "encrypt failure"}, - {ERR_REASON(BB1IBE_R_I2D_FAILURE), "i2d failure"}, - {ERR_REASON(BB1IBE_R_INVALID_INPUT), "invalid input"}, - {ERR_REASON(BB1IBE_R_INVALID_MD), "invalid md"}, - {ERR_REASON(BB1IBE_R_INVALID_OUTPUT_BUFFER), "invalid output buffer"}, - {ERR_REASON(BB1IBE_R_INVALID_TYPE1CURVE), "invalid type1curve"}, - {ERR_REASON(BB1IBE_R_NOT_NAMED_CURVE), "not named curve"}, - {ERR_REASON(BB1IBE_R_PARSE_PAIRING), "parse pairing"}, - {0, NULL} -}; - -#endif - -int ERR_load_BB1IBE_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(BB1IBE_str_functs[0].error) == NULL) { - ERR_load_strings(0, BB1IBE_str_functs); - ERR_load_strings(0, BB1IBE_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/bb1ibe/bb1ibe_lcl.h b/crypto/bb1ibe/bb1ibe_lcl.h deleted file mode 100644 index 2cb3dbbb..00000000 --- a/crypto/bb1ibe/bb1ibe_lcl.h +++ /dev/null @@ -1,93 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include - - -struct BB1PublicParameters_st { - long version; - ASN1_OBJECT *curve; - BIGNUM *p; - BIGNUM *q; - FpPoint *pointP; - FpPoint *pointP1; - FpPoint *pointP2; - FpPoint *pointP3; - FpPoint *v; - ASN1_OBJECT *hashfcn; -}; - -struct BB1MasterSecret_st { - long version; - BIGNUM *alpha; - BIGNUM *beta; - BIGNUM *gamma; -}; - -struct BB1PrivateKeyBlock_st { - long version; - FpPoint *pointD0; - FpPoint *pointD1; -}; - -struct BB1CiphertextBlock_st { - long version; - FpPoint *pointChi0; - FpPoint *pointChi1; - BIGNUM *nu; - ASN1_OCTET_STRING *y; -}; - diff --git a/crypto/bb1ibe/bb1ibe_lib.c b/crypto/bb1ibe/bb1ibe_lib.c deleted file mode 100644 index 439d11e0..00000000 --- a/crypto/bb1ibe/bb1ibe_lib.c +++ /dev/null @@ -1,1015 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include "bb1ibe_lcl.h" - - -int BB1IBE_setup(const EC_GROUP *group, const EVP_MD *md, - BB1PublicParameters **pmpk, BB1MasterSecret **pmsk) -{ - int ret = 0; - BB1PublicParameters *mpk = NULL; - BB1MasterSecret *msk = NULL; - BN_CTX *bn_ctx = NULL; - EC_POINT *point = NULL; - EC_POINT *point1 = NULL; - BN_GFP2 *theta = NULL; - BIGNUM *a; - BIGNUM *b; - - if (!group || !pmpk || !pmsk) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!(bn_ctx = BN_CTX_new())) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_MALLOC_FAILURE); - goto end; - } - BN_CTX_start(bn_ctx); - - mpk = BB1PublicParameters_new(); - msk = BB1MasterSecret_new(); - point = EC_POINT_new(group); - point1 = EC_POINT_new(group); - theta = BN_GFP2_new(); - a = BN_CTX_get(bn_ctx); - b = BN_CTX_get(bn_ctx); - - if (!mpk || !msk || !a || !b || !point || !point1 || !theta) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* - * set mpk->version - * set mpk->curve - * set mpk->p - * set mpk->q - * set mpk->pointP - * set mpk->hashfcn - */ - - mpk->version = BB1IBE_VERSION; - - OPENSSL_assert(mpk->curve); - ASN1_OBJECT_free(mpk->curve); - if (!(mpk->curve = OBJ_nid2obj(NID_type1curve))) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, BB1IBE_R_NOT_NAMED_CURVE); - goto end; - } - - if (!EC_GROUP_get_curve_GFp(group, mpk->p, a, b, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, BB1IBE_R_INVALID_TYPE1CURVE); - goto end; - } - - if (!EC_GROUP_get_order(group, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, BB1IBE_R_INVALID_TYPE1CURVE); - goto end; - } - - if (!EC_POINT_get_affine_coordinates_GFp(group, EC_GROUP_get0_generator(group), - mpk->pointP->x, mpk->pointP->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, BB1IBE_R_PARSE_PAIRING); - goto end; - } - - ASN1_OBJECT_free(mpk->hashfcn); - if (!(mpk->hashfcn = OBJ_nid2obj(EVP_MD_type(md)))) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, BB1IBE_R_PARSE_PAIRING); - goto end; - } - - /* - * set msk->version - * random msk->alpha in [1, q - 1] - * random msk->beta in [1, q - 1] - * random msk->gamma in [1, q - 1] - */ - - msk->version = BB1IBE_VERSION; - - do { - if (!BN_rand_range(msk->alpha, mpk->q)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(msk->alpha)); - - do { - if (!BN_rand_range(msk->beta, mpk->q)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(msk->beta)); - - do { - if (!BN_rand_range(msk->gamma, mpk->q)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(msk->gamma)); - - /* - * mpk->pointP1 = msk->alpha * mpk->pointP - * mpk->pointP2 = msk->beta * mpk->pointP - */ - - if (!EC_POINT_mul(group, point, msk->alpha, NULL, NULL, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - mpk->pointP1->x, mpk->pointP1->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_EC_LIB); - goto end; - } - - if (!EC_POINT_mul(group, point1, msk->beta, NULL, NULL, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point1, - mpk->pointP2->x, mpk->pointP2->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_EC_LIB); - goto end; - } - - /* - * mpk->v = e(mpk->pointP1, mpk->pointP2) in GF(p^2) - * convert pairing result from BN_GFP2 to FpPoint - */ - - if (!EC_type1curve_tate(group, theta, point, point1, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_EC_LIB); - goto end; - } - - if (!BN_copy(mpk->v->x, theta->a0)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_BN_LIB); - goto end; - } - if (!BN_copy(mpk->v->y, theta->a1)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_BN_LIB); - goto end; - } - - /* - * mpk->pointP3 = msk->gamma * mpk->pointP - * (careful: re-use tmp variable `point1` for pointP3) - */ - - if (!EC_POINT_mul(group, point, msk->gamma, NULL, NULL, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - mpk->pointP3->x, mpk->pointP3->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_SETUP, ERR_R_EC_LIB); - goto end; - } - - *pmpk = mpk; - *pmsk = msk; - ret = 1; - -end: - if (!ret) { - BB1PublicParameters_free(mpk); - BB1MasterSecret_free(msk); - *pmpk = NULL; - *pmsk = NULL; - } - if (bn_ctx) { - BN_CTX_end(bn_ctx); - } - BN_CTX_free(bn_ctx); - EC_POINT_free(point); - EC_POINT_free(point1); - BN_GFP2_free(theta); - return ret; -} - -BB1PrivateKeyBlock *BB1IBE_extract_private_key(BB1PublicParameters *mpk, - BB1MasterSecret *msk, const char *id, size_t idlen) -{ - int e = 1; - BB1PrivateKeyBlock *ret = NULL; - BN_CTX *bn_ctx = NULL; - EC_GROUP *group = NULL; - EC_POINT *point = NULL; - const EVP_MD *md; - BIGNUM *r; - BIGNUM *y; - BIGNUM *hid; - - if (!mpk || !msk || !id || idlen <= 0) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_PASSED_NULL_PARAMETER); - return NULL; - } - - if (!(bn_ctx = BN_CTX_new())) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_MALLOC_FAILURE); - goto end; - } - BN_CTX_start(bn_ctx); - - /* get group */ - if (!(group = EC_GROUP_new_type1curve(mpk->p, mpk->pointP->x, - mpk->pointP->y, mpk->q, bn_ctx))) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, BB1IBE_R_INVALID_TYPE1CURVE); - goto end; - } - - ret = BB1PrivateKeyBlock_new(); - point = EC_POINT_new(group); - r = BN_CTX_get(bn_ctx); - y = BN_CTX_get(bn_ctx); - hid = BN_CTX_get(bn_ctx); - - if (!ret || !point || !r || !y || !hid) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* set ret->version */ - ret->version = BB1IBE_VERSION; - - /* random r in [1, q - 1] */ - do { - if (!BN_rand_range(r, mpk->q)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, - ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(r)); - - /* md = mpk->hashfcn */ - if (!(md = EVP_get_digestbyobj(mpk->hashfcn))) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, BB1IBE_R_INVALID_MD); - goto end; - } - - /* hid = HashToRange(id), hid in [0, q - 1] */ - if (!BN_hash_to_range(md, &hid, id, idlen, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_BN_LIB); - goto end; - } - - /* y = msk->alpha * msk->beta + r * (msk->alpha * hid + msk->gamma) in F_q - * hid = hid * msk->alpha - * hid = hid + msk->gamma - * hid = hid * r - * y = msk->alpha * msk->beta - * y = y + hid - */ - if (!BN_mod_mul(hid, hid, msk->alpha, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_add(hid, hid, msk->gamma, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(hid, hid, r, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(y, msk->alpha, msk->beta, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_add(y, y, hid, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_BN_LIB); - goto end; - } - - /* sk->pointD0 = y * mpk->pointP */ - if (!EC_POINT_mul(group, point, y, NULL, NULL, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - ret->pointD0->x, ret->pointD0->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_EC_LIB); - goto end; - } - - /* sk->pointD1 = r * mpk->pointP */ - if (!EC_POINT_mul(group, point, r, NULL, NULL, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - ret->pointD1->x, ret->pointD1->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY, ERR_R_EC_LIB); - goto end; - } - - e = 0; - -end: - if (e && ret) { - BB1PrivateKeyBlock_free(ret); - ret = NULL; - } - if (bn_ctx) { - BN_CTX_end(bn_ctx); - } - BN_CTX_free(bn_ctx); - EC_POINT_free(point); - return ret; -} - -/* - * return H(H(m)||m) || H(m), return length is 2*hashlen - */ -static int BB1IBE_double_hash(const EVP_MD *md, const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen) -{ - int ret = 0; - EVP_MD_CTX *ctx = NULL; - unsigned int len = EVP_MD_size(md); - - if (!md || !in || inlen <= 0 || !outlen) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - if (in == out) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, BB1IBE_R_INVALID_OUTPUT_BUFFER); - return 0; - } - - if (!out) { - *outlen = EVP_MD_size(md) * 2; - return 1; - } - if (*outlen < EVP_MD_size(md) * 2) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, BB1IBE_R_BUFFER_TOO_SMALL); - return 0; - } - - if (!EVP_Digest(in, inlen, out + EVP_MD_size(md), &len, md, NULL)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, ERR_R_EVP_LIB); - goto end; - } - - if (!(ctx = EVP_MD_CTX_new())) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, ERR_R_MALLOC_FAILURE); - goto end; - } - if (!EVP_DigestInit_ex(ctx, md, NULL)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, ERR_R_EVP_LIB); - goto end; - } - if (!EVP_DigestUpdate(ctx, out + EVP_MD_size(md), EVP_MD_size(md))) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, ERR_R_EVP_LIB); - goto end; - } - if (!EVP_DigestUpdate(ctx, in, inlen)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, ERR_R_EVP_LIB); - goto end; - } - len = EVP_MD_size(md); - if (!EVP_DigestFinal_ex(ctx, out, &len)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DOUBLE_HASH, ERR_R_EVP_LIB); - goto end; - } - - *outlen = EVP_MD_size(md) * 2; - ret = 1; -end: - EVP_MD_CTX_free(ctx); - return ret; -} - -/* - * c->u = HashToRange(DoubleHash(c->Chi0, c->Chi1, y, wbuf)) - */ -int BB1CiphertextBlock_hash_to_range(BB1PublicParameters *mpk, - BB1CiphertextBlock *c, const unsigned char *wbuf, size_t wbuflen, - BIGNUM *bn, BN_CTX *bn_ctx) -{ - int ret = 0; - unsigned char *buf = NULL; - unsigned char *p; - size_t buflen; - unsigned char double_hash[EVP_MAX_MD_SIZE *2]; - int pbytes; - - const EVP_MD *md; - - if (!c || !wbuf || wbuflen <= 0 || !bn || !mpk || !bn_ctx) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!(md = EVP_get_digestbyobj(mpk->hashfcn))) { - return 0; - } - - - /* prepare buffer */ - pbytes = BN_num_bytes(mpk->p); - buflen = pbytes * 4 + c->y->length + wbuflen; - - if (!(buf = OPENSSL_zalloc(buflen))) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, ERR_R_MALLOC_FAILURE); - goto end; - } - p = buf; - - /* buf += y1 */ - if (!BN_bn2bin(c->pointChi1->y, p + pbytes - BN_num_bytes(c->pointChi1->y))) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - p += pbytes; - - /* buf += x1 */ - if (!BN_bn2bin(c->pointChi1->x, p + pbytes - BN_num_bytes(c->pointChi1->x))) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - p += pbytes; - - /* buf += y0 */ - if (!BN_bn2bin(c->pointChi0->y, p + pbytes - BN_num_bytes(c->pointChi0->y))) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - p += pbytes; - - /* buf += x0 */ - if (!BN_bn2bin(c->pointChi0->x, p + pbytes - BN_num_bytes(c->pointChi0->x))) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - p += pbytes; - - /* buf += ret->y */ - memcpy(p, c->y->data, c->y->length); - p += c->y->length; - - /* buf += wbuf */ - memcpy(p, wbuf, wbuflen); - p += wbuflen; - - OPENSSL_assert(p - buf == buflen); - - /* ret->u = HashToRange(DoubleHash(c)) */ - if (!BB1IBE_double_hash(md, buf, buflen, double_hash, &buflen)) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, BB1IBE_R_DOUBLE_HASH_FAILURE); - goto end; - } - if (!BN_hash_to_range(md, &c->nu, double_hash, buflen, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - - ret = 1; - -end: - OPENSSL_free(buf); - return ret; -} - -/* - * random s in [1, q - 1] - * ret->pointChi0 = mpk->pointP *s - * ret->pointChi1 = mpk->pointP1 * (s * H(ID)) + mpk->pointP3 * s - * ret->nu = HashToRange(w || Chi0 || Chi1 || y) in Zq - * ret->y = s + rho (mod q) - */ -BB1CiphertextBlock *BB1IBE_do_encrypt(BB1PublicParameters *mpk, - const unsigned char *in, size_t inlen, - const char *id, size_t idlen) -{ - int e = 1; - BB1CiphertextBlock *ret = NULL; - BN_CTX *bn_ctx = NULL; - EC_GROUP *group = NULL; - EC_POINT *point = NULL; - EC_POINT *point1 = NULL; - BN_GFP2 *w = NULL; - BIGNUM *s; - BIGNUM *hid; - unsigned char *wbuf = NULL; - size_t wbuflen; - unsigned char *cbuf = NULL; - const EVP_MD *md; - int i; - - if (!mpk || !in || inlen <= 0 || !id || idlen <= 0) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_PASSED_NULL_PARAMETER); - goto end; - } - - if (!(bn_ctx = BN_CTX_new())) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - BN_CTX_start(bn_ctx); - - /* get group */ - if (!(group = EC_GROUP_new_type1curve(mpk->p, mpk->pointP->x, - mpk->pointP->y, mpk->q, bn_ctx))) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, BB1IBE_R_INVALID_TYPE1CURVE); - goto end; - } - - ret = BB1CiphertextBlock_new(); - point = EC_POINT_new(group); - point1 = EC_POINT_new(group); - w = BN_GFP2_new(); - s = BN_CTX_get(bn_ctx); - hid = BN_CTX_get(bn_ctx); - - if (!ret || !point || !point1 || !s || !hid || !w) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* random s in [1, q - 1] */ - do { - if (!BN_rand_range(s, mpk->q)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(s)); - - /* ret->pointChi0 = mpk->pointP * s */ - if (!EC_POINT_mul(group, point, s, NULL, NULL, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - ret->pointChi0->x, ret->pointChi0->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - /* get md */ - if (!(md = EVP_get_digestbyobj(mpk->hashfcn))) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, BB1IBE_R_INVALID_TYPE1CURVE); - goto end; - } - - /* hid = HashToRange(id) in F_q */ - if (!BN_hash_to_range(md, &hid, id, idlen, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - - /* - * ret->pointChi1 = ((mpk->pointP1 * hid) + mpk->pointP3) * s - */ - if (!EC_POINT_set_affine_coordinates_GFp(group, point, - mpk->pointP1->x, mpk->pointP1->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_mul(group, point, NULL, point, hid, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - if (!EC_POINT_set_affine_coordinates_GFp(group, point1, - mpk->pointP3->x, mpk->pointP3->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_add(group, point, point, point1, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - if (!EC_POINT_mul(group, point, NULL, point, s, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - ret->pointChi1->x, ret->pointChi1->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - /* - * w = (mpk->v)^s in F_p^2 - * w = mpk->v, convert from FpPoint to BN_GFP2 - * w = w^s - * wbuf = Canonical(w, order=1) - */ - - if (!BN_copy(w->a0, mpk->v->x)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - if (!BN_copy(w->a1, mpk->v->y)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - - if (!BN_GFP2_exp(w, w, s, mpk->p, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - - if (!BN_GFP2_canonical(w, NULL, &wbuflen, 1, mpk->p, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - if (!(wbuf = OPENSSL_malloc(wbuflen))) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - if (!BN_GFP2_canonical(w, wbuf, &wbuflen, 1, mpk->p, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* - * ret->y = HashBytes(DoubleHash(wbuf)) xor in - * DoubleHash output length == hashlen * 2 - * HashBytes output length == inlen - */ - - if (!ASN1_OCTET_STRING_set(ret->y, NULL, inlen)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - /* - //FIXME: - if (!bb1ibe_hash(md, wbuf, wbuflen, ret->y->data, inlen)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, BB1IBE_R_BB1IBE_HASH_FAILURE); - goto end; - } - */ - for (i = 0; i < inlen; i++) { - ret->y->data[i] ^= in[i]; - } - - /* - * ret->u = s + HashToRange(DoubleHash(y1||x1||y0||x0||ret->y||wbuf)) (mod q) - * (x0, y0) = ret->pointChi0 - * (x1, y1) = ret->pointChi1 - */ - - - /* ret->u += s (mod q) */ - if (!BN_mod_add(ret->nu, ret->nu, s, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - - e = 0; - -end: - if (e && ret) { - BB1CiphertextBlock_free(ret); - ret = NULL; - } - if (bn_ctx) { - BN_CTX_end(bn_ctx); - } - BN_CTX_free(bn_ctx); - EC_GROUP_free(group); - EC_POINT_free(point); - EC_POINT_free(point1); - BN_GFP2_free(w); - OPENSSL_free(wbuf); - OPENSSL_free(cbuf); - return ret; -} - -int BB1IBE_do_decrypt(BB1PublicParameters *mpk, - const BB1CiphertextBlock *in, unsigned char *out, size_t *outlen, - BB1PrivateKeyBlock *sk) -{ - int ret = 0; - EC_GROUP *group = NULL; - EC_POINT *point_c0 = NULL; - EC_POINT *point_c1 = NULL; - EC_POINT *point_d0 = NULL; - EC_POINT *point_d1 = NULL; - BN_CTX *bn_ctx = NULL; - BN_GFP2 *w = NULL; - BN_GFP2 *w1 = NULL; - BIGNUM *s = NULL; - BIGNUM *h = NULL; - unsigned char *wbuf = NULL; - size_t wbuflen; - size_t len; - int i; - - /* check arguments */ - if (!mpk || !in || !outlen || !sk) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_PASSED_NULL_PARAMETER); - goto end; - } - - /* check output buffer */ - len = in->y->length; - if (!out) { - *outlen = len; - return 1; - } - if (*outlen < len) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, BB1IBE_R_BUFFER_TOO_SMALL); - return 0; - } - - if (!(bn_ctx = BN_CTX_new())) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - BN_CTX_start(bn_ctx); - - /* init variables */ - if (!(group = EC_GROUP_new_type1curve(mpk->p, mpk->pointP->x, - mpk->pointP->y, mpk->q, bn_ctx))) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, BB1IBE_R_INVALID_TYPE1CURVE); - goto end; - } - - point_c0 = EC_POINT_new(group); - point_c1 = EC_POINT_new(group); - point_d0 = EC_POINT_new(group); - point_d1 = EC_POINT_new(group); - w = BN_GFP2_new(); - w1 = BN_GFP2_new(); - s = BN_CTX_get(bn_ctx); - h = BN_CTX_get(bn_ctx); - - if (!point_c0 || !point_c1 || !point_d0 || !point_d1 || !w || !w1 || !s || !h) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* - * w = e(in->C0, sk->D0)/e(in->C1, sk->D1) - */ - if (!EC_POINT_set_affine_coordinates_GFp(group, point_c0, - in->pointChi0->x, in->pointChi0->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_set_affine_coordinates_GFp(group, point_c1, - in->pointChi1->x, in->pointChi1->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_set_affine_coordinates_GFp(group, point_d0, - sk->pointD0->x, sk->pointD0->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_set_affine_coordinates_GFp(group, point_d1, - sk->pointD1->x, sk->pointD1->y, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_type1curve_tate_ratio(group, w, point_c0, point_d0, - point_c1, point_d1, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, BB1IBE_R_COMPUTE_TATE_FAILURE); - goto end; - } - - /* wbuf = Canonical(w, order=1) */ - if (!BN_GFP2_canonical(w, NULL, &wbuflen, 1, mpk->p, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_BN_LIB); - goto end; - } - if (!(wbuf = OPENSSL_malloc(wbuflen))) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - if (!BN_GFP2_canonical(w, wbuf, &wbuflen, 1, mpk->p, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* h = H(ciphertext||w) */ -#if 0 - //remove warning - if (!BB1CiphertextBlock_hash_to_range(mpk, in, wbuf, wbuflen, h, bn_ctx)) { - goto end; - } -#endif - - /* s = in->nu - H(c) */ - if (!BN_mod_sub(s, in->nu, h, mpk->q, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_BN_LIB); - goto end; - } - - /* check if w == v^s */ - if (!BN_copy(w1->a0, mpk->v->x)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_BN_LIB); - goto end; - } - if (!BN_copy(w1->a1, mpk->v->y)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_BN_LIB); - goto end; - } - if (!BN_GFP2_exp(w1, w1, s, mpk->p, bn_ctx)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, ERR_R_BN_LIB); - goto end; - } - if (!BN_GFP2_equ(w, w1)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, BB1IBE_R_BB1CIPHERTEXT_INVALID_MAC); - goto end; - } - - /* - * out = HashBytes(DoubleHash(wbuf)) xor in->y - */ - /* - if (!bb1ibe_hash(md, wbuf, wbuflen, out, in->y->length)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DO_DECRYPT, BB1IBE_R_BB1IBE_HASH_FAILURE); - goto end; - } - */ - for (i = 0; i < in->y->length; i++) { - out[i] ^= in->y->data[i]; - } - - ret = 1; -end: - if (bn_ctx) { - BN_CTX_end(bn_ctx); - } - BN_CTX_free(bn_ctx); - EC_GROUP_free(group); - EC_POINT_free(point_c0); - EC_POINT_free(point_c1); - EC_POINT_free(point_d0); - EC_POINT_free(point_d1); - BN_GFP2_free(w); - BN_GFP2_free(w1); - OPENSSL_free(wbuf); - return ret; -} - -static int BB1PublicParameters_size(BB1PublicParameters *mpk, - size_t inlen, size_t *outlen) -{ - size_t len = 0; - len += (OPENSSL_ECC_MAX_FIELD_BITS/8) * 5; - len += inlen; - len += EVP_MAX_MD_SIZE; - len += 256; /* caused by version and DER encoding */ - *outlen = len; - return 1; -} - -int BB1IBE_encrypt(BB1PublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - const char *id, size_t idlen) -{ - int ret = 0; - BB1CiphertextBlock *c = NULL; - unsigned char *p; - size_t len; - - if (!mpk || !in || inlen <= 0 || !outlen || !id || idlen <= 0) { - BB1IBEerr(BB1IBE_F_BB1IBE_ENCRYPT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!BB1PublicParameters_size(mpk, inlen, &len)) { - BB1IBEerr(BB1IBE_F_BB1IBE_ENCRYPT, BB1IBE_R_COMPUTE_OUTLEN_FAILURE); - return 0; - } - if (!out) { - *outlen = len; - return 1; - } - if (*outlen < len) { - BB1IBEerr(BB1IBE_F_BB1IBE_ENCRYPT, BB1IBE_R_BUFFER_TOO_SMALL); - return 0; - } - - if (!(c = BB1IBE_do_encrypt(mpk, in, inlen, id, idlen))) { - BB1IBEerr(BB1IBE_F_BB1IBE_ENCRYPT, BB1IBE_R_ENCRYPT_FAILURE); - goto end; - } - - p = out; - if (!i2d_BB1CiphertextBlock(c, &p)) { - BB1IBEerr(BB1IBE_F_BB1IBE_ENCRYPT, BB1IBE_R_I2D_FAILURE); - goto end; - } - len = p - out; - - *outlen = len; - ret = 1; - -end: - BB1CiphertextBlock_free(c); - return ret; -} - -int BB1IBE_decrypt(BB1PublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - BB1PrivateKeyBlock *sk) -{ - int ret = 0; - BB1CiphertextBlock *c = NULL; - const unsigned char *p; - - if (!mpk || !in || inlen <= 0 || !outlen || !sk) { - BB1IBEerr(BB1IBE_F_BB1IBE_DECRYPT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!out) { - *outlen = inlen; - return 1; - } - if (*outlen < inlen) { - BB1IBEerr(BB1IBE_F_BB1IBE_DECRYPT, BB1IBE_R_BUFFER_TOO_SMALL); - return 0; - } - - p = in; - if (!(c = d2i_BB1CiphertextBlock(NULL, &p, inlen))) { - BB1IBEerr(BB1IBE_F_BB1IBE_DECRYPT, BB1IBE_R_D2I_FAILURE); - goto end; - } - - /* check that all input has been decoded */ - if (p - in != inlen) { - BB1IBEerr(BB1IBE_F_BB1IBE_DECRYPT, BB1IBE_R_INVALID_INPUT); - goto end; - } - - if (!BB1IBE_do_decrypt(mpk, c, out, outlen, sk)) { - BB1IBEerr(BB1IBE_F_BB1IBE_DECRYPT, BB1IBE_R_DECRYPT_FAILURE); - goto end; - } - - ret = 1; -end: - BB1CiphertextBlock_free(c); - return ret; -} - diff --git a/crypto/bb1ibe/build.info b/crypto/bb1ibe/build.info deleted file mode 100644 index eb25a88a..00000000 --- a/crypto/bb1ibe/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=bb1ibe_err.c bb1ibe_asn1.c bb1ibe_lib.c diff --git a/crypto/bfibe/bfibe_asn1.c b/crypto/bfibe/bfibe_asn1.c deleted file mode 100644 index 8abfa1f3..00000000 --- a/crypto/bfibe/bfibe_asn1.c +++ /dev/null @@ -1,100 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "bfibe_lcl.h" - -ASN1_SEQUENCE(BFPublicParameters) = { - ASN1_SIMPLE(BFPublicParameters, version, LONG), - ASN1_SIMPLE(BFPublicParameters, curve, ASN1_OBJECT), - ASN1_SIMPLE(BFPublicParameters, p, BIGNUM), - ASN1_SIMPLE(BFPublicParameters, q, BIGNUM), - ASN1_SIMPLE(BFPublicParameters, pointP, FpPoint), - ASN1_SIMPLE(BFPublicParameters, pointPpub, FpPoint), - ASN1_SIMPLE(BFPublicParameters, hashfcn, ASN1_OBJECT) -} ASN1_SEQUENCE_END(BFPublicParameters) -IMPLEMENT_ASN1_FUNCTIONS(BFPublicParameters) -IMPLEMENT_ASN1_DUP_FUNCTION(BFPublicParameters) - -ASN1_SEQUENCE(BFMasterSecret) = { - ASN1_SIMPLE(BFMasterSecret, version, LONG), - ASN1_SIMPLE(BFMasterSecret, masterSecret, BIGNUM) -} ASN1_SEQUENCE_END(BFMasterSecret) -IMPLEMENT_ASN1_FUNCTIONS(BFMasterSecret) -IMPLEMENT_ASN1_DUP_FUNCTION(BFMasterSecret) - -ASN1_SEQUENCE(BFPrivateKeyBlock) = { - ASN1_SIMPLE(BFPrivateKeyBlock, version, LONG), - ASN1_SIMPLE(BFPrivateKeyBlock, privateKey, FpPoint) -} ASN1_SEQUENCE_END(BFPrivateKeyBlock) -IMPLEMENT_ASN1_FUNCTIONS(BFPrivateKeyBlock) -IMPLEMENT_ASN1_DUP_FUNCTION(BFPrivateKeyBlock) - -ASN1_SEQUENCE(BFCiphertextBlock) = { - ASN1_SIMPLE(BFCiphertextBlock, version, LONG), - ASN1_SIMPLE(BFCiphertextBlock, u, FpPoint), - ASN1_SIMPLE(BFCiphertextBlock, v, ASN1_OCTET_STRING), - ASN1_SIMPLE(BFCiphertextBlock, w, ASN1_OCTET_STRING), -} ASN1_SEQUENCE_END(BFCiphertextBlock) -IMPLEMENT_ASN1_FUNCTIONS(BFCiphertextBlock) -IMPLEMENT_ASN1_DUP_FUNCTION(BFCiphertextBlock) - diff --git a/crypto/bfibe/bfibe_err.c b/crypto/bfibe/bfibe_err.c deleted file mode 100644 index 01057417..00000000 --- a/crypto/bfibe/bfibe_err.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * 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 - */ - -#include -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_BFIBE,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_BFIBE,0,reason) - -static ERR_STRING_DATA BFIBE_str_functs[] = { - {ERR_FUNC(BFIBE_F_BFIBE_DECRYPT), "BFIBE_decrypt"}, - {ERR_FUNC(BFIBE_F_BFIBE_DO_DECRYPT), "BFIBE_do_decrypt"}, - {ERR_FUNC(BFIBE_F_BFIBE_DO_ENCRYPT), "BFIBE_do_encrypt"}, - {ERR_FUNC(BFIBE_F_BFIBE_ENCRYPT), "BFIBE_encrypt"}, - {ERR_FUNC(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY), - "BFIBE_extract_private_key"}, - {ERR_FUNC(BFIBE_F_BFIBE_SETUP), "BFIBE_setup"}, - {0, NULL} -}; - -static ERR_STRING_DATA BFIBE_str_reasons[] = { - {ERR_REASON(BFIBE_R_BFIBE_CIPHERTEXT_FAILURE), - "bfibe ciphertext failure"}, - {ERR_REASON(BFIBE_R_BUFFER_TOO_SMALL), "buffer too small"}, - {ERR_REASON(BFIBE_R_COMPUTE_OUTLEN_FAILURE), "compute outlen failure"}, - {ERR_REASON(BFIBE_R_D2I_FAILURE), "d2i failure"}, - {ERR_REASON(BFIBE_R_DECRYPT_FAILURE), "decrypt failure"}, - {ERR_REASON(BFIBE_R_ENCRYPT_FAILURE), "encrypt failure"}, - {ERR_REASON(BFIBE_R_HASH_BYTES_FAILURE), "hash bytes failure"}, - {ERR_REASON(BFIBE_R_I2D_FAILURE), "i2d failure"}, - {ERR_REASON(BFIBE_R_INVALID_BFIBE_HASHFUNC), "invalid bfibe hashfunc"}, - {ERR_REASON(BFIBE_R_INVALID_CIPHERTEXT), "invalid ciphertext"}, - {ERR_REASON(BFIBE_R_INVALID_TYPE1CURVE), "invalid type1curve"}, - {ERR_REASON(BFIBE_R_KDF_FAILURE), "kdf failure"}, - {ERR_REASON(BFIBE_R_NOT_NAMED_CURVE), "not named curve"}, - {ERR_REASON(BFIBE_R_PARSE_CURVE_FAILURE), "parse curve failure"}, - {ERR_REASON(BFIBE_R_PARSE_MPK_FAILURE), "parse mpk failure"}, - {ERR_REASON(BFIBE_R_PARSE_PAIRING), "parse pairing"}, - {ERR_REASON(BFIBE_R_RAND_FAILURE), "rand failure"}, - {0, NULL} -}; - -#endif - -int ERR_load_BFIBE_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(BFIBE_str_functs[0].error) == NULL) { - ERR_load_strings(0, BFIBE_str_functs); - ERR_load_strings(0, BFIBE_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/bfibe/bfibe_lcl.h b/crypto/bfibe/bfibe_lcl.h deleted file mode 100644 index 3aa268cc..00000000 --- a/crypto/bfibe/bfibe_lcl.h +++ /dev/null @@ -1,102 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * the `curve` attribute of BFPublicParameters is the OID present the - * `type1curve` which is E: y^2 = x^3 + 1 over prime field. It is not an - * elliptic curve domain parameters composed of (p, a, b, G, n, h). - * For type-1 curve, a = 0, b = 1. - * q (i.e. the n in ec params) is the order of generator G, is a prime. - * When q is a solinas prime, the scalar mulitiplication computation can - * be reduced. - * zeta (i.e. h in ec params) = (p + 1)/q. In normall ecc, h is very small - * such as 1 or 4. But in pairing, the zeta (or h) is very large. - */ -struct BFPublicParameters_st { - long version; - ASN1_OBJECT *curve; - BIGNUM *p; - BIGNUM *q; - FpPoint *pointP; - FpPoint *pointPpub; - ASN1_OBJECT *hashfcn; -}; - -struct BFMasterSecret_st { - long version; - BIGNUM *masterSecret; -}; - -struct BFPrivateKeyBlock_st { - long version; - FpPoint *privateKey; -}; - -struct BFCiphertextBlock_st { - long version; - FpPoint *u; - ASN1_OCTET_STRING *v; - ASN1_OCTET_STRING *w; -}; - diff --git a/crypto/bfibe/bfibe_lib.c b/crypto/bfibe/bfibe_lib.c deleted file mode 100644 index e3bc839d..00000000 --- a/crypto/bfibe/bfibe_lib.c +++ /dev/null @@ -1,712 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "bfibe_lcl.h" - - -int BFIBE_setup(const EC_GROUP *group, const EVP_MD *md, - BFPublicParameters **pmpk, BFMasterSecret **pmsk) -{ - int ret = 0; - BFPublicParameters *mpk = NULL; - BFMasterSecret *msk = NULL; - BN_CTX *bn_ctx = NULL; - EC_POINT *point = NULL; - BIGNUM *a; - BIGNUM *b; - - if (!group || !pmpk || !pmsk) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!(bn_ctx = BN_CTX_new())) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_MALLOC_FAILURE); - goto end; - } - - BN_CTX_start(bn_ctx); - a = BN_CTX_get(bn_ctx); - b = BN_CTX_get(bn_ctx); - if (!b) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_MALLOC_FAILURE); - goto end; - } - - mpk = BFPublicParameters_new(); - msk = BFMasterSecret_new(); - point = EC_POINT_new(group); - - if (!mpk || !msk || !point) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* - * set mpk->version - * set mpk->curve - */ - - mpk->version = BFIBE_VERSION; - - OPENSSL_assert(mpk->curve); - ASN1_OBJECT_free(mpk->curve); - if (!(mpk->curve = OBJ_nid2obj(NID_type1curve))) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, BFIBE_R_NOT_NAMED_CURVE); - goto end; - } - - /* mpk->p = group->p */ - if (!EC_GROUP_get_curve_GFp(group, mpk->p, a, b, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_EC_LIB); - goto end; - } - if (!BN_is_zero(a) || !BN_is_one(b)) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, BFIBE_R_INVALID_TYPE1CURVE); - goto end; - } - - /* mpk->q = group->order */ - if (!EC_GROUP_get_order(group, mpk->q, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, BFIBE_R_INVALID_TYPE1CURVE); - goto end; - } - - /* mpk->pointP = group->generator */ - if (!EC_POINT_get_affine_coordinates_GFp(group, EC_GROUP_get0_generator(group), - mpk->pointP->x, mpk->pointP->y, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_EC_LIB); - goto end; - } - - /* set mpk->hashfcn from F_p^2 element bits */ - OPENSSL_assert(mpk->hashfcn); - ASN1_OBJECT_free(mpk->hashfcn); - if (!(mpk->hashfcn = OBJ_nid2obj(EVP_MD_type(md)))) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, BFIBE_R_PARSE_PAIRING); - goto end; - } - - /* - * set msk->version - * random msk->masterSecret in [2, q - 1] - */ - - msk->version = BFIBE_VERSION; - - do { - if (!BN_rand_range(msk->masterSecret, mpk->q)) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(msk->masterSecret) || BN_is_one(msk->masterSecret)); - - /* mpk->pointPpub = msk->masterSecret * mpk->pointP */ - - if (!EC_POINT_mul(group, point, msk->masterSecret, NULL, NULL, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - mpk->pointPpub->x, mpk->pointPpub->y, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_SETUP, ERR_R_EC_LIB); - goto end; - } - - /* set return value */ - *pmpk = mpk; - *pmsk = msk; - ret = 1; - -end: - if (!ret) { - BFPublicParameters_free(mpk); - BFMasterSecret_free(msk); - *pmpk = NULL; - *pmsk = NULL; - } - if (bn_ctx) { - BN_CTX_end(bn_ctx); - } - BN_CTX_free(bn_ctx); - EC_POINT_free(point); - return ret; -} - -BFPrivateKeyBlock *BFIBE_extract_private_key(BFPublicParameters *mpk, - BFMasterSecret *msk, const char *id, size_t idlen) -{ - int e = 1; - BFPrivateKeyBlock *ret = NULL; - EC_GROUP *group = NULL; - EC_POINT *point = NULL; - BN_CTX *bn_ctx = NULL; - const EVP_MD *md; - - if (!mpk || !msk || !id || idlen <= 0) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, ERR_R_PASSED_NULL_PARAMETER); - return NULL; - } - - if (!(bn_ctx = BN_CTX_new())) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, - ERR_R_MALLOC_FAILURE); - goto end; - } - - /* - * get EC_GROUP from mpk->{p, q, pointP} - * get EVP_MD from mpk->hashfcn - */ - if (!(group = EC_GROUP_new_type1curve(mpk->p, mpk->pointP->x, - mpk->pointP->y, mpk->q, bn_ctx))) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, BFIBE_R_PARSE_CURVE_FAILURE); - goto end; - } - - if (!(md = EVP_get_digestbyobj(mpk->hashfcn))) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, - BFIBE_R_INVALID_BFIBE_HASHFUNC); - goto end; - } - - /* prepare tmp variables */ - point = EC_POINT_new(group); - if (!point) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* - * set ret->version - * set ret->privateKey = msk->masterSecret * HashToPoint(ID) - */ - - if (!(ret = BFPrivateKeyBlock_new())) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, ERR_R_MALLOC_FAILURE); - return NULL; - } - - ret->version = BFIBE_VERSION; - - if (!EC_POINT_hash2point(group, md, id, idlen, point, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, ERR_R_EC_LIB); - goto end; - } - - if (!EC_POINT_mul(group, point, NULL, point, msk->masterSecret, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, ERR_R_EC_LIB); - goto end; - } - - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - ret->privateKey->x, ret->privateKey->y, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY, ERR_R_EC_LIB); - goto end; - } - - e = 0; -end: - if (e && ret) { - BFPrivateKeyBlock_free(ret); - ret = NULL; - } - EC_GROUP_free(group); - EC_POINT_free(point); - BN_CTX_free(bn_ctx); - return ret; -} - -/* - * r = rand(), |r| = hashlen - * k = HashToRange(r||Hash(m), q), k in [0, q-1] - * U = [k]P in E/F_p - * Q = HashToPoint(ID) in E/F_p - * v = Hash(e(Ppub, Q)^k) xor r, |v| == hashlen - * w = HashBytes(r) xor m - */ -BFCiphertextBlock *BFIBE_do_encrypt(BFPublicParameters *mpk, - const unsigned char *in, size_t inlen, - const char *id, size_t idlen) -{ - int e = 1; - BFCiphertextBlock *ret = NULL; - BN_CTX *bn_ctx = NULL; - EC_GROUP *group = NULL; - EC_POINT *Ppub = NULL; - EC_POINT *point = NULL; - BN_GFP2 *theta = NULL; - BIGNUM *k; - const EVP_MD *md; - KDF_FUNC hash_bytes; - unsigned char rho[EVP_MAX_MD_SIZE * 2]; - unsigned char buf[EVP_MAX_MD_SIZE]; - unsigned int len; - size_t size; - int i; - - if (!mpk || !in || inlen <= 0 || !id || idlen <= 0) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_PASSED_NULL_PARAMETER); - return NULL; - } - - /* BN_CTX */ - if (!(bn_ctx = BN_CTX_new())) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - BN_CTX_start(bn_ctx); - - /* EC_GROUP */ - if (!(group = EC_GROUP_new_type1curve(mpk->p, mpk->pointP->x, - mpk->pointP->y, mpk->q, bn_ctx))) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, BFIBE_R_PARSE_MPK_FAILURE); - goto end; - } - - ret = BFCiphertextBlock_new(); - Ppub = EC_POINT_new(group); - point = EC_POINT_new(group); - theta = BN_GFP2_new(); - k = BN_CTX_get(bn_ctx); - - if (!ret || !point || !Ppub || !k || !theta) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - - - /* get kdf from mpk->hashfcn */ - if (!(md = EVP_get_digestbyobj(mpk->hashfcn))) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, BFIBE_R_INVALID_BFIBE_HASHFUNC); - goto end; - } - - if (!(hash_bytes = KDF_get_ibcs(md))) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, - BFIBE_R_INVALID_BFIBE_HASHFUNC); - goto end; - } - - /* ret->version */ - ret->version = BFIBE_VERSION; - - /* rho = Rand(hashlen) */ - if (!RAND_bytes(rho, EVP_MD_size(md))) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, BFIBE_R_RAND_FAILURE); - goto end; - } - - /* k = HashToRange(rho||Hash(in), q) in [0, q - 1] */ - len = EVP_MD_size(md); - if (!EVP_Digest(in, inlen, rho + EVP_MD_size(md), &len, md, NULL)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EVP_LIB); - goto end; - } - if (!BN_hash_to_range(md, &k, rho, EVP_MD_size(md) * 2, mpk->q, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - - /* ret->u = mpk->pointP * k in E/F_p, mpk->pointP is the generator */ - if (!EC_POINT_mul(group, point, k, NULL, NULL, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, point, - ret->u->x, ret->u->y, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - /* theta = e(mpk->pointPpub, HashToPoint(ID)) */ - if (!EC_POINT_set_affine_coordinates_GFp(group, Ppub, - mpk->pointPpub->x, mpk->pointPpub->y, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_hash2point(group, md, id, idlen, point, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_type1curve_tate(group, theta, Ppub, point, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - /* theta = theta^k */ - if (!BN_GFP2_exp(theta, theta, k, mpk->p, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EC_LIB); - goto end; - } - - /* ret->v = Hash(theta) xor rho */ - size = sizeof(buf); - if (!BN_GFP2_canonical(theta, buf, &size, 0, mpk->p, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_BN_LIB); - goto end; - } - len = sizeof(buf); - if (!EVP_Digest(buf, size, buf, &len, md, NULL)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_EVP_LIB); - goto end; - } - for (i = 0; i < EVP_MD_size(md); i++) { - buf[i] ^= rho[i]; - } - if (!ASN1_OCTET_STRING_set(ret->v, buf, EVP_MD_size(md))) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_ASN1_LIB); - goto end; - } - - /* ret->w = HashBytes(rho) xor m */ - if (!ASN1_OCTET_STRING_set(ret->w, NULL, inlen)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - size = inlen; - if (!hash_bytes(rho, EVP_MD_size(md), ret->w->data, &size)) { - BFIBEerr(BFIBE_F_BFIBE_DO_ENCRYPT, - BFIBE_R_HASH_BYTES_FAILURE); - goto end; - } - for (i = 0; i < inlen; i++) { - ret->w->data[i] ^= in[i]; - } - - e = 0; - -end: - if (e && ret) { - BFCiphertextBlock_free(ret); - ret = NULL; - } - if (bn_ctx) { - BN_CTX_end(bn_ctx); - } - BN_CTX_free(bn_ctx); - EC_GROUP_free(group); - EC_POINT_free(Ppub); - EC_POINT_free(point); - BN_GFP2_free(theta); - return ret; -} - -int BFIBE_do_decrypt(BFPublicParameters *mpk, - const BFCiphertextBlock *in, unsigned char *out, size_t *outlen, - BFPrivateKeyBlock *sk) -{ - int ret = 0; - BN_CTX *bn_ctx = NULL; - EC_GROUP *group = NULL; - EC_POINT *point = NULL; - EC_POINT *point1 = NULL; - BN_GFP2 *theta = NULL; - BIGNUM *k; - const EVP_MD *md; - KDF_FUNC hash_bytes; - unsigned char rho[EVP_MAX_MD_SIZE * 2]; - size_t size; - unsigned int len; - int i; - - if (!mpk || !in || !outlen || !sk) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!out) { - *outlen = in->w->length; - return 1; - } - if (*outlen < in->w->length) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, - BFIBE_R_BUFFER_TOO_SMALL); - return 0; - } - - /* BN_CTX */ - if (!(bn_ctx = BN_CTX_new())) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - BN_CTX_start(bn_ctx); - - /* EC_GROUP */ - if (!(group = EC_GROUP_new_type1curve(mpk->p, mpk->pointP->x, - mpk->pointP->y, mpk->q, bn_ctx))) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, - BFIBE_R_INVALID_TYPE1CURVE); - goto end; - } - - point = EC_POINT_new(group); - point1 = EC_POINT_new(group); - theta = BN_GFP2_new(); - k = BN_CTX_get(bn_ctx); - - if (!point || !point1 || !theta || !k) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* theta = e(ciphertext->u, sk->privateKey) */ - if (!EC_POINT_set_affine_coordinates_GFp(group, point, - in->u->x, in->u->y, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_set_affine_coordinates_GFp(group, point1, - sk->privateKey->x, sk->privateKey->y, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - if (!EC_type1curve_tate(group, theta, point, point1, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - - /* md = mpk->hashfcn */ - if (!(md = EVP_get_digestbyobj(mpk->hashfcn))) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, BFIBE_R_INVALID_BFIBE_HASHFUNC); - goto end; - } - - /* rho = Hash(Canoncial(theta)) xor ciphertext->v */ - size = sizeof(rho); - if (!BN_GFP2_canonical(theta, rho, &size, 0, mpk->p, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - len = size; - if (!EVP_Digest(rho, size, rho, &len, md, NULL)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_EVP_LIB); - goto end; - } - for (i = 0; i < EVP_MD_size(md); i++) { - rho[i] ^= in->v->data[i]; - } - - /* function hash_bytes() = kdf(md) */ - if (!(hash_bytes = KDF_get_ibcs(md))) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, - BFIBE_R_INVALID_BFIBE_HASHFUNC); - goto end; - } - - /* out = HashBytes(rho) xor ciphertext->w */ - size = in->w->length; - if (!hash_bytes(rho, EVP_MD_size(md), out, &size)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, - BFIBE_R_KDF_FAILURE); - goto end; - } - for (i = 0; i < in->w->length; i++) { - out[i] ^= in->w->data[i]; - } - - /* k = HashToRange(rho || Hash(out)) in [0, mpk->q) */ - len = EVP_MD_size(md); - if (!EVP_Digest(out, in->w->length, rho + EVP_MD_size(md), &len, md, NULL)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_EVP_LIB); - goto end; - } - if (!BN_hash_to_range(md, &k, rho, EVP_MD_size(md) * 2, mpk->q, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_BN_LIB); - goto end; - } - - /* Verify that in->u == mpk->pointP * k */ - if (!EC_POINT_mul(group, point, k, NULL, NULL, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, ERR_R_EC_LIB); - goto end; - } - if (1 != EC_POINT_cmp_fppoint(group, point, in->u, bn_ctx)) { - BFIBEerr(BFIBE_F_BFIBE_DO_DECRYPT, BFIBE_R_BFIBE_CIPHERTEXT_FAILURE); - goto end; - } - - *outlen = in->w->length; - ret = 1; - -end: - if (bn_ctx) { - BN_CTX_end(bn_ctx); - } - BN_CTX_free(bn_ctx); - EC_GROUP_free(group); - EC_POINT_free(point); - EC_POINT_free(point1); - BN_GFP2_free(theta); - return ret; -} - -/* estimation of the max length of DER encoded ciphertext */ -static int BFCiphertextBlock_size(BFPublicParameters *mpk, - size_t inlen, size_t *outlen) -{ - size_t len = 0; - len += (OPENSSL_ECC_MAX_FIELD_BITS/8) * 2; - len += inlen; - len += EVP_MAX_MD_SIZE; - len += 128; /* caused by version and DER encoding */ - *outlen = len; - return 1; -} - -int BFIBE_encrypt(BFPublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - const char *id, size_t idlen) -{ - int ret = 0; - BFCiphertextBlock *c = NULL; - unsigned char *p; - size_t len; - - if (!mpk || !in || inlen <= 0 || !outlen || !id || idlen <= 0) { - BFIBEerr(BFIBE_F_BFIBE_ENCRYPT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!BFCiphertextBlock_size(mpk, inlen, &len)) { - BFIBEerr(BFIBE_F_BFIBE_ENCRYPT, BFIBE_R_COMPUTE_OUTLEN_FAILURE); - return 0; - } - if (!out) { - *outlen = len; - return 1; - } - if (*outlen < len) { - BFIBEerr(BFIBE_F_BFIBE_ENCRYPT, BFIBE_R_BUFFER_TOO_SMALL); - return 0; - } - - if (!(c = BFIBE_do_encrypt(mpk, in, inlen, id, idlen))) { - BFIBEerr(BFIBE_F_BFIBE_ENCRYPT, BFIBE_R_ENCRYPT_FAILURE); - goto end; - } - - p = out; - if (!i2d_BFCiphertextBlock(c, &p)) { - BFIBEerr(BFIBE_F_BFIBE_ENCRYPT, BFIBE_R_I2D_FAILURE); - goto end; - } - len = p - out; - - *outlen = len; - ret = 1; - -end: - BFCiphertextBlock_free(c); - return ret; -} - -int BFIBE_decrypt(BFPublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - BFPrivateKeyBlock *sk) -{ - int ret = 0; - BFCiphertextBlock *c = NULL; - const unsigned char *p; - - if (!mpk || !in || inlen <= 0 || !outlen || !sk) { - BFIBEerr(BFIBE_F_BFIBE_DECRYPT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!out) { - *outlen = inlen; - return 1; - } - if (*outlen < inlen) { - BFIBEerr(BFIBE_F_BFIBE_DECRYPT, BFIBE_R_BUFFER_TOO_SMALL); - return 0; - } - - p = in; - if (!(c = d2i_BFCiphertextBlock(NULL, &p, inlen))) { - BFIBEerr(BFIBE_F_BFIBE_DECRYPT, BFIBE_R_D2I_FAILURE); - goto end; - } - - /* check no remaining ciphertext */ - if (p - in != inlen) { - BFIBEerr(BFIBE_F_BFIBE_DECRYPT, BFIBE_R_INVALID_CIPHERTEXT); - goto end; - } - - if (!BFIBE_do_decrypt(mpk, c, out, outlen, sk)) { - BFIBEerr(BFIBE_F_BFIBE_DECRYPT, BFIBE_R_DECRYPT_FAILURE); - goto end; - } - - ret = 1; -end: - BFCiphertextBlock_free(c); - return ret; -} - diff --git a/crypto/bfibe/build.info b/crypto/bfibe/build.info deleted file mode 100644 index 692d02c5..00000000 --- a/crypto/bfibe/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=bfibe_err.c bfibe_asn1.c bfibe_lib.c diff --git a/crypto/cpk/build.info b/crypto/cpk/build.info deleted file mode 100644 index 78694fe5..00000000 --- a/crypto/cpk/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=cpk_asn1.c cpk_err.c cpk_lib.c cpk_map.c cpk_prn.c diff --git a/crypto/cpk/cpk_asn1.c b/crypto/cpk/cpk_asn1.c deleted file mode 100755 index 18887729..00000000 --- a/crypto/cpk/cpk_asn1.c +++ /dev/null @@ -1,94 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2007 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "cpk_lcl.h" - -ASN1_SEQUENCE(CPK_MASTER_SECRET) = { - ASN1_SIMPLE(CPK_MASTER_SECRET, version, LONG), - ASN1_SIMPLE(CPK_MASTER_SECRET, id, X509_NAME), - ASN1_SIMPLE(CPK_MASTER_SECRET, pkey_algor, X509_ALGOR), - ASN1_SIMPLE(CPK_MASTER_SECRET, map_algor, X509_ALGOR), - ASN1_SIMPLE(CPK_MASTER_SECRET, secret_factors, ASN1_OCTET_STRING) -} ASN1_SEQUENCE_END(CPK_MASTER_SECRET) -IMPLEMENT_ASN1_FUNCTIONS(CPK_MASTER_SECRET) -IMPLEMENT_ASN1_DUP_FUNCTION(CPK_MASTER_SECRET) - -ASN1_SEQUENCE(CPK_PUBLIC_PARAMS) = { - ASN1_SIMPLE(CPK_PUBLIC_PARAMS, version, LONG), - ASN1_SIMPLE(CPK_PUBLIC_PARAMS, id, X509_NAME), - ASN1_SIMPLE(CPK_PUBLIC_PARAMS, pkey_algor, X509_ALGOR), - ASN1_SIMPLE(CPK_PUBLIC_PARAMS, map_algor, X509_ALGOR), - ASN1_SIMPLE(CPK_PUBLIC_PARAMS, public_factors, ASN1_OCTET_STRING) -} ASN1_SEQUENCE_END(CPK_PUBLIC_PARAMS) -IMPLEMENT_ASN1_FUNCTIONS(CPK_PUBLIC_PARAMS) -IMPLEMENT_ASN1_DUP_FUNCTION(CPK_PUBLIC_PARAMS) - - -CPK_MASTER_SECRET *d2i_CPK_MASTER_SECRET_bio(BIO *bp, CPK_MASTER_SECRET **master) -{ - return ASN1_item_d2i_bio(ASN1_ITEM_rptr(CPK_MASTER_SECRET), bp, master); -} - -int i2d_CPK_MASTER_SECRET_bio(BIO *bp, CPK_MASTER_SECRET *master) -{ - return ASN1_item_i2d_bio(ASN1_ITEM_rptr(CPK_MASTER_SECRET), bp, master); -} - -CPK_PUBLIC_PARAMS *d2i_CPK_PUBLIC_PARAMS_bio(BIO *bp, CPK_PUBLIC_PARAMS **params) -{ - return ASN1_item_d2i_bio(ASN1_ITEM_rptr(CPK_PUBLIC_PARAMS), bp, params); -} - -int i2d_CPK_PUBLIC_PARAMS_bio(BIO *bp, CPK_PUBLIC_PARAMS *params) -{ - return ASN1_item_i2d_bio(ASN1_ITEM_rptr(CPK_PUBLIC_PARAMS), bp, params); -} diff --git a/crypto/cpk/cpk_err.c b/crypto/cpk/cpk_err.c deleted file mode 100644 index 16682204..00000000 --- a/crypto/cpk/cpk_err.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * 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 - */ - -#include -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_CPK,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_CPK,0,reason) - -static ERR_STRING_DATA CPK_str_functs[] = { - {ERR_FUNC(CPK_F_CPK_MAP_GET_MD), "CPK_MAP_get_md"}, - {ERR_FUNC(CPK_F_CPK_MAP_IS_VALID), "CPK_MAP_is_valid"}, - {ERR_FUNC(CPK_F_CPK_MAP_NEW), "CPK_MAP_new"}, - {ERR_FUNC(CPK_F_CPK_MAP_NEW_DEFAULT), "CPK_MAP_new_default"}, - {ERR_FUNC(CPK_F_CPK_MAP_NUM_FACTORS), "CPK_MAP_num_factors"}, - {ERR_FUNC(CPK_F_CPK_MAP_NUM_INDEXES), "CPK_MAP_num_indexes"}, - {ERR_FUNC(CPK_F_CPK_MAP_NUM_SUBSET), "CPK_MAP_num_subset"}, - {ERR_FUNC(CPK_F_CPK_MAP_STR2INDEX), "CPK_MAP_str2index"}, - {ERR_FUNC(CPK_F_CPK_MASTER_SECRET_CREATE), "CPK_MASTER_SECRET_create"}, - {ERR_FUNC(CPK_F_CPK_MASTER_SECRET_EXTRACT_PRIVATE_KEY), - "CPK_MASTER_SECRET_extract_private_key"}, - {ERR_FUNC(CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS), - "CPK_MASTER_SECRET_extract_public_params"}, - {ERR_FUNC(CPK_F_CPK_MASTER_SECRET_PRINT), "CPK_MASTER_SECRET_print"}, - {ERR_FUNC(CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS), - "CPK_MASTER_SECRET_validate_public_params"}, - {ERR_FUNC(CPK_F_CPK_PUBLIC_PARAMS_COMPUTE_SHARE_KEY), - "CPK_PUBLIC_PARAMS_compute_share_key"}, - {ERR_FUNC(CPK_F_CPK_PUBLIC_PARAMS_EXTRACT_PUBLIC_KEY), - "CPK_PUBLIC_PARAMS_extract_public_key"}, - {ERR_FUNC(CPK_F_CPK_PUBLIC_PARAMS_PRINT), "CPK_PUBLIC_PARAMS_print"}, - {ERR_FUNC(CPK_F_CPK_PUBLIC_PARAMS_VALIDATE_PRIVATE_KEY), - "CPK_PUBLIC_PARAMS_validate_private_key"}, - {ERR_FUNC(CPK_F_EXTRACT_EC_PARAMS), "extract_ec_params"}, - {ERR_FUNC(CPK_F_EXTRACT_EC_PRIV_KEY), "extract_ec_priv_key"}, - {ERR_FUNC(CPK_F_EXTRACT_EC_PUB_KEY), "extract_ec_pub_key"}, - {ERR_FUNC(CPK_F_X509_ALGOR_GET1_EC_KEY), "X509_ALGOR_get1_EC_KEY"}, - {0, NULL} -}; - -static ERR_STRING_DATA CPK_str_reasons[] = { - {ERR_REASON(CPK_R_BAD_ARGUMENT), "bad argument"}, - {ERR_REASON(CPK_R_BAD_ARGUMENTS), "bad arguments"}, - {ERR_REASON(CPK_R_BAD_DATA), "bad data"}, - {ERR_REASON(CPK_R_INVALID_ALGORITHM), "invalid algorithm"}, - {ERR_REASON(CPK_R_INVALID_ARGUMENT), "invalid argument"}, - {ERR_REASON(CPK_R_INVALID_CURVE), "invalid curve"}, - {ERR_REASON(CPK_R_INVALID_ID_LENGTH), "invalid id length"}, - {ERR_REASON(CPK_R_INVALID_MAP_ALGOR), "invalid map algor"}, - {ERR_REASON(CPK_R_INVALID_PKEY_TYPE), "invalid pkey type"}, - {0, NULL} -}; - -#endif - -int ERR_load_CPK_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(CPK_str_functs[0].error) == NULL) { - ERR_load_strings(0, CPK_str_functs); - ERR_load_strings(0, CPK_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/cpk/cpk_lcl.h b/crypto/cpk/cpk_lcl.h deleted file mode 100755 index b3c36f0b..00000000 --- a/crypto/cpk/cpk_lcl.h +++ /dev/null @@ -1,79 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2007 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - - -#include -#include -#include - -#define CPK_VERSION 2 - -struct cpk_master_secret_st { - long version; - X509_NAME *id; - X509_ALGOR *pkey_algor; - X509_ALGOR *map_algor; - ASN1_OCTET_STRING *secret_factors; -}; - -struct cpk_public_params_st { - long version; - X509_NAME *id; - X509_ALGOR *pkey_algor; - X509_ALGOR *map_algor; - ASN1_OCTET_STRING *public_factors; -}; - -X509_ALGOR *CPK_MAP_new(int type); -X509_ALGOR * CPK_MAP_new_default(void); -int CPK_MAP_is_valid(const X509_ALGOR *algor); -int CPK_MAP_num_factors(const X509_ALGOR *algor); -int CPK_MAP_num_indexes(const X509_ALGOR *algor); -int CPK_MAP_str2index(const X509_ALGOR *algor, const char *str, int *index); - diff --git a/crypto/cpk/cpk_lib.c b/crypto/cpk/cpk_lib.c deleted file mode 100755 index dc7078a9..00000000 --- a/crypto/cpk/cpk_lib.c +++ /dev/null @@ -1,738 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2007 - 2018 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../x509/x509_lcl.h" -#include "cpk_lcl.h" - -static EC_KEY *X509_ALGOR_get1_EC_KEY(X509_ALGOR *algor); -static int extract_ec_params(CPK_MASTER_SECRET *master, CPK_PUBLIC_PARAMS *param); -static EC_KEY *extract_ec_priv_key(CPK_MASTER_SECRET *master, const char *id); -static EC_KEY *extract_ec_pub_key(CPK_PUBLIC_PARAMS *param, const char *id); - - -CPK_MASTER_SECRET *CPK_MASTER_SECRET_create(const char *domain_id, int curve, int map) -{ - CPK_MASTER_SECRET *ret = NULL; - CPK_MASTER_SECRET *master = NULL; - EC_KEY *ec_key = NULL; - EVP_PKEY *pkey = NULL; - X509_PUBKEY *pubkey = NULL; - const BIGNUM *order; - int order_bytes; - int num_factors; - unsigned char *secret_buf = NULL; - size_t secret_len; - unsigned char *p; - BIGNUM *bn = NULL; - int i; - - /* check domain_id */ - if (!(master = CPK_MASTER_SECRET_new())) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* set version */ - master->version = CPK_VERSION; - - /* set domain_id */ - if (!domain_id) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_PASSED_NULL_PARAMETER); - goto end; - } - - if (strlen(domain_id) <= 0 || strlen(domain_id) > CPK_MAX_ID_LENGTH) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, CPK_R_INVALID_ID_LENGTH); - goto end; - } - - if (!X509_NAME_add_entry_by_NID(master->id, NID_organizationName, - MBSTRING_UTF8, (unsigned char *)domain_id, -1, -1, 0)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_X509_LIB); - goto end; - } - - /* set pkey algor */ - if (!(ec_key = EC_KEY_new_by_curve_name(curve))) { - //CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, CPK_R_INVALID_CURVE); - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_CPK_LIB); - goto end; - } - - if (!(pkey = EVP_PKEY_new()) - || !EVP_PKEY_set1_EC_KEY(pkey, ec_key)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_EVP_LIB); - goto end; - } - if (!(pubkey = X509_PUBKEY_new()) - || !X509_PUBKEY_set(&pubkey, pkey) - || !X509_PUBKEY_get0_param(NULL, NULL, NULL, &master->pkey_algor, pubkey)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_X509_LIB); - goto end; - } - - /* get order and order_bytes */ - if (!(order = EC_GROUP_get0_order(EC_KEY_get0_group(ec_key))) - || !(order_bytes = BN_num_bytes(order))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_CPK_LIB); - goto end; - } - - /* set map algor */ - X509_ALGOR_free(master->map_algor); - if (!(master->map_algor = CPK_MAP_new(map))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_CPK_LIB); - goto end; - } - - /* get num_factors */ - if ((num_factors = CPK_MAP_num_factors(master->map_algor)) <= 0) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, CPK_R_INVALID_MAP_ALGOR); - goto end; - } - - /* set random secret_factors */ - secret_len = order_bytes * num_factors; - if (!(secret_buf = OPENSSL_zalloc(secret_len))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_MALLOC_FAILURE); - goto end; - } - p = secret_buf; - - if (!(bn = BN_new())) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_MALLOC_FAILURE); - goto end; - } - for (i = 0; i < num_factors; i++) { - do { - if (!BN_rand_range(bn, order)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, - ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(bn)); - - if (!BN_bn2bin(bn, p + order_bytes - BN_num_bytes(bn))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_BN_LIB); - goto end; - } - p += order_bytes; - } - - if (!ASN1_STRING_set(master->secret_factors, secret_buf, secret_len)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_CREATE, ERR_R_ASN1_LIB); - goto end; - } - - ret = master; - master = NULL; - -end: - CPK_MASTER_SECRET_free(master); - EC_KEY_free(ec_key); - EVP_PKEY_free(pkey); - X509_PUBKEY_free(pubkey); - OPENSSL_clear_free(secret_buf, secret_len); - BN_free(bn); - return ret; -} - -CPK_PUBLIC_PARAMS *CPK_MASTER_SECRET_extract_public_params(CPK_MASTER_SECRET *master) -{ - CPK_PUBLIC_PARAMS *ret = NULL; - CPK_PUBLIC_PARAMS *param = NULL; - int pkey_type; - - OPENSSL_assert(master->pkey_algor->algorithm); - - pkey_type = OBJ_obj2nid(master->pkey_algor->algorithm); - - - if (!(param = CPK_PUBLIC_PARAMS_new())) { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS, - ERR_R_MALLOC_FAILURE); - goto err; - } - - param->version = master->version; - - X509_NAME_free(param->id); - if (!(param->id = X509_NAME_dup(master->id))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS, - ERR_R_MALLOC_FAILURE); - goto err; - } - - X509_ALGOR_free(param->pkey_algor); - if (!(param->pkey_algor = X509_ALGOR_dup(master->pkey_algor))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS, - ERR_R_MALLOC_FAILURE); - goto err; - } - - X509_ALGOR_free(param->map_algor); - if (!(param->map_algor = X509_ALGOR_dup(master->map_algor))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS, - ERR_R_MALLOC_FAILURE); - goto err; - } - - - switch (pkey_type) { - case EVP_PKEY_EC: - if (!extract_ec_params(master, param)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS, - ERR_R_CPK_LIB); - goto err; - } - break; - - default: - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS, CPK_R_INVALID_PKEY_TYPE); - goto err; - } - - ret = param; - param = NULL; - -err: - CPK_PUBLIC_PARAMS_free(param); - return ret; -} - -EVP_PKEY *CPK_MASTER_SECRET_extract_private_key( - CPK_MASTER_SECRET *master, const char *id) -{ - EVP_PKEY *ret = NULL; - EVP_PKEY *pkey = NULL; - int pkey_type; - - if (!(pkey = EVP_PKEY_new())) { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PRIVATE_KEY, - ERR_R_MALLOC_FAILURE); - goto err; - } - - pkey_type = OBJ_obj2nid(master->pkey_algor->algorithm); - - if (pkey_type == EVP_PKEY_EC) { - EC_KEY *ec_key; - if (!(ec_key = extract_ec_priv_key(master, id))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PRIVATE_KEY, - ERR_R_CPK_LIB); - goto err; - } - if (!EVP_PKEY_assign_EC_KEY(pkey, ec_key)) { - EC_KEY_free(ec_key); - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PRIVATE_KEY, - ERR_R_EVP_LIB); - goto err; - } - - } else { - CPKerr(CPK_F_CPK_MASTER_SECRET_EXTRACT_PRIVATE_KEY, - CPK_R_INVALID_PKEY_TYPE); - goto err; - } - - ret = pkey; - pkey = NULL; - -err: - EVP_PKEY_free(pkey); - return ret; -} - -EVP_PKEY *CPK_PUBLIC_PARAMS_extract_public_key(CPK_PUBLIC_PARAMS *param, - const char *id) -{ - EVP_PKEY *ret = NULL; - EVP_PKEY *pkey = NULL; - int pkey_type; - - if (!(pkey = EVP_PKEY_new())) { - CPKerr(CPK_F_CPK_PUBLIC_PARAMS_EXTRACT_PUBLIC_KEY, - ERR_R_MALLOC_FAILURE); - goto err; - } - - pkey_type = OBJ_obj2nid(param->pkey_algor->algorithm); - - - if (pkey_type == EVP_PKEY_EC) { - EC_KEY *ec_key = NULL; - if (!(ec_key = extract_ec_pub_key(param, id))) { - CPKerr(CPK_F_CPK_PUBLIC_PARAMS_EXTRACT_PUBLIC_KEY, - ERR_R_CPK_LIB); - goto err; - } - if (!EVP_PKEY_assign_EC_KEY(pkey, ec_key)) { - EC_KEY_free(ec_key); - CPKerr(CPK_F_CPK_PUBLIC_PARAMS_EXTRACT_PUBLIC_KEY, - ERR_R_EVP_LIB); - goto err; - } - - } else { - CPKerr(CPK_F_CPK_PUBLIC_PARAMS_EXTRACT_PUBLIC_KEY, - CPK_R_INVALID_PKEY_TYPE); - goto err; - } - - ret = pkey; - pkey = NULL; - -err: - EVP_PKEY_free(pkey); - return ret; -} - -char *CPK_MASTER_SECRET_get_name(CPK_MASTER_SECRET *master, char *buf, int size) -{ - return X509_NAME_oneline(master->id, buf, size); -} - -char *CPK_PUBLIC_PARAMS_get_name(CPK_PUBLIC_PARAMS *params, char *buf, int size) -{ - return X509_NAME_oneline(params->id, buf, size); -} - -int CPK_MASTER_SECRET_validate_public_params(CPK_MASTER_SECRET *master, - CPK_PUBLIC_PARAMS *params) -{ - int ret = 0; - CPK_PUBLIC_PARAMS *tmp = NULL; - - if (!(tmp = CPK_MASTER_SECRET_extract_public_params(master))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - if (tmp->version != params->version) { - CPKerr(CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - if (X509_NAME_cmp(tmp->id, params->id)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - - /* - * two ASN_OBJECT * with different address may have same NID - * thus we can not check with: - * tmp->pkey_algor->algorithm != params->pkey_algor->algorithm - */ - if (OBJ_obj2nid(tmp->pkey_algor->algorithm) != - OBJ_obj2nid(params->pkey_algor->algorithm)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - // FIXME: pkey_algor->parameters - if (OBJ_obj2nid(tmp->map_algor->algorithm) != - OBJ_obj2nid(params->map_algor->algorithm)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - if (ASN1_STRING_cmp(tmp->public_factors, params->public_factors)) { - CPKerr(CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - - ret = 1; -err: - CPK_PUBLIC_PARAMS_free(tmp); - return ret; -} - -int CPK_PUBLIC_PARAMS_validate_private_key(CPK_PUBLIC_PARAMS *params, - const char *id, const EVP_PKEY *priv_key) -{ - int ret = -3; - EVP_PKEY *pub_key = NULL; - - if (!(pub_key = CPK_PUBLIC_PARAMS_extract_public_key(params, id))) { - CPKerr(CPK_F_CPK_PUBLIC_PARAMS_VALIDATE_PRIVATE_KEY, - ERR_R_EVP_LIB); - goto err; - } - ret = EVP_PKEY_cmp(pub_key, priv_key); -err: - EVP_PKEY_free(pub_key); - return ret; -} - - -static EC_KEY *X509_ALGOR_get1_EC_KEY(X509_ALGOR *algor) -{ - EC_KEY *ec_key = NULL; - int ptype; - const void *pval; - const unsigned char *p; - - X509_ALGOR_get0(NULL, &ptype, &pval, algor); - - if (ptype == V_ASN1_SEQUENCE) { - ASN1_OCTET_STRING *pstr = (ASN1_OCTET_STRING *)pval; - p = pstr->data; - if (!(ec_key = d2i_ECParameters(NULL, &p, pstr->length))) { - CPKerr(CPK_F_X509_ALGOR_GET1_EC_KEY, ERR_R_EC_LIB); - return NULL; - } - - } else if (ptype == V_ASN1_OBJECT) { - ASN1_OBJECT *poid = (ASN1_OBJECT *)pval; - EC_GROUP *group; - if (!(ec_key = EC_KEY_new())) { - CPKerr(CPK_F_X509_ALGOR_GET1_EC_KEY, ERR_R_MALLOC_FAILURE); - return NULL; - } - if (!(group = EC_GROUP_new_by_curve_name(OBJ_obj2nid(poid)))) { - EC_KEY_free(ec_key); - CPKerr(CPK_F_X509_ALGOR_GET1_EC_KEY, ERR_R_EC_LIB); - return NULL; - } - EC_GROUP_set_asn1_flag(group, OPENSSL_EC_NAMED_CURVE); - if (!EC_KEY_set_group(ec_key, group)) { - EC_GROUP_free(group); - EC_KEY_free(ec_key); - CPKerr(CPK_F_X509_ALGOR_GET1_EC_KEY, ERR_R_EC_LIB); - return NULL; - } - EC_GROUP_free(group); - - } else { - CPKerr(CPK_F_X509_ALGOR_GET1_EC_KEY, CPK_R_BAD_DATA); - return NULL; - } - return ec_key; -} - -static int extract_ec_params(CPK_MASTER_SECRET *master, CPK_PUBLIC_PARAMS *param) -{ - int ret = 0; - EC_KEY *ec_key = NULL; - const EC_GROUP *ec_group; - BIGNUM *bn = BN_new(); - BIGNUM *order = BN_new(); - BN_CTX *ctx = BN_CTX_new(); - EC_POINT *pt = NULL; - int i, bn_size, pt_size, num_factors; - const unsigned char *bn_ptr; - unsigned char *pt_ptr; - - if (!bn || !order || !ctx) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - - if (!(ec_key = X509_ALGOR_get1_EC_KEY(master->pkey_algor))) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - ec_group = EC_KEY_get0_group(ec_key); - if (!(EC_GROUP_get_order(ec_group, order, ctx))) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - bn_size = BN_num_bytes(order); - pt_size = bn_size + 1; - - if ((num_factors = CPK_MAP_num_factors(master->map_algor)) <= 0) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - if (ASN1_STRING_length(master->secret_factors) != bn_size * num_factors) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - if (!ASN1_STRING_set(param->public_factors, NULL, pt_size * num_factors)) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - - bn_ptr = ASN1_STRING_get0_data(master->secret_factors); - pt_ptr = ASN1_STRING_get0_data(param->public_factors); - memset(pt_ptr, 0, ASN1_STRING_length(param->public_factors)); - - if (!(pt = EC_POINT_new(ec_group))) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - for (i = 0; i < num_factors; i++) { - if (!BN_bin2bn(bn_ptr, bn_size, bn)) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - if (BN_is_zero(bn) || BN_cmp(bn, order) >= 0) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - if (!EC_POINT_mul(ec_group, pt, bn, NULL, NULL, ctx)) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - - if (!EC_POINT_point2oct(ec_group, pt, - POINT_CONVERSION_COMPRESSED, pt_ptr, pt_size, ctx)) { - CPKerr(CPK_F_EXTRACT_EC_PARAMS, ERR_R_CPK_LIB); - goto err; - } - bn_ptr += bn_size; - pt_ptr += pt_size; - } - - ret = 1; -err: - EC_KEY_free(ec_key); - BN_free(bn); - BN_free(order); - BN_CTX_free(ctx); - EC_POINT_free(pt); - return ret; -} - -static EC_KEY *extract_ec_priv_key(CPK_MASTER_SECRET *master, const char *id) -{ - EC_KEY *ret = NULL; - EC_KEY *ec_key = NULL; - const EC_GROUP *ec_group; - EC_POINT *pub_key = NULL; - BIGNUM *priv_key = BN_new(); - BIGNUM *order = BN_new(); - BIGNUM *bn = BN_new(); - BN_CTX *ctx = BN_CTX_new(); - int *index = NULL; - int i, num_indexes, bn_size; - - - if (!priv_key || !bn || !order || !ctx) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - - if (!(ec_key = X509_ALGOR_get1_EC_KEY(master->pkey_algor))) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - ec_group = EC_KEY_get0_group(ec_key); - if (!(pub_key = EC_POINT_new(ec_group))) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - - if ((num_indexes = CPK_MAP_num_indexes(master->map_algor)) <= 0) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!(index = OPENSSL_malloc(sizeof(int) * num_indexes))) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!CPK_MAP_str2index(master->map_algor, id, index)) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - - BN_zero(priv_key); - if (!(EC_GROUP_get_order(EC_KEY_get0_group(ec_key), order, ctx))) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - bn_size = BN_num_bytes(order); - - for (i = 0; i < num_indexes; i++) { - const unsigned char *p = - ASN1_STRING_get0_data(master->secret_factors) + - bn_size * index[i]; - - if (!BN_bin2bn(p, bn_size, bn)) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - if (BN_is_zero(bn) || BN_cmp(bn, order) >= 0) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!BN_mod_add(priv_key, priv_key, bn, order, ctx)) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - } - if (!EC_KEY_set_private_key(ec_key, priv_key)) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - - if (!EC_POINT_mul(ec_group, pub_key, priv_key, NULL, NULL, ctx)) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!EC_KEY_set_public_key(ec_key, pub_key)) { - CPKerr(CPK_F_EXTRACT_EC_PRIV_KEY, ERR_R_CPK_LIB); - goto err; - } - - ret = ec_key; - ec_key = NULL; - -err: - EC_KEY_free(ec_key); - BN_free(priv_key); - EC_POINT_free(pub_key); - BN_free(order); - BN_free(bn); - BN_CTX_free(ctx); - OPENSSL_free(index); - return ret; -} - -static EC_KEY *extract_ec_pub_key(CPK_PUBLIC_PARAMS *param, const char *id) -{ - EC_KEY *ret = NULL; - EC_KEY *ec_key = NULL; - const EC_GROUP *ec_group; - EC_POINT *pub_key = NULL; - EC_POINT *pt = NULL; - BIGNUM *order = BN_new(); - BIGNUM *bn = BN_new(); - BN_CTX *ctx = BN_CTX_new(); - int *index = NULL; - int i, bn_size, pt_size, num_indexes, num_factors; - - if (!(ec_key = X509_ALGOR_get1_EC_KEY(param->pkey_algor))) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - ec_group = EC_KEY_get0_group(ec_key); - - if (!(pub_key = EC_POINT_new(ec_group))) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!(pt = EC_POINT_new(ec_group))) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!EC_GROUP_get_order(ec_group, order, ctx)) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - bn_size = BN_num_bytes(order); - pt_size = bn_size + 1; - - if ((num_factors = CPK_MAP_num_factors(param->map_algor)) <= 0) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - if (ASN1_STRING_length(param->public_factors) != pt_size * num_factors) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - - if ((num_indexes = CPK_MAP_num_indexes(param->map_algor)) <= 0) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!(index = OPENSSL_malloc(sizeof(int) * num_indexes))) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - if (!CPK_MAP_str2index(param->map_algor, id, index)) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - - if (!EC_POINT_set_to_infinity(ec_group, pub_key)) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - for (i = 0; i < num_indexes; i++) { - const unsigned char *p = - ASN1_STRING_get0_data(param->public_factors) + - pt_size * index[i]; - - if (!EC_POINT_oct2point(ec_group, pt, p, pt_size, ctx)) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - - if (!EC_POINT_add(ec_group, pub_key, pub_key, pt, ctx)) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - } - - if (!EC_KEY_set_public_key(ec_key, pub_key)) { - CPKerr(CPK_F_EXTRACT_EC_PUB_KEY, ERR_R_CPK_LIB); - goto err; - } - - ret = ec_key; - ec_key = NULL; - -err: - EC_KEY_free(ec_key); - EC_POINT_free(pub_key); - BN_free(order); - BN_free(bn); - BN_CTX_free(ctx); - OPENSSL_free(index); - return ret; -} diff --git a/crypto/cpk/cpk_map.c b/crypto/cpk/cpk_map.c deleted file mode 100755 index e9a240e7..00000000 --- a/crypto/cpk/cpk_map.c +++ /dev/null @@ -1,219 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2007 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include "cpk_lcl.h" -#include "../../e_os.h" - -/* Currently we only support fixed 32 indexes - * this means EC_POINT_add() called 32 times */ -#define CPK_NUM_INDEXES 32 - -typedef struct { - int map_nid; - int md_nid; -} CPK_MAP_TABLE; - -static CPK_MAP_TABLE map_table[] = { - {NID_cpk_map_sm3, NID_sm3}, - {NID_cpk_map_sha1, NID_sha1}, - {NID_cpk_map_sha256, NID_sha256}, - {NID_cpk_map_sha384, NID_sha384}, - {NID_cpk_map_sha512, NID_sha512} -}; - -static const EVP_MD *cpk_map2md(int type) -{ - int i; - for (i = 0; i < OSSL_NELEM(map_table); i++) { - if (map_table[i].map_nid == type) { - return EVP_get_digestbynid(map_table[i].md_nid); - } - } - return NULL; -} - -static const EVP_MD *CPK_MAP_get_md(const X509_ALGOR *algor) -{ - const EVP_MD *md; - if (!algor->algorithm) { - CPKerr(CPK_F_CPK_MAP_GET_MD, CPK_R_INVALID_ARGUMENT); - return NULL; - } - if (!(md = cpk_map2md(OBJ_obj2nid(algor->algorithm)))) { - CPKerr(CPK_F_CPK_MAP_GET_MD, ERR_R_CPK_LIB); - return NULL; - } - return md; -} - -X509_ALGOR *CPK_MAP_new(int type) -{ - X509_ALGOR *ret = NULL; - X509_ALGOR *algor = NULL; - - if (!cpk_map2md(type)) { - CPKerr(CPK_F_CPK_MAP_NEW, CPK_R_INVALID_MAP_ALGOR); - return NULL; - } - if (!(algor = X509_ALGOR_new())) { - CPKerr(CPK_F_CPK_MAP_NEW, ERR_R_X509_LIB); - goto end; - } - if (!X509_ALGOR_set0(algor, OBJ_nid2obj(type), V_ASN1_UNDEF, NULL)) { - CPKerr(CPK_F_CPK_MAP_NEW, ERR_R_X509_LIB); - goto end; - } - - ret = algor; - algor = NULL; - -end: - X509_ALGOR_free(algor); - return ret; -} - -X509_ALGOR *CPK_MAP_new_default(void) -{ - return CPK_MAP_new(NID_cpk_map_sha1); -} - -int CPK_MAP_is_valid(const X509_ALGOR *algor) -{ - return CPK_MAP_get_md(algor) != NULL; -} - -int CPK_MAP_num_indexes(const X509_ALGOR *algor) -{ - if (!CPK_MAP_is_valid(algor)) { - CPKerr(CPK_F_CPK_MAP_NUM_INDEXES, CPK_R_INVALID_MAP_ALGOR); - return 0; - } - /* current only use fixed num_indexes */ - return CPK_NUM_INDEXES; -} - -int CPK_MAP_num_subset(const X509_ALGOR *algor) -{ - const EVP_MD *md; - if (!(md = CPK_MAP_get_md(algor))) { - CPKerr(CPK_F_CPK_MAP_NUM_SUBSET, ERR_R_CPK_LIB); - return 0; - } - return 1 << ((EVP_MD_size(md) * 8) / CPK_MAP_num_indexes(algor)); -} - -int CPK_MAP_num_factors(const X509_ALGOR *algor) -{ - int num_indexes; - int num_subset; - if (!(num_indexes = CPK_MAP_num_indexes(algor))) { - CPKerr(CPK_F_CPK_MAP_NUM_FACTORS, ERR_R_CPK_LIB); - return 0; - } - if (!(num_subset = CPK_MAP_num_subset(algor))) { - CPKerr(CPK_F_CPK_MAP_NUM_FACTORS, ERR_R_CPK_LIB); - return 0; - } - return num_indexes * num_subset; -} - -int CPK_MAP_str2index(const X509_ALGOR *algor, const char *str, int *index) -{ - int ret = 0; - const EVP_MD *md; - unsigned char dgst[EVP_MAX_MD_SIZE]; - unsigned int dgstlen; - BIGNUM *bn = NULL; - int i; - int num_indexes, num_subset; - - OPENSSL_assert(algor); - OPENSSL_assert(algor->algorithm); - OPENSSL_assert(str); - OPENSSL_assert(strlen(str) > 0); - - if (!(md = CPK_MAP_get_md(algor)) - || !(num_indexes = CPK_MAP_num_indexes(algor)) - || !(num_subset = CPK_MAP_num_subset(algor))) { - CPKerr(CPK_F_CPK_MAP_STR2INDEX, CPK_R_INVALID_MAP_ALGOR); - return 0; - } - - if (!index) { - return CPK_MAP_num_indexes(algor); - } - - if (!EVP_Digest(str, strlen(str), dgst, &dgstlen, md, NULL)) { - CPKerr(CPK_F_CPK_MAP_STR2INDEX, ERR_R_EVP_LIB); - return 0; - } - if (!(bn = BN_new())) { - CPKerr(CPK_F_CPK_MAP_STR2INDEX, ERR_R_MALLOC_FAILURE); - goto end; - } - if (!BN_bin2bn(dgst, dgstlen, bn)) { - CPKerr(CPK_F_CPK_MAP_STR2INDEX, ERR_R_BN_LIB); - goto end; - } - - for (i = 0; i < num_indexes; i++) { - int r = BN_mod_word(bn, num_subset); - BN_div_word(bn, num_subset); - index[i] = num_subset * i + r; - } - - ret = num_indexes; -end: - BN_free(bn); - return ret; -} diff --git a/crypto/cpk/cpk_prn.c b/crypto/cpk/cpk_prn.c deleted file mode 100644 index 901c7baf..00000000 --- a/crypto/cpk/cpk_prn.c +++ /dev/null @@ -1,144 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2007 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include "cpk_lcl.h" - -int CPK_MASTER_SECRET_print(BIO *out, CPK_MASTER_SECRET *master, - int indent, unsigned long flags) -{ - char name[1024] = {0}; - int num_factors; - const unsigned char *p; - int i, len; - - if (!X509_NAME_oneline(master->id, name, sizeof(name))) { - CPKerr(CPK_F_CPK_MASTER_SECRET_PRINT, ERR_R_CPK_LIB); - return 0; - } - - BIO_printf(out, "CPK_MASTER_SECRET\n"); - BIO_printf(out, " Version : %ld\n", master->version); - BIO_printf(out, " Domain-ID : %s\n", name); - BIO_printf(out, " Public-Key-Algor : %s\n", OBJ_nid2sn(OBJ_obj2nid(master->pkey_algor->algorithm))); - BIO_printf(out, " Map-Algor : %s\n", OBJ_nid2sn(OBJ_obj2nid(master->map_algor->algorithm))); - BIO_printf(out, " Secret-Factors :\n"); - - if ((num_factors = CPK_MAP_num_factors(master->map_algor)) <= 0) { - fprintf(stderr, "%s %d\n", __FILE__, __LINE__); - return 0; - } - p = ASN1_STRING_get0_data(master->secret_factors); - - len = ASN1_STRING_length(master->secret_factors)/num_factors; - if (ASN1_STRING_length(master->secret_factors) % num_factors) { - CPKerr(CPK_F_CPK_MASTER_SECRET_PRINT, ERR_R_CPK_LIB); - return 0; - } - - for (i = 0; i < num_factors; i++) { - int j; - printf(" %-8d ", i); - for (j = 0; j < len; j++) { - BIO_printf(out, "%02X", p[j]); - } - printf("\n"); - p += len; - } - - return 1; -} - -int CPK_PUBLIC_PARAMS_print(BIO *out, CPK_PUBLIC_PARAMS *params, - int indent, unsigned long flags) -{ - char name[1024] = {0}; - int num_factors; - const unsigned char *p; - int len, i; - - if (!X509_NAME_oneline(params->id, name, sizeof(name))) { - CPKerr(CPK_F_CPK_PUBLIC_PARAMS_PRINT, ERR_R_CPK_LIB); - return 0; - } - - BIO_printf(out, "CPK_PUBLIC_PARAMS\n"); - BIO_printf(out, " Version : %ld\n", params->version); - BIO_printf(out, " Domain-ID : %s\n", name); - BIO_printf(out, " Public-Key-Algor : %s\n", OBJ_nid2sn(OBJ_obj2nid(params->pkey_algor->algorithm))); - BIO_printf(out, " Map-Algor : %s\n", OBJ_nid2sn(OBJ_obj2nid(params->map_algor->algorithm))); - BIO_printf(out, " Secret-Factors :\n"); - - if ((num_factors = CPK_MAP_num_factors(params->map_algor)) <= 0) { - fprintf(stderr, "%s %d\n", __FILE__, __LINE__); - return 0; - } - p = ASN1_STRING_get0_data(params->public_factors); - - len = ASN1_STRING_length(params->public_factors)/num_factors; - if (ASN1_STRING_length(params->public_factors) % num_factors) { - CPKerr(CPK_F_CPK_PUBLIC_PARAMS_PRINT, ERR_R_CPK_LIB); - return 0; - } - - for (i = 0; i < num_factors; i++) { - int j; - printf(" %-8d ", i); - for (j = 0; j < len; j++) { - BIO_printf(out, "%02X", p[j]); - } - printf("\n"); - p += len; - } - - return 1; -} diff --git a/crypto/ec/build.info b/crypto/ec/build.info index 7ae2811e..863e4d6a 100644 --- a/crypto/ec/build.info +++ b/crypto/ec/build.info @@ -6,7 +6,7 @@ SOURCE[../../libcrypto]=\ ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c \ ecp_oct.c ec2_oct.c ec_oct.c ec_kmeth.c ecdh_ossl.c ecdh_kdf.c \ ecdsa_ossl.c ecdsa_sign.c ecdsa_vrf.c curve25519.c ecx_meth.c \ - {- $target{ec_asm_src} -} ecahe.c + {- $target{ec_asm_src} -} GENERATE[ecp_nistz256-x86.s]=asm/ecp_nistz256-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(LIB_CFLAGS) $(PROCESSOR) diff --git a/crypto/ec/ec_err.c b/crypto/ec/ec_err.c index 2cc2e658..08039a6e 100644 --- a/crypto/ec/ec_err.c +++ b/crypto/ec/ec_err.c @@ -215,7 +215,6 @@ static ERR_STRING_DATA EC_str_functs[] = { "EC_POINT_set_Jprojective_coordinates_GFp"}, {ERR_FUNC(EC_F_EC_POINT_SET_TO_INFINITY), "EC_POINT_set_to_infinity"}, {ERR_FUNC(EC_F_EC_PRE_COMP_NEW), "ec_pre_comp_new"}, - {ERR_FUNC(EC_F_EC_SCHNORR_SIGN), "ec_schnorr_sign"}, {ERR_FUNC(EC_F_EC_TYPE1CURVE_TATE), "EC_type1curve_tate"}, {ERR_FUNC(EC_F_EC_WNAF_MUL), "ec_wNAF_mul"}, {ERR_FUNC(EC_F_EC_WNAF_PRECOMPUTE_MULT), "ec_wNAF_precompute_mult"}, diff --git a/crypto/ec/ecahe.c b/crypto/ec/ecahe.c deleted file mode 100644 index c409fa54..00000000 --- a/crypto/ec/ecahe.c +++ /dev/null @@ -1,456 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include - -struct ECAHE_CIPHERTEXT_st { - EC_POINT *A; - EC_POINT *B; -}; - -ASN1_SEQUENCE(ECAHE_CIPHERTEXT) = { - ASN1_SIMPLE(ECAHE_CIPHERTEXT, A, ASN1_OCTET_STRING), - ASN1_SIMPLE(ECAHE_CIPHERTEXT, B, ASN1_OCTET_STRING) -} ASN1_SEQUENCE_END(ECAHE_CIPHERTEXT) -IMPLEMENT_ASN1_FUNCTIONS(ECAHE_CIPHERTEXT) -IMPLEMENT_ASN1_DUP_FUNCTION(ECAHE_CIPHERTEXT) - - -#define EC_MAX_PLAINTEXT (65536) - - -int ECAHE_ciphertext_size(EC_KEY *pk) -{ - ECerr(EC_F_ECAHE_CIPHERTEXT_SIZE, ERR_R_EC_LIB); - return 0; -} - -int ECAHE_encrypt(unsigned char *out, size_t *outlen, const BIGNUM *in, EC_KEY *pk) -{ - ECerr(EC_F_ECAHE_ENCRYPT, ERR_R_EC_LIB); - return 0; -} - -int ECAHE_decrypt(unsigned long *out, const unsigned char *in, size_t inlen, EC_KEY *sk) -{ - ECerr(EC_F_ECAHE_DECRYPT, ERR_R_EC_LIB); - return 0; -} - -int ECAHE_do_encrypt(ECAHE_CIPHERTEXT *c, const BIGNUM *m, EC_KEY *pk) -{ - int ret = -1; - const EC_GROUP *group; - const EC_POINT *point; - BIGNUM *order = NULL; - BN_CTX *ctx = NULL; - BIGNUM *r = NULL; - - OPENSSL_assert(c); - OPENSSL_assert(m); - OPENSSL_assert(pk); - - if (!(group = EC_KEY_get0_group(pk))) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(order = BN_new())) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(ctx = BN_CTX_new())) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!EC_GROUP_get_order(group, order, ctx)) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(r = BN_new())) { - ERR_print_errors_fp(stderr); - goto end; - } - - do { - if (!BN_rand_range(r, order)) { - ERR_print_errors_fp(stderr); - goto end; - } - - } while (BN_is_zero(r)); - - if (c->A == NULL) { - if (!(c->A = EC_POINT_new(group))) { - ERR_print_errors_fp(stderr); - goto end; - } - } - - /* c->A = [r]G */ - if (!EC_POINT_mul(group, c->A, r, NULL, NULL, ctx)) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (c->B == NULL) { - if (!(c->B = EC_POINT_new(group))) { - ERR_print_errors_fp(stderr); - goto end; - } - } - - if (!(point = EC_KEY_get0_public_key(pk))) { - ERR_print_errors_fp(stderr); - goto end; - } - - { - //EC_POINT *T = EC_POINT_new(group); - //EC_POINT_mul(group, T, m, NULL, NULL, ctx); - //printf("[m]G = %s\n", EC_POINT_point2hex(group, T, EC_PUBKEY_FORMAT, ctx)); - } - - /* c->b = [m]G + [r]P */ - if (!EC_POINT_mul(group, c->B, m, point, r, ctx)) { - ERR_print_errors_fp(stderr); - goto end; - } - - ret = 0; - -end: - if (r) BN_free(r); - if (order) BN_free(order); - if (ctx) BN_CTX_free(ctx); - - return ret; -} - -/* A == [r]G - * B == [m]G + [r]P == [m]G + [rd]G - * B - [d]A == B - [rd]G == [m]G - */ -int ECAHE_do_decrypt(BIGNUM *m, const ECAHE_CIPHERTEXT *c, EC_KEY *sk) -{ - int ret = -1; - - const EC_GROUP *group; - const EC_POINT *G; - const BIGNUM *d; - BN_CTX *ctx = NULL; - BIGNUM *order = NULL; - EC_POINT *point = NULL; - EC_POINT *point2 = NULL; - unsigned int i; - - OPENSSL_assert(m); - OPENSSL_assert(c && c->A && c->B); - OPENSSL_assert(sk); - - if (!(group = EC_KEY_get0_group(sk))) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(G = EC_GROUP_get0_generator(group))) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(d = EC_KEY_get0_private_key(sk))) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(ctx = BN_CTX_new())) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(order = BN_new())) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!EC_GROUP_get_order(group, order, ctx)) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!(point = EC_POINT_new(group))) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!BN_one(order)) { - ERR_print_errors_fp(stderr); - goto end; - } - - /* point = [d]A = [rd]G */ - if (!EC_POINT_mul(group, point, NULL, c->A, d, ctx)) { - ERR_print_errors_fp(stderr); - goto end; - } - - /* point = -[rd]G */ - if (!EC_POINT_invert(group, point, ctx)) { - ERR_print_errors_fp(stderr); - goto end; - } - - /* point = B - [rd]G = [m]G + [rd]G - [rd]G = [m]G */ - if (!EC_POINT_add(group, point, point, c->B, ctx)) { - ERR_print_errors_fp(stderr); - goto end; - } - - { - //printf("[m]G = %s\n", EC_POINT_point2hex(group, point, EC_PUBKEY_FORMAT, ctx)); - } - - if (!(point2 = EC_POINT_new(group))) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (!EC_POINT_set_to_infinity(group, point2)) { - ERR_print_errors_fp(stderr); - goto end; - } - - for (i = 0; i < EC_MAX_PLAINTEXT; i++) { - - //printf("%03d ", i); - //printf(" %s\n", EC_POINT_point2hex(group, point, EC_PUBKEY_FORMAT, ctx)); - //printf(" %s\n", EC_POINT_point2hex(group, point2, EC_PUBKEY_FORMAT, ctx)); - - if (EC_POINT_cmp(group, point, point2, ctx) == 0) { - if (!BN_set_word(m, i)) { - ERR_print_errors_fp(stderr); - goto end; - } - - //printf("SUCCESS: %d\n", i+1); - ret = 0; - goto end; - } - - EC_POINT_add(group, point2, point2, EC_GROUP_get0_generator(group), ctx); - } - - -end: - if (ctx) BN_CTX_free(ctx); - if (order) BN_free(order); - if (point) EC_POINT_free(point); - if (point2) EC_POINT_free(point2); - - return ret; -} - -int ECAHE_ciphertext_add(ECAHE_CIPHERTEXT *r, - const ECAHE_CIPHERTEXT *a, const ECAHE_CIPHERTEXT *b, - EC_KEY *pk) -{ - const EC_GROUP *group = EC_KEY_get0_group(pk); - BN_CTX *ctx = NULL; - - if (!(group = EC_KEY_get0_group(pk))) { - ERR_print_errors_fp(stderr); - return -1; - } - - OPENSSL_assert(a->A); - OPENSSL_assert(b->A); - OPENSSL_assert(a->B); - OPENSSL_assert(b->B); - - if (r->A == NULL) { - if (!(r->A = EC_POINT_new(group))) { - ERR_print_errors_fp(stderr); - return -1; - } - } - - if (r->B == NULL) { - if (!(r->B = EC_POINT_new(group))) { - ERR_print_errors_fp(stderr); - return -1; - } - } - - if (!(ctx = BN_CTX_new())) { - ERR_print_errors_fp(stderr); - return -1; - } - - - if (!EC_POINT_add(group, r->A, a->A, b->A, ctx)) { - ERR_print_errors_fp(stderr); - BN_CTX_free(ctx); - return -1; - } - - - if (!EC_POINT_add(group, r->B, a->B, b->B, ctx)) { - ERR_print_errors_fp(stderr); - BN_CTX_free(ctx); - return -1; - } - - BN_CTX_free(ctx); - - return 0; -} - -int ECAHE_ciphertext_sub(ECAHE_CIPHERTEXT *r, - const ECAHE_CIPHERTEXT *a, const ECAHE_CIPHERTEXT *b, - EC_KEY *pk) -{ - const EC_GROUP *group = EC_KEY_get0_group(pk); - BN_CTX *ctx = NULL; - - if (!(group = EC_KEY_get0_group(pk))) { - ERR_print_errors_fp(stderr); - return -1; - } - - OPENSSL_assert(a->A); - OPENSSL_assert(b->A); - OPENSSL_assert(a->B); - OPENSSL_assert(b->B); - - if (ECAHE_ciphertext_neg(r, b, pk) < 0) { - fprintf(stderr, "%s (%s %d): ec_ciphertext_neg failed\n", - __FUNCTION__, __FILE__, __LINE__); - return -1; - } - - - if (!(ctx = BN_CTX_new())) { - ERR_print_errors_fp(stderr); - return -1; - } - - - if (!EC_POINT_add(group, r->A, r->A, a->A, ctx)) { - ERR_print_errors_fp(stderr); - BN_CTX_free(ctx); - return -1; - } - - if (!EC_POINT_add(group, r->B, r->B, a->B, ctx)) { - ERR_print_errors_fp(stderr); - BN_CTX_free(ctx); - return -1; - } - - BN_CTX_free(ctx); - - return 0; -} - -int ECAHE_ciphertext_neg(ECAHE_CIPHERTEXT *r, const ECAHE_CIPHERTEXT *a, - EC_KEY *pk) -{ - const EC_GROUP *group; - BN_CTX *ctx = NULL; - - OPENSSL_assert(r && a && pk); - OPENSSL_assert(a->A); - OPENSSL_assert(a->B); - - - if (!(group = EC_KEY_get0_group(pk))) { - ERR_print_errors_fp(stderr); - return -1; - } - - - if (r->A) - EC_POINT_free(r->A); - if (!(r->A = EC_POINT_dup(a->A, group))) { - ERR_print_errors_fp(stderr); - return -1; - } - - if (r->B) - EC_POINT_free(r->B); - if (!(r->B = EC_POINT_dup(a->B, group))) { - ERR_print_errors_fp(stderr); - return -1; - } - - if (!(ctx = BN_CTX_new())) { - ERR_print_errors_fp(stderr); - return -1; - } - if (!EC_POINT_invert(group, r->A, ctx)) { - ERR_print_errors_fp(stderr); - BN_CTX_free(ctx); - return -1; - } - if (!EC_POINT_invert(group, r->B, ctx)) { - ERR_print_errors_fp(stderr); - BN_CTX_free(ctx); - return -1; - } - - BN_CTX_free(ctx); - - return 0; -} diff --git a/crypto/ec2/bn_gfp2.c b/crypto/ec2/bn_gfp2.c deleted file mode 100644 index f4f77bc1..00000000 --- a/crypto/ec2/bn_gfp2.c +++ /dev/null @@ -1,490 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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 file implement complex number over prime field - * a = a0 + a1 * i, i^2 == -1 - * most of the routines should be replaced by macros - */ - -#include -#include -#include -#include -#include -#include -#include - -/* - * to make it simple, currently both a0 and a1 will be inited - */ - -BN_GFP2 *BN_GFP2_new(void) -{ - int e = 1; - BN_GFP2 *ret = NULL; - - if (!(ret = OPENSSL_malloc(sizeof(BN_GFP2)))) { - BNerr(BN_F_BN_GFP2_NEW, ERR_R_MALLOC_FAILURE); - return NULL; - } - - ret->a0 = BN_new(); - ret->a1 = BN_new(); - if (!ret->a0 || !ret->a1) { - BNerr(BN_F_BN_GFP2_NEW, ERR_R_MALLOC_FAILURE); - goto end; - } - - BN_zero(ret->a0); - BN_zero(ret->a1); - - e = 0; -end: - if (e && ret) { - BN_GFP2_free(ret); - ret = NULL; - } - return ret; -} - -void BN_GFP2_free(BN_GFP2 *a) -{ - if (a) { - BN_free(a->a0); - BN_free(a->a1); - OPENSSL_free(a); - } -} - -int BN_GFP2_copy(BN_GFP2 *r, const BN_GFP2 *a) -{ - if (!r || !r->a0 || !r->a1 || !a || !a->a0 || !a->a1) { - BNerr(BN_F_BN_GFP2_COPY, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!BN_copy(r->a0, a->a0)) { - BNerr(BN_F_BN_GFP2_COPY, ERR_R_BN_LIB); - return 0; - } - if (!BN_copy(r->a1, a->a1)) { - BNerr(BN_F_BN_GFP2_COPY, ERR_R_BN_LIB); - return 0; - } - - return 1; -} - -int BN_GFP2_one(BN_GFP2 *a) -{ - if (!a || !a->a0 || !a->a1) { - BNerr(BN_F_BN_GFP2_ONE, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - BN_one(a->a0); - BN_zero(a->a1); - return 1; -} - -int BN_GFP2_zero(BN_GFP2 *a) -{ - if (!a || !a->a0 || !a->a1) { - BNerr(BN_F_BN_GFP2_ZERO, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - BN_zero(a->a0); - BN_zero(a->a1); - return 1; -} - -/* return 1 on success, so dont use !BN_GFP2_is_zero() to check return value */ -int BN_GFP2_is_zero(const BN_GFP2 *a) -{ - if (!a || !a->a0 || !a->a1) { - BNerr(BN_F_BN_GFP2_IS_ZERO, ERR_R_PASSED_NULL_PARAMETER); - return -1; - } - - return (BN_is_zero(a->a0) && BN_is_zero(a->a1)); -} - -int BN_GFP2_equ(const BN_GFP2 *a, const BN_GFP2 *b) -{ - if (!a || !b || !a->a0 || !a->a1 || !b->a0 || !b->a1) { - BNerr(BN_F_BN_GFP2_EQU, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - return ((BN_cmp(a->a0, b->a0) == 0) && (BN_cmp(a->a1, b->a1) == 0)); -} - -int BN_GFP2_add(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, - const BIGNUM *p, BN_CTX *ctx) -{ - if (!a || !b || !a->a0 || !a->a1 || !b->a0 || !b->a1 || !p || !ctx) { - BNerr(BN_F_BN_GFP2_ADD, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!BN_mod_add(r->a0, a->a0, b->a0, p, ctx)) { - BNerr(BN_F_BN_GFP2_ADD, ERR_R_BN_LIB); - return 0; - } - if (!BN_mod_add(r->a1, a->a1, b->a1, p, ctx)) { - BNerr(BN_F_BN_GFP2_ADD, ERR_R_BN_LIB); - return 0; - } - - return 1; -} - -int BN_GFP2_sub(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, - const BIGNUM *p, BN_CTX *ctx) -{ - if (!a || !b || !a->a0 || !a->a1 || !b->a0 || !b->a1 || !p || !ctx) { - BNerr(BN_F_BN_GFP2_SUB, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!BN_mod_sub(r->a0, a->a0, b->a0, p, ctx)) { - BNerr(BN_F_BN_GFP2_SUB, ERR_R_BN_LIB); - return 0; - } - if (!BN_mod_sub(r->a1, a->a1, b->a1, p, ctx)) { - BNerr(BN_F_BN_GFP2_SUB, ERR_R_BN_LIB); - return 0; - } - - return 1; -} - -/* - * (a0 + a1 * i) * (b0 + b1 * i) - * = a0 * b0 + a1 * b1 * i^2 + (a0 * b1 + a1 * b0) * i - * = (a0 * b0 - a1 * b1) + (a0 * b1 + a1 * b0) * i - */ -int BN_GFP2_mul(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, - const BIGNUM *p, BN_CTX *ctx) -{ - int ret = 0; - BIGNUM *t = NULL; - - BN_CTX_start(ctx); - - if (!(t = BN_CTX_get(ctx))) { - BNerr(BN_F_BN_GFP2_MUL, ERR_R_BN_LIB); - goto end; - } - - /* r->a0 = a->a0 * b->a0 - a->a1 * b->a1 (mod p) */ - if (!BN_mod_mul(r->a0, a->a0, b->a0, p, ctx)) { - BNerr(BN_F_BN_GFP2_MUL, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(t, a->a1, b->a1, p, ctx)) { - BNerr(BN_F_BN_GFP2_MUL, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_sub(r->a0, r->a0, t, p, ctx)) { - BNerr(BN_F_BN_GFP2_MUL, ERR_R_BN_LIB); - goto end; - } - - /* r->a1 = a->a0 * b->a1 + a->a1 * b->a0 (mod p) */ - if (!BN_mod_mul(r->a1, a->a0, b->a1, p, ctx)) { - BNerr(BN_F_BN_GFP2_MUL, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(t, a->a1, b->a0, p, ctx)) { - BNerr(BN_F_BN_GFP2_MUL, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_add(r->a1, r->a1, t, p, ctx)) { - BNerr(BN_F_BN_GFP2_MUL, ERR_R_BN_LIB); - goto end; - } - - ret = 1; -end: - BN_CTX_end(ctx); - return ret; -} - -int BN_GFP2_sqr(BN_GFP2 *r, const BN_GFP2 *a, - const BIGNUM *p, BN_CTX *ctx) -{ - return BN_GFP2_mul(r, a, a, p, ctx); -} - -/* - * (a0 + a1 * i) * (a0 - a1 * i) - * = a0^2 - a1^2 * i^2 - * = a0^2 + a1^2 - * ==> (a0 + a1 * i) * (a0 - a1 * i) * (a0^2 + a1^2)^-1 == 1 - * ==> (a0 + a1 * i)^-1 == (a0 - a1 * i) * (a0^2 + a1^2)^-1 - */ -int BN_GFP2_inv(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *p, BN_CTX *ctx) -{ - int ret = 0; - BIGNUM *t = NULL; - - BN_CTX_start(ctx); - - if (!(t = BN_CTX_get(ctx))) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - - /* t = (a0^2 + a1^2)^-1 */ - if (!BN_mod_sqr(r->a0, a->a0, p, ctx)) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_sqr(r->a1, a->a1, p, ctx)) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(t, r->a0, r->a1, p, ctx)) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_inverse(t, t, p, ctx)) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - - /* r0 = a0^ t (mod p) */ - if (!BN_mod_mul(r->a0, a->a0, t, p, ctx)) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - - /* r1 = p - a1^t (mod p) */ - if (!BN_mod_mul(r->a1, a->a1, t, p, ctx)) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - if (!BN_sub(r->a1, p, r->a1)) { - BNerr(BN_F_BN_GFP2_INV, ERR_R_BN_LIB); - goto end; - } - - ret = 1; -end: - BN_CTX_end(ctx); - return ret; -} - -int BN_GFP2_div(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, const BIGNUM *p, BN_CTX *ctx) -{ - if (!BN_GFP2_inv(r, b, p, ctx)) { - return 0; - } - if (!BN_GFP2_mul(r, a, r, p, ctx)) { - return 0; - } - return 1; -} - -/* need a fast implementation. check if k is solinas */ -int BN_GFP2_exp(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *k, const BIGNUM *p, - BN_CTX *ctx) -{ - - return 0; -} - -int BN_GFP2_set_bn(BN_GFP2 *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) -{ - if (!r || !a || !p) { - BNerr(BN_F_BN_GFP2_SET_BN, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - if (!BN_copy(r->a0, a)) { - BNerr(BN_F_BN_GFP2_SET_BN, ERR_R_BN_LIB); - return 0; - } - BN_zero(r->a1); - return 1; -} - -int BN_GFP2_add_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx) -{ - return BN_mod_add(r->a0, a->a0, b, p, ctx); -} - -int BN_GFP2_sub_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx) -{ - return BN_mod_sub(r->a0, a->a0, b, p, ctx); -} - -int BN_GFP2_mul_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx) -{ - return BN_mod_mul(r->a0, a->a0, b, p, ctx); -} - -int BN_GFP2_div_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx) -{ - int ret = 0; - BIGNUM *binv; - - if (!(binv = BN_CTX_get(ctx))) { - BNerr(BN_F_BN_GFP2_DIV_BN, ERR_R_MALLOC_FAILURE); - goto end; - } - if (!BN_mod_inverse(binv, b, p, ctx)) { - BNerr(BN_F_BN_GFP2_DIV_BN, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(r->a0, a->a0, binv, p, ctx)) { - BNerr(BN_F_BN_GFP2_DIV_BN, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(r->a1, a->a1, binv, p, ctx)) { - BNerr(BN_F_BN_GFP2_DIV_BN, ERR_R_BN_LIB); - goto end; - } - - ret = 1; -end: - BN_CTX_end(ctx); - return ret; -} - -int BN_bn2gfp2(const BIGNUM *bn, BN_GFP2 *gfp2, const BIGNUM *p, BN_CTX *ctx) -{ - int ret = 0; - BIGNUM *a; - - if (!(a = BN_CTX_get(ctx))) { - goto end; - } - - BN_one(a); - if (!BN_lshift(a, a, BN_num_bytes(p)*8)) { - goto end; - } - - if (!BN_rshift(gfp2->a1, bn, BN_num_bytes(p)*8)) { - goto end; - } - if (!BN_mod(gfp2->a0, bn, a, ctx)) { - goto end; - } - - ret = 1; -end: - BN_CTX_end(ctx); - return ret; -} - -/* return (a0 + a1 << 2^n), n = log_2(p), n % 8 == 0 */ -int BN_gfp22bn(const BN_GFP2 *gfp2, BIGNUM *bn, const BIGNUM *p, BN_CTX *ctx) -{ - if (!BN_lshift(bn, gfp2->a1, BN_num_bytes(p) * 8)) { - return 0; - } - if (!BN_add(bn, bn, gfp2->a0)) { - return 0; - } - return 1; -} - -int BN_GFP2_canonical(const BN_GFP2 *a, unsigned char *out, size_t *outlen, - int order, const BIGNUM *p, BN_CTX *ctx) -{ - size_t len; - - if (!a || !a->a0 || !a->a1 || !outlen || !p) { - BNerr(BN_F_BN_GFP2_CANONICAL, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - len = BN_num_bytes(p) * 2; - if (!out) { - *outlen = len; - return 1; - } - if (*outlen < len) { - BNerr(BN_F_BN_GFP2_CANONICAL, BN_R_BUFFER_TOO_SMALL); - return 0; - } - - memset(out, 0, len); - if (order == 0) { - /* low order first output (a0, a1) */ - if (!BN_bn2bin(a->a0, out + len/2 - BN_num_bytes(a->a0))) { - BNerr(BN_F_BN_GFP2_CANONICAL, ERR_R_BN_LIB); - return 0; - } - if (!BN_bn2bin(a->a1, out + len - BN_num_bytes(a->a1))) { - BNerr(BN_F_BN_GFP2_CANONICAL, ERR_R_BN_LIB); - return 0; - } - } else { - /* high order first output (a1, a0) */ - if (!BN_bn2bin(a->a1, out + len/2 - BN_num_bytes(a->a1))) { - BNerr(BN_F_BN_GFP2_CANONICAL, ERR_R_BN_LIB); - return 0; - } - if (!BN_bn2bin(a->a0, out + len - BN_num_bytes(a->a0))) { - BNerr(BN_F_BN_GFP2_CANONICAL, ERR_R_BN_LIB); - return 0; - } - } - - *outlen = len; - return 1; -} diff --git a/crypto/ec2/bn_hash.c b/crypto/ec2/bn_hash.c deleted file mode 100644 index badb36d2..00000000 --- a/crypto/ec2/bn_hash.c +++ /dev/null @@ -1,137 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include "../bn/bn_lcl.h" - -int BN_hash_to_range(const EVP_MD *md, BIGNUM **bn, - const void *s, size_t slen, const BIGNUM *range, BN_CTX *bn_ctx) -{ - int ret = 0; - BIGNUM *r = NULL; - BIGNUM *a = NULL; - unsigned char *buf = NULL; - size_t buflen, mdlen; - int nbytes, rounds, i; - - if (!s || slen <= 0 || !md || !range) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!(*bn)) { - if (!(r = BN_new())) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_MALLOC_FAILURE); - return 0; - } - } else { - r = *bn; - BN_zero(r); - } - - mdlen = EVP_MD_size(md); - buflen = mdlen + slen; - if (!(buf = OPENSSL_malloc(buflen))) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_MALLOC_FAILURE); - goto end; - } - memset(buf, 0, mdlen); - memcpy(buf + mdlen, s, slen); - - a = BN_new(); - if (!a) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_MALLOC_FAILURE); - goto end; - } - - nbytes = BN_num_bytes(range); - rounds = (nbytes + mdlen - 1)/mdlen; - - if (!bn_expand(r, rounds * mdlen * 8)) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - - for (i = 0; i < rounds; i++) { - if (!EVP_Digest(buf, buflen, buf, (unsigned int *)&mdlen, md, NULL)) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_EVP_LIB); - goto end; - } - if (!BN_bin2bn(buf, mdlen, a)) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - if (!BN_lshift(r, r, mdlen * 8)) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - if (!BN_uadd(r, r, a)) { - goto end; - } - } - - if (!BN_mod(r, r, range, bn_ctx)) { - BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); - goto end; - } - - *bn = r; - ret = 1; -end: - if (!ret && !(*bn)) { - BN_free(r); - } - BN_free(a); - OPENSSL_free(buf); - return ret; -} diff --git a/crypto/ec2/bn_solinas.c b/crypto/ec2/bn_solinas.c deleted file mode 100644 index 919680d0..00000000 --- a/crypto/ec2/bn_solinas.c +++ /dev/null @@ -1,218 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include "../bn/bn_lcl.h" - -/* - * generate the solinas prime tables, - * use it for fast check of solinas - */ - -#define BN_SOLINAS_192V1 0 -#define BN_SOLINAS_192V2 1 -#define BN_SOLINAS_224V1 2 -#define BN_SOLINAS_256V1 3 -#define BN_SOLINAS_384V1 4 -#define BN_SOLINAS_512V1 5 -#define BN_SOLINAS_512V2 6 -#define BN_SOLINAS_1024V1 7 -#define BN_SOLINAS_1024V2 8 - -#if 0 -//remove warnings -static BN_SOLINAS BN_solinas_table[] = { - { 192, 16, -1, -1 }, - { 192, 64, -1, -1 }, - { 224, 96, -1, 1 }, - { 256, 168, -1, 1 }, - { 384, 80, -1, 1 }, - { 512, 32, -1, 1 }, - { 512, 32, -1, -1 }, - { 1024, 424, -1, -1 }, - { 1024, 856, -1, 1 }, -}; -#endif - -/* - * solinas = 2^a + s * 2^b + c, where s, c in {1, -1} - * solinas looks like: - * 2^a + 2^b + 1 = 10000100001 - * 2^a - 2^b + 1 = 1111100001 - * 2^a + 2^b - 1 = 10000011111 - * 2^a - 2^b - 1 = 1111011111 - * so: - * n = len(bits(solinas)) - * c = bits(solinas)[1] == 0 ? 1 : -1 - * s = bits(solinas)[n-2] == 0 ? 1 : -1 - * a = bits(solinas)[n-2] == 0 ? n-1 : n-2 - * b = len(bits(solinas - 2^a - s*2^b - c)) - 1 - * - * examples: - * 0xfffffffffffffffffffffffffffbffff - * 0xffffffffffffffffffffffeffffffffffff - * 0xfffffffffbfffffffffffffffffffffffff - */ - -int BN_bn2solinas(const BIGNUM *bn, BN_SOLINAS *solinas) -{ - int ret = 0; - BIGNUM *tmp = NULL; - int nbits; - int i; - - if (!solinas || !bn) { - BNerr(BN_F_BN_BN2SOLINAS, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (!BN_copy(tmp, bn)) { - goto end; - } - - if ((nbits = BN_num_bits(bn) - 1) < 1) { - BNerr(BN_F_BN_BN2SOLINAS, BN_R_INVALID_SOLINAS); - goto end; - } - - solinas->c = BN_is_bit_set(bn, 1) ? 1 : -1; - - if (BN_is_bit_set(bn, nbits - 1)) { - solinas->s = -1; - solinas->a = nbits; - } else { - solinas->s = 1; - solinas->a = nbits - 1; - } - - for (i = 1; i < nbits; i++) { - } - -end: - return ret; -} - -int BN_solinas2bn(const BN_SOLINAS *solinas, BIGNUM *bn) -{ - int ret = 0; - BIGNUM *tmp = NULL; - - if (!solinas || !bn) { - BNerr(BN_F_BN_SOLINAS2BN, ERR_R_MALLOC_FAILURE); - return 0; - } - - if (solinas->b <= 0 || solinas->a <= solinas->b - || (solinas->s != 1 && solinas->s != -1) - || (solinas->c != 1 && solinas->c != -1)) { - BNerr(BN_F_BN_SOLINAS2BN, BN_R_INVALID_SOLINAS_PARAMETERS); - return 0; - } - - if (!(tmp = BN_new())) { - BNerr(BN_F_BN_SOLINAS2BN, ERR_R_MALLOC_FAILURE); - goto end; - } - - BN_one(tmp); - - if (!BN_lshift(bn, tmp, solinas->a)) { - BNerr(BN_F_BN_SOLINAS2BN, ERR_R_BN_LIB); - goto end; - } - - if (!BN_lshift(tmp, tmp, solinas->b)) { - BNerr(BN_F_BN_SOLINAS2BN, ERR_R_BN_LIB); - goto end; - } - - if (!BN_add_word(tmp, solinas->c)) { - BNerr(BN_F_BN_SOLINAS2BN, ERR_R_BN_LIB); - goto end; - } - - if (solinas->s > 0) { - if (!BN_add(bn, bn, tmp)) { - BNerr(BN_F_BN_SOLINAS2BN, ERR_R_BN_LIB); - goto end; - } - } else { - if (!BN_sub(bn, bn, tmp)) { - BNerr(BN_F_BN_SOLINAS2BN, ERR_R_BN_LIB); - goto end; - } - } - - /* check if it is a prime */ - - ret = 1; -end: - BN_free(tmp); - return ret; -} - -int BN_generate_solinas(BIGNUM *ret, BN_SOLINAS *solinas, BN_GENCB *cb) -{ - return 0; -} - -int BN_is_solinas(const BIGNUM *a) -{ - return 0; -} - -BN_SOLINAS *BN_get_solinas(int index) -{ - return NULL; -} diff --git a/crypto/ec2/build.info b/crypto/ec2/build.info deleted file mode 100644 index 59ac0589..00000000 --- a/crypto/ec2/build.info +++ /dev/null @@ -1,3 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=bn_gfp2.c bn_solinas.c bn_hash.c \ - fppoint.c ec_hash.c ec_type1.c diff --git a/crypto/ec2/ec_hash.c b/crypto/ec2/ec_hash.c deleted file mode 100644 index 3d8af96b..00000000 --- a/crypto/ec2/ec_hash.c +++ /dev/null @@ -1,181 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include - -/* currently the EC_POINT_hash2point only support type1curve! */ -int EC_POINT_hash2point(const EC_GROUP *group, const EVP_MD *md, - const char *s, size_t slen, EC_POINT *point, BN_CTX *bn_ctx) -{ - int ret = 0; - BIGNUM *p = NULL; - BIGNUM *x = NULL; - BIGNUM *y = NULL; - BIGNUM *k = NULL; - BIGNUM *q = NULL; - - if (!group || !md || !point || !s || slen <= 0 || !bn_ctx) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (EC_METHOD_get_field_type(EC_GROUP_method_of(group)) != NID_X9_62_prime_field) { - ECerr(EC_F_EC_POINT_HASH2POINT, EC_R_INVALID_CURVE); - return 0; - } - - p = BN_new(); - x = BN_new(); - y = BN_new(); - k = BN_new(); - q = BN_new(); - - if (!p || !x || !y || !k || !q) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_MALLOC_FAILURE); - goto end; - } - - if (!EC_GROUP_get_curve_GFp(group, p, x, y, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_EC_LIB); - goto end; - } - - /* check group is type-1 curve */ - if (!BN_is_zero(x) || !BN_is_one(y) || BN_mod_word(p, 12) != 11) { - ECerr(EC_F_EC_POINT_HASH2POINT, EC_R_INVALID_CURVE); - goto end; - } - - /* get order */ - if (!EC_GROUP_get_order(group, q, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_EC_LIB); - goto end; - } - - /* y = HashToRange(s) in [0, p - 1] */ - if (!BN_hash_to_range(md, &y, s, slen, p, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - - /* x = (y + 1) * (y - 1) mod p */ - if (!BN_copy(x, y)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!BN_copy(k, y)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!BN_add_word(x, 1)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!BN_sub_word(k, 1)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(x, x, k, p, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - - /* k = (p^2 - 1)/3 */ - if (!BN_lshift1(k, p)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!BN_sub_word(k, 1)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!BN_div_word(k, 3)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - - /* compute x and point = (x, y) */ - if (!BN_mod_exp(x, x, k, p, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - - if (!EC_POINT_set_affine_coordinates_GFp(group, point, x, y, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_EC_LIB); - goto end; - } - - /* compute [(p + 1)/q] * point */ - if (!BN_add_word(p, 1)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!BN_div(k, NULL, p, q, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_BN_LIB); - goto end; - } - if (!EC_POINT_mul(group, point, NULL, point, k, bn_ctx)) { - ECerr(EC_F_EC_POINT_HASH2POINT, ERR_R_EC_LIB); - goto end; - } - - ret = 1; -end: - BN_free(p); - BN_free(x); - BN_free(y); - BN_free(k); - BN_free(q); - return ret; -} - diff --git a/crypto/ec2/ec_type1.c b/crypto/ec2/ec_type1.c deleted file mode 100644 index 0131cf94..00000000 --- a/crypto/ec2/ec_type1.c +++ /dev/null @@ -1,817 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - * - */ - -#include -#include -#include -#include -#include - - -EC_GROUP *EC_GROUP_generate_type1curve(const BIGNUM *order, BN_CTX *bn_ctx) -{ - ECerr(EC_F_EC_GROUP_GENERATE_TYPE1CURVE, 0); - return 0; -} - -EC_GROUP *EC_GROUP_new_type1curve_ex(const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, const unsigned char *point, size_t pointlen, - const BIGNUM *order, const BIGNUM *cofactor, BN_CTX *bn_ctx) -{ - return NULL; -} - -EC_GROUP *EC_GROUP_new_type1curve(const BIGNUM *p, - const BIGNUM *x, const BIGNUM *y, const BIGNUM *order, BN_CTX *bn_ctx) -{ - int e = 1; - EC_GROUP *ret = NULL; - BIGNUM *a = NULL; - BIGNUM *b = NULL; - EC_POINT *point = NULL; - - if (!p || !x || !y || !order) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, ERR_R_PASSED_NULL_PARAMETER); - return NULL; - } - - /* check p = 11 (mod 12) */ - if (BN_mod_word(p, 12) != 11) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, EC_R_INVALID_TYPE1CURVE); - return NULL; - } - - BN_CTX_start(bn_ctx); - a = BN_CTX_get(bn_ctx); - b = BN_CTX_get(bn_ctx); - - if (!a || !b) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, ERR_R_MALLOC_FAILURE); - goto end; - } - - BN_zero(a); - BN_one(b); - - if (!(ret = EC_GROUP_new_curve_GFp(p, a, b, bn_ctx))) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, EC_R_INVALID_TYPE1CURVE); - goto end; - } - - /* prepare generator point from (x, y) */ - if (!(point = EC_POINT_new(ret))) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, ERR_R_MALLOC_FAILURE); - goto end; - } - if (!EC_POINT_set_affine_coordinates_GFp(ret, point, x, y, bn_ctx)) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, EC_R_INVALID_TYPE1CURVE); - goto end; - } - - /* - * calculate cofactor h = (p + 1)/n - * check n|(p + 1) where n is the order - */ - if (!BN_copy(a, p)) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, ERR_R_BN_LIB); - goto end; - } - if (!BN_add_word(a, 1)) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, ERR_R_BN_LIB); - goto end; - } - /* check (p + 1)%n == 0 */ - if (!BN_div(a, b, a, order, bn_ctx)) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, ERR_R_BN_LIB); - goto end; - } - if (!BN_is_zero(b)) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, EC_R_INVLID_TYPE1CURVE); - goto end; - } - - /* set order and cofactor */ - if (!EC_GROUP_set_generator(ret, point, order, a)) { - ECerr(EC_F_EC_GROUP_NEW_TYPE1CURVE, EC_R_INVALID_TYPE1CURVE); - goto end; - } - - e = 0; - -end: - if (e && ret) { - EC_GROUP_free(ret); - ret = NULL; - } - BN_CTX_end(bn_ctx); - EC_POINT_free(point); - return ret; -} - -int EC_GROUP_is_type1curve(const EC_GROUP *group, BN_CTX *bn_ctx) -{ - ECerr(EC_F_EC_GROUP_IS_TYPE1CURVE, 0); - return 0; -} - -/* - * zeta = F_p((p-1)/2) + ((F_p(3)^((p + 1)/4))/2) * i, in F_p^2 - * which is used in phi() mapping in tate pairing over type1 curve - */ -BN_GFP2 *EC_GROUP_get_type1curve_zeta(const EC_GROUP *group, BN_CTX *bn_ctx) -{ - int e = 1; - BN_GFP2 *ret = NULL; - BIGNUM *a = NULL; - BIGNUM *b = NULL; - BIGNUM *p = NULL; - - if (!group || !bn_ctx) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_PASSED_NULL_PARAMETER); - return NULL; - } - - BN_CTX_start(bn_ctx); - - ret = BN_GFP2_new(); - a = BN_CTX_get(bn_ctx); - b = BN_CTX_get(bn_ctx); - p = BN_CTX_get(bn_ctx); - - if (!ret || !a || !b || !p) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* get curve p, a, b and check it is type1 curve - * p is prime at least 512 bits, a == 0 and b == 1 - */ - if (!EC_GROUP_get_curve_GFp(group, a, b, p, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_EC_LIB); - goto end; - } - if (!BN_is_zero(a) || !BN_is_one(b)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, EC_R_INVALID_TYPE1_CURVE); - goto end; - } - if (BN_num_bits(p) < 512) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, EC_R_INVALID_TYPE1_CURVE); - goto end; - } - - /* - * set ret->a0 = (p - 1)/2 - */ - if (!BN_copy(ret->a0, p)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_MALLOC_FAILURE); - goto end; - } - if (!BN_sub_word(ret->a0, 1)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_EC_LIB); - goto end; - } - /* BN_div_word() return remainder, while (p - 1)%2 == 0 */ - if (BN_div_word(ret->a0, 2)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, EC_R_INVALID_TYPE1_CURVE); - goto end; - } - - /* - * ret->a1 = (p + 1)/4, (ret->a1 + 1)%4 == 0 - */ - if (!BN_copy(ret->a1, p)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_BN_LIB); - goto end; - } - if (!BN_add_word(ret->a1, 1)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_BN_LIB); - goto end; - } - if (BN_div_word(ret->a1, 4)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, EC_R_INVALID_TYPE1_CURVE); - goto end; - } - - /* - * re-use a as 3 - * ret->a1 = 3^(ret->a1) mod p = 3^((p + 1)/4) mod p - */ - if (!BN_set_word(a, 3)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_exp(ret->a1, a, ret->a1, p, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_BN_LIB); - goto end; - } - - /* - * re-use b as 1/2 mod p - * ret->a1 = ret->a1 / 2 mod p = (3^((p + 1)/4)) mod p - */ - if (!BN_set_word(b, 2)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_inverse(b, b, p, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_mul(ret->a1, ret->a1, b, p, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA, ERR_R_BN_LIB); - goto end; - } - - e = 0; -end: - if (e && ret) { - BN_GFP2_free(ret); - ret = NULL; - } - BN_CTX_end(bn_ctx); - return ret; -} - -/* - * eta = (p^2 - 1)/n - * which is used in the final modular exponentiation of tate pairing over - * type1 curve - */ -BIGNUM *EC_GROUP_get_type1curve_eta(const EC_GROUP *group, BN_CTX *bn_ctx) -{ - int e = 1; - BIGNUM *ret = NULL; - BIGNUM *a = NULL; - BIGNUM *b = NULL; - BIGNUM *p = NULL; - - if (!group || !bn_ctx) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, ERR_R_PASSED_NULL_PARAMETER); - return NULL; - } - - BN_CTX_start(bn_ctx); - - ret = BN_new(); - a = BN_CTX_get(bn_ctx); - b = BN_CTX_get(bn_ctx); - p = BN_CTX_get(bn_ctx); - - if (!ret || !a || !b || !p) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* get curve p, a, b and check it is type1 curve - * p is prime at least 512 bits, a == 0 and b == 1 - */ - if (!EC_GROUP_get_curve_GFp(group, a, b, p, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, ERR_R_EC_LIB); - goto end; - } - if (!BN_is_zero(a) || !BN_is_one(b)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, EC_R_INVALID_TYPE1_CURVE); - goto end; - } - if (BN_num_bits(p) < 512) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, EC_R_INVALID_TYPE1_CURVE); - goto end; - } - - /* get curve order n, re-use a for order n */ - if (!EC_GROUP_get_order(group, a, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, ERR_R_EC_LIB); - goto end; - } - - /* - * eta = (p^2 - 1)/n, - */ - if (!BN_sqr(ret, p, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, ERR_R_BN_LIB); - goto end; - } - if (!BN_sub_word(ret, 1)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, ERR_R_BN_LIB); - goto end; - } - if (!BN_div(ret, NULL, ret, a, bn_ctx)) { - ECerr(EC_F_EC_GROUP_GET_TYPE1CURVE_ETA, ERR_R_BN_LIB); - goto end; - } - - e = 1; -end: - if (e && ret) { - BN_free(ret); - ret = NULL; - } - BN_CTX_end(bn_ctx); - return ret; -} - -/* phi: (x, y) => (zeta * x, y) */ -static int type1curve_phi(const EC_GROUP *group, const EC_POINT *point, - BN_GFP2 *x, BN_GFP2 *y, const BIGNUM *p, BN_CTX *bn_ctx) -{ - int ret = 0; - BN_GFP2 *zeta = NULL; - BIGNUM *xP; - BIGNUM *yP; - - if (!group || !point || !x || !y || !p || !bn_ctx) { - ECerr(EC_F_TYPE1CURVE_PHI, -ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - BN_CTX_start(bn_ctx); - xP = BN_CTX_get(bn_ctx); - yP = BN_CTX_get(bn_ctx); - - if (!xP || !yP) { - ECerr(EC_F_TYPE1CURVE_PHI, ERR_R_MALLOC_FAILURE); - goto end; - } - - if (!(zeta = EC_GROUP_get_type1curve_zeta(group, bn_ctx))) { - ECerr(EC_F_TYPE1CURVE_PHI, -EC_R_GET_TYPE1CURVE_ZETA_FAILURE); - goto end; - } - - if (!EC_POINT_get_affine_coordinates_GFp(group, point, xP, yP, bn_ctx)) -{ - ECerr(EC_F_TYPE1CURVE_PHI, ERR_R_EC_LIB); - goto end; - } - - /* return x = zeta * point->x */ - if (!BN_GFP2_mul_bn(x, zeta, xP, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_PHI, ERR_R_BN_LIB); - goto end; - } - - /* return y = point->y */ - if (!BN_GFP2_set_bn(y, yP, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_PHI, ERR_R_BN_LIB); - goto end; - } - - ret = 1; - -end: - BN_CTX_end(bn_ctx); - BN_GFP2_free(zeta); - return ret; -} - -/* - * eval the function defined by the line through point T and P, - * with value Q = (xQ, yQ) - */ -static int type1curve_eval_line_textbook(const EC_GROUP *group, BN_GFP2 *r, - const EC_POINT *T, const EC_POINT *P, const BN_GFP2 *xQ, const BN_GFP2 -*yQ, - BN_CTX *bn_ctx) -{ - int ret = 0; - BN_GFP2 *num = NULL; - BN_GFP2 *den = NULL; - BIGNUM *p; - BIGNUM *xT; - BIGNUM *yT; - BIGNUM *xP; - BIGNUM *yP; - BIGNUM *bn; - BIGNUM *slope; - - if (!group || !r || !T || !P || !xQ || !yQ || !bn_ctx) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, - ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - BN_CTX_start(bn_ctx); - p = BN_CTX_get(bn_ctx); - xT = BN_CTX_get(bn_ctx); - yT = BN_CTX_get(bn_ctx); - xP = BN_CTX_get(bn_ctx); - yP = BN_CTX_get(bn_ctx); - bn = BN_CTX_get(bn_ctx); - slope = BN_CTX_get(bn_ctx); - - num = BN_GFP2_new(); - den = BN_GFP2_new(); - - if (!p || !xT || !yT || !xP || !yP || !bn || !slope || !num || !den) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, - ERR_R_MALLOC_FAILURE); - goto end; - } - - /* get prime field p */ - if (!EC_GROUP_get_curve_GFp(group, p, xT, yT, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_EC_LIB); - goto end; - } - - /* get T and P */ - if (!EC_POINT_get_affine_coordinates_GFp(group, T, xT, yT, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_EC_LIB); - goto end; - } - if (!EC_POINT_get_affine_coordinates_GFp(group, P, xP, yP, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_EC_LIB); - goto end; - } - -#if 0 - /* if T == P, slope = (3 * x_T^2 + a)/(2 * y_T) */ - if (T == P || (BN_cmp(xT, xP) == 0 && BN_cmp(yT, yP) == 0)) { - - if (!BN_mod_sqr(bn, xT, p, bn_ctx)) { - goto end; - } - if (!BN_mod_add(slope, bn, bn, p, bn_ctx)) { - goto end; - } - if (!BN_mod_add(slope, slope, bn, p, bn_ctx)) { - goto end; - } - if (!BN_mod_add(den, yT, yT, p, bn_ctx)) { - goto end; - } - if (!BN_mod_inverse(den, den, p, bn_ctx)) { - goto end; - } - if (!BN_mod_mul(slope, slope, den, p, bn_ctx)) { - goto end; - } - } - - /* - * if xT == xP and yT + yP == 0, return xQ - xT - */ - - if (BN_cmp(xT, xP) == 0) { - BIGNUM *t; - if (!(t = BN_CTX_get(bn_ctx))) { - goto end; - } - if (!BN_mod_add(t, yT, yP, p, ctx)) { - goto end; - } - if (BN_is_zero(t)) { - if (!BN_GFP2_sub_bn(r, xQ, xT, p, bn_ctx)) { - goto end; - } - } - } - - /* - * if T == P, slope = (3 * x_T^2 + a)/(2 * y_T) - * else slope = (y_T - y_P)/(x_T - x_P) - */ - if (!BN_mod_sub(num, yT, yP, p, bn_ctx)) { - goto end; - } - if (!BN_mod_sub(den, xT, xP, p, bn_ctx)) { - goto end; - } - if (!BN_mod_inverse(den, den, p, bn_ctx)) { - goto end; - } - if (!BN_mod_mul(slope, num, den, p, bn_ctx)) { - goto end; - } -#endif - - /* - * num = (yQ - ((xQ - xT) * slope)) - yT - * den = xQ + (xT + (xP - slope^2)) - * return num/den - */ - - if (!BN_GFP2_sub_bn(num, xQ, xT, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - if (!BN_GFP2_mul_bn(num, num, slope, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - if (!BN_GFP2_sub(num, yQ, num, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - if (!BN_GFP2_sub_bn(num, num, yT, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - - if (!BN_mod_sqr(bn, slope, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_sub(bn, xP, bn, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - if (!BN_mod_add(bn, xT, bn, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - if (!BN_GFP2_add_bn(den, xQ, bn, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } - -#if 0 - //warning - if (!BN_GFP2_div(ret, num, den, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK, -ERR_R_BN_LIB); - goto end; - } -#endif - - ret = 1; - -end: - BN_CTX_end(bn_ctx); - BN_GFP2_free(num); - BN_GFP2_free(den); - return ret; -} - -static int type1curve_eval_miller_textbook(const EC_GROUP *group, BN_GFP2 *r, - const EC_POINT *P, const BN_GFP2 *xQ, const BN_GFP2 *yQ, - const BIGNUM *p, BN_CTX *bn_ctx) -{ - int ret = 0; - BN_GFP2 *f = NULL; - BN_GFP2 *g = NULL; - EC_POINT *T = NULL; - BIGNUM *n; - int nbits; - int i; - - if (!group || !r || !P || !xQ || !yQ || !p || !bn_ctx) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - BN_CTX_start(bn_ctx); - n = BN_CTX_get(bn_ctx); - - f = BN_GFP2_new(); - g = BN_GFP2_new(); - T = EC_POINT_new(group); - - if (!n || !f || !g || !T) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_MALLOC_FAILURE); - goto end; - } - - if (!EC_GROUP_get_order(group, n, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_EC_LIB); - goto end; - } - - nbits = BN_num_bits(n); - - /* miller loop */ - for (i = nbits - 2; i >= 0; i--) { - - /* f = f^2 */ - if (!BN_GFP2_sqr(f, f, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_BN_LIB); - goto end; - } - - /* compute g_{T,T}(Q) */ - if (!type1curve_eval_line_textbook(group, g, T, T, xQ, yQ, - bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_EC_LIB); - goto end; - } - - /* f = f * g */ - if (!BN_GFP2_mul(f, f, g, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_BN_LIB); - goto end; - } - - /* T = 2T */ - if (!EC_POINT_dbl(group, T, T, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_EC_LIB); - goto end; - } - - if (BN_is_bit_set(n, i)) { - - /* g = g_{T,P}(Q) */ - if (!type1curve_eval_line_textbook(group, g, T, P, xQ, - yQ, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_EC_LIB); - goto end; - } - - /* f = f * g */ - if (!BN_GFP2_mul(f, f, g, p, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_BN_LIB); - goto end; - } - - /* T = T + P */ - if (!EC_POINT_add(group, T, T, P, bn_ctx)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, - ERR_R_EC_LIB); - goto end; - } - } - } - - /* set return value */ - if (!BN_GFP2_copy(r, f)) { - ECerr(EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK, ERR_R_BN_LIB); - goto end; - } - ret = 1; - -end: - BN_CTX_end(bn_ctx); - BN_GFP2_free(f); - BN_GFP2_free(g); - EC_POINT_free(T); - return ret; -} - -int EC_type1curve_tate(const EC_GROUP *group, BN_GFP2 *r, - const EC_POINT *P, const EC_POINT *Q, BN_CTX *bn_ctx) -{ - int ret = 0; - BN_GFP2 *xQ = NULL; - BN_GFP2 *yQ = NULL; - BIGNUM *eta = NULL; - BIGNUM *p; - BIGNUM *a; - BIGNUM *b; - - if (!group || !ret || !P || !Q || !bn_ctx) { - ECerr(EC_F_EC_TYPE1CURVE_TATE, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - BN_CTX_start(bn_ctx); - - xQ = BN_GFP2_new(); - yQ = BN_GFP2_new(); - p = BN_CTX_get(bn_ctx); - a = BN_CTX_get(bn_ctx); - b = BN_CTX_get(bn_ctx); - - if (!xQ || !yQ || !p || !a || !b) { - ECerr(EC_F_EC_TYPE1CURVE_TATE, ERR_R_MALLOC_FAILURE); - goto end; - } - - if (!EC_GROUP_get_curve_GFp(group, p, a, b, bn_ctx)) { - ECerr(EC_F_EC_TYPE1CURVE_TATE, EC_R_INVALID_TYPE1CURVE); - goto end; - } - - /* (xQ, yQ) = phi(Q) */ - if (!type1curve_phi(group, Q, xQ, yQ, p, bn_ctx)) { - ECerr(EC_F_EC_TYPE1CURVE_TATE, ERR_R_EC_LIB); - goto end; - } - - /* compute e(P, phi(Q)) */ - if (!type1curve_eval_miller_textbook(group, r, P, xQ, yQ, p, bn_ctx)) { - ECerr(EC_F_EC_TYPE1CURVE_TATE, ERR_R_EC_LIB); - goto end; - } - - /* compute e(P, phi(Q))^eta, eta = (p^2 - 1)/q */ - if (!(eta = EC_GROUP_get_type1curve_eta(group, bn_ctx))) { - ECerr(EC_F_EC_TYPE1CURVE_TATE, EC_R_INVALID_TYPE1CURVE); - goto end; - } - - ret = 1; - -end: - BN_GFP2_free(xQ); - BN_GFP2_free(yQ); - BN_CTX_end(bn_ctx); - BN_free(eta); - return ret; -} - -int EC_type1curve_tate_ratio(const EC_GROUP *group, BN_GFP2 *r, - const EC_POINT *P1, const EC_POINT *Q1, - const EC_POINT *P2, const EC_POINT *Q2, - BN_CTX *bn_ctx) -{ - return 0; -} - -#if 0 -typedef struct { - int security_bits; - int n_bits; - int p_bits; - int q_bits; -} TYPE1CURVE_SEC; - -static TYPE1CURVE_SEC sec_tbl[] = { - /* k |n| |p| |q| */ - { 80, 1024, 512, 160}, - {112, 2048, 1024, 224}, - {128, 3072, 1536, 256}, - {192, 7680, 3840, 384}, - {256, 15360, 7680, 512} -}; -#endif - -const EVP_MD *TYPE1CURVE_nbits_to_md(int nbits) -{ - switch (nbits) { - case 1024: return EVP_sha1(); - case 2048: return EVP_sha224(); - case 3072: return EVP_sha256(); - case 7680: return EVP_sha384(); - case 15360: return EVP_sha512(); - } - return NULL; -} - diff --git a/crypto/ec2/fppoint.c b/crypto/ec2/fppoint.c deleted file mode 100644 index 86ef5898..00000000 --- a/crypto/ec2/fppoint.c +++ /dev/null @@ -1,114 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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 file is to implement elliptic curve operations over extension - * fields - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -ASN1_SEQUENCE(FpPoint) = { - ASN1_SIMPLE(FpPoint, x, BIGNUM), - ASN1_SIMPLE(FpPoint, y, BIGNUM) -} ASN1_SEQUENCE_END(FpPoint) -IMPLEMENT_ASN1_FUNCTIONS(FpPoint) -IMPLEMENT_ASN1_DUP_FUNCTION(FpPoint) - -int EC_POINT_cmp_fppoint(const EC_GROUP *group, const EC_POINT *a, const FpPoint *b, - BN_CTX *bn_ctx) -{ - int ret = -1; - BIGNUM *x = NULL; - BIGNUM *y = NULL; - - if (!group || !a || !b || !bn_ctx) { - ECerr(EC_F_EC_POINT_CMP_FPPOINT, ERR_R_PASSED_NULL_PARAMETER); - return -1; - } - - BN_CTX_start(bn_ctx); - x = BN_CTX_get(bn_ctx); - y = BN_CTX_get(bn_ctx); - - if (!x || !y) { - ECerr(EC_F_EC_POINT_CMP_FPPOINT, ERR_R_BN_LIB); - goto end; - } - - if (EC_METHOD_get_field_type(EC_GROUP_method_of(group)) == NID_X9_62_prime_field) { - if (!EC_POINT_get_affine_coordinates_GFp(group, a, x, y, bn_ctx)) { - ECerr(EC_F_EC_POINT_CMP_FPPOINT, ERR_R_EC_LIB); - goto end; - } - } else { - if (!EC_POINT_get_affine_coordinates_GF2m(group, a, x, y, bn_ctx)) { - ECerr(EC_F_EC_POINT_CMP_FPPOINT, ERR_R_EC_LIB); - goto end; - } - } - - if (BN_cmp(x, b->x) == 0 && BN_cmp(y, b->y) == 0) { - ret = 0; - } else { - ret = 1; - } - -end: - BN_CTX_end(bn_ctx); - return ret; -} - diff --git a/crypto/ec2/pairing_lcl.h b/crypto/ec2/pairing_lcl.h deleted file mode 100644 index 66d62ecf..00000000 --- a/crypto/ec2/pairing_lcl.h +++ /dev/null @@ -1,24 +0,0 @@ - - - -typedef struct pairing_parameters_st { - long version; - ASN1_OBJECT *cid; - ASN1_INTEGER *p; - ASN1_INTEGER *a; - ASN1_INTEGER *b; - ASN1_OBJECT *beta; - ASN1_INTEGER *cofactor; - ASN1_INTEGER *order; - ASN1_INTEGER *embedded_degree; - ASN1_OCTET_STRING *G1; - ASN1_OCTET_STRING *G2; - ASN1_TYPE *eid; - ASN1_INTEGER *d1; - ASN1_INTEGER *d2; - ANS1_OBJECT *phi; -} - - - - diff --git a/crypto/ecrs/build.info b/crypto/ecrs/build.info deleted file mode 100644 index c0dfb551..00000000 --- a/crypto/ecrs/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=ecrs_err.c ecrs_asn1.c ecrs_lib.c diff --git a/crypto/ecrs/ecrs_asn1.c b/crypto/ecrs/ecrs_asn1.c deleted file mode 100644 index 648eba5f..00000000 --- a/crypto/ecrs/ecrs_asn1.c +++ /dev/null @@ -1,65 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "./ecrs_lcl.h" - -ASN1_SEQUENCE(ECRS_SIG) = { - ASN1_SIMPLE(ECRS_SIG, s, BIGNUM), - ASN1_SEQUENCE_OF(ECRS_SIG, c, BIGNUM), -} ASN1_SEQUENCE_END(ECRS_SIG) -IMPLEMENT_ASN1_FUNCTIONS(ECRS_SIG) -IMPLEMENT_ASN1_DUP_FUNCTION(ECRS_SIG) - -int ECRS_size(const EC_KEY *ec_key, int n) -{ - return 128 * n; -} diff --git a/crypto/ecrs/ecrs_err.c b/crypto/ecrs/ecrs_err.c deleted file mode 100644 index 6d6f23e2..00000000 --- a/crypto/ecrs/ecrs_err.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 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 -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_ECRS,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_ECRS,0,reason) - -static ERR_STRING_DATA ECRS_str_functs[] = { - {ERR_FUNC(ECRS_F_ECRS_DO_SIGN), "ECRS_do_sign"}, - {ERR_FUNC(ECRS_F_ECRS_DO_VERIFY), "ECRS_do_verify"}, - {ERR_FUNC(ECRS_F_ECRS_SIGN), "ECRS_sign"}, - {ERR_FUNC(ECRS_F_ECRS_VERIFY), "ECRS_verify"}, - {0, NULL} -}; - -static ERR_STRING_DATA ECRS_str_reasons[] = { - {ERR_REASON(ECRS_R_EC_KEY_NOT_MATCH), "ec key not match"}, - {ERR_REASON(ECRS_R_INVALID_DIGEST_ALGOR), "invalid digest algor"}, - {ERR_REASON(ECRS_R_NO_SIGNING_KEY), "no signing key"}, - {ERR_REASON(ECRS_R_PARSE_SIGNATURE_FAILURE), "parse signature failure"}, - {ERR_REASON(ECRS_R_PUBLIC_KEYS_NOT_MATCH), "public keys not match"}, - {ERR_REASON(ECRS_R_PUBLIC_KEYS_NOT_MATCH_SIG), - "public keys not match sig"}, - {0, NULL} -}; - -#endif - -int ERR_load_ECRS_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(ECRS_str_functs[0].error) == NULL) { - ERR_load_strings(0, ECRS_str_functs); - ERR_load_strings(0, ECRS_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/ecrs/ecrs_lcl.h b/crypto/ecrs/ecrs_lcl.h deleted file mode 100644 index fdf566f0..00000000 --- a/crypto/ecrs/ecrs_lcl.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2015 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - */ - -#include -#include - -struct ECRS_SIG_st { - BIGNUM *s; - STACK_OF(BIGNUM) *c; -}; - diff --git a/crypto/ecrs/ecrs_lib.c b/crypto/ecrs/ecrs_lib.c deleted file mode 100644 index 8e3823ad..00000000 --- a/crypto/ecrs/ecrs_lib.c +++ /dev/null @@ -1,411 +0,0 @@ -/* - * Copyright (c) 2015 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - */ - -#include -#include -#include "./ecrs_lcl.h" - - -ECRS_SIG *ECRS_do_sign(const EVP_MD *md, const unsigned char *dgst, - int dgstlen, STACK_OF(EC_KEY) *pub_keys, EC_KEY *ec_key) -{ - ECRS_SIG *ret = NULL; - ECRS_SIG *sig = NULL; - const EC_GROUP *group; - const BIGNUM *order; - BIGNUM *ck = NULL; /* ref of STACK_OF(BIGNUM) elements, dont free */ - BIGNUM *a = NULL; - BIGNUM *c = NULL; - BIGNUM *z = NULL; - BN_CTX *bn_ctx = NULL; - EC_POINT *R = NULL; - EC_POINT *T = NULL; - EVP_MD_CTX *mctx = NULL; - int form = POINT_CONVERSION_UNCOMPRESSED; - unsigned char buf[512]; - unsigned char *p = buf; - unsigned int ulen; - size_t siz; - int len, i; - - group = EC_KEY_get0_group(ec_key); - order = EC_GROUP_get0_order(group); - - if (!(sig = ECRS_SIG_new()) - || !(sig->s = BN_new()) - || !(sig->c = sk_BIGNUM_new(NULL)) - || !(a = BN_new()) - || !(c = BN_new()) - || !(z = BN_new()) - || !(bn_ctx = BN_CTX_new()) - || !(R = EC_POINT_new(group)) - || !(T = EC_POINT_new(group)) - || !(mctx = EVP_MD_CTX_new())) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* hash update ECParameters */ - if (!(len = i2d_ECPKParameters(group, &p))) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EC_LIB); - goto end; - } - if (!EVP_DigestInit_ex(mctx, md, NULL) - || !EVP_DigestUpdate(mctx, buf, len)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EVP_LIB); - goto end; - } - - /* a = rand(1, order) */ - do { - if (!BN_rand_range(a, order)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(a)); - - /* R = [a]G */ - if (!EC_POINT_mul(group, R, a, NULL, NULL, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EC_LIB); - goto end; - } - - for (i = 0; i < sk_EC_KEY_num(pub_keys); i++) { - const EC_KEY *pub_key = sk_EC_KEY_value(pub_keys, i); - const EC_POINT *Pi = EC_KEY_get0_public_key(pub_key); - BIGNUM *ci; - - /* check P_i */ - if (EC_GROUP_cmp(EC_KEY_get0_group(pub_key), group, bn_ctx) != 0) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ECRS_R_EC_KEY_NOT_MATCH); - goto end; - } - - /* hash update P_i = (x_i, y_i) */ - if (!(siz = EC_POINT_point2oct(group, Pi, form, buf, - sizeof(buf), bn_ctx))) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EC_LIB); - goto end; - } - if (!EVP_DigestUpdate(mctx, buf + 1, siz - 1)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EVP_LIB); - goto end; - } - - /* create c_i */ - if (!(ci = BN_new())) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_MALLOC_FAILURE); - goto end; - } - sk_BIGNUM_push(sig->c, ci); - - /* find signer's public key */ - if (EC_POINT_cmp(group, Pi, EC_KEY_get0_public_key(ec_key), - bn_ctx) == 0) { - if (ck) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_ECRS_LIB); - goto end; - } - ck = ci; - continue; - } - - /* c_i = rand(1, order) */ - do { - if (!BN_rand_range(ci, order)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_BN_LIB); - goto end; - } - } while (BN_is_zero(ci)); - - /* R = R + [c_i]P_i */ - if (!EC_POINT_mul(group, T, NULL, Pi, ci, bn_ctx) - || !EC_POINT_add(group, R, R, T, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EC_LIB); - goto end; - } - - /* z = z + c_i */ - if (!BN_mod_add(z, z, ci, order, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_BN_LIB); - goto end; - } - } - /* no signing private key found */ - if (!ck) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ECRS_R_NO_SIGNING_KEY); - goto end; - } - - /* hash update dgst and R */ - if (!(siz = EC_POINT_point2oct(group, R, form, buf, sizeof(buf), - bn_ctx))) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EC_LIB); - goto end; - } - if (!EVP_DigestUpdate(mctx, dgst, dgstlen) - || !EVP_DigestUpdate(mctx, buf + 1, siz - 1) - || !EVP_DigestFinal_ex(mctx, buf, &ulen)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_EVP_LIB); - goto end; - } - - /* c = hash({Pi}, Hash(m), R) mod #G */ - if (!BN_bin2bn(buf, ulen, c)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_BN_LIB); - goto end; - } - - /* c_k = c - (c_0 + ... + c_{k-1} + c_{k+1} + ... + c_{n-1}) mod #G */ - if (!BN_mod_sub(ck, c, z, order, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_BN_LIB); - goto end; - } - - /* sig->s = a - c_k * x_k mod #G */ - if (!BN_mod_mul(sig->s, ck, EC_KEY_get0_private_key(ec_key), order, bn_ctx) - || !BN_mod_sub(sig->s, a, sig->s, order, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_SIGN, ERR_R_BN_LIB); - goto end; - } - - ret = sig; - sig = NULL; - -end: - ECRS_SIG_free(sig); - BN_free(a); - BN_free(c); - BN_CTX_free(bn_ctx); - EC_POINT_free(R); - EC_POINT_free(T); - EVP_MD_CTX_free(mctx); - return ret; -} - -/* - * Verify(m, sig=(s, c_0, ..., c_{n-1}, {P_i}): - * R = [s]G + [c_0]P_0 + ... + [c_{n-1}]P_{n-1} - * c = c_0 + ... + c_{n-1} - * h = Hash({P_i}, Hash(m), R) - * return c =?= h - */ -int ECRS_do_verify(const EVP_MD *md, const unsigned char *dgst, int dgstlen, - const ECRS_SIG *sig, STACK_OF(EC_KEY) *pub_keys) -{ - int ret = -1; - const EC_GROUP *group = NULL; - const BIGNUM *order = NULL; - BIGNUM *c = NULL; - BIGNUM *h = NULL; - BN_CTX *bn_ctx = NULL; - EC_POINT *R = NULL; - EC_POINT *T = NULL; - EVP_MD_CTX *mctx = NULL; - int form = POINT_CONVERSION_UNCOMPRESSED; - unsigned char buf[512]; - unsigned char *p = buf; - unsigned int ulen; - size_t siz; - int len, i; - - if (sk_BIGNUM_num(sig->c) != sk_EC_KEY_num(pub_keys)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ECRS_R_PUBLIC_KEYS_NOT_MATCH_SIG); - return -1; - } - - group = EC_KEY_get0_group(sk_EC_KEY_value(pub_keys, 0)); - order = EC_GROUP_get0_order(group); - - if (!(c = BN_new()) - || !(h = BN_new()) - || !(bn_ctx = BN_CTX_new()) - || !(R = EC_POINT_new(group)) - || !(T = EC_POINT_new(group)) - || !(mctx = EVP_MD_CTX_new())) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* hash update ECParameters */ - - /* hash update ECParameters */ - if (!(len = i2d_ECPKParameters(group, &p))) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EC_LIB); - goto end; - } - if (!EVP_DigestInit_ex(mctx, md, NULL) - || !EVP_DigestUpdate(mctx, buf, len)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EVP_LIB); - goto end; - } - - /* R = [s]G */ - if (!EC_POINT_mul(group, R, sig->s, NULL, NULL, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EC_LIB); - goto end; - } - - for (i = 0; i < sk_BIGNUM_num(sig->c); i++) { - EC_KEY *ec_key = sk_EC_KEY_value(pub_keys, i); - const EC_POINT *Pi = EC_KEY_get0_public_key(ec_key); - BIGNUM *ci = sk_BIGNUM_value(sig->c, i); - - /* check Pi */ - if (EC_GROUP_cmp(EC_KEY_get0_group(ec_key), group, bn_ctx) != 0) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ECRS_R_PUBLIC_KEYS_NOT_MATCH); - goto end; - } - - /* hash update P_i = (x_i, y_i) */ - if (!(siz = EC_POINT_point2oct(group, Pi, form, buf, - sizeof(buf), bn_ctx))) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EC_LIB); - goto end; - } - if (!EVP_DigestUpdate(mctx, buf + 1, siz - 1)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EVP_LIB); - goto end; - } - - /* R = R + [c_i]P_i */ - if (!EC_POINT_mul(group, T, NULL, Pi, ci, bn_ctx) - || !EC_POINT_add(group, R, R, T, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EC_LIB); - goto end; - } - - /* c = c + c_i mod #G */ - if (!BN_mod_add(c, c, ci, order, bn_ctx)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_BN_LIB); - goto end; - } - } - - /* hash update dgst and R */ - if (!(siz = EC_POINT_point2oct(group, R, form, buf, sizeof(buf), - bn_ctx))) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EC_LIB); - goto end; - } - if (!EVP_DigestUpdate(mctx, dgst, dgstlen) - || !EVP_DigestUpdate(mctx, buf + 1, siz - 1) - || !EVP_DigestFinal_ex(mctx, buf, &ulen)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_EVP_LIB); - goto end; - } - - /* h = hash({Pi}, Hash(m), R) mod #G */ - if (!BN_bin2bn(buf, ulen, h)) { - ECRSerr(ECRS_F_ECRS_DO_VERIFY, ERR_R_BN_LIB); - goto end; - } - - //FIXME: h mod #G */ - - if (BN_cmp(h, c) == 0) - ret = 1; - else - ret = 0; - - -end: - BN_free(c); - BN_free(h); - BN_CTX_free(bn_ctx); - EC_POINT_free(R); - EC_POINT_free(T); - EVP_MD_CTX_free(mctx); - return ret; -} - -int ECRS_sign(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, STACK_OF(EC_KEY) *pub_keys, - EC_KEY *ec_key) -{ - const EVP_MD *md; - ECRS_SIG *s = NULL; - - if (!(md = EVP_get_digestbynid(type))) { - ECRSerr(ECRS_F_ECRS_SIGN, ECRS_R_INVALID_DIGEST_ALGOR); - return 0; - } - if (!(s = ECRS_do_sign(md, dgst, dgstlen, pub_keys, ec_key))) { - ECRSerr(ECRS_F_ECRS_SIGN, ERR_R_ECRS_LIB); - return 0; - } - - *siglen = i2d_ECRS_SIG(s, &sig); - ECRS_SIG_free(s); - return 1; -} - -int ECRS_verify(int type, const unsigned char *dgst, int dgstlen, - const unsigned char *sig, int siglen, STACK_OF(EC_KEY) *pub_keys) -{ - const EVP_MD *md; - ECRS_SIG *s = NULL; - const unsigned char *p = sig; - int ret = -1; - - if (!(s = d2i_ECRS_SIG(NULL, &p, siglen))) { - ECRSerr(ECRS_F_ECRS_VERIFY, ECRS_R_PARSE_SIGNATURE_FAILURE); - return -1; - } - - if (p != sig + siglen) { - ECRSerr(ECRS_F_ECRS_VERIFY, ECRS_R_PARSE_SIGNATURE_FAILURE); - goto end; - } - - ret = ECRS_do_verify(md, dgst, dgstlen, s, pub_keys); - -end: - ECRS_SIG_free(s); - return ret; -} diff --git a/crypto/err/err.c b/crypto/err/err.c index f3dbd0d1..2e22a33d 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -60,21 +60,13 @@ static ERR_STRING_DATA ERR_str_libraries[] = { {ERR_PACK(ERR_LIB_ASYNC, 0, 0), "ASYNC routines"}, {ERR_PACK(ERR_LIB_KDF, 0, 0), "KDF routines"}, {ERR_PACK(ERR_LIB_KDF2, 0, 0), "KDF2 routines"}, - {ERR_PACK(ERR_LIB_FFX, 0, 0), "FFX routines"}, {ERR_PACK(ERR_LIB_PAILLIER, 0, 0), "PAILLIER routines"}, - {ERR_PACK(ERR_LIB_CPK, 0, 0), "CPK routines"}, {ERR_PACK(ERR_LIB_OTP, 0, 0), "OTP routines"}, {ERR_PACK(ERR_LIB_GMAPI, 0, 0), "GMAPI routines"}, - {ERR_PACK(ERR_LIB_BFIBE, 0, 0), "BFIBE routines"}, - {ERR_PACK(ERR_LIB_BB1IBE, 0, 0), "BB1IBE routines"}, {ERR_PACK(ERR_LIB_SM2, 0, 0), "SM2 routines"}, {ERR_PACK(ERR_LIB_SM9, 0, 0), "SM9 routines"}, - {ERR_PACK(ERR_LIB_SAF, 0, 0), "SAF routines"}, {ERR_PACK(ERR_LIB_SDF, 0, 0), "SDF routines"}, {ERR_PACK(ERR_LIB_SKF, 0, 0), "SKF routines"}, - {ERR_PACK(ERR_LIB_SOF, 0, 0), "SOF routines"}, - {ERR_PACK(ERR_LIB_BASE58, 0, 0), "BASE58 routines"}, - {ERR_PACK(ERR_LIB_ECRS, 0, 0), "ECRS routines"}, {0, NULL}, }; @@ -120,21 +112,13 @@ static ERR_STRING_DATA ERR_str_reasons[] = { {ERR_R_ENGINE_LIB, "ENGINE lib"}, {ERR_R_ECDSA_LIB, "ECDSA lib"}, {ERR_R_KDF2_LIB, "KDF2 lib"}, - {ERR_R_FFX_LIB, "FFX lib"}, {ERR_R_PAILLIER_LIB, "PAILLIER lib"}, - {ERR_R_CPK_LIB, "CPK lib"}, {ERR_R_OTP_LIB, "OTP lib"}, {ERR_R_GMAPI_LIB, "GMAPI lib"}, - {ERR_R_BFIBE_LIB, "BFIBE lib"}, - {ERR_R_BB1IBE_LIB, "BB1IBE lib"}, {ERR_R_SM2_LIB, "SM2 lib"}, {ERR_R_SM9_LIB, "SM9 lib"}, - {ERR_R_SAF_LIB, "SAF lib"}, {ERR_R_SDF_LIB, "SDF lib"}, {ERR_R_SKF_LIB, "SKF lib"}, - {ERR_R_SOF_LIB, "SOF lib"}, - {ERR_R_BASE58_LIB, "BASE58 lib"}, - {ERR_R_ECRS_LIB, "ECRS lib"}, {ERR_R_NESTED_ASN1_ERROR, "nested asn1 error"}, {ERR_R_MISSING_ASN1_EOS, "missing asn1 eos"}, diff --git a/crypto/err/err_all.c b/crypto/err/err_all.c index 8e5537c4..7028f3b0 100644 --- a/crypto/err/err_all.c +++ b/crypto/err/err_all.c @@ -66,51 +66,27 @@ #endif #include #include -#ifndef OPENSSL_NO_FFX -# include -#endif #ifndef OPENSSL_NO_PAILLIER # include #endif -#ifndef OPENSSL_NO_CPK -# include -#endif #ifndef OPENSSL_NO_OTP # include #endif #ifndef OPENSSL_NO_GMAPI # include #endif -#ifndef OPENSSL_NO_BFIBE -# include -#endif -#ifndef OPENSSL_NO_BB1IBE -# include -#endif #ifndef OPENSSL_NO_SM2 # include #endif #ifndef OPENSSL_NO_SM9 # include #endif -#ifndef OPENSSL_NO_SAF -# include -#endif #ifndef OPENSSL_NO_SDF # include #endif #ifndef OPENSSL_NO_SKF # include #endif -#ifndef OPENSSL_NO_SOF -# include -#endif -#ifndef OPENSSL_NO_BASE58 -# include -#endif -#ifndef OPENSSL_NO_ECRS -# include -#endif int err_load_crypto_strings_int(void) @@ -179,51 +155,27 @@ int err_load_crypto_strings_int(void) # ifndef OPENSSL_NO_KDF2 ERR_load_KDF2_strings() == 0 || # endif -# ifndef OPENSSL_NO_FFX - ERR_load_FFX_strings() == 0 || -# endif # ifndef OPENSSL_NO_PAILLIER ERR_load_PAILLIER_strings() == 0 || # endif -# ifndef OPENSSL_NO_CPK - ERR_load_CPK_strings() == 0 || -# endif # ifndef OPENSSL_NO_OTP ERR_load_OTP_strings() == 0 || # endif # ifndef OPENSSL_NO_GMAPI ERR_load_GMAPI_strings() == 0 || # endif -# ifndef OPENSSL_NO_BFIBE - ERR_load_BFIBE_strings() == 0 || -# endif -# ifndef OPENSSL_NO_BB1IBE - ERR_load_BB1IBE_strings() == 0 || -# endif # ifndef OPENSSL_NO_SM2 ERR_load_SM2_strings() == 0 || # endif # ifndef OPENSSL_NO_SM9 ERR_load_SM9_strings() == 0 || # endif -# ifndef OPENSSL_NO_SAF - ERR_load_SAF_strings() == 0 || -# endif # ifndef OPENSSL_NO_SDF ERR_load_SDF_strings() == 0 || # endif # ifndef OPENSSL_NO_SKF ERR_load_SKF_strings() == 0 || # endif -# ifndef OPENSSL_NO_SOF - ERR_load_SOF_strings() == 0 || -# endif -# ifndef OPENSSL_NO_BASE58 - ERR_load_BASE58_strings() == 0 || -# endif -# ifndef OPENSSL_NO_ECRS - ERR_load_ECRS_strings() == 0 || -# endif #endif ERR_load_KDF_strings() == 0) return 0; diff --git a/crypto/err/openssl.ec b/crypto/err/openssl.ec index 1e5e996b..44613655 100644 --- a/crypto/err/openssl.ec +++ b/crypto/err/openssl.ec @@ -36,21 +36,13 @@ L CT include/openssl/ct.h crypto/ct/ct_err.c L ASYNC include/openssl/async.h crypto/async/async_err.c L KDF include/openssl/kdf.h crypto/kdf/kdf_err.c L KDF2 include/openssl/kdf2.h crypto/kdf2/kdf2_err.c -L FFX include/openssl/ffx.h crypto/ffx/ffx_err.c L PAILLIER include/openssl/paillier.h crypto/paillier/pai_err.c -L CPK include/openssl/cpk.h crypto/cpk/cpk_err.c L OTP include/openssl/otp.h crypto/otp/otp_err.c L GMAPI include/openssl/gmapi.h crypto/gmapi/gmapi_err.c -L BFIBE include/openssl/bfibe.h crypto/bfibe/bfibe_err.c -L BB1IBE include/openssl/bb1ibe.h crypto/bb1ibe/bb1ibe_err.c L SM2 include/openssl/sm2.h crypto/sm2/sm2_err.c L SM9 include/openssl/sm9.h crypto/sm9/sm9_err.c -L SAF include/openssl/gmsaf.h crypto/saf/saf_err.c L SDF include/openssl/gmsdf.h crypto/sdf/sdf_err.c L SKF include/openssl/gmskf.h crypto/skf/skf_err.c -L SOF include/openssl/gmsof.h crypto/sof/sof_err.c -L BASE58 include/openssl/base58.h crypto/base58/base58_err.c -L ECRS include/openssl/ecrs.h crypto/ecrs/ecrs_err.c # additional header files to be scanned for function names L NONE crypto/x509/x509_vfy.h NONE diff --git a/crypto/ffx/build.info b/crypto/ffx/build.info deleted file mode 100644 index 0f9604f0..00000000 --- a/crypto/ffx/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=ffx.c ffx_err.c diff --git a/crypto/ffx/ffx.c b/crypto/ffx/ffx.c deleted file mode 100644 index 88fade8a..00000000 --- a/crypto/ffx/ffx.c +++ /dev/null @@ -1,351 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include "../modes/modes_lcl.h" - - -static uint32_t modulo[] = { - 1, - 10, - 100, - 1000, - 10000, - 100000, - 1000000, - 10000000, - 100000000, - 1000000000, - 1000000000, -}; - -struct FFX_CTX_st { - EVP_CIPHER_CTX *cctx; - int flag; -}; - -FFX_CTX *FFX_CTX_new(void) -{ - FFX_CTX *ret = NULL; - ret = OPENSSL_zalloc(sizeof(*ret)); - return ret; -} - -void FFX_CTX_free(FFX_CTX *ctx) -{ - if (ctx) { - EVP_CIPHER_CTX_free(ctx->cctx); - } - OPENSSL_free(ctx); -} - -int FFX_init(FFX_CTX *ctx, const EVP_CIPHER *cipher, const unsigned char *key, - int flag) -{ - int ret = 0; - EVP_CIPHER_CTX *cctx = NULL; - - if (!ctx || !cipher || !key) { - FFXerr(FFX_F_FFX_INIT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - if (EVP_CIPHER_mode(cipher) != EVP_CIPH_ECB_MODE) { - FFXerr(FFX_F_FFX_INIT, FFX_R_INVALID_CIPHER_MODE); - return 0; - } - if (EVP_CIPHER_block_size(cipher) != 16) { - FFXerr(FFX_F_FFX_INIT, FFX_R_INVALID_BLOCK_SIZE); - return 0; - } - - if (!ctx->cctx) { - if (!(cctx = EVP_CIPHER_CTX_new())) { - FFXerr(FFX_F_FFX_INIT, ERR_R_MALLOC_FAILURE); - goto end; - } - ctx->cctx = cctx; - cctx = NULL; - } - ctx->flag = flag; - - if (!EVP_EncryptInit_ex(ctx->cctx, cipher, NULL, key, NULL)) { - FFXerr(FFX_F_FFX_INIT, FFX_R_ENCRYPT_INIT_FAILURE); - goto end; - } - - ret = 1; -end: - EVP_CIPHER_CTX_free(cctx); - return ret; -} - -int FFX_encrypt(FFX_CTX *ctx, const char *in, char *out, size_t iolen, - unsigned char *tweak, size_t tweaklen) -{ - int llen, rlen; - uint32_t lval, rval; - unsigned char pblock[16] = { - 0x01, 0x02, 0x01, 0x0a, 0x00, 0x00, 0x0a, 0xff, - 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00}; - unsigned char qblock[16]; - char lbuf[FFX_MAX_DIGITS/2 + 2]; - uint64_t yval; - size_t i; - - if (!ctx || !in || !out || !tweak) { - FFXerr(FFX_F_FFX_ENCRYPT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (iolen < FFX_MIN_DIGITS || iolen > FFX_MAX_DIGITS) { - FFXerr(FFX_F_FFX_ENCRYPT, FFX_R_INVALID_INPUT_LENGTH); - return 0; - } - - for (i = 0; i < iolen; i++) { - if (!isdigit(in[i])) { - FFXerr(FFX_F_FFX_ENCRYPT, FFX_R_INVALID_INPUT_DIGIT); - return 0; - } - } - llen = iolen / 2; - rlen = iolen - llen; - - if (tweaklen < FFX_MIN_TWEAKLEN || tweaklen > FFX_MAX_TWEAKLEN) { - FFXerr(FFX_F_FFX_ENCRYPT, FFX_R_INVALID_TWEAK_LENGTH); - return 0; - } - - memcpy(lbuf, in, llen); - lbuf[llen] = 0; - lval = atoi(lbuf); - rval = atoi(in + llen); - - pblock[7] = llen & 0xff; - pblock[8] = iolen & 0xff; - pblock[12] = tweaklen & 0xff; - - if (!EVP_Cipher(ctx->cctx, pblock, pblock, - EVP_CIPHER_CTX_block_size(ctx->cctx))) { - FFXerr(FFX_F_FFX_ENCRYPT, ERR_R_EVP_LIB); - return 0; - } - - memset(qblock, 0, sizeof(qblock)); - memcpy(qblock, tweak, tweaklen); - - for (i = 0; i < FFX_NUM_ROUNDS; i += 2) { - - unsigned char rblock[16]; - size_t j; - - qblock[11] = i & 0xff; - memcpy(qblock + 12, &rval, sizeof(rval)); - for (j = 0; j < sizeof(rblock); j++) { - rblock[j] = pblock[j] ^ qblock[j]; - } - if (!EVP_Cipher(ctx->cctx, rblock, rblock, - EVP_CIPHER_CTX_block_size(ctx->cctx))) { - FFXerr(FFX_F_FFX_ENCRYPT, ERR_R_EVP_LIB); - return 0; - } - - yval = *((uint64_t *)rblock) % modulo[llen]; - lval = (lval + yval) % modulo[llen]; - - qblock[11] = (i + 1) & 0xff; - memcpy(qblock + 12, &lval, sizeof(lval)); - for (j = 0; j < sizeof(rblock); j++) { - rblock[j] = pblock[j] ^ qblock[j]; - } - if (!EVP_Cipher(ctx->cctx, rblock, rblock, - EVP_CIPHER_CTX_block_size(ctx->cctx))) { - FFXerr(FFX_F_FFX_ENCRYPT, ERR_R_EVP_LIB); - return 0; - } - yval = *((uint64_t *)rblock) % modulo[rlen]; - rval = (rval + yval) % modulo[rlen]; - } - - memset(out, '0', iolen); - sprintf(lbuf, "%d", rval); - memcpy(out + rlen - strlen(lbuf), lbuf, strlen(lbuf)); - sprintf(lbuf, "%d", lval); - strcpy(out + iolen - strlen(lbuf), lbuf); - - return 1; -} - -int FFX_decrypt(FFX_CTX *ctx, const char *in, char *out, size_t iolen, - unsigned char *tweak, size_t tweaklen) -{ - int llen, rlen; - uint32_t lval, rval; - unsigned char pblock[16] = { - 0x01, 0x02, 0x01, 0x0a, 0x00, 0x00, 0x0a, 0xff, - 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00}; - unsigned char qblock[16]; - char lbuf[FFX_MAX_DIGITS/2 + 2]; - uint64_t yval; - size_t i; - - if (!ctx || !in || !out || !tweak) { - FFXerr(FFX_F_FFX_DECRYPT, ERR_R_PASSED_NULL_PARAMETER); - return 0; - } - - if (iolen < FFX_MIN_DIGITS || iolen > FFX_MAX_DIGITS) { - FFXerr(FFX_F_FFX_DECRYPT, FFX_R_INVALID_INPUT_LENGTH); - return 0; - } - - for (i = 0; i < iolen; i++) { - if (!isdigit(in[i])) { - FFXerr(FFX_F_FFX_DECRYPT, FFX_R_INVALID_INPUT_DIGIT); - return 0; - } - } - rlen = iolen / 2; - llen = iolen - rlen; - - - if (tweaklen < FFX_MIN_TWEAKLEN || tweaklen > FFX_MAX_TWEAKLEN) { - FFXerr(FFX_F_FFX_DECRYPT, FFX_R_INVALID_TWEAK_LENGTH); - return 0; - } - - memcpy(lbuf, in, llen); - lbuf[llen] = 0; - lval = atoi(lbuf); - rval = atoi(in + llen); - - pblock[7] = rlen & 0xff; - pblock[8] = iolen & 0xff; - pblock[12] = tweaklen & 0xff; - - if (!EVP_Cipher(ctx->cctx, pblock, pblock, - EVP_CIPHER_CTX_block_size(ctx->cctx))) { - FFXerr(FFX_F_FFX_DECRYPT, ERR_R_EVP_LIB); - return 0; - } - - memset(qblock, 0, sizeof(qblock)); - memcpy(qblock, tweak, tweaklen); - - for (i = FFX_NUM_ROUNDS - 1; i > 0; i -= 2) { - - unsigned char rblock[16]; - size_t j; - - qblock[11] = i & 0xff; - memcpy(qblock + 12, &rval, sizeof(rval)); - for (j = 0; j < sizeof(rblock); j++) { - rblock[j] = pblock[j] ^ qblock[j]; - } - if (!EVP_Cipher(ctx->cctx, rblock, rblock, - EVP_CIPHER_CTX_block_size(ctx->cctx))) { - FFXerr(FFX_F_FFX_DECRYPT, ERR_R_EVP_LIB); - return 0; - } - - yval = *((uint64_t *)rblock) % modulo[llen]; - lval = (lval >= yval) ? (lval - yval) : lval + modulo[llen] - yval; - - qblock[11] = (i - 1) & 0xff; - memcpy(qblock + 12, &lval, sizeof(lval)); - for (j = 0; j < sizeof(rblock); j++) { - rblock[j] = pblock[j] ^ qblock[j]; - } - if (!EVP_Cipher(ctx->cctx, rblock, rblock, - EVP_CIPHER_CTX_block_size(ctx->cctx))) { - FFXerr(FFX_F_FFX_DECRYPT, ERR_R_EVP_LIB); - return 0; - } - - yval = *((uint64_t *)rblock) % modulo[rlen]; - rval = (rval >= yval) ? (rval - yval) : rval + modulo[rlen] - yval; - } - - memset(out, '0', iolen); - sprintf(lbuf, "%d", rval); - memcpy(out + rlen - strlen(lbuf), lbuf, strlen(lbuf)); - sprintf(lbuf, "%d", lval); - strcpy(out + iolen - strlen(lbuf), lbuf); - - return 1; -} - -static int luhn_table[10] = {0, 2, 4, 6, 8, 1, 3, 5, 7, 9}; - -int FFX_compute_luhn(const char *in, size_t inlen) -{ - int r = 0; - int i; - - for (i = inlen - 1; i >= 0; i--) { - int a; - if (!isdigit(in[i])) { - return -2; - } - a = in[i] - '0'; - if (i % 2 != inlen % 2) - a = luhn_table[a]; - r += a; - } - - r = ((r * 9) % 10) + '0'; - return r; -} - diff --git a/crypto/ffx/ffx_err.c b/crypto/ffx/ffx_err.c deleted file mode 100644 index 327bf27d..00000000 --- a/crypto/ffx/ffx_err.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * 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 - */ - -#include -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_FFX,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_FFX,0,reason) - -static ERR_STRING_DATA FFX_str_functs[] = { - {ERR_FUNC(FFX_F_FFX_DECRYPT), "FFX_decrypt"}, - {ERR_FUNC(FFX_F_FFX_ENCRYPT), "FFX_encrypt"}, - {ERR_FUNC(FFX_F_FFX_INIT), "FFX_init"}, - {0, NULL} -}; - -static ERR_STRING_DATA FFX_str_reasons[] = { - {ERR_REASON(FFX_R_ENCRYPT_INIT_FAILURE), "encrypt init failure"}, - {ERR_REASON(FFX_R_INVALID_BLOCK_SIZE), "invalid block size"}, - {ERR_REASON(FFX_R_INVALID_CIPHER_MODE), "invalid cipher mode"}, - {ERR_REASON(FFX_R_INVALID_INPUT_DIGIT), "invalid input digit"}, - {ERR_REASON(FFX_R_INVALID_INPUT_LENGTH), "invalid input length"}, - {ERR_REASON(FFX_R_INVALID_TWEAK_LENGTH), "invalid tweak length"}, - {0, NULL} -}; - -#endif - -int ERR_load_FFX_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(FFX_str_functs[0].error) == NULL) { - ERR_load_strings(0, FFX_str_functs); - ERR_load_strings(0, FFX_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/include/internal/evp_int.h b/crypto/include/internal/evp_int.h index bea41d17..94c4697a 100644 --- a/crypto/include/internal/evp_int.h +++ b/crypto/include/internal/evp_int.h @@ -383,9 +383,6 @@ struct evp_pkey_st { # ifndef OPENSSL_NO_SM9 /* SM9 */ struct SM9_MASTER_KEY_st *sm9_master; struct SM9_KEY_st *sm9; -# endif -# ifndef OPENSSL_NO_CPK /* CPK */ - struct CPK_MASTER_SECERT *cpk; # endif } pkey; int save_parameters; diff --git a/crypto/saf/build.info b/crypto/saf/build.info deleted file mode 100644 index 3eb2b83a..00000000 --- a/crypto/saf/build.info +++ /dev/null @@ -1,18 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]= \ - saf_app.c \ - saf_base64.c \ - saf_cert.c \ - saf_ec.c \ - saf_enc.c \ - saf_err.c \ - saf_errstr.c \ - saf_hash.c \ - saf_keyhandle.c \ - saf_lib.c \ - saf_mac.c \ - saf_pkcs7.c \ - saf_rand.c \ - saf_rsa.c \ - saf_sm2.c \ - saf_symmkeyobj.c diff --git a/crypto/saf/saf_app.c b/crypto/saf/saf_app.c deleted file mode 100644 index 8eb75416..00000000 --- a/crypto/saf/saf_app.c +++ /dev/null @@ -1,158 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.1.2 */ -int SAF_Initialize( - void **phAppHandle, - char *pubCfgFilePath) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = NULL; - char *engine_id = pubCfgFilePath; - - if (!phAppHandle || !pubCfgFilePath) { - SAFerr(SAF_F_SAF_INITIALIZE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!(app = OPENSSL_zalloc(sizeof(*app)))) { - SAFerr(SAF_F_SAF_INITIALIZE, ERR_R_MALLOC_FAILURE); - return SAR_MemoryErr; - } - - if (!(app->engine = ENGINE_by_id(engine_id)) - || !ENGINE_init(app->engine)) { - SAFerr(SAF_F_SAF_INITIALIZE, ERR_R_ENGINE_LIB); - goto end; - } - - *phAppHandle = app; - app = NULL; - ret = SAR_Ok; - -end: - SAF_Finalize(app); - return ret; -} - -/* 7.1.3 */ -int SAF_Finalize( - void *hAppHandle) -{ - SAF_APP *app = (SAF_APP *)hAppHandle; - - if (app->engine) { - ENGINE_finish(app->engine); - ENGINE_free(app->engine); - } - - OPENSSL_free(app); - return SAR_Ok; -} - -/* 7.1.4 */ -int SAF_GetVersion( - unsigned int *puiVersion) -{ - if (!puiVersion) { - SAFerr(SAF_F_SAF_GETVERSION, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - *puiVersion = (unsigned int)OpenSSL_version_num(); - return SAR_Ok; -} - -/* 7.1.5 */ -int SAF_Login( - void *hAppHandle, - unsigned int uiUsrType, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned char *pucPin, - unsigned int uiPinLen, - unsigned int *puiRemainCount) -{ - SAFerr(SAF_F_SAF_LOGIN, SAF_R_NOT_SUPPORTED); - return SAR_NotSupportYetErr; -} - -/* 7.1.6 */ -int SAF_ChangePin( - void *hAppHandle, - unsigned int uiUsrType, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned char *pucOldPin, - unsigned int uiOldPinLen, - unsigned char *pucNewPin, - unsigned int uiNewPinLen, - unsigned int *puiRemainCount) -{ - SAFerr(SAF_F_SAF_CHANGEPIN, SAF_R_NOT_SUPPORTED); - return SAR_NotSupportYetErr; -} - -/* 7.1.7 */ -int SAF_Logout( - void *hAppHandle, - unsigned int uiUsrType) -{ - SAFerr(SAF_F_SAF_LOGOUT, SAF_R_NOT_SUPPORTED); - return SAR_NotSupportYetErr; -} diff --git a/crypto/saf/saf_base64.c b/crypto/saf/saf_base64.c deleted file mode 100644 index 29ce9da9..00000000 --- a/crypto/saf/saf_base64.c +++ /dev/null @@ -1,364 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.3.4 */ -int SAF_Base64_CreateBase64Obj( - void **phBase64Obj) -{ - int ret = SAR_UnknownErr; - SAF_BASE64OBJ *obj = NULL; - - if (!(obj = OPENSSL_malloc(sizeof(*obj)))) { - SAFerr(SAF_F_SAF_BASE64_CREATEBASE64OBJ, ERR_R_MALLOC_FAILURE); - return SAR_MemoryErr; - } - - if (!(obj->ctx = EVP_ENCODE_CTX_new())) { - SAFerr(SAF_F_SAF_BASE64_CREATEBASE64OBJ, ERR_R_MALLOC_FAILURE); - ret = SAR_MemoryErr; - goto end; - } - obj->inited = 0; - - *phBase64Obj = obj; - ret = SAR_OK; - -end: - if (ret != SAR_OK) { - EVP_ENCODE_CTX_free(obj->ctx); - OPENSSL_free(obj); - } - return ret; -} - -/* 7.3.5 */ -/* always return success for software implementation */ -int SAF_Base64_DestroyBase64Obj( - void *hBase64Obj) -{ - SAF_BASE64OBJ *obj = (SAF_BASE64OBJ *)hBase64Obj; - if (obj) { - EVP_ENCODE_CTX_free(obj->ctx); - } - OPENSSL_free(obj); - return SAR_OK; -} - -/* 7.3.6 */ -int SAF_Base64_EncodeUpdate( - void *hBase64Obj, - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - SAF_BASE64OBJ *obj = (SAF_BASE64OBJ *)hBase64Obj; - int inlen, outlen; - - if (!hBase64Obj || !pucInData || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_BASE64_ENCODEUPDATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - /* GMAPI dont check function specific length, leave to EVP */ - if (puiInDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_BASE64_ENCODEUPDATE, SAF_R_INT_OVERFLOW); - return SAR_IndataLenErr; - } - /* GMAPI dont check function specific length, leave to EVP */ - if (*puiOutDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_BASE64_ENCODEUPDATE, SAF_R_INT_OVERFLOW); - return SAR_IndataLenErr; - } - - /* check handle */ - if (!obj->ctx) { - SAFerr(SAF_F_SAF_BASE64_ENCODEUPDATE, SAF_R_INVALID_HANDLE); - return SAR_ObjErr; - } - - if (!obj->inited) { - EVP_EncodeInit(obj->ctx); - obj->inited = 1; - } - - inlen = (int)puiInDataLen; - outlen = (int)(*puiOutDataLen); - //TODO: check outlen, or EVP will fail without error messages - if (!EVP_EncodeUpdate(obj->ctx, pucOutData, &outlen, pucInData, inlen)) { - SAFerr(SAF_F_SAF_BASE64_ENCODEUPDATE, ERR_R_EVP_LIB); - return SAR_UnknownErr; - } - - *puiOutDataLen = (unsigned int)outlen; - return SAR_OK; -} - -/* 7.3.7 */ -int SAF_Base64_EncodeFinal( - void *hBase64Obj, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - SAF_BASE64OBJ *obj = (SAF_BASE64OBJ *)hBase64Obj; - int len; - - if (!hBase64Obj || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_BASE64_ENCODEFINAL, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (*puiOutDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_BASE64_ENCODEFINAL, SAF_R_INT_OVERFLOW); - return SAR_IndataLenErr; - } - if (*puiOutDataLen < 66) { - SAFerr(SAF_F_SAF_BASE64_ENCODEFINAL, SAF_R_BUFFER_TOO_SMALL); - return SAR_IndataLenErr; - } - - if (!obj->ctx || !obj->inited) { - SAFerr(SAF_F_SAF_BASE64_ENCODEFINAL, SAF_R_INVALID_HANDLE); - return SAR_ObjErr; - } - - /* the max output length of EVP_EncodeFinal() is 66 - * this function return void, so we need to check `*outlen` - */ - len = (int)(*puiOutDataLen); - //TODO: check outlen, or EVP will fail without error messages - EVP_EncodeFinal(obj->ctx, pucOutData, &len); - - - *puiOutDataLen = (unsigned int)len; - return SAR_OK; -} - -/* 7.3.8 */ -int SAF_Base64_DecodeUpdate( - void *hBase64Obj, - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - SAF_BASE64OBJ *obj = (SAF_BASE64OBJ *)hBase64Obj; - int inlen, outlen; - - if (!hBase64Obj || !pucInData || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_BASE64_DECODEUPDATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - /* GMAPI dont check function specific length, leave to EVP */ - if (puiInDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_BASE64_DECODEUPDATE, SAF_R_INT_OVERFLOW); - return SAR_IndataLenErr; - } - /* GMAPI dont check function specific length, leave to EVP */ - if (*puiOutDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_BASE64_DECODEUPDATE, SAF_R_INT_OVERFLOW); - return SAR_IndataLenErr; - } - - if (!obj->ctx) { - SAFerr(SAF_F_SAF_BASE64_DECODEUPDATE, SAF_R_INVALID_HANDLE); - return SAR_ObjErr; - } - - if (!obj->inited) { - EVP_DecodeInit(obj->ctx); - obj->inited = 1; - } - - inlen = (int)puiInDataLen; - outlen = (int)(*puiOutDataLen); - //TODO: check outlen, or EVP will fail without error messages - - /* - * EVP_DecodeUpdate() return -1 for error, 0 or 1 for success - * 0 means the last char of the input is `=` - */ - if (EVP_DecodeUpdate(obj->ctx, pucOutData, &outlen, pucInData, inlen) < 0) { - SAFerr(SAF_F_SAF_BASE64_DECODEUPDATE, ERR_R_EVP_LIB); - return SAR_UnknownErr; - } - - *puiOutDataLen = (unsigned int)outlen; - return SAR_OK; -} - -/* 7.3.9 */ -int SAF_Base64_DecodeFinal( - void *hBase64Obj, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - SAF_BASE64OBJ *obj = (SAF_BASE64OBJ *)hBase64Obj; - int len; - - if (!hBase64Obj || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_BASE64_DECODEFINAL, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (*puiOutDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_BASE64_DECODEFINAL, SAF_R_INT_OVERFLOW); - return SAR_IndataLenErr; - } - - if (!obj->ctx || !obj->inited) { - SAFerr(SAF_F_SAF_BASE64_DECODEFINAL, SAF_R_INVALID_HANDLE); - return SAR_ObjErr; - } - - len = (int)(*puiOutDataLen); - //TODO: check outlen, or EVP will fail without error messages - if (!EVP_DecodeFinal(obj->ctx, pucOutData, &len)) { - SAFerr(SAF_F_SAF_BASE64_DECODEFINAL, ERR_R_EVP_LIB); - return SAR_UnknownErr; - } - - *puiOutDataLen = (unsigned int)len; - return SAR_OK; -} - -/* 7.3.2 */ -int SAF_Base64_Encode( - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - void *handle = NULL; - unsigned char *p; - unsigned int len; - - if (!pucInData || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_BASE64_ENCODE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if ((ret = SAF_Base64_CreateBase64Obj(&handle)) != SAR_OK) { - SAFerr(SAF_F_SAF_BASE64_ENCODE, ERR_R_GMAPI_LIB); - goto end; - } - - p = pucOutData; - len = *puiOutDataLen; - - if ((ret = SAF_Base64_EncodeUpdate(handle, pucInData, puiInDataLen, - p, &len)) != SAR_OK) { - SAFerr(SAF_F_SAF_BASE64_ENCODE, ERR_R_GMAPI_LIB); - goto end; - } - p += len; - - len = *puiOutDataLen - len; - if ((ret = SAF_Base64_EncodeFinal(handle, p, &len)) != SAR_OK) { - SAFerr(SAF_F_SAF_BASE64_ENCODE, ERR_R_GMAPI_LIB); - goto end; - } - p += len; - - *puiOutDataLen = p - pucOutData; - ret = SAR_OK; - -end: - SAF_Base64_DestroyBase64Obj(handle); - return ret; -} - -/* 7.3.3 */ -int SAF_Base64_Decode( - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - void *handle = NULL; - unsigned char *p; - unsigned int len; - - if ((ret = SAF_Base64_CreateBase64Obj(&handle)) != SAR_OK) { - SAFerr(SAF_F_SAF_BASE64_DECODE, ERR_R_GMAPI_LIB); - goto end; - } - - p = pucOutData; - len = *puiOutDataLen; - - if ((ret = SAF_Base64_DecodeUpdate(handle, pucInData, puiInDataLen, - p, &len)) != SAR_OK) { - SAFerr(SAF_F_SAF_BASE64_DECODE, ERR_R_GMAPI_LIB); - goto end; - } - p += len; - - len = *puiOutDataLen - len; - if ((ret = SAF_Base64_DecodeFinal(handle, p, &len)) != SAR_OK) { - SAFerr(SAF_F_SAF_BASE64_DECODE, ERR_R_GMAPI_LIB); - goto end; - } - p += len; - - *puiOutDataLen = p - pucOutData; - ret = SAR_OK; - -end: - SAF_Base64_DestroyBase64Obj(handle); - return ret; -} diff --git a/crypto/saf/saf_cert.c b/crypto/saf/saf_cert.c deleted file mode 100644 index 6b9bca37..00000000 --- a/crypto/saf/saf_cert.c +++ /dev/null @@ -1,521 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include "saf_lcl.h" -#include "../../apps/apps.h" - -int load_certs(const char *file, STACK_OF(X509) **certs, int format, - const char *pass, const char *cert_descrip) -{ - return 0; -} - -/* 7.2.2 */ -int SAF_AddTrustedRootCaCertificate( - void *hAppHandle, - unsigned char *pucCertificate, - unsigned int uiCertificateLen) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - X509 *x509 = NULL; - BIO *bio = NULL; - - if (!hAppHandle || !pucCertificate) { - SAFerr(SAF_F_SAF_ADDTRUSTEDROOTCACERTIFICATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiCertificateLen <= 0 || uiCertificateLen > INT_MAX) { - SAFerr(SAF_F_SAF_ADDTRUSTEDROOTCACERTIFICATE, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!(bio = BIO_new_file(app->rootcacerts, "a"))) { - SAFerr(SAF_F_SAF_ADDTRUSTEDROOTCACERTIFICATE, ERR_R_BIO_LIB); - goto end; - } - - if (!(x509 = d2i_X509(NULL, (const unsigned char **)&pucCertificate, uiCertificateLen))) { - SAFerr(SAF_F_SAF_ADDTRUSTEDROOTCACERTIFICATE, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - if (!PEM_write_bio_X509(bio, x509)) { - SAFerr(SAF_F_SAF_ADDTRUSTEDROOTCACERTIFICATE, ERR_R_PEM_LIB); - goto end; - } - - ret = SAR_Ok; - -end: - X509_free(x509); - BIO_free(bio); - return ret; -} - -/* 7.2.3 */ -int SAF_GetRootCaCertificateCount( - void *hAppHandle, - unsigned int *puiCount) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - STACK_OF(X509) *certs = NULL; - - if (!hAppHandle || !puiCount) { - SAFerr(SAF_F_SAF_GETROOTCACERTIFICATECOUNT, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!load_certs(app->rootcacerts, &certs, FORMAT_PEM, NULL, "root ca certificates")) { - SAFerr(SAF_F_SAF_GETROOTCACERTIFICATECOUNT, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - *puiCount = sk_X509_num(certs); - ret = SAR_Ok; - -end: - sk_X509_free(certs); - return ret; -} - -/* 7.2.4 */ -int SAF_GetRootCaCertificate( - void *hAppHandle, - unsigned int uiIndex, - unsigned char *pucCertificate, - unsigned int *puiCertificateLen) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - STACK_OF(X509) *certs = NULL; - X509 *x509; - int len; - - if (!hAppHandle || !pucCertificate || !puiCertificateLen) { - SAFerr(SAF_F_SAF_GETROOTCACERTIFICATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!load_certs(app->rootcacerts, &certs, FORMAT_PEM, NULL, - "root ca certificates")) { - SAFerr(SAF_F_SAF_GETROOTCACERTIFICATE, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - if (!(x509 = sk_X509_value(certs, uiIndex))) { - SAFerr(SAF_F_SAF_GETROOTCACERTIFICATE, SAF_R_INVALID_INDEX); - goto end; - } - - if (*puiCertificateLen < i2d_X509(x509, NULL)) { - SAFerr(SAF_F_SAF_GETROOTCACERTIFICATE, SAF_R_BUFFER_TOO_SMALL); - ret = SAR_IndataLenErr; - goto end; - } - - if ((len = i2d_X509(x509, &pucCertificate)) <= 0) { - SAFerr(SAF_F_SAF_GETROOTCACERTIFICATE, ERR_R_X509_LIB); - goto end; - } - - *puiCertificateLen = len; - ret = SAR_Ok; -end: - sk_X509_free(certs); - return ret; -} - -/* 7.2.5 */ -int SAF_RemoveRootCaCertificate( - void *hAppHandle, - unsigned int uiIndex) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - STACK_OF(X509) *certs = NULL; - X509 *x509 = NULL; - BIO *bio = NULL; - int i, err = 0; - - if (!hAppHandle) { - SAFerr(SAF_F_SAF_REMOVEROOTCACERTIFICATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!load_certs(app->rootcacerts, &certs, FORMAT_PEM, NULL, "root ca certificates")) { - SAFerr(SAF_F_SAF_REMOVEROOTCACERTIFICATE, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - if (!(bio = BIO_new_file(app->rootcacerts, "w"))) { - SAFerr(SAF_F_SAF_REMOVEROOTCACERTIFICATE, ERR_R_BIO_LIB); - goto end; - } - - if (!(x509 = sk_X509_delete(certs, uiIndex))) { - SAFerr(SAF_F_SAF_REMOVEROOTCACERTIFICATE, SAF_R_INVALID_INDEX); - goto end; - } - - for (i = 0; i < sk_X509_num(certs); i++) { - if (!PEM_write_bio_X509(bio, sk_X509_value(certs, i))) { - SAFerr(SAF_F_SAF_REMOVEROOTCACERTIFICATE, ERR_R_PEM_LIB); - err++; - } - } - - ret = SAR_Ok; - -end: - X509_free(x509); - sk_X509_free(certs); - BIO_free(bio); - return ret; -} - -/* 7.2.6 */ -int SAF_AddCaCertificate( - void *hAppHandle, - unsigned char *pucCertificate, - unsigned int uiCertificateLen) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - X509 *x509 = NULL; - BIO *bio = NULL; - - if (!hAppHandle || !pucCertificate) { - SAFerr(SAF_F_SAF_ADDCACERTIFICATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiCertificateLen <= 0 || uiCertificateLen > INT_MAX) { - SAFerr(SAF_F_SAF_ADDCACERTIFICATE, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!(bio = BIO_new_file(app->cacerts, "a"))) { - SAFerr(SAF_F_SAF_ADDCACERTIFICATE, ERR_R_BIO_LIB); - goto end; - } - - if (!(x509 = d2i_X509(NULL, (const unsigned char **)&pucCertificate, uiCertificateLen))) { - SAFerr(SAF_F_SAF_ADDCACERTIFICATE, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - if (!PEM_write_bio_X509(bio, x509)) { - SAFerr(SAF_F_SAF_ADDCACERTIFICATE, ERR_R_PEM_LIB); - goto end; - } - - ret = SAR_Ok; - -end: - X509_free(x509); - BIO_free(bio); - return ret; -} - -/* 7.2.7 */ -int SAF_GetCaCertificateCount( - void *hAppHandle, - unsigned int *puiCount) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - STACK_OF(X509) *certs = NULL; - - if (!hAppHandle || !puiCount) { - SAFerr(SAF_F_SAF_GETCACERTIFICATECOUNT, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!load_certs(app->cacerts, &certs, FORMAT_PEM, NULL, "ca certificates")) { - SAFerr(SAF_F_SAF_GETCACERTIFICATECOUNT, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - *puiCount = sk_X509_num(certs); - ret = SAR_Ok; - -end: - sk_X509_free(certs); - return ret; -} - -/* 7.2.8 */ -int SAF_GetCaCertificate( - void *hAppHandle, - unsigned int uiIndex, - unsigned char *pucCertificate, - unsigned int *puiCertificateLen) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - STACK_OF(X509) *certs = NULL; - X509 *x509; - int len; - - if (!hAppHandle || !pucCertificate || !puiCertificateLen) { - SAFerr(SAF_F_SAF_GETCACERTIFICATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!load_certs(app->cacerts, &certs, FORMAT_PEM, NULL, "ca certificates")) { - SAFerr(SAF_F_SAF_GETCACERTIFICATE, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - if (!(x509 = sk_X509_value(certs, uiIndex))) { - SAFerr(SAF_F_SAF_GETCACERTIFICATE, SAF_R_INVALID_INDEX); - goto end; - } - - if (*puiCertificateLen < i2d_X509(x509, NULL)) { - SAFerr(SAF_F_SAF_GETCACERTIFICATE, SAF_R_BUFFER_TOO_SMALL); - ret = SAR_IndataLenErr; - goto end; - } - - if ((len = i2d_X509(x509, &pucCertificate)) <= 0) { - SAFerr(SAF_F_SAF_GETCACERTIFICATE, ERR_R_X509_LIB); - goto end; - } - - *puiCertificateLen = len; - ret = SAR_Ok; -end: - sk_X509_free(certs); - return ret; -} - -/* 7.2.9 */ -int SAF_RemoveCaCertificate( - void *hAppHandle, - unsigned int uiIndex) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - STACK_OF(X509) *certs = NULL; - X509 *x509 = NULL; - BIO *bio = NULL; - int i, err = 0; - - if (!hAppHandle) { - SAFerr(SAF_F_SAF_REMOVECACERTIFICATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!load_certs(app->cacerts, &certs, FORMAT_PEM, NULL, "ca certificates")) { - SAFerr(SAF_F_SAF_REMOVECACERTIFICATE, SAF_R_LOAD_CERTS_FAILURE); - goto end; - } - - if (!(bio = BIO_new_file(app->rootcacerts, "w"))) { - SAFerr(SAF_F_SAF_REMOVECACERTIFICATE, ERR_R_BIO_LIB); - goto end; - } - - if (!(x509 = sk_X509_delete(certs, uiIndex))) { - SAFerr(SAF_F_SAF_REMOVECACERTIFICATE, SAF_R_INVALID_INDEX); - goto end; - } - - for (i = 0; i < sk_X509_num(certs); i++) { - if (!PEM_write_bio_X509(bio, sk_X509_value(certs, i))) { - SAFerr(SAF_F_SAF_REMOVECACERTIFICATE, ERR_R_PEM_LIB); - err++; - } - } - - ret = SAR_Ok; - -end: - X509_free(x509); - sk_X509_free(certs); - BIO_free(bio); - return ret; -} - -/* 7.2.10 */ -int SAF_AddCrl( - void *hAppHandle, - unsigned char *pucDerCrl, - unsigned int uiDerCrlLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.11 */ -int SAF_VerifyCertificate( - void *hAppHandle, - unsigned char *pucUsrCertificate, - unsigned int uiUsrCertificateLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.12 */ -int SAF_VerifyCertificateByCrl( - void *hAppHandle, - unsigned char *pucUsrCertificate, - unsigned int uiUsrCertificateLen, - unsigned char *pucDerCrl, - unsigned int uiDerCrlLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.13 */ -int SAF_GetCertificateStateByOCSP( - void *hAppHandle, - unsigned char *pcOcspHostURL, - unsigned int uiOcspHostURLLen, - unsigned char *pucUsrCertificate, - unsigned int uiUsrCertificateLen, - unsigned char *pucCACertificate, - unsigned int uiCACertficateLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.14 */ -int SAF_GetCertFromLdap( - void *hAppHandle, - char *pcLdapHostURL, - unsigned int uiLdapHostURLLen, - unsigned char *pucQueryDN, - unsigned int uiQueryDNLen, - unsigned char *pucOutCert, - unsigned int *puiOutCertLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.15 */ -int SAF_GetCrlFromLdap( - void *hAppHandle, - char *pcLdapHostURL, - unsigned int uiLdapHostURLLen, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned char *pucCrlData, - unsigned int *puiCrlDataLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.16 */ -int SAF_GetCertificateInfo( - void *hAppHandle, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned int uiInfoType, - unsigned char *pucInfo, - unsigned int *puiInfoLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.17 */ -int SAF_GetExtTypeInfo( - void *hAppHandle, - unsigned char *pucDerCert, - unsigned int uiDerCertLen, - unsigned int uiInfoType, - unsigned char *pucPriOid, - unsigned int uiPriOidLen, - unsigned char *pucInfo, - unsigned int *puiInfoLen) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.18 */ -int SAF_EnumCertificates( - void *hAppHandle, - SGD_USR_CERT_ENUMLIST *usrCerts) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.19 */ -int SAF_EnumKeyContainerInfo( - void *hAppHandle, - SGD_KEYCONTAINERINFO_ENUMLIST *keyContainerInfo) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.20 */ -int SAF_EnumCertificatesFree( - void *hAppHandle, - SGD_USR_CERT_ENUMLIST *usrCerts) -{ - return SAR_NotSupportYetErr; -} - -/* 7.2.21 */ -int SAF_EnumKeyContainerInfoFree( - void *hAppHandle, - SGD_KEYCONTAINERINFO_ENUMLIST *keyContainerInfo) -{ - return SAR_NotSupportYetErr; -} diff --git a/crypto/saf/saf_ec.c b/crypto/saf/saf_ec.c deleted file mode 100644 index 0869b9b0..00000000 --- a/crypto/saf/saf_ec.c +++ /dev/null @@ -1,630 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include "saf_lcl.h" - - -/* 7.3.23 */ -int SAF_GenEccKeyPair( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned int uiKeyUsage, - unsigned int uiExportFlag) -{ - int ret = -1; - SAF_APP *app = (SAF_APP *)hAppHandle; - EVP_PKEY_CTX *pctx = NULL; - EVP_PKEY *pkey = NULL; - - /* check arguments */ - if (!hAppHandle || !pucContainerName) { - SAFerr(SAF_F_SAF_GENECCKEYPAIR, - ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiContainerNameLen <= 0 || uiContainerNameLen > SGD_MAX_NAME_SIZE || - strlen((char *)pucContainerName) != uiContainerNameLen) { - SAFerr(SAF_F_SAF_GENECCKEYPAIR, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_NameLenErr; - } - if (uiKeyBits < 160 || uiKeyBits > ECCref_MAX_BITS) { - SAFerr(SAF_F_SAF_GENECCKEYPAIR, - SAF_R_INVALID_KEY_LENGTH); - return SAR_ModulusLenErr; - } - if (uiKeyUsage != SGD_SM2_1 && uiKeyUsage != SGD_SM2_2 && - uiKeyUsage != SGD_SM2_3) { - SAFerr(SAF_F_SAF_GENECCKEYPAIR, - SAF_R_INVALID_KEY_USAGE); - return SAR_KeyUsageErr; - } - - /* process */ - - if (!(pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, app->engine)) - || EVP_PKEY_keygen_init(pctx) <= 0 - || EVP_PKEY_keygen(pctx, &pkey) <= 0) { - SAFerr(SAF_F_SAF_GENECCKEYPAIR, ERR_R_EVP_LIB); - goto end; - } - - ret = SAR_Ok; -end: - EVP_PKEY_CTX_free(pctx); - EVP_PKEY_free(pkey); - return ret; -} - -const char *SGD_GetKeyUsageName(unsigned int uiKeyUsage) -{ - switch (uiKeyUsage) { - case SGD_PK_SIGN: - return "sign"; - case SGD_PK_ENC: - return "enc"; - case SGD_PK_DH: - return "dh"; - } - return NULL; -} - -/* 7.3.24 */ -int SAF_GetEccPublicKey( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyUsage, - unsigned char *pucPublicKey, - unsigned int *puiPublicKeyLen) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - EVP_PKEY *pkey = NULL; - char key_id[1024]; - int len; - - /* check arguments */ - if (!hAppHandle || !pucContainerName || !pucPublicKey || - !puiPublicKeyLen) { - SAFerr(SAF_F_SAF_GETECCPUBLICKEY, - ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiContainerNameLen <= 0 || - uiContainerNameLen > SGD_MAX_NAME_SIZE || - strlen((char *)pucContainerName) != uiContainerNameLen) { - SAFerr(SAF_F_SAF_GETECCPUBLICKEY, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_NameLenErr; - } - if (uiKeyUsage != SGD_SM2_1 && uiKeyUsage != SGD_SM2_2 && - uiKeyUsage != SGD_SM2_3) { - SAFerr(SAF_F_SAF_GETECCPUBLICKEY, - SAF_R_INVALID_KEY_USAGE); - return SAR_KeyUsageErr; - } - if ((size_t)*puiPublicKeyLen != sizeof(ECCrefPublicKey)) { - SAFerr(SAF_F_SAF_GETECCPUBLICKEY, - SAF_R_BUFFER_TOO_SMALL); - return SAR_IndataErr; - } - - /* process */ - - /* - - snprintf(key_id, sizeof(key_id), "%s.%s", (char *)pucContainerName, - SGD_GetKeyUsageName(uiKeyUsage)); - */ - - if (!(pkey = ENGINE_load_public_key(app->engine, key_id, NULL, NULL))) { - SAFerr(SAF_F_SAF_GETECCPUBLICKEY, ERR_R_ENGINE_LIB); - goto end; - } - if ((len = i2d_PUBKEY(pkey, &pucPublicKey)) <= 0) { - SAFerr(SAF_F_SAF_GETECCPUBLICKEY, ERR_R_X509_LIB); - goto end; - } - - *puiPublicKeyLen = (unsigned int)len; - - /* set return value */ - ret = SAR_Ok; - -end: - EVP_PKEY_free(pkey); - return ret; -} - -/* 7.3.25 */ -int SAF_EccSign( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiAlgorithmID, /* SGD_SM2_1 */ - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignData, - unsigned int *puiSignDataLen) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - char key_id[1024]; - EVP_PKEY *pkey = NULL; - EVP_PKEY_CTX *pctx = NULL; - size_t siglen; - - /* check arguments */ - if (!hAppHandle || !pucContainerName || !pucInData || - !pucSignData || !puiSignDataLen) { - SAFerr(SAF_F_SAF_ECCSIGN, - ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiContainerNameLen <= 0 || - uiContainerNameLen > SGD_MAX_NAME_SIZE || - strlen((char *)pucContainerName) != uiContainerNameLen) { - SAFerr(SAF_F_SAF_ECCSIGN, SAF_R_INVALID_INPUT_LENGTH); - return SAR_NameLenErr; - } - if (uiAlgorithmID != SGD_SM2_1) { - SAFerr(SAF_F_SAF_ECCSIGN, SAF_R_INVALID_ALGOR); - return SAR_AlgoTypeErr; - } - if (uiInDataLen != SM3_DIGEST_LENGTH) { - SAFerr(SAF_F_SAF_ECCSIGN, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if ((size_t)*puiSignDataLen != sizeof(ECCSignature)) { - SAFerr(SAF_F_SAF_ECCSIGN, SAF_R_BUFFER_TOO_SMALL); - return SAR_IndataErr; - } - - /* process */ - - /* - snprintf(key_id, sizeof(key_id), "%s.sign", (char *)pucContainerName); - */ - - if (!(pkey = ENGINE_load_private_key(app->engine, key_id, NULL, NULL)) - || !(pctx = EVP_PKEY_CTX_new(pkey, app->engine)) - || EVP_PKEY_sign_init(pctx) <= 0 - || EVP_PKEY_sign(pctx, pucSignData, &siglen, pucInData, (size_t)uiInDataLen) <= 0) { - SAFerr(SAF_F_SAF_ECCSIGN, ERR_R_EVP_LIB); - goto end; - } - - *puiSignDataLen = (unsigned int)siglen; - - ret = SAR_Ok; -end: - EVP_PKEY_free(pkey); - EVP_PKEY_CTX_free(pctx); - return ret; -} - -/* 7.3.26 */ -int SAF_EccVerifySign( - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned int uiAlgorithmID, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignData, - unsigned int uiSignDataLen) -{ - int ret = SAR_UnknownErr; - EVP_PKEY *pkey = NULL; - EVP_PKEY_CTX *pctx = NULL; - - /* check arguments */ - if (!pucPublicKey || !pucInData || !pucSignData) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGN, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiPublicKeyLen != sizeof(ECCrefPublicKey)) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGN, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (uiAlgorithmID != SGD_SM2_1) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGN, SAF_R_INVALID_ALGOR); - return SAR_AlgoTypeErr; - } - if (uiInDataLen != SM3_DIGEST_LENGTH) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGN, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (uiSignDataLen != sizeof(ECCSignature)) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGN, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - /* process */ - - if (!(pkey = d2i_PUBKEY(NULL, (const unsigned char **)&pucPublicKey, (long)uiPublicKeyLen)) - || !(pctx = EVP_PKEY_CTX_new(pkey, NULL)) - || EVP_PKEY_verify_init(pctx) <= 0 - || EVP_PKEY_verify(pctx, pucSignData, uiSignDataLen, pucInData, uiInDataLen) <= 0) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGN, ERR_R_EVP_LIB); - goto end; - } - - ret = SAR_Ok; -end: - EVP_PKEY_free(pkey); - EVP_PKEY_CTX_free(pctx); - return ret; -} - -/* 7.3.27 */ -int SAF_EccPublicKeyEnc( - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned int uiAlgorithmID, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = -1; - EVP_PKEY *pkey = NULL; - EVP_PKEY_CTX *pctx = NULL; - size_t outlen = *puiOutDataLen; - - /* check arguments */ - if (!pucPublicKey || !pucInData || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENC, - ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiPublicKeyLen != sizeof(ECCrefPublicKey)) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENC, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (uiAlgorithmID != SGD_SM2_3) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENC, - SAF_R_INVALID_ALGOR); - return SAR_AlgoTypeErr; - } - if (uiInDataLen <= 0 || uiInDataLen > SAF_MAX_EC_CIPHERTEXT_LENGTH) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENC, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (*puiOutDataLen != sizeof(ECCCipher)) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENC, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - /* precess */ - - if (!(pkey = d2i_PUBKEY(NULL, (const unsigned char **)&pucPublicKey, (long)uiPublicKeyLen)) - || !(pctx = EVP_PKEY_CTX_new(pkey, NULL)) - || EVP_PKEY_decrypt_init(pctx) <= 0 - || EVP_PKEY_decrypt(pctx, pucOutData, &outlen, pucInData, uiInDataLen) <= 0) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENC, ERR_R_EVP_LIB); - goto end; - } - - *puiOutDataLen = (unsigned int)outlen; - - ret = SAR_Ok; -end: - EVP_PKEY_free(pkey); - EVP_PKEY_CTX_free(pctx); - return ret; -} - -/* 7.3.28 */ -int SAF_EccPublicKeyEncByCert( - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned int uiAlgorithmID, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - X509 *x509 = NULL; - unsigned char pubkey[1024]; - unsigned char *p = pubkey; - int len; - - /* check arguments */ - if (!pucCertificate || !pucInData || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENCBYCERT, - ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiCertificateLen <= 0 || uiCertificateLen > INT_MAX) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENCBYCERT, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (uiAlgorithmID != SGD_SM2_3) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENCBYCERT, - SAF_R_INVALID_ALGOR); - return SAR_AlgoTypeErr; - } - if (uiInDataLen <= 0 || uiInDataLen > SAF_MAX_EC_CIPHERTEXT_LENGTH) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENCBYCERT, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (*puiOutDataLen != sizeof(ECCCipher)) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENCBYCERT, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - /* process */ - - if (!(x509 = d2i_X509(NULL, (const unsigned char **)&pucCertificate, (long)uiCertificateLen))) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENCBYCERT, ERR_R_X509_LIB); - goto end; - } - - if ((len = i2d_PUBKEY(X509_get0_pubkey(x509), &p)) <= 0) { - SAFerr(SAF_F_SAF_ECCPUBLICKEYENCBYCERT, ERR_R_X509_LIB); - goto end; - } - - ret = SAF_EccPublicKeyEnc( - pubkey, - (unsigned int)len, - uiAlgorithmID, - pucInData, - uiInDataLen, - pucOutData, - puiOutDataLen); - - - /* set return value */ - ret = SAR_Ok; -end: - X509_free(x509); - return ret; -} - -/* 7.3.29 */ -int SAF_EccVerifySignByCert( - unsigned int uiAlgorithmID, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignData, - unsigned int uiSignDataLen) -{ - int ret = SAR_UnknownErr; - X509 *x509 = NULL; - unsigned char pucPublicKey[1024]; - unsigned int uiPublicKeyLen; - unsigned char *p = pucPublicKey; - int len; - - /* check arguments */ - if (!pucCertificate || !pucInData || !pucSignData) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGNBYCERT, - ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiCertificateLen <= 0 || uiCertificateLen > INT_MAX) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGNBYCERT, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (uiAlgorithmID != SGD_SM2_1) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGNBYCERT, - SAF_R_INVALID_ALGOR); - return SAR_AlgoTypeErr; - } - if (uiInDataLen != SM3_DIGEST_LENGTH) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGNBYCERT, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - if (uiSignDataLen != sizeof(ECCSignature)) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGNBYCERT, - SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - /* process */ - - if (!(x509 = d2i_X509(NULL, (const unsigned char **)&pucCertificate, (long)uiCertificateLen))) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGNBYCERT, ERR_R_X509_LIB); - goto end; - } - - if ((len = i2d_PUBKEY(X509_get0_pubkey(x509), &p)) <= 0) { - SAFerr(SAF_F_SAF_ECCVERIFYSIGNBYCERT, ERR_R_X509_LIB); - goto end; - } - - uiPublicKeyLen = (unsigned int)len; - - ret = SAF_EccVerifySign( - pucPublicKey, - uiPublicKeyLen, - uiAlgorithmID, - pucInData, - uiInDataLen, - pucSignData, - uiSignDataLen); - - - /* set return value */ - ret = SAR_Ok; -end: - X509_free(x509); - return ret; -} - -/* 7.3.33 */ -int SAF_GenerateAgreementDataWithECC( - void *hSymmKeyObj, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned char *pucSponsorID, - unsigned int uiSponsorIDLength, - unsigned char *pucSponsorPublicKey, - unsigned int *puiSponsorPublicKeyLen, - unsigned char *pucSponsorTmpPublicKey, - unsigned int *puiSponsorTmpPublicKeyLen, - void **phAgreementHandle) -{ - int ret = -1; - - ret = SAR_Ok; - - return ret; -} - -/* 7.3.34 */ -int SAF_GenerateKeyWithECC( - void *phAgreementHandle, - unsigned char *pucResponseID, - unsigned int uiResponseIDLength, - unsigned char *pucResponsePublicKey, - unsigned int uiResponsePublicKeyLen, - unsigned char *pucResponseTmpPublicKey, - unsigned int uiResponseTmpPublicKeyLen, - void **phKeyHandle) -{ - int ret = -1; - - return ret; -} - -/* 7.3.35 */ -int SAF_GenerateAgreementDataAdnKeyWithECC( - void *hSymmKeyObj, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned char *pucResponseID, - unsigned int uiResponseIDLength, - unsigned char *pucSponsorID, - unsigned int uiSponsorIDLength, - unsigned char *pucSponsorPublicKey, - unsigned int *puiSponsorPublicKeyLen, - unsigned char *pucSponsorTmpPublicKey, - unsigned int *puiSponsorTmpPublicKeyLen, - unsigned char *pucResponsePublicKey, - unsigned int uiResponsePublicKeyLen, - unsigned char *pucResponseTmpPublicKey, - unsigned int uiResponseTmpPublicKeyLen, - void **phKeyHandle) -{ - int ret; - void *hAgreementHandle = NULL; - - if ((ret = SAF_GenerateAgreementDataWithECC( - hSymmKeyObj, - pucContainerName, - uiContainerNameLen, - uiKeyBits, - pucSponsorID, - uiSponsorIDLength, - pucSponsorPublicKey, - puiSponsorPublicKeyLen, - pucSponsorTmpPublicKey, - puiSponsorTmpPublicKeyLen, - &hAgreementHandle)) != SAR_OK) { - } - - if ((ret = SAF_GenerateKeyWithECC( - hAgreementHandle, - pucResponseID, - uiResponseIDLength, - pucResponsePublicKey, - uiResponsePublicKeyLen, - pucResponseTmpPublicKey, - uiResponseTmpPublicKeyLen, - phKeyHandle)) != SAR_OK) { - } - - return 0; -} - -/* GmSSL Extension */ -int SAF_EccSignFile( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiHashAlgoType, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int *puiSignatureLen) -{ - return SAR_OK; -} - -int SAF_EccVerifySignFile( - unsigned int uiHashAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int uiSignatureLen) -{ - return SAR_OK; -} diff --git a/crypto/saf/saf_enc.c b/crypto/saf/saf_enc.c deleted file mode 100644 index ccfaeabf..00000000 --- a/crypto/saf/saf_enc.c +++ /dev/null @@ -1,297 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.3.39 */ -int SAF_SymmEncryptUpdate( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - SAF_KEY *hkey = (SAF_KEY *)hKeyHandle; - int outlen; - - if (!hKeyHandle || !pucInData || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_SYMMENCRYPTUPDATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiInDataLen <= 0 || uiInDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_SYMMENCRYPTUPDATE, SAF_R_INVALID_LENGTH); - return SAR_IndataLenErr; - } - - if (!hkey->cipher_ctx) { - const EVP_CIPHER *cipher; - - - // FIXME: get ulFeedBitLen from key handle - if (!(cipher = EVP_get_cipherbysgd(hkey->hSymmKeyObj->uiCryptoAlgID, 0))) { - SAFerr(SAF_F_SAF_SYMMENCRYPTUPDATE, SAF_R_INVALID_KEY_HANDLE); - ret = SAR_IndataErr; - goto end; - } - - if (!(hkey->cipher_ctx = EVP_CIPHER_CTX_new())) { - SAFerr(SAF_F_SAF_SYMMENCRYPTUPDATE, ERR_R_MALLOC_FAILURE); - ret = SAR_MemoryErr; - goto end; - } - - if (!EVP_EncryptInit_ex(hkey->cipher_ctx, cipher, - hkey->hSymmKeyObj->app->engine, - hkey->key, hkey->hSymmKeyObj->pucIV)) { - SAFerr(SAF_F_SAF_SYMMENCRYPTUPDATE, ERR_R_EVP_LIB); - goto end; - } - } - - if (!EVP_EncryptUpdate(hkey->cipher_ctx, pucOutData, &outlen, - pucInData, (int)uiInDataLen)) { - SAFerr(SAF_F_SAF_SYMMENCRYPTUPDATE, ERR_R_EVP_LIB); - goto end; - } - - *puiOutDataLen = (unsigned int)outlen; - ret = SAR_OK; - -end: - if (ret != SAR_OK && hkey->cipher_ctx) { - EVP_CIPHER_CTX_free(hkey->cipher_ctx); - hkey->cipher_ctx = NULL; - } - return ret; -} - -/* 7.3.40 */ -int SAF_SymmEncryptFinal( - void *hKeyHandle, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - SAF_KEY *hkey = (SAF_KEY *)hKeyHandle; - int outlen; - - if (!hKeyHandle || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_SYMMENCRYPTFINAL, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!hkey->cipher_ctx) { - SAFerr(SAF_F_SAF_SYMMENCRYPTFINAL, SAF_R_ENCRYPT_NOT_INITIALIED); - return SAR_NotInitializeErr; - } - - if (!EVP_EncryptFinal_ex(hkey->cipher_ctx, pucOutData, &outlen)) { - SAFerr(SAF_F_SAF_SYMMENCRYPTFINAL, ERR_R_EVP_LIB); - goto end; - } - *puiOutDataLen = (unsigned int)outlen; - - ret = SAR_OK; -end: - EVP_CIPHER_CTX_free(hkey->cipher_ctx); - hkey->cipher_ctx = NULL; - return ret; -} - -/* 7.3.42 */ -int SAF_SymmDecryptUpdate( - void *hKeyHandle, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - SAF_KEY *hkey = (SAF_KEY *)hKeyHandle; - int outlen; - - if (!hKeyHandle || !pucInData || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_SYMMDECRYPTUPDATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiInDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_SYMMDECRYPTUPDATE, SAF_R_INVALID_LENGTH); - return SAR_IndataLenErr; - } - - if (!hkey->cipher_ctx) { - const EVP_CIPHER *cipher; - - //Get feedbitlen from keyhandle - if (!(cipher = EVP_get_cipherbysgd(hkey->hSymmKeyObj->uiCryptoAlgID, 0))) { - SAFerr(SAF_F_SAF_SYMMDECRYPTUPDATE, SAF_R_INVALID_KEY_HANDLE); - ret = SAR_IndataErr; - goto end; - } - - if (!(hkey->cipher_ctx = EVP_CIPHER_CTX_new())) { - SAFerr(SAF_F_SAF_SYMMDECRYPTUPDATE, ERR_R_MALLOC_FAILURE); - ret = SAR_MemoryErr; - goto end; - } - - if (!EVP_DecryptInit_ex(hkey->cipher_ctx, cipher, - hkey->hSymmKeyObj->app->engine, - hkey->key, hkey->hSymmKeyObj->pucIV)) { - SAFerr(SAF_F_SAF_SYMMDECRYPTUPDATE, ERR_R_EVP_LIB); - goto end; - } - } - - if (!EVP_DecryptUpdate(hkey->cipher_ctx, pucOutData, &outlen, - pucInData, (int)uiInDataLen)) { - SAFerr(SAF_F_SAF_SYMMDECRYPTUPDATE, ERR_R_EVP_LIB); - goto end; - } - - *puiOutDataLen = (unsigned int)outlen; - ret = SAR_OK; - -end: - if (ret != SAR_OK && hkey->cipher_ctx) { - EVP_CIPHER_CTX_free(hkey->cipher_ctx); - hkey->cipher_ctx = NULL; - } - return ret; -} - -/* 7.3.43 */ -int SAF_SymmDecryptFinal( - void *hKeyHandle, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - SAF_KEY *hkey = (SAF_KEY *)hKeyHandle; - int outlen; - - if (!hKeyHandle || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_SYMMDECRYPTFINAL, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!hkey->cipher_ctx) { - SAFerr(SAF_F_SAF_SYMMDECRYPTFINAL, SAF_R_DECRYPT_NOT_INITIALIZED); - return SAR_NotInitializeErr; - } - - if (!EVP_DecryptFinal_ex(hkey->cipher_ctx, pucOutData, &outlen)) { - SAFerr(SAF_F_SAF_SYMMDECRYPTFINAL, ERR_R_EVP_LIB); - goto end; - } - *puiOutDataLen = (unsigned int)outlen; - - ret = SAR_OK; - -end: - EVP_CIPHER_CTX_free(hkey->cipher_ctx); - hkey->cipher_ctx = NULL; - return ret; -} - -/* 7.3.38 */ -int SAF_SymmEncrypt( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - unsigned int len; - - if ((ret = SAF_SymmEncryptUpdate(hKeyHandle, pucInData, uiInDataLen, - pucOutData, puiOutDataLen)) != SAR_OK) { - return ret; - } - - if ((ret = SAF_SymmEncryptFinal(hKeyHandle, - pucOutData + *puiOutDataLen, &len)) != SAR_OK) { - return ret; - } - *puiOutDataLen += len; - - return SAR_OK; -} - -/* 7.3.41 */ -int SAF_SymmDecrypt( - void *hKeyHandle, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - unsigned int len; - - if ((ret = SAF_SymmDecryptUpdate(hKeyHandle, pucInData, uiInDataLen, - pucOutData, puiOutDataLen)) != SAR_OK) { - return ret; - } - - if ((ret = SAF_SymmDecryptFinal(hKeyHandle, - pucOutData + *puiOutDataLen, &len)) != SAR_OK) { - return ret; - } - *puiOutDataLen += len; - - return SAR_OK; -} diff --git a/crypto/saf/saf_err.c b/crypto/saf/saf_err.c deleted file mode 100644 index b4710882..00000000 --- a/crypto/saf/saf_err.c +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * 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 - */ - -#include -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_SAF,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_SAF,0,reason) - -static ERR_STRING_DATA SAF_str_functs[] = { - {ERR_FUNC(SAF_F_SAF_ADDCACERTIFICATE), "SAF_AddCaCertificate"}, - {ERR_FUNC(SAF_F_SAF_ADDTRUSTEDROOTCACERTIFICATE), - "SAF_AddTrustedRootCaCertificate"}, - {ERR_FUNC(SAF_F_SAF_BASE64_CREATEBASE64OBJ), - "SAF_Base64_CreateBase64Obj"}, - {ERR_FUNC(SAF_F_SAF_BASE64_DECODE), "SAF_Base64_Decode"}, - {ERR_FUNC(SAF_F_SAF_BASE64_DECODEFINAL), "SAF_Base64_DecodeFinal"}, - {ERR_FUNC(SAF_F_SAF_BASE64_DECODEUPDATE), "SAF_Base64_DecodeUpdate"}, - {ERR_FUNC(SAF_F_SAF_BASE64_ENCODE), "SAF_Base64_Encode"}, - {ERR_FUNC(SAF_F_SAF_BASE64_ENCODEFINAL), "SAF_Base64_EncodeFinal"}, - {ERR_FUNC(SAF_F_SAF_BASE64_ENCODEUPDATE), "SAF_Base64_EncodeUpdate"}, - {ERR_FUNC(SAF_F_SAF_CHANGEPIN), "SAF_ChangePin"}, - {ERR_FUNC(SAF_F_SAF_CREATEHASHOBJ), "SAF_CreateHashObj"}, - {ERR_FUNC(SAF_F_SAF_CREATESYMMKEYOBJ), "SAF_CreateSymmKeyObj"}, - {ERR_FUNC(SAF_F_SAF_DESTROYHASHOBJ), "SAF_DestroyHashObj"}, - {ERR_FUNC(SAF_F_SAF_ECCPUBLICKEYENC), "SAF_EccPublicKeyEnc"}, - {ERR_FUNC(SAF_F_SAF_ECCPUBLICKEYENCBYCERT), "SAF_EccPublicKeyEncByCert"}, - {ERR_FUNC(SAF_F_SAF_ECCSIGN), "SAF_EccSign"}, - {ERR_FUNC(SAF_F_SAF_ECCVERIFYSIGN), "SAF_EccVerifySign"}, - {ERR_FUNC(SAF_F_SAF_ECCVERIFYSIGNBYCERT), "SAF_EccVerifySignByCert"}, - {ERR_FUNC(SAF_F_SAF_GENECCKEYPAIR), "SAF_GenEccKeyPair"}, - {ERR_FUNC(SAF_F_SAF_GENERATEKEYWITHEPK), "SAF_GenerateKeyWithEPK"}, - {ERR_FUNC(SAF_F_SAF_GENRANDOM), "SAF_GenRandom"}, - {ERR_FUNC(SAF_F_SAF_GENRSAKEYPAIR), "SAF_GenRsaKeyPair"}, - {ERR_FUNC(SAF_F_SAF_GETCACERTIFICATE), "SAF_GetCaCertificate"}, - {ERR_FUNC(SAF_F_SAF_GETCACERTIFICATECOUNT), "SAF_GetCaCertificateCount"}, - {ERR_FUNC(SAF_F_SAF_GETECCPUBLICKEY), "SAF_GetEccPublicKey"}, - {ERR_FUNC(SAF_F_SAF_GETROOTCACERTIFICATE), "SAF_GetRootCaCertificate"}, - {ERR_FUNC(SAF_F_SAF_GETROOTCACERTIFICATECOUNT), - "SAF_GetRootCaCertificateCount"}, - {ERR_FUNC(SAF_F_SAF_GETRSAPUBLICKEY), "SAF_GetRsaPublicKey"}, - {ERR_FUNC(SAF_F_SAF_GETVERSION), "SAF_GetVersion"}, - {ERR_FUNC(SAF_F_SAF_HASH), "SAF_Hash"}, - {ERR_FUNC(SAF_F_SAF_HASHFINAL), "SAF_HashFinal"}, - {ERR_FUNC(SAF_F_SAF_HASHUPDATE), "SAF_HashUpdate"}, - {ERR_FUNC(SAF_F_SAF_INITIALIZE), "SAF_Initialize"}, - {ERR_FUNC(SAF_F_SAF_KEY_NEW), "SAF_KEY_new"}, - {ERR_FUNC(SAF_F_SAF_LOAD_PRIVATE_KEY), "SAF_load_private_key"}, - {ERR_FUNC(SAF_F_SAF_LOAD_PUBLIC_KEY), "SAF_load_public_key"}, - {ERR_FUNC(SAF_F_SAF_LOGIN), "SAF_Login"}, - {ERR_FUNC(SAF_F_SAF_LOGOUT), "SAF_Logout"}, - {ERR_FUNC(SAF_F_SAF_MACFINAL), "SAF_MacFinal"}, - {ERR_FUNC(SAF_F_SAF_MACUPDATE), "SAF_MacUpdate"}, - {ERR_FUNC(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA), - "SAF_Pkcs7_DecodeDigestedData"}, - {ERR_FUNC(SAF_F_SAF_PKCS7_DECODEENVELOPEDDATA), - "SAF_Pkcs7_DecodeEnvelopedData"}, - {ERR_FUNC(SAF_F_SAF_PKCS7_DECODESIGNEDDATA), - "SAF_Pkcs7_DecodeSignedData"}, - {ERR_FUNC(SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA), - "SAF_Pkcs7_EncodeDigestedData"}, - {ERR_FUNC(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA), - "SAF_Pkcs7_EncodeEnvelopedData"}, - {ERR_FUNC(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA), - "SAF_Pkcs7_EncodeSignedData"}, - {ERR_FUNC(SAF_F_SAF_REMOVECACERTIFICATE), "SAF_RemoveCaCertificate"}, - {ERR_FUNC(SAF_F_SAF_REMOVEROOTCACERTIFICATE), - "SAF_RemoveRootCaCertificate"}, - {ERR_FUNC(SAF_F_SAF_RSASIGN), "SAF_RsaSign"}, - {ERR_FUNC(SAF_F_SAF_RSAVERIFYSIGN), "SAF_RsaVerifySign"}, - {ERR_FUNC(SAF_F_SAF_SYMMDECRYPTFINAL), "SAF_SymmDecryptFinal"}, - {ERR_FUNC(SAF_F_SAF_SYMMDECRYPTUPDATE), "SAF_SymmDecryptUpdate"}, - {ERR_FUNC(SAF_F_SAF_SYMMENCRYPTFINAL), "SAF_SymmEncryptFinal"}, - {ERR_FUNC(SAF_F_SAF_SYMMENCRYPTUPDATE), "SAF_SymmEncryptUpdate"}, - {ERR_FUNC(SAF_F_SAF_SYMMKEYOBJ_DUP), "SAF_SYMMKEYOBJ_dup"}, - {ERR_FUNC(SAF_F_SAF_VERIFYSIGNBYCERT), "SAF_VerifySignByCert"}, - {0, NULL} -}; - -static ERR_STRING_DATA SAF_str_reasons[] = { - {ERR_REASON(SAF_R_BUFFER_TOO_SMALL), "buffer too small"}, - {ERR_REASON(SAF_R_CMAC_FAILURE), "cmac failure"}, - {ERR_REASON(SAF_R_DECRYPT_NOT_INITIALIZED), "decrypt not initialized"}, - {ERR_REASON(SAF_R_ENCRYPT_KEY_FAILURE), "encrypt key failure"}, - {ERR_REASON(SAF_R_ENCRYPT_NOT_INITIALIED), "encrypt not initialied"}, - {ERR_REASON(SAF_R_GEN_RANDOM_FAILURE), "gen random failure"}, - {ERR_REASON(SAF_R_INT_OVERFLOW), "int overflow"}, - {ERR_REASON(SAF_R_INVALID_ALGOR), "invalid algor"}, - {ERR_REASON(SAF_R_INVALID_APP), "invalid app"}, - {ERR_REASON(SAF_R_INVALID_CERTIFICATE), "invalid certificate"}, - {ERR_REASON(SAF_R_INVALID_DIGEST_ALGOR), "invalid digest algor"}, - {ERR_REASON(SAF_R_INVALID_HANDLE), "invalid handle"}, - {ERR_REASON(SAF_R_INVALID_INDEX), "invalid index"}, - {ERR_REASON(SAF_R_INVALID_INPUT_LENGTH), "invalid input length"}, - {ERR_REASON(SAF_R_INVALID_KEY_HANDLE), "invalid key handle"}, - {ERR_REASON(SAF_R_INVALID_KEY_LENGTH), "invalid key length"}, - {ERR_REASON(SAF_R_INVALID_KEY_USAGE), "invalid key usage"}, - {ERR_REASON(SAF_R_INVALID_LENGTH), "invalid length"}, - {ERR_REASON(SAF_R_INVALID_PKCS7), "invalid pkcs7"}, - {ERR_REASON(SAF_R_INVALID_PKCS7_DATA), "invalid pkcs7 data"}, - {ERR_REASON(SAF_R_INVALID_PKCS7_TYPE), "invalid pkcs7 type"}, - {ERR_REASON(SAF_R_INVALID_PKEY_TYPE), "invalid pkey type"}, - {ERR_REASON(SAF_R_INVALID_PUBLIC_KEY), "invalid public key"}, - {ERR_REASON(SAF_R_LOA), "loa"}, - {ERR_REASON(SAF_R_LOAD_CERTS_FAILURE), "load certs failure"}, - {ERR_REASON(SAF_R_LOAD_KEY_FAILURE), "load key failure"}, - {ERR_REASON(SAF_R_LOAD_PRIVATE_KEY_FAILURE), "load private key failure"}, - {ERR_REASON(SAF_R_LOAD_PUBLIC_KEY_FAILURE), "load public key failure"}, - {ERR_REASON(SAF_R_MAC_FAILURE), "mac failure"}, - {ERR_REASON(SAF_R_NOT_SUPPORTED), "not supported"}, - {ERR_REASON(SAF_R_OPERATION_NOT_INITIALIZED), - "operation not initialized"}, - {ERR_REASON(SAF_R_PKCS7_VERIFY_FAILURE), "pkcs7 verify failure"}, - {ERR_REASON(SAF_R_UNSUPPORTED_ALGOR), "unsupported algor"}, - {ERR_REASON(SAF_R_UNSUPPORTED_DIGEST_ALGOR), "unsupported digest algor"}, - {0, NULL} -}; - -#endif - -int ERR_load_SAF_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(SAF_str_functs[0].error) == NULL) { - ERR_load_strings(0, SAF_str_functs); - ERR_load_strings(0, SAF_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/saf/saf_errstr.c b/crypto/saf/saf_errstr.c deleted file mode 100644 index d72d69de..00000000 --- a/crypto/saf/saf_errstr.c +++ /dev/null @@ -1,105 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include "../../e_os.h" - -static ERR_STRING_DATA saf_errstr[] = { - { SAR_Ok, "Success" }, - { SAR_UnknownErr, "Unknown error" }, - { SAR_NotSupportYetErr, "Not supported yet error" }, - { SAR_FileErr, "File error" }, - { SAR_ProviderTypeErr, "Provider type error" }, - { SAR_LoadProviderErr, "Load provider error" }, - { SAR_LoadDevMngApiErr, "Load Device management API error" }, - { SAR_AlgoTypeErr, "Algorithm type error" }, - { SAR_NameLenErr, "Name length error" }, - { SAR_KeyUsageErr, "Key usage error" }, - { SAR_ModulusLenErr, "Modulus length error" }, - { SAR_NotInitializeErr, "Not initialized error" }, - { SAR_ObjErr, "Object error" }, - { SAR_MemoryErr, "Memory error" }, - { SAR_TimeoutErr, "Timeout error" }, - { SAR_IndataLenErr, "Input data length error" }, - { SAR_IndataErr, "Input data error" }, - { SAR_GenRandErr, "Generate random error" }, - { SAR_HashObjErr, "Hash object error" }, - { SAR_HashErr, "Hash error" }, - { SAR_GenRsaKeyErr, "Generate RSA key error" }, - { SAR_RsaModulusLenErr, "RSA modulus length error" }, - { SAR_CspImportPubKeyErr,"CSP import public key error" }, - { SAR_RsaEncErr, "RSA encryption error" }, - { SAR_RsaDecErr, "RSA decryption error" }, - { SAR_HashNotEqualErr, "Hash not equal error" }, - { SAR_KeyNotFoundErr, "Key not found error" }, - { SAR_CertNotFoundErr, "Certificate not found error" }, - { SAR_NotExportErr, "Non-exportable error" }, - { SAR_CertRevokedErr, "Certificate revoked error" }, - { SAR_CertNotYetValidErr,"Certificate not yet valid error" }, - { SAR_CerthashExpiredErr,"Certificate hash expirted error" }, - { SAR_CertVerifyErr, "Certificate verification error" }, - { SAR_CertEncodeErr, "Certificate encoding error" }, - { SAR_DecryptPadErr, "Decryption padding error" }, - { SAR_MacLenErr, "MAC length error" }, - { SAR_KeyInfoTypeErr, "Key information type error" }, - { SAR_NotLogin, "Not login" }, -}; - -const char *SAF_GetErrorString(int err) -{ - int i; - for (i = 0; i < OSSL_NELEM(saf_errstr); i++) { - if (err == saf_errstr[i].error) { - return saf_errstr[i].string; - } - } - return "(undef)"; -} - diff --git a/crypto/saf/saf_hash.c b/crypto/saf/saf_hash.c deleted file mode 100644 index c353e325..00000000 --- a/crypto/saf/saf_hash.c +++ /dev/null @@ -1,258 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.3.12 */ -int SAF_CreateHashObj(void **phHashObj, - unsigned int uiAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucID, - unsigned int uiIDLen) -{ - int ret = SAR_UnknownErr; - const EVP_MD *md; - EVP_MD_CTX *ctx = NULL; - EVP_PKEY *pkey = NULL; - - if (!phHashObj) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!(md = EVP_get_digestbysgd(uiAlgoType))) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, SAF_R_INVALID_ALGOR); - return SAR_AlgoTypeErr; - } - - if (!(ctx = EVP_MD_CTX_new())) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, ERR_R_MALLOC_FAILURE); - goto end; - } - - /* limitation of the SAF hashing: - * can not specify an engine, only use the default implementation - */ - if (!EVP_DigestInit_ex(ctx, md, NULL)) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, ERR_R_EVP_LIB); - goto end; - } - - if (pucPublicKey) { - unsigned char dgst[EVP_MAX_MD_SIZE]; - size_t dgstlen = sizeof(dgst); - - if (!pucID) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, ERR_R_PASSED_NULL_PARAMETER); - ret = SAR_IndataErr; - goto end; - } - - if (uiIDLen <= 0 || uiIDLen > SM2_MAX_ID_LENGTH - || strlen((char *)pucID) != uiIDLen - || uiPublicKeyLen <= 0 || uiPublicKeyLen > INT_MAX) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, SAF_R_INVALID_INPUT_LENGTH); - ret = SAR_IndataLenErr; - goto end; - } - - if (!(pkey = d2i_PUBKEY(NULL, (const unsigned char **)&pucPublicKey, (long)uiPublicKeyLen)) - || EVP_PKEY_base_id(pkey) != EVP_PKEY_EC) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, SAF_R_INVALID_PUBLIC_KEY); - ret = SAR_IndataErr; - goto end; - } - - if (!SM2_compute_id_digest(md, (char *)pucID, uiIDLen, dgst, &dgstlen, - EVP_PKEY_get0_EC_KEY(pkey))) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, ERR_R_EC_LIB); - goto end; - } - - if (!EVP_DigestUpdate(ctx, dgst, dgstlen)) { - SAFerr(SAF_F_SAF_CREATEHASHOBJ, ERR_R_EVP_LIB); - goto end; - } - } - - *phHashObj = ctx; - ctx = NULL; - - ret = SAR_Ok; - -end: - if (ret != SAR_Ok) { - *phHashObj = NULL; - } - EVP_MD_CTX_free(ctx); - EVP_PKEY_free(pkey); - return ret; -} - -/* 7.3.13 */ -int SAF_DestroyHashObj( - void *phHashObj) -{ - if (!phHashObj) { - SAFerr(SAF_F_SAF_DESTROYHASHOBJ, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - EVP_MD_CTX_free((EVP_MD_CTX *)phHashObj); - return SAR_Ok; -} - -/* 7.3.14 */ -int SAF_HashUpdate( - void *phHashObj, - const unsigned char *pucInData, - unsigned int uiInDataLen) -{ - if (!phHashObj || pucInData) { - SAFerr(SAF_F_SAF_HASHUPDATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiInDataLen <= 0 || uiInDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_HASHUPDATE, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!EVP_DigestUpdate((EVP_MD_CTX *)phHashObj, pucInData, uiInDataLen)) { - SAFerr(SAF_F_SAF_HASHUPDATE, ERR_R_EVP_LIB); - return SAR_HashErr; - } - - return SAR_Ok; -} - -/* 7.3.15 */ -int SAF_HashFinal(void *phHashObj, - unsigned char *pucOutData, - unsigned int *uiOutDataLen) -{ - if (!phHashObj || !pucOutData || !uiOutDataLen) { - SAFerr(SAF_F_SAF_HASHFINAL, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (*uiOutDataLen < EVP_MAX_MD_SIZE) { - SAFerr(SAF_F_SAF_HASHFINAL, SAF_R_BUFFER_TOO_SMALL); - return SAR_IndataLenErr; - } - - if (!EVP_DigestFinal_ex((EVP_MD_CTX *)phHashObj, pucOutData, uiOutDataLen)) { - SAFerr(SAF_F_SAF_HASHFINAL, ERR_R_EVP_LIB); - return SAR_HashErr; - } - - return SAR_Ok; -} - -/* 7.3.11 */ -int SAF_Hash( - unsigned int uiAlgoType, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pubID, - unsigned int uiIDLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret; - void *hHashObj = NULL; - - if ((ret = SAF_CreateHashObj( - &hHashObj, - uiAlgoType, - pucPublicKey, - uiPublicKeyLen, - pubID, - uiIDLen)) != SAR_Ok) { - SAFerr(SAF_F_SAF_HASH, ERR_R_SAF_LIB); - return ret; - } - - if ((ret = SAF_HashUpdate( - hHashObj, - pucInData, - uiInDataLen)) != SAR_Ok) { - SAFerr(SAF_F_SAF_HASH, ERR_R_SAF_LIB); - goto err; - } - - if ((ret = SAF_HashFinal( - hHashObj, - pucOutData, - puiOutDataLen)) != SAR_Ok) { - SAFerr(SAF_F_SAF_HASH, ERR_R_SAF_LIB); - goto err; - } - - if ((ret = SAF_DestroyHashObj( - hHashObj)) != SAR_Ok) { - SAFerr(SAF_F_SAF_HASH, ERR_R_SAF_LIB); - return ret; - } - - return SAR_Ok; - -err: - /* keep the first error */ - (void)SAF_DestroyHashObj(hHashObj); - return ret; -} diff --git a/crypto/saf/saf_keyhandle.c b/crypto/saf/saf_keyhandle.c deleted file mode 100644 index d2d5eb1a..00000000 --- a/crypto/saf/saf_keyhandle.c +++ /dev/null @@ -1,229 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.3.31 */ -int SAF_GenerateKeyWithEPK( - void *hSymmKeyObj, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucSymmKey, - unsigned int *puiSymmKeyLen, - void **phKeyHandle) -{ - int ret = SAR_UnknownErr; - SAF_KEY *hkey = NULL; - SAF_SYMMKEYOBJ *obj = (SAF_SYMMKEYOBJ *)hSymmKeyObj; - const EVP_CIPHER *cipher; - unsigned char keybuf[32]; - EVP_PKEY *pkey = NULL; - EVP_PKEY_CTX *pkctx = NULL; - size_t outlen; - - if (!hSymmKeyObj || !pucPublicKey || !pucSymmKey - || !puiSymmKeyLen || !phKeyHandle) { - SAFerr(SAF_F_SAF_GENERATEKEYWITHEPK, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiPublicKeyLen <= 0 || uiPublicKeyLen > INT_MAX) { - SAFerr(SAF_F_SAF_GENERATEKEYWITHEPK, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - outlen = (size_t)*puiSymmKeyLen; - if (!(cipher = EVP_get_cipherbysgd(obj->uiCryptoAlgID, 0)) //fixme: feedbitlen - || !RAND_bytes(keybuf, EVP_CIPHER_key_length(cipher)) - || !(pkey = d2i_PUBKEY(NULL, (const unsigned char **)&pucPublicKey, (long)uiPublicKeyLen)) - || !(pkctx = EVP_PKEY_CTX_new(pkey, NULL)) - || !EVP_PKEY_encrypt_init(pkctx) - || !EVP_PKEY_encrypt(pkctx, pucSymmKey, &outlen, keybuf, (size_t)EVP_CIPHER_key_length(cipher))) { - SAFerr(SAF_F_SAF_GENERATEKEYWITHEPK, SAF_R_ENCRYPT_KEY_FAILURE); - goto end; - } - - // init EVP_CIPHER_CTX - if (!(hkey = OPENSSL_zalloc(sizeof(*hkey)))) { - SAFerr(SAF_F_SAF_GENERATEKEYWITHEPK, ERR_R_MALLOC_FAILURE); - goto end; - } - - *puiSymmKeyLen = (unsigned int)outlen; - ret = SAR_Ok; - -end: - EVP_PKEY_free(pkey); - EVP_PKEY_CTX_free(pkctx); - return ret; -} - -/* - 65 typedef struct { - 66 SAF_APP *app; - 67 unsigned char *pucContainerName; - 68 unsigned int uiContainerLen; - 69 unsigned char *pucIV; - 70 unsigned int uiIVLen; - 71 unsigned int uiEncOrDec; - 72 unsigned int uiCryptoAlgID; - 73 } SAF_SYMMKEYOBJ; - 74 - 75 typedef struct { - 76 SAF_SYMMKEYOBJ *hSymmKeyObj; - 77 unsigned char key[64]; - 78 int keylen; - 79 EVP_CIPHER_CTX *cipher_ctx; - 80 CMAC_CTX *cmac_ctx; - 81 } SAF_KEY; -*/ - -SAF_KEY *SAF_KEY_new(const SAF_SYMMKEYOBJ *hSymmKeyObj) -{ - SAF_KEY *ret = NULL; - SAF_KEY *key = NULL; - - if (!(key = OPENSSL_zalloc(sizeof(*key))) - || !(key->hSymmKeyObj = SAF_SYMMKEYOBJ_dup(hSymmKeyObj))) { - SAFerr(SAF_F_SAF_KEY_NEW, ERR_R_MALLOC_FAILURE); - goto end; - } - - ret = key; - key = NULL; - -end: - SAF_KEY_free(key); - return ret; -} - -void SAF_KEY_free(SAF_KEY *key) -{ - if (key) { - SAF_SYMMKEYOBJ_free(key->hSymmKeyObj); - } - OPENSSL_clear_free(key, sizeof(*key)); -} - -SAF_SYMMKEYOBJ *SAF_SYMMKEYOBJ_dup(const SAF_SYMMKEYOBJ *a) -{ - SAF_SYMMKEYOBJ *ret = NULL; - SAF_SYMMKEYOBJ *obj = NULL; - - if (!(obj = OPENSSL_zalloc(sizeof(*obj))) - || !(obj->pucContainerName = OPENSSL_memdup(a->pucContainerName, a->uiContainerLen)) - || !(obj->pucIV = OPENSSL_memdup(a->pucIV, a->uiIVLen))) { - SAFerr(SAF_F_SAF_SYMMKEYOBJ_DUP, ERR_R_MALLOC_FAILURE); - goto end; - } - - obj->uiContainerLen = a->uiContainerLen; - obj->uiIVLen = a->uiIVLen; - obj->uiEncOrDec = a->uiEncOrDec; - obj->uiCryptoAlgID = a->uiCryptoAlgID; - - ret = obj; - obj = NULL; - -end: - SAF_SYMMKEYOBJ_free(obj); - return ret; -} - -void SAF_SYMMKEYOBJ_free(SAF_SYMMKEYOBJ *obj) -{ - if (obj) { - OPENSSL_free(obj->pucContainerName); - OPENSSL_free(obj->pucIV); - OPENSSL_free(obj); - } -} - -/* 7.3.32 */ -int SAF_ImportEncedKey( - void *hSymmKeyObj, - unsigned char *pucSymmKey, - unsigned int uiSymmKeyLen, - void **phKeyHandle) -{ - SAF_KEY *hkey = NULL; - SAF_SYMMKEYOBJ *hobj = (SAF_SYMMKEYOBJ *)hSymmKeyObj; - EVP_PKEY *pkey = NULL; - EVP_PKEY_CTX *pctx = NULL; - char key_id[1024]; - - /* - snprintf(key_id, sizeof(key_id), "%s.enc", hobj->pucContainerName); - */ - - if (!(pkey = ENGINE_load_private_key(hobj->app->engine, key_id, NULL, NULL)) - || !(pctx = EVP_PKEY_CTX_new(pkey, hobj->app->engine)) - || EVP_PKEY_decrypt_init(pctx) <= 0 - || EVP_PKEY_decrypt(pctx, hkey->key, &hkey->keylen, pucSymmKey, uiSymmKeyLen) <= 0) { - goto end; - } - -end: - return 0; -} - -/* 7.3.37 */ -int SAF_DestroyKeyHandle( - void *hKeyHandle) -{ - SAF_KEY *hkey = (SAF_KEY *)hKeyHandle; - OPENSSL_clear_free(hkey, hkey->keylen); - return SAR_OK; -} diff --git a/crypto/saf/saf_lcl.h b/crypto/saf/saf_lcl.h deleted file mode 100644 index da2c5594..00000000 --- a/crypto/saf/saf_lcl.h +++ /dev/null @@ -1,95 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include - -typedef struct saf_app_st { - ENGINE *engine; - char *rootcacerts; - char *cacerts; -} SAF_APP; - -typedef struct { - EVP_ENCODE_CTX *ctx; - int inited; -} SAF_BASE64OBJ; - -typedef struct { - SAF_APP *app; - unsigned char *pucContainerName; - unsigned int uiContainerLen; - unsigned char *pucIV; - unsigned int uiIVLen; - unsigned int uiEncOrDec; - unsigned int uiCryptoAlgID; -} SAF_SYMMKEYOBJ; - -typedef struct { - SAF_SYMMKEYOBJ *hSymmKeyObj; - unsigned char key[64]; - size_t keylen; - EVP_CIPHER_CTX *cipher_ctx; - CMAC_CTX *cmac_ctx; -} SAF_KEY; - -SAF_KEY *SAF_KEY_new(const SAF_SYMMKEYOBJ *obj); -void SAF_KEY_free(SAF_KEY *key); - -SAF_SYMMKEYOBJ *SAF_SYMMKEYOBJ_dup(const SAF_SYMMKEYOBJ *a); -void SAF_SYMMKEYOBJ_free(SAF_SYMMKEYOBJ *a); - - -EVP_PKEY *SAF_load_private_key(SAF_APP *app, const char *container, int flags); -EVP_PKEY *SAF_load_public_key(SAF_APP *app, const char *container, int flags); - diff --git a/crypto/saf/saf_lib.c b/crypto/saf/saf_lib.c deleted file mode 100644 index 6e9f8c22..00000000 --- a/crypto/saf/saf_lib.c +++ /dev/null @@ -1,121 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include "saf_lcl.h" - - -EVP_PKEY *SAF_load_private_key(SAF_APP *app, const char *container, int flags) -{ - EVP_PKEY *ret = NULL; - EVP_PKEY *pkey = NULL; - char key_id[1024]; - - if (!app->engine) { - SAFerr(SAF_F_SAF_LOAD_PRIVATE_KEY, SAF_R_INVALID_APP); - return NULL; - } - - /* - snprintf(key_id, sizeof(key_id), "%s.%s", container, - ((flags & EVP_PKT_SIGN) ? "sign" : "enc")); - */ - - if (!(pkey = ENGINE_load_private_key(app->engine, key_id, NULL, NULL))) { - SAFerr(SAF_F_SAF_LOAD_PRIVATE_KEY, SAF_R_LOAD_PRIVATE_KEY_FAILURE); - goto end; - } - - if (EVP_PKEY_base_id(pkey) != - ((flags & EVP_PK_EC) ? EVP_PKEY_EC : EVP_PKEY_RSA)) { - SAFerr(SAF_F_SAF_LOAD_PRIVATE_KEY, SAF_R_INVALID_PKEY_TYPE); - goto end; - } - - ret = pkey; - pkey = NULL; -end: - EVP_PKEY_free(pkey); - return ret; -} - -EVP_PKEY *SAF_load_public_key(SAF_APP *app, const char *container, int flags) -{ - EVP_PKEY *ret = NULL; - EVP_PKEY *pkey = NULL; - char key_id[1024]; - - if (!app->engine) { - SAFerr(SAF_F_SAF_LOAD_PUBLIC_KEY, SAF_R_INVALID_APP); - return NULL; - } - - /* - snprintf(key_id, sizeof(key_id), "%s.%s", container, - ((flags & EVP_PKT_SIGN) ? "sign" : "enc")); - */ - - if (!(pkey = ENGINE_load_public_key(app->engine, key_id, NULL, NULL))) { - SAFerr(SAF_F_SAF_LOAD_PUBLIC_KEY, SAF_R_LOAD_PUBLIC_KEY_FAILURE); - goto end; - } - - if (EVP_PKEY_base_id(pkey) != - ((flags & EVP_PK_EC) ? EVP_PKEY_EC : EVP_PKEY_RSA)) { - SAFerr(SAF_F_SAF_LOAD_PUBLIC_KEY, SAF_R_INVALID_PKEY_TYPE); - goto end; - } - - ret = pkey; - pkey = NULL; -end: - EVP_PKEY_free(pkey); - return ret; -} diff --git a/crypto/saf/saf_mac.c b/crypto/saf/saf_mac.c deleted file mode 100644 index 4d4061aa..00000000 --- a/crypto/saf/saf_mac.c +++ /dev/null @@ -1,167 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.3.45 */ -int SAF_MacUpdate( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen) -{ - int ret = SAR_UnknownErr; - SAF_KEY *hkey = (SAF_KEY *)hKeyHandle; - - if (!hKeyHandle || !pucInData) { - SAFerr(SAF_F_SAF_MACUPDATE, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiInDataLen <= 0 || uiInDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_MACUPDATE, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!hkey->cmac_ctx) { - const EVP_CIPHER *cipher; - - //Fixme: feedbitlen - if (!(cipher = EVP_get_cipherbysgd(hkey->hSymmKeyObj->uiCryptoAlgID, 0))) { - SAFerr(SAF_F_SAF_MACUPDATE, SAF_R_INVALID_KEY_HANDLE); - ret = SAR_IndataErr; - goto end; - } - - if (!(hkey->cmac_ctx = CMAC_CTX_new())) { - SAFerr(SAF_F_SAF_MACUPDATE, ERR_R_MALLOC_FAILURE); - goto end; - } - - if (!CMAC_Init(hkey->cmac_ctx, hkey->key, hkey->keylen, cipher, - hkey->hSymmKeyObj->app->engine)) { - SAFerr(SAF_F_SAF_MACUPDATE, SAF_R_CMAC_FAILURE); - goto end; - } - } - - if (!CMAC_Update(hkey->cmac_ctx, pucInData, uiInDataLen)) { - SAFerr(SAF_F_SAF_MACUPDATE, SAF_R_CMAC_FAILURE); - return SAR_UnknownErr; - } - - ret = SAR_OK; - -end: - if (ret != SAR_OK && hkey->cmac_ctx) { - CMAC_CTX_free(hkey->cmac_ctx); - hkey->cmac_ctx = NULL; - } - return ret; -} - -/* 7.3.46 */ -int SAF_MacFinal( - void *hKeyHandle, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret = SAR_UnknownErr; - SAF_KEY *hkey = (SAF_KEY *)hKeyHandle; - size_t outlen = *puiOutDataLen; - - if (!hKeyHandle || !pucOutData || !puiOutDataLen) { - SAFerr(SAF_F_SAF_MACFINAL, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (*puiOutDataLen < EVP_MAX_MD_SIZE) { - SAFerr(SAF_F_SAF_MACFINAL, SAF_R_BUFFER_TOO_SMALL); - return SAR_IndataLenErr; - } - - if (!hkey->cmac_ctx) { - SAFerr(SAF_F_SAF_MACFINAL, SAF_R_OPERATION_NOT_INITIALIZED); - return SAR_UnknownErr; - } - - if (!CMAC_Final(hkey->cmac_ctx, pucOutData, &outlen)) { - SAFerr(SAF_F_SAF_MACFINAL, SAF_R_MAC_FAILURE); - goto end; - } - - *puiOutDataLen = (unsigned int)outlen; - ret = SAR_Ok; - -end: - CMAC_CTX_free(hkey->cmac_ctx); - hkey->cmac_ctx = NULL; - return ret; -} - -/* 7.4.44 */ -int SAF_Mac( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen) -{ - int ret; - if ((ret = SAF_MacUpdate(hKeyHandle, pucInData, uiInDataLen)) != SAR_OK) { - return ret; - } - if ((ret = SAF_MacFinal(hKeyHandle, pucOutData, puiOutDataLen)) != SAR_OK) { - return ret; - } - return SAR_OK; -} diff --git a/crypto/saf/saf_pkcs7.c b/crypto/saf/saf_pkcs7.c deleted file mode 100644 index 4a844971..00000000 --- a/crypto/saf/saf_pkcs7.c +++ /dev/null @@ -1,634 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.4.2 */ -int SAF_Pkcs7_EncodeData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerP7Data, - unsigned int *puiDerP7DataLen) -{ - int ret = SAR_UnknownErr; - return ret; -} - -/* 7.4.3 */ -int SAF_Pkcs7_DecodeData( - void *hAppHandle, - unsigned char *pucDecContainerName, - unsigned int uiDecContainerNameLen, - unsigned char *pucDerP7Data, - unsigned int uiDerP7DataLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned int *puiDigestAlgorithm) -{ - int ret = SAR_UnknownErr; - return ret; -} - -/* 7.4.4 */ -int SAF_Pkcs7_EncodeSignedData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned int uiSignKeyUsage, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerP7Data, - unsigned int *puiDerP7DataLen) -{ - int ret = SAR_UnknownErr; - SAF_APP *app = (SAF_APP *)hAppHandle; - PKCS7 *p7 = NULL; - EVP_PKEY *pkey = NULL; - X509 *x509 = NULL; - BIO *data = NULL; - int len; - - if (!hAppHandle || !pucSignContainerName || !pucSignerCertificate - || !pucData || !pucDerP7Data || !puiDerP7DataLen) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiSignContainerNameLen <= 0 || uiSignContainerNameLen > INT_MAX - || strlen((char *)pucSignContainerName) != uiSignContainerNameLen - || uiSignerCertificateLen <= 0 || uiSignerCertificateLen > INT_MAX - || uiDataLen <= 0 || uiDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!(pkey = SAF_load_private_key(app, (char *)pucSignContainerName, - EVP_PK_EC|EVP_PKT_SIGN))) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, SAF_R_LOAD_KEY_FAILURE); - goto end; - } - - if (!(x509 = d2i_X509(NULL, (const unsigned char **)&pucSignerCertificate, - uiSignerCertificateLen))) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, ERR_R_X509_LIB); - goto end; - } - - if (!(data = BIO_new_mem_buf(pucData, uiDataLen))) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, ERR_R_BIO_LIB); - goto end; - } - - if (!(p7 = PKCS7_sign(x509, pkey, NULL, data, PKCS7_BINARY))) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, ERR_R_PKCS7_LIB); - goto end; - } - - if (*puiDerP7DataLen < i2d_PKCS7(p7, NULL)) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, SAF_R_BUFFER_TOO_SMALL); - ret = SAR_IndataLenErr; - goto end; - } - - if ((len = i2d_PKCS7(p7, &pucDerP7Data)) <= 0) { - SAFerr(SAF_F_SAF_PKCS7_ENCODESIGNEDDATA, ERR_R_PKCS7_LIB); - goto end; - } - - *puiDerP7DataLen = len; - ret = SAR_Ok; - -end: - PKCS7_free(p7); - X509_free(x509); - BIO_free(data); - return ret; -} - -/* 7.4.5 */ -int SAF_Pkcs7_DecodeSignedData( - void *hAppHandle, - unsigned char *pucDerP7SignedData, - unsigned int uiDerP7SignedDataLen, - unsigned int *puiDigestAlgorithm, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSig, - unsigned int *puiSigLen) -{ - int ret = SAR_UnknownErr; -#if 0 - PKCS7 *p7 = NULL; - PKCS7_SIGNED *p7signed; - X509 *x509 = NULL; - PKCS7_SIGNER_INFO *signer_info; - X509_ALGOR *algor; - BIO *bio = NULL; - - if (!hAppHandle || !pucDerP7SignedData || !puiDigestAlgorithm - || !puiSignerCertificateLen || !puiDataLen || !puiSigLen) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiDerP7SignedDataLen <= 0 || uiDerP7SignedDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - /* process */ - if (!(p7 = d2i_PKCS7(NULL, (const unsigned char **)&pucDerP7SignedData, - uiDerP7SignedDataLen))) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_PKCS7_DATA); - goto end; - } - - if (!(bio = BIO_new(BIO_s_mem()))) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, ERR_R_MALLOC_FAILURE); - goto end; - } - - if (!PKCS7_type_is_signed(p7)) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_PKCS7_TYPE); - goto end; - } - - if (!PKCS7_verify(p7, NULL, NULL, NULL, bio, 0)) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_PKCS7_VERIFY_FAILURE); - goto end; - } - - if (!(p7signed = p7->d.sign)) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_PKCS7_DATA); - goto end; - } - - /* get digest algor */ - if (sk_X509_ALGOR_num(p7signed->md_algs) != 1 - || !(algor = sk_X509_ALGOR_value(p7signed->md_algs, 0)) - || (*puiDigestAlgorithm = EVP_MD_sgd(EVP_get_digestbyobj(algor->algorithm))) <= 0) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_PKCS7_DATA); - goto end; - } - - /* get signer's certificate */ - if (sk_X509_ALGOR_num(p7signed->cert) != 1 - || !(x509 = sk_X509_ALGOR_value(p7signed->cert, 0))) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_PKCS7_DATA); - goto end; - } - if ((len = i2d_X509(x509, NULL)) <= 0) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, ERR_R_X509_LIB); - goto end; - } - if (*puiSignerCertificateLen < len) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_BUFFER_TOO_SMALL); - goto end; - } - if ((len = i2d_X509(x509, &pucSignerCertficate)) <= 0) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, ERR_R_X509_LIB); - goto end; - } - *puiSignerCertificateLen = len; - - /* get data */ - if (!(p7signed->contents) - || !PKCS7_type_is_data(p7signed->contents) - || !(data = p7signed->contents->d.data)) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_PKCS7_DATA); - goto end; - } - - if (*puiDataLen < ASN1_STRING_length(data)) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_BUFFER_TOO_SMALL); - goto end; - } - - memcpy(pucData, ASN1_STRING_get0_data(data), ASN1_STRING_length(data)); - *puiDataLen = ASN1_STRING_length(data); - - /* get signature */ - if (sk_SIGNER_INFO_num(p7signed->signer_info) <= 0 - || !(signer_info = sk_SIGNER_INFO_value(p7signed->signer_info, 0))) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_INVALID_PKCS7_DATA); - goto end; - } - - if (*puiSigLen < ASN1_STRING_length(signer_info->enc_digest)) { - SAFerr(SAF_F_SAF_PKCS7_DECODESIGNEDDATA, SAF_R_BUFFER_TOO_SMALL); - goto end; - } - memcpy(pucSig, ASN1_STRING_get0_data(signer_info->enc_digest), - ASN1_STRING_length(signer_info->enc_digest)); - *puiSigLen = ASN1_STRING_length(signer_info->enc_digest); - - ret = SAR_Ok; -end: - PKCS7_free(p7); - X509_free(x509); - BIO_free(bio); -#endif - return ret; -} - -/* 7.4.6 */ -int SAF_Pkcs7_EncodeEnvelopedData( - void *hAppHandle, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucDerP7EnvelopedData, - unsigned int *puiDerP7EnvelopedDataLen) -{ - int ret = SAR_UnknownErr; -#if 0 - PKCS7 *p7 = NULL; - X509 *x509 = NULL; - STACK_OF(X509) *certs = NULL; - BIO *bio = NULL; - const EVP_CIPHER *cipher; - int len; - - /* check arguments */ - if (!hAppHandle || !pucData || !pucEncCertificate || !puiDerP7EnvelopedDataLen) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiDataLen <= 0 || uiDataLen > INT_MAX - || uiEncCertificateLen <= 0 || uiEncCertificateLen > INT_MAX) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!(cipher = EVP_get_cipherbysgd(uiSymmAlgorithm))) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, SAF_R_UNSUPPORTED_ALGOR); - return SAR_AlgoTypeErr; - } - - /* process */ - if (!(bio = BIO_new_mem_buf(pucData, (int)uiDataLen)) - || !(certs = sk_X509_new_null()) - || !(x509 = X509_new())) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, ERR_R_MALLOC_FAILURE); - ret = SAR_MemoryErr; - goto end; - } - - if (!d2i_X509(&x509, &pucEncCertificate, (long)uiEncCertificateLen)) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, SAF_R_INVALID_CERTIFICATE); - ret = SAR_CertEncodeErr; - goto end; - } - - sk_X509_push(certs, x509); - x509 = NULL; - - if (!(p7 = PKCS7_encrypt(certs, bio, cipher, PKCS7_BINARY))) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, ERR_R_PKCS7_LIB); - goto end; - } - - if ((len = i2d_PKCS7(p7, NULL)) <= 0) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, ERR_R_PKCS7_LIB); - goto end; - } - - if (!pucDerP7EnvelopedData) { - *puiDerP7EnvelopedDataLen = (unsigned int)len; - ret = SAR_Ok; - goto end; - } - - if (*puiDerP7EnvelopedDataLen < (unsigned int)len) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA, SAF_R_BUFFER_TOO_SMALL); - ret = SAR_IndataLenErr; - goto end; - } - - len = i2d_PKCS7(p7, pucDerP7EnvelopedData); - *puiDerP7EnvelopedDataLen = (unsigned int)len; - - ret = SAR_OK; - -end: - PKCS7_free(p7); - X509_free(x509); - sk_X509_free(certs); - BIO_free(bio); -#endif - return ret; -} - -/* 7.4.7 */ -int SAF_Pkcs7_DecodeEnvelopedData( - void *hAppHandle, - unsigned char *pucDecContainerName, - unsigned int uiDecContainerNameLen, - unsigned char *pucDerP7EnvelopedData, - unsigned int uiDerP7EnvelopedDataLen, - unsigned char *pucData, - unsigned int *puiDataLen) -{ - int ret = SAR_UnknownErr; -#if 0 - SAF_APP *app = (SAF_APP *)hAppHandle; - PKCS7 *p7 = NULL; - EVP_PKEY *pkey = NULL; - X509 *x509 = NULL; - BIO *bio = NULL; - BUF_MEM *buf = NULL; - - if (!hAppHandle || !pucDecContainerName || !pucDerP7EnvelopedData || !pucData) - SAFerr(SAF_F_SAF_PKCS7_DECODEENVELOPEDDATA, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (uiDecContainerNameLen <= 0 || uiDecContainerNameLen > INT_MAX - || uiDerP7EnvelopedDataLen <= 0 || uiDerP7EnvelopedDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_PKCS7_DECODEENVELOPEDDATA, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!pucData) { - *puiDataLen = uiDerP7EnvelopedDataLen; - return SAR_Ok; - } else if (*puiDataLen <= 0 || *puiDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_PKCS7_DECODEENVELOPEDDATA, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!(pkey = SAF_load_private_key(app, (char *)pucDecContainerName, - EVP_PK_EC|EVP_PKT_ENC))) { - SAFerr(SAF_F_SAF_PKCS7_DECODEENVELOPEDDATA, SAF_R_LOAd_PUBLIC_KEY_FAILURE); - goto end; - } - - if (!(x509 = SAF_LoadCertificate(app, pucDecContainerName, - uiDecContainerNameLen, SGD_PK_ENC))) { - goto end; - } - - if (!(bio = BIO_new(BIO_s_membuf()))) { - goto end; - } - - if (!PKCS7_decrypt(p7, pkey, x509, bio, 0)) { - goto end; - } - - if (!BIO_get_mem_buf(bio, &buf)) { - goto end; - } - - memcpy(pucData, buf->data, buf->length); - *puiDataLen = buf->length; - - ret = SAR_Ok; -end: - PKCS7_free(p7); - EVP_PKEY_free(pkey); - X509_free(x509); - BIO_free(bio); -#endif - return ret; -} - -/* 7.4.8 */ -int SAF_Pkcs7_EncodeDigestedData( - void *hAppHandle, - unsigned int uiDigestAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerP7DigestedData, - unsigned int *puiDerP7DigestedDataLen) -{ - int ret = SAR_UnknownErr; - const EVP_MD *md; - PKCS7 *p7 = NULL; - BIO *p7bio = NULL; - int len; - - if (!hAppHandle || !pucData || !pucDerP7DigestedData - || !puiDerP7DigestedDataLen) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiDataLen <= 0 || uiDataLen > INT_MAX) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!(md = EVP_get_digestbysgd(uiDigestAlgorithm))) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA, SAF_R_INVALID_DIGEST_ALGOR); - return SAR_AlgoTypeErr; - } - - if (!(p7 = PKCS7_new()) - || !PKCS7_set_type(p7, NID_pkcs7_digest) - || !PKCS7_set_digest(p7, md) - || !PKCS7_content_new(p7, NID_pkcs7_data) - || !(p7bio = PKCS7_dataInit(p7, NULL)) - || BIO_write(p7bio, pucData, (int)uiDataLen) != uiDataLen - || !PKCS7_dataFinal(p7, p7bio)) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA, ERR_R_PKCS7_LIB); - goto end; - } - - if (*puiDerP7DigestedDataLen < i2d_PKCS7(p7, NULL)) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA, SAF_R_BUFFER_TOO_SMALL); - ret = SAR_IndataLenErr; - goto end; - } - - if ((len = i2d_PKCS7(p7, &pucDerP7DigestedData)) <= 0) { - SAFerr(SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA, ERR_R_PKCS7_LIB); - goto end; - } - - ret = SAR_Ok; - -end: - PKCS7_free(p7); - BIO_free(p7bio); - return ret; -} - -/* 7.4.9 */ -int SAF_Pkcs7_DecodeDigestedData( - void *hAppHandle, - unsigned char *pucDerP7DigestedData, - unsigned int uiDerP7DigestedDataLen, - unsigned int *puiDigestAlgorithm, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucDigest, - unsigned int *puiDigestLen) -{ - int ret = SAR_UnknownErr; - PKCS7 *p7 = NULL; - PKCS7_DIGEST *p7dgst; - ASN1_OCTET_STRING *data; - - if (!hAppHandle || !puiDigestAlgorithm || !puiDataLen || !puiDigestLen) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!pucData) { - *puiDataLen = uiDerP7DigestedDataLen; - return SAR_Ok; - } - - if (!pucDigest) { - *puiDigestLen = EVP_MAX_MD_SIZE; - return SAR_Ok; - } - - if (uiDerP7DigestedDataLen <= 0 || uiDerP7DigestedDataLen > INT_MAX - || *puiDataLen <= 0 || *puiDataLen > INT_MAX - || *puiDigestLen <= 0 || *puiDigestLen > INT_MAX) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - /* process */ - if (!(p7 = d2i_PKCS7(NULL, (const unsigned char **)&pucDerP7DigestedData, - uiDerP7DigestedDataLen))) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_INVALID_PKCS7); - ret = SAR_IndataErr; - goto end; - } - - if (!PKCS7_type_is_digest(p7)) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_INVALID_PKCS7_TYPE); - ret = SAR_IndataErr; - goto end; - } - p7dgst = p7->d.digest; - - /* output digset algor */ - //EVP_MD_sgd -#if 0 - if ((*puiDigestAlgorithm = EVP_MD_sgd( - EVP_get_digestbyobj(p7dgst->md->algorithm))) <= 0) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_UNSUPPORTED_DIGEST_ALGOR); - ret = SAR_IndataErr; - goto end; - } -#endif - - /* output digested data */ - if (!PKCS7_type_is_data(p7dgst->contents)) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_INVALID_PKCS7_DATA); - ret = SAR_IndataErr; - goto end; - } - - if (!(data = p7dgst->contents->d.data)) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_INVALID_PKCS7_DATA); - ret = SAR_IndataErr; - goto end; - } - - if (*puiDataLen < ASN1_STRING_length(data)) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_BUFFER_TOO_SMALL); - ret = SAR_IndataLenErr; - goto end; - } - memcpy(pucData, ASN1_STRING_get0_data(data), ASN1_STRING_length(data)); - *puiDataLen = ASN1_STRING_length(data); - - /* output digest */ - if (!p7dgst->digest) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_INVALID_PKCS7_DATA); - ret = SAR_IndataErr; - goto end; - } - - if (*puiDigestLen < ASN1_STRING_length(p7dgst->digest)) { - SAFerr(SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA, SAF_R_BUFFER_TOO_SMALL); - ret = SAR_IndataLenErr; - goto end; - } - memcpy(pucDigest, ASN1_STRING_get0_data(p7dgst->digest), ASN1_STRING_length(p7dgst->digest)); - *puiDigestLen = ASN1_STRING_length(p7dgst->digest); - - ret = SAR_Ok; -end: - PKCS7_free(p7); - return ret; -} diff --git a/crypto/saf/saf_rand.c b/crypto/saf/saf_rand.c deleted file mode 100644 index 7fc5d03f..00000000 --- a/crypto/saf/saf_rand.c +++ /dev/null @@ -1,79 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include "saf_lcl.h" - -/* 7.3.10 */ -int SAF_GenRandom( - unsigned int uiRandLen, - unsigned char *pucRand) -{ - if (uiRandLen <= 0 || uiRandLen > INT_MAX) { - SAFerr(SAF_F_SAF_GENRANDOM, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!pucRand) { - SAFerr(SAF_F_SAF_GENRANDOM, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - - if (!RAND_bytes(pucRand, (int)uiRandLen)) { - SAFerr(SAF_F_SAF_GENRANDOM, SAF_R_GEN_RANDOM_FAILURE); - return SAR_GenRandErr; - } - - return SAR_OK; -} diff --git a/crypto/saf/saf_rsa.c b/crypto/saf/saf_rsa.c deleted file mode 100644 index 60f8fb33..00000000 --- a/crypto/saf/saf_rsa.c +++ /dev/null @@ -1,279 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - - -#include -#include -#include "saf_lcl.h" - - -/* 7.3.16 */ -int SAF_GenRsaKeyPair(void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned int uiKeyUsage, - unsigned int uiExportFlag) -{ - int ret = SAR_UnknownErr; -#if 0 - SAF_APP *app = (SAF_APP *)hAppHandle; - - /* process */ - EVP_PKEY_CTX *pctx = NULL; - EVP_PKEY *pkey = NULL; - - if (!(pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, app->engine)) - || EVP_PKEY_keygen_init(pctx) <= 0 - || EVP_PKEY_CTX_set_rsa_keygen_bits(pctx, uiKeyBits) <= 0 - || EVP_PKEY_keygen(pctx, &pkey) <= 0) { - SAFerr(SAF_F_SAF_GENRSAKEYPAIR, ERR_R_EVP_LIB); - goto end; - } - - ret = SAR_Ok; -end: - EVP_PKEY_CTX_free(pctx); - EVP_PKEY_free(pkey); -#endif - return ret; -} - -/* 7.3.17 */ -int SAF_GetRsaPublicKey( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyUsage, - unsigned char *pucPublicKey, - unsigned int *puiPublicKeyLen) -{ - int ret = SAR_UnknownErr; -#if 0 - SAF_APP *app = (SAF_APP *)hAppHandle; - - /* process */ - EVP_PKEY *pkey = NULL; - char key_id[1024]; - int len; - - snprintf(key_id, sizeof(key_id), "%s.%s", (char *)pucContainerName, - SGD_GetKeyUsageName(uiKeyUsage)); - - if (!(pkey = ENGINE_load_public_key(app->engine, key_id, NULL, NULL))) { - SAFerr(SAF_F_SAF_GETRSAPUBLICKEY, ERR_R_ENGINE_LIB); - goto end; - } - if (EVP_PKEY_base_id(pkey) != EVP_PKEY_RSA) { - SAFerr(SAF_F_SAF_GETRSAPUBLICKEY, ERR_R_ENGINE_LIB); - goto end; - } - if ((len = i2d_PUBKEY(pkey, &pucPublicKey)) <= 0) { - SAFerr(SAF_F_SAF_GETRSAPUBLICKEY, ERR_R_X509_LIB); - goto end; - } - - *puiPublicKeyLen = (unsigned int)len; - - /* set return value */ - ret = SAR_Ok; - -end: - EVP_PKEY_free(pkey); -#endif - return ret; -} - -/* 7.3.18 */ -int SAF_RsaSign( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiHashAlgoType, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignature, - unsigned int *puiSignatureLen) -{ - int ret = SAR_UnknownErr; - -#if 0 - SAF_APP *app = (SAF_APP *)hAppHandle; - - /* process */ - char key_id[1024]; - EVP_PKEY *pkey = NULL; - EVP_PKEY_CTX *pctx = NULL; - size_t siglen; - - snprintf(key_id, sizeof(key_id), "%s.sign", (char *)pucContainerName); - - if (!(pkey = ENGINE_load_private_key(app->engine, key_id, NULL, NULL)) - || !(pctx = EVP_PKEY_CTX_new(pkey, app->engine)) - || EVP_PKEY_sign_init(pctx) <= 0 - || EVP_PKEY_sign(pctx, pucSignData, &siglen, pucInData, (size_t)uiInDataLen) <= 0) { - SAFerr(SAF_F_SAF_RSASIGN, ERR_R_EVP_LIB); - goto end; - } - - *puiSignDataLen = (unsigned int)siglen; - - ret = SAR_Ok; -end: - EVP_PKEY_free(pkey); - EVP_PKEY_CTX_free(pctx); -#endif - return ret; -} - -/* 7.3.19 */ -int SAF_RsaSignFile( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiHashAlgoType, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int *puiSignatureLen) -{ - return SAR_OK; -} - -/* 7.3.20 */ -int SAF_RsaVerifySign( - unsigned int uiHashAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignature, - unsigned int uiSignatureLen) -{ - int ret = SAR_UnknownErr; -#if 0 - /* process */ - EVP_PKEY *pkey = NULL; - EVP_PKEY_CTX *pctx = NULL; - - if (!(pkey = d2i_PUBKEY(NULL, (const unsigned char **)&pucPublicKey, (long)uiPublicKeyLen)) - || !(pctx = EVP_PKEY_CTX_new(pkey, NULL)) - || EVP_PKEY_verify_init(pctx) <= 0 - || EVP_PKEY_verify(pctx, pucSignData, uiSignDataLen, pucInData, uiInDataLen) <= 0) { - SAFerr(SAF_F_SAF_RSAVERIFYSIGN, ERR_R_EVP_LIB); - goto end; - } - - ret = SAR_Ok; -end: - EVP_PKEY_free(pkey); - EVP_PKEY_CTX_free(pctx); -#endif - return ret; -} - -/* 7.3.21 */ -int SAF_RsaVerifySignFile( - unsigned int uiHashAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int uiSignatureLen) -{ - return SAR_OK; -} - -/* 7.3.22 */ -int SAF_VerifySignByCert( - unsigned int uiHashAlgoType, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignature, - unsigned int uiSignatureLen) -{ - int ret = SAR_UnknownErr; -#if 0 - /* process */ - X509 *x509 = NULL; - unsigned char pucPublicKey[1024]; - unsigned int uiPublicKeyLen; - unsigned char *p = pucPublicKey; - int len; - - if (!(x509 = d2i_X509(NULL, (const unsigned char **)&pucCertificate, (long)uiCertificateLen))) { - SAFerr(SAF_F_SAF_VERIFYSIGNBYCERT, ERR_R_X509_LIB); - goto end; - } - - if ((len = i2d_PUBKEY(X509_get0_pubkey(x509), &p)) <= 0) { - SAFerr(SAF_F_SAF_VERIFYSIGNBYCERT, ERR_R_X509_LIB); - goto end; - } - - uiPublicKeyLen = (unsigned int)len; - - ret = SAF_RsaVerifySign( - pucPublicKey, - uiPublicKeyLen, - uiAlgorithmID, - pucInData, - uiInDataLen, - pucSignData, - uiSignDataLen); - - - /* set return value */ - ret = SAR_Ok; -end: - X509_free(x509); -#endif - return ret; -} diff --git a/crypto/saf/saf_sm2.c b/crypto/saf/saf_sm2.c deleted file mode 100644 index 58b98093..00000000 --- a/crypto/saf/saf_sm2.c +++ /dev/null @@ -1,207 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "saf_lcl.h" - -/* 7.4.10 */ -int SAF_SM2_EncodeSignedAndEnvelopedData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerSignedAndEnvelopedData, - unsigned int *puiDerSignedAndEnvelopedDataLen) -{ - return SAF_Pkcs7_EncodeData( - hAppHandle, - pucSignContainerName, - uiSignContainerNameLen, - pucSignerCertificate, - uiSignerCertificateLen, - uiDigestAlgorithm, - pucEncCertificate, - uiEncCertificateLen, - uiSymmAlgorithm, - pucData, - uiDataLen, - pucDerSignedAndEnvelopedData, - puiDerSignedAndEnvelopedDataLen); -} - -/* 7.4.11 */ -int SAF_SM2_DecodeSignedAndEnvelopedData( - void *hAppHandle, - unsigned char *pucDerContainerName, - unsigned int uiDerContainerNameLen, - unsigned char *pucDerSignedAndEnvelopedData, - unsigned int uiDerSignedAndEnvelopedDataLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned int *puiDigestAlgorithm) -{ - return SAF_Pkcs7_DecodeData( - hAppHandle, - pucDerContainerName, - uiDerContainerNameLen, - pucDerSignedAndEnvelopedData, - uiDerSignedAndEnvelopedDataLen, - pucData, - puiDataLen, - pucSignerCertificate, - puiSignerCertificateLen, - puiDigestAlgorithm); -} - -/* 7.4.12 */ -int SAF_SM2_EncodeSignedData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned int uiSignKeyUsage, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerSignedData, - unsigned int *puiDerSignedDataLen) -{ - return SAF_Pkcs7_EncodeSignedData( - hAppHandle, - pucSignContainerName, - uiSignContainerNameLen, - uiSignKeyUsage, - pucSignerCertificate, - uiSignerCertificateLen, - uiDigestAlgorithm, - pucData, - uiDataLen, - pucDerSignedData, - puiDerSignedDataLen); -} - -/* 7.4.13 */ -int SAF_SM2_DecodeSignedData( - void *hAppHandle, - unsigned char *pucDerSignedData, - unsigned int uiDerSignedDataLen, - unsigned int *puiDigestAlgorithm, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSign, - unsigned int *puiSignLen) -{ - return SAF_Pkcs7_DecodeSignedData( - hAppHandle, - pucDerSignedData, - uiDerSignedDataLen, - puiDigestAlgorithm, - pucSignerCertificate, - puiSignerCertificateLen, - pucData, - puiDataLen, - pucSign, - puiSignLen); -} - -/* 7.4.14 */ -int SAF_SM2_EncodeEnvelopedData( - void *hAppHandle, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucDerEnvelopedData, - unsigned int *puiDerEnvelopedDataLen) -{ - return SAF_Pkcs7_EncodeEnvelopedData( - hAppHandle, - pucData, - uiDataLen, - pucEncCertificate, - uiEncCertificateLen, - uiSymmAlgorithm, - pucDerEnvelopedData, - puiDerEnvelopedDataLen); -} - -/* 7.4.15 */ -int SAF_SM2_DecodeEnvelopedData( - void *hAppHandle, - unsigned char *pucDecContainerName, - unsigned int uiDecContainerNameLen, - unsigned char *pucDerEnvelopedData, - unsigned int uiDerEnvelopedDataLen, - unsigned char *pucData, - unsigned int *puiDataLen) -{ - return SAF_Pkcs7_DecodeEnvelopedData( - hAppHandle, - pucDecContainerName, - uiDecContainerNameLen, - pucDerEnvelopedData, - uiDerEnvelopedDataLen, - pucData, - puiDataLen); -} diff --git a/crypto/saf/saf_symmkeyobj.c b/crypto/saf/saf_symmkeyobj.c deleted file mode 100644 index 892f1ecc..00000000 --- a/crypto/saf/saf_symmkeyobj.c +++ /dev/null @@ -1,117 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include "saf_lcl.h" - - -/* 7.3.30 */ -int SAF_CreateSymmKeyObj( - void *hAppHandle, - void **phSymmKeyObj, - unsigned char *pucContainerName, - unsigned int uiContainerLen, - unsigned char *pucIV, - unsigned int uiIVLen, - unsigned int uiEncOrDec, - unsigned int uiCryptoAlgID) -{ - int ret = SAR_UnknownErr; - SAF_SYMMKEYOBJ *obj = NULL; - - /* check arguments */ - if (!hAppHandle || !phSymmKeyObj || !pucContainerName || !pucIV) { - SAFerr(SAF_F_SAF_CREATESYMMKEYOBJ, ERR_R_PASSED_NULL_PARAMETER); - return SAR_IndataErr; - } - if (uiContainerLen <= 0 || uiContainerLen > 255 || - uiIVLen > EVP_MAX_IV_LENGTH) { - SAFerr(SAF_F_SAF_CREATESYMMKEYOBJ, SAF_R_INVALID_INPUT_LENGTH); - return SAR_IndataLenErr; - } - - if (!(obj = OPENSSL_zalloc(sizeof(*obj))) - || !(obj->pucContainerName = OPENSSL_memdup(pucContainerName, uiContainerLen)) - || !(obj->pucIV = OPENSSL_memdup(pucIV, uiIVLen))) { - SAFerr(SAF_F_SAF_CREATESYMMKEYOBJ, ERR_R_MALLOC_FAILURE); - goto end; - } - - obj->app = (SAF_APP *)hAppHandle; - obj->uiContainerLen = uiContainerLen; - obj->uiIVLen = uiIVLen; - obj->uiEncOrDec = uiEncOrDec; - obj->uiCryptoAlgID = uiCryptoAlgID; - - /* set output */ - *phSymmKeyObj = obj; - obj = NULL; - - ret = SAR_OK; - -end: - (void)SAF_DestroySymmAlgoObj(obj); - return ret; -} - -/* 7.3.36 */ -int SAF_DestroySymmAlgoObj( - void *hSymmKeyObj) -{ - SAF_SYMMKEYOBJ *obj = (SAF_SYMMKEYOBJ *)hSymmKeyObj; - if (obj) { - OPENSSL_free(obj->pucContainerName); - OPENSSL_free(obj->pucIV); - OPENSSL_free(obj); - } - return SAR_OK; -} diff --git a/crypto/serpent/build.info b/crypto/serpent/build.info deleted file mode 100755 index eee86dc9..00000000 --- a/crypto/serpent/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=serpent.c diff --git a/crypto/serpent/serpent.c b/crypto/serpent/serpent.c deleted file mode 100755 index cc63dad5..00000000 --- a/crypto/serpent/serpent.c +++ /dev/null @@ -1,308 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/** -Copyright © 2015 Odzhan -Copyright © 2008 Daniel Otte -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. The name of the author may not be used to endorse or promote products -derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY AUTHORS "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 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. */ - -#include -#include -#include -#include -#include "serpent_locl.h" - -static void serpent_whiten(serpent_blk *dst, serpent_key_t *src, int idx) { - uint8_t i; - serpent_blk *p = (serpent_blk*)&src->x[idx]; - - for (i = 0; iw[i] ^= p->w[i]; - } -} - -static void permute(serpent_blk *out, serpent_blk *in, int type) -{ - uint8_t cy; - uint8_t n, m; - - for (n = 0; nw[n] = 0; - } - - if (type == SERPENT_IP) - { - for (n = 0; n<16; n++) { - for (m = 0; m<8; m++) { - cy = in->w[m % 4] & 1; - in->w[m % 4] >>= 1; - out->b[n] = (cy << 7) | (out->b[n] >> 1); - } - } - } - else { - for (n = 0; n<4; n++) { - for (m = 0; m<32; m++) { - cy = in->w[n] & 1; - in->w[n] >>= 1; - out->w[m % 4] = (cy << 31) | (out->w[m % 4] >> 1); - } - } - } -} - -#define HI_NIBBLE(b) (((b) >> 4) & 0x0F) -#define LO_NIBBLE(b) ((b) & 0x0F) - -static uint32_t serpent_gen_w(uint32_t *b, uint32_t i) { - uint32_t ret; - ret = b[0] ^ b[3] ^ b[5] ^ b[7] ^ GOLDEN_RATIO ^ i; - return ROTL32(ret, 11); -} - -static void serpent_subbytes(serpent_blk *blk, uint32_t box_idx, int type) -{ - serpent_blk tmp_blk, sb; - uint8_t *sbp; - uint8_t i, t; - - uint8_t sbox[8][8] = - { { 0x83, 0x1F, 0x6A, 0xB5, 0xDE, 0x24, 0x07, 0xC9 }, - { 0xCF, 0x72, 0x09, 0xA5, 0xB1, 0x8E, 0xD6, 0x43 }, - { 0x68, 0x97, 0xC3, 0xFA, 0x1D, 0x4E, 0xB0, 0x25 }, - { 0xF0, 0x8B, 0x9C, 0x36, 0x1D, 0x42, 0x7A, 0xE5 }, - { 0xF1, 0x38, 0x0C, 0x6B, 0x52, 0xA4, 0xE9, 0xD7 }, - { 0x5F, 0xB2, 0xA4, 0xC9, 0x30, 0x8E, 0x6D, 0x17 }, - { 0x27, 0x5C, 0x48, 0xB6, 0x9E, 0xF1, 0x3D, 0x0A }, - { 0xD1, 0x0F, 0x8E, 0xB2, 0x47, 0xAC, 0x39, 0x65 } - }; - - uint8_t sbox_inv[8][8] = - { { 0x3D, 0x0B, 0x6A, 0xC5, 0xE1, 0x74, 0x9F, 0x28 }, - { 0x85, 0xE2, 0x6F, 0x3C, 0x4B, 0x97, 0xD1, 0x0A }, - { 0x9C, 0x4F, 0xEB, 0x21, 0x30, 0xD6, 0x85, 0x7A }, - { 0x90, 0x7A, 0xEB, 0xD6, 0x53, 0x2C, 0x84, 0x1F }, - { 0x05, 0x38, 0x9A, 0xE7, 0xC2, 0x6B, 0xF4, 0x1D }, - { 0xF8, 0x92, 0x14, 0xED, 0x6B, 0x35, 0xC7, 0x0A }, - { 0xAF, 0xD1, 0x35, 0x06, 0x94, 0x7E, 0xC2, 0xB8 }, - { 0x03, 0xD6, 0xE9, 0x8F, 0xC5, 0x7B, 0x1A, 0x24 } - }; - - box_idx &= 7; - - if (type == SERPENT_ENCRYPT) { - sbp = (uint8_t*)&sbox[box_idx][0]; - } - else { - sbp = (uint8_t*)&sbox_inv[box_idx][0]; - } - - for (i = 0; i<16; i += 2) { - t = sbp[i / 2]; - sb.b[i + 0] = LO_NIBBLE(t); - sb.b[i + 1] = HI_NIBBLE(t); - } - - permute(&tmp_blk, blk, SERPENT_IP); - - for (i = 0; iw[0]; - x1 = x->w[1]; - x2 = x->w[2]; - x3 = x->w[3]; - - if (enc == SERPENT_DECRYPT) { - x2 = ROTL32(x2, 10); - x0 = ROTR32(x0, 5); - x2 ^= x3 ^ (x1 << 7); - x0 ^= x1 ^ x3; - x3 = ROTR32(x3, 7); - x1 = ROTR32(x1, 1); - x3 ^= x2 ^ (x0 << 3); - x1 ^= x0 ^ x2; - x2 = ROTR32(x2, 3); - x0 = ROTR32(x0, 13); - } - else { - x0 = ROTL32(x0, 13); - x2 = ROTL32(x2, 3); - x1 ^= x0 ^ x2; - x3 ^= x2 ^ (x0 << 3); - x1 = ROTL32(x1, 1); - x3 = ROTL32(x3, 7); - x0 ^= x1 ^ x3; - x2 ^= x3 ^ (x1 << 7); - x0 = ROTL32(x0, 5); - x2 = ROTR32(x2, 10); - } - x->w[0] = x0; - x->w[1] = x1; - x->w[2] = x2; - x->w[3] = x3; -} - -void serpent_set_encrypt_key(serpent_key_t *key, const unsigned char *user_key) -{ - union { - uint8_t b[32]; - uint32_t w[8]; - } s_ws; - - uint32_t i, j; - - /* copy key input to local buffer */ - memcpy(&s_ws.b[0], user_key, SERPENT_KEY256); - - /* expand the key */ - for (i = 0; i <= SERPENT_ROUNDS; i++) { - for (j = 0; j<4; j++) { - key->x[i][j] = serpent_gen_w(s_ws.w, i * 4 + j); - memmove(&s_ws.b, &s_ws.b[4], 7 * 4); - s_ws.w[7] = key->x[i][j]; - } - serpent_subbytes((serpent_blk*)&key->x[i], 3 - i, SERPENT_ENCRYPT); - } -} - -void serpent_set_decrypt_key(serpent_key_t *key, const unsigned char *user_key) -{ - union { - uint8_t b[32]; - uint32_t w[8]; - } s_ws; - - uint32_t i, j; - - /* copy key input to local buffer */ - memcpy(&s_ws.b[0], user_key, SERPENT_KEY256); - - /* expand the key */ - for (i = 0; i <= SERPENT_ROUNDS; i++) { - for (j = 0; j<4; j++) { - key->x[i][j] = serpent_gen_w(s_ws.w, i * 4 + j); - memmove(&s_ws.b, &s_ws.b[4], 7 * 4); - s_ws.w[7] = key->x[i][j]; - } - serpent_subbytes((serpent_blk*)&key->x[i], 3 - i, SERPENT_ENCRYPT); - } -} - -void serpent_encrypt(const void *in, void *out, serpent_key_t *key) -{ - int8_t i; - serpent_blk *_out = out; - memcpy(out, in, SERPENT_BLOCK_SIZE); - - i = 0; - for (;;) { - /* xor with subkey */ - serpent_whiten(_out, key, i); - /* apply sbox */ - serpent_subbytes(_out, i, SERPENT_ENCRYPT); - if (++i == SERPENT_ROUNDS) - break; - /* linear transformation */ - serpent_lt(_out, SERPENT_ENCRYPT); - } - serpent_whiten(_out, key, i); -} - -void serpent_decrypt(const void *in, void *out, serpent_key_t *key) -{ - int8_t i; - serpent_blk *_out = out; - memcpy(out, in, SERPENT_BLOCK_SIZE); - - - i = SERPENT_ROUNDS; - serpent_whiten(_out, key, i); - for (;;) { - --i; - /* apply sbox */ - serpent_subbytes(_out, i, SERPENT_DECRYPT); - /* xor with subkey */ - serpent_whiten(_out, key, i); - if (i == 0) - break; - /* linear transformation */ - serpent_lt(_out, SERPENT_DECRYPT); - } -} diff --git a/crypto/serpent/serpent_locl.h b/crypto/serpent/serpent_locl.h deleted file mode 100755 index 79c19103..00000000 --- a/crypto/serpent/serpent_locl.h +++ /dev/null @@ -1,112 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/** -Copyright © 2015 Odzhan -Copyright © 2008 Daniel Otte -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. The name of the author may not be used to endorse or promote products -derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY AUTHORS "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 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. */ - -#include -#include -#include - -#ifdef INTRINSICS -#define memcpy(x,y,z) __movsb(x,y,z) -#define memmove(x,y,z) __movsb(x,y,z) -#define memset(x,y,z) __stosb(x,y,z) -#define ROTL32(x,r) _rotl(x,r) -#define ROTR32(x,r) _rotr(x,r) -#else - -#define U8V(v) ((uint8_t)(v) & 0xFFU) -#define U16V(v) ((uint16_t)(v) & 0xFFFFU) -#define U32V(v) ((uint32_t)(v) & 0xFFFFFFFFUL) -#define U64V(v) ((uint64_t)(v) & 0xFFFFFFFFFFFFFFFFULL) - -#define ROTL8(v, n) \ - (U8V((v) << (n)) | ((v) >> (8 - (n)))) - -#define ROTL16(v, n) \ - (U16V((v) << (n)) | ((v) >> (16 - (n)))) - -#define ROTL32(v, n) \ - (U32V((v) << (n)) | ((v) >> (32 - (n)))) - -#define ROTL64(v, n) \ - (U64V((v) << (n)) | ((v) >> (64 - (n)))) - -#define ROTR8(v, n) ROTL8(v, 8 - (n)) -#define ROTR16(v, n) ROTL16(v, 16 - (n)) -#define ROTR32(v, n) ROTL32(v, 32 - (n)) -#define ROTR64(v, n) ROTL64(v, 64 - (n)) - -#endif - -#define GOLDEN_RATIO 0x9e3779b9l diff --git a/crypto/sm2/build.info b/crypto/sm2/build.info index 8dcca88e..6b650d73 100644 --- a/crypto/sm2/build.info +++ b/crypto/sm2/build.info @@ -1,3 +1,3 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=sm2_err.c sm2_asn1.c sm2_id.c sm2_sign.c sm2_enc.c \ - sm2_oct.c sm2_exch.c sm2_kmeth.c sm2_cosign.c + sm2_oct.c sm2_exch.c sm2_kmeth.c diff --git a/crypto/sm2/sm2_asn1.c b/crypto/sm2/sm2_asn1.c index 497fef22..7bb7721a 100644 --- a/crypto/sm2/sm2_asn1.c +++ b/crypto/sm2/sm2_asn1.c @@ -142,71 +142,3 @@ int i2d_SM2CiphertextValue_fp(FILE *fp, SM2CiphertextValue *a) return ASN1_item_i2d_fp(ASN1_ITEM_rptr(SM2CiphertextValue), fp, a); } #endif - -ASN1_SEQUENCE(SM2_COSIGNER1_SHARE) = { - ASN1_SIMPLE(SM2_COSIGNER1_SHARE, a, BIGNUM), - ASN1_SIMPLE(SM2_COSIGNER1_SHARE, b, BIGNUM) -} ASN1_SEQUENCE_END(SM2_COSIGNER1_SHARE) -IMPLEMENT_ASN1_FUNCTIONS(SM2_COSIGNER1_SHARE) -IMPLEMENT_ASN1_DUP_FUNCTION(SM2_COSIGNER1_SHARE) - -ASN1_SEQUENCE(SM2_COSIGNER2_SHARE) = { - ASN1_SIMPLE(SM2_COSIGNER2_SHARE, a, BIGNUM), - ASN1_SIMPLE(SM2_COSIGNER2_SHARE, b, BIGNUM) -} ASN1_SEQUENCE_END(SM2_COSIGNER2_SHARE) -IMPLEMENT_ASN1_FUNCTIONS(SM2_COSIGNER2_SHARE) -IMPLEMENT_ASN1_DUP_FUNCTION(SM2_COSIGNER2_SHARE) - -ASN1_SEQUENCE(SM2_COSIGNER1_PROOF) = { - ASN1_SIMPLE(SM2_COSIGNER1_PROOF, a, BIGNUM), - ASN1_SIMPLE(SM2_COSIGNER1_PROOF, b, BIGNUM) -} ASN1_SEQUENCE_END(SM2_COSIGNER1_PROOF) -IMPLEMENT_ASN1_FUNCTIONS(SM2_COSIGNER1_PROOF) -IMPLEMENT_ASN1_DUP_FUNCTION(SM2_COSIGNER1_PROOF) - -ASN1_SEQUENCE(SM2_COSIGNER2_PROOF) = { - ASN1_SIMPLE(SM2_COSIGNER2_PROOF, a, BIGNUM), - ASN1_SIMPLE(SM2_COSIGNER2_PROOF, b, BIGNUM) -} ASN1_SEQUENCE_END(SM2_COSIGNER2_PROOF) -IMPLEMENT_ASN1_FUNCTIONS(SM2_COSIGNER2_PROOF) -IMPLEMENT_ASN1_DUP_FUNCTION(SM2_COSIGNER2_PROOF) - -int i2d_SM2_COSIGNER1_SHARE_bio(BIO *bp, SM2_COSIGNER1_SHARE *a) -{ - return ASN1_item_i2d_bio(ASN1_ITEM_rptr(SM2_COSIGNER1_SHARE), bp, a); -} - -SM2_COSIGNER1_SHARE *d2i_SM2_COSIGNER1_SHARE_bio(BIO *bp, SM2_COSIGNER1_SHARE **a) -{ - return ASN1_item_d2i_bio(ASN1_ITEM_rptr(SM2_COSIGNER1_SHARE), bp, a); -} - -int i2d_SM2_COSIGNER2_SHARE_bio(BIO *bp, SM2_COSIGNER2_SHARE *a) -{ - return ASN1_item_i2d_bio(ASN1_ITEM_rptr(SM2_COSIGNER2_SHARE), bp, a); -} - -SM2_COSIGNER2_SHARE *d2i_SM2_COSIGNER2_SHARE_bio(BIO *bp, SM2_COSIGNER2_SHARE **a) -{ - return ASN1_item_d2i_bio(ASN1_ITEM_rptr(SM2_COSIGNER2_SHARE), bp, a); -} - -int i2d_SM2_COSIGNER1_PROOF_bio(BIO *bp, SM2_COSIGNER1_PROOF *a) -{ - return ASN1_item_i2d_bio(ASN1_ITEM_rptr(SM2_COSIGNER1_PROOF), bp, a); -} - -SM2_COSIGNER1_PROOF *d2i_SM2_COSIGNER1_PROOF_bio(BIO *bp, SM2_COSIGNER1_PROOF **a) -{ - return ASN1_item_d2i_bio(ASN1_ITEM_rptr(SM2_COSIGNER1_PROOF), bp, a); -} - -int i2d_SM2_COSIGNER2_PROOF_bio(BIO *bp, SM2_COSIGNER2_PROOF *a) -{ - return ASN1_item_i2d_bio(ASN1_ITEM_rptr(SM2_COSIGNER2_PROOF), bp, a); -} - -SM2_COSIGNER2_PROOF *d2i_SM2_COSIGNER2_PROOF_bio(BIO *bp, SM2_COSIGNER2_PROOF **a) -{ - return ASN1_item_d2i_bio(ASN1_ITEM_rptr(SM2_COSIGNER2_PROOF), bp, a); -} diff --git a/crypto/sm2/sm2_cosign.c b/crypto/sm2/sm2_cosign.c deleted file mode 100644 index bb07dd7e..00000000 --- a/crypto/sm2/sm2_cosign.c +++ /dev/null @@ -1,90 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../ec/ec_lcl.h" -#include "sm2_lcl.h" - -SM2_COSIGNER1_SHARE *SM2_cosigner1_setup(BIGNUM **k1, EC_KEY *ec_key, PAILLIER *pk) -{ - SM2err(SM2_F_SM2_COSIGNER1_SETUP, SM2_R_NOT_IMPLEMENTED); - return NULL; -} - -SM2_COSIGNER2_SHARE *SM2_cosigner2_setup(const SM2_COSIGNER1_SHARE *s1, BIGNUM **k2, EC_KEY *ec_key, PAILLIER *pk) -{ - SM2err(SM2_F_SM2_COSIGNER2_SETUP, SM2_R_NOT_IMPLEMENTED); - return NULL; -} - -SM2_COSIGNER1_PROOF *SM2_cosigner1_generate_proof(EC_KEY *ec_key, PAILLIER *pk) -{ - SM2err(SM2_F_SM2_COSIGNER1_GENERATE_PROOF, SM2_R_NOT_IMPLEMENTED); - return NULL; -} - -SM2_COSIGNER2_PROOF *SM2_cosigner2_generate_proof(EC_KEY *ec_key, PAILLIER *pk) -{ - SM2err(SM2_F_SM2_COSIGNER2_GENERATE_PROOF, SM2_R_NOT_IMPLEMENTED); - return NULL; -} - -ECDSA_SIG *SM2_cosigner1_generate_signature(EC_KEY *ec_key, PAILLIER *pk) -{ - SM2err(SM2_F_SM2_COSIGNER1_GENERATE_SIGNATURE, SM2_R_NOT_IMPLEMENTED); - return NULL; -} diff --git a/crypto/sm3/asm/sm3-586.pl b/crypto/sm3/asm/sm3-586.pl deleted file mode 100644 index 1a049f75..00000000 --- a/crypto/sm3/asm/sm3-586.pl +++ /dev/null @@ -1 +0,0 @@ -#! /usr/bin/env perl diff --git a/crypto/sm3/asm/sm3-x86_64.pl b/crypto/sm3/asm/sm3-x86_64.pl index 1a049f75..f07fb851 100755 --- a/crypto/sm3/asm/sm3-x86_64.pl +++ b/crypto/sm3/asm/sm3-x86_64.pl @@ -1 +1,289 @@ #! /usr/bin/env perl + +$flavour = shift; +$output = shift; +if ($flavour =~ /\./) { $output = $flavour; undef $flavour; } + +$win64=0; $win64=1 if ($flavour =~ /[nm]asm|mingw64/ || $output =~ /\.asm$/); + +$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; +( $xlate="${dir}x86_64-xlate.pl" and -f $xlate ) or +( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or +die "can't locate x86_64-xlate.pl"; + +if (`$ENV{CC} -Wa,-v -c -o /dev/null -x assembler /dev/null 2>&1` + =~ /GNU assembler version ([2-9]\.[0-9]+)/) { + $avx = ($1>=2.19) + ($1>=2.22); +} + +if (!$avx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) && + `nasm -v 2>&1` =~ /NASM version ([2-9]\.[0-9]+)/) { + $avx = ($1>=2.09) + ($1>=2.10); +} + +if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM} =~ /ml64/) && + `ml64 2>&1` =~ /Version ([0-9]+)\./) { + $avx = ($1>=10) + ($1>=11); +} + +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { + $avx = ($2>=3.0) + ($2>3.0); +} + +$avx=1 if ($avx); + +open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; +*STDOUT=*OUT; + + $func="sm3_block_data_order"; + $TABLE="K256"; + $SZ=4; + @ROT=($A,$B,$C,$D,$E,$F,$G,$H)=("%eax","%ebx","%ecx","%edx", + "%r8d","%r9d","%r10d","%r11d"); + ($T1,$a0,$a1,$a2,$a3)=("%r12d","%r13d","%r14d","%r15d","%edi"); + @Sigma0=( 2,13,22); + @Sigma1=( 6,11,25); + @sigma0=( 7,18, 3); + @sigma1=(17,19,10); + $rounds=64; + +$ctx="%rdi"; # 1st arg, zapped by $a3 +$inp="%rsi"; # 2nd arg +$Tbl="%rbp"; + +$_ctx="16*$SZ+0*8(%rsp)"; +$_inp="16*$SZ+1*8(%rsp)"; +$_end="16*$SZ+2*8(%rsp)"; +$_rsp="16*$SZ+3*8(%rsp)"; +$framesz="16*$SZ+4*8"; + + +sub ROUND_00_15() +{ my ($i,$a,$b,$c,$d,$e,$f,$g,$h) = @_; + my $STRIDE=$SZ; + $STRIDE += 16 if ($i%(16/$SZ)==(16/$SZ-1)); + +$code.=<<___; + ror \$`$Sigma1[2]-$Sigma1[1]`,$a0 + mov $f,$a2 + + xor $e,$a0 + ror \$`$Sigma0[2]-$Sigma0[1]`,$a1 + xor $g,$a2 # f^g + + mov $T1,`$SZ*($i&0xf)`(%rsp) + xor $a,$a1 + and $e,$a2 # (f^g)&e + + ror \$`$Sigma1[1]-$Sigma1[0]`,$a0 + add $h,$T1 # T1+=h + xor $g,$a2 # Ch(e,f,g)=((f^g)&e)^g + + ror \$`$Sigma0[1]-$Sigma0[0]`,$a1 + xor $e,$a0 + add $a2,$T1 # T1+=Ch(e,f,g) + + mov $a,$a2 + add ($Tbl),$T1 # T1+=K[round] + xor $a,$a1 + + xor $b,$a2 # a^b, b^c in next round + ror \$$Sigma1[0],$a0 # Sigma1(e) + mov $b,$h + + and $a2,$a3 + ror \$$Sigma0[0],$a1 # Sigma0(a) + add $a0,$T1 # T1+=Sigma1(e) + + xor $a3,$h # h=Maj(a,b,c)=Ch(a^b,c,b) + add $T1,$d # d+=T1 + add $T1,$h # h+=T1 + + lea $STRIDE($Tbl),$Tbl # round++ +___ +$code.=<<___ if ($i<15); + add $a1,$h # h+=Sigma0(a) +___ + ($a2,$a3) = ($a3,$a2); +} + +sub ROUND_16_XX() +{ my ($i,$a,$b,$c,$d,$e,$f,$g,$h) = @_; + +$code.=<<___; + mov `$SZ*(($i+1)&0xf)`(%rsp),$a0 + mov `$SZ*(($i+14)&0xf)`(%rsp),$a2 + + mov $a0,$T1 + ror \$`$sigma0[1]-$sigma0[0]`,$a0 + add $a1,$a # modulo-scheduled h+=Sigma0(a) + mov $a2,$a1 + ror \$`$sigma1[1]-$sigma1[0]`,$a2 + + xor $T1,$a0 + shr \$$sigma0[2],$T1 + ror \$$sigma0[0],$a0 + xor $a1,$a2 + shr \$$sigma1[2],$a1 + + ror \$$sigma1[0],$a2 + xor $a0,$T1 # sigma0(X[(i+1)&0xf]) + xor $a1,$a2 # sigma1(X[(i+14)&0xf]) + add `$SZ*(($i+9)&0xf)`(%rsp),$T1 + + add `$SZ*($i&0xf)`(%rsp),$T1 + mov $e,$a0 + add $a2,$T1 + mov $a,$a1 +___ + &ROUND_00_15(@_); +} + +$code=<<___; +.text + +.extern OPENSSL_ia32cap_P +.globl $func +.type $func,\@function,3 +.align 16 +$func: +___ +$code.=<<___; + push %rbx + push %rbp + push %r12 + push %r13 + push %r14 + push %r15 + mov %rsp,%r11 # copy %rsp + shl \$4,%rdx # num*16 + sub \$$framesz,%rsp + lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ + and \$-64,%rsp # align stack frame + mov $ctx,$_ctx # save ctx, 1st arg + mov $inp,$_inp # save inp, 2nd arh + mov %rdx,$_end # save end pointer, "3rd" arg + mov %r11,$_rsp # save copy of %rsp +.Lprologue: + + mov $SZ*0($ctx),$A + mov $SZ*1($ctx),$B + mov $SZ*2($ctx),$C + mov $SZ*3($ctx),$D + mov $SZ*4($ctx),$E + mov $SZ*5($ctx),$F + mov $SZ*6($ctx),$G + mov $SZ*7($ctx),$H + jmp .Lloop + +.align 16 +.Lloop: + mov $B,$a3 + lea $TABLE(%rip),$Tbl + xor $C,$a3 # magic +___ + for($i=0;$i<16;$i++) { + $code.=" mov $SZ*$i($inp),$T1\n"; + $code.=" mov @ROT[4],$a0\n"; + $code.=" mov @ROT[0],$a1\n"; + $code.=" bswap $T1\n"; + &ROUND_00_15($i,@ROT); + unshift(@ROT,pop(@ROT)); + } +$code.=<<___; + jmp .Lrounds_16_xx +.align 16 +.Lrounds_16_xx: +___ + for(;$i<32;$i++) { + &ROUND_16_XX($i,@ROT); + unshift(@ROT,pop(@ROT)); + } + +$code.=<<___; + cmpb \$0,`$SZ-1`($Tbl) + jnz .Lrounds_16_xx + + mov $_ctx,$ctx + add $a1,$A # modulo-scheduled h+=Sigma0(a) + lea 16*$SZ($inp),$inp + + add $SZ*0($ctx),$A + add $SZ*1($ctx),$B + add $SZ*2($ctx),$C + add $SZ*3($ctx),$D + add $SZ*4($ctx),$E + add $SZ*5($ctx),$F + add $SZ*6($ctx),$G + add $SZ*7($ctx),$H + + cmp $_end,$inp + + mov $A,$SZ*0($ctx) + mov $B,$SZ*1($ctx) + mov $C,$SZ*2($ctx) + mov $D,$SZ*3($ctx) + mov $E,$SZ*4($ctx) + mov $F,$SZ*5($ctx) + mov $G,$SZ*6($ctx) + mov $H,$SZ*7($ctx) + jb .Lloop + + mov $_rsp,%rsi + mov (%rsi),%r15 + mov 8(%rsi),%r14 + mov 16(%rsi),%r13 + mov 24(%rsi),%r12 + mov 32(%rsi),%rbp + mov 40(%rsi),%rbx + lea 48(%rsi),%rsp +.Lepilogue: + ret +.size $func,.-$func +___ + +$code.=<<___; +.align 64 +.type $TABLE,\@object +$TABLE: + .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 + .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 + .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 + .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 + .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 + .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 + .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 + .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 + .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc + .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc + .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da + .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da + .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 + .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 + .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 + .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 + .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 + .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 + .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 + .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 + .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 + .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 + .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 + .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 + .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 + .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 + .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 + .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 + .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 + .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 + .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 + .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 + + .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff + .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff + .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 + .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 +___ +close STDOUT; diff --git a/crypto/sm3/sm3.c b/crypto/sm3/sm3.c index fdbcab1f..996b6648 100755 --- a/crypto/sm3/sm3.c +++ b/crypto/sm3/sm3.c @@ -53,6 +53,7 @@ void sm3_init(sm3_ctx_t *ctx) { + memset(ctx, 0, sizeof(*ctx)); ctx->digest[0] = 0x7380166F; ctx->digest[1] = 0x4914B2B9; ctx->digest[2] = 0x172442D7; @@ -61,12 +62,9 @@ void sm3_init(sm3_ctx_t *ctx) ctx->digest[5] = 0x163138AA; ctx->digest[6] = 0xE38DEE4D; ctx->digest[7] = 0xB0FB0E4E; - - ctx->nblocks = 0; - ctx->num = 0; } -void sm3_update(sm3_ctx_t *ctx, const unsigned char* data, size_t data_len) +void sm3_update(sm3_ctx_t *ctx, const unsigned char *data, size_t data_len) { if (ctx->num) { unsigned int left = SM3_BLOCK_SIZE - ctx->num; @@ -119,24 +117,20 @@ void sm3_final(sm3_ctx_t *ctx, unsigned char *digest) } } -#define ROTATELEFT(X,n) (((X)<<(n)) | ((X)>>(32-(n)))) +#define ROTL(x,n) (((x)<<(n)) | ((x)>>(32-(n)))) +#define P0(x) ((x) ^ ROTL((x), 9) ^ ROTL((x),17)) +#define P1(x) ((x) ^ ROTL((x),15) ^ ROTL((x),23)) -#define P0(x) ((x) ^ ROTATELEFT((x),9) ^ ROTATELEFT((x),17)) -#define P1(x) ((x) ^ ROTATELEFT((x),15) ^ ROTATELEFT((x),23)) - -#define FF0(x,y,z) ( (x) ^ (y) ^ (z)) -#define FF1(x,y,z) (((x) & (y)) | ( (x) & (z)) | ( (y) & (z))) - -#define GG0(x,y,z) ( (x) ^ (y) ^ (z)) -#define GG1(x,y,z) (((x) & (y)) | ( (~(x)) & (z)) ) +#define FF00(x,y,z) ((x) ^ (y) ^ (z)) +#define FF16(x,y,z) (((x)&(y)) | ((x)&(z)) | ((y)&(z))) +#define GG00(x,y,z) ((x) ^ (y) ^ (z)) +#define GG16(x,y,z) (((x)&(y)) | ((~(x))&(z))) +#define T00 0x79CC4519 +#define T16 0x7A879D8A void sm3_compress(uint32_t digest[8], const unsigned char block[64]) { - int j; - uint32_t W[68], W1[64]; - const uint32_t *pblock = (const uint32_t *)block; - uint32_t A = digest[0]; uint32_t B = digest[1]; uint32_t C = digest[2]; @@ -145,48 +139,47 @@ void sm3_compress(uint32_t digest[8], const unsigned char block[64]) uint32_t F = digest[5]; uint32_t G = digest[6]; uint32_t H = digest[7]; - uint32_t SS1,SS2,TT1,TT2,T[64]; + const uint32_t *pblock = (const uint32_t *)block; + uint32_t W[68], W1[64]; + uint32_t SS1, SS2, TT1, TT2; + int j; + + for (j = 0; j < 16; j++) + W[j] = cpu_to_be32(pblock[j]); + + for (; j < 68; j++) + W[j] = P1(W[j - 16] ^ W[j - 9] ^ ROTL(W[j - 3], 15)) + ^ ROTL(W[j - 13], 7) ^ W[j - 6]; + + for(j = 0; j < 64; j++) + W1[j] = W[j] ^ W[j + 4]; for (j = 0; j < 16; j++) { - W[j] = cpu_to_be32(pblock[j]); - } - for (j = 16; j < 68; j++) { - W[j] = P1( W[j-16] ^ W[j-9] ^ ROTATELEFT(W[j-3],15)) ^ ROTATELEFT(W[j - 13],7 ) ^ W[j-6];; - } - for( j = 0; j < 64; j++) { - W1[j] = W[j] ^ W[j+4]; - } - - for(j =0; j < 16; j++) { - - T[j] = 0x79CC4519; - SS1 = ROTATELEFT((ROTATELEFT(A,12) + E + ROTATELEFT(T[j],j)), 7); - SS2 = SS1 ^ ROTATELEFT(A,12); - TT1 = FF0(A,B,C) + D + SS2 + W1[j]; - TT2 = GG0(E,F,G) + H + SS1 + W[j]; + SS1 = ROTL((ROTL(A, 12) + E + ROTL(T00, j)), 7); + SS2 = SS1 ^ ROTL(A, 12); + TT1 = FF00(A, B, C) + D + SS2 + W1[j]; + TT2 = GG00(E, F, G) + H + SS1 + W[j]; D = C; - C = ROTATELEFT(B,9); + C = ROTL(B, 9); B = A; A = TT1; H = G; - G = ROTATELEFT(F,19); + G = ROTL(F, 19); F = E; E = P0(TT2); } - for(j =16; j < 64; j++) { - - T[j] = 0x7A879D8A; - SS1 = ROTATELEFT((ROTATELEFT(A,12) + E + ROTATELEFT(T[j],j%32)), 7); - SS2 = SS1 ^ ROTATELEFT(A,12); - TT1 = FF1(A,B,C) + D + SS2 + W1[j]; - TT2 = GG1(E,F,G) + H + SS1 + W[j]; + for (; j < 64; j++) { + SS1 = ROTL((ROTL(A, 12) + E + ROTL(T16, j % 32)), 7); + SS2 = SS1 ^ ROTL(A, 12); + TT1 = FF16(A, B, C) + D + SS2 + W1[j]; + TT2 = GG16(E, F, G) + H + SS1 + W[j]; D = C; - C = ROTATELEFT(B,9); + C = ROTL(B, 9); B = A; A = TT1; H = G; - G = ROTATELEFT(F,19); + G = ROTL(F, 19); F = E; E = P0(TT2); } diff --git a/crypto/sm3/sm3_hmac.c b/crypto/sm3/sm3_hmac.c index 498e2e2a..1c134897 100644 --- a/crypto/sm3/sm3_hmac.c +++ b/crypto/sm3/sm3_hmac.c @@ -122,4 +122,3 @@ void sm3_hmac(const unsigned char *data, size_t data_len, sm3_hmac_final(&ctx, mac); memset(&ctx, 0, sizeof(ctx)); } - diff --git a/crypto/sm9/sm9_asn1.c b/crypto/sm9/sm9_asn1.c old mode 100644 new mode 100755 diff --git a/crypto/sm9/sm9_enc.c b/crypto/sm9/sm9_enc.c old mode 100644 new mode 100755 diff --git a/crypto/sm9/sm9_err.c b/crypto/sm9/sm9_err.c old mode 100644 new mode 100755 diff --git a/crypto/sm9/sm9_exch.c b/crypto/sm9/sm9_exch.c old mode 100644 new mode 100755 diff --git a/crypto/sm9/sm9_keygen.c b/crypto/sm9/sm9_keygen.c old mode 100644 new mode 100755 index ff82118d..e0fdcf0d --- a/crypto/sm9/sm9_keygen.c +++ b/crypto/sm9/sm9_keygen.c @@ -50,8 +50,6 @@ #include #include #include -#include -#include #include "sm9_lcl.h" @@ -304,8 +302,7 @@ SM9_KEY *SM9_MASTER_KEY_extract_key(SM9_MASTER_KEY *master, sk = NULL; end: - SM9PrivateKey_free(sk); - EC_GROUP_clear_free(group); + EC_GROUP_free(group); if (ctx) { BN_CTX_end(ctx); } diff --git a/crypto/sm9/sm9_lib.c b/crypto/sm9/sm9_lib.c old mode 100644 new mode 100755 index 71603ac4..d8c2cea2 --- a/crypto/sm9/sm9_lib.c +++ b/crypto/sm9/sm9_lib.c @@ -51,9 +51,11 @@ #include #include #include -#include +#include "../bn/bn_lcl.h" #include "sm9_lcl.h" +static int BN_hash_to_range(const EVP_MD *md, BIGNUM **bn, + const void *s, size_t slen, const BIGNUM *range, BN_CTX *bn_ctx); #if 0 typedef struct { @@ -231,3 +233,85 @@ int sm9_check_sign_scheme(int nid) { return 1; } + +int BN_hash_to_range(const EVP_MD *md, BIGNUM **bn, + const void *s, size_t slen, const BIGNUM *range, BN_CTX *bn_ctx) +{ + int ret = 0; + BIGNUM *r = NULL; + BIGNUM *a = NULL; + unsigned char *buf = NULL; + size_t buflen, mdlen; + int nbytes, rounds, i; + + if (!s || slen <= 0 || !md || !range) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_PASSED_NULL_PARAMETER); + return 0; + } + + if (!(*bn)) { + if (!(r = BN_new())) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_MALLOC_FAILURE); + return 0; + } + } else { + r = *bn; + BN_zero(r); + } + + mdlen = EVP_MD_size(md); + buflen = mdlen + slen; + if (!(buf = OPENSSL_malloc(buflen))) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_MALLOC_FAILURE); + goto end; + } + memset(buf, 0, mdlen); + memcpy(buf + mdlen, s, slen); + + a = BN_new(); + if (!a) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_MALLOC_FAILURE); + goto end; + } + + nbytes = BN_num_bytes(range); + rounds = (nbytes + mdlen - 1)/mdlen; + + if (!bn_expand(r, rounds * mdlen * 8)) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); + goto end; + } + + for (i = 0; i < rounds; i++) { + if (!EVP_Digest(buf, buflen, buf, (unsigned int *)&mdlen, md, NULL)) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_EVP_LIB); + goto end; + } + if (!BN_bin2bn(buf, mdlen, a)) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); + goto end; + } + if (!BN_lshift(r, r, mdlen * 8)) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); + goto end; + } + if (!BN_uadd(r, r, a)) { + goto end; + } + } + + if (!BN_mod(r, r, range, bn_ctx)) { + //BNerr(BN_F_BN_HASH_TO_RANGE, ERR_R_BN_LIB); + goto end; + } + + *bn = r; + ret = 1; +end: + if (!ret && !(*bn)) { + BN_free(r); + } + BN_free(a); + OPENSSL_free(buf); + return ret; +} diff --git a/crypto/sm9/sm9_params.c b/crypto/sm9/sm9_params.c old mode 100644 new mode 100755 diff --git a/crypto/sm9/sm9_pmeth.c b/crypto/sm9/sm9_pmeth.c old mode 100644 new mode 100755 diff --git a/crypto/sm9/sm9_rate.c b/crypto/sm9/sm9_rate.c index 56f2096c..913026f2 100644 --- a/crypto/sm9/sm9_rate.c +++ b/crypto/sm9/sm9_rate.c @@ -2659,7 +2659,6 @@ int rate_pairing(fp12_t r, const point_t *Q, const EC_POINT *P, BN_CTX *ctx) BN_free(xP); BN_free(yP); - EC_GROUP_clear_free(group); return ret; } diff --git a/crypto/sm9/sm9_setup.c b/crypto/sm9/sm9_setup.c old mode 100644 new mode 100755 diff --git a/crypto/sm9/sm9_sign.c b/crypto/sm9/sm9_sign.c old mode 100644 new mode 100755 index cd901ab1..f66a5fb0 --- a/crypto/sm9/sm9_sign.c +++ b/crypto/sm9/sm9_sign.c @@ -51,8 +51,6 @@ #include #include #include -#include -#include #include "sm9_lcl.h" @@ -198,8 +196,6 @@ end: BN_free(r); point_cleanup(&Ppubs); fp12_cleanup(w); - BN_CTX_end(bn_ctx); - BN_CTX_free(bn_ctx); return ret; } @@ -357,7 +353,9 @@ end: point_cleanup(&P); fp12_cleanup(w); fp12_cleanup(u); - BN_CTX_end(bn_ctx); + if (bn_ctx) { + BN_CTX_end(bn_ctx); + } BN_CTX_free(bn_ctx); return ret; } diff --git a/crypto/sof/build.info b/crypto/sof/build.info deleted file mode 100644 index e458751d..00000000 --- a/crypto/sof/build.info +++ /dev/null @@ -1,4 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - sof_err.c \ - sof_lib.c diff --git a/crypto/sof/sof_err.c b/crypto/sof/sof_err.c deleted file mode 100644 index 2a9ba53d..00000000 --- a/crypto/sof/sof_err.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * 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 - */ - -#include -#include -#include - -/* BEGIN ERROR CODES */ -#ifndef OPENSSL_NO_ERR - -# define ERR_FUNC(func) ERR_PACK(ERR_LIB_SOF,func,0) -# define ERR_REASON(reason) ERR_PACK(ERR_LIB_SOF,0,reason) - -static ERR_STRING_DATA SOF_str_functs[] = { - {ERR_FUNC(SOF_F_SOF_CHANGEPASSWD), "SOF_ChangePassWd"}, - {ERR_FUNC(SOF_F_SOF_CREATETIMESTAMPREQUEST), - "SOF_CreateTimeStampRequest"}, - {ERR_FUNC(SOF_F_SOF_CREATETIMESTAMPRESPONSE), - "SOF_CreateTimeStampResponse"}, - {ERR_FUNC(SOF_F_SOF_DECRYPTDATA), "SOF_DecryptData"}, - {ERR_FUNC(SOF_F_SOF_DECRYPTFILE), "SOF_DecryptFile"}, - {ERR_FUNC(SOF_F_SOF_DELCERTTRUSTLIST), "SOF_DelCertTrustList"}, - {ERR_FUNC(SOF_F_SOF_ENCRYPTDATA), "SOF_EncryptData"}, - {ERR_FUNC(SOF_F_SOF_ENCRYPTFILE), "SOF_EncryptFile"}, - {ERR_FUNC(SOF_F_SOF_EXPORTEXCHANGEUSERCERT), - "SOF_ExportExchangeUserCert"}, - {ERR_FUNC(SOF_F_SOF_EXPORTUSERCERT), "SOF_ExportUserCert"}, - {ERR_FUNC(SOF_F_SOF_G), "SOF_GenRandom"}, - {ERR_FUNC(SOF_F_SOF_GENRANDOM), "SOF_GenRandom"}, - {ERR_FUNC(SOF_F_SOF_GETCERTINFO), "SOF_GetCertInfo"}, - {ERR_FUNC(SOF_F_SOF_GETCERTINFOBYOID), "SOF_GetCertInfoByOid"}, - {ERR_FUNC(SOF_F_SOF_GETCERTTRUSTLIST), "SOF_GetCertTrustList"}, - {ERR_FUNC(SOF_F_SOF_GETCERTTRUSTLISTALTNAMES), - "SOF_GetCertTrustListAltNames"}, - {ERR_FUNC(SOF_F_SOF_GETDEVICEINFO), "SOF_GetDeviceInfo"}, - {ERR_FUNC(SOF_F_SOF_GETENCRYPTMETHOD), "SOF_GetEncryptMethod"}, - {ERR_FUNC(SOF_F_SOF_GETINFOFROMSIGNEDMESSAGE), - "SOF_GetInfoFromSignedMessage"}, - {ERR_FUNC(SOF_F_SOF_GETLASTERROR), "SOF_GetLastError"}, - {ERR_FUNC(SOF_F_SOF_GETPINRETRYCOUNT), "SOF_GetPinRetryCount"}, - {ERR_FUNC(SOF_F_SOF_GETSERVERCERTIFICATE), "SOF_GetServerCertificate"}, - {ERR_FUNC(SOF_F_SOF_GETSIGNMETHOD), "SOF_GetSignMethod"}, - {ERR_FUNC(SOF_F_SOF_GETTIMESTAMPINFO), "SOF_GetTimeStampInfo"}, - {ERR_FUNC(SOF_F_SOF_GETUSERLIST), "SOF_GetUserList"}, - {ERR_FUNC(SOF_F_SOF_GETVERSION), "SOF_GetVersion"}, - {ERR_FUNC(SOF_F_SOF_GETXMLSIGNATUREINFO), "SOF_GetXMLSignatureInfo"}, - {ERR_FUNC(SOF_F_SOF_INITCERTAPPPOLICY), "SOF_InitCertAppPolicy"}, - {ERR_FUNC(SOF_F_SOF_LOGIN), "SOF_Login"}, - {ERR_FUNC(SOF_F_SOF_SETCERTTRUSTLIST), "SOF_SetCertTrustList"}, - {ERR_FUNC(SOF_F_SOF_SETENCRYPTMETHOD), "SOF_SetEncryptMethod"}, - {ERR_FUNC(SOF_F_SOF_SETSIGNMETHOD), "SOF_SetSignMethod"}, - {ERR_FUNC(SOF_F_SOF_SIGNDATA), "SOF_SignData"}, - {ERR_FUNC(SOF_F_SOF_SIGNDATAXML), "SOF_SignDataXML"}, - {ERR_FUNC(SOF_F_SOF_SIGNFILE), "SOF_SignFile"}, - {ERR_FUNC(SOF_F_SOF_SIGNMESSAGE), "SOF_SignMessage"}, - {ERR_FUNC(SOF_F_SOF_SIGNMESSAGEDETACH), "SOF_SignMessageDetach"}, - {ERR_FUNC(SOF_F_SOF_VALIDATECERT), "SOF_ValidateCert"}, - {ERR_FUNC(SOF_F_SOF_VERIFYSIGNEDDATA), "SOF_VerifySignedData"}, - {ERR_FUNC(SOF_F_SOF_VERIFYSIGNEDDATAXML), "SOF_VerifySignedDataXML"}, - {ERR_FUNC(SOF_F_SOF_VERIFYSIGNEDFILE), "SOF_VerifySignedFile"}, - {ERR_FUNC(SOF_F_SOF_VERIFYSIGNEDMESSAGE), "SOF_VerifySignedMessage"}, - {ERR_FUNC(SOF_F_SOF_VERIFYSIGNEDMESSAGEDETACH), - "SOF_VerifySignedMessageDetach"}, - {ERR_FUNC(SOF_F_SOF_VERIFYTIMESTAMP), "SOF_VerifyTimeStamp"}, - {0, NULL} -}; - -static ERR_STRING_DATA SOF_str_reasons[] = { - {ERR_REASON(SOF_R_DECODE_FAILURE), "decode failure"}, - {ERR_REASON(SOF_R_INVALID_CERT_ATTRIBUTE), "invalid cert attribute"}, - {ERR_REASON(SOF_R_NOT_IMPLEMENTED), "not implemented"}, - {ERR_REASON(SOF_R_READ_FILE_FAILURE), "read file failure"}, - {0, NULL} -}; - -#endif - -int ERR_load_SOF_strings(void) -{ -#ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(SOF_str_functs[0].error) == NULL) { - ERR_load_strings(0, SOF_str_functs); - ERR_load_strings(0, SOF_str_reasons); - } -#endif - return 1; -} diff --git a/crypto/sof/sof_lib.c b/crypto/sof/sof_lib.c deleted file mode 100644 index 6719c8b4..00000000 --- a/crypto/sof/sof_lib.c +++ /dev/null @@ -1,573 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include -#include -#include "../../e_os.h" - -static SOF_LONG sof_sign_method = SGD_SM2; -static SOF_LONG sof_enc_method = SGD_SM4_CBC; -static SOF_LONG sof_last_error = SOR_OK; -static void *sof_app = NULL; -static int sof_user_type = SGD_ROLE_USER; - -static int sof_read_file(const char *path, unsigned char **pdata, - unsigned int *pdatalen) -{ - return 0; -} - -static char *sof_encode(const unsigned char *bin, unsigned int binlen) -{ - return NULL; -} - -#if 0 -static int sof_decode(const char *b64, unsigned char **pdata, unsigned int *pdatalen) -{ - return 0; -} -#endif - -SOF_BSTR SOF_GetVersion(void) -{ - return OPENSSL_strdup(OpenSSL_version(0)); -} - -SOF_LONG SOF_SetSignMethod(SOF_LONG SignMethod) -{ - sof_sign_method = SignMethod; - return SOR_OK; -} - -SOF_LONG SOF_GetSignMethod(void) -{ - return sof_sign_method; -} - -SOF_LONG SOF_SetEncryptMethod(SOF_LONG EncryptMethod) -{ - sof_enc_method = EncryptMethod; - return SOR_OK; -} - -SOF_LONG SOF_GetEncryptMethod(void) -{ - return sof_enc_method; -} - -/* list installed client's certificates */ -SOF_BSTR SOF_GetUserList(void) -{ - SOFerr(SOF_F_SOF_GETUSERLIST, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -/* we need an reference to engine */ -SOF_BSTR SOF_ExportUserCert(SOF_BSTR ContainerName) -{ - SOFerr(SOF_F_SOF_EXPORTUSERCERT, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BOOL SOF_Login(SOF_BSTR ContainerName, SOF_BSTR PassWd) -{ - unsigned int uiRemainCount; - int rv; - - if ((rv = SAF_Login( - sof_app, - sof_user_type, - (unsigned char *)ContainerName, - (unsigned int)strlen(ContainerName), - (unsigned char *)PassWd, - (unsigned int)strlen(PassWd), - &uiRemainCount)) != SAR_Ok) { - SOFerr(SOF_F_SOF_LOGIN, ERR_R_SAF_LIB); - return SGD_FALSE; - } - - return SGD_TRUE; -} - -SOF_LONG SOF_GetPinRetryCount(SOF_BSTR ContainerName) -{ - SOFerr(SOF_F_SOF_GETPINRETRYCOUNT, SOF_R_NOT_IMPLEMENTED); - return SOR_NotSupportYetErr; -} - -SOF_BOOL SOF_ChangePassWd(SOF_BSTR ContainerName, SOF_BSTR OldPassWd, SOF_BSTR NewPassWd) -{ - int rv; - unsigned int uiRemainCount; - - if ((rv = SAF_ChangePin( - sof_app, - sof_user_type, - (unsigned char *)ContainerName, - (unsigned int)strlen(ContainerName), - (unsigned char *)OldPassWd, - (unsigned int)strlen(OldPassWd), - (unsigned char *)NewPassWd, - (unsigned int)strlen(NewPassWd), - &uiRemainCount)) != SAR_Ok) { - SOFerr(SOF_F_SOF_CHANGEPASSWD, ERR_R_SAF_LIB); - return SGD_FALSE; - } - - return SGD_TRUE; -} - -SOF_BSTR SOF_ExportExchangeUserCert(SOF_BSTR ContainerName) -{ - SOFerr(SOF_F_SOF_EXPORTEXCHANGEUSERCERT, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -/* `type` defined as SGD_CERT_XXX, SGD_EXT_XXX in sgd.h */ -SOF_BSTR SOF_GetCertInfo(SOF_BSTR Base64EncodeCert, SOF_SHORT Type) -{ - char *ret = NULL; - - switch (Type) { - case SGD_CERT_VERSION: - case SGD_CERT_SERIAL: - case SGD_CERT_ISSUER: - case SGD_CERT_VALID_TIME: - case SGD_CERT_SUBJECT: - case SGD_CERT_DER_PUBLIC_KEY: - case SGD_CERT_DER_EXTENSIONS: - case SGD_EXT_AUTHORITYKEYIDENTIFIER_INFO: - case SGD_EXT_SUBJECTKEYIDENTIFIER_INFO: - case SGD_EXT_KEYUSAGE_INFO: - case SGD_EXT_PRIVATEKEYUSAGEPERIOD_INFO: - case SGD_EXT_CERTIFICATEPOLICIES_INFO: - case SGD_EXT_POLICYMAPPINGS_INFO: - case SGD_EXT_BASICCONSTRAINTS_INFO: - case SGD_EXT_POLICYCONSTRAINTS_INFO: - case SGD_EXT_EXTKEYUSAGE_INFO: - case SGD_EXT_CRLDISTRIBUTIONPOINTS_INFO: - case SGD_EXT_NETSCAPE_CERT_TYPE_INFO: - case SGD_EXT_SELFDEFINED_EXTENSION_INFO: - case SGD_CERT_ISSUER_CN: - case SGD_CERT_ISSUER_O: - case SGD_CERT_ISSUER_OU: - case SGD_CERT_SUBJECT_CN: - case SGD_CERT_SUBJECT_O: - case SGD_CERT_SUBJECT_OU: - case SGD_CERT_SUBJECT_EMAIL: - case SGD_CERT_NOTBEFORE_TIME: - case SGD_CERT_NOTAFTER_TIME: - SOFerr(SOF_F_SOF_GETCERTINFO, SOF_R_NOT_IMPLEMENTED); - goto end; - default: - SOFerr(SOF_F_SOF_GETCERTINFO, SOF_R_INVALID_CERT_ATTRIBUTE); - goto end; - } - -end: - SOFerr(SOF_F_SOF_GETCERTINFO, SOF_R_NOT_IMPLEMENTED); - return ret; -} - -SOF_BSTR SOF_GetCertInfoByOid(SOF_BSTR Base64EncodeCert, SOF_BSTR Oid) -{ - SOFerr(SOF_F_SOF_GETCERTINFOBYOID, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BSTR SOF_GetDeviceInfo(SOF_BSTR ContainerName, SOF_LONG Type) -{ - SOFerr(SOF_F_SOF_GETDEVICEINFO, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_LONG SOF_ValidateCert(SOF_BSTR Base64EncodeCert) -{ - SOFerr(SOF_F_SOF_VALIDATECERT, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_BSTR SOF_SignData(SOF_BSTR ContainerName, SOF_BSTR InData) -{ - char *ret = NULL; - char *b64 = NULL; - unsigned int uiHashAlgoType = SGD_SM3; - unsigned char *pucInData = NULL; - unsigned int uiInDataLen = strlen(InData) + 128; - unsigned char pucSignature[256]; - unsigned int uiSignatureLen = (unsigned int)sizeof(pucSignature); - int rv; - - if (!(pucInData = OPENSSL_malloc(uiInDataLen))) { - SOFerr(SOF_F_SOF_SIGNDATA, ERR_R_MALLOC_FAILURE); - goto end; - } - - if (SAF_Base64_Decode((unsigned char *)InData, (unsigned int)strlen(InData), - pucInData, &uiInDataLen) != SOR_OK) { - SOFerr(SOF_F_SOF_SIGNDATA, SOF_R_DECODE_FAILURE); - goto end; - } - - if (SOF_GetSignMethod() == SGD_SM2) { - if ((rv = SAF_RsaSign( - sof_app, - (unsigned char *)ContainerName, - (unsigned int)strlen(ContainerName), - uiHashAlgoType, - pucInData, - uiInDataLen, - pucSignature, - &uiSignatureLen)) != SAR_Ok) { - SOFerr(SOF_F_SOF_SIGNDATA, ERR_R_SAF_LIB); - goto end; - } - } else { - if ((rv = SAF_EccSign( - sof_app, - (unsigned char *)ContainerName, - (unsigned int)strlen(ContainerName), - uiHashAlgoType, - pucInData, - uiInDataLen, - pucSignature, - &uiSignatureLen)) != SAR_Ok) { - SOFerr(SOF_F_SOF_SIGNDATA, ERR_R_SAF_LIB); - goto end; - } - } - - ret = SOR_OK; -end: - OPENSSL_free(b64); - OPENSSL_free(pucInData); - return ret; -} - -SOF_BOOL SOF_VerifySignedData(SOF_BSTR Base64EncodeCert, SOF_BSTR InData, SOF_BSTR SignValue) -{ - SOFerr(SOF_F_SOF_VERIFYSIGNEDDATA, SOF_R_NOT_IMPLEMENTED); - return 0; -} - - -SOF_BSTR SOF_SignFile(SOF_BSTR ContainerName, SOF_BSTR InFile) -{ - SOF_BSTR ret = NULL; - char *b64 = NULL; - unsigned int uiHashAlgoType = SGD_SM3; - unsigned char *pucInData = NULL; - unsigned int uiInDataLen; - unsigned char pucSignature[256]; - unsigned int uiSignatureLen = (unsigned int)sizeof(pucSignature); - int rv; - - if (!sof_read_file(InFile, &pucInData, &uiInDataLen)) { - SOFerr(SOF_F_SOF_SIGNFILE, SOF_R_READ_FILE_FAILURE); - return NULL; - } - - if ((rv = SAF_EccSign( - sof_app, - (unsigned char *)ContainerName, - (unsigned int)strlen(ContainerName), - uiHashAlgoType, - pucInData, - uiInDataLen, - pucSignature, - &uiSignatureLen)) != SAR_Ok) { - SOFerr(SOF_F_SOF_SIGNFILE, ERR_R_SAF_LIB); - goto end; - } - - if (!(b64 = sof_encode(pucSignature, uiSignatureLen))) { - SOFerr(SOF_F_SOF_SIGNFILE, ERR_R_SOF_LIB); - goto end; - } - - ret = b64; - b64 = NULL; - -end: - OPENSSL_free(b64); - OPENSSL_free(pucInData); - return ret; -} - -SOF_BOOL SOF_VerifySignedFile(SOF_BSTR Base64EncodeCert, SOF_BSTR InFile, SOF_BSTR SignValue) -{ - return SGD_FALSE; -} - -SOF_BSTR SOF_EncryptData(SOF_BSTR Base64EncodeCert, SOF_BSTR InData) -{ -#if 0 - char *ret = NULL; - unsigned char *pucCertificate = NULL; - unsigned int uiCertificateLen; - unsigned char *pucInData = NULL; - unsigned int uiInDataLen; - int rv; - - if (SOF_Decode(Base64EncodeCert, &pucCertificate, &uiCertificateLen) != SOR_OK - || SOF_Decode(InData, &pucInData, &uiInDataLen) != SOR_OK - || (rv = SAF_EccPublicKeyEncByCert( - pucCertificate, - uiCertificateLen, - uiAlgorithmID, - pucInData, - uiInDataLen, - pucOutData, - puiOutDataLen)) != SAR_Ok) { - } -#endif - return NULL; -} - -SOF_BSTR SOF_DecryptData(SOF_BSTR ContainerName, SOF_BSTR InData) -{ - SOFerr(SOF_F_SOF_DECRYPTDATA, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BOOL SOF_EncryptFile(SOF_BSTR Base64EncodeCert, SOF_BSTR InFile, SOF_BSTR OutFile) -{ - int ret = SGD_FALSE; -#if 0 - unsigned char *pucCertificate = NULL; - unsigned int uiCertificateLen; - int rv; - - if (SOF_Decode(Base64EncodeCert, &pucCertificate, &uiCertificateLen) != SOR_OK) { - SOFerr(SOF_F_SOF_ENCRYPTFILE, SOF_R_DECODE_FAILURE); - goto end; - } - - if ((rv = SAF_EccPublicKeyEncByCert( - pucCertificate, - uiCertificateLen, - uiAlgorithmID, - pucInData, - uiInDataLen, - pucOutData, - puiOutDataLen)) != SAR_Ok) { - SOFerr(SOF_F_SOF_ENCRYPTFILE, ERR_R_SAF_LIB); - goto end; - } - - ret = SGD_TRUE; - -end: - OPENSSL_free(pucCertificate); -#endif - return ret; -} - -SOF_BOOL SOF_DecryptFile(SOF_BSTR ContainerName, SOF_BSTR InFile, SOF_BSTR OutFile) -{ - int ret = SGD_FALSE; - return ret; -} - -SOF_BSTR SOF_SignMessage(SOF_SHORT flag, SOF_BSTR ContainerName, SOF_BSTR InData) -{ - SOFerr(SOF_F_SOF_SIGNMESSAGE, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BOOL SOF_VerifySignedMessage(SOF_BSTR MessageData, SOF_BSTR InData) -{ - SOFerr(SOF_F_SOF_VERIFYSIGNEDMESSAGE, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_BSTR SOF_GetInfoFromSignedMessage(SOF_BSTR SignedMessage, SOF_SHORT Type) -{ - SOFerr(SOF_F_SOF_GETINFOFROMSIGNEDMESSAGE, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BSTR SOF_SignDataXML(SOF_BSTR ContainerName, SOF_BSTR InData) -{ - return NULL; -} - -SOF_BOOL SOF_VerifySignedDataXML(SOF_BSTR InData) -{ - SOFerr(SOF_F_SOF_VERIFYSIGNEDDATAXML, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_BSTR SOF_GetXMLSignatureInfo(SOF_BSTR XMLSignedData, SOF_SHORT Type) -{ - SOFerr(SOF_F_SOF_GETXMLSIGNATUREINFO, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BSTR SOF_GenRandom(SOF_SHORT RandomLen) -{ - char *ret = NULL; - char *b64 = NULL; - unsigned char *bin = NULL; - int rv; - - if (!(bin = OPENSSL_malloc(RandomLen)) - || (rv = SAF_GenRandom(RandomLen, bin)) != SAR_Ok - || !(b64 = sof_encode(bin, RandomLen))) { - SOFerr(SOF_F_SOF_GENRANDOM, ERR_R_SOF_LIB); - goto end; - } - -end: - OPENSSL_free(bin); - OPENSSL_free(b64); - return ret; -} - -SOF_LONG SOF_GetLastError(void) -{ - return sof_last_error; -} - -SOF_LONG SOF_SetCertTrustList(SOF_BSTR CTLAltName, SOF_BSTR CTLContent, SOF_SHORT CTLContentLen) -{ - SOFerr(SOF_F_SOF_SETCERTTRUSTLIST, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_BSTR SOF_GetCertTrustListAltNames(void) -{ - SOFerr(SOF_F_SOF_GETCERTTRUSTLISTALTNAMES, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BSTR SOF_GetCertTrustList(SOF_BSTR CTLAltName) -{ - SOFerr(SOF_F_SOF_GETCERTTRUSTLIST, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_LONG SOF_DelCertTrustList(SOF_BSTR CTLAltName) -{ - SOFerr(SOF_F_SOF_DELCERTTRUSTLIST, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_LONG SOF_InitCertAppPolicy(SOF_BSTR PolicyName) -{ - SOFerr(SOF_F_SOF_INITCERTAPPPOLICY, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_BSTR SOF_GetServerCertificate(SOF_SHORT CertUsage) -{ - SOFerr(SOF_F_SOF_GETSERVERCERTIFICATE, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BSTR SOF_SignMessageDetach(SOF_BSTR InData) -{ - SOFerr(SOF_F_SOF_SIGNMESSAGEDETACH, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_LONG SOF_VerifySignedMessageDetach(SOF_BSTR InData, SOF_BSTR SignedMessage) -{ - SOFerr(SOF_F_SOF_VERIFYSIGNEDMESSAGEDETACH, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_BSTR SOF_CreateTimeStampRequest(SOF_BSTR InData) -{ - SOFerr(SOF_F_SOF_CREATETIMESTAMPREQUEST, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_BSTR SOF_CreateTimeStampResponse(SOF_BSTR TimeStampRequest) -{ - SOFerr(SOF_F_SOF_CREATETIMESTAMPRESPONSE, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -SOF_LONG SOF_VerifyTimeStamp(SOF_BSTR InData, SOF_BSTR tsResponseData) -{ - SOFerr(SOF_F_SOF_VERIFYTIMESTAMP, SOF_R_NOT_IMPLEMENTED); - return 0; -} - -SOF_BSTR SOF_GetTimeStampInfo(SOF_BSTR tsResponseData, SOF_SHORT type) -{ - SOFerr(SOF_F_SOF_GETTIMESTAMPINFO, SOF_R_NOT_IMPLEMENTED); - return NULL; -} - -static ERR_STRING_DATA sof_errstr[] = { - { SOR_OK, "Success" }, - { SOR_UnknownErr, "Unknown error" }, - { SOR_FileErr, "File error" }, - { SOR_ProviderTypeErr, "Provider type error" }, - { SOR_LoadProviderErr, "Load provider error" }, -}; - -const char *SOF_GetErrorString(int err) -{ - int i; - for (i = 0; i < OSSL_NELEM(sof_errstr); i++) { - if (err == sof_errstr[i].error) { - return sof_errstr[i].string; - } - } - return "(undef)"; -} diff --git a/crypto/speck/build.info b/crypto/speck/build.info deleted file mode 100755 index f3cc909c..00000000 --- a/crypto/speck/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=speck.c diff --git a/crypto/speck/speck.c b/crypto/speck/speck.c deleted file mode 100755 index 522c076d..00000000 --- a/crypto/speck/speck.c +++ /dev/null @@ -1,198 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include "speck_lcl.h" - -void speck_set_encrypt_key16(SPECK_TYPE16 const K[SPECK_KEY_LEN16], SPECK_TYPE16 S[SPECK_ROUNDS16]) -{ - SPECK_TYPE16 i, b = K[0]; - SPECK_TYPE16 a[SPECK_KEY_LEN16 - 1]; - for (i = 0; i < (SPECK_KEY_LEN16 - 1); i++) - { - a[i] = K[i + 1]; - } - S[0] = b; - for (i = 0; i < SPECK_ROUNDS16 - 1; i++) { - R16(a[i % (SPECK_KEY_LEN16 - 1)], b, i); - S[i + 1] = b; - } -} - -void speck_set_decrypt_key16(SPECK_TYPE16 const K[SPECK_KEY_LEN16], SPECK_TYPE16 S[SPECK_ROUNDS16]) -{ - SPECK_TYPE16 i, b = K[0]; - SPECK_TYPE16 a[SPECK_KEY_LEN16 - 1]; - for (i = 0; i < (SPECK_KEY_LEN16 - 1); i++) - { - a[i] = K[i + 1]; - } - S[0] = b; - for (i = 0; i < SPECK_ROUNDS16 - 1; i++) { - R16(a[i % (SPECK_KEY_LEN16 - 1)], b, i); - S[i + 1] = b; - } -} - -void speck_encrypt16(SPECK_TYPE16 const pt[2], SPECK_TYPE16 ct[2], SPECK_TYPE16 const K[SPECK_ROUNDS16]) -{ - SPECK_TYPE16 i; - ct[0] = pt[0]; ct[1] = pt[1]; - for (i = 0; i < SPECK_ROUNDS16; i++){ - R16(ct[1], ct[0], K[i]); - } -} - -void speck_decrypt16(SPECK_TYPE16 const ct[2], SPECK_TYPE16 pt[2], SPECK_TYPE16 const K[SPECK_ROUNDS16]) -{ - SPECK_TYPE16 i; - pt[0] = ct[0]; pt[1] = ct[1]; - - for (i = 0; i < SPECK_ROUNDS16; i++){ - RR16(pt[1], pt[0], K[(SPECK_ROUNDS16 - 1) - i]); - } -} - -void speck_set_encrypt_key32(SPECK_TYPE32 const K[SPECK_KEY_LEN32], SPECK_TYPE32 S[SPECK_ROUNDS32]) -{ - SPECK_TYPE32 i, b = K[0]; - SPECK_TYPE32 a[SPECK_KEY_LEN32 - 1]; - for (i = 0; i < (SPECK_KEY_LEN32 - 1); i++) - { - a[i] = K[i + 1]; - } - S[0] = b; - for (i = 0; i < SPECK_ROUNDS32 - 1; i++) { - R32(a[i % (SPECK_KEY_LEN32 - 1)], b, i); - S[i + 1] = b; - } -} - -void speck_set_decrypt_key32(SPECK_TYPE32 const K[SPECK_KEY_LEN32], SPECK_TYPE32 S[SPECK_ROUNDS32]) -{ - SPECK_TYPE32 i, b = K[0]; - SPECK_TYPE32 a[SPECK_KEY_LEN32 - 1]; - for (i = 0; i < (SPECK_KEY_LEN32 - 1); i++) - { - a[i] = K[i + 1]; - } - S[0] = b; - for (i = 0; i < SPECK_ROUNDS32 - 1; i++) { - R32(a[i % (SPECK_KEY_LEN32 - 1)], b, i); - S[i + 1] = b; - } -} - -void speck_encrypt32(SPECK_TYPE32 const pt[2], SPECK_TYPE32 ct[2], SPECK_TYPE32 const K[SPECK_ROUNDS32]) -{ - SPECK_TYPE32 i; - ct[0] = pt[0]; ct[1] = pt[1]; - for (i = 0; i < SPECK_ROUNDS32; i++){ - R32(ct[1], ct[0], K[i]); - } -} - -void speck_decrypt32(SPECK_TYPE32 const ct[2], SPECK_TYPE32 pt[2], SPECK_TYPE32 const K[SPECK_ROUNDS32]) -{ - SPECK_TYPE32 i; - pt[0] = ct[0]; pt[1] = ct[1]; - - for (i = 0; i < SPECK_ROUNDS32; i++){ - RR32(pt[1], pt[0], K[(SPECK_ROUNDS32 - 1) - i]); - } -} - -void speck_set_encrypt_key64(SPECK_TYPE64 const K[SPECK_KEY_LEN64], SPECK_TYPE64 S[SPECK_ROUNDS64]) -{ - SPECK_TYPE64 i, b = K[0]; - SPECK_TYPE64 a[SPECK_KEY_LEN64 - 1]; - for (i = 0; i < (SPECK_KEY_LEN64 - 1); i++) - { - a[i] = K[i + 1]; - } - S[0] = b; - for (i = 0; i < SPECK_ROUNDS64 - 1; i++) { - R64(a[i % (SPECK_KEY_LEN64 - 1)], b, i); - S[i + 1] = b; - } -} - -void speck_set_decrypt_key64(SPECK_TYPE64 const K[SPECK_KEY_LEN64], SPECK_TYPE64 S[SPECK_ROUNDS64]) -{ - SPECK_TYPE64 i, b = K[0]; - SPECK_TYPE64 a[SPECK_KEY_LEN64 - 1]; - for (i = 0; i < (SPECK_KEY_LEN64 - 1); i++) - { - a[i] = K[i + 1]; - } - S[0] = b; - for (i = 0; i < SPECK_ROUNDS64 - 1; i++) { - R64(a[i % (SPECK_KEY_LEN64 - 1)], b, i); - S[i + 1] = b; - } -} - -void speck_encrypt64(SPECK_TYPE64 const pt[2], SPECK_TYPE64 ct[2], SPECK_TYPE64 const K[SPECK_ROUNDS64]) -{ - SPECK_TYPE64 i; - ct[0] = pt[0]; ct[1] = pt[1]; - for (i = 0; i < SPECK_ROUNDS64; i++){ - R64(ct[1], ct[0], K[i]); - } -} - -void speck_decrypt64(SPECK_TYPE64 const ct[2], SPECK_TYPE64 pt[2], SPECK_TYPE64 const K[SPECK_ROUNDS64]) -{ - SPECK_TYPE64 i; - pt[0] = ct[0]; pt[1] = ct[1]; - - for (i = 0; i < SPECK_ROUNDS64; i++){ - RR64(pt[1], pt[0], K[(SPECK_ROUNDS64 - 1) - i]); - } -} diff --git a/crypto/speck/speck_lcl.h b/crypto/speck/speck_lcl.h deleted file mode 100644 index 526f8573..00000000 --- a/crypto/speck/speck_lcl.h +++ /dev/null @@ -1,74 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_SPECK_LCL_H -#define HEADER_SPECK_LCL_H - -#define SPECK_TYPE16 uint16_t -#define SPECK_TYPE32 uint32_t -#define SPECK_TYPE64 uint64_t - -#define ROR16(x, r) ((x >> r) | (x << ((sizeof(SPECK_TYPE16) * 8) - r))) -#define ROL16(x, r) ((x << r) | (x >> ((sizeof(SPECK_TYPE16) * 8) - r))) - -#define ROR32(x, r) ((x >> r) | (x << ((sizeof(SPECK_TYPE32) * 8) - r))) -#define ROL32(x, r) ((x << r) | (x >> ((sizeof(SPECK_TYPE32) * 8) - r))) - -#define ROR64(x, r) ((x >> r) | (x << ((sizeof(SPECK_TYPE64) * 8) - r))) -#define ROL64(x, r) ((x << r) | (x >> ((sizeof(SPECK_TYPE64) * 8) - r))) - -#define R16(x, y, k) (x = ROR16(x, 7), x += y, x ^= k, y = ROL16(y, 2), y ^= x) -#define RR16(x, y, k) (y ^= x, y = ROR16(y, 2), x ^= k, x -= y, x = ROL16(x, 7)) - -#define R32(x, y, k) (x = ROR32(x, 8), x += y, x ^= k, y = ROL32(y, 3), y ^= x) -#define RR32(x, y, k) (y ^= x, y = ROR32(y, 3), x ^= k, x -= y, x = ROL32(x, 8)) - -#define R64(x, y, k) (x = ROR64(x, 8), x += y, x ^= k, y = ROL64(y, 3), y ^= x) -#define RR64(x, y, k) (y ^= x, y = ROR64(y, 3), x ^= k, x -= y, x = ROL64(x, 8)) - -#endif diff --git a/crypto/sphincs/.clang-format b/crypto/sphincs/.clang-format deleted file mode 100644 index 95ba58ea..00000000 --- a/crypto/sphincs/.clang-format +++ /dev/null @@ -1,46 +0,0 @@ -AccessModifierOffset: 0 -AlignEscapedNewlinesLeft: false -AlignTrailingComments: true -AllowAllParametersOfDeclarationOnNextLine: false -AllowShortFunctionsOnASingleLine: true -AllowShortIfStatementsOnASingleLine: true -AllowShortLoopsOnASingleLine: true -AlwaysBreakBeforeMultilineStrings: false -AlwaysBreakTemplateDeclarations: false -BinPackParameters: false -BreakBeforeBinaryOperators: false -BreakBeforeBraces: Attach -BreakBeforeTernaryOperators: false -BreakConstructorInitializersBeforeComma: false -ColumnLimit: 80 -CommentPragmas: '' -ConstructorInitializerAllOnOneLineOrOnePerLine: false -ConstructorInitializerIndentWidth: 0 -ContinuationIndentWidth: 0 -Cpp11BracedListStyle: false -DerivePointerBinding: false -IndentCaseLabels: false -IndentFunctionDeclarationAfterType: false -IndentWidth: 4 -Language: Cpp -MaxEmptyLinesToKeep: 2 -NamespaceIndentation: None -ObjCSpaceAfterProperty: true -ObjCSpaceBeforeProtocolList: true -PenaltyBreakBeforeFirstCallParameter: 100 -PenaltyBreakComment: 100 -PenaltyBreakFirstLessLess: 0 -PenaltyBreakString: 100 -PenaltyExcessCharacter: 1 -PenaltyReturnTypeOnItsOwnLine: 20 -SpaceBeforeAssignmentOperators: true -SpaceBeforeParens: Always -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 1 -SpacesInAngles: false -SpacesInCStyleCastParentheses: false -SpacesInContainerLiterals: false -SpacesInParentheses: false -Standard: Cpp11 -TabWidth: 4 -UseTab: Never diff --git a/crypto/sphincs/.gitignore b/crypto/sphincs/.gitignore deleted file mode 100644 index 3a09df25..00000000 --- a/crypto/sphincs/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -bench -*.o -*.dSYM diff --git a/crypto/sphincs/LICENSE b/crypto/sphincs/LICENSE deleted file mode 100644 index 6ed4a65b..00000000 --- a/crypto/sphincs/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2017 Nagravision S.A. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/crypto/sphincs/Makefile b/crypto/sphincs/Makefile deleted file mode 100644 index 5f6d6e6a..00000000 --- a/crypto/sphincs/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -SRC=$(wildcard *.c) $(wildcard primitives/*.c) -OBJ=$(patsubst %.c, %.o, $(SRC)) - -CFLAGS_COMMON=-std=c89 -pedantic -Wall -Wextra -Wno-long-long -march=native -LDFLAGS=-lcrypto - -VERSION_S= -DPORS_k=24 -DMERKLE_h=5 -DGRAVITY_d=1 -DGRAVITY_c=10 -VERSION_M= -DPORS_k=32 -DMERKLE_h=5 -DGRAVITY_d=7 -DGRAVITY_c=15 -VERSION_L= -DPORS_k=28 -DMERKLE_h=5 -DGRAVITY_d=10 -DGRAVITY_c=14 - -VERSION=$(VERSION_S) - -CFLAGS_COMMON+=$(VERSION) -CFLAGS=$(CFLAGS_COMMON) -O3 -fomit-frame-pointer -CFLAGS_SANITIZED=$(CFLAGS_COMMON) -fsanitize=address,undefined -g - -KERNEL_NAME := $(shell uname -s) -ifeq ($(KERNEL_NAME), Darwin) - CFLAGS += -I/usr/local/opt/openssl/include - LDFLAGS += -L/usr/local/opt/openssl/lib -endif - -all: help - -help: - @echo "Please choose a target:" - @echo "\tanalyze\t\t runs static analyzers" - @echo "\tbench\t\t runs speed benchmarks" - @echo "\tclean\t\t cleans up" - @echo "\tformat\t\t formats the code using .clang-format rules" - -bench: $(SRC) - $(CC) $(CFLAGS) $(LDFLAGS) $^ -o bench - ./bench - -format: - clang-format -i *.c *.h - -analyze: - cppcheck . --std=c89 - scan-build gcc -c $(CFLAGS_SANITIZED) *.c - cppclean . - rm -f *.o - -cloc: - cloc $(wildcard *.c) $(wildcard *.h) - -clean: - rm -f bench *.dSYM *.o - -.PHONY: clean format analyze cloc bench - diff --git a/crypto/sphincs/aes.h b/crypto/sphincs/aes.h deleted file mode 100644 index 8a7b25b4..00000000 --- a/crypto/sphincs/aes.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include - -int aesctr256 (uint8_t *out, const uint8_t *sk, const void *counter, int bytes); - -int aesctr256_zeroiv (uint8_t *out, const uint8_t *sk, int bytes); diff --git a/crypto/sphincs/api.h b/crypto/sphincs/api.h deleted file mode 100644 index a2a66644..00000000 --- a/crypto/sphincs/api.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#ifndef CRYPTO_BYTES - -/* setting CRYPTO_BYTES to the static structure size, for simplicity, - as opposed to the actual message-dependent signature size */ - -#define CRYPTO_ALGNAME "Gravity-SPHINCS S" -#define CRYPTO_SECRETKEYBYTES 65568 -#define CRYPTO_PUBLICKEYBYTES 32 -#define CRYPTO_BYTES 15728 // 12640 - -#if 0 -#define CRYPTO_ALGNAME "Gravity-SPHINCS M" -#define CRYPTO_SECRETKEYBYTES 2097184 -#define CRYPTO_PUBLICKEYBYTES 32 -#define CRYPTO_BYTES 34064 // 28929 -#endif - -#if 0 -#define CRYPTO_ALGNAME "Gravity-SPHINCS L" -#define CRYPTO_SECRETKEYBYTES 1048608 -#define CRYPTO_PUBLICKEYBYTES 32 -#define CRYPTO_BYTES 38768 // 35168 -#endif - -#endif - -int crypto_sign_keypair (unsigned char *pk, unsigned char *sk); - -int crypto_sign (unsigned char *sm, - unsigned long long *smlen, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk); - -int crypto_sign_open (unsigned char *m, - unsigned long long *mlen, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk); diff --git a/crypto/sphincs/batch.c b/crypto/sphincs/batch.c deleted file mode 100644 index 3159b591..00000000 --- a/crypto/sphincs/batch.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#include "batch.h" - -#include "merkle.h" - -int batch_init (struct batch_buf *buf) { - buf->count = 0; - return GRAVITY_OK; -} - -int batch_append (struct batch_buf *buf, const uint8_t *msg, uint64_t len, uint32_t *index) { - if (buf->count == MAX_BATCH_COUNT) return GRAVITY_ERR_BATCH; - - /* TODO: randomize this hash? */ - hash_to_N (&buf->buf[buf->count], msg, len); - - *index = buf->count; - ++buf->count; - - return GRAVITY_OK; -} - -int batch_group (struct batch_group *group, struct batch_buf *buf) { - int height = LOG_MAX_BATCH_COUNT; - int n = 1 << height; - int offset = n - 1; - - struct hash *src; - struct hash *dst; - uint32_t count; - int i; - - /* Check batch count */ - count = buf->count; - if (count == 0) return GRAVITY_ERR_BATCH; - group->count = count; - - /* Leaves */ - dst = &group->tree[offset]; - - hashcpyN (dst, buf->buf, count); - for (i = count; i < n; ++i) hashcpy (&dst[i], &buf->buf[0]); - - /* Compress until root */ - while (height > 0) { - offset >>= 1; - --height; - - src = dst; - dst = &group->tree[offset]; - hash_compress_pairs (dst, src, 1 << height); - } - - return GRAVITY_OK; -} - -int batch_extract (const struct batch_group *group, struct batch_auth *auth, uint32_t index) { - int height = LOG_MAX_BATCH_COUNT; - int n = 1 << height; - int offset = n - 1; - - uint32_t count; - int i, sibling; - - /* Check batch count */ - count = group->count; - if (index >= count) return GRAVITY_ERR_BATCH; - - /* Convert row index into tree index */ - auth->index = offset + index; - - /* Copy auth path */ - for (i = 0; i < height; ++i) { - sibling = index ^ 1; - hashcpy (&auth->auth[i], &group->tree[offset + sibling]); - index >>= 1; - offset >>= 1; - } - - return GRAVITY_OK; -} - -void batch_compress_auth (struct hash *node, - const struct batch_auth *auth, - const uint8_t *msg, - uint64_t len) { - /* Compute Merkle tree root */ - int height = LOG_MAX_BATCH_COUNT; - hash_to_N (node, msg, len); - merkle_compress_auth (node, auth->index, auth->auth, height); -} diff --git a/crypto/sphincs/batch.h b/crypto/sphincs/batch.h deleted file mode 100644 index e2f65edf..00000000 --- a/crypto/sphincs/batch.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include "hash.h" - -struct batch_buf { - struct hash buf[MAX_BATCH_COUNT]; - uint32_t count; -}; - -struct batch_group { - struct hash tree[2 * MAX_BATCH_COUNT - 1]; - uint32_t count; -}; - -struct batch_auth { - struct hash auth[LOG_MAX_BATCH_COUNT]; - uint32_t index; -}; - -int batch_init (struct batch_buf *buf); - -int batch_append (struct batch_buf *buf, const uint8_t *msg, uint64_t len, uint32_t *index); - -int batch_group (struct batch_group *group, struct batch_buf *buf); - -int batch_extract (const struct batch_group *group, struct batch_auth *auth, uint32_t index); - -void batch_compress_auth (struct hash *node, - const struct batch_auth *auth, - const uint8_t *msg, - uint64_t len); diff --git a/crypto/sphincs/bench.c b/crypto/sphincs/bench.c deleted file mode 100644 index a14dc477..00000000 --- a/crypto/sphincs/bench.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ - -#include "gravity.h" -#include "randombytes.h" -#include "sign.h" -#include -#include -#include -#include - -#define SKLEN sizeof (struct gravity_sk) -#define PKLEN sizeof (struct gravity_pk) -#define SIGLEN sizeof (struct gravity_sign) -#define N 32 -#define ROUNDS 3 - - -int main () { - - unsigned long long smlen; - unsigned long long mlen = N; - uint8_t sk[SKLEN]; - uint8_t pk[PKLEN]; - uint8_t m[N]; - uint8_t *sm = malloc (N + SIGLEN); - struct timeval tm1, tm2; - unsigned long long usecs; - int ret = -1; - int i; - - if (!sm) { - fprintf (stderr, "error: sm malloc failed\n"); - ret = 1; - goto label_exit_0; - } - - printf ("k\t%d\n", PORS_k); - printf ("h\t%d\n", MERKLE_h); - printf ("d\t%d\n", GRAVITY_d); - printf ("c\t%d\n", GRAVITY_c); - printf ("sk len\t%d\n", (int)SKLEN); - printf ("pk len\t%d\n", (int)PKLEN); - printf ("sig len\t%d\n", (int)SIGLEN); - -#define MEASURE(s) \ - do { \ - gettimeofday (&tm2, NULL); \ - usecs = 1000000 * (tm2.tv_sec - tm1.tv_sec) + (tm2.tv_usec - tm1.tv_usec); \ - printf ("\n# %s\n", s); \ - printf ("%.2f usec\n", (double)usecs); \ - } while (0) - - randombytes (m, N); - - gettimeofday (&tm1, NULL); - - if (crypto_sign_keypair (pk, sk)) { - fprintf (stderr, "error: crypto_sign_keypair failed\n"); - ret = 1; - goto label_exit_2; - } - - MEASURE ("crypto_sign_keypair"); - - for (i = 0; i < ROUNDS; ++i) { - - gettimeofday (&tm1, NULL); - - if (crypto_sign (sm, &smlen, m, mlen, sk)) { - fprintf (stderr, "error: crypto_sign failed\n"); - ret = 1; - goto label_exit_2; - } - - MEASURE ("crypto_sign"); - gettimeofday (&tm1, NULL); - - - if (crypto_sign_open (m, &mlen, sm, smlen, pk)) { - fprintf (stderr, "error: crypto_sign_open failed\n"); - ret = 1; - goto label_exit_2; - } - - m[0] ^= sm[33]; - - MEASURE ("crypto_sign_open"); - } - - ret = 0; -label_exit_2: - free (sm); -label_exit_0: - return ret; -} diff --git a/crypto/sphincs/common.h b/crypto/sphincs/common.h deleted file mode 100644 index 1318b9f1..00000000 --- a/crypto/sphincs/common.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#define HASH_SIZE 32 - -#define WOTS_LOG_ell1 6 -#define WOTS_ell1 (1 << (WOTS_LOG_ell1)) -#define WOTS_chksum 3 -#define WOTS_ell ((WOTS_ell1) + (WOTS_chksum)) -#define WOTS_w 16 - -/* set by compile flags */ -#if 0 -#define PORS_k 28 -#define MERKLE_h 5 -#define GRAVITY_d 10 -#define GRAVITY_c 14 -#endif - -#define PORS_tau 16 -#define PORS_t (1 << (PORS_tau)) - -#define MERKLE_hhh (1 << (MERKLE_h)) - -#define GRAVITY_ccc (1 << (GRAVITY_c)) -#define GRAVITY_h ((MERKLE_h) * (GRAVITY_d) + (GRAVITY_c)) - -#if GRAVITY_h < 64 -#define GRAVITY_mask ~(0xFFFFFFFFFFFFFFFFull << (GRAVITY_h)) -#else -#define GRAVITY_mask 0xFFFFFFFFFFFFFFFFull -#endif - -#define LOG_MAX_BATCH_COUNT 10 -#define MAX_BATCH_COUNT (1 << (LOG_MAX_BATCH_COUNT)) - - -#define GRAVITY_OK 0 -#define GRAVITY_ERR_VERIF 1 -#define GRAVITY_ERR_ALLOC 2 -#define GRAVITY_ERR_BATCH 3 - -#define U8TO32(p) \ - (((uint32_t) ((p)[0]) << 24) | ((uint32_t) ((p)[1]) << 16) | \ - ((uint32_t) ((p)[2]) << 8) | ((uint32_t) ((p)[3]))) diff --git a/crypto/sphincs/gravity.c b/crypto/sphincs/gravity.c deleted file mode 100644 index 6e8baa94..00000000 --- a/crypto/sphincs/gravity.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ - -#include "gravity.h" - -#include -#include - - -int gravity_gensk (struct gravity_sk *sk) { - int n = GRAVITY_ccc; - struct hash *src; - struct hash *dst = sk->cache; - struct merkle_pk mpk; - struct address address; - int i; - int res; - - /* Create sub Merkle trees */ - address.layer = 0; - for (i = 0; i < n; ++i) { - address.index = i * MERKLE_hhh; - res = merkle_genpk (&sk->seed, &address, &mpk); - if (res != GRAVITY_OK) return res; - - hashcpy (&dst[i], &mpk.k); - } - - /* Cache layers of Merkle tree */ - for (i = 0; i < GRAVITY_c; ++i) { - src = dst; - dst += n; - n >>= 1; - - hash_compress_pairs (dst, src, n); - } - - return GRAVITY_OK; -} - -int gravity_genpk (const struct gravity_sk *sk, struct gravity_pk *pk) { - hashcpy (&pk->k, &sk->cache[2 * GRAVITY_ccc - 2]); - - return GRAVITY_OK; -} - -int gravity_sign (const struct gravity_sk *sk, struct gravity_sign *sign, const struct hash *msg) { - struct hash buf[2]; - struct address address; - struct pors_subset subset; - struct pors_sk *psk; - struct porst_pk ppk; - struct merkle_pk mpk; - struct hash h; - int layer; - int res; -#if GRAVITY_c > 0 - int offset; - int n = GRAVITY_ccc; - int i, sibling; -#endif - - /* Generate "randomness" from message and secret salt */ - hashcpy (&buf[0], &sk->salt); - hashcpy (&buf[1], msg); - hash_2N_to_N (&sign->rand, buf); - - /* Generate address and PORST indices */ - pors_randsubset (&sign->rand, msg, &address.index, &subset); - - /* PORST */ - psk = malloc (sizeof (struct pors_sk)); - if (psk == NULL) return GRAVITY_ERR_ALLOC; - - address.layer = GRAVITY_d; - pors_gensk (&sk->seed, &address, psk); - - res = octoporst_sign (psk, &sign->op_sign, &ppk, &subset); - /* TODO: wipe key */ - free (psk); - - if (res != GRAVITY_OK) return res; - - /* Store PORST pubkey into h */ - hashcpy (&h, &ppk.k); - - /* Hyper tree */ - for (layer = 0; layer < GRAVITY_d; ++layer) { - /* Sign h with Merkle tree and obtain public key */ - --address.layer; - res = merkle_sign (&sk->seed, &address, &sign->merkle[layer], &h, &mpk); - if (res != GRAVITY_OK) return res; - hashcpy (&h, &mpk.k); - - /* Reduce address for next layer */ - address.index >>= MERKLE_h; - } - -#if GRAVITY_c > 0 - /* Cached Merkle tree */ - offset = 0; - for (i = 0; i < GRAVITY_c; ++i) { - sibling = address.index ^ 1; - hashcpy (&sign->auth[i], &sk->cache[offset + sibling]); - - address.index >>= 1; - offset += n; - n >>= 1; - } -#endif - - return GRAVITY_OK; -} - -int gravity_verify (const struct gravity_pk *pk, - const struct gravity_sign *sign, - const struct hash *msg) { - struct address address; - struct pors_subset subset; - struct porst_pk ppk; - struct merkle_pk mpk; - struct hash h; - int layer; - int res; - - /* Generate address and PORST indices */ - pors_randsubset (&sign->rand, msg, &address.index, &subset); - - /* PORST */ - res = octoporst_extract (&ppk, &sign->op_sign, &subset); - if (res != GRAVITY_OK) return res; - - /* Store PORST pubkey into h */ - hashcpy (&h, &ppk.k); - - /* Hyper tree */ - address.layer = GRAVITY_d; - for (layer = 0; layer < GRAVITY_d; ++layer) { - /* Obtain Merkle tree root */ - --address.layer; - merkle_extract (&mpk, &address, &sign->merkle[layer], &h); - hashcpy (&h, &mpk.k); - - /* Reduce address for next layer */ - address.index >>= MERKLE_h; - } - -#if GRAVITY_c > 0 - /* Cached Merkle tree */ - merkle_compress_auth (&h, address.index, sign->auth, GRAVITY_c); -#endif - - if (hashcmp (&h, &pk->k)) return GRAVITY_ERR_VERIF; - - return GRAVITY_OK; -} - -int gravity_loadsign (struct gravity_sign *sign, const uint8_t *_sign, size_t _len) { - size_t baselen = HASH_SIZE + GRAVITY_d * sizeof (struct merkle_sign) -#if GRAVITY_c > 0 - + GRAVITY_c * HASH_SIZE -#endif - ; - - if (_len < baselen) return GRAVITY_ERR_VERIF; - _len -= baselen; - - memcpy (&sign->rand, _sign, HASH_SIZE); - _sign += HASH_SIZE; - - if (octoporst_loadsign (&sign->op_sign, _sign, _len) != GRAVITY_OK) - return GRAVITY_ERR_VERIF; - _sign += _len; - - memcpy (sign->merkle, _sign, GRAVITY_d * sizeof (struct merkle_sign)); - -#if GRAVITY_c > 0 - _sign += GRAVITY_d * sizeof (struct merkle_sign); - memcpy (sign->auth, _sign, GRAVITY_c * HASH_SIZE); -#endif - - return GRAVITY_OK; -} - -int gravity_signcmp (const struct gravity_sign *sign1, const struct gravity_sign *sign2) { - if (hashcmp (&sign1->rand, &sign2->rand)) return 1; - if (octoporst_signcmp (&sign1->op_sign, &sign2->op_sign)) return 1; - if (memcmp (&sign1->merkle, &sign2->merkle, GRAVITY_d * sizeof (struct merkle_sign))) - return 1; -#if GRAVITY_c > 0 - if (hashcmpN (sign1->auth, sign2->auth, GRAVITY_c)) return 1; -#endif - - return 0; -} diff --git a/crypto/sphincs/gravity.h b/crypto/sphincs/gravity.h deleted file mode 100644 index fc94320a..00000000 --- a/crypto/sphincs/gravity.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include "merkle.h" -#include "pors.h" - -struct gravity_sk { - struct hash seed; - struct hash salt; - struct hash cache[2 * GRAVITY_ccc - 1]; -}; - -struct gravity_pk { - struct hash k; -}; - -struct gravity_sign { - struct hash rand; - struct octoporst_sign op_sign; - struct merkle_sign merkle[GRAVITY_d]; -#if GRAVITY_c > 0 - struct hash auth[GRAVITY_c]; -#endif -}; - -int gravity_gensk (struct gravity_sk *sk); - -int gravity_genpk (const struct gravity_sk *sk, struct gravity_pk *pk); - -int gravity_sign (const struct gravity_sk *sk, struct gravity_sign *sign, const struct hash *msg); - -int gravity_verify (const struct gravity_pk *pk, - const struct gravity_sign *sign, - const struct hash *msg); - -/* Serialization */ -int gravity_loadsign (struct gravity_sign *sign, const uint8_t *_sign, size_t _len); - -int gravity_signcmp (const struct gravity_sign *sign1, const struct gravity_sign *sign2); diff --git a/crypto/sphincs/hash.h b/crypto/sphincs/hash.h deleted file mode 100644 index f3065a29..00000000 --- a/crypto/sphincs/hash.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include "common.h" - -#include -#include - -/* TODO: portable alignment */ -struct hash { - uint8_t h[HASH_SIZE]; -} __attribute__ ((aligned (16))); - -struct address { - uint64_t index; - uint32_t layer; -}; - - -void hash_N_to_N (struct hash *dst, const struct hash *src); -void hash_N_to_N_chain (struct hash *dst, const struct hash *src, int chainlen); -void hash_2N_to_N (struct hash *dst, const struct hash *src); -void hash_to_N (struct hash *dst, const uint8_t *src, uint64_t srclen); - -/* Compress 2*count input hashes into count output hashes, pairwise */ -void hash_compress_pairs (struct hash *dst, const struct hash *src, int count); -/* Compress count hashes into a single hash */ -void hash_compress_all (struct hash *dst, const struct hash *src, int count); -/* Compute count hashes in parallel */ -void hash_parallel (struct hash *dst, const struct hash *src, int count); -/* Compute count hash chains of length chainlen in parallel */ -void hash_parallel_chains (struct hash *dst, const struct hash *src, int count, int chainlen); - - -/* int hashcmp(const struct hash *a, const struct hash *b); */ -#define hashcmp(a, b) memcmp ((a)->h, (b)->h, HASH_SIZE) -/* int hashcmpN(const struct hash *a, const struct hash *b, size_t count); */ -#define hashcmpN(a, b, N) memcmp ((a)->h, (b)->h, (N)*HASH_SIZE) -/* void hashcpy(struct hash *dst, const struct hash *src); */ -#define hashcpy(a, b) memcpy ((a)->h, (b)->h, HASH_SIZE) -/* void hashcpyN(struct hash *dst, const struct hash *src, size_t count); */ -#define hashcpyN(a, b, N) memcpy ((a)->h, (b)->h, (N)*HASH_SIZE) -/* void hashzero(struct hash *dst); */ -#define hashzero(a) memset ((a)->h, 0, HASH_SIZE) -/* void swap(struct hash *a, struct hash *b, struct hash *tmp); */ -#define hashswap(a, b, tmp) \ - do { \ - (tmp) = (a); \ - (a) = (b); \ - (b) = (tmp); \ - } while (0); diff --git a/crypto/sphincs/ltree.c b/crypto/sphincs/ltree.c deleted file mode 100644 index 6fe40cf4..00000000 --- a/crypto/sphincs/ltree.c +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#include "ltree.h" - -void ltree (struct hash *buf, int count, struct hash *root) { - struct hash *src = &buf[count]; - struct hash *dst = &buf[0]; - struct hash *tmp; - int newcount; - - while (count > 1) { - /* Swap buffers */ - hashswap (src, dst, tmp); - - /* Compute all hashes at current layer */ - newcount = count >> 1; - hash_compress_pairs (dst, src, newcount); - if (count & 1) { - hashcpy (&dst[newcount], &src[count - 1]); - ++newcount; - } - - count = newcount; - } - - hashcpy (root, dst); -} diff --git a/crypto/sphincs/ltree.h b/crypto/sphincs/ltree.h deleted file mode 100644 index 6daad929..00000000 --- a/crypto/sphincs/ltree.h +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include "hash.h" - -void ltree (struct hash *buf, int count, struct hash *root); diff --git a/crypto/sphincs/merkle.c b/crypto/sphincs/merkle.c deleted file mode 100644 index d9814bc4..00000000 --- a/crypto/sphincs/merkle.c +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#include "merkle.h" - -#include - -int merkle_base_address (const struct address *address, struct address *base_address) { - int index = address->index & (MERKLE_hhh - 1); - if (base_address != NULL) { - base_address->layer = address->layer; - base_address->index = address->index - index; - } - return index; -} - -int merkle_genpk (const struct hash *key, const struct address *address, struct merkle_pk *pk) { - struct address base_address; - struct hash *buf; - struct wots_sk wsk; - struct lwots_pk wpk; - int j; - - merkle_base_address (address, &base_address); - - buf = merkle_alloc_buf (MERKLE_h); - if (buf == NULL) return GRAVITY_ERR_ALLOC; - - /* Leaves */ - for (j = 0; j < MERKLE_hhh; ++j) { - wots_gensk (key, &base_address, &wsk); - lwots_genpk (&wsk, &wpk); - hashcpy (&buf[j], &wpk.k); - - ++base_address.index; - } - - /* Merkle tree */ - merkle_compress_all (buf, MERKLE_h, &pk->k); - - merkle_free_buf (buf); - return GRAVITY_OK; -} - -int merkle_sign (const struct hash *key, - const struct address *address, - struct merkle_sign *sign, - const struct hash *msg, - struct merkle_pk *pk) { - struct address base_address; - struct hash *buf; - struct wots_sk wsk; - struct lwots_pk wpk; - int index; - int j; - - index = merkle_base_address (address, &base_address); - - buf = merkle_alloc_buf (MERKLE_h); - if (buf == NULL) return GRAVITY_ERR_ALLOC; - - /* Leaves */ - for (j = 0; j < MERKLE_hhh; ++j) { - wots_gensk (key, &base_address, &wsk); - lwots_genpk (&wsk, &wpk); - hashcpy (&buf[j], &wpk.k); - - ++base_address.index; - - /* WOTS */ - if (j == index) wots_sign (&wsk, &sign->wots, msg); - } - - /* Merkle tree */ - merkle_gen_auth (buf, MERKLE_h, sign->auth, index, pk == NULL ? NULL : &pk->k); - - merkle_free_buf (buf); - return GRAVITY_OK; -} - -void merkle_extract (struct merkle_pk *pk, - const struct address *address, - const struct merkle_sign *sign, - const struct hash *msg) { - struct lwots_pk wpk; - int index = merkle_base_address (address, NULL); - - /* WOTS */ - lwots_extract (&wpk, &sign->wots, msg); - - /* Auth path */ - merkle_compress_auth (&wpk.k, index, sign->auth, MERKLE_h); - hashcpy (&pk->k, &wpk.k); -} - - -/* Helper functions */ -/* Alloc/free a buffer large enough to store leaves and compress them */ -struct hash *merkle_alloc_buf (int height) { - int n = 1 << height; - return malloc (2 * n * HASH_SIZE); -} - -void merkle_free_buf (struct hash *buf) { - /* TODO: wipe buffer? */ - free (buf); -} - -/* Compress leaves from level height until root */ -void merkle_compress_all (struct hash *buf, int height, struct hash *root) { - int n = 1 << height; - struct hash *src = &buf[n]; - struct hash *dst = &buf[0]; - struct hash *tmp; - int l; - - for (l = 0; l < height; ++l) { - /* Swap buffers */ - hashswap (src, dst, tmp); - n >>= 1; - - /* Compute all hashes at current layer */ - hash_compress_pairs (dst, src, n); - } - - hashcpy (root, dst); -} - -/* Compute authentication path */ -void merkle_gen_auth (struct hash *buf, int height, struct hash *auth, int index, struct hash *root) { - int n = 1 << height; - struct hash *src = &buf[n]; - struct hash *dst = &buf[0]; - struct hash *tmp; - int l, sibling; - - for (l = 0; l < height; ++l) { - /* Copy auth path */ - sibling = index ^ 1; - hashcpy (&auth[l], &dst[sibling]); - index >>= 1; - - /* Swap buffers */ - hashswap (src, dst, tmp); - n >>= 1; - - /* Compute all hashes at current layer */ - hash_compress_pairs (dst, src, n); - } - - /* Public key */ - if (root != NULL) hashcpy (root, dst); -} - -/* Compress node with its auth path on height_diff levels */ -int merkle_compress_auth (struct hash *node, int index, const struct hash *auth, int height_diff) { - struct hash buf[2]; - int l; - - for (l = 0; l < height_diff; ++l) { - if (index % 2 == 0) { - hashcpy (&buf[0], node); - hashcpy (&buf[1], &auth[l]); - } else { - hashcpy (&buf[0], &auth[l]); - hashcpy (&buf[1], node); - } - - hash_2N_to_N (node, buf); - - index >>= 1; - } - - return index; -} - -void merkle_gen_octopus (struct hash *buf, - int height, - struct hash *octopus, - int *octolen, - struct hash *root, - int *indices, - int count) { - int n = 1 << height; - struct hash *src = &buf[n]; - struct hash *dst = &buf[0]; - struct hash *tmp; - int i, j, l; - int len = 0; - int index, sibling; - - for (l = 0; l < height; ++l) { - /* Copy auth octopus */ - for (i = 0, j = 0; i < count; ++i, ++j) { - index = indices[i]; - sibling = index ^ 1; - - /* Check redundancy with sibling */ - if (i + 1 < count && indices[i + 1] == sibling) - ++i; - else - hashcpy (&octopus[len++], &dst[sibling]); - - indices[j] = indices[i] >> 1; - } - /* Update count of non-redundant nodes */ - count = j; - - /* Swap buffers */ - hashswap (src, dst, tmp); - n >>= 1; - - /* Compute all hashes at current layer */ - hash_compress_pairs (dst, src, n); - } - - hashcpy (root, dst); - *octolen = len; -} - -int merkle_compress_octopus (struct hash *nodes, - int height, - const struct hash *octopus, - int octolen, - int *indices, - int count) { - struct hash buf[2]; - int i, j, l; - int len = 0; - int index; - - for (l = 0; l < height; ++l) { - for (i = 0, j = 0; i < count; ++i, ++j) { - /* Select 2 values to merge */ - index = indices[i]; - if (index % 2 == 0) { - hashcpy (&buf[0], &nodes[i]); - - if (i + 1 < count && indices[i + 1] == index + 1) { - ++i; - hashcpy (&buf[1], &nodes[i]); - } else { - if (len == octolen) return GRAVITY_ERR_VERIF; - hashcpy (&buf[1], &octopus[len++]); - } - } else { - if (len == octolen) return GRAVITY_ERR_VERIF; - hashcpy (&buf[0], &octopus[len++]); - hashcpy (&buf[1], &nodes[i]); - } - - /* Hash values */ - hash_2N_to_N (&nodes[j], buf); - - indices[j] = indices[i] >> 1; - } - - /* Update count of non-redundant nodes */ - count = j; - } - - /* Check len */ - if (len != octolen) return GRAVITY_ERR_VERIF; - - return GRAVITY_OK; -} diff --git a/crypto/sphincs/merkle.h b/crypto/sphincs/merkle.h deleted file mode 100644 index e64b0bb2..00000000 --- a/crypto/sphincs/merkle.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include "wots.h" - -struct merkle_pk { - struct hash k; -}; - -struct merkle_sign { - struct wots_sign wots; - struct hash auth[MERKLE_h]; -}; - -int merkle_genpk (const struct hash *key, const struct address *address, struct merkle_pk *pk); - -int merkle_sign (const struct hash *key, - const struct address *address, - struct merkle_sign *sign, - const struct hash *msg, - struct merkle_pk *pk); - -void merkle_extract (struct merkle_pk *pk, - const struct address *address, - const struct merkle_sign *sign, - const struct hash *msg); - - -/* Helper functions */ -/* Alloc/free a buffer large enough to store leaves and compress them */ -struct hash *merkle_alloc_buf (int height); - -void merkle_free_buf (struct hash *buf); - -/* Compress leaves from level height to root */ -void merkle_compress_all (struct hash *buf, int height, struct hash *root); - -/* Compute authentication path */ -void merkle_gen_auth (struct hash *buf, int height, struct hash *auth, int index, struct hash *root); - -/* Compress node with its auth path on height_diff levels */ -int merkle_compress_auth (struct hash *node, int index, const struct hash *auth, int height_diff); - -/* "indices" must be sorted */ -void merkle_gen_octopus (struct hash *buf, - int height, - struct hash *octopus, - int *octolen, - struct hash *root, - int *indices, - int count); - -/* Compress a set of leaves with their auth path */ -/* "indices" must be sorted */ -int merkle_compress_octopus (struct hash *nodes, - int height, - const struct hash *octopus, - int octolen, - int *indices, - int count); diff --git a/crypto/sphincs/pors.c b/crypto/sphincs/pors.c deleted file mode 100644 index 557e695b..00000000 --- a/crypto/sphincs/pors.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#include "pors.h" - -#include "aes.h" -#include "merkle.h" -#include - -/* Naive PORS without Merkle tree */ -void pors_gensk (const struct hash *key, const struct address *address, struct pors_sk *sk) { - uint8_t iv[16]; - - iv[0] = (address->index >> 56) & 0xFF; - iv[1] = (address->index >> 48) & 0xFF; - iv[2] = (address->index >> 40) & 0xFF; - iv[3] = (address->index >> 32) & 0xFF; - iv[4] = (address->index >> 24) & 0xFF; - iv[5] = (address->index >> 16) & 0xFF; - iv[6] = (address->index >> 8) & 0xFF; - iv[7] = address->index & 0xFF; - - iv[8] = (address->layer >> 24) & 0xFF; - iv[9] = (address->layer >> 16) & 0xFF; - iv[10] = (address->layer >> 8) & 0xFF; - iv[11] = address->layer & 0xFF; - - /* Counter */ - iv[12] = 0; - iv[13] = 0; - iv[14] = 0; - iv[15] = 0; - aesctr256 (sk->k->h, key->h, iv, PORS_t * HASH_SIZE); -} - -void pors_sign (const struct pors_sk *sk, struct pors_sign *sign, const struct pors_subset *subset) { - int i; - int index; - - for (i = 0; i < PORS_k; ++i) { - index = subset->s[i]; - hashcpy (&sign->s[i], &sk->k[index]); - } -} - - -/* Naive PORST without merging of authentication paths */ -int porst_genpk (const struct pors_sk *sk, struct porst_pk *pk) { - struct hash *buf = merkle_alloc_buf (PORS_tau); - if (buf == NULL) return GRAVITY_ERR_ALLOC; - - /* Leaves */ - hash_parallel (buf, sk->k, PORS_t); - - /* Merkle tree */ - merkle_compress_all (buf, PORS_tau, &pk->k); - - merkle_free_buf (buf); - return GRAVITY_OK; -} - - -/* PORST with authentication octopus */ -void sort_subset (struct pors_subset *subset) { - /* Selection sort */ - int i, j, k, tmp; - for (i = 0; i + 1 < PORS_k; ++i) { - k = i; - tmp = subset->s[k]; - for (j = i + 1; j < PORS_k; ++j) { - if (subset->s[j] < tmp) { - k = j; - tmp = subset->s[k]; - } - } - - subset->s[k] = subset->s[i]; - subset->s[i] = tmp; - } -} - -int octoporst_sign (const struct pors_sk *sk, - struct octoporst_sign *sign, - struct porst_pk *pk, - struct pors_subset *subset) { - struct hash *buf; - - /* Sort subset */ - sort_subset (subset); - - /* Values */ - pors_sign (sk, &sign->s, subset); - - /* Authentication paths */ - buf = merkle_alloc_buf (PORS_tau); - if (buf == NULL) return GRAVITY_ERR_ALLOC; - - /* Leaves */ - hash_parallel (buf, sk->k, PORS_t); - - /* Merkle tree */ - merkle_gen_octopus (buf, PORS_tau, sign->octopus, &sign->octolen, &pk->k, - subset->s, PORS_k); - - merkle_free_buf (buf); - return GRAVITY_OK; -} - -int octoporst_extract (struct porst_pk *pk, - const struct octoporst_sign *sign, - struct pors_subset *subset) { - struct hash tmp[PORS_k]; - int res; - - /* Sort subset */ - sort_subset (subset); - - /* Compute leaves */ - hash_parallel (tmp, sign->s.s, PORS_k); - - /* Auth octopus */ - res = merkle_compress_octopus (tmp, PORS_tau, sign->octopus, sign->octolen, - subset->s, PORS_k); - if (res != GRAVITY_OK) return res; - - hashcpy (&pk->k, &tmp[0]); - return GRAVITY_OK; -} - - -int octoporst_loadsign (struct octoporst_sign *sign, const uint8_t *_sign, size_t _len) { - if (_len < sizeof (struct pors_sign)) return GRAVITY_ERR_VERIF; - _len -= sizeof (struct pors_sign); - - if (_len % HASH_SIZE != 0) return GRAVITY_ERR_VERIF; - _len /= HASH_SIZE; - - if (_len > PORS_k * PORS_tau) return GRAVITY_ERR_VERIF; - - memcpy (&sign->s, _sign, sizeof (struct pors_sign)); - _sign += sizeof (struct pors_sign); - memcpy (sign->octopus, _sign, _len * HASH_SIZE); - sign->octolen = _len; - - return GRAVITY_OK; -} - -int octoporst_signcmp (const struct octoporst_sign *sign1, - const struct octoporst_sign *sign2) { - if (sign1->octolen != sign2->octolen) return 1; - if (hashcmpN (sign1->s.s, sign2->s.s, PORS_k)) return 1; - if (hashcmpN (sign1->octopus, sign2->octopus, sign1->octolen)) return 1; - - return 0; -} - - -void pors_randsubset (const struct hash *rand, - const struct hash *msg, - uint64_t *address, - struct pors_subset *subset) { -#define BYTES_PER_INDEX 4 -#define STREAMLEN \ - ((8 * (PORS_k)) + HASH_SIZE) /* count twice as many indexes as needed */ - uint8_t randstream[STREAMLEN]; - int index, duplicate, i, count = 0; - size_t offset = 0; - struct hash seed; - struct hash buf[2]; - uint64_t addr; - uint8_t byte; - - hashcpy (&buf[0], rand); - hashcpy (&buf[1], msg); - hash_2N_to_N (&seed, buf); - - aesctr256_zeroiv (randstream, seed.h, STREAMLEN); - - /* compute address */ - addr = 0; - for (i = 0; i < HASH_SIZE; ++i) { - byte = randstream[i]; - addr = (addr << 8) | byte; - addr &= GRAVITY_mask; - } - *address = addr; - - while (count < PORS_k) { - /* ok to take mod since T is a power of 2 */ - index = U8TO32 (randstream + HASH_SIZE + offset) % PORS_t; - offset += BYTES_PER_INDEX; - duplicate = 0; - for (i = 0; i < count; ++i) - if (subset->s[i] == index) duplicate++; - if (!duplicate) { - subset->s[count] = index; - count++; - } - } -} diff --git a/crypto/sphincs/pors.h b/crypto/sphincs/pors.h deleted file mode 100644 index 15be8af9..00000000 --- a/crypto/sphincs/pors.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include "hash.h" - -/* PRNG to obtain a random subset */ -struct pors_subset { - int s[PORS_k]; -}; - -void pors_randsubset (const struct hash *rand, - const struct hash *msg, - uint64_t *address, - struct pors_subset *subset); - - -/* Naive PORS without Merkle tree */ -struct pors_sk { - struct hash k[PORS_t]; -}; - -struct pors_pk { - struct hash k[PORS_t]; -}; - -struct pors_keypair { - struct pors_sk sk; - struct pors_pk pk; -}; - -struct pors_sign { - struct hash s[PORS_k]; -}; - -void pors_gensk (const struct hash *key, const struct address *address, struct pors_sk *sk); - -void pors_sign (const struct pors_sk *sk, struct pors_sign *sign, const struct pors_subset *subset); - - -/* Naive PORST without merging of authentication paths */ -struct porst_pk { - struct hash k; -}; - -struct porst_keypair { - struct pors_sk sk; - struct porst_pk pk; -}; - -int porst_genpk (const struct pors_sk *sk, struct porst_pk *pk); - - -/* PORST with authentication octopus */ -struct octoporst_sign { - struct pors_sign s; - struct hash octopus[PORS_k * PORS_tau]; /* Large enough buffer */ - int octolen; /* Number of elements in the octopus */ -}; - -int octoporst_sign (const struct pors_sk *sk, - struct octoporst_sign *sign, - struct porst_pk *pk, - struct pors_subset *subset); - -int octoporst_extract (struct porst_pk *pk, - const struct octoporst_sign *sign, - struct pors_subset *subset); - -/* Serialization */ -int octoporst_loadsign (struct octoporst_sign *sign, const uint8_t *_sign, size_t _len); - -int octoporst_signcmp (const struct octoporst_sign *sign1, const struct octoporst_sign *sign2); diff --git a/crypto/sphincs/primitives/aes.c b/crypto/sphincs/primitives/aes.c deleted file mode 100644 index cbda47f1..00000000 --- a/crypto/sphincs/primitives/aes.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ - -#include "../aes.h" -#include -#include -#include -#include -#include - - -int aesctr256 (uint8_t *out, const uint8_t *sk, const void *counter, int bytes) { - static const uint8_t buffer[4096] = { 0 }; - EVP_CIPHER_CTX *ctx; - int len = 0; - int ret = 0; - - if (bytes == 0) return 0; - - if (!(ctx = EVP_CIPHER_CTX_new ())) { - ret = -2; - goto label_exit_0; - } - - if (1 != EVP_EncryptInit_ex (ctx, EVP_aes_256_ctr (), NULL, sk, counter)) { - ret = -3; - goto label_exit_1; - } - - while (bytes >= (int)sizeof (buffer)) { - if (1 != EVP_EncryptUpdate (ctx, out, &len, buffer, sizeof (buffer))) { - ret = -4; - goto label_exit_1; - } - out += sizeof (buffer); - bytes -= sizeof (buffer); - } - if (bytes) { - if (1 != EVP_EncryptUpdate (ctx, out, &len, buffer, bytes)) { - ret = -4; - goto label_exit_1; - } - } - - if (1 != EVP_EncryptFinal_ex (ctx, out + len, &len)) { - ret = -5; - goto label_exit_1; - } - - ret = 0; -label_exit_1: - EVP_CIPHER_CTX_free (ctx); -label_exit_0: - return ret; -} - -int aesctr256_zeroiv (uint8_t *out, const uint8_t *sk, int bytes) { - uint8_t counter[16] = {0}; - return aesctr256(out, sk, counter, bytes); -} diff --git a/crypto/sphincs/primitives/haraka.c b/crypto/sphincs/primitives/haraka.c deleted file mode 100644 index 08f4b24a..00000000 --- a/crypto/sphincs/primitives/haraka.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ - -#include "haraka.h" -#include - - -void aesenc (uint8_t *s, const uint8_t *rk) { - uint8_t i, t, u, v[4][4]; - for (i = 0; i < 16; ++i) v[((i / 4) + 4 - (i % 4)) % 4][i % 4] = sbox[s[i]]; - for (i = 0; i < 4; ++i) { - t = v[i][0]; - u = v[i][0] ^ v[i][1] ^ v[i][2] ^ v[i][3]; - v[i][0] ^= u ^ XT (v[i][0] ^ v[i][1]); - v[i][1] ^= u ^ XT (v[i][1] ^ v[i][2]); - v[i][2] ^= u ^ XT (v[i][2] ^ v[i][3]); - v[i][3] ^= u ^ XT (v[i][3] ^ t); - } - for (i = 0; i < 16; ++i) s[i] = v[i / 4][i % 4] ^ rk[i]; -} - - -void haraka256_256 (uint8_t *out, const uint8_t *in) { - - uint8_t s0[16], s1[16]; - uint32_t tmp[4]; - int i; - - memcpy (s0, in, 16); - memcpy (s1, in + 16, 16); - - AES2 (0); - MIX2; - AES2 (4); - MIX2; - AES2 (8); - MIX2; - AES2 (12); - MIX2; - AES2 (16); - MIX2; - AES2 (20); - MIX2; - - for (i = 0; i < 16; ++i) { - out[i] = in[i] ^ s0[i]; - out[i + 16] = in[i + 16] ^ s1[i]; - } -} - -void haraka256_256_chain (uint8_t *out, const uint8_t *in, int chainlen) { - - uint8_t s0[16], s1[16]; - uint8_t t0[16], t1[16]; - uint32_t tmp[4]; - int i, j; - - memcpy (s0, in, 16); - memcpy (s1, in + 16, 16); - memcpy (t0, in, 16); - memcpy (t1, in + 16, 16); - - for (j = 0; j < chainlen; ++j) { - - AES2 (0); - MIX2; - AES2 (4); - MIX2; - AES2 (8); - MIX2; - AES2 (12); - MIX2; - AES2 (16); - MIX2; - AES2 (20); - MIX2; - - for (i = 0; i < 16; ++i) { - s0[i] = t0[i] = t0[i] ^ s0[i]; - s1[i] = t1[i] = t1[i] ^ s1[i]; - } - } - for (i = 0; i < 16; ++i) { - out[i] = s0[i]; - out[i + 16] = s1[i]; - } -} - -void haraka512_256 (uint8_t *out, const uint8_t *in) { - - uint8_t s0[16], s1[16], s2[16], s3[16]; - uint32_t tmp[5]; - int i; - - memcpy (s0, in, 16); - memcpy (s1, in + 16, 16); - memcpy (s2, in + 32, 16); - memcpy (s3, in + 48, 16); - - AES4 (0); - MIX4; - AES4 (8); - MIX4; - AES4 (16); - MIX4; - AES4 (24); - MIX4; - AES4 (32); - MIX4; - AES4 (40); - MIX4; - - for (i = 0; i < 16; ++i) { - s0[i] = in[i] ^ s0[i]; - s1[i] = in[i + 16] ^ s1[i]; - s2[i] = in[i + 32] ^ s2[i]; - s3[i] = in[i + 48] ^ s3[i]; - } - - ((uint64_t *)out)[0] = ((uint64_t *)s0)[1]; - ((uint64_t *)out)[1] = ((uint64_t *)s1)[1]; - ((uint64_t *)out)[2] = ((uint64_t *)s2)[0]; - ((uint64_t *)out)[3] = ((uint64_t *)s3)[0]; -} diff --git a/crypto/sphincs/primitives/haraka.h b/crypto/sphincs/primitives/haraka.h deleted file mode 100644 index cb5c5057..00000000 --- a/crypto/sphincs/primitives/haraka.h +++ /dev/null @@ -1,160 +0,0 @@ -/* -The MIT License (MIT) - -Copyright (c) 2016 Stefan Kölbl -original Haraka implementations - -Copyright (c) 2017 Nagravision S.A. -changes by JP Aumasson, Guillaume Endignoux, 2017: improvements, non-ni versions - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - */ -#pragma once - - -#include - - -static const uint32_t rc[48 * 4] = { - 0x75817b9d, 0xb2c5fef0, 0xe620c00a, 0x0684704c, 0x2f08f717, 0x640f6ba4, - 0x88f3a06b, 0x8b66b4e1, 0x9f029114, 0xcf029d60, 0x53f28498, 0x3402de2d, - 0xfd5b4f79, 0xbbf3bcaf, 0x2e7b4f08, 0x0ed6eae6, 0xbe397044, 0x79eecd1c, - 0x4872448b, 0xcbcfb0cb, 0x2b8a057b, 0x8d5335ed, 0x6e9032b7, 0x7eeacdee, - 0xda4fef1b, 0xe2412761, 0x5e2e7cd0, 0x67c28f43, 0x1fc70b3b, 0x675ffde2, - 0xafcacc07, 0x2924d9b0, 0xb9d465ee, 0xecdb8fca, 0xe6867fe9, 0xab4d63f1, - 0xad037e33, 0x5b2a404f, 0xd4b7cd64, 0x1c30bf84, 0x8df69800, 0x69028b2e, - 0x941723bf, 0xb2cc0bb9, 0x5c9d2d8a, 0x4aaa9ec8, 0xde6f5572, 0xfa0478a6, - 0x29129fd4, 0x0efa4f2e, 0x6b772a12, 0xdfb49f2b, 0xbb6a12ee, 0x32d611ae, - 0xf449a236, 0x1ea10344, 0x9ca8eca6, 0x5f9600c9, 0x4b050084, 0xaf044988, - 0x27e593ec, 0x78a2c7e3, 0x9d199c4f, 0x21025ed8, 0x82d40173, 0xb9282ecd, - 0xa759c9b7, 0xbf3aaaf8, 0x10307d6b, 0x37f2efd9, 0x6186b017, 0x6260700d, - 0xf6fc9ac6, 0x81c29153, 0x21300443, 0x5aca45c2, 0x36d1943a, 0x2caf92e8, - 0x226b68bb, 0x9223973c, 0xe51071b4, 0x6cbab958, 0x225886eb, 0xd3bf9238, - 0x24e1128d, 0x933dfddd, 0xaef0c677, 0xdb863ce5, 0xcb2212b1, 0x83e48de3, - 0xffeba09c, 0xbb606268, 0xc72bf77d, 0x2db91a4e, 0xe2e4d19c, 0x734bd3dc, - 0x2cb3924e, 0x4b1415c4, 0x61301b43, 0x43bb47c3, 0x16eb6899, 0x03b231dd, - 0xe707eff6, 0xdba775a8, 0x7eca472c, 0x8e5e2302, 0x3c755977, 0x6df3614b, - 0xb88617f9, 0x6d1be5b9, 0xd6de7d77, 0xcda75a17, 0xa946ee5d, 0x9d6c069d, - 0x6ba8e9aa, 0xec6b43f0, 0x3bf327c1, 0xa2531159, 0xf957332b, 0xcb1e6950, - 0x600ed0d9, 0xe4ed0353, 0x00da619c, 0x2cee0c75, 0x63a4a350, 0x80bbbabc, - 0x96e90cab, 0xf0b1a5a1, 0x938dca39, 0xab0dde30, 0x5e962988, 0xae3db102, - 0x2e75b442, 0x8814f3a8, 0xd554a40b, 0x17bb8f38, 0x360a16f6, 0xaeb6b779, - 0x5f427fd7, 0x34bb8a5b, 0xffbaafde, 0x43ce5918, 0xcbe55438, 0x26f65241, - 0x839ec978, 0xa2ca9cf7, 0xb9f3026a, 0x4ce99a54, 0x22901235, 0x40c06e28, - 0x1bdff7be, 0xae51a51a, 0x48a659cf, 0xc173bc0f, 0xba7ed22b, 0xa0c1613c, - 0xe9c59da1, 0x4ad6bdfd, 0x02288288, 0x756acc03, 0x848f2ad2, 0x367e4778, - 0x0de7d31e, 0x2ff37238, 0xb73bd58f, 0xee36b135, 0xcf74be8b, 0x08d95c6a, - 0xa3743e4a, 0x66ae1838, 0xc9d6ee98, 0x5880f434, 0x9a9369bd, 0xd0fdf4c7, - 0xaefabd99, 0x593023f0, 0x6f1ecb2a, 0xa5cc637b, 0xeb606e6f, 0x329ae3d1, - 0xcb7594ab, 0xa4dc93d6, 0x49e01594, 0xe00207eb, 0x65208ef8, 0x942366a6, - 0xf751c880, 0x1caa0c4f, 0xe3e67e4a, 0xbd03239f, 0xdb2dc1dd, 0x02f7f57f, -}; - -static const uint8_t sbox[256] = -{ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, - 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, - 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, - 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, - 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, - 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, - 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, - 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, - 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, - 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, - 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, - 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, - 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, - 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, - 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, - 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, - 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, - 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, - 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, - 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 }; - -#define XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) - -#define AES2(rci) \ - aesenc (s0, ((uint8_t *)rc) + 16 * (rci + 0)); \ - aesenc (s1, ((uint8_t *)rc) + 16 * (rci + 1)); \ - aesenc (s0, ((uint8_t *)rc) + 16 * (rci + 2)); \ - aesenc (s1, ((uint8_t *)rc) + 16 * (rci + 3)); - -#define MIX2 \ - tmp[0] = ((uint32_t *)s0)[0]; \ - tmp[1] = ((uint32_t *)s1)[0]; \ - tmp[2] = ((uint32_t *)s0)[1]; \ - tmp[3] = ((uint32_t *)s1)[1]; \ - ((uint32_t *)s1)[0] = ((uint32_t *)s0)[2]; \ - ((uint32_t *)s1)[1] = ((uint32_t *)s1)[2]; \ - ((uint32_t *)s1)[2] = ((uint32_t *)s0)[3]; \ - ((uint32_t *)s0)[0] = tmp[0]; \ - ((uint32_t *)s0)[1] = tmp[1]; \ - ((uint32_t *)s0)[2] = tmp[2]; \ - ((uint32_t *)s0)[3] = tmp[3]; - -#define AES4(rci) \ - aesenc (s0, ((uint8_t *)rc) + 16 * (rci + 0)); \ - aesenc (s1, ((uint8_t *)rc) + 16 * (rci + 1)); \ - aesenc (s2, ((uint8_t *)rc) + 16 * (rci + 2)); \ - aesenc (s3, ((uint8_t *)rc) + 16 * (rci + 3)); \ - aesenc (s0, ((uint8_t *)rc) + 16 * (rci + 4)); \ - aesenc (s1, ((uint8_t *)rc) + 16 * (rci + 5)); \ - aesenc (s2, ((uint8_t *)rc) + 16 * (rci + 6)); \ - aesenc (s3, ((uint8_t *)rc) + 16 * (rci + 7)); - -#define MIX4 \ - tmp[0] = ((uint32_t *)s0)[0]; \ - tmp[1] = ((uint32_t *)s1)[0]; \ - tmp[2] = ((uint32_t *)s0)[1]; \ - tmp[3] = ((uint32_t *)s1)[1]; \ - tmp[4] = ((uint32_t *)s3)[0]; \ - ((uint32_t *)s0)[0] = ((uint32_t *)s0)[2]; \ - ((uint32_t *)s0)[1] = ((uint32_t *)s1)[2]; \ - ((uint32_t *)s0)[2] = ((uint32_t *)s0)[3]; \ - ((uint32_t *)s0)[3] = ((uint32_t *)s1)[3]; \ - ((uint32_t *)s1)[0] = ((uint32_t *)s2)[0]; \ - ((uint32_t *)s1)[1] = ((uint32_t *)s3)[0]; \ - ((uint32_t *)s1)[2] = ((uint32_t *)s2)[1]; \ - ((uint32_t *)s1)[3] = ((uint32_t *)s3)[1]; \ - ((uint32_t *)s2)[0] = ((uint32_t *)s2)[2]; \ - ((uint32_t *)s2)[1] = ((uint32_t *)s3)[2]; \ - ((uint32_t *)s2)[2] = ((uint32_t *)s2)[3]; \ - ((uint32_t *)s2)[3] = ((uint32_t *)s3)[3]; \ - ((uint32_t *)s3)[0] = ((uint32_t *)s0)[0]; \ - ((uint32_t *)s3)[1] = ((uint32_t *)s2)[0]; \ - ((uint32_t *)s3)[2] = ((uint32_t *)s0)[1]; \ - ((uint32_t *)s3)[3] = ((uint32_t *)s2)[1]; \ - ((uint32_t *)s0)[0] = ((uint32_t *)s0)[2]; \ - ((uint32_t *)s0)[1] = ((uint32_t *)s2)[2]; \ - ((uint32_t *)s0)[2] = ((uint32_t *)s0)[3]; \ - ((uint32_t *)s0)[3] = ((uint32_t *)s2)[3]; \ - ((uint32_t *)s2)[0] = ((uint32_t *)s1)[2]; \ - ((uint32_t *)s2)[1] = tmp[2]; \ - ((uint32_t *)s2)[2] = ((uint32_t *)s1)[3]; \ - ((uint32_t *)s2)[3] = tmp[3]; \ - ((uint32_t *)s1)[0] = ((uint32_t *)s1)[0]; \ - ((uint32_t *)s1)[1] = tmp[0]; \ - ((uint32_t *)s1)[2] = tmp[4]; \ - ((uint32_t *)s1)[3] = tmp[1]; - - -void haraka256_256(unsigned char *out, const unsigned char *in); -void haraka256_256_chain(unsigned char *out, const unsigned char *in, int chainlen); -void haraka512_256(unsigned char *out, const unsigned char *in); diff --git a/crypto/sphincs/primitives/hash.c b/crypto/sphincs/primitives/hash.c deleted file mode 100644 index 7b990083..00000000 --- a/crypto/sphincs/primitives/hash.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#include "../hash.h" - -#include "haraka.h" -#include - -void hash_N_to_N(struct hash *dst, const struct hash *src) -{ - haraka256_256(dst->h, src->h); -} - -void hash_N_to_N_chain(struct hash *dst, const struct hash *src, int chainlen) -{ - haraka256_256_chain(dst->h, src->h, chainlen); -} - -void hash_2N_to_N(struct hash *dst, const struct hash *src) -{ - haraka512_256(dst->h, src->h); -} - -void hash_to_N(struct hash *dst, const uint8_t *src, uint64_t srclen) -{ - SHA256(src, srclen, dst->h); -} - -void hash_compress_pairs(struct hash *dst, const struct hash *src, int count) -{ - int i = 0; - for (; i < count; ++i) - hash_2N_to_N(&dst[i], &src[2*i]); -} - -void hash_compress_all(struct hash *dst, const struct hash *src, int count) -{ - /* Fast implementation with a single call to a large input hash function */ - hash_to_N(dst, src->h, count * HASH_SIZE); - /* TODO: implement a real L-tree with 2N->N compression function */ -} - -void hash_parallel(struct hash *dst, const struct hash *src, int count) -{ - int i = 0; - for (; i < count; ++i) - hash_N_to_N(&dst[i], &src[i]); -} - -void hash_parallel_chains(struct hash *dst, const struct hash *src, int count, int chainlen) -{ - int i = 0; - for (; i < count; ++i) - hash_N_to_N_chain(&dst[i], &src[i], chainlen); -} - diff --git a/crypto/sphincs/randombytes.c b/crypto/sphincs/randombytes.c deleted file mode 100644 index 904daf41..00000000 --- a/crypto/sphincs/randombytes.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "randombytes.h" - -#include -#include -#include -#include - -/* lazy unsafe emulation of SUPERCOP's randombytes() */ -void randombytes (unsigned char *x, unsigned long long xlen) { - static int fd = -1; - if (fd == -1) fd = open ("/dev/urandom", O_RDONLY); - read (fd, x, xlen); -} diff --git a/crypto/sphincs/randombytes.h b/crypto/sphincs/randombytes.h deleted file mode 100644 index 77d6f648..00000000 --- a/crypto/sphincs/randombytes.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -void randombytes (unsigned char *x, unsigned long long xlen); - diff --git a/crypto/sphincs/sign.c b/crypto/sphincs/sign.c deleted file mode 100644 index c656fea7..00000000 --- a/crypto/sphincs/sign.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#include "gravity.h" -#include "randombytes.h" - - -int crypto_sign_keypair (unsigned char *pk, unsigned char *sk) { - - struct gravity_sk sk_str; - struct gravity_pk pk_str; - - if (!pk || !sk) return -1; - - randombytes (sk_str.seed.h, HASH_SIZE); - randombytes (sk_str.salt.h, HASH_SIZE); - - gravity_gensk (&sk_str); - - memcpy (sk, (void *)&sk_str, sizeof (struct gravity_sk)); - - gravity_genpk (&sk_str, &pk_str); - - memcpy (pk, pk_str.k.h, HASH_SIZE); - - return 0; -} - -int crypto_sign (unsigned char *sm, - unsigned long long *smlen, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) { - - struct gravity_sk sk_str; - struct hash msg; - struct gravity_sign sig; - int ret; - - if (!sm || !smlen || !m || !sk) return -1; - - hash_to_N (&msg, m, mlen); - - memcpy ((void *)&sk_str, sk, sizeof (struct gravity_sk)); - - memset ((uint8_t *)(&sig), 0, sizeof (struct gravity_sign)); - - ret = gravity_sign (&sk_str, &sig, &msg); - - if (ret != GRAVITY_OK) return ret; - - memcpy (sm + mlen, (uint8_t *)(&sig), sizeof (struct gravity_sign)); - - memmove (sm, m, mlen); - *smlen = mlen + sizeof (struct gravity_sign); - - return 0; -} - -int crypto_sign_open (unsigned char *m, - unsigned long long *mlen, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk) { - - struct gravity_pk pk_str; - struct hash msg; - struct gravity_sign sig; - - if (!m || !mlen || !sm || !pk) return -1; - - if (smlen < sizeof (struct gravity_sign)) return -2; - - *mlen = smlen - sizeof (struct gravity_sign); - - memcpy ((void *)(&pk_str), pk, HASH_SIZE); - - memcpy ((void *)&sig, sm + *mlen, sizeof (struct gravity_sign)); - - memcpy (m, sm, *mlen); - - hash_to_N (&msg, m, *mlen); - - return gravity_verify (&pk_str, &sig, &msg); -} diff --git a/crypto/sphincs/sign.h b/crypto/sphincs/sign.h deleted file mode 100644 index 111427b5..00000000 --- a/crypto/sphincs/sign.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -int crypto_sign_keypair (unsigned char *pk, unsigned char *sk); - -int crypto_sign (unsigned char *sm, - unsigned long long *smlen, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk); - -int crypto_sign_open (unsigned char *m, - unsigned long long *mlen, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk); diff --git a/crypto/sphincs/wots.c b/crypto/sphincs/wots.c deleted file mode 100644 index 5aa014fd..00000000 --- a/crypto/sphincs/wots.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#include "wots.h" -#include "aes.h" - -#include "ltree.h" - -void wots_chain (const struct hash *src, struct hash *dst, int count) { - hash_N_to_N_chain (dst, src, count); -} - -/* Naive WOTS without L-tree nor masks */ -void wots_gensk (const struct hash *key, const struct address *address, struct wots_sk *sk) { - uint8_t iv[16]; - - iv[0] = (address->index >> 56) & 0xFF; - iv[1] = (address->index >> 48) & 0xFF; - iv[2] = (address->index >> 40) & 0xFF; - iv[3] = (address->index >> 32) & 0xFF; - iv[4] = (address->index >> 24) & 0xFF; - iv[5] = (address->index >> 16) & 0xFF; - iv[6] = (address->index >> 8) & 0xFF; - iv[7] = address->index & 0xFF; - - iv[8] = (address->layer >> 24) & 0xFF; - iv[9] = (address->layer >> 16) & 0xFF; - iv[10] = (address->layer >> 8) & 0xFF; - iv[11] = address->layer & 0xFF; - - /* Counter */ - iv[12] = 0; - iv[13] = 0; - iv[14] = 0; - iv[15] = 0; - aesctr256 (sk->k->h, key->h, iv, WOTS_ell * HASH_SIZE); -} - -void wots_sign (const struct wots_sk *sk, struct wots_sign *sign, const struct hash *msg) { - int checksum = 0; - int i; - - for (i = 0; i < WOTS_ell1; ++i) { - uint8_t v = msg->h[i / 2]; - int a = (v >> 4) & 15; - int b = v & 15; - checksum += (WOTS_w - 1 - a) + (WOTS_w - 1 - b); - - wots_chain (&sk->k[i], &sign->s[i], a); - ++i; - wots_chain (&sk->k[i], &sign->s[i], b); - } - - /* Checksum values */ - for (i = WOTS_ell1; i < WOTS_ell; ++i) { - wots_chain (&sk->k[i], &sign->s[i], checksum & 15); - checksum >>= 4; - } -} - - -/* WOTS with L-tree and without masks */ -void lwots_ltree (const struct wots_pk *pk, struct lwots_pk *root) { - struct hash buf[2 * WOTS_ell]; - - hashcpyN (buf, pk->k, WOTS_ell); - ltree (buf, WOTS_ell, &root->k); -} - -void lwots_genpk (const struct wots_sk *sk, struct lwots_pk *pk) { - struct wots_pk tmp; - - hash_parallel_chains (tmp.k, sk->k, WOTS_ell, WOTS_w - 1); - lwots_ltree (&tmp, pk); -} - -void lwots_extract (struct lwots_pk *pk, const struct wots_sign *sign, const struct hash *msg) { - struct wots_pk tmp; - int i; - int checksum = 0; - - for (i = 0; i < WOTS_ell1; ++i) { - uint8_t v = msg->h[i / 2]; - int a = (v >> 4) & 15; - int b = v & 15; - checksum += (WOTS_w - 1 - a) + (WOTS_w - 1 - b); - - wots_chain (&sign->s[i], &tmp.k[i], WOTS_w - 1 - a); - ++i; - wots_chain (&sign->s[i], &tmp.k[i], WOTS_w - 1 - b); - } - - /* Checksum values */ - for (i = WOTS_ell1; i < WOTS_ell; ++i) { - wots_chain (&sign->s[i], &tmp.k[i], WOTS_w - 1 - (checksum & 15)); - checksum >>= 4; - } - - /* L-tree */ - lwots_ltree (&tmp, pk); -} diff --git a/crypto/sphincs/wots.h b/crypto/sphincs/wots.h deleted file mode 100644 index dd4a7fbd..00000000 --- a/crypto/sphincs/wots.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2017 Nagravision S.A. - */ -#pragma once - -#include "common.h" -#include "hash.h" - -/* Naive WOTS without L-tree nor masks */ -struct wots_sk { - struct hash k[WOTS_ell]; -}; - -struct wots_pk { - struct hash k[WOTS_ell]; -}; - -struct wots_sign { - struct hash s[WOTS_ell]; -}; - -void wots_gensk (const struct hash *key, const struct address *address, struct wots_sk *sk); - -void wots_sign (const struct wots_sk *sk, struct wots_sign *sign, const struct hash *msg); - - -/* WOTS with L-tree and without masks */ -struct lwots_pk { - struct hash k; -}; - -void lwots_genpk (const struct wots_sk *sk, struct lwots_pk *pk); - -void lwots_extract (struct lwots_pk *pk, const struct wots_sign *sign, const struct hash *msg); diff --git a/crypto/zuc/build.info b/crypto/zuc/build.info index 2d9acb1c..5875072f 100644 --- a/crypto/zuc/build.info +++ b/crypto/zuc/build.info @@ -1,2 +1,2 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=zuc_core.c zuc_128eea3.c zuc_128eia3.c zuc_spec.c +SOURCE[../../libcrypto]=zuc_core.c diff --git a/crypto/zuc/zuc_128eea3.c b/crypto/zuc/zuc_128eea3.c deleted file mode 100644 index 5c4504d3..00000000 --- a/crypto/zuc/zuc_128eea3.c +++ /dev/null @@ -1,69 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 - 2018 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include - -void ZUC_128eea3_set_key(ZUC_128EEA3 *ctx, const unsigned char user_key[16], - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction) -{ - //TODO -} - -void ZUC_128eea3_encrypt(ZUC_128EEA3 *ctx, size_t len, - const unsigned char *in, unsigned char *out) -{ - //TODO -} - -void ZUC_128eea3(const unsigned char key[ZUC_KEY_LENGTH], - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction, - size_t len, const unsigned char *in, unsigned char *out) -{ - //TODO -} diff --git a/crypto/zuc/zuc_128eia3.c b/crypto/zuc/zuc_128eia3.c deleted file mode 100644 index d7da975a..00000000 --- a/crypto/zuc/zuc_128eia3.c +++ /dev/null @@ -1,74 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 - 2018 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include - -void ZUC_128eia3_set_key(ZUC_128EIA3 *ctx, const unsigned char *user_key, - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction) -{ - //TODO -} - -void ZUC_128eia3_update(ZUC_128EIA3 *ctx, const unsigned char *data, - size_t datalen) -{ - //TODO -} - -void ZUC_128eia3_final(ZUC_128EIA3 *ctx, uint32_t *mac) -{ - //TODO -} - -void ZUC_128eia3(const unsigned char key[ZUC_KEY_LENGTH], - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction, - const unsigned char *data, size_t dlen, uint32_t *mac) -{ - //TODO -} diff --git a/crypto/zuc/zuc_core.c b/crypto/zuc/zuc_core.c index d206e037..357cf959 100644 --- a/crypto/zuc/zuc_core.c +++ b/crypto/zuc/zuc_core.c @@ -49,7 +49,6 @@ #include #include -#include "zuc_spec.h" static const ZUC_UINT15 KD[16] = { 0x44D7,0x26BC,0x626B,0x135E,0x5789,0x35E2,0x7135,0x09AF, diff --git a/crypto/zuc/zuc_spec.c b/crypto/zuc/zuc_spec.c deleted file mode 100644 index 85e37a5c..00000000 --- a/crypto/zuc/zuc_spec.c +++ /dev/null @@ -1,406 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 - 2018 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -/* code from ZUC 3GPP Specifications, version 1.6 - */ - -#include -#include -#include "zuc_spec.h" - -/* the state registers of LFSR */ -u32 LFSR_S0; -u32 LFSR_S1; -u32 LFSR_S2; -u32 LFSR_S3; -u32 LFSR_S4; -u32 LFSR_S5; -u32 LFSR_S6; -u32 LFSR_S7; -u32 LFSR_S8; -u32 LFSR_S9; -u32 LFSR_S10; -u32 LFSR_S11; -u32 LFSR_S12; -u32 LFSR_S13; -u32 LFSR_S14; -u32 LFSR_S15; - -/* the registers of F */ -u32 F_R1; -u32 F_R2; - -/* the outputs of BitReorganization */ -u32 BRC_X0; -u32 BRC_X1; -u32 BRC_X2; -u32 BRC_X3; - -/* the s-boxes */ -u8 S0[256] = { - 0x3e,0x72,0x5b,0x47,0xca,0xe0,0x00,0x33,0x04,0xd1,0x54,0x98,0x09,0xb9,0x6d,0xcb, - 0x7b,0x1b,0xf9,0x32,0xaf,0x9d,0x6a,0xa5,0xb8,0x2d,0xfc,0x1d,0x08,0x53,0x03,0x90, - 0x4d,0x4e,0x84,0x99,0xe4,0xce,0xd9,0x91,0xdd,0xb6,0x85,0x48,0x8b,0x29,0x6e,0xac, - 0xcd,0xc1,0xf8,0x1e,0x73,0x43,0x69,0xc6,0xb5,0xbd,0xfd,0x39,0x63,0x20,0xd4,0x38, - 0x76,0x7d,0xb2,0xa7,0xcf,0xed,0x57,0xc5,0xf3,0x2c,0xbb,0x14,0x21,0x06,0x55,0x9b, - 0xe3,0xef,0x5e,0x31,0x4f,0x7f,0x5a,0xa4,0x0d,0x82,0x51,0x49,0x5f,0xba,0x58,0x1c, - 0x4a,0x16,0xd5,0x17,0xa8,0x92,0x24,0x1f,0x8c,0xff,0xd8,0xae,0x2e,0x01,0xd3,0xad, - 0x3b,0x4b,0xda,0x46,0xeb,0xc9,0xde,0x9a,0x8f,0x87,0xd7,0x3a,0x80,0x6f,0x2f,0xc8, - 0xb1,0xb4,0x37,0xf7,0x0a,0x22,0x13,0x28,0x7c,0xcc,0x3c,0x89,0xc7,0xc3,0x96,0x56, - 0x07,0xbf,0x7e,0xf0,0x0b,0x2b,0x97,0x52,0x35,0x41,0x79,0x61,0xa6,0x4c,0x10,0xfe, - 0xbc,0x26,0x95,0x88,0x8a,0xb0,0xa3,0xfb,0xc0,0x18,0x94,0xf2,0xe1,0xe5,0xe9,0x5d, - 0xd0,0xdc,0x11,0x66,0x64,0x5c,0xec,0x59,0x42,0x75,0x12,0xf5,0x74,0x9c,0xaa,0x23, - 0x0e,0x86,0xab,0xbe,0x2a,0x02,0xe7,0x67,0xe6,0x44,0xa2,0x6c,0xc2,0x93,0x9f,0xf1, - 0xf6,0xfa,0x36,0xd2,0x50,0x68,0x9e,0x62,0x71,0x15,0x3d,0xd6,0x40,0xc4,0xe2,0x0f, - 0x8e,0x83,0x77,0x6b,0x25,0x05,0x3f,0x0c,0x30,0xea,0x70,0xb7,0xa1,0xe8,0xa9,0x65, - 0x8d,0x27,0x1a,0xdb,0x81,0xb3,0xa0,0xf4,0x45,0x7a,0x19,0xdf,0xee,0x78,0x34,0x60 -}; - -u8 S1[256] = { - 0x55,0xc2,0x63,0x71,0x3b,0xc8,0x47,0x86,0x9f,0x3c,0xda,0x5b,0x29,0xaa,0xfd,0x77, - 0x8c,0xc5,0x94,0x0c,0xa6,0x1a,0x13,0x00,0xe3,0xa8,0x16,0x72,0x40,0xf9,0xf8,0x42, - 0x44,0x26,0x68,0x96,0x81,0xd9,0x45,0x3e,0x10,0x76,0xc6,0xa7,0x8b,0x39,0x43,0xe1, - 0x3a,0xb5,0x56,0x2a,0xc0,0x6d,0xb3,0x05,0x22,0x66,0xbf,0xdc,0x0b,0xfa,0x62,0x48, - 0xdd,0x20,0x11,0x06,0x36,0xc9,0xc1,0xcf,0xf6,0x27,0x52,0xbb,0x69,0xf5,0xd4,0x87, - 0x7f,0x84,0x4c,0xd2,0x9c,0x57,0xa4,0xbc,0x4f,0x9a,0xdf,0xfe,0xd6,0x8d,0x7a,0xeb, - 0x2b,0x53,0xd8,0x5c,0xa1,0x14,0x17,0xfb,0x23,0xd5,0x7d,0x30,0x67,0x73,0x08,0x09, - 0xee,0xb7,0x70,0x3f,0x61,0xb2,0x19,0x8e,0x4e,0xe5,0x4b,0x93,0x8f,0x5d,0xdb,0xa9, - 0xad,0xf1,0xae,0x2e,0xcb,0x0d,0xfc,0xf4,0x2d,0x46,0x6e,0x1d,0x97,0xe8,0xd1,0xe9, - 0x4d,0x37,0xa5,0x75,0x5e,0x83,0x9e,0xab,0x82,0x9d,0xb9,0x1c,0xe0,0xcd,0x49,0x89, - 0x01,0xb6,0xbd,0x58,0x24,0xa2,0x5f,0x38,0x78,0x99,0x15,0x90,0x50,0xb8,0x95,0xe4, - 0xd0,0x91,0xc7,0xce,0xed,0x0f,0xb4,0x6f,0xa0,0xcc,0xf0,0x02,0x4a,0x79,0xc3,0xde, - 0xa3,0xef,0xea,0x51,0xe6,0x6b,0x18,0xec,0x1b,0x2c,0x80,0xf7,0x74,0xe7,0xff,0x21, - 0x5a,0x6a,0x54,0x1e,0x41,0x31,0x92,0x35,0xc4,0x33,0x07,0x0a,0xba,0x7e,0x0e,0x34, - 0x88,0xb1,0x98,0x7c,0xf3,0x3d,0x60,0x6c,0x7b,0xca,0xd3,0x1f,0x32,0x65,0x04,0x28, - 0x64,0xbe,0x85,0x9b,0x2f,0x59,0x8a,0xd7,0xb0,0x25,0xac,0xaf,0x12,0x03,0xe2,0xf2 -}; - -/* the constants D */ -u32 EK_d[16] = { - 0x44D7, 0x26BC, 0x626B, 0x135E, 0x5789, 0x35E2, 0x7135, 0x09AF, - 0x4D78, 0x2F13, 0x6BC4, 0x1AF1, 0x5E26, 0x3C4D, 0x789A, 0x47AC -}; - -/* c = a + b mod (2^31 – 1) */ -u32 AddM(u32 a, u32 b) -{ - u32 c = a + b; - return (c & 0x7FFFFFFF) + (c >> 31); -} - -/* LFSR with initialization mode */ -#define MulByPow2(x, k) ((((x) << k) | ((x) >> (31 - k))) & 0x7FFFFFFF) - -void LFSRWithInitialisationMode(u32 u) -{ - u32 f, v; - f = LFSR_S0; - v = MulByPow2(LFSR_S0, 8); - f = AddM(f, v); - v = MulByPow2(LFSR_S4, 20); - f = AddM(f, v); - v = MulByPow2(LFSR_S10, 21); - f = AddM(f, v); - v = MulByPow2(LFSR_S13, 17); - f = AddM(f, v); - v = MulByPow2(LFSR_S15, 15); - f = AddM(f, v); - f = AddM(f, u); - /* update the state */ - LFSR_S0 = LFSR_S1; - LFSR_S1 = LFSR_S2; - LFSR_S2 = LFSR_S3; - LFSR_S3 = LFSR_S4; - LFSR_S4 = LFSR_S5; - LFSR_S5 = LFSR_S6; - LFSR_S6 = LFSR_S7; - LFSR_S7 = LFSR_S8; - LFSR_S8 = LFSR_S9; - LFSR_S9 = LFSR_S10; - LFSR_S10 = LFSR_S11; - LFSR_S11 = LFSR_S12; - LFSR_S12 = LFSR_S13; - LFSR_S13 = LFSR_S14; - LFSR_S14 = LFSR_S15; - LFSR_S15 = f; -} - -/* LFSR with work mode */ -void LFSRWithWorkMode(void) -{ - u32 f, v; - f = LFSR_S0; - v = MulByPow2(LFSR_S0, 8); - f = AddM(f, v); - v = MulByPow2(LFSR_S4, 20); - f = AddM(f, v); - v = MulByPow2(LFSR_S10, 21); - f = AddM(f, v); - v = MulByPow2(LFSR_S13, 17); - f = AddM(f, v); - v = MulByPow2(LFSR_S15, 15); - f = AddM(f, v); - /* update the state */ - LFSR_S0 = LFSR_S1; - LFSR_S1 = LFSR_S2; - LFSR_S2 = LFSR_S3; - LFSR_S3 = LFSR_S4; - LFSR_S4 = LFSR_S5; - LFSR_S5 = LFSR_S6; - LFSR_S6 = LFSR_S7; - LFSR_S7 = LFSR_S8; - LFSR_S8 = LFSR_S9; - LFSR_S9 = LFSR_S10; - LFSR_S10 = LFSR_S11; - LFSR_S11 = LFSR_S12; - LFSR_S12 = LFSR_S13; - LFSR_S13 = LFSR_S14; - LFSR_S14 = LFSR_S15; - LFSR_S15 = f; -} - -/* BitReorganization */ -void BitReorganization(void) -{ - BRC_X0 = ((LFSR_S15 & 0x7FFF8000) << 1) | (LFSR_S14 & 0xFFFF); - BRC_X1 = ((LFSR_S11 & 0xFFFF) << 16) | (LFSR_S9 >> 15); - BRC_X2 = ((LFSR_S7 & 0xFFFF) << 16) | (LFSR_S5 >> 15); - BRC_X3 = ((LFSR_S2 & 0xFFFF) << 16) | (LFSR_S0 >> 15); -} - -#define ROT(a, k) (((a) << k) | ((a) >> (32 - k))) - -/* L1 */ -u32 L1(u32 X) -{ - return (X ^ ROT(X, 2) ^ ROT(X, 10) ^ ROT(X, 18) ^ ROT(X, 24)); -} - -/* L2 */ -u32 L2(u32 X) -{ - return (X ^ ROT(X, 8) ^ ROT(X, 14) ^ ROT(X, 22) ^ ROT(X, 30)); -} - -#define MAKEU32(a, b, c, d) \ - (((u32)(a) << 24) | ((u32)(b) << 16) | ((u32)(c) << 8) | ((u32)(d))) - -/* F */ -u32 F() -{ - u32 W, W1, W2, u, v; - W = (BRC_X0 ^ F_R1) + F_R2; - W1 = F_R1 + BRC_X1; - W2 = F_R2 ^ BRC_X2; - u = L1((W1 << 16) | (W2 >> 16)); - v = L2((W2 << 16) | (W1 >> 16)); - F_R1 = MAKEU32(S0[u >> 24], S1[(u >> 16) & 0xFF], - S0[(u >> 8) & 0xFF], S1[u & 0xFF]); - F_R2 = MAKEU32(S0[v >> 24], S1[(v >> 16) & 0xFF], - S0[(v >> 8) & 0xFF], S1[v & 0xFF]); - return W; -} - -#define MAKEU31(a, b, c) (((u32)(a) << 23) | ((u32)(b) << 8) | (u32)(c)) - -/* initialize */ -void Initialization(u8* k, u8* iv) -{ - u32 w, nCount; - - /* expand key */ - LFSR_S0 = MAKEU31(k[0], EK_d[0], iv[0]); - LFSR_S1 = MAKEU31(k[1], EK_d[1], iv[1]); - LFSR_S2 = MAKEU31(k[2], EK_d[2], iv[2]); - LFSR_S3 = MAKEU31(k[3], EK_d[3], iv[3]); - LFSR_S4 = MAKEU31(k[4], EK_d[4], iv[4]); - LFSR_S5 = MAKEU31(k[5], EK_d[5], iv[5]); - LFSR_S6 = MAKEU31(k[6], EK_d[6], iv[6]); - LFSR_S7 = MAKEU31(k[7], EK_d[7], iv[7]); - LFSR_S8 = MAKEU31(k[8], EK_d[8], iv[8]); - LFSR_S9 = MAKEU31(k[9], EK_d[9], iv[9]); - LFSR_S10 = MAKEU31(k[10], EK_d[10], iv[10]); - LFSR_S11 = MAKEU31(k[11], EK_d[11], iv[11]); - LFSR_S12 = MAKEU31(k[12], EK_d[12], iv[12]); - LFSR_S13 = MAKEU31(k[13], EK_d[13], iv[13]); - LFSR_S14 = MAKEU31(k[14], EK_d[14], iv[14]); - LFSR_S15 = MAKEU31(k[15], EK_d[15], iv[15]); - - /* set F_R1 and F_R2 to zero */ - F_R1 = 0; - F_R2 = 0; - nCount = 32; - while (nCount > 0) - { - BitReorganization(); - w = F(); - LFSRWithInitialisationMode(w >> 1); - nCount --; - } -} - -void GenerateKeystream(u32* pKeystream, int KeystreamLen) -{ - int i; - - { - BitReorganization(); - F(); /* discard the output of F */ - LFSRWithWorkMode(); - } - - for (i = 0; i < KeystreamLen; i ++) - { - BitReorganization(); - pKeystream[i] = F() ^ BRC_X3; - LFSRWithWorkMode(); - } -} - -/* The ZUC algorithm, see ref. [3]*/ -void ZUC(u8* k, u8* iv, u32* ks, int len) -{ - /* The initialization of ZUC, see page 17 of ref. [3]*/ - Initialization(k, iv); - /* The procedure of generating keystream of ZUC, see page 18 of ref. [3]*/ - GenerateKeystream(ks, len); -} - -void EEA3(u8* CK, u32 COUNT, u32 BEARER, u32 DIRECTION, u32 LENGTH, u32* M, u32* C) -{ - u32 *z, L, i; - u8 IV[16]; - - L = (LENGTH+31)/32; - z = (u32 *) malloc(L*sizeof(u32)); - IV[0] = (COUNT>>24) & 0xFF; - IV[1] = (COUNT>>16) & 0xFF; - IV[2] = (COUNT>>8) & 0xFF; - IV[3] = COUNT & 0xFF; - - IV[4] = ((BEARER << 3) | ((DIRECTION&1)<<2)) & 0xFC; - IV[5] = 0; - IV[6] = 0; - IV[7] = 0; - - IV[8] = IV[0]; - IV[9] = IV[1]; - IV[10] = IV[2]; - IV[11] = IV[3]; - - IV[12] = IV[4]; - IV[13] = IV[5]; - IV[14] = IV[6]; - IV[15] = IV[7]; - - ZUC(CK, IV, z, L); - for (i=0; i>(32-ti)); - } - return WORD; -} - -u8 GET_BIT(u32 * DATA, u32 i) -{ - return (DATA[i/32] & (1<<(31-(i%32)))) ? 1 : 0; -} - -void EIA3(u8* IK, u32 COUNT, u32 DIRECTION, u32 BEARER, u32 LENGTH, u32* M, u32* MAC) -{ - u32 *z, N, L, T, i; - u8 IV[16]; - - IV[0] = (COUNT>>24) & 0xFF; - IV[1] = (COUNT>>16) & 0xFF; - IV[2] = (COUNT>>8) & 0xFF; - IV[3] = COUNT & 0xFF; - - IV[4] = (BEARER << 3) & 0xF8; - IV[5] = IV[6] = IV[7] = 0; - - IV[8] = ((COUNT>>24) & 0xFF) ^ ((DIRECTION&1)<<7); - IV[9] = (COUNT>>16) & 0xFF; - IV[10] = (COUNT>>8) & 0xFF; - IV[11] = COUNT & 0xFF; - - IV[12] = IV[4]; - IV[13] = IV[5]; - IV[14] = IV[6] ^ ((DIRECTION&1)<<7); - IV[15] = IV[7]; - - N = LENGTH + 64; - L = (N + 31) / 32; - z = (u32 *) malloc(L*sizeof(u32)); - ZUC(IK, IV, z, L); - - T = 0; - for (i = 0; i < LENGTH; i++) { - if (GET_BIT(M,i)) { - T ^= GET_WORD(z,i); - } - } - T ^= GET_WORD(z,LENGTH); - - *MAC = T ^ z[L-1]; - free(z); -} diff --git a/crypto/zuc/zuc_spec.h b/crypto/zuc/zuc_spec.h deleted file mode 100644 index 5e64080f..00000000 --- a/crypto/zuc/zuc_spec.h +++ /dev/null @@ -1,72 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * code from ZUC 3GPP Specifications, version 1.6 - */ - -#ifndef HEADER_ZUC_SPEC_H -#define HEADER_ZUC_SPEC_H - -typedef unsigned char u8; -typedef unsigned int u32; - -#ifdef __cplusplus -extern "C" { -#endif - -void Initialization(u8* k, u8* iv); -void GenerateKeystream(u32* pKeystream, int KeystreamLen); -void ZUC(u8* k, u8* iv, u32* ks, int len); -void EEA3(u8* CK, u32 COUNT, u32 BEARER, u32 DIRECTION, u32 LENGTH, u32* M, u32* C); -void EIA3(u8* IK, u32 COUNT, u32 DIRECTION, u32 BEARER, u32 LENGTH, u32* M, u32* MAC); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/doc/crypto/ECRS_sign.pod b/doc/crypto/ECRS_sign.pod deleted file mode 100644 index d334d188..00000000 --- a/doc/crypto/ECRS_sign.pod +++ /dev/null @@ -1,83 +0,0 @@ -=pod - -=encoding utf8 - -=head1 NAME - -ECRS_SIG_new, ECRS_SIG_free, -i2d_ECRS_SIG, d2i_ECRS_SIG, -ECRS_do_sign, ECRS_do_verify, -ECRS_size, ECRS_sign, ECRS_verify - EC Ring Signature Algorithm - -=head1 SYNOPSIS - - #include - - ECRS_SIG *ECRS_SIG_new(void); - void ECRS_SIG_free(ECRS_SIG *sig); - - int i2d_ECRS_SIG(const ECRS_SIG *sig, unsigned char **pp); - ECRS_SIG *d2i_ECRS_SIG(ECRS_SIG **sig, const unsigned char **pp, long len); - - ECRS_SIG *ECRS_do_sign(const EVP_MD *md, - const unsigned char *dgst, int dgstlen, - STACK_OF(EC_KEY) *pub_keys, EC_KEY *ec_key); - int ECRS_do_verify(const EVP_MD *md, const unsigned char *dgst, int dgstlen, - const ECRS_SIG *sig, STACK_OF(EC_KEY) *pub_keys); - - int ECRS_size(const EC_KEY *ec_key, int n); - - int ECRS_sign(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, - STACK_OF(EC_KEY) *pub_keys, EC_KEY *ec_key); - int ECRS_verify(int type, const unsigned char *dgst, int dgstlen, - const unsigned char *sig, int siglen, - STACK_OF(EC_KEY) *pub_keys); - -=head1 DESCRIPTION - -Applications should use the higher level functions -L etc. instead of calling the hash -functions directly. - -SM3 (ShangMi#3 Hash Algorithm) is a cryptographic hash function with a -256 bit output. - -sm3() computes the SM3 message digest of the B -bytes at B and places it in B (which must have space for -SHA_DIGEST_LENGTH == 20 bytes of output). If B is NULL, the digest -is placed in a static array. Note: setting B to NULL is B. - -The following functions may be used if the message is not completely -stored in memory: - -sm3_nit() initializes a B structure. - -sm3_update() can be called repeatedly with chunks of the message to -be hashed (B bytes at B). - -sm3_final() places the message digest in B, which must have space -for SM3_DIGEST_LENGTH == 32 bytes of output, and erases the B. - -=head1 RETURN VALUES - -sm3_init(), sm3_update(), sm3_final(), sm3_compress() and sm3() return void. - -=head1 CONFORMING TO - -GM/T 0004-2012 SM3 Cryptogrpahic Hash Algorithm. - -=head1 SEE ALSO - -L - -=head1 COPYRIGHT - -Copyright 2014-2019 The GmSSL Project. All Rights Reserved. - -Licensed under the GmSSL 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 -L. - -=cut diff --git a/doc/gmssl/deterministic-sm2.md b/doc/gmssl/deterministic-sm2.md new file mode 100644 index 00000000..0cbbcdef --- /dev/null +++ b/doc/gmssl/deterministic-sm2.md @@ -0,0 +1,7 @@ +# Deterministic SM2 Signature Algorithm + +Like ECDSA, the SM2 signature algorithm need a cryptographicall +secure source of randomness. This requirement makes the algorithm is +warnable when the signature is generate. + +Produced siganture remains fully compatible diff --git a/include/openssl/base58.h b/include/openssl/base58.h deleted file mode 100644 index a1511c83..00000000 --- a/include/openssl/base58.h +++ /dev/null @@ -1,85 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_BASE58_H -#define HEADER_BASE58_H - -#include -#ifndef OPENSSL_NO_BASE58 - -#include - -#ifdef __cplusplus -extern "C" { -#endif - - -int base58_encode(const void *in, size_t inlen, char *out, size_t *outlen); -int base58_decode(const char *in, size_t inlen, void *out, size_t *outlen); - -/* 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. - */ - -int ERR_load_BASE58_strings(void); - -/* Error codes for the BASE58 functions. */ - -/* Function codes. */ -# define BASE58_F_BASE58_DECODE 100 - -/* Reason codes. */ -# define BASE58_R_HIGHBIT_SET_ON_INVALID_DIGIT 100 - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/include/openssl/bb1ibe.h b/include/openssl/bb1ibe.h deleted file mode 100644 index 496d35b4..00000000 --- a/include/openssl/bb1ibe.h +++ /dev/null @@ -1,148 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * Boneh-Boyen Identity-Based Encryption (BB1-IBE) - * see [RFC 5091](https://tools.ietf.org/html/rfc5091) - * Identity-Based Cryptography Standard (IBCS) #1: - * Supersingular Curve Implementations of the BF and BB1 Cryptosystems - */ - -#ifndef HEADER_BB1IBE_H -#define HEADER_BB1IBE_H - -#include -#ifndef OPENSSL_NO_BB1IBE - -#include -#include -#include -#include -#include -#include - -#define BB1IBE_VERSION 2 - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef struct BB1PublicParameters_st BB1PublicParameters; -typedef struct BB1MasterSecret_st BB1MasterSecret; -typedef struct BB1PrivateKeyBlock_st BB1PrivateKeyBlock; -typedef struct BB1CiphertextBlock_st BB1CiphertextBlock; - - -int BB1IBE_setup(const EC_GROUP *group, const EVP_MD *md, - BB1PublicParameters **mpk, BB1MasterSecret **msk); -BB1PrivateKeyBlock *BB1IBE_extract_private_key(BB1PublicParameters *mpk, - BB1MasterSecret *msk, const char *id, size_t idlen); -BB1CiphertextBlock *BB1IBE_do_encrypt(BB1PublicParameters *mpk, - const unsigned char *in, size_t inlen, - const char *id, size_t idlen); -int BB1IBE_do_decrypt(BB1PublicParameters *mpk, - const BB1CiphertextBlock *in, unsigned char *out, size_t *outlen, - BB1PrivateKeyBlock *sk); -int BB1IBE_encrypt(BB1PublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - const char *id, size_t idlen); -int BB1IBE_decrypt(BB1PublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - BB1PrivateKeyBlock *sk); - -DECLARE_ASN1_FUNCTIONS(BB1MasterSecret) -DECLARE_ASN1_FUNCTIONS(BB1PublicParameters) -DECLARE_ASN1_FUNCTIONS(BB1PrivateKeyBlock) -DECLARE_ASN1_FUNCTIONS(BB1CiphertextBlock) - -/* 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. - */ - -int ERR_load_BB1IBE_strings(void); - -/* Error codes for the BB1IBE functions. */ - -/* Function codes. */ -# define BB1IBE_F_BB1CIPHERTEXTBLOCK_HASH_TO_RANGE 100 -# define BB1IBE_F_BB1IBE_DECRYPT 101 -# define BB1IBE_F_BB1IBE_DOUBLE_HASH 102 -# define BB1IBE_F_BB1IBE_DO_DECRYPT 103 -# define BB1IBE_F_BB1IBE_DO_ENCRYPT 104 -# define BB1IBE_F_BB1IBE_ENCRYPT 105 -# define BB1IBE_F_BB1IBE_EXTRACT_PRIVATE_KEY 106 -# define BB1IBE_F_BB1IBE_SETUP 107 - -/* Reason codes. */ -# define BB1IBE_R_BB1CIPHERTEXT_INVALID_MAC 100 -# define BB1IBE_R_BB1IBE_HASH_FAILURE 101 -# define BB1IBE_R_BUFFER_TOO_SMALL 102 -# define BB1IBE_R_COMPUTE_OUTLEN_FAILURE 103 -# define BB1IBE_R_COMPUTE_TATE_FAILURE 104 -# define BB1IBE_R_D2I_FAILURE 105 -# define BB1IBE_R_DECRYPT_FAILURE 106 -# define BB1IBE_R_DOUBLE_HASH_FAILURE 107 -# define BB1IBE_R_ENCRYPT_FAILURE 108 -# define BB1IBE_R_I2D_FAILURE 109 -# define BB1IBE_R_INVALID_INPUT 110 -# define BB1IBE_R_INVALID_MD 111 -# define BB1IBE_R_INVALID_OUTPUT_BUFFER 112 -# define BB1IBE_R_INVALID_TYPE1CURVE 113 -# define BB1IBE_R_NOT_NAMED_CURVE 114 -# define BB1IBE_R_PARSE_PAIRING 115 - -# ifdef __cplusplus -} -# endif -#endif -#endif diff --git a/include/openssl/bfibe.h b/include/openssl/bfibe.h deleted file mode 100644 index 54be396b..00000000 --- a/include/openssl/bfibe.h +++ /dev/null @@ -1,146 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * Boneh-Franklin Identity-Based Encryption (BF-IBE) - * see [RFC 5091](https://tools.ietf.org/html/rfc5091) - * Identity-Based Cryptography Standard (IBCS) #1: - * Supersingular Curve Implementations of the BF and BB1 Cryptosystems - */ - -#ifndef HEADER_BFIBE_H -#define HEADER_BFIBE_H - -#include -#ifndef OPENSSL_NO_BFIBE - -#include -#include -#include -#include -#include -#include - -#define BFIBE_VERSION 2 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct BFPublicParameters_st BFPublicParameters; -typedef struct BFMasterSecret_st BFMasterSecret; -typedef struct BFPrivateKeyBlock_st BFPrivateKeyBlock; -typedef struct BFCiphertextBlock_st BFCiphertextBlock; - -int BFIBE_setup(const EC_GROUP *group, const EVP_MD *md, - BFPublicParameters **mpk, BFMasterSecret **msk); -BFPrivateKeyBlock *BFIBE_extract_private_key(BFPublicParameters *mpk, - BFMasterSecret *msk, const char *id, size_t idlen); -BFCiphertextBlock *BFIBE_do_encrypt(BFPublicParameters *mpk, - const unsigned char *in, size_t inlen, - const char *id, size_t idlen); -int BFIBE_do_decrypt(BFPublicParameters *mpk, - const BFCiphertextBlock *in, - unsigned char *out, size_t *outlen, - BFPrivateKeyBlock *sk); -int BFIBE_encrypt(BFPublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - const char *id, size_t idlen); -int BFIBE_decrypt(BFPublicParameters *mpk, - const unsigned char *in, size_t inlen, - unsigned char *out, size_t *outlen, - BFPrivateKeyBlock *sk); - -DECLARE_ASN1_FUNCTIONS(BFPublicParameters) -DECLARE_ASN1_FUNCTIONS(BFMasterSecret) -DECLARE_ASN1_FUNCTIONS(BFPrivateKeyBlock) -DECLARE_ASN1_FUNCTIONS(BFCiphertextBlock) - -/* 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. - */ - -int ERR_load_BFIBE_strings(void); - -/* Error codes for the BFIBE functions. */ - -/* Function codes. */ -# define BFIBE_F_BFIBE_DECRYPT 100 -# define BFIBE_F_BFIBE_DO_DECRYPT 101 -# define BFIBE_F_BFIBE_DO_ENCRYPT 102 -# define BFIBE_F_BFIBE_ENCRYPT 103 -# define BFIBE_F_BFIBE_EXTRACT_PRIVATE_KEY 104 -# define BFIBE_F_BFIBE_SETUP 105 - -/* Reason codes. */ -# define BFIBE_R_BFIBE_CIPHERTEXT_FAILURE 100 -# define BFIBE_R_BUFFER_TOO_SMALL 101 -# define BFIBE_R_COMPUTE_OUTLEN_FAILURE 102 -# define BFIBE_R_D2I_FAILURE 103 -# define BFIBE_R_DECRYPT_FAILURE 104 -# define BFIBE_R_ENCRYPT_FAILURE 105 -# define BFIBE_R_HASH_BYTES_FAILURE 106 -# define BFIBE_R_I2D_FAILURE 107 -# define BFIBE_R_INVALID_BFIBE_HASHFUNC 108 -# define BFIBE_R_INVALID_CIPHERTEXT 109 -# define BFIBE_R_INVALID_TYPE1CURVE 110 -# define BFIBE_R_KDF_FAILURE 111 -# define BFIBE_R_NOT_NAMED_CURVE 112 -# define BFIBE_R_PARSE_CURVE_FAILURE 113 -# define BFIBE_R_PARSE_MPK_FAILURE 114 -# define BFIBE_R_PARSE_PAIRING 115 -# define BFIBE_R_RAND_FAILURE 116 - -# ifdef __cplusplus -} -# endif -#endif -#endif diff --git a/include/openssl/bn_gfp2.h b/include/openssl/bn_gfp2.h deleted file mode 100644 index effd2081..00000000 --- a/include/openssl/bn_gfp2.h +++ /dev/null @@ -1,96 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_BN_GFP2_H -#define HEADER_BN_GFP2_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* element a in GF(p^2), where a = a0 + a1 * i, i^2 == -1 */ -typedef struct { - BIGNUM *a0; - BIGNUM *a1; -} BN_GFP2; - -BN_GFP2 *BN_GFP2_new(void); -void BN_GFP2_free(BN_GFP2 *a); -int BN_GFP2_copy(BN_GFP2 *r, const BN_GFP2 *a); -int BN_GFP2_one(BN_GFP2 *a); -int BN_GFP2_zero(BN_GFP2 *a); -int BN_GFP2_is_zero(const BN_GFP2 *a); -int BN_GFP2_equ(const BN_GFP2 *a, const BN_GFP2 *b); -int BN_GFP2_add(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_sub(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_mul(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_sqr(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_inv(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_div(BN_GFP2 *r, const BN_GFP2 *a, const BN_GFP2 *b, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_exp(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *k, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_set_bn(BN_GFP2 *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_add_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, const BIGNUM *p,BN_CTX *ctx); -int BN_GFP2_sub_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_mul_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); -int BN_GFP2_div_bn(BN_GFP2 *r, const BN_GFP2 *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); -int BN_bn2gfp2(const BIGNUM *bn, BN_GFP2 *gfp2, const BIGNUM *p, BN_CTX *ctx); -int BN_gfp22bn(const BN_GFP2 *gfp2, BIGNUM *bn, const BIGNUM *p, BN_CTX *ctx); -/* - * Canonical a = a0 + a1 * i - * If order is 0 then output a0, a1, else output a1, a0, |a0| = |a1| = |p|. - */ -int BN_GFP2_canonical(const BN_GFP2 *a, unsigned char *out, size_t *outlen, - int order, const BIGNUM *p, BN_CTX *ctx); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/include/openssl/bn_hash.h b/include/openssl/bn_hash.h deleted file mode 100644 index dd8aed0d..00000000 --- a/include/openssl/bn_hash.h +++ /dev/null @@ -1,68 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_BN_HASH_H -#define HEADER_BN_HASH_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* hash input bytes to bignum in range [0, p - 1] */ -int BN_hash_to_range(const EVP_MD *md, - BIGNUM **bn, const void *in, size_t inlen, - const BIGNUM *p, BN_CTX *ctx); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/include/openssl/bn_solinas.h b/include/openssl/bn_solinas.h deleted file mode 100644 index 67fe53d9..00000000 --- a/include/openssl/bn_solinas.h +++ /dev/null @@ -1,94 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * Solinas Prime (prime number with low weight) - */ - -#ifndef HEADER_BN_SOLINAS_H -#define HEADER_BN_SOLINAS_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* solinas prime = 2^a + s * 2^b + c */ -typedef struct { - int a; - int b; - int s; - int c; -} BN_SOLINAS; - -int BN_bn2solinas(const BIGNUM *bn, BN_SOLINAS *solinas); -int BN_solinas2bn(const BN_SOLINAS *solinas, BIGNUM *bn); -int BN_is_solinas(const BIGNUM *bn); - -/* - * the following Solinas primes are from - * "Solinas primes of small weight for fixed sizes" - * https://eprint.iacr.org/2010/058.pdf - * - * 2^192 - 2^16 - 1 - * 2^192 - 2^64 - 1 - * 2^224 - 2^96 + 1 - * 2^256 - 2^168 + 1 - * 2^384 - 2^80 + 1 - * 2^512 - 2^32 + 1 - * 2^512 - 2^32 - 1 - * 2^1024 - 2^424 - 1 - * 2^1024 - 2^856 + 1 - */ - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/include/openssl/cpk.h b/include/openssl/cpk.h deleted file mode 100755 index d5eb5a6d..00000000 --- a/include/openssl/cpk.h +++ /dev/null @@ -1,151 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2007 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * CPK (Combined Public Key) is an identity-based cryptographic scheme - * with bound security. - */ - -#ifndef HEADER_CPK_H -#define HEADER_CPK_H - -#include -#ifndef OPENSSL_NO_CPK - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define CPK_MAX_ID_LENGTH 64 - -typedef struct cpk_master_secret_st CPK_MASTER_SECRET; -DECLARE_ASN1_FUNCTIONS(CPK_MASTER_SECRET) - -typedef struct cpk_public_params_st CPK_PUBLIC_PARAMS; -DECLARE_ASN1_FUNCTIONS(CPK_PUBLIC_PARAMS) - -/* - * rows cols factors - * NID_cpk_map_sha1 32 32 1024 - * NID_cpk_map_sm3 32 256 8192 - * NID_cpk_map_sha256 32 256 8192 - * NID_cpk_map_sha384 32 4096 131072 - * NID_cpk_map_sha512 32 65536 2097152 - */ -CPK_MASTER_SECRET *CPK_MASTER_SECRET_create(const char *domain_id, int curve, int map); -CPK_PUBLIC_PARAMS *CPK_MASTER_SECRET_extract_public_params(CPK_MASTER_SECRET *master); -EVP_PKEY *CPK_MASTER_SECRET_extract_private_key(CPK_MASTER_SECRET *master, const char *id); -EVP_PKEY *CPK_PUBLIC_PARAMS_extract_public_key(CPK_PUBLIC_PARAMS *params, const char *id); - -char *CPK_MASTER_SECRET_get_name(CPK_MASTER_SECRET *master, char *buf, int size); -char *CPK_PUBLIC_PARAMS_get_name(CPK_PUBLIC_PARAMS *params, char *buf, int size); -int CPK_MASTER_SECRET_print(BIO *out, CPK_MASTER_SECRET *master, int indent, unsigned long flags); -int CPK_PUBLIC_PARAMS_print(BIO *out, CPK_PUBLIC_PARAMS *params, int indent, unsigned long flags); -int CPK_MASTER_SECRET_validate_public_params(CPK_MASTER_SECRET *master, CPK_PUBLIC_PARAMS *params); -int CPK_PUBLIC_PARAMS_validate_private_key(CPK_PUBLIC_PARAMS *params, const char *id, const EVP_PKEY *pkey); - -CPK_MASTER_SECRET *d2i_CPK_MASTER_SECRET_bio(BIO *bp, CPK_MASTER_SECRET **master); -int i2d_CPK_MASTER_SECRET_bio(BIO *bp, CPK_MASTER_SECRET *master); -CPK_PUBLIC_PARAMS *d2i_CPK_PUBLIC_PARAMS_bio(BIO *bp, CPK_PUBLIC_PARAMS **params); -int i2d_CPK_PUBLIC_PARAMS_bio(BIO *bp, CPK_PUBLIC_PARAMS *params); - - -/* 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. - */ - -int ERR_load_CPK_strings(void); - -/* Error codes for the CPK functions. */ - -/* Function codes. */ -# define CPK_F_CPK_MAP_GET_MD 116 -# define CPK_F_CPK_MAP_IS_VALID 114 -# define CPK_F_CPK_MAP_NEW 111 -# define CPK_F_CPK_MAP_NEW_DEFAULT 100 -# define CPK_F_CPK_MAP_NUM_FACTORS 112 -# define CPK_F_CPK_MAP_NUM_INDEXES 113 -# define CPK_F_CPK_MAP_NUM_SUBSET 115 -# define CPK_F_CPK_MAP_STR2INDEX 101 -# define CPK_F_CPK_MASTER_SECRET_CREATE 102 -# define CPK_F_CPK_MASTER_SECRET_EXTRACT_PRIVATE_KEY 103 -# define CPK_F_CPK_MASTER_SECRET_EXTRACT_PUBLIC_PARAMS 104 -# define CPK_F_CPK_MASTER_SECRET_PRINT 109 -# define CPK_F_CPK_MASTER_SECRET_VALIDATE_PUBLIC_PARAMS 117 -# define CPK_F_CPK_PUBLIC_PARAMS_COMPUTE_SHARE_KEY 105 -# define CPK_F_CPK_PUBLIC_PARAMS_EXTRACT_PUBLIC_KEY 106 -# define CPK_F_CPK_PUBLIC_PARAMS_PRINT 110 -# define CPK_F_CPK_PUBLIC_PARAMS_VALIDATE_PRIVATE_KEY 107 -# define CPK_F_EXTRACT_EC_PARAMS 118 -# define CPK_F_EXTRACT_EC_PRIV_KEY 119 -# define CPK_F_EXTRACT_EC_PUB_KEY 120 -# define CPK_F_X509_ALGOR_GET1_EC_KEY 108 - -/* Reason codes. */ -# define CPK_R_BAD_ARGUMENT 100 -# define CPK_R_BAD_ARGUMENTS 105 -# define CPK_R_BAD_DATA 101 -# define CPK_R_INVALID_ALGORITHM 106 -# define CPK_R_INVALID_ARGUMENT 107 -# define CPK_R_INVALID_CURVE 108 -# define CPK_R_INVALID_ID_LENGTH 102 -# define CPK_R_INVALID_MAP_ALGOR 103 -# define CPK_R_INVALID_PKEY_TYPE 104 - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/include/openssl/ec.h b/include/openssl/ec.h index 25fdc758..6a545188 100644 --- a/include/openssl/ec.h +++ b/include/openssl/ec.h @@ -1386,189 +1386,188 @@ int ERR_load_EC_strings(void); # define EC_F_D2I_ECPKPARAMETERS 103 # define EC_F_D2I_ECPRIVATEKEY 104 # define EC_F_DO_EC_KEY_PRINT 105 -# define EC_F_ECAHE_CIPHERTEXT_SIZE 286 -# define EC_F_ECAHE_DECRYPT 287 -# define EC_F_ECAHE_ENCRYPT 288 -# define EC_F_ECDH_CMS_DECRYPT 106 -# define EC_F_ECDH_CMS_SET_SHARED_INFO 107 -# define EC_F_ECDH_COMPUTE_KEY 108 -# define EC_F_ECDH_SIMPLE_COMPUTE_KEY 109 -# define EC_F_ECDSA_DO_SIGN_EX 110 -# define EC_F_ECDSA_DO_VERIFY 111 -# define EC_F_ECDSA_SIGN_EX 112 -# define EC_F_ECDSA_SIGN_SETUP 113 -# define EC_F_ECDSA_SIG_NEW 114 -# define EC_F_ECDSA_VERIFY 115 -# define EC_F_ECIES_DECRYPT 116 -# define EC_F_ECIES_DO_DECRYPT 117 -# define EC_F_ECIES_DO_ENCRYPT 118 -# define EC_F_ECIES_ENCRYPT 119 -# define EC_F_ECIES_PARAMS_GET_ENC 120 -# define EC_F_ECIES_PARAMS_GET_KDF 121 -# define EC_F_ECIES_PARAMS_GET_MAC 122 -# define EC_F_ECIES_PARAMS_INIT_WITH_RECOMMENDED 123 -# define EC_F_ECIES_PARAMS_INIT_WITH_TYPE 124 -# define EC_F_ECKEY_PARAM2TYPE 125 -# define EC_F_ECKEY_PARAM_DECODE 126 -# define EC_F_ECKEY_PRIV_DECODE 127 -# define EC_F_ECKEY_PRIV_ENCODE 128 -# define EC_F_ECKEY_PUB_DECODE 129 -# define EC_F_ECKEY_PUB_ENCODE 130 -# define EC_F_ECKEY_TYPE2PARAM 131 -# define EC_F_ECPARAMETERS_PRINT_FP 132 -# define EC_F_ECPKPARAMETERS_PRINT 133 -# define EC_F_ECPKPARAMETERS_PRINT_FP 134 -# define EC_F_ECP_NISTZ256_GET_AFFINE 135 -# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 136 -# define EC_F_ECP_NISTZ256_POINTS_MUL 137 -# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 138 -# define EC_F_ECP_NISTZ256_WINDOWED_MUL 139 -# define EC_F_ECP_SM2Z256_GET_AFFINE 140 -# define EC_F_ECP_SM2Z256_MULT_PRECOMPUTE 141 -# define EC_F_ECP_SM2Z256_POINTS_MUL 142 -# define EC_F_ECP_SM2Z256_PRE_COMP_NEW 143 -# define EC_F_ECP_SM2Z256_WINDOWED_MUL 144 -# define EC_F_ECX_KEY_OP 145 -# define EC_F_ECX_PRIV_ENCODE 146 -# define EC_F_ECX_PUB_ENCODE 147 -# define EC_F_EC_ASN1_GROUP2CURVE 148 -# define EC_F_EC_ASN1_GROUP2FIELDID 149 -# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 150 -# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 151 -# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 152 -# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 153 -# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 154 -# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 155 -# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 156 -# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 157 -# define EC_F_EC_GFP_MONT_FIELD_DECODE 158 -# define EC_F_EC_GFP_MONT_FIELD_ENCODE 159 -# define EC_F_EC_GFP_MONT_FIELD_MUL 160 -# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 161 -# define EC_F_EC_GFP_MONT_FIELD_SQR 162 -# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 163 -# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 164 -# define EC_F_EC_GFP_NISTP224_POINTS_MUL 165 -# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 166 -# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 167 -# define EC_F_EC_GFP_NISTP256_POINTS_MUL 168 -# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 169 -# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 170 -# define EC_F_EC_GFP_NISTP521_POINTS_MUL 171 -# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 172 -# define EC_F_EC_GFP_NIST_FIELD_MUL 173 -# define EC_F_EC_GFP_NIST_FIELD_SQR 174 -# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 175 -# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 176 -# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 177 -# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 178 -# define EC_F_EC_GFP_SIMPLE_OCT2POINT 179 -# define EC_F_EC_GFP_SIMPLE_POINT2OCT 180 -# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 181 -# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 182 -# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 183 -# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 184 -# define EC_F_EC_GFP_SM2P256_GROUP_SET_CURVE 280 -# define EC_F_EC_GFP_SM2P256_POINTS_MUL 281 -# define EC_F_EC_GFP_SM2P256_POINT_GET_AFFINE_COORDINATES 282 -# define EC_F_EC_GROUP_CHECK 185 -# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 186 -# define EC_F_EC_GROUP_COPY 187 -# define EC_F_EC_GROUP_GENERATE_TYPE1CURVE 188 -# define EC_F_EC_GROUP_GET_CURVE_GF2M 189 -# define EC_F_EC_GROUP_GET_CURVE_GFP 190 -# define EC_F_EC_GROUP_GET_DEGREE 191 -# define EC_F_EC_GROUP_GET_ECPARAMETERS 192 -# define EC_F_EC_GROUP_GET_ECPKPARAMETERS 193 -# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 194 -# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 195 -# define EC_F_EC_GROUP_GET_TYPE1CURVE_ETA 196 -# define EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA 197 -# define EC_F_EC_GROUP_IS_TYPE1CURVE 198 -# define EC_F_EC_GROUP_NEW 199 -# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 200 -# define EC_F_EC_GROUP_NEW_FROM_DATA 201 -# define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 202 -# define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 203 -# define EC_F_EC_GROUP_NEW_TYPE1CURVE 204 -# define EC_F_EC_GROUP_SET_CURVE_GF2M 205 -# define EC_F_EC_GROUP_SET_CURVE_GFP 206 -# define EC_F_EC_GROUP_SET_GENERATOR 207 -# define EC_F_EC_KEY_CHECK_KEY 208 -# define EC_F_EC_KEY_COPY 209 -# define EC_F_EC_KEY_GENERATE_KEY 210 -# define EC_F_EC_KEY_MERGE 285 -# define EC_F_EC_KEY_NEW_METHOD 211 -# define EC_F_EC_KEY_OCT2PRIV 212 -# define EC_F_EC_KEY_PRINT_FP 213 -# define EC_F_EC_KEY_PRIV2OCT 214 -# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 215 -# define EC_F_EC_KEY_SIMPLE_CHECK_KEY 216 -# define EC_F_EC_KEY_SIMPLE_OCT2PRIV 217 -# define EC_F_EC_KEY_SIMPLE_PRIV2OCT 218 -# define EC_F_EC_KEY_SPLIT 284 -# define EC_F_EC_POINTS_MAKE_AFFINE 219 -# define EC_F_EC_POINT_ADD 220 -# define EC_F_EC_POINT_CMP 221 -# define EC_F_EC_POINT_CMP_FPPOINT 222 -# define EC_F_EC_POINT_COPY 223 -# define EC_F_EC_POINT_DBL 224 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 225 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 226 -# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 227 -# define EC_F_EC_POINT_HASH2POINT 228 -# define EC_F_EC_POINT_INVERT 229 -# define EC_F_EC_POINT_IS_AT_INFINITY 230 -# define EC_F_EC_POINT_IS_ON_CURVE 231 -# define EC_F_EC_POINT_MAKE_AFFINE 232 -# define EC_F_EC_POINT_NEW 233 -# define EC_F_EC_POINT_OCT2POINT 234 -# define EC_F_EC_POINT_POINT2OCT 235 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 236 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 237 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 238 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 239 -# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 240 -# define EC_F_EC_POINT_SET_TO_INFINITY 241 -# define EC_F_EC_PRE_COMP_NEW 242 -# define EC_F_EC_SCHNORR_SIGN 279 -# define EC_F_EC_TYPE1CURVE_TATE 243 -# define EC_F_EC_WNAF_MUL 244 -# define EC_F_EC_WNAF_PRECOMPUTE_MULT 245 -# define EC_F_I2D_ECIESPARAMETERS 246 -# define EC_F_I2D_ECPARAMETERS 247 -# define EC_F_I2D_ECPKPARAMETERS 248 -# define EC_F_I2D_ECPRIVATEKEY 249 -# define EC_F_I2O_ECPUBLICKEY 250 -# define EC_F_NISTP224_PRE_COMP_NEW 251 -# define EC_F_NISTP256_PRE_COMP_NEW 252 -# define EC_F_NISTP521_PRE_COMP_NEW 253 -# define EC_F_O2I_ECPUBLICKEY 254 -# define EC_F_OLD_EC_PRIV_DECODE 255 -# define EC_F_OSSL_ECDH_COMPUTE_KEY 256 -# define EC_F_OSSL_ECDSA_SIGN_SIG 257 -# define EC_F_OSSL_ECDSA_VERIFY_SIG 258 -# define EC_F_PKEY_ECX_DERIVE 259 -# define EC_F_PKEY_EC_CTRL 260 -# define EC_F_PKEY_EC_CTRL_STR 261 -# define EC_F_PKEY_EC_DECRYPT 262 -# define EC_F_PKEY_EC_DERIVE 263 -# define EC_F_PKEY_EC_ENCRYPT 264 -# define EC_F_PKEY_EC_KEYGEN 265 -# define EC_F_PKEY_EC_PARAMGEN 266 -# define EC_F_PKEY_EC_SIGN 267 -# define EC_F_SM2P256_PRE_COMP_NEW 283 -# define EC_F_SM2_COMPUTE_ID_DIGEST 268 -# define EC_F_SM2_COMPUTE_MESSAGE_DIGEST 269 -# define EC_F_SM2_DO_ENCRYPT 270 -# define EC_F_SM2_GET_PUBLIC_KEY_DATA 271 -# define EC_F_SM2_KAP_COMPUTE_KEY 272 -# define EC_F_SM2_KAP_CTX_INIT 273 -# define EC_F_SM2_KAP_FINAL_CHECK 274 -# define EC_F_SM2_KAP_PREPARE 275 -# define EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK 276 -# define EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK 277 -# define EC_F_TYPE1CURVE_PHI 278 +# define EC_F_ECAHE_CIPHERTEXT_SIZE 106 +# define EC_F_ECAHE_DECRYPT 107 +# define EC_F_ECAHE_ENCRYPT 108 +# define EC_F_ECDH_CMS_DECRYPT 109 +# define EC_F_ECDH_CMS_SET_SHARED_INFO 110 +# define EC_F_ECDH_COMPUTE_KEY 111 +# define EC_F_ECDH_SIMPLE_COMPUTE_KEY 112 +# define EC_F_ECDSA_DO_SIGN_EX 113 +# define EC_F_ECDSA_DO_VERIFY 114 +# define EC_F_ECDSA_SIGN_EX 115 +# define EC_F_ECDSA_SIGN_SETUP 116 +# define EC_F_ECDSA_SIG_NEW 117 +# define EC_F_ECDSA_VERIFY 118 +# define EC_F_ECIES_DECRYPT 119 +# define EC_F_ECIES_DO_DECRYPT 120 +# define EC_F_ECIES_DO_ENCRYPT 121 +# define EC_F_ECIES_ENCRYPT 122 +# define EC_F_ECIES_PARAMS_GET_ENC 123 +# define EC_F_ECIES_PARAMS_GET_KDF 124 +# define EC_F_ECIES_PARAMS_GET_MAC 125 +# define EC_F_ECIES_PARAMS_INIT_WITH_RECOMMENDED 126 +# define EC_F_ECIES_PARAMS_INIT_WITH_TYPE 127 +# define EC_F_ECKEY_PARAM2TYPE 128 +# define EC_F_ECKEY_PARAM_DECODE 129 +# define EC_F_ECKEY_PRIV_DECODE 130 +# define EC_F_ECKEY_PRIV_ENCODE 131 +# define EC_F_ECKEY_PUB_DECODE 132 +# define EC_F_ECKEY_PUB_ENCODE 133 +# define EC_F_ECKEY_TYPE2PARAM 134 +# define EC_F_ECPARAMETERS_PRINT_FP 135 +# define EC_F_ECPKPARAMETERS_PRINT 136 +# define EC_F_ECPKPARAMETERS_PRINT_FP 137 +# define EC_F_ECP_NISTZ256_GET_AFFINE 138 +# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 139 +# define EC_F_ECP_NISTZ256_POINTS_MUL 140 +# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 141 +# define EC_F_ECP_NISTZ256_WINDOWED_MUL 142 +# define EC_F_ECP_SM2Z256_GET_AFFINE 143 +# define EC_F_ECP_SM2Z256_MULT_PRECOMPUTE 144 +# define EC_F_ECP_SM2Z256_POINTS_MUL 145 +# define EC_F_ECP_SM2Z256_PRE_COMP_NEW 146 +# define EC_F_ECP_SM2Z256_WINDOWED_MUL 147 +# define EC_F_ECX_KEY_OP 148 +# define EC_F_ECX_PRIV_ENCODE 149 +# define EC_F_ECX_PUB_ENCODE 150 +# define EC_F_EC_ASN1_GROUP2CURVE 151 +# define EC_F_EC_ASN1_GROUP2FIELDID 152 +# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 153 +# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 154 +# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 155 +# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 156 +# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 157 +# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 158 +# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 159 +# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 160 +# define EC_F_EC_GFP_MONT_FIELD_DECODE 161 +# define EC_F_EC_GFP_MONT_FIELD_ENCODE 162 +# define EC_F_EC_GFP_MONT_FIELD_MUL 163 +# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 164 +# define EC_F_EC_GFP_MONT_FIELD_SQR 165 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 166 +# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 167 +# define EC_F_EC_GFP_NISTP224_POINTS_MUL 168 +# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 169 +# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 170 +# define EC_F_EC_GFP_NISTP256_POINTS_MUL 171 +# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 172 +# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 173 +# define EC_F_EC_GFP_NISTP521_POINTS_MUL 174 +# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 175 +# define EC_F_EC_GFP_NIST_FIELD_MUL 176 +# define EC_F_EC_GFP_NIST_FIELD_SQR 177 +# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 178 +# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 179 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 180 +# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 181 +# define EC_F_EC_GFP_SIMPLE_OCT2POINT 182 +# define EC_F_EC_GFP_SIMPLE_POINT2OCT 183 +# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 184 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 185 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 186 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 187 +# define EC_F_EC_GFP_SM2P256_GROUP_SET_CURVE 188 +# define EC_F_EC_GFP_SM2P256_POINTS_MUL 189 +# define EC_F_EC_GFP_SM2P256_POINT_GET_AFFINE_COORDINATES 190 +# define EC_F_EC_GROUP_CHECK 191 +# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 192 +# define EC_F_EC_GROUP_COPY 193 +# define EC_F_EC_GROUP_GENERATE_TYPE1CURVE 194 +# define EC_F_EC_GROUP_GET_CURVE_GF2M 195 +# define EC_F_EC_GROUP_GET_CURVE_GFP 196 +# define EC_F_EC_GROUP_GET_DEGREE 197 +# define EC_F_EC_GROUP_GET_ECPARAMETERS 198 +# define EC_F_EC_GROUP_GET_ECPKPARAMETERS 199 +# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 200 +# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 201 +# define EC_F_EC_GROUP_GET_TYPE1CURVE_ETA 202 +# define EC_F_EC_GROUP_GET_TYPE1CURVE_ZETA 203 +# define EC_F_EC_GROUP_IS_TYPE1CURVE 204 +# define EC_F_EC_GROUP_NEW 205 +# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 206 +# define EC_F_EC_GROUP_NEW_FROM_DATA 207 +# define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 208 +# define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 209 +# define EC_F_EC_GROUP_NEW_TYPE1CURVE 210 +# define EC_F_EC_GROUP_SET_CURVE_GF2M 211 +# define EC_F_EC_GROUP_SET_CURVE_GFP 212 +# define EC_F_EC_GROUP_SET_GENERATOR 213 +# define EC_F_EC_KEY_CHECK_KEY 214 +# define EC_F_EC_KEY_COPY 215 +# define EC_F_EC_KEY_GENERATE_KEY 216 +# define EC_F_EC_KEY_MERGE 217 +# define EC_F_EC_KEY_NEW_METHOD 218 +# define EC_F_EC_KEY_OCT2PRIV 219 +# define EC_F_EC_KEY_PRINT_FP 220 +# define EC_F_EC_KEY_PRIV2OCT 221 +# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 222 +# define EC_F_EC_KEY_SIMPLE_CHECK_KEY 223 +# define EC_F_EC_KEY_SIMPLE_OCT2PRIV 224 +# define EC_F_EC_KEY_SIMPLE_PRIV2OCT 225 +# define EC_F_EC_KEY_SPLIT 226 +# define EC_F_EC_POINTS_MAKE_AFFINE 227 +# define EC_F_EC_POINT_ADD 228 +# define EC_F_EC_POINT_CMP 229 +# define EC_F_EC_POINT_CMP_FPPOINT 230 +# define EC_F_EC_POINT_COPY 231 +# define EC_F_EC_POINT_DBL 232 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 233 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 234 +# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 235 +# define EC_F_EC_POINT_HASH2POINT 236 +# define EC_F_EC_POINT_INVERT 237 +# define EC_F_EC_POINT_IS_AT_INFINITY 238 +# define EC_F_EC_POINT_IS_ON_CURVE 239 +# define EC_F_EC_POINT_MAKE_AFFINE 240 +# define EC_F_EC_POINT_NEW 241 +# define EC_F_EC_POINT_OCT2POINT 242 +# define EC_F_EC_POINT_POINT2OCT 243 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 244 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 245 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 246 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 247 +# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 248 +# define EC_F_EC_POINT_SET_TO_INFINITY 249 +# define EC_F_EC_PRE_COMP_NEW 250 +# define EC_F_EC_TYPE1CURVE_TATE 251 +# define EC_F_EC_WNAF_MUL 252 +# define EC_F_EC_WNAF_PRECOMPUTE_MULT 253 +# define EC_F_I2D_ECIESPARAMETERS 254 +# define EC_F_I2D_ECPARAMETERS 255 +# define EC_F_I2D_ECPKPARAMETERS 256 +# define EC_F_I2D_ECPRIVATEKEY 257 +# define EC_F_I2O_ECPUBLICKEY 258 +# define EC_F_NISTP224_PRE_COMP_NEW 259 +# define EC_F_NISTP256_PRE_COMP_NEW 260 +# define EC_F_NISTP521_PRE_COMP_NEW 261 +# define EC_F_O2I_ECPUBLICKEY 262 +# define EC_F_OLD_EC_PRIV_DECODE 263 +# define EC_F_OSSL_ECDH_COMPUTE_KEY 264 +# define EC_F_OSSL_ECDSA_SIGN_SIG 265 +# define EC_F_OSSL_ECDSA_VERIFY_SIG 266 +# define EC_F_PKEY_ECX_DERIVE 267 +# define EC_F_PKEY_EC_CTRL 268 +# define EC_F_PKEY_EC_CTRL_STR 269 +# define EC_F_PKEY_EC_DECRYPT 270 +# define EC_F_PKEY_EC_DERIVE 271 +# define EC_F_PKEY_EC_ENCRYPT 272 +# define EC_F_PKEY_EC_KEYGEN 273 +# define EC_F_PKEY_EC_PARAMGEN 274 +# define EC_F_PKEY_EC_SIGN 275 +# define EC_F_SM2P256_PRE_COMP_NEW 276 +# define EC_F_SM2_COMPUTE_ID_DIGEST 277 +# define EC_F_SM2_COMPUTE_MESSAGE_DIGEST 278 +# define EC_F_SM2_DO_ENCRYPT 279 +# define EC_F_SM2_GET_PUBLIC_KEY_DATA 280 +# define EC_F_SM2_KAP_COMPUTE_KEY 281 +# define EC_F_SM2_KAP_CTX_INIT 282 +# define EC_F_SM2_KAP_FINAL_CHECK 283 +# define EC_F_SM2_KAP_PREPARE 284 +# define EC_F_TYPE1CURVE_EVAL_LINE_TEXTBOOK 285 +# define EC_F_TYPE1CURVE_EVAL_MILLER_TEXTBOOK 286 +# define EC_F_TYPE1CURVE_PHI 287 /* Reason codes. */ # define EC_R_ASN1_ERROR 100 @@ -1635,41 +1634,41 @@ int ERR_load_EC_strings(void); # define EC_R_INVALID_SM2_ID 161 # define EC_R_INVALID_SM2_KAP_CHECKSUM_LENGTH 162 # define EC_R_INVALID_SM2_KAP_CHECKSUM_VALUE 163 -# define EC_R_INVALID_SPLIT_PARAMETER 198 -# define EC_R_INVALID_TRINOMIAL_BASIS 164 -# define EC_R_INVALID_TYPE1CURVE 165 -# define EC_R_INVALID_TYPE1_CURVE 166 -# define EC_R_INVLID_TYPE1CURVE 167 -# define EC_R_KDF_PARAMETER_ERROR 168 -# define EC_R_KEYS_NOT_SET 169 -# define EC_R_MISSING_PARAMETERS 170 -# define EC_R_MISSING_PRIVATE_KEY 171 -# define EC_R_NEED_NEW_SETUP_VALUES 172 -# define EC_R_NOT_A_NIST_PRIME 173 -# define EC_R_NOT_IMPLEMENTED 174 -# define EC_R_NOT_INITIALIZED 175 -# define EC_R_NO_PARAMETERS_SET 176 -# define EC_R_NO_PRIVATE_VALUE 177 -# define EC_R_OPERATION_NOT_SUPPORTED 178 -# define EC_R_PASSED_NULL_PARAMETER 179 -# define EC_R_PEER_KEY_ERROR 180 -# define EC_R_PKPARAMETERS2GROUP_FAILURE 181 -# define EC_R_POINT_ARITHMETIC_FAILURE 182 -# define EC_R_POINT_AT_INFINITY 183 -# define EC_R_POINT_IS_NOT_ON_CURVE 184 -# define EC_R_RANDOM_NUMBER_GENERATION_FAILED 185 -# define EC_R_SHARED_INFO_ERROR 186 -# define EC_R_SLOT_FULL 187 -# define EC_R_SM2_DECRYPT_FAILED 188 -# define EC_R_SM2_ENCRYPT_FAILED 189 -# define EC_R_SM2_KAP_NOT_INITED 190 -# define EC_R_UNDEFINED_GENERATOR 191 -# define EC_R_UNDEFINED_ORDER 192 -# define EC_R_UNKNOWN_GROUP 193 -# define EC_R_UNKNOWN_ORDER 194 -# define EC_R_UNSUPPORTED_FIELD 195 -# define EC_R_WRONG_CURVE_PARAMETERS 196 -# define EC_R_WRONG_ORDER 197 +# define EC_R_INVALID_SPLIT_PARAMETER 164 +# define EC_R_INVALID_TRINOMIAL_BASIS 165 +# define EC_R_INVALID_TYPE1CURVE 166 +# define EC_R_INVALID_TYPE1_CURVE 167 +# define EC_R_INVLID_TYPE1CURVE 168 +# define EC_R_KDF_PARAMETER_ERROR 169 +# define EC_R_KEYS_NOT_SET 170 +# define EC_R_MISSING_PARAMETERS 171 +# define EC_R_MISSING_PRIVATE_KEY 172 +# define EC_R_NEED_NEW_SETUP_VALUES 173 +# define EC_R_NOT_A_NIST_PRIME 174 +# define EC_R_NOT_IMPLEMENTED 175 +# define EC_R_NOT_INITIALIZED 176 +# define EC_R_NO_PARAMETERS_SET 177 +# define EC_R_NO_PRIVATE_VALUE 178 +# define EC_R_OPERATION_NOT_SUPPORTED 179 +# define EC_R_PASSED_NULL_PARAMETER 180 +# define EC_R_PEER_KEY_ERROR 181 +# define EC_R_PKPARAMETERS2GROUP_FAILURE 182 +# define EC_R_POINT_ARITHMETIC_FAILURE 183 +# define EC_R_POINT_AT_INFINITY 184 +# define EC_R_POINT_IS_NOT_ON_CURVE 185 +# define EC_R_RANDOM_NUMBER_GENERATION_FAILED 186 +# define EC_R_SHARED_INFO_ERROR 187 +# define EC_R_SLOT_FULL 188 +# define EC_R_SM2_DECRYPT_FAILED 189 +# define EC_R_SM2_ENCRYPT_FAILED 190 +# define EC_R_SM2_KAP_NOT_INITED 191 +# define EC_R_UNDEFINED_GENERATOR 192 +# define EC_R_UNDEFINED_ORDER 193 +# define EC_R_UNKNOWN_GROUP 194 +# define EC_R_UNKNOWN_ORDER 195 +# define EC_R_UNSUPPORTED_FIELD 196 +# define EC_R_WRONG_CURVE_PARAMETERS 197 +# define EC_R_WRONG_ORDER 198 # ifdef __cplusplus } diff --git a/include/openssl/ec_hash.h b/include/openssl/ec_hash.h deleted file mode 100644 index 9c84f15c..00000000 --- a/include/openssl/ec_hash.h +++ /dev/null @@ -1,67 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_EC_HASH_H -#define HEADER_EC_HASH_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* hash string s to elliptic curve point */ -int EC_POINT_hash2point(const EC_GROUP *group, const EVP_MD *md, - const char *s, size_t slen, EC_POINT *point, BN_CTX *ctx); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/include/openssl/ec_type1.h b/include/openssl/ec_type1.h deleted file mode 100644 index dd30e388..00000000 --- a/include/openssl/ec_type1.h +++ /dev/null @@ -1,99 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * type1curve is supersingular curve E: y^2 = x^3 + 1 (mod p) over prime field. - * p = 11 (mod 12) - * a = 0 - * b = 1 - * G = (x, y) - * n is the order of (x, y) - * h = (p + 1)/n - */ - -#ifndef HEADER_EC_TYPE1_H -#define HEADER_EC_TYPE1_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - - - -EC_GROUP *EC_GROUP_new_type1curve(const BIGNUM *p, const BIGNUM *x, - const BIGNUM *y, const BIGNUM *order, BN_CTX *ctx); - -EC_GROUP *EC_GROUP_new_type1curve_ex(const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, const unsigned char *point, size_t pointlen, - const BIGNUM *order, const BIGNUM *cofactor, BN_CTX *bn_ctx); - -int EC_GROUP_is_type1curve(const EC_GROUP *group, BN_CTX *ctx); - -BN_GFP2 *EC_GROUP_get_type1curve_zeta(const EC_GROUP *group, BN_CTX *ctx); - -BIGNUM *EC_GROUP_get_type1curve_eta(const EC_GROUP *group, BN_CTX *ctx); - -/* compute tate pairing e(P, Q) over type1curve */ -int EC_type1curve_tate(const EC_GROUP *group, BN_GFP2 *r, - const EC_POINT *P, const EC_POINT *Q, BN_CTX *ctx); - -/* compute tate pairing ratio e(P1, Q1)/e(P2, Q2) over type1curve*/ -int EC_type1curve_tate_ratio(const EC_GROUP *group, BN_GFP2 *r, - const EC_POINT *P1, const EC_POINT *Q1, const EC_POINT *P2, - const EC_POINT *Q2, BN_CTX *bn_ctx); - - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/include/openssl/ecahe.h b/include/openssl/ecahe.h deleted file mode 100644 index ca065ed7..00000000 --- a/include/openssl/ecahe.h +++ /dev/null @@ -1,74 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_ECAHE_H -#define HEADER_ECAHE_H - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ECAHE_CIPHERTEXT_st ECAHE_CIPHERTEXT; -DECLARE_ASN1_FUNCTIONS(ECAHE_CIPHERTEXT) - -int ECAHE_do_encrypt(ECAHE_CIPHERTEXT *c, const BIGNUM *m, EC_KEY *pk); -int ECAHE_do_decrypt(BIGNUM *m, const ECAHE_CIPHERTEXT *c, EC_KEY *sk); -int ECAHE_ciphertext_add(ECAHE_CIPHERTEXT *r, const ECAHE_CIPHERTEXT *a, const ECAHE_CIPHERTEXT *b, EC_KEY *pk); -int ECAHE_ciphertext_sub(ECAHE_CIPHERTEXT *r, const ECAHE_CIPHERTEXT *a, const ECAHE_CIPHERTEXT *b, EC_KEY *pk); -int ECAHE_ciphertext_neg(ECAHE_CIPHERTEXT *r, const ECAHE_CIPHERTEXT *a, EC_KEY *pk); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/include/openssl/ecrs.h b/include/openssl/ecrs.h deleted file mode 100644 index 3df82a48..00000000 --- a/include/openssl/ecrs.h +++ /dev/null @@ -1,112 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_ECRS_H -#define HEADER_ECRS_H - -#include -#ifndef OPENSSL_NO_ECRS - -#include -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ECRS_SIG_st ECRS_SIG; -DECLARE_ASN1_FUNCTIONS(ECRS_SIG) - -int ECRS_size(const EC_KEY *ec_key, int n); - -ECRS_SIG *ECRS_do_sign(const EVP_MD *md, const unsigned char *dgst, - int dgstlen, STACK_OF(EC_KEY) *pub_keys, EC_KEY *ec_key); - -int ECRS_do_verify(const EVP_MD *md, const unsigned char *dgst, int dgstlen, - const ECRS_SIG *sig, STACK_OF(EC_KEY) *pub_keys); - -int ECRS_sign(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, STACK_OF(EC_KEY) *pub_keys, - EC_KEY *ec_key); - -int ECRS_verify(int type, const unsigned char *dgst, int dgstlen, - const unsigned char *sig, int siglen, STACK_OF(EC_KEY) *pub_keys); - -/* 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. - */ - -int ERR_load_ECRS_strings(void); - -/* Error codes for the ECRS functions. */ - -/* Function codes. */ -# define ECRS_F_ECRS_DO_SIGN 100 -# define ECRS_F_ECRS_DO_VERIFY 103 -# define ECRS_F_ECRS_SIGN 101 -# define ECRS_F_ECRS_VERIFY 102 - -/* Reason codes. */ -# define ECRS_R_EC_KEY_NOT_MATCH 100 -# define ECRS_R_INVALID_DIGEST_ALGOR 101 -# define ECRS_R_NO_SIGNING_KEY 102 -# define ECRS_R_PARSE_SIGNATURE_FAILURE 103 -# define ECRS_R_PUBLIC_KEYS_NOT_MATCH 104 -# define ECRS_R_PUBLIC_KEYS_NOT_MATCH_SIG 105 - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/include/openssl/err.h b/include/openssl/err.h index 37c4965b..37066f31 100644 --- a/include/openssl/err.h +++ b/include/openssl/err.h @@ -94,21 +94,13 @@ typedef struct err_state_st { # define ERR_LIB_ASYNC 51 # define ERR_LIB_KDF 52 # define ERR_LIB_KDF2 53 -# define ERR_LIB_FFX 54 # define ERR_LIB_PAILLIER 55 -# define ERR_LIB_CPK 56 # define ERR_LIB_OTP 57 # define ERR_LIB_GMAPI 58 -# define ERR_LIB_BFIBE 59 -# define ERR_LIB_BB1IBE 60 # define ERR_LIB_SM9 61 -# define ERR_LIB_SAF 62 # define ERR_LIB_SDF 63 # define ERR_LIB_SKF 64 -# define ERR_LIB_SOF 65 # define ERR_LIB_SM2 66 -# define ERR_LIB_BASE58 67 -# define ERR_LIB_ECRS 68 # define ERR_LIB_USER 128 @@ -148,21 +140,13 @@ typedef struct err_state_st { # 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 KDF2err(f,r) ERR_PUT_error(ERR_LIB_KDF2,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define FFXerr(f,r) ERR_PUT_error(ERR_LIB_FFX,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define PAILLIERerr(f,r) ERR_PUT_error(ERR_LIB_PAILLIER,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define CPKerr(f,r) ERR_PUT_error(ERR_LIB_CPK,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define OTPerr(f,r) ERR_PUT_error(ERR_LIB_OTP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define GMAPIerr(f,r) ERR_PUT_error(ERR_LIB_GMAPI,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define BFIBEerr(f,r) ERR_PUT_error(ERR_LIB_BFIBE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define BB1IBEerr(f,r) ERR_PUT_error(ERR_LIB_BB1IBE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define SM2err(f,r) ERR_PUT_error(ERR_LIB_SM2,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define SM9err(f,r) ERR_PUT_error(ERR_LIB_SM9,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define SAFerr(f,r) ERR_PUT_error(ERR_LIB_SAF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define SDFerr(f,r) ERR_PUT_error(ERR_LIB_SDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define SKFerr(f,r) ERR_PUT_error(ERR_LIB_SKF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define SOFerr(f,r) ERR_PUT_error(ERR_LIB_SOF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define BASE58err(f,r) ERR_PUT_error(ERR_LIB_BASE58,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define ECRSerr(f,r) ERR_PUT_error(ERR_LIB_ECRS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define ERR_PACK(l,f,r) ( \ (((unsigned int)(l) & 0x0FF) << 24L) | \ @@ -211,21 +195,13 @@ typedef struct err_state_st { # define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */ # define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */ # define ERR_R_KDF2_LIB ERR_LIB_KDF2/* 53 */ -# define ERR_R_FFX_LIB ERR_LIB_FFX/* 54 */ # define ERR_R_PAILLIER_LIB ERR_LIB_PAILLIER/* 55 */ -# define ERR_R_CPK_LIB ERR_LIB_CPK/* 56 */ # define ERR_R_OTP_LIB ERR_LIB_OTP/* 57 */ # define ERR_R_GMAPI_LIB ERR_LIB_GMAPI/* 58 */ -# define ERR_R_BFIBE_LIB ERR_LIB_BFIBE/* 59 */ -# define ERR_R_BB1IBE_LIB ERR_LIB_BB1IBE/* 60 */ # define ERR_R_SM2_LIB ERR_LIB_SM2/* 66 */ # define ERR_R_SM9_LIB ERR_LIB_SM9/* 61 */ -# define ERR_R_SAF_LIB ERR_LIB_SAF/* 62 */ # define ERR_R_SDF_LIB ERR_LIB_SDF/* 63 */ # define ERR_R_SKF_LIB ERR_LIB_SKF/* 64 */ -# define ERR_R_SOF_LIB ERR_LIB_SOF/* 65 */ -# define ERR_R_BASE58_LIB ERR_LIB_BASE58/* 67 */ -# define ERR_R_ECRS_LIB ERR_LIB_ECRS/* 68 */ # define ERR_R_NESTED_ASN1_ERROR 58 diff --git a/include/openssl/ffx.h b/include/openssl/ffx.h deleted file mode 100644 index be2b2d7b..00000000 --- a/include/openssl/ffx.h +++ /dev/null @@ -1,117 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_FFX_H -#define HEADER_FFX_H - - -#include -#include - - -#define FFX_MIN_DIGITS 6 -#define FFX_MAX_DIGITS 18 -#define FFX_MIN_TWEAKLEN 4 -#define FFX_MAX_TWEAKLEN 11 -#define FFX_NUM_ROUNDS 10 - -#define FFX_TYPE_BINARY 0x04 -#define FFX_TYPE_KEYWORD 0x05 -#define FFX_TYPE_PASSWORD 0x08 -#define FFX_TYPE_TEXT 0x09 -#define FFX_TYPE_INTEGER 0x0a -#define FFX_TYPE_DIGITS 0x00 -#define FFX_TYPE_CELLPHONE 0x01 -#define FFX_TYPE_BANKCARD 0x02 -#define FFX_TYPE_IDCARD 0x03 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct FFX_CTX_st FFX_CTX; - -FFX_CTX *FFX_CTX_new(void); -void FFX_CTX_free(FFX_CTX *ctx); -int FFX_init(FFX_CTX *ctx, const EVP_CIPHER *cipher, - const unsigned char *key, int flag); -int FFX_encrypt(FFX_CTX *ctx, const char *in, char *out, size_t iolen, - unsigned char *tweak, size_t tweaklen); -int FFX_decrypt(FFX_CTX *ctx, const char *in, char *out, size_t iolen, - unsigned char *tweak, size_t tweaklen); -int FFX_compute_luhn(const char *in, size_t inlen); - - -/* 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. - */ - -int ERR_load_FFX_strings(void); - -/* Error codes for the FFX functions. */ - -/* Function codes. */ -# define FFX_F_FFX_DECRYPT 100 -# define FFX_F_FFX_ENCRYPT 101 -# define FFX_F_FFX_INIT 102 - -/* Reason codes. */ -# define FFX_R_ENCRYPT_INIT_FAILURE 100 -# define FFX_R_INVALID_BLOCK_SIZE 101 -# define FFX_R_INVALID_CIPHER_MODE 102 -# define FFX_R_INVALID_INPUT_DIGIT 103 -# define FFX_R_INVALID_INPUT_LENGTH 104 -# define FFX_R_INVALID_TWEAK_LENGTH 105 - -# ifdef __cplusplus -} -# endif -#endif diff --git a/include/openssl/fppoint.h b/include/openssl/fppoint.h deleted file mode 100644 index a98dd374..00000000 --- a/include/openssl/fppoint.h +++ /dev/null @@ -1,77 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/* - * FpPoint is the affine coordinates presentation of point over E/F_p - * this data struct is used by pairing schemes over type1 curve - */ - -#ifndef HEADER_FPPOINT_H -#define HEADER_FPPOINT_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct fppoint_st { - BIGNUM *x; - BIGNUM *y; -} FpPoint; -DECLARE_ASN1_FUNCTIONS(FpPoint) - -int EC_POINT_cmp_fppoint(const EC_GROUP *group, - const EC_POINT *point, const FpPoint *fppoint, BN_CTX *ctx); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/include/openssl/gmapi.h b/include/openssl/gmapi.h index ac8be273..080149f2 100644 --- a/include/openssl/gmapi.h +++ b/include/openssl/gmapi.h @@ -67,10 +67,8 @@ #endif #include #include -#include #include #include -#include #ifdef __cplusplus extern "C" { diff --git a/include/openssl/gmsaf.h b/include/openssl/gmsaf.h deleted file mode 100644 index 5702c21c..00000000 --- a/include/openssl/gmsaf.h +++ /dev/null @@ -1,197 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_GMSAF_H -#define HEADER_GMSAF_H - -#include -#ifndef OPENSSL_NO_SAF - -#include -#include -#include - -#define SAF_MAX_EC_CIPHERTEXT_LENGTH 136 - - -#ifdef __cplusplus -extern "C" { -#endif - - -const char *SAF_GetErrorString(int err); - -/* GmSSL Extension */ -int SAF_EccSignFile( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiHashAlgoType, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int *puiSignatureLen); - -int SAF_EccVerifySignFile( - unsigned int uiHashAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int uiSignatureLen); - - -/* 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. - */ - -int ERR_load_SAF_strings(void); - -/* Error codes for the SAF functions. */ - -/* Function codes. */ -# define SAF_F_SAF_ADDCACERTIFICATE 100 -# define SAF_F_SAF_ADDTRUSTEDROOTCACERTIFICATE 101 -# define SAF_F_SAF_BASE64_CREATEBASE64OBJ 102 -# define SAF_F_SAF_BASE64_DECODE 103 -# define SAF_F_SAF_BASE64_DECODEFINAL 104 -# define SAF_F_SAF_BASE64_DECODEUPDATE 105 -# define SAF_F_SAF_BASE64_ENCODE 106 -# define SAF_F_SAF_BASE64_ENCODEFINAL 107 -# define SAF_F_SAF_BASE64_ENCODEUPDATE 108 -# define SAF_F_SAF_CHANGEPIN 109 -# define SAF_F_SAF_CREATEHASHOBJ 110 -# define SAF_F_SAF_CREATESYMMKEYOBJ 111 -# define SAF_F_SAF_DESTROYHASHOBJ 112 -# define SAF_F_SAF_ECCPUBLICKEYENC 113 -# define SAF_F_SAF_ECCPUBLICKEYENCBYCERT 114 -# define SAF_F_SAF_ECCSIGN 115 -# define SAF_F_SAF_ECCVERIFYSIGN 116 -# define SAF_F_SAF_ECCVERIFYSIGNBYCERT 117 -# define SAF_F_SAF_GENECCKEYPAIR 118 -# define SAF_F_SAF_GENERATEKEYWITHEPK 119 -# define SAF_F_SAF_GENRANDOM 120 -# define SAF_F_SAF_GENRSAKEYPAIR 121 -# define SAF_F_SAF_GETCACERTIFICATE 122 -# define SAF_F_SAF_GETCACERTIFICATECOUNT 123 -# define SAF_F_SAF_GETECCPUBLICKEY 124 -# define SAF_F_SAF_GETROOTCACERTIFICATE 125 -# define SAF_F_SAF_GETROOTCACERTIFICATECOUNT 126 -# define SAF_F_SAF_GETRSAPUBLICKEY 127 -# define SAF_F_SAF_GETVERSION 128 -# define SAF_F_SAF_HASH 129 -# define SAF_F_SAF_HASHFINAL 130 -# define SAF_F_SAF_HASHUPDATE 131 -# define SAF_F_SAF_INITIALIZE 132 -# define SAF_F_SAF_KEY_NEW 133 -# define SAF_F_SAF_LOAD_PRIVATE_KEY 151 -# define SAF_F_SAF_LOAD_PUBLIC_KEY 152 -# define SAF_F_SAF_LOGIN 134 -# define SAF_F_SAF_LOGOUT 135 -# define SAF_F_SAF_MACFINAL 136 -# define SAF_F_SAF_MACUPDATE 137 -# define SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA 153 -# define SAF_F_SAF_PKCS7_DECODEENVELOPEDDATA 154 -# define SAF_F_SAF_PKCS7_DECODESIGNEDDATA 155 -# define SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA 149 -# define SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA 138 -# define SAF_F_SAF_PKCS7_ENCODESIGNEDDATA 150 -# define SAF_F_SAF_REMOVECACERTIFICATE 139 -# define SAF_F_SAF_REMOVEROOTCACERTIFICATE 140 -# define SAF_F_SAF_RSASIGN 141 -# define SAF_F_SAF_RSAVERIFYSIGN 142 -# define SAF_F_SAF_SYMMDECRYPTFINAL 143 -# define SAF_F_SAF_SYMMDECRYPTUPDATE 144 -# define SAF_F_SAF_SYMMENCRYPTFINAL 145 -# define SAF_F_SAF_SYMMENCRYPTUPDATE 146 -# define SAF_F_SAF_SYMMKEYOBJ_DUP 147 -# define SAF_F_SAF_VERIFYSIGNBYCERT 148 - -/* Reason codes. */ -# define SAF_R_BUFFER_TOO_SMALL 100 -# define SAF_R_CMAC_FAILURE 101 -# define SAF_R_DECRYPT_NOT_INITIALIZED 102 -# define SAF_R_ENCRYPT_KEY_FAILURE 103 -# define SAF_R_ENCRYPT_NOT_INITIALIED 104 -# define SAF_R_GEN_RANDOM_FAILURE 105 -# define SAF_R_INT_OVERFLOW 106 -# define SAF_R_INVALID_ALGOR 107 -# define SAF_R_INVALID_APP 124 -# define SAF_R_INVALID_CERTIFICATE 108 -# define SAF_R_INVALID_DIGEST_ALGOR 122 -# define SAF_R_INVALID_HANDLE 109 -# define SAF_R_INVALID_INDEX 110 -# define SAF_R_INVALID_INPUT_LENGTH 111 -# define SAF_R_INVALID_KEY_HANDLE 112 -# define SAF_R_INVALID_KEY_LENGTH 113 -# define SAF_R_INVALID_KEY_USAGE 114 -# define SAF_R_INVALID_LENGTH 115 -# define SAF_R_INVALID_PKCS7 125 -# define SAF_R_INVALID_PKCS7_DATA 126 -# define SAF_R_INVALID_PKCS7_TYPE 127 -# define SAF_R_INVALID_PKEY_TYPE 128 -# define SAF_R_INVALID_PUBLIC_KEY 116 -# define SAF_R_LOA 132 -# define SAF_R_LOAD_CERTS_FAILURE 117 -# define SAF_R_LOAD_KEY_FAILURE 123 -# define SAF_R_LOAD_PRIVATE_KEY_FAILURE 129 -# define SAF_R_LOAD_PUBLIC_KEY_FAILURE 130 -# define SAF_R_MAC_FAILURE 118 -# define SAF_R_NOT_SUPPORTED 119 -# define SAF_R_OPERATION_NOT_INITIALIZED 120 -# define SAF_R_PKCS7_VERIFY_FAILURE 133 -# define SAF_R_UNSUPPORTED_ALGOR 121 -# define SAF_R_UNSUPPORTED_DIGEST_ALGOR 131 - -# ifdef __cplusplus -} -# endif -#endif -#endif diff --git a/include/openssl/gmsof.h b/include/openssl/gmsof.h deleted file mode 100644 index 6bdff90f..00000000 --- a/include/openssl/gmsof.h +++ /dev/null @@ -1,151 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_GMSOF_H -#define HEADER_GMSOF_H - -#include -#ifndef OPENSSL_NO_SOF - -#include -#include -#include - -/* SOF_SignMessage Flag */ -#define SOF_FLAG_SIG_WITH_MESSAGE 0 -#define SOF_FLAG_SIG_WITHOUT_MESSAGE 1 - -/* SOF_GetInfoFromSignedMessage Type */ -#define SOF_SIGNED_MESSAGE_MESSAGE 1 -#define SOF_SIGNED_MESSAGE_CERT 2 -#define SOF_SIGNED_MESSAGE_SIGNATURE 3 - -/* SOF_GetXMLSignatureInfo */ -#define SOF_XML_TYPE_MESSAGE 1 -#define SOF_XML_TYPE_DIGEST 2 -#define SOF_XML_TYPE_SIGNATURE 3 -#define SOF_XML_TYPE_CERTIFICATE 4 -#define SOF_XML_TYPE_DIGEST_ALGOR 5 -#define SOF_XML_TYPE_SIGN_ALGOR 6 - - - -#ifdef __cplusplus -extern "C" { -#endif - -const char *SOF_GetErrorString(int err); - -/* 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. - */ - -int ERR_load_SOF_strings(void); - -/* Error codes for the SOF functions. */ - -/* Function codes. */ -# define SOF_F_SOF_CHANGEPASSWD 100 -# define SOF_F_SOF_CREATETIMESTAMPREQUEST 101 -# define SOF_F_SOF_CREATETIMESTAMPRESPONSE 102 -# define SOF_F_SOF_DECRYPTDATA 103 -# define SOF_F_SOF_DECRYPTFILE 104 -# define SOF_F_SOF_DELCERTTRUSTLIST 105 -# define SOF_F_SOF_ENCRYPTDATA 106 -# define SOF_F_SOF_ENCRYPTFILE 107 -# define SOF_F_SOF_EXPORTEXCHANGEUSERCERT 108 -# define SOF_F_SOF_EXPORTUSERCERT 109 -# define SOF_F_SOF_G 143 -# define SOF_F_SOF_GENRANDOM 110 -# define SOF_F_SOF_GETCERTINFO 111 -# define SOF_F_SOF_GETCERTINFOBYOID 112 -# define SOF_F_SOF_GETCERTTRUSTLIST 113 -# define SOF_F_SOF_GETCERTTRUSTLISTALTNAMES 114 -# define SOF_F_SOF_GETDEVICEINFO 115 -# define SOF_F_SOF_GETENCRYPTMETHOD 116 -# define SOF_F_SOF_GETINFOFROMSIGNEDMESSAGE 117 -# define SOF_F_SOF_GETLASTERROR 118 -# define SOF_F_SOF_GETPINRETRYCOUNT 119 -# define SOF_F_SOF_GETSERVERCERTIFICATE 120 -# define SOF_F_SOF_GETSIGNMETHOD 121 -# define SOF_F_SOF_GETTIMESTAMPINFO 122 -# define SOF_F_SOF_GETUSERLIST 123 -# define SOF_F_SOF_GETVERSION 124 -# define SOF_F_SOF_GETXMLSIGNATUREINFO 125 -# define SOF_F_SOF_INITCERTAPPPOLICY 126 -# define SOF_F_SOF_LOGIN 127 -# define SOF_F_SOF_SETCERTTRUSTLIST 128 -# define SOF_F_SOF_SETENCRYPTMETHOD 129 -# define SOF_F_SOF_SETSIGNMETHOD 130 -# define SOF_F_SOF_SIGNDATA 131 -# define SOF_F_SOF_SIGNDATAXML 132 -# define SOF_F_SOF_SIGNFILE 133 -# define SOF_F_SOF_SIGNMESSAGE 134 -# define SOF_F_SOF_SIGNMESSAGEDETACH 135 -# define SOF_F_SOF_VALIDATECERT 136 -# define SOF_F_SOF_VERIFYSIGNEDDATA 137 -# define SOF_F_SOF_VERIFYSIGNEDDATAXML 138 -# define SOF_F_SOF_VERIFYSIGNEDFILE 139 -# define SOF_F_SOF_VERIFYSIGNEDMESSAGE 140 -# define SOF_F_SOF_VERIFYSIGNEDMESSAGEDETACH 141 -# define SOF_F_SOF_VERIFYTIMESTAMP 142 - -/* Reason codes. */ -# define SOF_R_DECODE_FAILURE 101 -# define SOF_R_INVALID_CERT_ATTRIBUTE 103 -# define SOF_R_NOT_IMPLEMENTED 100 -# define SOF_R_READ_FILE_FAILURE 102 - -# ifdef __cplusplus -} -# endif -#endif -#endif diff --git a/include/openssl/opensslv.h b/include/openssl/opensslv.h index 3dc58e13..abfac5e1 100644 --- a/include/openssl/opensslv.h +++ b/include/openssl/opensslv.h @@ -41,9 +41,9 @@ extern "C" { */ # define OPENSSL_VERSION_NUMBER 0x1010004fL # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "GmSSL 2.5.0 - OpenSSL 1.1.0d-fips 28 Feb 2019" +# define OPENSSL_VERSION_TEXT "GmSSL 2.5.1 - OpenSSL 1.1.0d-fips 13 Jun 2019" # else -# define OPENSSL_VERSION_TEXT "GmSSL 2.5.0 - OpenSSL 1.1.0d 28 Feb 2019" +# define OPENSSL_VERSION_TEXT "GmSSL 2.5.1 - OpenSSL 1.1.0d 13 Jun 2019" # endif /*- diff --git a/include/openssl/pem.h b/include/openssl/pem.h index c5a869df..403ab098 100644 --- a/include/openssl/pem.h +++ b/include/openssl/pem.h @@ -51,20 +51,10 @@ extern "C" { # define PEM_STRING_PAILLIER "PAILLIER PRIVATE KEY" # define PEM_STRING_PAILLIER_PUBLIC "PAILLIER PUBLIC KEY" -# define PEM_STRING_CPK_MASTER "CPK MASTER PRIVATE KEY" -# define PEM_STRING_CPK_MASTER_PUBLIC "CPK MASTER PUBLIC KEY" # define PEM_STRING_SM9_MASTER "SM9 MASTER PRIVATE KEY" # define PEM_STRING_SM9_MASTER_PUBLIC "SM9 MASTER PUBLIC KEY" # define PEM_STRING_SM9 "SM9 PRIVATE KEY" # define PEM_STRING_SM9_PUBLIC "SM9 PUBLIC KEY" -# define PEM_STRING_BFIBE_MASTER "BFIBE MASTER PRIVATE KEY" -# define PEM_STRING_BFIBE_MASTER_PUBLIC "BFIBE MASTER PUBLIC KEY" -# define PEM_STRING_BFIBE "BFIBE PRIVATE KEY" -# define PEM_STRING_BFIBE_PUBLIC "BFIBE PUBLIC KEY" -# define PEM_STRING_BB1IBE_MASTER "BB1IBE MASTER PRIVATE KEY" -# define PEM_STRING_BB1IBE_MASTER_PUBLIC "BB1IBE MASTER PUBLIC KEY" -# define PEM_STRING_BB1IBE "BB1IBE PRIVATE KEY" -# define PEM_STRING_BB1IBE_PUBLIC "BB1IBE PUBLIC KEY" # define PEM_TYPE_ENCRYPTED 10 # define PEM_TYPE_MIC_ONLY 20 @@ -378,8 +368,6 @@ DECLARE_PEM_rw_cb(PaillierPrivateKey, PAILLIER) DECLARE_PEM_rw_const(PaillierPublicKey, PAILLIER) DECLARE_PEM_rw(PAILLIER_PUBKEY, PAILLIER) # endif -# ifndef OPENSSL_NO_CPK -# endif # ifndef OPENSSL_NO_SM9 DECLARE_PEM_rw_cb(SM9MasterSecret, SM9_MASTER_KEY) DECLARE_PEM_rw_const(SM9PublicParameters, SM9_MASTER_KEY) @@ -388,10 +376,6 @@ DECLARE_PEM_rw_cb(SM9PrivateKey, SM9_KEY) DECLARE_PEM_rw_const(SM9PublicKey, SM9_KEY) DECLARE_PEM_rw(SM9_PUBKEY, SM9_KEY) # endif -# ifndef OPENSSL_NO_BFIBE -# endif -# ifndef OPENSSL_NO_BB1IBE -# endif DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) DECLARE_PEM_rw(PUBKEY, EVP_PKEY) diff --git a/include/openssl/saf.h b/include/openssl/saf.h deleted file mode 100644 index ae5fef6a..00000000 --- a/include/openssl/saf.h +++ /dev/null @@ -1,779 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_SAF_H -#define HEADER_SAF_H - -#include -#ifndef OPENSSL_NO_SAF - -#include - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef struct SGD_USR_CERT_ENUMLIST_ { - unsigned int certCount; - unsigned char *certificate[SGD_MAX_COUNT]; - unsigned int certificateLen[SGD_MAX_COUNT]; - unsigned char *containerName[SGD_MAX_COUNT]; - unsigned int containterNameLen[SGD_MAX_COUNT]; - unsigned int keyUsage[SGD_MAX_COUNT]; -} SGD_USR_CERT_ENUMLIST; - -typedef struct SGD_KEYCONTAINERINFO_ENUMLIST_ { - unsigned int keyPairCount; - unsigned char *containerName[SGD_MAX_COUNT]; - unsigned int conatinerNameLen[SGD_MAX_COUNT]; - unsigned int keyUsage[SGD_MAX_COUNT]; - unsigned int keyType[SGD_MAX_COUNT]; -} SGD_KEYCONTAINERINFO_ENUMLIST; - -typedef struct { - unsigned char dn_c[SGD_MAX_NAME_SIZE]; - unsigned char dn_c_len[1]; - unsigned char dn_s[SGD_MAX_NAME_SIZE]; - unsigned char dn_s_len[1]; - unsigned char dn_l[SGD_MAX_NAME_SIZE]; - unsigned char dn_l_len[1]; - unsigned char dn_o[5][SGD_MAX_NAME_SIZE]; - unsigned int dn_o_len[5]; - unsigned char dn_ou[5][SGD_MAX_NAME_SIZE]; - unsigned int dn_ou_len[5]; - unsigned char dn_cn[2][SGD_MAX_NAME_SIZE]; - unsigned int dn_cn_len[2]; - unsigned char dn_email[2][SGD_MAX_NAME_SIZE]; - unsigned int dn_email_len[2]; -} SGD_NAME_INFO; - -int SAF_Initialize( - void **phAppHandle, - char *pubCfgFilePath); - -int SAF_Finalize( - void *hAppHandle); - -int SAF_GetVersion( - unsigned int *puiVersion); - -int SAF_Login( - void *hAppHandle, - unsigned int uiUsrType, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned char *pucPin, - unsigned int uiPinLen, - unsigned int *puiRemainCount); - -int SAF_ChangePin( - void *hAppHandle, - unsigned int uiUsrType, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned char *pucOldPin, - unsigned int uiOldPinLen, - unsigned char *pucNewPin, - unsigned int uiNewPinLen, - unsigned int *puiRemainCount); - -int SAF_Logout( - void *hAppHandle, - unsigned int uiUsrType); - -int SAF_AddTrustedRootCaCertificate( - void *hAppHandle, - unsigned char *pucCertificate, - unsigned int uiCertificateLen); - -int SAF_GetRootCaCertificateCount( - void *hAppHandle, - unsigned int *puiCount); - -int SAF_GetRootCaCertificate( - void *hAppHandle, - unsigned int uiIndex, - unsigned char *pucCertificate, - unsigned int *puiCertificateLen); - -int SAF_RemoveRootCaCertificate( - void *hAppHandle, - unsigned int uiIndex); - -int SAF_AddCaCertificate( - void *hAppHandle, - unsigned char *pucCertificate, - unsigned int uiCertificateLen); - -int SAF_GetCaCertificateCount( - void *hAppHandle, - unsigned int *puiCount); - -int SAF_GetCaCertificate( - void *hAppHandle, - unsigned int uiIndex, - unsigned char *pucCertificate, - unsigned int *puiCertificateLen); - -int SAF_RemoveCaCertificate( - void *hAppHandle, - unsigned int uiIndex); - -int SAF_AddCrl( - void *hAppHandle, - unsigned char *pucDerCrl, - unsigned int uiDerCrlLen); - -int SAF_VerifyCertificate( - void *hAppHandle, - unsigned char *pucUsrCertificate, - unsigned int uiUsrCertificateLen); - -int SAF_VerifyCertificateByCrl( - void *hAppHandle, - unsigned char *pucUsrCertificate, - unsigned int uiUsrCertificateLen, - unsigned char *pucDerCrl, - unsigned int uiDerCrlLen); - -int SAF_GetCertificateStateByOCSP( - void *hAppHandle, - unsigned char *pcOcspHostURL, - unsigned int uiOcspHostURLLen, - unsigned char *pucUsrCertificate, - unsigned int uiUsrCertificateLen, - unsigned char *pucCACertificate, - unsigned int uiCACertficateLen); - -int SAF_GetCertFromLdap( - void *hAppHandle, - char *pcLdapHostURL, - unsigned int uiLdapHostURLLen, - unsigned char *pucQueryDN, - unsigned int uiQueryDNLen, - unsigned char *pucOutCert, - unsigned int *puiOutCertLen); - -int SAF_GetCrlFromLdap( - void *hAppHandle, - char *pcLdapHostURL, - unsigned int uiLdapHostURLLen, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned char *pucCrlData, - unsigned int *puiCrlDataLen); - -int SAF_GetCertificateInfo( - void *hAppHandle, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned int uiInfoType, - unsigned char *pucInfo, - unsigned int *puiInfoLen); - -int SAF_GetExtTypeInfo( - void *hAppHandle, - unsigned char *pucDerCert, - unsigned int uiDerCertLen, - unsigned int uiInfoType, - unsigned char *pucPriOid, - unsigned int uiPriOidLen, - unsigned char *pucInfo, - unsigned int *puiInfoLen); - -int SAF_EnumCertificates( - void *hAppHandle, - SGD_USR_CERT_ENUMLIST *usrCerts); - -int SAF_EnumKeyContainerInfo( - void *hAppHandle, - SGD_KEYCONTAINERINFO_ENUMLIST *keyContainerInfo); - -int SAF_EnumCertificatesFree( - void *hAppHandle, - SGD_USR_CERT_ENUMLIST *usrCerts); - -int SAF_EnumKeyContainerInfoFree( - void *hAppHandle, - SGD_KEYCONTAINERINFO_ENUMLIST *keyContainerInfo); - -int SAF_Base64_Encode( - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_Base64_Decode( - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_Base64_CreateBase64Obj( - void **phBase64Obj); - -int SAF_Base64_DestroyBase64Obj( - void *hBase64Obj); - -int SAF_Base64_EncodeUpdate( - void *hBase64Obj, - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_Base64_EncodeFinal( - void *hBase64Obj, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_Base64_DecodeUpdate( - void *hBase64Obj, - unsigned char *pucInData, - unsigned int puiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_Base64_DecodeFinal( - void *hBase64Obj, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_GenRandom( - unsigned int uiRandLen, - unsigned char *pucRand); - -int SAF_Hash( - unsigned int uiAlgoType, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pubID, - unsigned int ulIDLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_CreateHashObj(void **phHashObj, - unsigned int uiAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucID, - unsigned int ulIDLen); - -int SAF_DestroyHashObj( - void *phHashObj); - -int SAF_HashUpdate( - void *phHashObj, - const unsigned char *pucInData, - unsigned int uiInDataLen); - -int SAF_HashFinal( - void *phHashObj, - unsigned char *pucOutData, - unsigned int *uiOutDataLen); - -int SAF_GenRsaKeyPair( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned int uiKeyUsage, - unsigned int uiExportFlag); - -int SAF_GetRsaPublicKey( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyUsage, - unsigned char *pucPublicKey, - unsigned int *puiPublicKeyLen); - -int SAF_RsaSign( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiHashAlgoType, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignature, - unsigned int *puiSignatureLen); - -int SAF_RsaSignFile( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiHashAlgoType, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int *puiSignatureLen); - -int SAF_RsaVerifySign( - unsigned int uiHashAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignature, - unsigned int uiSignatureLen); - -int SAF_RsaVerifySignFile( - unsigned int uiHashAlgoType, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucFileName, - unsigned char *pucSignature, - unsigned int uiSignatureLen); - -int SAF_VerifySignByCert( - unsigned int uiHashAlgoType, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignature, - unsigned int uiSignatureLen); - -int SAF_GenEccKeyPair( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned int uiKeyUsage, - unsigned int uiExportFlag); - -int SAF_GetEccPublicKey( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyUsage, - unsigned char *pucPublicKey, - unsigned int *puiPublicKeyLen); - -int SAF_EccSign( - void *hAppHandle, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiAlgorithmID, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignData, - unsigned int *puiSignDataLen); - -int SAF_EccVerifySign( - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned int uiAlgorithmID, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignData, - unsigned int uiSignDataLen); - -int SAF_EccPublicKeyEnc( - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned int uiAlgorithmID, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_EccPublicKeyEncByCert( - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned int uiAlgorithmID, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_EccVerifySignByCert( - unsigned int uiAlgorithmID, - unsigned char *pucCertificate, - unsigned int uiCertificateLen, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucSignData, - unsigned int uiSignDataLen); - -int SAF_CreateSymmKeyObj( - void *hAppHandle, - void **phSymmKeyObj, - unsigned char *pucContainerName, - unsigned int uiContainerLen, - unsigned char *pucIV, - unsigned int uiIVLen, - unsigned int uiEncOrDec, - unsigned int uiCryptoAlgID); - -int SAF_GenerateKeyWithEPK( - void *hSymmKeyObj, - unsigned char *pucPublicKey, - unsigned int uiPublicKeyLen, - unsigned char *pucSymmKey, - unsigned int *puiSymmKeyLen, - void **phKeyHandle); - -int SAF_ImportEncedKey( - void *hSymmKeyObj, - unsigned char *pucSymmKey, - unsigned int uiSymmKeyLen, - void **phKeyHandle); - -int SAF_GenerateAgreementDataWithECC( - void *hSymmKeyObj, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned char *pucSponsorID, - unsigned int uiSponsorIDLength, - unsigned char *pucSponsorPublicKey, - unsigned int *puiSponsorPublicKeyLen, - unsigned char *pucSponsorTmpPublicKey, - unsigned int *puiSponsorTmpPublicKeyLen, - void **phAgreementHandle); - -int SAF_GenerateKeyWithECC( - void *phAgreementHandle, - unsigned char *pucResponseID, - unsigned int uiResponseIDLength, - unsigned char *pucResponsePublicKey, - unsigned int uiResponsePublicKeyLen, - unsigned char *pucResponseTmpPublicKey, - unsigned int uiResponseTmpPublicKeyLen, - void **phKeyHandle); - -int SAF_GenerateAgreementDataAdnKeyWithECC( - void *hSymmKeyObj, - unsigned char *pucContainerName, - unsigned int uiContainerNameLen, - unsigned int uiKeyBits, - unsigned char *pucResponseID, - unsigned int uiResponseIDLength, - unsigned char *pucSponsorID, - unsigned int uiSponsorIDLength, - unsigned char *pucSponsorPublicKey, - unsigned int *puiSponsorPublicKeyLen, - unsigned char *pucSponsorTmpPublicKey, - unsigned int *puiSponsorTmpPublicKeyLen, - unsigned char *pucResponsePublicKey, - unsigned int uiResponsePublicKeyLen, - unsigned char *pucResponseTmpPublicKey, - unsigned int uiResponseTmpPublicKeyLen, - void **phKeyHandle); - -int SAF_DestroySymmAlgoObj( - void *hSymmKeyObj); - -int SAF_DestroyKeyHandle( - void *hKeyHandle); - -int SAF_SymmEncrypt( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_SymmEncryptUpdate( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_SymmEncryptFinal( - void *hKeyHandle, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_SymmDecrypt( - void *hKeyHandle, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_SymmDecryptUpdate( - void *hKeyHandle, - unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_SymmDecryptFinal( - void *hKeyHandle, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_Mac( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_MacUpdate( - void *hKeyHandle, - const unsigned char *pucInData, - unsigned int uiInDataLen); - -int SAF_MacFinal( - void *hKeyHandle, - unsigned char *pucOutData, - unsigned int *puiOutDataLen); - -int SAF_Pkcs7_EncodeData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerP7Data, - unsigned int *puiDerP7DataLen); - -int SAF_Pkcs7_DecodeData( - void *hAppHandle, - unsigned char *pucDecContainerName, - unsigned int uiDecContainerNameLen, - unsigned char *pucDerP7Data, - unsigned int uiDerP7DataLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned int *puiDigestAlgorithm); - -int SAF_Pkcs7_EncodeSignedData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned int uiSignKeyUsage, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerP7Data, - unsigned int *puiDerP7DataLen); - -int SAF_Pkcs7_DecodeSignedData( - void *hAppHandle, - unsigned char *pucDerP7SignedData, - unsigned int uiDerP7SignedDataLen, - unsigned int *puiDigestAlgorithm, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSig, - unsigned int *puiSigLen); - -int SAF_Pkcs7_EncodeEnvelopedData( - void *hAppHandle, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucDerP7EnvelopedData, - unsigned int *puiDerP7EnvelopedDataLen); - -int SAF_Pkcs7_DecodeEnvelopedData( - void *hAppHandle, - unsigned char *pucDecContainerName, - unsigned int uiDecContainerNameLen, - unsigned char *pucDerP7EnvelopedData, - unsigned int uiDerP7EnvelopedDataLen, - unsigned char *pucData, - unsigned int *puiDataLen); - -int SAF_Pkcs7_EncodeDigestedData( - void *hAppHandle, - unsigned int uiDigestAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerP7DigestedData, - unsigned int *puiDerP7DigestedDataLen); - -int SAF_Pkcs7_DecodeDigestedData( - void *hAppHandle, - unsigned char *pucDerP7DigestedData, - unsigned int uiDerP7DigestedDataLen, - unsigned int *puiDigestAlgorithm, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucDigest, - unsigned int *puiDigestLen); - -int SAF_SM2_EncodeSignedAndEnvelopedData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerSignedAndEnvelopedData, - unsigned int *puiDerSignedAndEnvelopedDataLen); - -int SAF_SM2_DecodeSignedAndEnvelopedData( - void *hAppHandle, - unsigned char *pucDerContainerName, - unsigned int uiDerContainerNameLen, - unsigned char *pucDerSignedAndEnvelopedData, - unsigned int uiDerSignedAndEnvelopedDataLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned int *puiDigestAlgorithm); - -int SAF_SM2_EncodeSignedData( - void *hAppHandle, - unsigned char *pucSignContainerName, - unsigned int uiSignContainerNameLen, - unsigned int uiSignKeyUsage, - unsigned char *pucSignerCertificate, - unsigned int uiSignerCertificateLen, - unsigned int uiDigestAlgorithm, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucDerSignedData, - unsigned int *puiDerSignedDataLen); - -int SAF_SM2_DecodeSignedData( - void *hAppHandle, - unsigned char *pucDerSignedData, - unsigned int uiDerSignedDataLen, - unsigned int *puiDigestAlgorithm, - unsigned char *pucSignerCertificate, - unsigned int *puiSignerCertificateLen, - unsigned char *pucData, - unsigned int *puiDataLen, - unsigned char *pucSign, - unsigned int *puiSignLen); - -int SAF_SM2_EncodeEnvelopedData( - void *hAppHandle, - unsigned char *pucData, - unsigned int uiDataLen, - unsigned char *pucEncCertificate, - unsigned int uiEncCertificateLen, - unsigned int uiSymmAlgorithm, - unsigned char *pucDerEnvelopedData, - unsigned int *puiDerEnvelopedDataLen); - -int SAF_SM2_DecodeEnvelopedData( - void *hAppHandle, - unsigned char *pucDecContainerName, - unsigned int uiDecContainerNameLen, - unsigned char *pucDerEnvelopedData, - unsigned int uiDerEnvelopedDataLen, - unsigned char *pucData, - unsigned int *puiDataLen); - - -#define SAR_Ok 0x00000000 -#define SAR_UnknownErr 0x02000001 -#define SAR_NotSupportYetErr 0x02000002 -#define SAR_FileErr 0x02000003 -#define SAR_ProviderTypeErr 0x02000004 -#define SAR_LoadProviderErr 0x02000005 -#define SAR_LoadDevMngApiErr 0x02000006 -#define SAR_AlgoTypeErr 0x02000007 -#define SAR_NameLenErr 0x02000008 -#define SAR_KeyUsageErr 0x02000009 -#define SAR_ModulusLenErr 0x02000010 -#define SAR_NotInitializeErr 0x02000011 -#define SAR_ObjErr 0x02000012 -#define SAR_MemoryErr 0x02000100 -#define SAR_TimeoutErr 0x02000101 -#define SAR_IndataLenErr 0x02000200 -#define SAR_IndataErr 0x02000201 -#define SAR_GenRandErr 0x02000300 -#define SAR_HashObjErr 0x02000301 -#define SAR_HashErr 0x02000302 -#define SAR_GenRsaKeyErr 0x02000303 -#define SAR_RsaModulusLenErr 0x02000304 -#define SAR_CspImportPubKeyErr 0x02000305 -#define SAR_RsaEncErr 0x02000306 -#define SAR_RsaDecErr 0x02000307 -#define SAR_HashNotEqualErr 0x02000308 -#define SAR_KeyNotFoundErr 0x02000309 -#define SAR_CertNotFoundErr 0x02000310 -#define SAR_NotExportErr 0x02000311 -#define SAR_CertRevokedErr 0x02000316 -#define SAR_CertNotYetValidErr 0x02000317 -#define SAR_CerthashExpiredErr 0x02000318 -#define SAR_CertVerifyErr 0x02000319 -#define SAR_CertEncodeErr 0x02000320 -#define SAR_DecryptPadErr 0x02000400 -#define SAR_MacLenErr 0x02000401 -#define SAR_KeyInfoTypeErr 0x02000402 -#define SAR_NotLogin 0x02000403 - - -#ifdef __cplusplus -} -#endif -#endif -#endif diff --git a/include/openssl/serpent.h b/include/openssl/serpent.h deleted file mode 100644 index 0cce1a11..00000000 --- a/include/openssl/serpent.h +++ /dev/null @@ -1,119 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ -/** -Copyright © 2015 Odzhan -Copyright © 2008 Daniel Otte -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. The name of the author may not be used to endorse or promote products -derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY AUTHORS "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 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_SERPENT_H -#define HEADER_SERPENT_H - -#include -#ifndef OPENSSL_NO_SERPENT - -#include - -#define SERPENT_ROUNDS 32 -#define SERPENT_BLOCK_SIZE 16 -#define SERPENT_KEY256 32 - -#define SERPENT_ENCRYPT 0 -#define SERPENT_DECRYPT 1 - -#define SERPENT_IP 0 -#define SERPENT_FP 1 - -typedef union _serpent_blk_t { - uint8_t b[SERPENT_BLOCK_SIZE]; - uint32_t w[SERPENT_BLOCK_SIZE / 4]; - uint64_t q[SERPENT_BLOCK_SIZE / 2]; -} serpent_blk; - -typedef uint32_t serpent_subkey_t[4]; - -typedef struct { - serpent_subkey_t x[SERPENT_ROUNDS + 1]; -} serpent_key_t; - -#ifdef __cplusplus -extern "C" { -#endif - -void serpent_set_encrypt_key(serpent_key_t *key, const unsigned char *user_key); -void serpent_set_decrypt_key(serpent_key_t *key, const unsigned char *user_key); -void serpent_encrypt(const void *in, void *out, serpent_key_t *key); -void serpent_decrypt(const void *in, void *out, serpent_key_t *key); - -#ifdef __cplusplus -} -#endif -#endif -#endif diff --git a/include/openssl/sm2.h b/include/openssl/sm2.h index fbda4abc..1eab8a8d 100755 --- a/include/openssl/sm2.h +++ b/include/openssl/sm2.h @@ -245,22 +245,6 @@ void EC_KEY_METHOD_get_decrypt(EC_KEY_METHOD *meth, EVP_PKEY_OP_ENCRYPT|EVP_PKEY_OP_DECRYPT, \ EVP_PKEY_CTRL_EC_ENCRYPT_PARAM, -2, NULL) -typedef struct SM2_COSIGNER1_SHARE_st SM2_COSIGNER1_SHARE; -typedef struct SM2_COSIGNER2_SHARE_st SM2_COSIGNER2_SHARE; -typedef struct SM2_COSIGNER1_PROOF_st SM2_COSIGNER1_PROOF; -typedef struct SM2_COSIGNER2_PROOF_st SM2_COSIGNER2_PROOF; -DECLARE_ASN1_FUNCTIONS(SM2_COSIGNER1_SHARE) -DECLARE_ASN1_FUNCTIONS(SM2_COSIGNER2_SHARE) -DECLARE_ASN1_FUNCTIONS(SM2_COSIGNER1_PROOF) -DECLARE_ASN1_FUNCTIONS(SM2_COSIGNER2_PROOF) - -/* the following API not finished */ -SM2_COSIGNER1_SHARE *SM2_cosigner1_setup(BIGNUM **k1, EC_KEY *ec_key, PAILLIER *pk); -SM2_COSIGNER2_SHARE *SM2_cosigner2_setup(const SM2_COSIGNER1_SHARE *s1, BIGNUM **k2, EC_KEY *ec_key, PAILLIER *pk); -SM2_COSIGNER1_PROOF *SM2_cosigner1_generate_proof(EC_KEY *ec_key, PAILLIER *pk); -SM2_COSIGNER2_PROOF *SM2_cosigner2_generate_proof(EC_KEY *ec_key, PAILLIER *pk); -ECDSA_SIG *SM2_cosigner1_generate_signature(EC_KEY *ec_key, PAILLIER *pk); - /* BEGIN ERROR CODES */ /* diff --git a/include/openssl/sof.h b/include/openssl/sof.h deleted file mode 100644 index 3936a17f..00000000 --- a/include/openssl/sof.h +++ /dev/null @@ -1,170 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_SOF_H -#define HEADER_SOF_H - -#include -#ifndef OPENSSL_NO_SOF - -#include - -typedef char * SOF_BSTR; -typedef long SOF_LONG; -typedef short SOF_SHORT; -typedef SOF_LONG SOF_BOOL; - -#ifdef __cplusplus -extern "C" { -#endif - - -SOF_BSTR SOF_GetVersion(void); -SOF_LONG SOF_SetSignMethod(SOF_LONG SignMethod); -SOF_LONG SOF_GetSignMethod(void); -SOF_LONG SOF_SetEncryptMethod(SOF_LONG EncryptMethod); -SOF_LONG SOF_GetEncryptMethod(void); -SOF_BSTR SOF_GetUserList(void); -SOF_BSTR SOF_ExportUserCert(SOF_BSTR ContainerName); -SOF_BOOL SOF_Login(SOF_BSTR ContainerName, SOF_BSTR PassWd); -SOF_LONG SOF_GetPinRetryCount(SOF_BSTR ContainerName); -SOF_BOOL SOF_ChangePassWd(SOF_BSTR ContainerName, SOF_BSTR OldPassWd, SOF_BSTR NewPassWd); -SOF_BSTR SOF_ExportExchangeUserCert(SOF_BSTR ContainerName); -SOF_BSTR SOF_GetCertInfo(SOF_BSTR Base64EncodeCert, SOF_SHORT Type); -SOF_BSTR SOF_GetCertInfoByOid(SOF_BSTR Base64EncodeCert, SOF_BSTR Oid); -SOF_BSTR SOF_GetDeviceInfo(SOF_BSTR ContainerName, SOF_LONG Type); -SOF_LONG SOF_ValidateCert(SOF_BSTR Base64EncodeCert); -SOF_BSTR SOF_SignData(SOF_BSTR ContainerName, SOF_BSTR InData); -SOF_BOOL SOF_VerifySignedData(SOF_BSTR Base64EncodeCert, SOF_BSTR InData, SOF_BSTR SignValue); -SOF_BSTR SOF_SignFile(SOF_BSTR ContainerName, SOF_BSTR InFile); -SOF_BOOL SOF_VerifySignedFile(SOF_BSTR Base64EncodeCert, SOF_BSTR InFile, SOF_BSTR SignValue); -SOF_BSTR SOF_EncryptData(SOF_BSTR Base64EncodeCert, SOF_BSTR InData); -SOF_BSTR SOF_DecryptData(SOF_BSTR ContainerName, SOF_BSTR InData); -SOF_BOOL SOF_EncryptFile(SOF_BSTR Base64EncodeCert, SOF_BSTR InFile, SOF_BSTR OutFile); -SOF_BOOL SOF_DecryptFile(SOF_BSTR ContainerName, SOF_BSTR InFile, SOF_BSTR OutFile); -SOF_BSTR SOF_SignMessage(SOF_SHORT flag, SOF_BSTR ContainerName, SOF_BSTR InData); -SOF_BOOL SOF_VerifySignedMessage(SOF_BSTR MessageData, SOF_BSTR InData); -SOF_BSTR SOF_GetInfoFromSignedMessage(SOF_BSTR SignedMessage, SOF_SHORT Type); -SOF_BSTR SOF_SignDataXML(SOF_BSTR ContainerName, SOF_BSTR InData); -SOF_BOOL SOF_VerifySignedDataXML(SOF_BSTR InData); -SOF_BSTR SOF_GetXMLSignatureInfo(SOF_BSTR XMLSignedData, SOF_SHORT Type); -SOF_BSTR SOF_GenRandom(SOF_SHORT RandomLen); -SOF_LONG SOF_GetLastError(void); - -SOF_LONG SOF_SetCertTrustList(SOF_BSTR CTLAltName, SOF_BSTR CTLContent, SOF_SHORT CTLContentLen); -SOF_BSTR SOF_GetCertTrustListAltNames(void); -SOF_BSTR SOF_GetCertTrustList(SOF_BSTR CTLAltName); -SOF_LONG SOF_DelCertTrustList(SOF_BSTR CTLAltName); -SOF_LONG SOF_InitCertAppPolicy(SOF_BSTR PolicyName); -SOF_BSTR SOF_GetServerCertificate(SOF_SHORT CertUsage); -SOF_BSTR SOF_SignMessageDetach(SOF_BSTR InData); -SOF_LONG SOF_VerifySignedMessageDetach(SOF_BSTR InData, SOF_BSTR SignedMessage); -SOF_BSTR SOF_CreateTimeStampRequest(SOF_BSTR InData); -SOF_BSTR SOF_CreateTimeStampResponse(SOF_BSTR TimeStampRequest); -SOF_LONG SOF_VerifyTimeStamp(SOF_BSTR InData, SOF_BSTR tsResponseData); -SOF_BSTR SOF_GetTimeStampInfo(SOF_BSTR tsResponseData, SOF_SHORT type); - -#define SOR_OK 0x00000000 -#define SOR_UnknownErr 0x0B000001 -#define SOR_NotSupportYetErr 0x0B000002 -#define SOR_FileErr 0x0B000003 -#define SOR_ProviderTypeErr 0x0B000004 -#define SOR_LoadProviderErr 0x0B000005 -#define SOR_LoadDevMngApiErr 0x0B000006 -#define SOR_AlgoTypeErr 0x0B000007 -#define SOR_NameLenErr 0x0B000008 -#define SOR_KeyUsageErr 0x0B000009 -#define SOR_ModulusLenErr 0x0B000010 -#define SOR_NotInitializeErr 0x0B000011 -#define SOR_ObjErr 0x0B000012 -#define SOR_MemoryErr 0x0B000100 -#define SOR_TimeoutErr 0x0B000101 -#define SOR_IndataLenErr 0x0B000200 -#define SOR_IndataErr 0x0B000201 -#define SOR_GenRandErr 0x0B000300 -#define SOR_HashObjErr 0x0B000301 -#define SOR_HashErr 0x0B000302 -#define SOR_GenRsaKeyErr 0x0B000303 -#define SOR_RsaModulusLenErr 0x0B000304 -#define SOR_CspImprtPubKeyErr 0x0B000305 -#define SOR_RsaEncErr 0x0B000306 -#define SOR_RsaDecErr 0x0B000307 -#define SOR_HashNotEqualErr 0x0B000308 -#define SOR_KeyNotFountErr 0x0B000309 -#define SOR_CertNotFountErr 0x0B000310 -#define SOR_NotExportErr 0x0B000311 -#define SOR_VerifyPolicyErr 0x0B000312 -#define SOR_DecryptPadErr 0x0B000400 -#define SOR_MacLenErr 0x0B000401 -#define SOR_KeyInfoTypeErr 0x0B000402 -#define SOR_NullPointerErr 0x0B000403 -#define SOR_AppNotFoundErr 0x0B000404 -#define SOR_CertEncodeErr 0x0B000405 -#define SOR_CertInvalidErr 0x0B000406 -#define SOR_CertHasExpiredErr 0x0B000407 -#define SOR_CertRevokedErr 0x0B000408 -#define SOR_SignDataErr 0x0B000409 -#define SOR_VerifySignDataErr 0x0B000410 -#define SOR_ReadFileErr 0x0B000411 -#define SOR_WriteFileErr 0x0B000412 -#define SOR_SecretSegmentErr 0x0B000413 -#define SOR_SecretRecoverErr 0x0B000414 -#define SOR_EncryptDataErr 0x0B000415 -#define SOR_DecryptDataErr 0x0B000416 -#define SOR_PKCS7EncodeErr 0x0B000417 -#define SOR_XMLEncodeErr 0x0B000418 -#define SOR_ParameterNotSupportErr 0x0B000419 -#define SOR_CTLNotFound 0x0B000420 -#define SOR_AppNotFound 0x0B000421 - -#ifdef __cplusplus -} -#endif -#endif -#endif diff --git a/include/openssl/speck.h b/include/openssl/speck.h deleted file mode 100644 index adcbf5dd..00000000 --- a/include/openssl/speck.h +++ /dev/null @@ -1,91 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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_SPECK_H -#define HEADER_SPECK_H - -#include -#ifndef OPENSSL_NO_SPECK - -#define SPECK_ROUNDS16 22 -#define SPECK_KEY_LEN16 4 - -#define SPECK_ROUNDS32 27 -#define SPECK_KEY_LEN32 4 - -#define SPECK_ROUNDS64 34 -#define SPECK_KEY_LEN64 4 - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -void speck_set_encrypt_key16(const uint16_t user[SPECK_KEY_LEN16], uint16_t key[SPECK_ROUNDS16]); -void speck_set_decrypt_key16(uint16_t const user[SPECK_KEY_LEN16], uint16_t key[SPECK_ROUNDS16]); -void speck_encrypt16(const uint16_t pt[2], uint16_t ct[2], const uint16_t K[SPECK_ROUNDS16]); -void speck_decrypt16(const uint16_t ct[2], uint16_t pt[2], const uint16_t K[SPECK_ROUNDS16]); - -void speck_set_encrypt_key32(const uint32_t user[SPECK_KEY_LEN32], uint32_t key[SPECK_ROUNDS32]); -void speck_set_decrypt_key32(const uint32_t user[SPECK_KEY_LEN32], uint32_t key[SPECK_ROUNDS32]); -void speck_encrypt32(const uint32_t pt[2], uint32_t ct[2], const uint32_t K[SPECK_ROUNDS32]); -void speck_decrypt32(const uint32_t ct[2], uint32_t pt[2], const uint32_t K[SPECK_ROUNDS32]); - -void speck_set_encrypt_key64(const uint64_t user[SPECK_KEY_LEN64], uint64_t key[SPECK_ROUNDS64]); -void speck_set_decrypt_key64(const uint64_t user[SPECK_KEY_LEN64], uint64_t key[SPECK_ROUNDS64]); -void speck_encrypt64(const uint64_t pt[2], uint64_t ct[2], const uint64_t K[SPECK_ROUNDS64]); -void speck_decrypt64(const uint64_t ct[2], uint64_t pt[2], const uint64_t K[SPECK_ROUNDS64]); - -#ifdef __cplusplus -} -#endif -#endif -#endif diff --git a/include/openssl/zuc.h b/include/openssl/zuc.h index ba2ed935..85efd5b0 100755 --- a/include/openssl/zuc.h +++ b/include/openssl/zuc.h @@ -70,60 +70,17 @@ extern "C" { # endif -/* ZUC stream cipher */ - typedef struct zuc_key_st { ZUC_UINT31 LFSR[16]; uint32_t R1; uint32_t R2; } ZUC_KEY; + void ZUC_set_key(ZUC_KEY *key, const unsigned char *user_key, const unsigned char *iv); void ZUC_generate_keystream(ZUC_KEY *key, size_t nwords, uint32_t *words); uint32_t ZUC_generate_keyword(ZUC_KEY *key); -# define ZUC_128EEA3_MIN_BITS 1 -# define ZUC_128EEA3_MAX_BITS 65504 -# define ZUC_128EEA3_MIN_BYTES ((ZUC_128EEA3_MIN_BITS + 7)/8) -# define ZUC_128EEA3_MAX_BYTES ((ZUC_128EEA3_MAX_BITS + 7)/8) - -/* ZUC 128-EEA3 */ - -typedef struct zuc_128eea3_st { - ZUC_KEY ks; -} ZUC_128EEA3; - -void ZUC_128eea3_set_key(ZUC_128EEA3 *ctx, const unsigned char user_key[16], - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction); -void ZUC_128eea3_encrypt(ZUC_128EEA3 *ctx, size_t len, - const unsigned char *in, unsigned char *out); -# define ZUC_128eea3_decrypt(ctx,len,in,out) \ - ZUC_128eea3_encrypt(ctx,len,in,out) -void ZUC_128eea3(const unsigned char key[ZUC_KEY_LENGTH], - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction, - size_t len, const unsigned char *in, unsigned char *out); - -/* ZUC 128-EIA3 */ - -# define ZUC_128EIA3_MIN_BYTES EEA3_MIN_BYTES -# define ZUC_128EIA3_MAX_BYTES EEA3_MAX_BYTES -# define ZUC_128EIA3_MAC_SIZE 4 - -typedef struct zuc_128eia3_st { - ZUC_KEY ks; - unsigned char buf[4]; - size_t num; -} ZUC_128EIA3; - -void ZUC_128eia3_set_key(ZUC_128EIA3 *ctx, const unsigned char *user_key, - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction); -void ZUC_128eia3_update(ZUC_128EIA3 *ctx, const unsigned char *data, - size_t datalen); -void ZUC_128eia3_final(ZUC_128EIA3 *ctx, uint32_t *mac); -void ZUC_128eia3(const unsigned char key[ZUC_KEY_LENGTH], - ZUC_UINT32 count, ZUC_UINT5 bearer, ZUC_UINT1 direction, - const unsigned char *data, size_t dlen, uint32_t *mac); - # ifdef __cplusplus } diff --git a/npapi/GmSSLObject.c b/npapi/GmSSLObject.c index 1e942abc..148fe99e 100644 --- a/npapi/GmSSLObject.c +++ b/npapi/GmSSLObject.c @@ -67,7 +67,7 @@ const char *prog = "gmssl"; static bool identifiersInitialized = false; -#define GMSSL_VERSION "1.0" +#define GMSSL_VERSION "GmSSL JavaScript API 1.0 Feb 3 2019" #define GMSSL_PROPERTY_VERSION 0 #define GMSSL_NUM_PROPERTIES 1 @@ -84,9 +84,9 @@ static const NPUTF8 *gmsslPropertyNames[GMSSL_NUM_PROPERTIES] = { static NPIdentifier gmsslMethodIdentifiers[GMSSL_NUM_METHODS]; static const NPUTF8 *gmsslMethodNames[GMSSL_NUM_METHODS] = { - "keygen", - "encrypt", - "decrypt", + "sm3", + "sm4cbcencrypt", + "sm4cbcdecrypt", }; static bool do_keygen(const NPVariant algor, NPVariant *result); @@ -190,7 +190,7 @@ static bool gmsslGetProperty(NPObject *obj, NPIdentifier name, NPVariant *varian return false; } -static bool gmsslSetProperty(NPObject *obj, NPIdentifier name, +static bool gmsslSetProperty(NPObject *obj, NPIdentifier name, const NPVariant *variant) { return false; @@ -217,9 +217,48 @@ NPClass *getGmSSLClass(void) static bool do_keygen(const NPVariant algor, NPVariant *result) { bool ret = false; + + /* set the default return value */ + NULL_TO_NPVARIANT(*result); + + if (!NPVARIANT_IS_STRING(algor)) { + goto end; + } + + if (!(alg_str = NPVARIANT_TO_STRING(algor).UTF8Characters) + || strlen(alg_str) <= 0 + || !(alg = + + return ret; } +static bool sms4_cbc_encrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result) +{ + + +} + +static bool sms4_cbc_decrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result) +{ +} + +static bool sm2_sign(const NPVariant dgst, const NPVariant key, NPVariant *result) +{ +} + +static bool sm2_sign(const NPVariant dgst, const NPVariant sig, const NPVariant key, NPVariant *result) +{ +} + +static bool sm2_encrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result) +{ +} + +static bool sm2_decrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result) +{ +} + static bool do_encrypt(const NPVariant algor, const NPVariant plaintext, const NPVariant pubkey, NPVariant *result) { diff --git a/test/base58test.c b/test/base58test.c deleted file mode 100644 index da2a5641..00000000 --- a/test/base58test.c +++ /dev/null @@ -1,71 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include - -#include "../e_os.h" - -#ifdef OPENSSL_NO_BASE58 -int main(int argc, char **argv) -{ - printf("No BASE58 support\n"); - return 0; -} -#else -# include -# include - -int main(int argc, char **argv) -{ - int err = 0; - EXIT(err); -} -#endif diff --git a/test/bb1ibetest.c b/test/bb1ibetest.c deleted file mode 100644 index 81f528db..00000000 --- a/test/bb1ibetest.c +++ /dev/null @@ -1,134 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "../e_os.h" - -#ifdef OPENSSL_NO_BB1IBE -int main(int argc, char **argv) -{ - printf("NO BB1IBE support\n"); - return 0; -} -#else -# include -# include - -int main(int argc, char **argv) -{ - int err = 1; - int curve_id = NID_sm2p256v1;//FIXME - const EVP_MD *md = EVP_sm3(); - char *id = "guanzhi1980@gmail.com"; - char *in = "message to be signed or encrypted"; - EC_GROUP *group = NULL; - BB1PublicParameters *mpk = NULL; - BB1MasterSecret *msk = NULL; - BB1PrivateKeyBlock *sk = NULL; - unsigned char *c = NULL; - unsigned char *m = NULL; - size_t clen, mlen; - - /* setup */ - if (!(group = EC_GROUP_new_by_curve_name(curve_id))) { - goto end; - } - if (!BB1IBE_setup(group, md, &mpk, &msk)) { - goto end; - } - - /* keygen */ - if (!(sk = BB1IBE_extract_private_key(mpk, msk, id, strlen(id)))) { - goto end; - } - - /* encrypt */ - clen = 0; - if (!BB1IBE_encrypt(mpk, (unsigned char *)in, strlen(in), - NULL, &clen, id, strlen(id))) { - goto end; - } - if (!(c = OPENSSL_zalloc(clen))) { - goto end; - } - if (!BB1IBE_encrypt(mpk, (unsigned char *)in, strlen(in), - c, &clen, id, strlen(id))) { - goto end; - } - - /* decrypt */ - mlen = 0; - if (!BB1IBE_decrypt(mpk, c, clen, NULL, &mlen, sk)) { - goto end; - } - if (!(m = OPENSSL_zalloc(mlen))) { - goto end; - } - if (!BB1IBE_decrypt(mpk, c, clen, m, &mlen, sk)) { - goto end; - } - if (strlen(in) != mlen || memcmp(in, m, mlen) != 0) { - goto end; - } - - err = 0; -end: - EC_GROUP_free(group); - BB1PublicParameters_free(mpk); - BB1MasterSecret_free(msk); - BB1PrivateKeyBlock_free(sk); - OPENSSL_free(c); - OPENSSL_free(m); - //FIXME: - //return err; - return 0; -} -#endif diff --git a/test/bfibetest.c b/test/bfibetest.c deleted file mode 100644 index fc9f4e58..00000000 --- a/test/bfibetest.c +++ /dev/null @@ -1,133 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "../e_os.h" - -#ifdef OPENSSL_NO_BFIBE -int main(int argc, char **argv) -{ - printf("NO BFIBE support\n"); - return 0; -} -#else -# include -# include - -int main(int argc, char **argv) -{ - int err = 1; - int curve_id = NID_sm2p256v1; - const EVP_MD *md = EVP_sm3(); - char *id = "guanzhi1980@gmail.com"; - char *in = "message to be signed or encrypted"; - EC_GROUP *group = NULL; - BFPublicParameters *mpk = NULL; - BFMasterSecret *msk = NULL; - BFPrivateKeyBlock *sk = NULL; - unsigned char *c = NULL; - unsigned char *m = NULL; - size_t clen, mlen; - - /* setup */ - if (!(group = EC_GROUP_new_by_curve_name(curve_id))) { - goto end; - } - if (!BFIBE_setup(group, md, &mpk, &msk)) { - goto end; - } - - /* keygen */ - if (!(sk = BFIBE_extract_private_key(mpk, msk, id, strlen(id)))) { - goto end; - } - - /* encrypt */ - clen = 0; - if (!BFIBE_encrypt(mpk, (unsigned char *)in, strlen(in), - NULL, &clen, id, strlen(id))) { - goto end; - } - if (!(c = OPENSSL_zalloc(clen))) { - goto end; - } - if (!BFIBE_encrypt(mpk, (unsigned char *)in, strlen(in), - c, &clen, id, strlen(id))) { - goto end; - } - - /* decrypt */ - mlen = 0; - if (!BFIBE_decrypt(mpk, c, clen, NULL, &mlen, sk)) { - goto end; - } - if (!(m = OPENSSL_zalloc(mlen))) { - goto end; - } - if (!BFIBE_decrypt(mpk, c, clen, m, &mlen, sk)) { - goto end; - } - if (strlen(in) != mlen || memcmp(in, m, mlen) != 0) { - goto end; - } - - err = 0; -end: - EC_GROUP_free(group); - BFPublicParameters_free(mpk); - BFMasterSecret_free(msk); - BFPrivateKeyBlock_free(sk); - OPENSSL_free(c); - OPENSSL_free(m); - //FIXME: return err; - return 0; -} -#endif diff --git a/test/build.info b/test/build.info index 2635211c..6ea71f5e 100644 --- a/test/build.info +++ b/test/build.info @@ -17,11 +17,9 @@ IF[{- !$disabled{tests} -}] dtlsv1listentest ct_test threadstest afalgtest d2i_test \ ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \ bioprinttest sslapitest dtlstest sslcorrupttest bio_enc_test \ - sm3test sms4test kdf2test eciestest ffxtest sm2test \ - pailliertest cpktest otptest gmapitest ec2test \ - bfibetest bb1ibetest sm9test \ - saftest sdftest skftest softest zuctest \ - serpenttest specktest base58test ecrstest + sm2test sm3test sms4test kdf2test eciestest \ + pailliertest otptest gmapitest sm9test \ + sdftest skftest zuctest SOURCE[aborttest]=aborttest.c INCLUDE[aborttest]=../include @@ -304,10 +302,6 @@ IF[{- !$disabled{tests} -}] INCLUDE[eciestest]=../include DEPEND[eciestest]=../libcrypto - SOURCE[ffxtest]=ffxtest.c - INCLUDE[ffxtest]=../include - DEPEND[ffxtest]=../libcrypto - SOURCE[sm2test]=sm2test.c INCLUDE[sm2test]=../include DEPEND[sm2test]=../libcrypto @@ -316,10 +310,6 @@ IF[{- !$disabled{tests} -}] INCLUDE[pailliertest]=../include DEPEND[pailliertest]=../libcrypto - SOURCE[cpktest]=cpktest.c - INCLUDE[cpktest]=../include - DEPEND[cpktest]=../libcrypto - SOURCE[otptest]=otptest.c INCLUDE[otptest]=../include DEPEND[otptest]=../libcrypto @@ -328,26 +318,10 @@ IF[{- !$disabled{tests} -}] INCLUDE[gmapitest]=../include DEPEND[gmapitest]=../libcrypto - SOURCE[ec2test]=ec2test.c - INCLUDE[ec2test]=../include - DEPEND[ec2test]=../libcrypto - - SOURCE[bfibetest]=bfibetest.c - INCLUDE[bfibetest]=../include - DEPEND[bfibetest]=../libcrypto - - SOURCE[bb1ibetest]=bb1ibetest.c - INCLUDE[bb1ibetest]=../include - DEPEND[bb1ibetest]=../libcrypto - SOURCE[sm9test]=sm9test.c INCLUDE[sm9test]=../include DEPEND[sm9test]=../libcrypto - SOURCE[saftest]=saftest.c - INCLUDE[saftest]=../include - DEPEND[saftest]=../libcrypto - SOURCE[sdftest]=sdftest.c INCLUDE[sdftest]=../include DEPEND[sdftest]=../libcrypto @@ -356,30 +330,10 @@ IF[{- !$disabled{tests} -}] INCLUDE[skftest]=../include DEPEND[skftest]=../libcrypto - SOURCE[softest]=softest.c - INCLUDE[softest]=../include - DEPEND[softest]=../libcrypto - SOURCE[zuctest]=zuctest.c INCLUDE[zuctest]=../include DEPEND[zuctest]=../libcrypto - SOURCE[serpenttest]=serpenttest.c - INCLUDE[serpenttest]=../include - DEPEND[serpenttest]=../libcrypto - - SOURCE[specktest]=specktest.c - INCLUDE[specktest]=../include - DEPEND[specktest]=../libcrypto - - SOURCE[base58test]=base58test.c - INCLUDE[base58test]=../include - DEPEND[base58test]=../libcrypto - - SOURCE[ecrstest]=ecrstest.c - INCLUDE[ecrstest]=../include - DEPEND[ecrstest]=../libcrypto - IF[{- !$disabled{shared} -}] PROGRAMS_NO_INST=shlibloadtest SOURCE[shlibloadtest]=shlibloadtest.c diff --git a/test/cpktest.c b/test/cpktest.c deleted file mode 100644 index 8350cc75..00000000 --- a/test/cpktest.c +++ /dev/null @@ -1,193 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2007 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "../e_os.h" - -#ifdef OPENSSL_NO_CPK -int main(int argc, char **argv) -{ - printf("NO CPK support\n"); - return 0; -} -#else -# include -# include -# include -# include -# include -# include -# include - - -const char *id_short = "id"; -const char *id_long = - "123456789022345678903234567890423456789052345678906234567890" - "123456789022345678903234567890423456789052345678906234567890"; - - -int EVP_PKEY_print_fp(const EVP_PKEY *pkey, FILE *fp) -{ - ASN1_PCTX *ctx = ASN1_PCTX_new(); - BIO *bio = BIO_new_fp(fp, BIO_NOCLOSE); - - EVP_PKEY_print_params(bio, pkey, 0, ctx); - EVP_PKEY_print_public(bio, pkey, 0, ctx); - EVP_PKEY_print_private(bio, pkey, 0, NULL); - - return 0; -} - -int main(int argc, char **argv) -{ - int r, i; - KDF_FUNC kdf = NULL; - EC_KEY *ec_key = NULL; - EVP_PKEY *pkey = NULL; - EVP_PKEY *pub_key = NULL; - EVP_PKEY *priv_key = NULL; - X509_ALGOR *map = NULL; - CPK_MASTER_SECRET *master = NULL; - CPK_PUBLIC_PARAMS *params = NULL; - BIO *bio_out = NULL; - unsigned char *buf = NULL; - unsigned char *p; - const unsigned char *cp; - int len; - - return 0; - - /* prepare cpk setup parameters */ - if (!(ec_key = EC_KEY_new_by_curve_name(OBJ_sn2nid("prime192v1")))) { - goto end; - } - EC_GROUP_set_asn1_flag((EC_GROUP *)EC_KEY_get0_group(ec_key), OPENSSL_EC_NAMED_CURVE); - r = EC_KEY_generate_key(ec_key); - - - - - - pkey = EVP_PKEY_new(); - r = EVP_PKEY_set1_EC_KEY(pkey, ec_key); - map = CPK_MAP_new_default(); - - - //EVP_PKEY_print_fp(pkey, stdout); - - /* generate master_secret and public_params */ - master = CPK_MASTER_SECRET_create("domainid", pkey, map); - - bio_out = BIO_new_fp(stdout, BIO_NOCLOSE); - - r = CPK_MASTER_SECRET_print(bio_out, master, 0, 0); - - EVP_PKEY_free(pkey); - pkey = NULL; - pkey = CPK_MASTER_SECRET_extract_private_key(master, "id"); - EVP_PKEY_free(pkey); - //pkey = CPK_MASTER_SECRET_extract_private_key(master, NULL); - //assert(pkey == NULL); - pkey = CPK_MASTER_SECRET_extract_private_key(master, id_long); - EVP_PKEY_print_fp(pkey, stdout); - params = CPK_MASTER_SECRET_extract_public_params(master); - r = CPK_PUBLIC_PARAMS_print(bio_out, params, 0, 0); - printf("\n"); - - printf("test CPK_PUBLIC_PARAMS_extract_public_key()\n"); - pub_key = CPK_PUBLIC_PARAMS_extract_public_key(params, id_short); - EVP_PKEY_free(pub_key); - - pub_key = CPK_PUBLIC_PARAMS_extract_public_key(params, id_long); - printf("Public Key of '%s':\n", id_long); - EVP_PKEY_print_fp(pkey, stdout); - printf("\n"); - - r = CPK_MASTER_SECRET_validate_public_params(master, params); - if (priv_key) EVP_PKEY_free(priv_key); - priv_key = CPK_MASTER_SECRET_extract_private_key(master, "identity"); - r = CPK_PUBLIC_PARAMS_validate_private_key(params, "identity", priv_key); - r = CPK_PUBLIC_PARAMS_validate_private_key(params, "id", priv_key); - - /* der encoding and decoding */ - len = i2d_CPK_MASTER_SECRET(master, NULL); - if (buf != NULL) OPENSSL_free(buf); - buf = OPENSSL_malloc(len); - p = buf; - len = i2d_CPK_MASTER_SECRET(master, &p); - - cp = buf; - if (master) CPK_MASTER_SECRET_free(master); - master = NULL; - master = d2i_CPK_MASTER_SECRET(NULL, &cp, len); - r = CPK_MASTER_SECRET_validate_public_params(master, params); - - kdf = KDF_get_x9_63(EVP_sha1()); - - if (priv_key != NULL) EVP_PKEY_free(priv_key); - priv_key = CPK_MASTER_SECRET_extract_private_key(master, "Alice"); - - if (buf != NULL) OPENSSL_free(buf); - buf = OPENSSL_malloc(1024); - r = CPK_PUBLIC_PARAMS_compute_share_key(params, buf, 64, "Bob", priv_key, kdf); - for (i = 0; i < 64; i++) printf("%02x", buf[i]); printf("\n"); - - if (priv_key != NULL) - EVP_PKEY_free(priv_key); - priv_key = CPK_MASTER_SECRET_extract_private_key(master, "Bob"); - r = CPK_PUBLIC_PARAMS_compute_share_key(params, buf, 64, "Alice", priv_key, kdf); - for (i = 0; i < 64; i++) printf("%02x", buf[i]); printf("\n"); - -end: - printf("ok\n"); - return 0; -} -#endif diff --git a/test/ec2test.c b/test/ec2test.c deleted file mode 100644 index 8be2662b..00000000 --- a/test/ec2test.c +++ /dev/null @@ -1,69 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "../e_os.h" - -#ifdef OPENSSL_NO_EC2 -int main(int argc, char **argv) -{ - printf("NO EC2 (EC Extensions) support\n"); - return 0; -} -#else -# include - -int main(int argc, char **argv) -{ - int err = 0; - return err; -} -#endif diff --git a/test/ecrstest.c b/test/ecrstest.c deleted file mode 100644 index 038e9054..00000000 --- a/test/ecrstest.c +++ /dev/null @@ -1,117 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2019 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include - -#include "../e_os.h" - -#ifdef OPENSSL_NO_ECRS -int main(int argc, char **argv) -{ - printf("No ECRS support\n"); - return 0; -} -#else -# include -# include -# include -# include - -# define NUM_KEYS 5 - -int main(int argc, char **argv) -{ - int err = 1; - STACK_OF(EC_KEY) *keys = NULL; - EC_KEY *ec_key = NULL; - int type = NID_sm3; - unsigned char dgst[32]; - unsigned char sig[(NUM_KEYS + 1) * 80]; - unsigned int siglen = sizeof(sig); - int i; - - if (!(keys = sk_EC_KEY_new(NULL))) { - ERR_print_errors_fp(stderr); - goto end; - } - - for (i = 0; i < NUM_KEYS; i++) { - if (!(ec_key = EC_KEY_new_by_curve_name(NID_sm2p256v1))) { - ERR_print_errors_fp(stderr); - goto end; - } - if (!EC_KEY_generate_key(ec_key)) { - ERR_print_errors_fp(stderr); - goto end; - } - sk_EC_KEY_push(keys, ec_key); - ec_key = NULL; - } - - if (!ECRS_sign(type, dgst, sizeof(dgst), sig, &siglen, keys, - sk_EC_KEY_value(keys, 0))) { - ERR_print_errors_fp(stderr); - goto end; - } - - if (1 != ECRS_verify(type, dgst, sizeof(dgst), sig, siglen, keys)) { - ERR_print_errors_fp(stderr); - goto end; - } - - err = 0; - -end: - sk_EC_KEY_free(keys); - EC_KEY_free(ec_key); - EXIT(err); -} -#endif diff --git a/test/ffxtest.c b/test/ffxtest.c deleted file mode 100644 index 12c13aa2..00000000 --- a/test/ffxtest.c +++ /dev/null @@ -1,163 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include - -#include "../e_os.h" - -#ifdef OPENSSL_NO_FFX -int main(int argc, char **argv) -{ - printf("No FFX support\n"); - return 0; -} -#else -# include -# include -# include - -static int test_ffx(int verbose) -{ - int ret = 0; - FFX_CTX *ctx = NULL; - char *in = "99999999999999999"; - const EVP_CIPHER *cipher[] = { - EVP_sms4_ecb(), - EVP_aes_128_ecb(), - EVP_aes_256_ecb(), - }; - unsigned char key[32] = {0}; - unsigned char tweak[8] = { - 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38 - }; - char buf1[100]; - char buf2[100]; - int i; - - if (!(ctx = FFX_CTX_new())) { - ERR_print_errors_fp(stderr); - return 0; - } - - for (i = 0; i < OSSL_NELEM(cipher); i++) { - - memset(buf1, 0, sizeof(buf1)); - memset(buf2, 0, sizeof(buf2)); - - if (!FFX_init(ctx, cipher[i], key, 0)) { - ERR_print_errors_fp(stderr); - goto end; - } - if (!FFX_encrypt(ctx, in, buf1, strlen(in), tweak, sizeof(tweak))) { - ERR_print_errors_fp(stderr); - goto end; - } - if (!FFX_decrypt(ctx, buf1, buf2, strlen(in), tweak, sizeof(tweak))) { - ERR_print_errors_fp(stderr); - goto end; - } - if (strcmp(in, buf2) != 0) { - printf("error ffx-%s\n", EVP_CIPHER_name(cipher[i])); - printf("encrypt/decrypt not match\n"); - } else { - printf("test %d ok\n", i + 1); - } - - if (verbose) { - printf("ffx-%s-encrypt(\"%s\") = \"%s\"\n", - EVP_CIPHER_name(cipher[i]), in, buf1); - } - } - - ret = 1; -end: - FFX_CTX_free(ctx); - return ret; -} - -char *digits[] = { - "7992739871", -}; - -int luhn_checksums[] = { - '3', -}; - -int test_luhn(int verbose) -{ - int i; - int checksum; - - for (i = 0; i < OSSL_NELEM(digits); i++) { - checksum = FFX_compute_luhn(digits[i], strlen(digits[i])); - if (checksum != luhn_checksums[i]) { - printf("error calculating Luhn checksum on %s\n", digits[i]); - printf("got %c instead of %c\n", checksum, luhn_checksums[i]); - } else { - printf("test %d ok\n", i+1); - } - } - - return 1; -} - -int main(int argc, char **argv) -{ - int err = 0; - if (!test_ffx(1)) { - err = 1; - } - if (!test_luhn(1)) { - err = 1; - } - return err; -} -#endif diff --git a/test/recipes/05-test_base58.t b/test/recipes/05-test_base58.t deleted file mode 100644 index 37a2ea46..00000000 --- a/test/recipes/05-test_base58.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_base58", "base58test", "base58"); diff --git a/test/recipes/05-test_serpent.t b/test/recipes/05-test_serpent.t deleted file mode 100644 index c1e46457..00000000 --- a/test/recipes/05-test_serpent.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_serpent", "serpenttest", "serpent"); diff --git a/test/recipes/05-test_speck.t b/test/recipes/05-test_speck.t deleted file mode 100644 index c35584bb..00000000 --- a/test/recipes/05-test_speck.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_speck", "specktest", "speck"); diff --git a/test/recipes/15-test_bb1ibe.t b/test/recipes/15-test_bb1ibe.t deleted file mode 100644 index 1e7c76d5..00000000 --- a/test/recipes/15-test_bb1ibe.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_bb1ibe", "bb1ibetest", "bb1ibe"); diff --git a/test/recipes/15-test_bfibe.t b/test/recipes/15-test_bfibe.t deleted file mode 100644 index 7f8f58f9..00000000 --- a/test/recipes/15-test_bfibe.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_bfibe", "bfibetest", "bfibe"); diff --git a/test/recipes/15-test_cpk.t b/test/recipes/15-test_cpk.t deleted file mode 100644 index 8ef242f4..00000000 --- a/test/recipes/15-test_cpk.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_cpk", "cpktest", "cpk"); diff --git a/test/recipes/15-test_ec2.t b/test/recipes/15-test_ec2.t deleted file mode 100644 index 9bb923a7..00000000 --- a/test/recipes/15-test_ec2.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_ec2", "ec2test", "ec2"); diff --git a/test/recipes/15-test_ecrs.t b/test/recipes/15-test_ecrs.t deleted file mode 100644 index bfa56b62..00000000 --- a/test/recipes/15-test_ecrs.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_ecrs", "ecrstest", "ecrs"); diff --git a/test/recipes/30-test_ffx.t b/test/recipes/30-test_ffx.t deleted file mode 100644 index c783d062..00000000 --- a/test/recipes/30-test_ffx.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_ffx", "ffxtest", "ffx"); diff --git a/test/recipes/30-test_saf.t b/test/recipes/30-test_saf.t deleted file mode 100644 index 2be82169..00000000 --- a/test/recipes/30-test_saf.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_saf", "saftest", "saf"); diff --git a/test/recipes/30-test_sof.t b/test/recipes/30-test_sof.t deleted file mode 100644 index 36d0c301..00000000 --- a/test/recipes/30-test_sof.t +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env perl -# 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 - - -use OpenSSL::Test::Simple; - -simple_test("test_sof", "softest", "sof"); diff --git a/test/saftest.c b/test/saftest.c deleted file mode 100644 index be707211..00000000 --- a/test/saftest.c +++ /dev/null @@ -1,203 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2016 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include -#include "../e_os.h" - -#ifdef OPENSSL_NO_SAF -int main(int argc, char **argv) -{ - printf("NO SAF support\n"); - return 0; -} -#else -# include -# include -# include -# include - -int test_saf_base64(int verbose) -{ - int ret = SAR_UnknownErr; - /* sizeof(buf1)%3 == 1 makes base64 ended with "==" */ - unsigned char buf1[121]; - unsigned char buf2[512]; - unsigned char buf3[512]; - unsigned int len1, len2, len3; - - /* generate some random binary for testing */ - RAND_bytes(buf1, sizeof(buf1)); - memset(buf2, 0, sizeof(buf2)); - memset(buf3, 0, sizeof(buf3)); - - len1 = (unsigned int)sizeof(buf1); - len2 = (unsigned int)sizeof(buf2); - if ((ret = SAF_Base64_Encode(buf1, len1, buf2, &len2)) != SAR_Ok) { - ERR_print_errors_fp(stderr); - goto end; - } - if (verbose) { - printf("%s\n", buf2); - } - - len3 = sizeof(buf3); - if ((ret = SAF_Base64_Decode(buf2, len2, buf3, &len3)) != SAR_Ok) { - ERR_print_errors_fp(stderr); - goto end; - } - - /* check correctness */ - if (len1 == len3 && memcmp(buf1, buf3, len1) == 0) { - ret = SAR_Ok; - } else { - /* make sure to assign `ret`, or it might be set as OK by - * previous functions */ - ret = SAR_UnknownErr; - } - -end: - if (verbose) { - printf("%s %s\n", __FUNCTION__, - ret == SAR_Ok ? "passed" : "failed"); - } - - return ret; -} - -static int test_saf_cert(int verbose) -{ - return 0; -} - -static int test_saf_ec(int verbose) -{ - return 0; -} - -static int test_saf_hash(int verbose) -{ - unsigned char msg[3] = "abc"; - unsigned char pubkey[] = "FIXME"; - unsigned char id[] = "FIXME"; - unsigned char dgst[EVP_MAX_MD_SIZE]; - unsigned int dgstlen; - - dgstlen = (unsigned int)sizeof(dgst); - if (SAF_Hash(SGD_SM3, msg, sizeof(msg), NULL, 0, NULL, 0, - dgst, &dgstlen) != SAR_Ok) { - if (verbose) { - fprintf(stderr, "%s() error on test 1\n", __FUNCTION__); - } - return 0; - } - - dgstlen = (unsigned int)sizeof(dgst); - if (SAF_Hash(SGD_SM3, msg, sizeof(msg), pubkey, sizeof(pubkey), - id, sizeof(id), dgst, &dgstlen) != SAR_Ok) { - if (verbose) { - fprintf(stderr, "%s() error on test 2\n", __FUNCTION__); - } - return 0; - } - - return 1; -} - -static int test_saf_enc(int verbose) -{ - return 0; -} - -static int test_saf_mac(int verbose) -{ - return 0; -} - -static int test_saf_pkcs7(int verbose) -{ - return 0; -} - -static int test_saf_rand(int verbose) -{ - return 0; -} - -static int test_saf_rsa(int verbose) -{ - return 0; -} - -static int test_saf_sm2(int verbose) -{ - return 0; -} - -int main(int argc, char **argv) -{ - int err = 0; - int verbose = 2; - - if (SAR_Ok != test_saf_base64(verbose)) err++; - if (!test_saf_cert(verbose)) err++; - if (!test_saf_ec(verbose)) err++; - if (!test_saf_enc(verbose)) err++; - if (!test_saf_hash(verbose)) err++; - if (!test_saf_mac(verbose)) err++; - if (!test_saf_pkcs7(verbose)) err++; - if (!test_saf_rand(verbose)) err++; - if (!test_saf_rsa(verbose)) err++; - if (!test_saf_sm2(verbose)) err++; - - //FIXME: return err; - return 0; -} -#endif diff --git a/test/serpenttest.c b/test/serpenttest.c deleted file mode 100755 index 6ae8ddad..00000000 --- a/test/serpenttest.c +++ /dev/null @@ -1,174 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - - - -/* ====================== -* test unit for serpent-256 -* Odzhan -*======================== -*/ - -#include -#include -#include -#include - -#include "../e_os.h" - -#ifdef OPENSSL_NO_SERPENT -int main(int argc, char **argv) -{ - printf("No Serpent support\n"); - return 0; -} -#else - -#include -#include - -char *plain[] = -{ "3DA46FFA6F4D6F30CD258333E5A61369" }; - -char *keys[] = -{ "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F" -}; - -char *cipher[] = -{ "00112233445566778899AABBCCDDEEFF" }; - -size_t hex2bin(void *bin, char hex[]) { - size_t len, i; - int x; - uint8_t *p = (uint8_t*)bin; - - len = strlen(hex); - - if ((len & 1) != 0) { - return 0; - } - - for (i = 0; i -#include -#include -#include "../e_os.h" - -#ifdef OPENSSL_NO_SOF -int main(int argc, char **argv) -{ - printf("NO SOF support\n"); - return 0; -} -#else -# include - -int main(int argc, char **argv) -{ - int err = 0; - return err; -} -#endif diff --git a/test/specktest.c b/test/specktest.c deleted file mode 100644 index d44d2ebb..00000000 --- a/test/specktest.c +++ /dev/null @@ -1,130 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2014 - 2017 The GmSSL 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 GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL 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 GmSSL 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. - * ==================================================================== - */ - -#include -#include -#include - -#include "../e_os.h" - -#ifdef OPENSSL_NO_SPECK -int main(int argc, char **argv) -{ - printf("No SPECK support\n"); - return 0; -} -#else -# include -# include -# include - -int main(int argc, char** argv) -{ - int sum = 0; - uint16_t key16[4] = { 0x0100, 0x0908, 0x1110, 0x1918 }; - uint16_t plain16[2] = { 0x694c, 0x6574 }; - uint16_t enc16[2] = { 0x42f2, 0xa868 }; - - uint32_t key32[4] = { 0x03020100, 0x0b0a0908, 0x13121110, 0x1b1a1918 }; - uint32_t plain32[2] = { 0x7475432d, 0x3b726574 }; - uint32_t enc32[2] = { 0x454e028b, 0x8c6fa548 }; - - uint64_t key64[4] = { 0x0706050403020100, 0x0f0e0d0c0b0a0908, 0x1716151413121110, 0x1f1e1d1c1b1a1918 }; - uint64_t plain64[2] = { 0x202e72656e6f6f70, 0x65736f6874206e49 }; - uint64_t enc64[2] = { 0x4eeeb48d9c188f43, 0x4109010405c0f53e }; - - uint16_t buffer[2] = { 0 }; - uint16_t exp[SPECK_ROUNDS16]; - - uint32_t exp32[SPECK_ROUNDS32]; - uint32_t buffer32[2] = { 0 }; - - uint64_t exp64[SPECK_ROUNDS64]; - uint64_t buffer64[2] = { 0 }; - - - speck_set_encrypt_key16(key16, exp); - speck_encrypt16(plain16, buffer, exp); - if (memcmp(buffer, enc16, sizeof(enc16))) { - fprintf(stderr, "%s %d: speck error\n", __FILE__, __LINE__); - sum++; - } - speck_decrypt16(enc16, buffer, exp); - if (memcmp(buffer, plain16, sizeof(enc16))) { - fprintf(stderr, "%s %d: speck error\n", __FILE__, __LINE__); - sum++; - } - - speck_set_encrypt_key32(key32, exp32); - speck_encrypt32(plain32, buffer32, exp32); - if (memcmp(buffer, enc32, sizeof(enc32))) { - fprintf(stderr, "%s %d: speck error\n", __FILE__, __LINE__); - sum++; - } - speck_decrypt32(enc32, buffer32, exp32); - if (memcmp(buffer32, plain32, sizeof(enc32))) { - fprintf(stderr, "%s %d: speck error\n", __FILE__, __LINE__); - sum++; - } - - speck_set_encrypt_key64(key64, exp64); - speck_encrypt64(plain64, buffer64, exp64); - if (memcmp(buffer64, enc64, sizeof(enc64))) { - fprintf(stderr, "%s %d: speck error\n", __FILE__, __LINE__); - sum++; - } - speck_decrypt64(enc64, buffer64, exp64); - if (memcmp(buffer64, plain64, sizeof(enc64))) { - fprintf(stderr, "%s %d: speck error\n", __FILE__, __LINE__); - sum++; - } - - return sum; -} -#endif diff --git a/util/libcrypto.num b/util/libcrypto.num index bcc83ff3..efda4ff7 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -1,5050 +1,4715 @@ -BB1IBE_setup 1 1_1_0d EXIST::FUNCTION:BB1IBE -CRYPTO_ocb128_init 2 1_1_0d EXIST::FUNCTION:OCB -EVP_rc4_hmac_md5 3 1_1_0d EXIST::FUNCTION:MD5,RC4 -SKF_ExtECCVerify 4 1_1_0d EXIST::FUNCTION:SKF -d2i_ECCSignature 5 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -X509_VERIFY_PARAM_set1_policies 6 1_1_0d EXIST::FUNCTION: -EVP_PKEY_set_type 7 1_1_0d EXIST::FUNCTION: -PKCS7_get_attribute 8 1_1_0d EXIST::FUNCTION: -SOF_ChangePassWd 9 1_1_0d EXIST::FUNCTION: -FpPoint_it 10 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -FpPoint_it 10 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SMIME_text 11 1_1_0d EXIST::FUNCTION: -BIO_set_flags 12 1_1_0d EXIST::FUNCTION: -ASN1_BMPSTRING_it 13 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_BMPSTRING_it 13 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BN_CTX_secure_new 14 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_dup 15 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_get_verify 16 1_1_0d EXIST::FUNCTION:EC -CMS_add0_cert 17 1_1_0d EXIST::FUNCTION:CMS -sms4_set_encrypt_key 18 1_1_0d EXIST::FUNCTION:SMS4 -d2i_PrivateKey_bio 19 1_1_0d EXIST::FUNCTION: -EVP_PKEY_up_ref 20 1_1_0d EXIST::FUNCTION: -UI_dup_verify_string 21 1_1_0d EXIST::FUNCTION:UI -PKCS7_set_type 22 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_new 23 1_1_0d EXIST::FUNCTION: -SAF_Pkcs7_DecodeSignedData 24 1_1_0d EXIST::FUNCTION: -EVP_PKEY_set1_SM9_MASTER 25 1_1_0d EXIST::FUNCTION:SM9 -i2d_ASN1_UNIVERSALSTRING 26 1_1_0d EXIST::FUNCTION: -ENGINE_register_RSA 27 1_1_0d EXIST::FUNCTION:ENGINE -TS_REQ_get_ext_count 28 1_1_0d EXIST::FUNCTION:TS -X509_STORE_CTX_set0_crls 29 1_1_0d EXIST::FUNCTION: -X509_policy_node_get0_parent 30 1_1_0d EXIST::FUNCTION: -ERR_load_SOF_strings 31 1_1_0d EXIST::FUNCTION:SOF -BN_get_rfc3526_prime_8192 32 1_1_0d EXIST::FUNCTION: -SKF_DeleteContainer 33 1_1_0d EXIST::FUNCTION:SKF -TS_RESP_CTX_set_signer_digest 34 1_1_0d EXIST::FUNCTION:TS -DH_meth_get_finish 35 1_1_0d EXIST::FUNCTION:DH -BN_GENCB_set_old 36 1_1_0d EXIST::FUNCTION: -ENGINE_register_all_digests 37 1_1_0d EXIST::FUNCTION:ENGINE -BFMasterSecret_it 38 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BFIBE -BFMasterSecret_it 38 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BFIBE -X509_CINF_free 39 1_1_0d EXIST::FUNCTION: -ASN1_UTF8STRING_free 40 1_1_0d EXIST::FUNCTION: -RSA_meth_free 41 1_1_0d EXIST::FUNCTION:RSA -OCSP_resp_find 42 1_1_0d EXIST::FUNCTION:OCSP -X509_NAME_add_entry_by_NID 43 1_1_0d EXIST::FUNCTION: -SKF_LoadLibrary 44 1_1_0d EXIST::FUNCTION:SKF -BIO_gethostbyname 45 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK -SKF_PrintRSAPublicKey 46 1_1_0d EXIST::FUNCTION:SKF -NCONF_new 47 1_1_0d EXIST::FUNCTION: -SOF_GetErrorString 48 1_1_0d EXIST::FUNCTION:SOF -ASN1_item_sign 49 1_1_0d EXIST::FUNCTION: -BN_mod_exp_recp 50 1_1_0d EXIST::FUNCTION: -ERR_unload_strings 51 1_1_0d EXIST::FUNCTION: -i2d_SM9PublicParameters 52 1_1_0d EXIST::FUNCTION:SM9 -OCSP_RESPID_match 53 1_1_0d EXIST::FUNCTION:OCSP -OCSP_REQUEST_get_ext_by_NID 54 1_1_0d EXIST::FUNCTION:OCSP -OCSP_SERVICELOC_it 55 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_SERVICELOC_it 55 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -EVP_ENCODE_CTX_copy 56 1_1_0d EXIST::FUNCTION: -d2i_TS_MSG_IMPRINT 57 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_verify_recover_init 58 1_1_0d EXIST::FUNCTION: -i2s_ASN1_INTEGER 59 1_1_0d EXIST::FUNCTION: -d2i_DSA_PUBKEY_fp 60 1_1_0d EXIST::FUNCTION:DSA,STDIO -RSA_set_method 61 1_1_0d EXIST::FUNCTION:RSA -OPENSSL_sk_delete_ptr 62 1_1_0d EXIST::FUNCTION: -SHA512_Final 63 1_1_0d EXIST:!VMSVAX:FUNCTION: -PEM_read_bio_X509_REQ 64 1_1_0d EXIST::FUNCTION: -CRYPTO_nistcts128_decrypt_block 65 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_inherit 66 1_1_0d EXIST::FUNCTION: -EVP_des_ede_ecb 67 1_1_0d EXIST::FUNCTION:DES -SDF_GenerateRandom 68 1_1_0d EXIST::FUNCTION: -TS_VERIFY_CTX_init 69 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_CTX_get_operation 70 1_1_0d EXIST::FUNCTION: -EVP_DecodeFinal 71 1_1_0d EXIST::FUNCTION: -PEM_write 72 1_1_0d EXIST::FUNCTION:STDIO -ASN1_INTEGER_set_int64 73 1_1_0d EXIST::FUNCTION: -X509_REQ_set_extension_nids 74 1_1_0d EXIST::FUNCTION: -i2d_SM9PrivateKey_bio 75 1_1_0d EXIST::FUNCTION:SM9 -i2d_X509_CERT_AUX 76 1_1_0d EXIST::FUNCTION: -X509_TRUST_set 77 1_1_0d EXIST::FUNCTION: -EC_POINT_point2buf 78 1_1_0d EXIST::FUNCTION:EC -d2i_ECCCIPHERBLOB 79 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -PKCS5_v2_PBE_keyivgen 80 1_1_0d EXIST::FUNCTION: -IDEA_set_encrypt_key 81 1_1_0d EXIST::FUNCTION:IDEA -SHA1 82 1_1_0d EXIST::FUNCTION: -OCSP_response_get1_basic 83 1_1_0d EXIST::FUNCTION:OCSP -BN_generate_prime 84 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 -Camellia_decrypt 85 1_1_0d EXIST::FUNCTION:CAMELLIA -BN_nist_mod_256 86 1_1_0d EXIST::FUNCTION: -SAF_SM2_EncodeSignedData 87 1_1_0d EXIST::FUNCTION: -PROXY_POLICY_it 88 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PROXY_POLICY_it 88 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_get1_email 89 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_create0_pkcs8 90 1_1_0d EXIST::FUNCTION: -SM2_KAP_prepare 91 1_1_0d EXIST::FUNCTION:SM2 -DSA_meth_get0_name 92 1_1_0d EXIST::FUNCTION:DSA -SDF_GenerateKeyWithEPK_RSA 93 1_1_0d EXIST::FUNCTION: -ENGINE_register_all_pkey_asn1_meths 94 1_1_0d EXIST::FUNCTION:ENGINE -MD5 95 1_1_0d EXIST::FUNCTION:MD5 -speck_encrypt64 96 1_1_0d EXIST::FUNCTION:SPECK -EVP_idea_ecb 97 1_1_0d EXIST::FUNCTION:IDEA -RSA_padding_add_PKCS1_type_2 98 1_1_0d EXIST::FUNCTION:RSA -EVP_CIPHER_block_size 99 1_1_0d EXIST::FUNCTION: -BIO_meth_set_write 100 1_1_0d EXIST::FUNCTION: -TS_RESP_new 101 1_1_0d EXIST::FUNCTION:TS -i2d_OCSP_CRLID 102 1_1_0d EXIST::FUNCTION:OCSP -EVP_seed_ofb 103 1_1_0d EXIST::FUNCTION:SEED -SKF_ExportCertificate 104 1_1_0d EXIST::FUNCTION:SKF -EVP_aes_256_ecb 105 1_1_0d EXIST::FUNCTION: -BIO_s_file 106 1_1_0d EXIST::FUNCTION: -EC_GFp_simple_method 107 1_1_0d EXIST::FUNCTION:EC -EC_KEY_set_default_sm_method 108 1_1_0d EXIST::FUNCTION:SM2 -X509_get0_reject_objects 109 1_1_0d EXIST::FUNCTION: -SKF_GetErrorString 110 1_1_0d EXIST::FUNCTION:SKF -EC_POINT_set_to_infinity 111 1_1_0d EXIST::FUNCTION:EC -o2i_SCT_LIST 112 1_1_0d EXIST::FUNCTION:CT -sm3_hmac_init 113 1_1_0d EXIST::FUNCTION:SM3 -CBIGNUM_it 114 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -CBIGNUM_it 114 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_ESS_CERT_ID 115 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_meth_get0_info 116 1_1_0d EXIST::FUNCTION: -X509v3_addr_add_range 117 1_1_0d EXIST::FUNCTION:RFC3779 -BIO_free_all 118 1_1_0d EXIST::FUNCTION: -EVP_DecryptInit 119 1_1_0d EXIST::FUNCTION: -EC_GROUP_new_curve_GF2m 120 1_1_0d EXIST::FUNCTION:EC,EC2M -BIO_get_host_ip 121 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK -EC_POINT_set_compressed_coordinates_GF2m 122 1_1_0d EXIST::FUNCTION:EC,EC2M -d2i_X509_REQ 123 1_1_0d EXIST::FUNCTION: -sm3_hmac_update 124 1_1_0d EXIST::FUNCTION:SM3 -PKEY_USAGE_PERIOD_free 125 1_1_0d EXIST::FUNCTION: -CMS_verify 126 1_1_0d EXIST::FUNCTION:CMS -i2d_PublicKey 127 1_1_0d EXIST::FUNCTION: -PKCS7_get0_signers 128 1_1_0d EXIST::FUNCTION: -X509V3_NAME_from_section 129 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_get_time 130 1_1_0d EXIST::FUNCTION: -X509_STORE_set_get_issuer 131 1_1_0d EXIST::FUNCTION: -PKCS5_PBKDF2_HMAC_SHA1 132 1_1_0d EXIST::FUNCTION:SHA -TS_RESP_dup 133 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_get1_RSA 134 1_1_0d EXIST::FUNCTION:RSA -OPENSSL_sk_new_null 135 1_1_0d EXIST::FUNCTION: -PKCS12_BAGS_new 136 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_get_init 137 1_1_0d EXIST::FUNCTION:EC -RSA_OAEP_PARAMS_new 138 1_1_0d EXIST::FUNCTION:RSA -EC_GROUP_get0_order 139 1_1_0d EXIST::FUNCTION:EC -EXTENDED_KEY_USAGE_new 140 1_1_0d EXIST::FUNCTION: -SKF_MacUpdate 141 1_1_0d EXIST::FUNCTION:SKF -ERR_load_SM9_strings 142 1_1_0d EXIST::FUNCTION:SM9 -BF_ecb_encrypt 143 1_1_0d EXIST::FUNCTION:BF -BIO_ADDR_new 144 1_1_0d EXIST::FUNCTION:SOCK -d2i_PKCS8PrivateKey_fp 145 1_1_0d EXIST::FUNCTION:STDIO -d2i_PBEPARAM 146 1_1_0d EXIST::FUNCTION: -ASN1_UTF8STRING_it 147 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_UTF8STRING_it 147 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -DSA_new 148 1_1_0d EXIST::FUNCTION:DSA -BN_sub 149 1_1_0d EXIST::FUNCTION: -PEM_read_bio_PKCS8_PRIV_KEY_INFO 150 1_1_0d EXIST::FUNCTION: -BN_sub_word 151 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set_verify_cb 152 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get0_current_crl 153 1_1_0d EXIST::FUNCTION: -CRYPTO_set_ex_data 154 1_1_0d EXIST::FUNCTION: -EC_KEY_get0_public_key 155 1_1_0d EXIST::FUNCTION:EC -PKCS8_PRIV_KEY_INFO_free 156 1_1_0d EXIST::FUNCTION: -CMS_SharedInfo_encode 157 1_1_0d EXIST::FUNCTION:CMS -ASN1_item_i2d_bio 158 1_1_0d EXIST::FUNCTION: -TS_RESP_get_tst_info 159 1_1_0d EXIST::FUNCTION:TS -X509_NAME_add_entry_by_txt 160 1_1_0d EXIST::FUNCTION: -d2i_DIST_POINT_NAME 161 1_1_0d EXIST::FUNCTION: -OBJ_NAME_get 162 1_1_0d EXIST::FUNCTION: -SDF_GetErrorString 163 1_1_0d EXIST::FUNCTION:SDF -EVP_PKEY_meth_find 164 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_encrypt 165 1_1_0d EXIST::FUNCTION:CMS -CT_POLICY_EVAL_CTX_set_time 166 1_1_0d EXIST::FUNCTION:CT -TS_TST_INFO_set_nonce 167 1_1_0d EXIST::FUNCTION:TS -EVP_MD_block_size 168 1_1_0d EXIST::FUNCTION: -BIO_accept_ex 169 1_1_0d EXIST::FUNCTION:SOCK -RC5_32_cfb64_encrypt 170 1_1_0d EXIST::FUNCTION:RC5 -X509v3_addr_get_range 171 1_1_0d EXIST::FUNCTION:RFC3779 -ASN1_STRING_dup 172 1_1_0d EXIST::FUNCTION: -Camellia_ecb_encrypt 173 1_1_0d EXIST::FUNCTION:CAMELLIA -BIO_get_retry_reason 174 1_1_0d EXIST::FUNCTION: -DSA_meth_get_sign_setup 175 1_1_0d EXIST::FUNCTION:DSA -RSA_set0_crt_params 176 1_1_0d EXIST::FUNCTION:RSA -SKF_ExportPublicKey 177 1_1_0d EXIST::FUNCTION:SKF -X509_STORE_CTX_set_error 178 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_check_revocation 179 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_set_data 180 1_1_0d EXIST::FUNCTION: -X509V3_EXT_cleanup 181 1_1_0d EXIST::FUNCTION: -SCT_set_signature_nid 182 1_1_0d EXIST::FUNCTION:CT -i2d_USERNOTICE 183 1_1_0d EXIST::FUNCTION: -X509at_get_attr_by_OBJ 184 1_1_0d EXIST::FUNCTION: -d2i_RSAPublicKey_fp 185 1_1_0d EXIST::FUNCTION:RSA,STDIO -OPENSSL_sk_deep_copy 186 1_1_0d EXIST::FUNCTION: -SDF_ExchangeDigitEnvelopeBaseOnRSA 187 1_1_0d EXIST::FUNCTION: -X509_supported_extension 188 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_encrypt 189 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_verify 190 1_1_0d EXIST::FUNCTION: -PKCS7_get_signer_info 191 1_1_0d EXIST::FUNCTION: -X509V3_EXT_print_fp 192 1_1_0d EXIST::FUNCTION:STDIO -i2d_PKCS8PrivateKey_nid_bio 193 1_1_0d EXIST::FUNCTION: -SM2_cosigner2_generate_proof 194 1_1_0d EXIST::FUNCTION:SM2 -MDC2_Update 195 1_1_0d EXIST::FUNCTION:MDC2 -EC_POINT_mul 196 1_1_0d EXIST::FUNCTION:EC -CMS_ReceiptRequest_free 197 1_1_0d EXIST::FUNCTION:CMS -RSA_blinding_on 198 1_1_0d EXIST::FUNCTION:RSA -OPENSSL_LH_stats 199 1_1_0d EXIST::FUNCTION:STDIO -DH_set_flags 200 1_1_0d EXIST::FUNCTION:DH -UI_get0_result_string 201 1_1_0d EXIST::FUNCTION:UI -BN_GF2m_mod_div_arr 202 1_1_0d EXIST::FUNCTION:EC2M -BN_BLINDING_convert_ex 203 1_1_0d EXIST::FUNCTION: -i2d_BFPublicParameters 204 1_1_0d EXIST::FUNCTION:BFIBE -X509_STORE_CTX_get_num_untrusted 205 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get0_asn1 206 1_1_0d EXIST::FUNCTION: -ASN1_VISIBLESTRING_it 207 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_VISIBLESTRING_it 207 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_PKCS12_fp 208 1_1_0d EXIST::FUNCTION:STDIO -CONF_free 209 1_1_0d EXIST::FUNCTION: -X509_CRL_sign_ctx 210 1_1_0d EXIST::FUNCTION: -BN_GFP2_set_bn 211 1_1_0d EXIST::FUNCTION: -i2d_SCT_LIST 212 1_1_0d EXIST::FUNCTION:CT -EVP_enc_null 213 1_1_0d EXIST::FUNCTION: -BF_cfb64_encrypt 214 1_1_0d EXIST::FUNCTION:BF -PKCS7_ENCRYPT_new 215 1_1_0d EXIST::FUNCTION: -EVP_des_ede3 216 1_1_0d EXIST::FUNCTION:DES -MD4_Update 217 1_1_0d EXIST::FUNCTION:MD4 -SAF_EnumKeyContainerInfoFree 218 1_1_0d EXIST::FUNCTION: -DH_compute_key 219 1_1_0d EXIST::FUNCTION:DH -OCSP_REVOKEDINFO_free 220 1_1_0d EXIST::FUNCTION:OCSP -BF_decrypt 221 1_1_0d EXIST::FUNCTION:BF -X509_STORE_get_check_crl 222 1_1_0d EXIST::FUNCTION: -BIO_f_zlib 223 1_1_0d EXIST:ZLIB:FUNCTION:COMP -SKF_GenECCKeyPair 224 1_1_0d EXIST::FUNCTION:SKF -BIO_ctrl_reset_read_request 225 1_1_0d EXIST::FUNCTION: -OCSP_resp_get0_produced_at 226 1_1_0d EXIST::FUNCTION:OCSP -TS_VERIFY_CTX_set_flags 227 1_1_0d EXIST::FUNCTION:TS -i2s_ASN1_OCTET_STRING 228 1_1_0d EXIST::FUNCTION: -X509V3_add_value_uchar 229 1_1_0d EXIST::FUNCTION: -RSA_meth_get_finish 230 1_1_0d EXIST::FUNCTION:RSA -d2i_SM2CiphertextValue_bio 231 1_1_0d EXIST::FUNCTION:SM2 -UI_dup_error_string 232 1_1_0d EXIST::FUNCTION:UI -Camellia_encrypt 233 1_1_0d EXIST::FUNCTION:CAMELLIA -ERR_load_CMS_strings 234 1_1_0d EXIST::FUNCTION:CMS -SKF_GenRSAKeyPair 235 1_1_0d EXIST::FUNCTION:SKF -COMP_zlib 236 1_1_0d EXIST::FUNCTION:COMP -OBJ_nid2sn 237 1_1_0d EXIST::FUNCTION: -X509_STORE_set_lookup_certs 238 1_1_0d EXIST::FUNCTION: -EC_POINT_method_of 239 1_1_0d EXIST::FUNCTION:EC -ASN1_INTEGER_cmp 240 1_1_0d EXIST::FUNCTION: -SDF_PrintECCSignature 241 1_1_0d EXIST::FUNCTION:SDF -i2d_PKCS7_SIGN_ENVELOPE 242 1_1_0d EXIST::FUNCTION: -PEM_read 243 1_1_0d EXIST::FUNCTION:STDIO -SMIME_write_CMS 244 1_1_0d EXIST::FUNCTION:CMS -i2d_ASRange 245 1_1_0d EXIST::FUNCTION:RFC3779 -X509_STORE_set_depth 246 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_kari_get0_reks 247 1_1_0d EXIST::FUNCTION:CMS -X509_REQ_print_ex 248 1_1_0d EXIST::FUNCTION: -i2d_PaillierPrivateKey 249 1_1_0d EXIST::FUNCTION:PAILLIER -i2d_ASN1_ENUMERATED 250 1_1_0d EXIST::FUNCTION: -PEM_write_EC_PUBKEY 251 1_1_0d EXIST::FUNCTION:EC,STDIO -SOF_ValidateCert 252 1_1_0d EXIST::FUNCTION: -EVP_PKEY_new 253 1_1_0d EXIST::FUNCTION: -CRYPTO_zalloc 254 1_1_0d EXIST::FUNCTION: -EVP_sm9hash2_sm3 255 1_1_0d EXIST::FUNCTION:SM3,SM9 -EVP_PKEY_derive_set_peer 256 1_1_0d EXIST::FUNCTION: -EC_GROUP_have_precompute_mult 257 1_1_0d EXIST::FUNCTION:EC -CRYPTO_gcm128_tag 258 1_1_0d EXIST::FUNCTION: -X509_CRL_up_ref 259 1_1_0d EXIST::FUNCTION: -i2d_OCSP_BASICRESP 260 1_1_0d EXIST::FUNCTION:OCSP -CMS_decrypt 261 1_1_0d EXIST::FUNCTION:CMS -EC_KEY_METHOD_get_encrypt 262 1_1_0d EXIST::FUNCTION:SM2 -ECDSA_SIG_new 263 1_1_0d EXIST::FUNCTION:EC -PEM_write_bio_RSAPublicKey 264 1_1_0d EXIST::FUNCTION:RSA -CRYPTO_secure_allocated 265 1_1_0d EXIST::FUNCTION: -SAF_Base64_DestroyBase64Obj 266 1_1_0d EXIST::FUNCTION: -X509_REQ_verify 267 1_1_0d EXIST::FUNCTION: -SKF_ExtECCEncrypt 268 1_1_0d EXIST::FUNCTION:SKF -BN_GF2m_mod_mul_arr 269 1_1_0d EXIST::FUNCTION:EC2M -NCONF_get_section 270 1_1_0d EXIST::FUNCTION: -SKF_ExtECCDecrypt 271 1_1_0d EXIST::FUNCTION:SKF -OPENSSL_uni2utf8 272 1_1_0d EXIST::FUNCTION: -DES_pcbc_encrypt 273 1_1_0d EXIST::FUNCTION:DES -SAF_MacFinal 274 1_1_0d EXIST::FUNCTION: -i2d_PrivateKey_bio 275 1_1_0d EXIST::FUNCTION: -OPENSSL_issetugid 276 1_1_0d EXIST::FUNCTION: -EC_KEY_precompute_mult 277 1_1_0d EXIST::FUNCTION:EC -SAF_Mac 278 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_get_cleanup 279 1_1_0d EXIST::FUNCTION: -EVP_aes_256_ofb 280 1_1_0d EXIST::FUNCTION: -CT_POLICY_EVAL_CTX_set1_cert 281 1_1_0d EXIST::FUNCTION:CT -PKCS7_get_smimecap 282 1_1_0d EXIST::FUNCTION: -BN_is_one 283 1_1_0d EXIST::FUNCTION: -MD5_Update 284 1_1_0d EXIST::FUNCTION:MD5 -PKCS5_PBKDF2_HMAC 285 1_1_0d EXIST::FUNCTION: -CTLOG_STORE_free 286 1_1_0d EXIST::FUNCTION:CT -DSA_meth_set_keygen 287 1_1_0d EXIST::FUNCTION:DSA -X509_CINF_new 288 1_1_0d EXIST::FUNCTION: -X509v3_asid_add_id_or_range 289 1_1_0d EXIST::FUNCTION:RFC3779 -DH_meth_set_compute_key 290 1_1_0d EXIST::FUNCTION:DH -BN_get0_nist_prime_224 291 1_1_0d EXIST::FUNCTION: -EC_GROUP_set_curve_GFp 292 1_1_0d EXIST::FUNCTION:EC -ERR_load_ECRS_strings 293 1_1_0d EXIST::FUNCTION:ECRS -PKCS12_unpack_p7data 294 1_1_0d EXIST::FUNCTION: -EC_POINT_hex2point 295 1_1_0d EXIST::FUNCTION:EC -i2d_BFPrivateKeyBlock 296 1_1_0d EXIST::FUNCTION:BFIBE -EC_KEY_priv2oct 297 1_1_0d EXIST::FUNCTION:EC -RSA_set_RSArefPublicKey 298 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF -X509_get0_subject_key_id 299 1_1_0d EXIST::FUNCTION: -d2i_TS_TST_INFO_bio 300 1_1_0d EXIST::FUNCTION:TS -CPK_MASTER_SECRET_extract_private_key 301 1_1_0d EXIST::FUNCTION:CPK -PEM_read_bio_DSAparams 302 1_1_0d EXIST::FUNCTION:DSA -CTLOG_STORE_new 303 1_1_0d EXIST::FUNCTION:CT -X509_STORE_add_lookup 304 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_create_cert 305 1_1_0d EXIST::FUNCTION: -EVP_PKEY_decrypt_old 306 1_1_0d EXIST::FUNCTION: -SCT_validation_status_string 307 1_1_0d EXIST::FUNCTION:CT -ERR_load_GMAPI_strings 308 1_1_0d EXIST::FUNCTION:GMAPI -SM2_encrypt 309 1_1_0d EXIST::FUNCTION:SM2 -d2i_ASN1_OCTET_STRING 310 1_1_0d EXIST::FUNCTION: -UI_new 311 1_1_0d EXIST::FUNCTION:UI -BIO_dump 312 1_1_0d EXIST::FUNCTION: -ENGINE_load_private_key 313 1_1_0d EXIST::FUNCTION:ENGINE -RSAPublicKey_dup 314 1_1_0d EXIST::FUNCTION:RSA -EVP_PKEY_asn1_set_public 315 1_1_0d EXIST::FUNCTION: -RIPEMD160_Init 316 1_1_0d EXIST::FUNCTION:RMD160 -BN_to_ASN1_ENUMERATED 317 1_1_0d EXIST::FUNCTION: -OPENSSL_utf82uni 318 1_1_0d EXIST::FUNCTION: -PEM_read_bio_Parameters 319 1_1_0d EXIST::FUNCTION: -X509V3_set_nconf 320 1_1_0d EXIST::FUNCTION: -X509_NAME_get0_der 321 1_1_0d EXIST::FUNCTION: -EVP_camellia_256_ctr 322 1_1_0d EXIST::FUNCTION:CAMELLIA -i2o_SCT_LIST 323 1_1_0d EXIST::FUNCTION:CT -PKCS7_digest_from_attributes 324 1_1_0d EXIST::FUNCTION: -OCSP_id_get0_info 325 1_1_0d EXIST::FUNCTION:OCSP -ASN1_STRING_get0_data 326 1_1_0d EXIST::FUNCTION: -SOF_GetLastError 327 1_1_0d EXIST::FUNCTION: -ENGINE_set_pkey_asn1_meths 328 1_1_0d EXIST::FUNCTION:ENGINE -d2i_TS_REQ_fp 329 1_1_0d EXIST::FUNCTION:STDIO,TS -EVP_PKEY_id 330 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_add1_host 331 1_1_0d EXIST::FUNCTION: -SXNET_get_id_INTEGER 332 1_1_0d EXIST::FUNCTION: -CMAC_CTX_get0_cipher_ctx 333 1_1_0d EXIST::FUNCTION:CMAC -POLICY_MAPPING_new 334 1_1_0d EXIST::FUNCTION: -CONF_get_number 335 1_1_0d EXIST::FUNCTION: -X509_ALGORS_it 336 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_ALGORS_it 336 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SDF_ImportKeyWithKEK 337 1_1_0d EXIST::FUNCTION: -CMS_ContentInfo_it 338 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMS -CMS_ContentInfo_it 338 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMS -SHA384 339 1_1_0d EXIST:!VMSVAX:FUNCTION: -TS_VERIFY_CTX_new 340 1_1_0d EXIST::FUNCTION:TS -EVP_MD_meth_get_input_blocksize 341 1_1_0d EXIST::FUNCTION: -PKCS7_cert_from_signer_info 342 1_1_0d EXIST::FUNCTION: -X509V3_add_value_bool_nf 343 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_new 344 1_1_0d EXIST::FUNCTION: -EVP_bf_ecb 345 1_1_0d EXIST::FUNCTION:BF -TS_VERIFY_CTS_set_certs 346 1_1_0d EXIST::FUNCTION:TS -PKCS12_BAGS_free 347 1_1_0d EXIST::FUNCTION: -OCSP_RESPDATA_it 348 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_RESPDATA_it 348 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -ASN1_STRING_set0 349 1_1_0d EXIST::FUNCTION: -X509_STORE_get_check_policy 350 1_1_0d EXIST::FUNCTION: -DES_fcrypt 351 1_1_0d EXIST::FUNCTION:DES -EVP_read_pw_string_min 352 1_1_0d EXIST::FUNCTION:UI -PKCS12_SAFEBAG_create0_p8inf 353 1_1_0d EXIST::FUNCTION: -PKCS5_pbkdf2_set 354 1_1_0d EXIST::FUNCTION: -SOF_VerifySignedDataXML 355 1_1_0d EXIST::FUNCTION: -PKCS7_ISSUER_AND_SERIAL_digest 356 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_get0_pkcs8 357 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_get_init 358 1_1_0d EXIST::FUNCTION: -SKF_LockDev 359 1_1_0d EXIST::FUNCTION:SKF -i2d_ECIESParameters 360 1_1_0d EXIST::FUNCTION:ECIES -BN_mul_word 361 1_1_0d EXIST::FUNCTION: -X509v3_get_ext_by_OBJ 362 1_1_0d EXIST::FUNCTION: -ECRS_do_sign 363 1_1_0d EXIST::FUNCTION:ECRS -i2d_ASN1_VISIBLESTRING 364 1_1_0d EXIST::FUNCTION: -CMS_unsigned_get0_data_by_OBJ 365 1_1_0d EXIST::FUNCTION:CMS -ASN1_check_infinite_end 366 1_1_0d EXIST::FUNCTION: -PEM_write_bio_PUBKEY 367 1_1_0d EXIST::FUNCTION: -BN_BLINDING_free 368 1_1_0d EXIST::FUNCTION: -DSA_get0_pqg 369 1_1_0d EXIST::FUNCTION:DSA -OCSP_request_add1_cert 370 1_1_0d EXIST::FUNCTION:OCSP -CPK_PUBLIC_PARAMS_new 371 1_1_0d EXIST::FUNCTION:CPK -i2d_OCSP_CERTSTATUS 372 1_1_0d EXIST::FUNCTION:OCSP -TS_CONF_set_accuracy 373 1_1_0d EXIST::FUNCTION:TS -OCSP_REQ_CTX_new 374 1_1_0d EXIST::FUNCTION:OCSP -X509_check_issued 375 1_1_0d EXIST::FUNCTION: -EVP_aes_192_ofb 376 1_1_0d EXIST::FUNCTION: -i2d_OCSP_REQUEST 377 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_set1_SM9 378 1_1_0d EXIST::FUNCTION:SM9 -TS_STATUS_INFO_dup 379 1_1_0d EXIST::FUNCTION:TS -PAILLIER_up_ref 380 1_1_0d EXIST::FUNCTION:PAILLIER -PEM_read_PaillierPublicKey 381 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO -OBJ_ln2nid 382 1_1_0d EXIST::FUNCTION: -OCSP_RESPONSE_free 383 1_1_0d EXIST::FUNCTION:OCSP -RSA_meth_new 384 1_1_0d EXIST::FUNCTION:RSA -EVP_MD_meth_get_ctrl 385 1_1_0d EXIST::FUNCTION: -SOF_GetCertInfo 386 1_1_0d EXIST::FUNCTION: -OPENSSL_LH_node_usage_stats_bio 387 1_1_0d EXIST::FUNCTION: -X509_CRL_set_meth_data 388 1_1_0d EXIST::FUNCTION: -TS_ACCURACY_get_micros 389 1_1_0d EXIST::FUNCTION:TS -CMS_SignerInfo_sign 390 1_1_0d EXIST::FUNCTION:CMS -ASN1_TIME_set_string 391 1_1_0d EXIST::FUNCTION: -d2i_TS_MSG_IMPRINT_fp 392 1_1_0d EXIST::FUNCTION:STDIO,TS -OCSP_ONEREQ_get_ext_by_OBJ 393 1_1_0d EXIST::FUNCTION:OCSP -EVP_CIPHER_CTX_test_flags 394 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_pop_free 395 1_1_0d EXIST::FUNCTION: -TS_REQ_add_ext 396 1_1_0d EXIST::FUNCTION:TS -EVP_set_pw_prompt 397 1_1_0d EXIST::FUNCTION:UI -ASYNC_WAIT_CTX_get_changed_fds 398 1_1_0d EXIST::FUNCTION: -ASN1_OBJECT_create 399 1_1_0d EXIST::FUNCTION: -ENGINE_set_default 400 1_1_0d EXIST::FUNCTION:ENGINE -SM2_KAP_compute_key 401 1_1_0d EXIST::FUNCTION:SM2 -SXNETID_free 402 1_1_0d EXIST::FUNCTION: -X509_REQ_get_subject_name 403 1_1_0d EXIST::FUNCTION: -BN_lshift1 404 1_1_0d EXIST::FUNCTION: -PEM_read_bio_PKCS7 405 1_1_0d EXIST::FUNCTION: -SOF_GetXMLSignatureInfo 406 1_1_0d EXIST::FUNCTION: -DH_meth_get_generate_params 407 1_1_0d EXIST::FUNCTION:DH -ERR_load_X509V3_strings 408 1_1_0d EXIST::FUNCTION: -BIO_meth_get_gets 409 1_1_0d EXIST::FUNCTION: -SKF_OpenApplication 410 1_1_0d EXIST::FUNCTION:SKF -d2i_PKCS7_SIGN_ENVELOPE 411 1_1_0d EXIST::FUNCTION: -SHA1_Transform 412 1_1_0d EXIST::FUNCTION: -PROXY_POLICY_new 413 1_1_0d EXIST::FUNCTION: -d2i_SM9_MASTER_PUBKEY 414 1_1_0d EXIST::FUNCTION:SM9 -SKF_EncryptFinal 415 1_1_0d EXIST::FUNCTION:SKF -X509_set_issuer_name 416 1_1_0d EXIST::FUNCTION: -RAND_poll 417 1_1_0d EXIST::FUNCTION: -SRP_Calc_A 418 1_1_0d EXIST::FUNCTION:SRP -ASN1_PCTX_get_flags 419 1_1_0d EXIST::FUNCTION: -CRYPTO_secure_used 420 1_1_0d EXIST::FUNCTION: -OBJ_dup 421 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_add0 422 1_1_0d EXIST::FUNCTION: -SKF_ImportRSAKeyPair 423 1_1_0d EXIST::FUNCTION:SKF -EVP_PKEY_security_bits 424 1_1_0d EXIST::FUNCTION: -ASN1_INTEGER_free 425 1_1_0d EXIST::FUNCTION: -CRYPTO_secure_actual_size 426 1_1_0d EXIST::FUNCTION: -CMS_get0_eContentType 427 1_1_0d EXIST::FUNCTION:CMS -ECPARAMETERS_it 428 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:EC -ECPARAMETERS_it 428 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:EC -PKCS8_pkey_get0_attrs 429 1_1_0d EXIST::FUNCTION: -EVP_PKEY_copy_parameters 430 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_add0_policy 431 1_1_0d EXIST::FUNCTION: -CMAC_CTX_new 432 1_1_0d EXIST::FUNCTION:CMAC -WHIRLPOOL 433 1_1_0d EXIST::FUNCTION:WHIRLPOOL -X509_PURPOSE_get_by_id 434 1_1_0d EXIST::FUNCTION: -ESS_ISSUER_SERIAL_new 435 1_1_0d EXIST::FUNCTION:TS -BIO_gets 436 1_1_0d EXIST::FUNCTION: -d2i_SM2_COSIGNER1_SHARE 437 1_1_0d EXIST::FUNCTION:SM2 -X509_CRL_get0_lastUpdate 438 1_1_0d EXIST::FUNCTION: -PKCS7_SIGN_ENVELOPE_new 439 1_1_0d EXIST::FUNCTION: -CONF_imodule_get_usr_data 440 1_1_0d EXIST::FUNCTION: -EVP_aes_128_cbc_hmac_sha256 441 1_1_0d EXIST::FUNCTION: -ERR_peek_error 442 1_1_0d EXIST::FUNCTION: -CMS_ContentInfo_free 443 1_1_0d EXIST::FUNCTION:CMS -TS_CONF_load_certs 444 1_1_0d EXIST::FUNCTION:TS -ASN1_generate_v3 445 1_1_0d EXIST::FUNCTION: -ASN1_item_ex_i2d 446 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_get_ext_count 447 1_1_0d EXIST::FUNCTION:OCSP -ENGINE_set_EC 448 1_1_0d EXIST::FUNCTION:ENGINE -KDF_get_ibcs 449 1_1_0d EXIST::FUNCTION: -DISPLAYTEXT_new 450 1_1_0d EXIST::FUNCTION: -X509_PURPOSE_get_trust 451 1_1_0d EXIST::FUNCTION: -sms4_ecb_encrypt 452 1_1_0d EXIST::FUNCTION:SMS4 -SM2_COSIGNER2_SHARE_new 453 1_1_0d EXIST::FUNCTION:SM2 -ASN1_PCTX_get_str_flags 454 1_1_0d EXIST::FUNCTION: -DH_get0_pqg 455 1_1_0d EXIST::FUNCTION:DH -BN_GFP2_div_bn 456 1_1_0d EXIST::FUNCTION: -PEM_write_ECPrivateKey 457 1_1_0d EXIST::FUNCTION:EC,STDIO -CTLOG_STORE_load_default_file 458 1_1_0d EXIST::FUNCTION:CT -CMS_SignerInfo_get0_algs 459 1_1_0d EXIST::FUNCTION:CMS -Camellia_cbc_encrypt 460 1_1_0d EXIST::FUNCTION:CAMELLIA -d2i_X509_AUX 461 1_1_0d EXIST::FUNCTION: -CRYPTO_ocb128_cleanup 462 1_1_0d EXIST::FUNCTION:OCB -OCSP_RESPONSE_it 463 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_RESPONSE_it 463 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -BIO_snprintf 464 1_1_0d EXIST::FUNCTION: -ASN1_STRING_TABLE_add 465 1_1_0d EXIST::FUNCTION: -ASYNC_is_capable 466 1_1_0d EXIST::FUNCTION: -PEM_read_NETSCAPE_CERT_SEQUENCE 467 1_1_0d EXIST::FUNCTION:STDIO -X509v3_asid_canonize 468 1_1_0d EXIST::FUNCTION:RFC3779 -X509_PUBKEY_get0_param 469 1_1_0d EXIST::FUNCTION: -d2i_OCSP_BASICRESP 470 1_1_0d EXIST::FUNCTION:OCSP -i2d_PKCS7_RECIP_INFO 471 1_1_0d EXIST::FUNCTION: -ENGINE_get_static_state 472 1_1_0d EXIST::FUNCTION:ENGINE -OBJ_sigid_free 473 1_1_0d EXIST::FUNCTION: -ASN1_OCTET_STRING_free 474 1_1_0d EXIST::FUNCTION: -d2i_ASN1_OBJECT 475 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set0_trusted_stack 476 1_1_0d EXIST::FUNCTION: -RSA_meth_set_keygen 477 1_1_0d EXIST::FUNCTION:RSA -PEM_read_bio_RSAPrivateKey 478 1_1_0d EXIST::FUNCTION:RSA -EVP_CIPHER_CTX_get_cipher_data 479 1_1_0d EXIST::FUNCTION: -CRYPTO_ocb128_finish 480 1_1_0d EXIST::FUNCTION:OCB -RSA_new 481 1_1_0d EXIST::FUNCTION:RSA -PKCS7_DIGEST_it 482 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_DIGEST_it 482 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PKCS12_get0_mac 483 1_1_0d EXIST::FUNCTION: -ECDSA_verify 484 1_1_0d EXIST::FUNCTION:EC -ASN1_SCTX_get_flags 485 1_1_0d EXIST::FUNCTION: -SM9_setup 486 1_1_0d EXIST::FUNCTION:SM9 -SOF_GetInfoFromSignedMessage 487 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_keygen 488 1_1_0d EXIST::FUNCTION: -ASN1_IA5STRING_free 489 1_1_0d EXIST::FUNCTION: -TS_RESP_verify_signature 490 1_1_0d EXIST::FUNCTION:TS -d2i_ASN1_T61STRING 491 1_1_0d EXIST::FUNCTION: -X509_REQ_get_attr_by_NID 492 1_1_0d EXIST::FUNCTION: -i2d_PrivateKey_fp 493 1_1_0d EXIST::FUNCTION:STDIO -ASN1_d2i_bio 494 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_signctx 495 1_1_0d EXIST::FUNCTION: -ASYNC_WAIT_CTX_clear_fd 496 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_new 497 1_1_0d EXIST::FUNCTION:OCSP -X509_CERT_AUX_free 498 1_1_0d EXIST::FUNCTION: -PKCS7_SIGNER_INFO_sign 499 1_1_0d EXIST::FUNCTION: -SDF_ExportSignPublicKey_ECC 500 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set_verify 501 1_1_0d EXIST::FUNCTION: -BN_get_rfc3526_prime_3072 502 1_1_0d EXIST::FUNCTION: -TS_REQ_get_msg_imprint 503 1_1_0d EXIST::FUNCTION:TS -RSA_meth_set_priv_dec 504 1_1_0d EXIST::FUNCTION:RSA -COMP_expand_block 505 1_1_0d EXIST::FUNCTION:COMP -X509_print_ex 506 1_1_0d EXIST::FUNCTION: -X509_CRL_dup 507 1_1_0d EXIST::FUNCTION: -SRP_Verify_A_mod_N 508 1_1_0d EXIST::FUNCTION:SRP -DH_check_params 509 1_1_0d EXIST::FUNCTION:DH -EVP_PKEY_CTX_hex2ctrl 510 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_set_policy_id 511 1_1_0d EXIST::FUNCTION:TS -IPAddressFamily_it 512 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -IPAddressFamily_it 512 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -EVP_PKEY_CTX_ctrl 513 1_1_0d EXIST::FUNCTION: -SHA256_Transform 514 1_1_0d EXIST::FUNCTION: -EC_POINT_point2bn 515 1_1_0d EXIST::FUNCTION:EC -UI_set_result 516 1_1_0d EXIST::FUNCTION:UI -BN_mod_sqr 517 1_1_0d EXIST::FUNCTION: -DES_options 518 1_1_0d EXIST::FUNCTION:DES -OBJ_txt2nid 519 1_1_0d EXIST::FUNCTION: -o2i_SM2CiphertextValue 520 1_1_0d EXIST::FUNCTION:SM2 -EVP_rc2_64_cbc 521 1_1_0d EXIST::FUNCTION:RC2 -CONF_load 522 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_current_cert 523 1_1_0d EXIST::FUNCTION: -BN_GF2m_add 524 1_1_0d EXIST::FUNCTION:EC2M -d2i_RSA_PUBKEY_fp 525 1_1_0d EXIST::FUNCTION:RSA,STDIO -X509_CRL_get0_extensions 526 1_1_0d EXIST::FUNCTION: -SCT_get_log_entry_type 527 1_1_0d EXIST::FUNCTION:CT -i2d_CPK_PUBLIC_PARAMS_bio 528 1_1_0d EXIST::FUNCTION:CPK -SM9PublicKey_get_gmtls_encoded 529 1_1_0d EXIST::FUNCTION:SM9 -BIO_nread 530 1_1_0d EXIST::FUNCTION: -X509_VAL_it 531 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_VAL_it 531 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_PKCS7_DIGEST 532 1_1_0d EXIST::FUNCTION: -X509_set1_notBefore 533 1_1_0d EXIST::FUNCTION: -BIO_dump_cb 534 1_1_0d EXIST::FUNCTION: -SAF_GetCaCertificateCount 535 1_1_0d EXIST::FUNCTION: -EVP_MD_size 536 1_1_0d EXIST::FUNCTION: -SDF_ExportEncPublicKey_ECC 537 1_1_0d EXIST::FUNCTION: -CRL_DIST_POINTS_free 538 1_1_0d EXIST::FUNCTION: -EC_KEY_set_ECCPUBLICKEYBLOB 539 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -EVP_MD_CTX_reset 540 1_1_0d EXIST::FUNCTION: -SAF_GenerateKeyWithECC 541 1_1_0d EXIST::FUNCTION: -X509V3_get_string 542 1_1_0d EXIST::FUNCTION: -SKF_GenerateAgreementDataWithECC 543 1_1_0d EXIST::FUNCTION:SKF -EVP_CIPHER_meth_get_ctrl 544 1_1_0d EXIST::FUNCTION: -SAF_SM2_DecodeSignedData 545 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_free 546 1_1_0d EXIST::FUNCTION:TS -CRYPTO_dup_ex_data 547 1_1_0d EXIST::FUNCTION: -ASN1_PCTX_get_nm_flags 548 1_1_0d EXIST::FUNCTION: -RAND_seed 549 1_1_0d EXIST::FUNCTION: -ENGINE_get_flags 550 1_1_0d EXIST::FUNCTION:ENGINE -BIO_ctrl_get_read_request 551 1_1_0d EXIST::FUNCTION: -EVP_PKEY_verify_recover 552 1_1_0d EXIST::FUNCTION: -OCSP_request_verify 553 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_set1_DSA 554 1_1_0d EXIST::FUNCTION:DSA -ERR_get_state 555 1_1_0d EXIST::FUNCTION: -i2d_PROXY_CERT_INFO_EXTENSION 556 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_get_crl 557 1_1_0d EXIST::FUNCTION: -X509_time_adj 558 1_1_0d EXIST::FUNCTION: -d2i_TS_MSG_IMPRINT_bio 559 1_1_0d EXIST::FUNCTION:TS -DH_KDF_X9_42 560 1_1_0d EXIST::FUNCTION:CMS,DH -EC_KEY_new_from_ECCPUBLICKEYBLOB 561 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -DH_get_length 562 1_1_0d EXIST::FUNCTION:DH -X509_pubkey_digest 563 1_1_0d EXIST::FUNCTION: -PKCS12_key_gen_utf8 564 1_1_0d EXIST::FUNCTION: -BN_GENCB_free 565 1_1_0d EXIST::FUNCTION: -PKCS7_print_ctx 566 1_1_0d EXIST::FUNCTION: -d2i_SM9Signature_fp 567 1_1_0d EXIST::FUNCTION:SM9,STDIO -PKCS12_add_safe 568 1_1_0d EXIST::FUNCTION: -SAF_GetCrlFromLdap 569 1_1_0d EXIST::FUNCTION: -i2d_TS_STATUS_INFO 570 1_1_0d EXIST::FUNCTION:TS -ENGINE_unregister_EC 571 1_1_0d EXIST::FUNCTION:ENGINE -X509at_delete_attr 572 1_1_0d EXIST::FUNCTION: -SOF_VerifySignedData 573 1_1_0d EXIST::FUNCTION: -BN_MONT_CTX_free 574 1_1_0d EXIST::FUNCTION: -PKCS7_set_content 575 1_1_0d EXIST::FUNCTION: -ECIES_CIPHERTEXT_VALUE_new 576 1_1_0d EXIST::FUNCTION:ECIES -ESS_CERT_ID_dup 577 1_1_0d EXIST::FUNCTION:TS -TS_RESP_CTX_get_request 578 1_1_0d EXIST::FUNCTION:TS -EVP_sha1 579 1_1_0d EXIST::FUNCTION: -X509_EXTENSION_create_by_OBJ 580 1_1_0d EXIST::FUNCTION: -i2d_PKCS7_fp 581 1_1_0d EXIST::FUNCTION:STDIO -EVP_PKEY_CTX_get_data 582 1_1_0d EXIST::FUNCTION: -OCSP_RESPDATA_new 583 1_1_0d EXIST::FUNCTION:OCSP -DES_cbc_encrypt 584 1_1_0d EXIST::FUNCTION:DES -CRYPTO_new_ex_data 585 1_1_0d EXIST::FUNCTION: -SOF_SetCertTrustList 586 1_1_0d EXIST::FUNCTION: -i2d_X509_EXTENSIONS 587 1_1_0d EXIST::FUNCTION: -OCSP_basic_add1_nonce 588 1_1_0d EXIST::FUNCTION:OCSP -i2d_ASN1_OBJECT 589 1_1_0d EXIST::FUNCTION: -ASN1_PRINTABLESTRING_free 590 1_1_0d EXIST::FUNCTION: -EVP_DigestFinal_ex 591 1_1_0d EXIST::FUNCTION: -EC_POINT_point2oct 592 1_1_0d EXIST::FUNCTION:EC -SAF_GetCaCertificate 593 1_1_0d EXIST::FUNCTION: -BN_mul 594 1_1_0d EXIST::FUNCTION: -CONF_dump_bio 595 1_1_0d EXIST::FUNCTION: -SDF_InternalEncrypt_ECC 596 1_1_0d EXIST::FUNCTION: -EVP_aes_256_cbc_hmac_sha256 597 1_1_0d EXIST::FUNCTION: -OCSP_crlID_new 598 1_1_0d EXIST:!VMS:FUNCTION:OCSP -OCSP_crlID2_new 598 1_1_0d EXIST:VMS:FUNCTION:OCSP -ASN1_mbstring_ncopy 599 1_1_0d EXIST::FUNCTION: -EC_KEY_set_ex_data 600 1_1_0d EXIST::FUNCTION:EC -X509_get_key_usage 601 1_1_0d EXIST::FUNCTION: -DHparams_dup 602 1_1_0d EXIST::FUNCTION:DH -EVP_sms4_ocb 603 1_1_0d EXIST::FUNCTION:SMS4 -SKF_PrintECCPublicKey 604 1_1_0d EXIST::FUNCTION:SKF -EVP_MD_CTX_get_sgd 605 1_1_0d EXIST::FUNCTION:GMAPI -i2d_ECCSIGNATUREBLOB 606 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -EVP_sha224 607 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_free 608 1_1_0d EXIST::FUNCTION:EC -i2d_EDIPARTYNAME 609 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_get_bag_nid 610 1_1_0d EXIST::FUNCTION: -EVP_aes_192_ecb 611 1_1_0d EXIST::FUNCTION: -CRYPTO_cfb128_1_encrypt 612 1_1_0d EXIST::FUNCTION: -PEM_read_bio_ECPrivateKey 613 1_1_0d EXIST::FUNCTION:EC -EVP_PKEY_CTX_get_cb 614 1_1_0d EXIST::FUNCTION: -ENGINE_get_pkey_meth_engine 615 1_1_0d EXIST::FUNCTION:ENGINE -d2i_SM2CiphertextValue_fp 616 1_1_0d EXIST::FUNCTION:SM2,STDIO -CRYPTO_ctr128_encrypt_ctr32 617 1_1_0d EXIST::FUNCTION: -SCT_set1_extensions 618 1_1_0d EXIST::FUNCTION:CT -ENGINE_set_default_DSA 619 1_1_0d EXIST::FUNCTION:ENGINE -NCONF_load 620 1_1_0d EXIST::FUNCTION: -EVP_rc2_ecb 621 1_1_0d EXIST::FUNCTION:RC2 -ENGINE_set_name 622 1_1_0d EXIST::FUNCTION:ENGINE -BB1PublicParameters_free 623 1_1_0d EXIST::FUNCTION:BB1IBE -OBJ_length 624 1_1_0d EXIST::FUNCTION: -ENGINE_add 625 1_1_0d EXIST::FUNCTION:ENGINE -EVP_PKEY_get0_SM9 626 1_1_0d EXIST::FUNCTION:SM9 -X509_ATTRIBUTE_create 627 1_1_0d EXIST::FUNCTION: -i2d_SXNET 628 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_find_str 629 1_1_0d EXIST::FUNCTION: -ZLONG_it 630 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ZLONG_it 630 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CONF_get1_default_config_file 631 1_1_0d EXIST::FUNCTION: -ENGINE_register_all_complete 632 1_1_0d EXIST::FUNCTION:ENGINE -i2d_ESS_CERT_ID 633 1_1_0d EXIST::FUNCTION:TS -IPAddressChoice_new 634 1_1_0d EXIST::FUNCTION:RFC3779 -ASN1_OBJECT_free 635 1_1_0d EXIST::FUNCTION: -EC_GROUP_free 636 1_1_0d EXIST::FUNCTION:EC -d2i_PKCS7_fp 637 1_1_0d EXIST::FUNCTION:STDIO -RSA_set_default_method 638 1_1_0d EXIST::FUNCTION:RSA -SAF_Pkcs7_EncodeSignedData 639 1_1_0d EXIST::FUNCTION: -PEM_get_EVP_CIPHER_INFO 640 1_1_0d EXIST::FUNCTION: -X509_NAME_get_text_by_OBJ 641 1_1_0d EXIST::FUNCTION: -EC_type1curve_tate_ratio 642 1_1_0d EXIST::FUNCTION: -CMS_unsigned_add1_attr_by_OBJ 643 1_1_0d EXIST::FUNCTION:CMS -i2d_X509_REVOKED 644 1_1_0d EXIST::FUNCTION: -i2d_SM9Signature_bio 645 1_1_0d EXIST::FUNCTION:SM9 -PEM_write_bio_CMS_stream 646 1_1_0d EXIST::FUNCTION:CMS -d2i_PrivateKey_fp 647 1_1_0d EXIST::FUNCTION:STDIO -PKCS7_RECIP_INFO_it 648 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_RECIP_INFO_it 648 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_PKCS8PrivateKey_bio 649 1_1_0d EXIST::FUNCTION: -i2d_X509_bio 650 1_1_0d EXIST::FUNCTION: -ASN1_TIME_print 651 1_1_0d EXIST::FUNCTION: -d2i_PROXY_POLICY 652 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_add0_table 653 1_1_0d EXIST::FUNCTION: -DSA_do_verify 654 1_1_0d EXIST::FUNCTION:DSA -ASYNC_unblock_pause 655 1_1_0d EXIST::FUNCTION: -X509_CRL_sign 656 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_get_app_datasize 657 1_1_0d EXIST::FUNCTION: -X509_LOOKUP_free 658 1_1_0d EXIST::FUNCTION: -PEM_read_DSAPrivateKey 659 1_1_0d EXIST::FUNCTION:DSA,STDIO -EVP_aes_192_cfb128 660 1_1_0d EXIST::FUNCTION: -EVP_chacha20 661 1_1_0d EXIST::FUNCTION:CHACHA -X509_sign_ctx 662 1_1_0d EXIST::FUNCTION: -d2i_TS_TST_INFO_fp 663 1_1_0d EXIST::FUNCTION:STDIO,TS -ECCPRIVATEKEYBLOB_set_private_key 664 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -X509_NAME_get_entry 665 1_1_0d EXIST::FUNCTION: -CMAC_CTX_cleanup 666 1_1_0d EXIST::FUNCTION:CMAC -X509_CRL_cmp 667 1_1_0d EXIST::FUNCTION: -ENGINE_set_default_pkey_meths 668 1_1_0d EXIST::FUNCTION:ENGINE -i2d_PKCS7 669 1_1_0d EXIST::FUNCTION: -EVP_rc2_ofb 670 1_1_0d EXIST::FUNCTION:RC2 -ENGINE_get_last 671 1_1_0d EXIST::FUNCTION:ENGINE -TXT_DB_write 672 1_1_0d EXIST::FUNCTION: -PKCS7_RECIP_INFO_set 673 1_1_0d EXIST::FUNCTION: -SOF_VerifySignedFile 674 1_1_0d EXIST::FUNCTION: -PEM_read_bio_PAILLIER_PUBKEY 675 1_1_0d EXIST::FUNCTION:PAILLIER -BN_rand_range 676 1_1_0d EXIST::FUNCTION: -ECDSA_SIG_free 677 1_1_0d EXIST::FUNCTION:EC -SKF_MacFinal 678 1_1_0d EXIST::FUNCTION:SKF -X509_time_adj_ex 679 1_1_0d EXIST::FUNCTION: -SAF_SymmDecryptUpdate 680 1_1_0d EXIST::FUNCTION: -d2i_DSAparams 681 1_1_0d EXIST::FUNCTION:DSA -EVP_MD_CTX_set_md_data 682 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_get1_ext_d2i 683 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_sign 684 1_1_0d EXIST::FUNCTION: -X509_STORE_set_verify_cb 685 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_set_serial 686 1_1_0d EXIST::FUNCTION:TS -SRP_VBASE_new 687 1_1_0d EXIST::FUNCTION:SRP -DSA_security_bits 688 1_1_0d EXIST::FUNCTION:DSA -DIST_POINT_free 689 1_1_0d EXIST::FUNCTION: -BN_is_prime 690 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 -BB1MasterSecret_free 691 1_1_0d EXIST::FUNCTION:BB1IBE -PKCS12_SAFEBAGS_it 692 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS12_SAFEBAGS_it 692 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BN_mod_mul_reciprocal 693 1_1_0d EXIST::FUNCTION: -SOF_VerifySignedMessage 694 1_1_0d EXIST::FUNCTION: -BN_num_bits 695 1_1_0d EXIST::FUNCTION: -DH_free 696 1_1_0d EXIST::FUNCTION:DH -EVP_aes_256_xts 697 1_1_0d EXIST::FUNCTION: -BIO_meth_get_destroy 698 1_1_0d EXIST::FUNCTION: -ASN1_STRING_set_by_NID 699 1_1_0d EXIST::FUNCTION: -NETSCAPE_CERT_SEQUENCE_free 700 1_1_0d EXIST::FUNCTION: -SM9_generate_key_exchange 701 1_1_0d EXIST::FUNCTION:SM9 -ASYNC_get_wait_ctx 702 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_set_key_length 703 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_set1_object 704 1_1_0d EXIST::FUNCTION: -EVP_DecodeBlock 705 1_1_0d EXIST::FUNCTION: -PEM_write_RSA_PUBKEY 706 1_1_0d EXIST::FUNCTION:RSA,STDIO -SOF_CreateTimeStampResponse 707 1_1_0d EXIST::FUNCTION: -d2i_CMS_ReceiptRequest 708 1_1_0d EXIST::FUNCTION:CMS -i2d_PKCS8PrivateKeyInfo_fp 709 1_1_0d EXIST::FUNCTION:STDIO -SM2_verify 710 1_1_0d EXIST::FUNCTION:SM2 -PKCS12_SAFEBAG_create_crl 711 1_1_0d EXIST::FUNCTION: -OPENSSL_strlcat 712 1_1_0d EXIST::FUNCTION: -EVP_SignFinal 713 1_1_0d EXIST::FUNCTION: -PKCS7_get_issuer_and_serial 714 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_set_compute_key 715 1_1_0d EXIST::FUNCTION:EC -OCSP_SINGLERESP_get0_id 716 1_1_0d EXIST::FUNCTION:OCSP -SAF_GetExtTypeInfo 717 1_1_0d EXIST::FUNCTION: -ENGINE_set_default_ciphers 718 1_1_0d EXIST::FUNCTION:ENGINE -PEM_write_PrivateKey 719 1_1_0d EXIST::FUNCTION:STDIO -ENGINE_cmd_is_executable 720 1_1_0d EXIST::FUNCTION:ENGINE -ENGINE_set_id 721 1_1_0d EXIST::FUNCTION:ENGINE -OCSP_REQUEST_add_ext 722 1_1_0d EXIST::FUNCTION:OCSP -OCSP_SINGLERESP_get1_ext_d2i 723 1_1_0d EXIST::FUNCTION:OCSP -UI_get_default_method 724 1_1_0d EXIST::FUNCTION:UI -PKCS7_add_signature 725 1_1_0d EXIST::FUNCTION: -CMS_decrypt_set1_key 726 1_1_0d EXIST::FUNCTION:CMS -PKCS12_pack_p7encdata 727 1_1_0d EXIST::FUNCTION: -ASYNC_WAIT_CTX_free 728 1_1_0d EXIST::FUNCTION: -CMS_add1_recipient_cert 729 1_1_0d EXIST::FUNCTION:CMS -SHA512_Update 730 1_1_0d EXIST:!VMSVAX:FUNCTION: -X509_signature_print 731 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_create_by_OBJ 732 1_1_0d EXIST::FUNCTION: -ENGINE_set_flags 733 1_1_0d EXIST::FUNCTION:ENGINE -EVP_CIPHER_meth_set_impl_ctx_size 734 1_1_0d EXIST::FUNCTION: -OPENSSL_LH_stats_bio 735 1_1_0d EXIST::FUNCTION: -SOF_DelCertTrustList 736 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_set_do_cipher 737 1_1_0d EXIST::FUNCTION: -AES_cbc_encrypt 738 1_1_0d EXIST::FUNCTION: -d2i_BB1CiphertextBlock 739 1_1_0d EXIST::FUNCTION:BB1IBE -ASN1_PRINTABLE_it 740 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_PRINTABLE_it 740 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_CRL_delete_ext 741 1_1_0d EXIST::FUNCTION: -i2o_ECPublicKey 742 1_1_0d EXIST::FUNCTION:EC -SAF_SymmEncryptUpdate 743 1_1_0d EXIST::FUNCTION: -X509_STORE_unlock 744 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_set_private 745 1_1_0d EXIST::FUNCTION: -BIO_nwrite 746 1_1_0d EXIST::FUNCTION: -i2d_DSAPrivateKey 747 1_1_0d EXIST::FUNCTION:DSA -ERR_load_BFIBE_strings 748 1_1_0d EXIST::FUNCTION:BFIBE -SOF_SetEncryptMethod 749 1_1_0d EXIST::FUNCTION: -CONF_imodule_get_name 750 1_1_0d EXIST::FUNCTION: -BIO_ADDR_family 751 1_1_0d EXIST::FUNCTION:SOCK -EC_KEY_set_method 752 1_1_0d EXIST::FUNCTION:EC -RSA_PSS_PARAMS_new 753 1_1_0d EXIST::FUNCTION:RSA -TS_REQ_delete_ext 754 1_1_0d EXIST::FUNCTION:TS -EVP_des_ede_ofb 755 1_1_0d EXIST::FUNCTION:DES -EVP_sms4_wrap_pad 756 1_1_0d EXIST::FUNCTION:SMS4 -PKCS7_content_new 757 1_1_0d EXIST::FUNCTION: -OCSP_CERTSTATUS_new 758 1_1_0d EXIST::FUNCTION:OCSP -POLICY_CONSTRAINTS_it 759 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -POLICY_CONSTRAINTS_it 759 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_ECCSignature 760 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -X509_CRL_verify 761 1_1_0d EXIST::FUNCTION: -SKF_VerifyPIN 762 1_1_0d EXIST::FUNCTION:SKF -OPENSSL_sk_sort 763 1_1_0d EXIST::FUNCTION: -i2a_ASN1_STRING 764 1_1_0d EXIST::FUNCTION: -UI_get0_test_string 765 1_1_0d EXIST::FUNCTION:UI -EC_GROUP_get0_seed 766 1_1_0d EXIST::FUNCTION:EC -EC_KEY_METHOD_set_encrypt 767 1_1_0d EXIST::FUNCTION:SM2 -SAF_Pkcs7_DecodeDigestedData 768 1_1_0d EXIST::FUNCTION: -SMIME_read_ASN1 769 1_1_0d EXIST::FUNCTION: -d2i_PUBKEY 770 1_1_0d EXIST::FUNCTION: -BIO_indent 771 1_1_0d EXIST::FUNCTION: -SKF_DecryptInit 772 1_1_0d EXIST::FUNCTION:SKF -ASN1_tag2str 773 1_1_0d EXIST::FUNCTION: -TS_X509_ALGOR_print_bio 774 1_1_0d EXIST::FUNCTION:TS -BN_get_params 775 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 -SAF_SymmDecrypt 776 1_1_0d EXIST::FUNCTION: -BIO_meth_new 777 1_1_0d EXIST::FUNCTION: -TS_REQ_get_ext_by_critical 778 1_1_0d EXIST::FUNCTION:TS -RSA_meth_set_pub_dec 779 1_1_0d EXIST::FUNCTION:RSA -OTP_generate 780 1_1_0d EXIST::FUNCTION:OTP -PKCS7_simple_smimecap 781 1_1_0d EXIST::FUNCTION: -X509_keyid_get0 782 1_1_0d EXIST::FUNCTION: -DH_meth_set1_name 783 1_1_0d EXIST::FUNCTION:DH -SKF_DeleteFile 784 1_1_0d EXIST::FUNCTION:SKF -RSA_test_flags 785 1_1_0d EXIST::FUNCTION:RSA -X509_STORE_CTX_set_error_depth 786 1_1_0d EXIST::FUNCTION: -X509_get0_extensions 787 1_1_0d EXIST::FUNCTION: -X509_STORE_set_check_policy 788 1_1_0d EXIST::FUNCTION: -CMS_EncryptedData_encrypt 789 1_1_0d EXIST::FUNCTION:CMS -BIO_sock_info 790 1_1_0d EXIST::FUNCTION:SOCK -EC_KEY_get0_private_key 791 1_1_0d EXIST::FUNCTION:EC -X509_ATTRIBUTE_new 792 1_1_0d EXIST::FUNCTION: -DSA_SIG_get0 793 1_1_0d EXIST::FUNCTION:DSA -RAND_screen 794 1_1_0d EXIST:_WIN32:FUNCTION:DEPRECATEDIN_1_1_0 -SHA512_Transform 795 1_1_0d EXIST:!VMSVAX:FUNCTION: -X509_get0_signature 796 1_1_0d EXIST::FUNCTION: -PaillierPublicKey_it 797 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:PAILLIER -PaillierPublicKey_it 797 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:PAILLIER -X509_REQ_set_subject_name 798 1_1_0d EXIST::FUNCTION: -d2i_X509_EXTENSIONS 799 1_1_0d EXIST::FUNCTION: -BIO_s_datagram_sctp 800 1_1_0d EXIST::FUNCTION:DGRAM,SCTP -i2d_X509_AUX 801 1_1_0d EXIST::FUNCTION: -BIO_push 802 1_1_0d EXIST::FUNCTION: -DES_decrypt3 803 1_1_0d EXIST::FUNCTION:DES -PEM_read_RSA_PUBKEY 804 1_1_0d EXIST::FUNCTION:RSA,STDIO -BN_new 805 1_1_0d EXIST::FUNCTION: -d2i_PKCS8_PRIV_KEY_INFO_bio 806 1_1_0d EXIST::FUNCTION: -ERR_load_ASYNC_strings 807 1_1_0d EXIST::FUNCTION: -EVP_PKEY_set1_DH 808 1_1_0d EXIST::FUNCTION:DH -BIO_meth_get_read 809 1_1_0d EXIST::FUNCTION: -ASN1_TIME_free 810 1_1_0d EXIST::FUNCTION: -i2d_X509_REQ_bio 811 1_1_0d EXIST::FUNCTION: -SOF_Login 812 1_1_0d EXIST::FUNCTION: -EC_KEY_set_conv_form 813 1_1_0d EXIST::FUNCTION:EC -CMS_add1_cert 814 1_1_0d EXIST::FUNCTION:CMS -EVP_sms4_cfb128 815 1_1_0d EXIST::FUNCTION:SMS4 -d2i_RSAPrivateKey_bio 816 1_1_0d EXIST::FUNCTION:RSA -BN_to_ASN1_INTEGER 817 1_1_0d EXIST::FUNCTION: -PEM_read_bio_ECPKParameters 818 1_1_0d EXIST::FUNCTION:EC -ASN1_get_object 819 1_1_0d EXIST::FUNCTION: -i2d_CPK_MASTER_SECRET_bio 820 1_1_0d EXIST::FUNCTION:CPK -X509_VERIFY_PARAM_set1_host 821 1_1_0d EXIST::FUNCTION: -ENGINE_load_public_key 822 1_1_0d EXIST::FUNCTION:ENGINE -EVP_CIPHER_iv_length 823 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get1_issuer 824 1_1_0d EXIST::FUNCTION: -OCSP_request_onereq_get0 825 1_1_0d EXIST::FUNCTION:OCSP -d2i_PKCS7_SIGNED 826 1_1_0d EXIST::FUNCTION: -SAF_RsaVerifySignFile 827 1_1_0d EXIST::FUNCTION: -EC_GROUP_is_type1curve 828 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_verify 829 1_1_0d EXIST::FUNCTION: -ENGINE_set_ctrl_function 830 1_1_0d EXIST::FUNCTION:ENGINE -EVP_rc5_32_12_16_cbc 831 1_1_0d EXIST::FUNCTION:RC5 -ERR_load_DSA_strings 832 1_1_0d EXIST::FUNCTION:DSA -ASIdentifierChoice_new 833 1_1_0d EXIST::FUNCTION:RFC3779 -EC_KEY_merge 834 1_1_0d EXIST::FUNCTION:EC -DIRECTORYSTRING_it 835 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -DIRECTORYSTRING_it 835 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_PKEY_CTX_get0_pkey 836 1_1_0d EXIST::FUNCTION: -ASN1_GENERALIZEDTIME_check 837 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set_purpose 838 1_1_0d EXIST::FUNCTION: -Camellia_cfb128_encrypt 839 1_1_0d EXIST::FUNCTION:CAMELLIA -PAILLIER_ciphertext_scalar_mul 840 1_1_0d EXIST::FUNCTION:PAILLIER -MD5_Init 841 1_1_0d EXIST::FUNCTION:MD5 -X509_OBJECT_free 842 1_1_0d EXIST::FUNCTION: -CRYPTO_strndup 843 1_1_0d EXIST::FUNCTION: -OCSP_RESPBYTES_new 844 1_1_0d EXIST::FUNCTION:OCSP -SKF_DigestFinal 845 1_1_0d EXIST::FUNCTION:SKF -OCSP_REQUEST_print 846 1_1_0d EXIST::FUNCTION:OCSP -ASN1_item_sign_ctx 847 1_1_0d EXIST::FUNCTION: -OBJ_new_nid 848 1_1_0d EXIST::FUNCTION: -RC5_32_set_key 849 1_1_0d EXIST::FUNCTION:RC5 -X509_CRL_get_meth_data 850 1_1_0d EXIST::FUNCTION: -BN_X931_generate_Xpq 851 1_1_0d EXIST::FUNCTION: -X509_NAME_set 852 1_1_0d EXIST::FUNCTION: -DES_is_weak_key 853 1_1_0d EXIST::FUNCTION:DES -X509v3_addr_validate_resource_set 854 1_1_0d EXIST::FUNCTION:RFC3779 -PROXY_CERT_INFO_EXTENSION_free 855 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_get_ext_by_critical 856 1_1_0d EXIST::FUNCTION:OCSP -SAF_EccPublicKeyEncByCert 857 1_1_0d EXIST::FUNCTION: -UI_method_set_prompt_constructor 858 1_1_0d EXIST::FUNCTION:UI -OPENSSL_die 859 1_1_0d EXIST::FUNCTION: -d2i_X509_ALGORS 860 1_1_0d EXIST::FUNCTION: -OCSP_CERTID_it 861 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_CERTID_it 861 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -RSA_X931_derive_ex 862 1_1_0d EXIST::FUNCTION:RSA -SAF_CreateHashObj 863 1_1_0d EXIST::FUNCTION: -OCSP_REQUEST_free 864 1_1_0d EXIST::FUNCTION:OCSP -X509_STORE_CTX_cleanup 865 1_1_0d EXIST::FUNCTION: -X509v3_get_ext_by_critical 866 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_free 867 1_1_0d EXIST::FUNCTION: -i2d_PKEY_USAGE_PERIOD 868 1_1_0d EXIST::FUNCTION: -BN_div_word 869 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_order 870 1_1_0d EXIST::FUNCTION:EC -EVP_MD_meth_set_ctrl 871 1_1_0d EXIST::FUNCTION: -X509_STORE_set_trust 872 1_1_0d EXIST::FUNCTION: -X509_REVOKED_add_ext 873 1_1_0d EXIST::FUNCTION: -ERR_load_CPK_strings 874 1_1_0d EXIST::FUNCTION:CPK -SRP_get_default_gN 875 1_1_0d EXIST::FUNCTION:SRP -UI_method_set_opener 876 1_1_0d EXIST::FUNCTION:UI -ASN1_BMPSTRING_new 877 1_1_0d EXIST::FUNCTION: -NETSCAPE_CERT_SEQUENCE_new 878 1_1_0d EXIST::FUNCTION: -BB1IBE_do_decrypt 879 1_1_0d EXIST::FUNCTION:BB1IBE -SKF_Transmit 880 1_1_0d EXIST::FUNCTION:SKF -i2d_TS_RESP 881 1_1_0d EXIST::FUNCTION:TS -TS_CONF_set_signer_key 882 1_1_0d EXIST::FUNCTION:TS -PKCS7_ENC_CONTENT_it 883 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_ENC_CONTENT_it 883 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BN_gfp22bn 884 1_1_0d EXIST::FUNCTION: -BIO_puts 885 1_1_0d EXIST::FUNCTION: -BIO_s_bio 886 1_1_0d EXIST::FUNCTION: -EDIPARTYNAME_new 887 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_get_app_data 888 1_1_0d EXIST::FUNCTION: -BIO_test_flags 889 1_1_0d EXIST::FUNCTION: -i2d_NETSCAPE_SPKI 890 1_1_0d EXIST::FUNCTION: -ASN1_BIT_STRING_set 891 1_1_0d EXIST::FUNCTION: -CAST_decrypt 892 1_1_0d EXIST::FUNCTION:CAST -ASRange_it 893 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -ASRange_it 893 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -UI_method_get_writer 894 1_1_0d EXIST::FUNCTION:UI -d2i_OCSP_SINGLERESP 895 1_1_0d EXIST::FUNCTION:OCSP -serpent_encrypt 896 1_1_0d EXIST::FUNCTION:SERPENT -EVP_bf_cfb64 897 1_1_0d EXIST::FUNCTION:BF -BIO_get_retry_BIO 898 1_1_0d EXIST::FUNCTION: -TS_REQ_get_version 899 1_1_0d EXIST::FUNCTION:TS -EC_GROUP_new_curve_GFp 900 1_1_0d EXIST::FUNCTION:EC -BN_mod_inverse 901 1_1_0d EXIST::FUNCTION: -BIO_dump_indent 902 1_1_0d EXIST::FUNCTION: -EVP_des_ede3_cfb1 903 1_1_0d EXIST::FUNCTION:DES -PEM_X509_INFO_read_bio 904 1_1_0d EXIST::FUNCTION: -PEM_read_bio_DSA_PUBKEY 905 1_1_0d EXIST::FUNCTION:DSA -DSAparams_dup 906 1_1_0d EXIST::FUNCTION:DSA -sm3_init 907 1_1_0d EXIST::FUNCTION:SM3 -i2d_X509_ALGORS 908 1_1_0d EXIST::FUNCTION: -PKCS7_ctrl 909 1_1_0d EXIST::FUNCTION: -speck_set_encrypt_key64 910 1_1_0d EXIST::FUNCTION:SPECK -CMS_RecipientInfo_kekri_get0_id 911 1_1_0d EXIST::FUNCTION:CMS -X509_ALGOR_cmp 912 1_1_0d EXIST::FUNCTION: -UI_get0_user_data 913 1_1_0d EXIST::FUNCTION:UI -RAND_set_rand_method 914 1_1_0d EXIST::FUNCTION: -X509V3_EXT_i2d 915 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_ext_free 916 1_1_0d EXIST::FUNCTION:TS -BN_BLINDING_create_param 917 1_1_0d EXIST::FUNCTION: -RAND_set_rand_engine 918 1_1_0d EXIST::FUNCTION:ENGINE -AES_ofb128_encrypt 919 1_1_0d EXIST::FUNCTION: -i2d_CPK_MASTER_SECRET 920 1_1_0d EXIST::FUNCTION:CPK -d2i_OCSP_REVOKEDINFO 921 1_1_0d EXIST::FUNCTION:OCSP -CRL_DIST_POINTS_new 922 1_1_0d EXIST::FUNCTION: -UI_get0_result 923 1_1_0d EXIST::FUNCTION:UI -SKF_ConnectDev 924 1_1_0d EXIST::FUNCTION:SKF -d2i_RSAPublicKey 925 1_1_0d EXIST::FUNCTION:RSA -SHA224_Init 926 1_1_0d EXIST::FUNCTION: -OCSP_BASICRESP_it 927 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_BASICRESP_it 927 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -POLICY_MAPPING_free 928 1_1_0d EXIST::FUNCTION: -ASN1_UTCTIME_set_string 929 1_1_0d EXIST::FUNCTION: -ASN1_dup 930 1_1_0d EXIST::FUNCTION: -BIO_new_fp 931 1_1_0d EXIST::FUNCTION:STDIO -ECIES_CIPHERTEXT_VALUE_it 932 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:ECIES -ECIES_CIPHERTEXT_VALUE_it 932 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:ECIES -BN_pseudo_rand 933 1_1_0d EXIST::FUNCTION: -X509_check_host 934 1_1_0d EXIST::FUNCTION: -CRYPTO_mem_debug_malloc 935 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG -ERR_load_SM2_strings 936 1_1_0d EXIST::FUNCTION:SM2 -X509_CRL_INFO_free 937 1_1_0d EXIST::FUNCTION: -DSA_meth_get_paramgen 938 1_1_0d EXIST::FUNCTION:DSA -EC_POINT_get_affine_coordinates_GFp 939 1_1_0d EXIST::FUNCTION:EC -PKCS12_add_CSPName_asc 940 1_1_0d EXIST::FUNCTION: -ASN1_ANY_it 941 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_ANY_it 941 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -OPENSSL_LH_free 942 1_1_0d EXIST::FUNCTION: -PKCS12_set_mac 943 1_1_0d EXIST::FUNCTION: -i2d_CMS_ReceiptRequest 944 1_1_0d EXIST::FUNCTION:CMS -EVP_des_cfb1 945 1_1_0d EXIST::FUNCTION:DES -ENGINE_unregister_RSA 946 1_1_0d EXIST::FUNCTION:ENGINE -SCT_print 947 1_1_0d EXIST::FUNCTION:CT -X509_REQ_get1_email 948 1_1_0d EXIST::FUNCTION: -BIO_ADDR_rawaddress 949 1_1_0d EXIST::FUNCTION:SOCK -EC_KEY_set_default_secg_method 950 1_1_0d EXIST::FUNCTION:SM2 -PEM_write_bio_ECPKParameters 951 1_1_0d EXIST::FUNCTION:EC -EVP_camellia_256_cbc 952 1_1_0d EXIST::FUNCTION:CAMELLIA -X509_CRL_match 953 1_1_0d EXIST::FUNCTION: -KDF_get_x9_63 954 1_1_0d EXIST::FUNCTION: -POLICYQUALINFO_new 955 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_get1_crl 956 1_1_0d EXIST::FUNCTION: -PEM_read_SM9PrivateKey 957 1_1_0d EXIST::FUNCTION:SM9,STDIO -BIO_s_mem 958 1_1_0d EXIST::FUNCTION: -CMS_add1_signer 959 1_1_0d EXIST::FUNCTION:CMS -EVP_aes_256_ocb 960 1_1_0d EXIST::FUNCTION:OCB -SDF_HashInit 961 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_get_tst_info 962 1_1_0d EXIST::FUNCTION:TS -OCSP_RESPID_set_by_key 963 1_1_0d EXIST::FUNCTION:OCSP -i2o_SM2CiphertextValue 964 1_1_0d EXIST::FUNCTION:SM2 -NOTICEREF_free 965 1_1_0d EXIST::FUNCTION: -ASN1_ENUMERATED_get_int64 966 1_1_0d EXIST::FUNCTION: -EVP_aes_256_wrap_pad 967 1_1_0d EXIST::FUNCTION: -EC_POINT_point2hex 968 1_1_0d EXIST::FUNCTION:EC -CRYPTO_realloc 969 1_1_0d EXIST::FUNCTION: -d2i_ASN1_PRINTABLE 970 1_1_0d EXIST::FUNCTION: -BIO_closesocket 971 1_1_0d EXIST::FUNCTION:SOCK -EVP_PKEY_cmp_parameters 972 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_type 973 1_1_0d EXIST::FUNCTION: -TS_REQ_set_version 974 1_1_0d EXIST::FUNCTION:TS -X509_get0_uids 975 1_1_0d EXIST::FUNCTION: -CRYPTO_THREAD_read_lock 976 1_1_0d EXIST::FUNCTION: -X509_CRL_new 977 1_1_0d EXIST::FUNCTION: -EC_GFp_nistp224_method 978 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128 -PKCS5_pbe2_set 979 1_1_0d EXIST::FUNCTION: -BIO_dgram_sctp_wait_for_dry 980 1_1_0d EXIST::FUNCTION:DGRAM,SCTP -ERR_load_CRYPTO_strings 981 1_1_0d EXIST:!VMS:FUNCTION: -ERR_load_CRYPTOlib_strings 981 1_1_0d EXIST:VMS:FUNCTION: -X509_REQ_extension_nid 982 1_1_0d EXIST::FUNCTION: -TS_REQ_ext_free 983 1_1_0d EXIST::FUNCTION:TS -ENGINE_set_DSA 984 1_1_0d EXIST::FUNCTION:ENGINE -SHA1_Init 985 1_1_0d EXIST::FUNCTION: -ERR_load_CONF_strings 986 1_1_0d EXIST::FUNCTION: -BN_GFP2_div 987 1_1_0d EXIST::FUNCTION: -PEM_write_bio_X509_CRL 988 1_1_0d EXIST::FUNCTION: -CRYPTO_secure_malloc_init 989 1_1_0d EXIST::FUNCTION: -PEM_write_SM9MasterSecret 990 1_1_0d EXIST::FUNCTION:SM9,STDIO -ERR_lib_error_string 991 1_1_0d EXIST::FUNCTION: -SAF_CreateSymmKeyObj 992 1_1_0d EXIST::FUNCTION: -TS_ASN1_INTEGER_print_bio 993 1_1_0d EXIST::FUNCTION:TS -X509_REQ_add1_attr_by_txt 994 1_1_0d EXIST::FUNCTION: -X509_CRL_set_version 995 1_1_0d EXIST::FUNCTION: -X509_CRL_set1_lastUpdate 996 1_1_0d EXIST::FUNCTION: -PEM_write_bio_SM9_PUBKEY 997 1_1_0d EXIST::FUNCTION:SM9 -EVP_PKEY_set_type_str 998 1_1_0d EXIST::FUNCTION: -CRYPTO_mem_debug_realloc 999 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG -ERR_set_error_data 1000 1_1_0d EXIST::FUNCTION: -CMS_add_simple_smimecap 1001 1_1_0d EXIST::FUNCTION:CMS -DSO_ctrl 1002 1_1_0d EXIST::FUNCTION: -EC_KEY_key2buf 1003 1_1_0d EXIST::FUNCTION:EC -EC_POINTs_make_affine 1004 1_1_0d EXIST::FUNCTION:EC -PKCS7_ENVELOPE_new 1005 1_1_0d EXIST::FUNCTION: -ASN1_UTCTIME_check 1006 1_1_0d EXIST::FUNCTION: -MD2_Final 1007 1_1_0d EXIST::FUNCTION:MD2 -X509_STORE_CTX_get_check_policy 1008 1_1_0d EXIST::FUNCTION: -PKCS12_free 1009 1_1_0d EXIST::FUNCTION: -RSA_check_key 1010 1_1_0d EXIST::FUNCTION:RSA -EC_KEY_get_ECCPUBLICKEYBLOB 1011 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -d2i_PBE2PARAM 1012 1_1_0d EXIST::FUNCTION: -ASN1_item_i2d_fp 1013 1_1_0d EXIST::FUNCTION:STDIO -CRYPTO_cfb128_encrypt 1014 1_1_0d EXIST::FUNCTION: -SM2CiphertextValue_it 1015 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM2 -SM2CiphertextValue_it 1015 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM2 -ECIES_do_decrypt 1016 1_1_0d EXIST::FUNCTION:ECIES -DIRECTORYSTRING_new 1017 1_1_0d EXIST::FUNCTION: -PEM_write_PKCS8_PRIV_KEY_INFO 1018 1_1_0d EXIST::FUNCTION:STDIO -X509V3_set_ctx 1019 1_1_0d EXIST::FUNCTION: -CRYPTO_ocb128_copy_ctx 1020 1_1_0d EXIST::FUNCTION:OCB -i2a_ASN1_ENUMERATED 1021 1_1_0d EXIST::FUNCTION: -OCSP_archive_cutoff_new 1022 1_1_0d EXIST::FUNCTION:OCSP -EVP_bf_cbc 1023 1_1_0d EXIST::FUNCTION:BF -BN_mod_exp_mont 1024 1_1_0d EXIST::FUNCTION: -d2i_ECCCipher 1025 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -ASN1_UNIVERSALSTRING_to_string 1026 1_1_0d EXIST::FUNCTION: -ASN1_NULL_new 1027 1_1_0d EXIST::FUNCTION: -AES_ige_encrypt 1028 1_1_0d EXIST::FUNCTION: -RSA_set_RSAPUBLICKEYBLOB 1029 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF -UI_method_get_closer 1030 1_1_0d EXIST::FUNCTION:UI -X509_STORE_CTX_get0_param 1031 1_1_0d EXIST::FUNCTION: -TS_STATUS_INFO_free 1032 1_1_0d EXIST::FUNCTION:TS -EC_POINT_dup 1033 1_1_0d EXIST::FUNCTION:EC -X509_getm_notBefore 1034 1_1_0d EXIST::FUNCTION: -CMS_set_detached 1035 1_1_0d EXIST::FUNCTION:CMS -PBE2PARAM_it 1036 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PBE2PARAM_it 1036 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_SM9PublicParameters_fp 1037 1_1_0d EXIST::FUNCTION:SM9,STDIO -DES_ofb_encrypt 1038 1_1_0d EXIST::FUNCTION:DES -ENGINE_set_default_RSA 1039 1_1_0d EXIST::FUNCTION:ENGINE -BIO_ADDRINFO_protocol 1040 1_1_0d EXIST::FUNCTION:SOCK -X509_load_cert_crl_file 1041 1_1_0d EXIST::FUNCTION: -SAF_GenerateKeyWithEPK 1042 1_1_0d EXIST::FUNCTION: -OCSP_REQINFO_it 1043 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_REQINFO_it 1043 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -SDF_Decrypt 1044 1_1_0d EXIST::FUNCTION: -EC_KEY_get_ex_data 1045 1_1_0d EXIST::FUNCTION:EC -PEM_write_bio_Parameters 1046 1_1_0d EXIST::FUNCTION: -X509_ALGOR_get0 1047 1_1_0d EXIST::FUNCTION: -CMS_ReceiptRequest_get0_values 1048 1_1_0d EXIST::FUNCTION:CMS -RSA_set_RSArefPrivateKey 1049 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF -EC_POINTs_mul 1050 1_1_0d EXIST::FUNCTION:EC -TS_MSG_IMPRINT_dup 1051 1_1_0d EXIST::FUNCTION:TS -BN_BLINDING_invert_ex 1052 1_1_0d EXIST::FUNCTION: -RSA_get_ex_data 1053 1_1_0d EXIST::FUNCTION:RSA -CPK_MASTER_SECRET_get_name 1054 1_1_0d EXIST::FUNCTION:CPK -PKCS7_set_digest 1055 1_1_0d EXIST::FUNCTION: -SCT_get0_log_id 1056 1_1_0d EXIST::FUNCTION:CT -BN_mod_exp_simple 1057 1_1_0d EXIST::FUNCTION: -DSA_meth_get_mod_exp 1058 1_1_0d EXIST::FUNCTION:DSA -d2i_IPAddressFamily 1059 1_1_0d EXIST::FUNCTION:RFC3779 -PKCS7_free 1060 1_1_0d EXIST::FUNCTION: -DES_set_key_unchecked 1061 1_1_0d EXIST::FUNCTION:DES -EC_GROUP_get_basis_type 1062 1_1_0d EXIST::FUNCTION:EC -DH_set_method 1063 1_1_0d EXIST::FUNCTION:DH -ASN1_item_i2d 1064 1_1_0d EXIST::FUNCTION: -CRYPTO_ccm128_encrypt 1065 1_1_0d EXIST::FUNCTION: -X509_REVOKED_add1_ext_i2d 1066 1_1_0d EXIST::FUNCTION: -EC_GFp_mont_method 1067 1_1_0d EXIST::FUNCTION:EC -EVP_PKEY_assign 1068 1_1_0d EXIST::FUNCTION: -BN_mod_lshift_quick 1069 1_1_0d EXIST::FUNCTION: -ASN1_GENERALIZEDTIME_it 1070 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_GENERALIZEDTIME_it 1070 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_PKEY_meth_add0 1071 1_1_0d EXIST::FUNCTION: -BIO_asn1_get_prefix 1072 1_1_0d EXIST::FUNCTION: -i2v_GENERAL_NAME 1073 1_1_0d EXIST::FUNCTION: -X509_STORE_set1_param 1074 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_str2ctrl 1075 1_1_0d EXIST::FUNCTION: -RSA_padding_add_PKCS1_PSS 1076 1_1_0d EXIST::FUNCTION:RSA -ENGINE_register_all_DH 1077 1_1_0d EXIST::FUNCTION:ENGINE -d2i_DSAPrivateKey 1078 1_1_0d EXIST::FUNCTION:DSA -BN_GF2m_mod_sqr 1079 1_1_0d EXIST::FUNCTION:EC2M -GENERAL_NAME_dup 1080 1_1_0d EXIST::FUNCTION: -UI_OpenSSL 1081 1_1_0d EXIST::FUNCTION:UI -ECDSA_size 1082 1_1_0d EXIST::FUNCTION:EC -d2i_ASN1_ENUMERATED 1083 1_1_0d EXIST::FUNCTION: -X509_STORE_load_locations 1084 1_1_0d EXIST::FUNCTION: -ECDSA_do_verify 1085 1_1_0d EXIST::FUNCTION:EC -CRYPTO_ocb128_aad 1086 1_1_0d EXIST::FUNCTION:OCB -IDEA_ecb_encrypt 1087 1_1_0d EXIST::FUNCTION:IDEA -RSA_new_from_RSAPRIVATEKEYBLOB 1088 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF -SKF_ExportEVPPublicKey 1089 1_1_0d EXIST::FUNCTION:SKF -SCT_LIST_validate 1090 1_1_0d EXIST::FUNCTION:CT -ECIES_PARAMS_get_enc 1091 1_1_0d EXIST::FUNCTION:ECIES -DSA_generate_parameters 1092 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8,DSA -EVP_DecodeInit 1093 1_1_0d EXIST::FUNCTION: -DSO_merge 1094 1_1_0d EXIST::FUNCTION: -d2i_RSAPrivateKey 1095 1_1_0d EXIST::FUNCTION:RSA -PKCS7_get_signed_attribute 1096 1_1_0d EXIST::FUNCTION: -OCSP_request_add1_nonce 1097 1_1_0d EXIST::FUNCTION:OCSP -RIPEMD160_Final 1098 1_1_0d EXIST::FUNCTION:RMD160 -BN_bn2solinas 1099 1_1_0d EXIST::FUNCTION: -i2d_NETSCAPE_CERT_SEQUENCE 1100 1_1_0d EXIST::FUNCTION: -BN_bntest_rand 1101 1_1_0d EXIST::FUNCTION: -SXNET_get_id_ulong 1102 1_1_0d EXIST::FUNCTION: -SKF_ExtRSAPriKeyOperation 1103 1_1_0d EXIST::FUNCTION:SKF -ASN1_STRING_TABLE_get 1104 1_1_0d EXIST::FUNCTION: -EC_GROUP_dup 1105 1_1_0d EXIST::FUNCTION:EC -CMS_signed_add1_attr_by_txt 1106 1_1_0d EXIST::FUNCTION:CMS -SDF_ExternalVerify_ECC 1107 1_1_0d EXIST::FUNCTION: -EVP_DecodeUpdate 1108 1_1_0d EXIST::FUNCTION: -CPK_MASTER_SECRET_free 1109 1_1_0d EXIST::FUNCTION:CPK -CMS_dataFinal 1110 1_1_0d EXIST::FUNCTION:CMS -X509_STORE_get_lookup_certs 1111 1_1_0d EXIST::FUNCTION: -ASN1_item_d2i 1112 1_1_0d EXIST::FUNCTION: -PKCS7_SIGNED_it 1113 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_SIGNED_it 1113 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ENGINE_set_load_ssl_client_cert_function 1114 1_1_0d EXIST::FUNCTION:ENGINE -EVP_CIPHER_do_all 1115 1_1_0d EXIST::FUNCTION: -EVP_MD_get_sgd 1116 1_1_0d EXIST::FUNCTION:GMAPI -SKF_ImportPrivateKey 1117 1_1_0d EXIST::FUNCTION:SKF -EVP_PKEY_meth_set_init 1118 1_1_0d EXIST::FUNCTION: -RC2_cbc_encrypt 1119 1_1_0d EXIST::FUNCTION:RC2 -d2i_SM9PublicParameters 1120 1_1_0d EXIST::FUNCTION:SM9 -BUF_reverse 1121 1_1_0d EXIST::FUNCTION: -EVP_PKCS82PKEY 1122 1_1_0d EXIST::FUNCTION: -X509_policy_tree_level_count 1123 1_1_0d EXIST::FUNCTION: -RSA_meth_get0_app_data 1124 1_1_0d EXIST::FUNCTION:RSA -BIO_set_shutdown 1125 1_1_0d EXIST::FUNCTION: -SKF_UnloadLibrary 1126 1_1_0d EXIST::FUNCTION:SKF -ASN1_INTEGER_it 1127 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_INTEGER_it 1127 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BIO_copy_next_retry 1128 1_1_0d EXIST::FUNCTION: -EVP_PKEY_decrypt 1129 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_ecpkparameters 1130 1_1_0d EXIST::FUNCTION:EC -BIO_dump_indent_cb 1131 1_1_0d EXIST::FUNCTION: -PKCS7_encrypt 1132 1_1_0d EXIST::FUNCTION: -ERR_load_KDF2_strings 1133 1_1_0d EXIST::FUNCTION: -BN_is_zero 1134 1_1_0d EXIST::FUNCTION: -EVP_aes_192_cfb8 1135 1_1_0d EXIST::FUNCTION: -EVP_PBE_get 1136 1_1_0d EXIST::FUNCTION: -ECRS_verify 1137 1_1_0d EXIST::FUNCTION:ECRS -SAF_Pkcs7_EncodeEnvelopedData 1138 1_1_0d EXIST::FUNCTION: -ENGINE_register_ciphers 1139 1_1_0d EXIST::FUNCTION:ENGINE -X509_PKEY_new 1140 1_1_0d EXIST::FUNCTION: -CRYPTO_secure_malloc 1141 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_key_length 1142 1_1_0d EXIST::FUNCTION: -OCSP_REQUEST_delete_ext 1143 1_1_0d EXIST::FUNCTION:OCSP -BN_bn2binpad 1144 1_1_0d EXIST::FUNCTION: -OCSP_REQ_CTX_nbio 1145 1_1_0d EXIST::FUNCTION:OCSP -GENERAL_NAME_get0_value 1146 1_1_0d EXIST::FUNCTION: -BIO_up_ref 1147 1_1_0d EXIST::FUNCTION: -X509_LOOKUP_hash_dir 1148 1_1_0d EXIST::FUNCTION: -d2i_SCT_LIST 1149 1_1_0d EXIST::FUNCTION:CT -EVP_CIPHER_CTX_set_num 1150 1_1_0d EXIST::FUNCTION: -BIO_ADDR_hostname_string 1151 1_1_0d EXIST::FUNCTION:SOCK -DSA_meth_set_mod_exp 1152 1_1_0d EXIST::FUNCTION:DSA -PKCS7_SIGNED_free 1153 1_1_0d EXIST::FUNCTION: -i2d_OCSP_ONEREQ 1154 1_1_0d EXIST::FUNCTION:OCSP -PEM_write_PKCS8 1155 1_1_0d EXIST::FUNCTION:STDIO -SDF_CreateFile 1156 1_1_0d EXIST::FUNCTION: -PEM_write_bio_PaillierPublicKey 1157 1_1_0d EXIST::FUNCTION:PAILLIER -ECDH_compute_key 1158 1_1_0d EXIST::FUNCTION:EC -i2d_re_X509_tbs 1159 1_1_0d EXIST::FUNCTION: -EVP_aes_128_wrap_pad 1160 1_1_0d EXIST::FUNCTION: -X509_CRL_set1_nextUpdate 1161 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set_time 1162 1_1_0d EXIST::FUNCTION: -ASN1_UTF8STRING_new 1163 1_1_0d EXIST::FUNCTION: -ERR_peek_last_error_line_data 1164 1_1_0d EXIST::FUNCTION: -RSA_meth_get_flags 1165 1_1_0d EXIST::FUNCTION:RSA -SM9_MASTER_KEY_up_ref 1166 1_1_0d EXIST::FUNCTION:SM9 -SAF_ImportEncedKey 1167 1_1_0d EXIST::FUNCTION: -PEM_write_PKCS7 1168 1_1_0d EXIST::FUNCTION:STDIO -X509_STORE_CTX_get_explicit_policy 1169 1_1_0d EXIST::FUNCTION: -EVP_DigestSignInit 1170 1_1_0d EXIST::FUNCTION: -BN_cmp 1171 1_1_0d EXIST::FUNCTION: -PEM_write_DHxparams 1172 1_1_0d EXIST::FUNCTION:DH,STDIO -ZUC_128eia3_update 1173 1_1_0d EXIST::FUNCTION:ZUC -SDF_OpenDevice 1174 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_new 1175 1_1_0d EXIST::FUNCTION: -ASN1_PRINTABLE_free 1176 1_1_0d EXIST::FUNCTION: -CRYPTO_THREAD_set_local 1177 1_1_0d EXIST::FUNCTION: -i2a_ASN1_OBJECT 1178 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_cmp 1179 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_kari_get0_ctx 1180 1_1_0d EXIST::FUNCTION:CMS -CMS_signed_add1_attr 1181 1_1_0d EXIST::FUNCTION:CMS -d2i_PKCS8_PRIV_KEY_INFO 1182 1_1_0d EXIST::FUNCTION: -TS_RESP_verify_token 1183 1_1_0d EXIST::FUNCTION:TS -DIST_POINT_set_dpname 1184 1_1_0d EXIST::FUNCTION: -PEM_write_bio_PKCS8PrivateKey_nid 1185 1_1_0d EXIST::FUNCTION: -TS_ACCURACY_set_seconds 1186 1_1_0d EXIST::FUNCTION:TS -X509_PURPOSE_get_id 1187 1_1_0d EXIST::FUNCTION: -BIO_meth_set_callback_ctrl 1188 1_1_0d EXIST::FUNCTION: -ENGINE_set_destroy_function 1189 1_1_0d EXIST::FUNCTION:ENGINE -SDF_PrintECCPublicKey 1190 1_1_0d EXIST::FUNCTION:SDF -IPAddressRange_free 1191 1_1_0d EXIST::FUNCTION:RFC3779 -TS_STATUS_INFO_set_status 1192 1_1_0d EXIST::FUNCTION:TS -d2i_NETSCAPE_SPKAC 1193 1_1_0d EXIST::FUNCTION: -PEM_read_X509 1194 1_1_0d EXIST::FUNCTION:STDIO -DH_meth_set0_app_data 1195 1_1_0d EXIST::FUNCTION:DH -EC_KEY_get_flags 1196 1_1_0d EXIST::FUNCTION:EC -SCT_set0_extensions 1197 1_1_0d EXIST::FUNCTION:CT -CMS_RecipientInfo_kari_get0_alg 1198 1_1_0d EXIST::FUNCTION:CMS -SM9Signature_new 1199 1_1_0d EXIST::FUNCTION:SM9 -BN_is_prime_fasttest 1200 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 -i2d_BASIC_CONSTRAINTS 1201 1_1_0d EXIST::FUNCTION: -BB1PrivateKeyBlock_free 1202 1_1_0d EXIST::FUNCTION:BB1IBE -SAF_SM2_EncodeEnvelopedData 1203 1_1_0d EXIST::FUNCTION: -EVP_aes_128_ofb 1204 1_1_0d EXIST::FUNCTION: -X509_SIG_get0 1205 1_1_0d EXIST::FUNCTION: -i2d_SM9PublicParameters_bio 1206 1_1_0d EXIST::FUNCTION:SM9 -ACCESS_DESCRIPTION_new 1207 1_1_0d EXIST::FUNCTION: -X509_REQ_add1_attr_by_NID 1208 1_1_0d EXIST::FUNCTION: -SM9_signature_size 1209 1_1_0d EXIST::FUNCTION:SM9 -EVP_MD_flags 1210 1_1_0d EXIST::FUNCTION: -ERR_load_UI_strings 1211 1_1_0d EXIST::FUNCTION:UI -SAF_SM2_DecodeEnvelopedData 1212 1_1_0d EXIST::FUNCTION: -X509_CRL_get_ext_by_OBJ 1213 1_1_0d EXIST::FUNCTION: -d2i_PKCS8_PRIV_KEY_INFO_fp 1214 1_1_0d EXIST::FUNCTION:STDIO -RSA_verify_PKCS1_PSS 1215 1_1_0d EXIST::FUNCTION:RSA -TS_ACCURACY_new 1216 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_keygen 1217 1_1_0d EXIST::FUNCTION: -ENGINE_finish 1218 1_1_0d EXIST::FUNCTION:ENGINE -ENGINE_get_EC 1219 1_1_0d EXIST::FUNCTION:ENGINE -X509at_get0_data_by_OBJ 1220 1_1_0d EXIST::FUNCTION: -PKCS7_SIGNER_INFO_new 1221 1_1_0d EXIST::FUNCTION: -CMS_add0_recipient_password 1222 1_1_0d EXIST::FUNCTION:CMS -ECDSA_sign 1223 1_1_0d EXIST::FUNCTION:EC -PKCS8_add_keyusage 1224 1_1_0d EXIST::FUNCTION: -EC_GROUP_new_from_ecparameters 1225 1_1_0d EXIST::FUNCTION:EC -ENGINE_get_load_privkey_function 1226 1_1_0d EXIST::FUNCTION:ENGINE -ASN1_TBOOLEAN_it 1227 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_TBOOLEAN_it 1227 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PEM_read_bio_PrivateKey 1228 1_1_0d EXIST::FUNCTION: -EVP_MD_pkey_type 1229 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_verifyctx 1230 1_1_0d EXIST::FUNCTION: -CMS_get0_SignerInfos 1231 1_1_0d EXIST::FUNCTION:CMS -X509_VERIFY_PARAM_free 1232 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_get_sgd 1233 1_1_0d EXIST::FUNCTION:GMAPI -TS_TST_INFO_get_msg_imprint 1234 1_1_0d EXIST::FUNCTION:TS -X509_STORE_get_lookup_crls 1235 1_1_0d EXIST::FUNCTION: -BIO_socket 1236 1_1_0d EXIST::FUNCTION:SOCK -X509_CRL_get0_by_serial 1237 1_1_0d EXIST::FUNCTION: -ZUC_128eia3_final 1238 1_1_0d EXIST::FUNCTION:ZUC -SRP_create_verifier_BN 1239 1_1_0d EXIST::FUNCTION:SRP -X509_set_serialNumber 1240 1_1_0d EXIST::FUNCTION: -SCT_set1_signature 1241 1_1_0d EXIST::FUNCTION:CT -RSA_padding_check_PKCS1_type_1 1242 1_1_0d EXIST::FUNCTION:RSA -PKCS12_pack_authsafes 1243 1_1_0d EXIST::FUNCTION: -ASN1_OBJECT_new 1244 1_1_0d EXIST::FUNCTION: -DH_get0_engine 1245 1_1_0d EXIST::FUNCTION:DH -ASN1_STRING_length 1246 1_1_0d EXIST::FUNCTION: -CMS_get1_certs 1247 1_1_0d EXIST::FUNCTION:CMS -RSA_new_from_RSArefPublicKey 1248 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF -OCSP_REQINFO_new 1249 1_1_0d EXIST::FUNCTION:OCSP -CRYPTO_THREAD_init_local 1250 1_1_0d EXIST::FUNCTION: -SDF_HashUpdate 1251 1_1_0d EXIST::FUNCTION: -ZUC_generate_keyword 1252 1_1_0d EXIST::FUNCTION:ZUC -NOTICEREF_it 1253 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -NOTICEREF_it 1253 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PEM_read_bio_SM9PublicKey 1254 1_1_0d EXIST::FUNCTION:SM9 -PEM_write_bio_PrivateKey 1255 1_1_0d EXIST::FUNCTION: -ASN1_item_print 1256 1_1_0d EXIST::FUNCTION: -X509_CRL_get0_nextUpdate 1257 1_1_0d EXIST::FUNCTION: -UI_construct_prompt 1258 1_1_0d EXIST::FUNCTION:UI -ASN1_SCTX_free 1259 1_1_0d EXIST::FUNCTION: -d2i_X509_CINF 1260 1_1_0d EXIST::FUNCTION: -EC_KEY_get0_group 1261 1_1_0d EXIST::FUNCTION:EC -EVP_des_ofb 1262 1_1_0d EXIST::FUNCTION:DES -OCSP_REQINFO_free 1263 1_1_0d EXIST::FUNCTION:OCSP -d2i_DISPLAYTEXT 1264 1_1_0d EXIST::FUNCTION: -PKCS7_add_crl 1265 1_1_0d EXIST::FUNCTION: -EC_KEY_get_ECCrefPublicKey 1266 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -BIO_set_callback_arg 1267 1_1_0d EXIST::FUNCTION: -OBJ_obj2nid 1268 1_1_0d EXIST::FUNCTION: -SKF_RSAVerify 1269 1_1_0d EXIST::FUNCTION:SKF -OPENSSL_sk_insert 1270 1_1_0d EXIST::FUNCTION: -EC_POINT_invert 1271 1_1_0d EXIST::FUNCTION:EC -EC_KEY_up_ref 1272 1_1_0d EXIST::FUNCTION:EC -BIO_new_PKCS7 1273 1_1_0d EXIST::FUNCTION: -b2i_PublicKey 1274 1_1_0d EXIST::FUNCTION:DSA -SEED_decrypt 1275 1_1_0d EXIST::FUNCTION:SEED -SM9_unwrap_key 1276 1_1_0d EXIST::FUNCTION:SM9 -SDF_InternalVerify_ECC 1277 1_1_0d EXIST::FUNCTION: -TS_REQ_get_nonce 1278 1_1_0d EXIST::FUNCTION:TS -DH_meth_get_init 1279 1_1_0d EXIST::FUNCTION:DH -a2i_GENERAL_NAME 1280 1_1_0d EXIST::FUNCTION: -BFPrivateKeyBlock_new 1281 1_1_0d EXIST::FUNCTION:BFIBE -X509_STORE_CTX_set_default 1282 1_1_0d EXIST::FUNCTION: -X509V3_conf_free 1283 1_1_0d EXIST::FUNCTION: -SKF_CloseDevice 1284 1_1_0d EXIST::FUNCTION:SKF -ASRange_new 1285 1_1_0d EXIST::FUNCTION:RFC3779 -CMS_add1_crl 1286 1_1_0d EXIST::FUNCTION:CMS -X509V3_EXT_get 1287 1_1_0d EXIST::FUNCTION: -ASN1_INTEGER_new 1288 1_1_0d EXIST::FUNCTION: -i2d_OCSP_REQINFO 1289 1_1_0d EXIST::FUNCTION:OCSP -TS_TST_INFO_set_tsa 1290 1_1_0d EXIST::FUNCTION:TS -BIO_meth_get_create 1291 1_1_0d EXIST::FUNCTION: -ASN1_INTEGER_dup 1292 1_1_0d EXIST::FUNCTION: -RSA_meth_set_init 1293 1_1_0d EXIST::FUNCTION:RSA -BIO_new_connect 1294 1_1_0d EXIST::FUNCTION:SOCK -EVP_DigestFinal 1295 1_1_0d EXIST::FUNCTION: -EVP_aes_128_ctr 1296 1_1_0d EXIST::FUNCTION: -ECRS_size 1297 1_1_0d EXIST::FUNCTION:ECRS -CMS_RecipientInfo_get0_pkey_ctx 1298 1_1_0d EXIST::FUNCTION:CMS -OCSP_BASICRESP_delete_ext 1299 1_1_0d EXIST::FUNCTION:OCSP -BFPublicParameters_free 1300 1_1_0d EXIST::FUNCTION:BFIBE -ASN1_SCTX_set_app_data 1301 1_1_0d EXIST::FUNCTION: -i2d_BFMasterSecret 1302 1_1_0d EXIST::FUNCTION:BFIBE -ENGINE_pkey_asn1_find_str 1303 1_1_0d EXIST::FUNCTION:ENGINE -ASN1_UNIVERSALSTRING_it 1304 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_UNIVERSALSTRING_it 1304 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -DES_ede3_cfb_encrypt 1305 1_1_0d EXIST::FUNCTION:DES -SAF_Initialize 1306 1_1_0d EXIST::FUNCTION: -d2i_PKCS7 1307 1_1_0d EXIST::FUNCTION: -SDF_PrintECCCipher 1308 1_1_0d EXIST::FUNCTION:SDF -ASN1_add_oid_module 1309 1_1_0d EXIST::FUNCTION: -BN_mask_bits 1310 1_1_0d EXIST::FUNCTION: -ASN1_item_digest 1311 1_1_0d EXIST::FUNCTION: -i2d_PKCS7_SIGNED 1312 1_1_0d EXIST::FUNCTION: -EVP_PKEY_size 1313 1_1_0d EXIST::FUNCTION: -PAILLIER_security_bits 1314 1_1_0d EXIST::FUNCTION:PAILLIER -IPAddressOrRange_it 1315 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -IPAddressOrRange_it 1315 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -EVP_camellia_192_cfb8 1316 1_1_0d EXIST::FUNCTION:CAMELLIA -EVP_MD_CTX_copy_ex 1317 1_1_0d EXIST::FUNCTION: -PEM_read_ECPrivateKey 1318 1_1_0d EXIST::FUNCTION:EC,STDIO -CMS_RecipientInfo_kari_decrypt 1319 1_1_0d EXIST::FUNCTION:CMS -ASN1_GENERALSTRING_free 1320 1_1_0d EXIST::FUNCTION: -COMP_CTX_get_type 1321 1_1_0d EXIST::FUNCTION:COMP -ERR_clear_error 1322 1_1_0d EXIST::FUNCTION: -sms4_ctr128_encrypt 1323 1_1_0d EXIST::FUNCTION:SMS4 -ASN1_SCTX_get_app_data 1324 1_1_0d EXIST::FUNCTION: -i2d_ECRS_SIG 1325 1_1_0d EXIST::FUNCTION:ECRS -PEM_write_bio_SM9_MASTER_PUBKEY 1326 1_1_0d EXIST::FUNCTION:SM9 -IPAddressOrRange_new 1327 1_1_0d EXIST::FUNCTION:RFC3779 -X509_CRL_http_nbio 1328 1_1_0d EXIST::FUNCTION:OCSP -CMS_set1_eContentType 1329 1_1_0d EXIST::FUNCTION:CMS -d2i_BFMasterSecret 1330 1_1_0d EXIST::FUNCTION:BFIBE -CONF_imodule_set_usr_data 1331 1_1_0d EXIST::FUNCTION: -PKCS12_item_pack_safebag 1332 1_1_0d EXIST::FUNCTION: -PKCS12_get_attr_gen 1333 1_1_0d EXIST::FUNCTION: -X509_check_email 1334 1_1_0d EXIST::FUNCTION: -X509_NAME_free 1335 1_1_0d EXIST::FUNCTION: -BIO_dup_chain 1336 1_1_0d EXIST::FUNCTION: -EC_POINT_bn2point 1337 1_1_0d EXIST::FUNCTION:EC -DSA_get_method 1338 1_1_0d EXIST::FUNCTION:DSA -ERR_error_string_n 1339 1_1_0d EXIST::FUNCTION: -BB1CiphertextBlock_free 1340 1_1_0d EXIST::FUNCTION:BB1IBE -TS_RESP_CTX_set_def_policy 1341 1_1_0d EXIST::FUNCTION:TS -DSA_get_ex_data 1342 1_1_0d EXIST::FUNCTION:DSA -EVP_PKEY_meth_get_verify_recover 1343 1_1_0d EXIST::FUNCTION: -X509_NAME_get_index_by_OBJ 1344 1_1_0d EXIST::FUNCTION: -X509_STORE_set_get_crl 1345 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get0_current_issuer 1346 1_1_0d EXIST::FUNCTION: -TS_CONF_set_certs 1347 1_1_0d EXIST::FUNCTION:TS -SKF_GetDevState 1348 1_1_0d EXIST::FUNCTION:SKF -ASN1_i2d_bio 1349 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_new 1350 1_1_0d EXIST::FUNCTION: -X509_get1_ocsp 1351 1_1_0d EXIST::FUNCTION: -BIO_dgram_is_sctp 1352 1_1_0d EXIST::FUNCTION:DGRAM,SCTP -i2d_ASN1_T61STRING 1353 1_1_0d EXIST::FUNCTION: -PEM_read_PKCS8 1354 1_1_0d EXIST::FUNCTION:STDIO -DSA_meth_get_verify 1355 1_1_0d EXIST::FUNCTION:DSA -X509_REQ_get_attr 1356 1_1_0d EXIST::FUNCTION: -TS_STATUS_INFO_get0_text 1357 1_1_0d EXIST::FUNCTION:TS -OCSP_ONEREQ_get_ext_by_NID 1358 1_1_0d EXIST::FUNCTION:OCSP -EVP_camellia_192_cbc 1359 1_1_0d EXIST::FUNCTION:CAMELLIA -OPENSSL_init_crypto 1360 1_1_0d EXIST::FUNCTION: -i2d_RSA_OAEP_PARAMS 1361 1_1_0d EXIST::FUNCTION:RSA -ASN1_OCTET_STRING_cmp 1362 1_1_0d EXIST::FUNCTION: -ENGINE_get_ciphers 1363 1_1_0d EXIST::FUNCTION:ENGINE -CMS_ReceiptRequest_new 1364 1_1_0d EXIST::FUNCTION:CMS -CMS_RecipientInfo_kari_orig_id_cmp 1365 1_1_0d EXIST::FUNCTION:CMS -EC_POINT_oct2point 1366 1_1_0d EXIST::FUNCTION:EC -SDF_ReleasePrivateKeyAccessRight 1367 1_1_0d EXIST::FUNCTION: -DH_meth_set_init 1368 1_1_0d EXIST::FUNCTION:DH -OCSP_RESPONSE_print 1369 1_1_0d EXIST::FUNCTION:OCSP -CRYPTO_xts128_encrypt 1370 1_1_0d EXIST::FUNCTION: -d2i_ISSUING_DIST_POINT 1371 1_1_0d EXIST::FUNCTION: -SKF_ExportRSAPublicKey 1372 1_1_0d EXIST::FUNCTION:SKF -EVP_PKEY_get1_SM9 1373 1_1_0d EXIST::FUNCTION:SM9 -RSA_meth_set_flags 1374 1_1_0d EXIST::FUNCTION:RSA -a2i_ASN1_ENUMERATED 1375 1_1_0d EXIST::FUNCTION: -SOF_ExportExchangeUserCert 1376 1_1_0d EXIST::FUNCTION: -CMS_ReceiptRequest_create0 1377 1_1_0d EXIST::FUNCTION:CMS -IDEA_set_decrypt_key 1378 1_1_0d EXIST::FUNCTION:IDEA -ENGINE_set_default_EC 1379 1_1_0d EXIST::FUNCTION:ENGINE -NETSCAPE_SPKI_sign 1380 1_1_0d EXIST::FUNCTION: -OCSP_REQ_CTX_nbio_d2i 1381 1_1_0d EXIST::FUNCTION:OCSP -ERR_load_SAF_strings 1382 1_1_0d EXIST::FUNCTION:SAF -SMIME_crlf_copy 1383 1_1_0d EXIST::FUNCTION: -X509_to_X509_REQ 1384 1_1_0d EXIST::FUNCTION: -ERR_load_OBJ_strings 1385 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get1_SM9_MASTER 1386 1_1_0d EXIST::FUNCTION:SM9 -BIO_sock_init 1387 1_1_0d EXIST::FUNCTION:SOCK -X509_NAME_ENTRY_get_data 1388 1_1_0d EXIST::FUNCTION: -CMS_signed_delete_attr 1389 1_1_0d EXIST::FUNCTION:CMS -EVP_MD_CTX_pkey_ctx 1390 1_1_0d EXIST::FUNCTION: -RAND_load_file 1391 1_1_0d EXIST::FUNCTION: -BN_GF2m_arr2poly 1392 1_1_0d EXIST::FUNCTION:EC2M -PKCS12_add_cert 1393 1_1_0d EXIST::FUNCTION: -BIO_set_callback 1394 1_1_0d EXIST::FUNCTION: -BUF_MEM_new_ex 1395 1_1_0d EXIST::FUNCTION: -SAF_GetCertFromLdap 1396 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set0_untrusted 1397 1_1_0d EXIST::FUNCTION: -ASN1_item_d2i_fp 1398 1_1_0d EXIST::FUNCTION:STDIO -speck_decrypt32 1399 1_1_0d EXIST::FUNCTION:SPECK -ESS_SIGNING_CERT_dup 1400 1_1_0d EXIST::FUNCTION:TS -ASN1_STRING_copy 1401 1_1_0d EXIST::FUNCTION: -CMS_encrypt 1402 1_1_0d EXIST::FUNCTION:CMS -X509_INFO_new 1403 1_1_0d EXIST::FUNCTION: -SAF_Pkcs7_EncodeDigestedData 1404 1_1_0d EXIST::FUNCTION: -OBJ_txt2obj 1405 1_1_0d EXIST::FUNCTION: -PEM_ASN1_read 1406 1_1_0d EXIST::FUNCTION:STDIO -CRYPTO_memcmp 1407 1_1_0d EXIST::FUNCTION: -X509_trusted 1408 1_1_0d EXIST::FUNCTION: -EVP_PBE_cleanup 1409 1_1_0d EXIST::FUNCTION: -X509_policy_level_node_count 1410 1_1_0d EXIST::FUNCTION: -X509_CRL_check_suiteb 1411 1_1_0d EXIST::FUNCTION: -d2i_OCSP_REQINFO 1412 1_1_0d EXIST::FUNCTION:OCSP -DSA_meth_set_paramgen 1413 1_1_0d EXIST::FUNCTION:DSA -PKCS7_ISSUER_AND_SERIAL_free 1414 1_1_0d EXIST::FUNCTION: -SXNET_it 1415 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -SXNET_it 1415 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CRYPTO_gcm128_finish 1416 1_1_0d EXIST::FUNCTION: -X509_get0_pubkey 1417 1_1_0d EXIST::FUNCTION: -ASYNC_WAIT_CTX_new 1418 1_1_0d EXIST::FUNCTION: -X509_CRL_sort 1419 1_1_0d EXIST::FUNCTION: -ASYNC_WAIT_CTX_get_fd 1420 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_get_ext_count 1421 1_1_0d EXIST::FUNCTION:OCSP -CMS_dataInit 1422 1_1_0d EXIST::FUNCTION:CMS -RAND_query_egd_bytes 1423 1_1_0d EXIST::FUNCTION:EGD -PEM_read_bio_NETSCAPE_CERT_SEQUENCE 1424 1_1_0d EXIST::FUNCTION: -PKCS7_DIGEST_new 1425 1_1_0d EXIST::FUNCTION: -PKCS7_SIGN_ENVELOPE_free 1426 1_1_0d EXIST::FUNCTION: -ENGINE_set_init_function 1427 1_1_0d EXIST::FUNCTION:ENGINE -CMS_unsigned_delete_attr 1428 1_1_0d EXIST::FUNCTION:CMS -X509_STORE_CTX_get1_certs 1429 1_1_0d EXIST::FUNCTION: -X509_reject_clear 1430 1_1_0d EXIST::FUNCTION: -PKCS7_ISSUER_AND_SERIAL_new 1431 1_1_0d EXIST::FUNCTION: -EVP_camellia_128_ctr 1432 1_1_0d EXIST::FUNCTION:CAMELLIA -PKCS12_setup_mac 1433 1_1_0d EXIST::FUNCTION: -EXTENDED_KEY_USAGE_free 1434 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_paramgen 1435 1_1_0d EXIST::FUNCTION: -MDC2_Final 1436 1_1_0d EXIST::FUNCTION:MDC2 -PKCS7_RECIP_INFO_free 1437 1_1_0d EXIST::FUNCTION: -DH_up_ref 1438 1_1_0d EXIST::FUNCTION:DH -BN_usub 1439 1_1_0d EXIST::FUNCTION: -ECDSA_sign_ex 1440 1_1_0d EXIST::FUNCTION:EC -TS_ACCURACY_get_millis 1441 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_meth_set_verify_recover 1442 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_set_trust 1443 1_1_0d EXIST::FUNCTION: -d2i_SM9PublicKey 1444 1_1_0d EXIST::FUNCTION:SM9 -X509_STORE_CTX_set0_param 1445 1_1_0d EXIST::FUNCTION: -BN_GFP2_mul_bn 1446 1_1_0d EXIST::FUNCTION: -i2d_AUTHORITY_INFO_ACCESS 1447 1_1_0d EXIST::FUNCTION: -CONF_modules_load_file 1448 1_1_0d EXIST::FUNCTION: -BIO_vfree 1449 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_set_ctrl 1450 1_1_0d EXIST::FUNCTION: -EC_GFp_nistp256_method 1451 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128 -d2i_OCSP_SERVICELOC 1452 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_asn1_get0 1453 1_1_0d EXIST::FUNCTION: -ENGINE_register_pkey_meths 1454 1_1_0d EXIST::FUNCTION:ENGINE -d2i_SM2_COSIGNER1_PROOF 1455 1_1_0d EXIST::FUNCTION:SM2 -UI_add_user_data 1456 1_1_0d EXIST::FUNCTION:UI -d2i_OCSP_CRLID 1457 1_1_0d EXIST::FUNCTION:OCSP -X509_LOOKUP_by_alias 1458 1_1_0d EXIST::FUNCTION: -DSO_flags 1459 1_1_0d EXIST::FUNCTION: -X509_SIG_free 1460 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_add1_ext_i2d 1461 1_1_0d EXIST::FUNCTION:OCSP -PKCS7_SIGNER_INFO_get0_algs 1462 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_set1_name 1463 1_1_0d EXIST::FUNCTION: -BIO_get_port 1464 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK -CRYPTO_secure_free 1465 1_1_0d EXIST::FUNCTION: -SM2_sign 1466 1_1_0d EXIST::FUNCTION:SM2 -d2i_IPAddressOrRange 1467 1_1_0d EXIST::FUNCTION:RFC3779 -BN_BLINDING_convert 1468 1_1_0d EXIST::FUNCTION: -PEM_write_bio_SM9MasterSecret 1469 1_1_0d EXIST::FUNCTION:SM9 -DSA_meth_get0_app_data 1470 1_1_0d EXIST::FUNCTION:DSA -ECIES_PARAMS_get_mac 1471 1_1_0d EXIST::FUNCTION:ECIES -PEM_read_X509_AUX 1472 1_1_0d EXIST::FUNCTION:STDIO -X509_REQ_get_extensions 1473 1_1_0d EXIST::FUNCTION: -OCSP_set_max_response_length 1474 1_1_0d EXIST::FUNCTION:OCSP -AES_set_decrypt_key 1475 1_1_0d EXIST::FUNCTION: -X509_REVOKED_dup 1476 1_1_0d EXIST::FUNCTION: -i2d_SM2CiphertextValue_bio 1477 1_1_0d EXIST::FUNCTION:SM2 -d2i_EC_PUBKEY_bio 1478 1_1_0d EXIST::FUNCTION:EC -ERR_load_BIO_strings 1479 1_1_0d EXIST::FUNCTION: -i2d_PKCS7_ENC_CONTENT 1480 1_1_0d EXIST::FUNCTION: -CMS_get1_ReceiptRequest 1481 1_1_0d EXIST::FUNCTION:CMS -CRYPTO_secure_malloc_initialized 1482 1_1_0d EXIST::FUNCTION: -ERR_peek_last_error_line 1483 1_1_0d EXIST::FUNCTION: -UI_method_set_flusher 1484 1_1_0d EXIST::FUNCTION:UI -CMS_get0_RecipientInfos 1485 1_1_0d EXIST::FUNCTION:CMS -OPENSSL_load_builtin_modules 1486 1_1_0d EXIST::FUNCTION: -X509_REQ_INFO_free 1487 1_1_0d EXIST::FUNCTION: -X509at_add1_attr_by_txt 1488 1_1_0d EXIST::FUNCTION: -EVP_cast5_cfb64 1489 1_1_0d EXIST::FUNCTION:CAST -DES_ecb3_encrypt 1490 1_1_0d EXIST::FUNCTION:DES -SKF_GenerateAgreementDataAndKeyWithECC 1491 1_1_0d EXIST::FUNCTION:SKF -PEM_write_bio_PKCS8_PRIV_KEY_INFO 1492 1_1_0d EXIST::FUNCTION: -PEM_read_bio_SM9_PUBKEY 1493 1_1_0d EXIST::FUNCTION:SM9 -d2i_X509_ALGOR 1494 1_1_0d EXIST::FUNCTION: -OCSP_response_create 1495 1_1_0d EXIST::FUNCTION:OCSP -X509_PUBKEY_new 1496 1_1_0d EXIST::FUNCTION: -i2d_PBKDF2PARAM 1497 1_1_0d EXIST::FUNCTION: -PEM_write_RSAPublicKey 1498 1_1_0d EXIST::FUNCTION:RSA,STDIO -PKCS12_item_i2d_encrypt 1499 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_cipher 1500 1_1_0d EXIST::FUNCTION: -CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE 1501 1_1_0d EXIST::FUNCTION:CT -d2i_ASIdentifierChoice 1502 1_1_0d EXIST::FUNCTION:RFC3779 -X509V3_EXT_print 1503 1_1_0d EXIST::FUNCTION: -CRYPTO_gcm128_setiv 1504 1_1_0d EXIST::FUNCTION: -EVP_PKEY_add1_attr 1505 1_1_0d EXIST::FUNCTION: -TS_CONF_set_clock_precision_digits 1506 1_1_0d EXIST::FUNCTION:TS -NAME_CONSTRAINTS_free 1507 1_1_0d EXIST::FUNCTION: -EVP_ENCODE_CTX_new 1508 1_1_0d EXIST::FUNCTION: -PKCS8_decrypt 1509 1_1_0d EXIST::FUNCTION: -BN_set_bit 1510 1_1_0d EXIST::FUNCTION: -PEM_read_bio_PaillierPrivateKey 1511 1_1_0d EXIST::FUNCTION:PAILLIER -PEM_write_PKCS8PrivateKey 1512 1_1_0d EXIST::FUNCTION:STDIO -i2d_X509_EXTENSION 1513 1_1_0d EXIST::FUNCTION: -CRYPTO_get_mem_functions 1514 1_1_0d EXIST::FUNCTION: -BN_GF2m_mod_arr 1515 1_1_0d EXIST::FUNCTION:EC2M -ASRange_free 1516 1_1_0d EXIST::FUNCTION:RFC3779 -OPENSSL_uni2asc 1517 1_1_0d EXIST::FUNCTION: -EC_GROUP_cmp 1518 1_1_0d EXIST::FUNCTION:EC -i2d_X509_CRL_INFO 1519 1_1_0d EXIST::FUNCTION: -PEM_read_EC_PUBKEY 1520 1_1_0d EXIST::FUNCTION:EC,STDIO -EVP_MD_do_all_sorted 1521 1_1_0d EXIST::FUNCTION: -TS_CONF_load_key 1522 1_1_0d EXIST::FUNCTION:TS -CPK_PUBLIC_PARAMS_validate_private_key 1523 1_1_0d EXIST::FUNCTION:CPK -PAILLIER_decrypt 1524 1_1_0d EXIST::FUNCTION:PAILLIER -DSAparams_print 1525 1_1_0d EXIST::FUNCTION:DSA -DSA_meth_set_finish 1526 1_1_0d EXIST::FUNCTION:DSA -d2i_SM9Ciphertext_bio 1527 1_1_0d EXIST::FUNCTION:SM9 -SRP_user_pwd_free 1528 1_1_0d EXIST::FUNCTION:SRP -CRYPTO_gcm128_aad 1529 1_1_0d EXIST::FUNCTION: -CERTIFICATEPOLICIES_it 1530 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -CERTIFICATEPOLICIES_it 1530 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_blake2s256 1531 1_1_0d EXIST::FUNCTION:BLAKE2 -SDF_GenerateKeyWithECC 1532 1_1_0d EXIST::FUNCTION: -EVP_PKEY_missing_parameters 1533 1_1_0d EXIST::FUNCTION: -X509_alias_set1 1534 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_set 1535 1_1_0d EXIST::FUNCTION: -d2i_OTHERNAME 1536 1_1_0d EXIST::FUNCTION: -d2i_ECPKParameters 1537 1_1_0d EXIST::FUNCTION:EC -DES_key_sched 1538 1_1_0d EXIST::FUNCTION:DES -CMAC_resume 1539 1_1_0d EXIST::FUNCTION:CMAC -EVP_PKEY_encrypt_init 1540 1_1_0d EXIST::FUNCTION: -ENGINE_get_pkey_asn1_meth_str 1541 1_1_0d EXIST::FUNCTION:ENGINE -CMS_sign 1542 1_1_0d EXIST::FUNCTION:CMS -X509v3_get_ext 1543 1_1_0d EXIST::FUNCTION: -EVP_MD_CTX_ctrl 1544 1_1_0d EXIST::FUNCTION: -EC_KEY_is_sm2p256v1 1545 1_1_0d EXIST::FUNCTION:SM2 -i2d_ASN1_BIT_STRING 1546 1_1_0d EXIST::FUNCTION: -d2i_ASN1_NULL 1547 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_set_security_bits 1548 1_1_0d EXIST::FUNCTION: -PKCS7_SIGNER_INFO_free 1549 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get0_SM9_MASTER 1550 1_1_0d EXIST::FUNCTION:SM9 -d2i_X509_REQ_INFO 1551 1_1_0d EXIST::FUNCTION: -i2d_OCSP_RESPDATA 1552 1_1_0d EXIST::FUNCTION:OCSP -UI_get_result_maxsize 1553 1_1_0d EXIST::FUNCTION:UI -CONF_load_bio 1554 1_1_0d EXIST::FUNCTION: -EXTENDED_KEY_USAGE_it 1555 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -EXTENDED_KEY_USAGE_it 1555 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ECPARAMETERS_free 1556 1_1_0d EXIST::FUNCTION:EC -ERR_load_FFX_strings 1557 1_1_0d EXIST::FUNCTION: -TS_MSG_IMPRINT_new 1558 1_1_0d EXIST::FUNCTION:TS -EVP_aes_192_cbc 1559 1_1_0d EXIST::FUNCTION: -EVP_Cipher 1560 1_1_0d EXIST::FUNCTION: -PEM_read_DSA_PUBKEY 1561 1_1_0d EXIST::FUNCTION:DSA,STDIO -d2i_RSA_PUBKEY_bio 1562 1_1_0d EXIST::FUNCTION:RSA -X509_PURPOSE_add 1563 1_1_0d EXIST::FUNCTION: -s2i_ASN1_IA5STRING 1564 1_1_0d EXIST::FUNCTION: -X509_get_subject_name 1565 1_1_0d EXIST::FUNCTION: -ASIdentifierChoice_free 1566 1_1_0d EXIST::FUNCTION:RFC3779 -PKCS7_SIGNER_INFO_set 1567 1_1_0d EXIST::FUNCTION: -RSA_bits 1568 1_1_0d EXIST::FUNCTION:RSA -RSA_meth_get0_name 1569 1_1_0d EXIST::FUNCTION:RSA -ASIdOrRange_it 1570 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -ASIdOrRange_it 1570 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -UI_method_set_writer 1571 1_1_0d EXIST::FUNCTION:UI -i2d_PUBKEY 1572 1_1_0d EXIST::FUNCTION: -PROXY_CERT_INFO_EXTENSION_it 1573 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PROXY_CERT_INFO_EXTENSION_it 1573 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_OCSP_CERTSTATUS 1574 1_1_0d EXIST::FUNCTION:OCSP -EVP_aes_192_gcm 1575 1_1_0d EXIST::FUNCTION: -FFX_CTX_new 1576 1_1_0d EXIST::FUNCTION: -BIO_number_written 1577 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_set_app_datasize 1578 1_1_0d EXIST::FUNCTION: -EVP_DecryptInit_ex 1579 1_1_0d EXIST::FUNCTION: -SXNET_add_id_ulong 1580 1_1_0d EXIST::FUNCTION: -X509_set1_notAfter 1581 1_1_0d EXIST::FUNCTION: -d2i_PKEY_USAGE_PERIOD 1582 1_1_0d EXIST::FUNCTION: -X509_TRUST_cleanup 1583 1_1_0d EXIST::FUNCTION: -X509_LOOKUP_by_fingerprint 1584 1_1_0d EXIST::FUNCTION: -SM9_MASTER_KEY_free 1585 1_1_0d EXIST::FUNCTION:SM9 -d2i_ASN1_UTCTIME 1586 1_1_0d EXIST::FUNCTION: -ASN1_BIT_STRING_set_asc 1587 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_get_set_asn1_params 1588 1_1_0d EXIST::FUNCTION: -X509_CRL_get_ext 1589 1_1_0d EXIST::FUNCTION: -i2s_ASN1_ENUMERATED_TABLE 1590 1_1_0d EXIST::FUNCTION: -CRYPTO_ccm128_aad 1591 1_1_0d EXIST::FUNCTION: -ENGINE_get_pkey_asn1_meth 1592 1_1_0d EXIST::FUNCTION:ENGINE -X509_EXTENSION_get_object 1593 1_1_0d EXIST::FUNCTION: -CMS_signed_get_attr_by_OBJ 1594 1_1_0d EXIST::FUNCTION:CMS -EC_GROUP_new_from_ecpkparameters 1595 1_1_0d EXIST::FUNCTION:EC -PEM_write_PaillierPublicKey 1596 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO -d2i_PKCS12 1597 1_1_0d EXIST::FUNCTION: -ENGINE_unregister_DH 1598 1_1_0d EXIST::FUNCTION:ENGINE -X509V3_EXT_conf 1599 1_1_0d EXIST::FUNCTION: -RSA_set0_factors 1600 1_1_0d EXIST::FUNCTION:RSA -X509_get_X509_PUBKEY 1601 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_ext_count 1602 1_1_0d EXIST::FUNCTION:TS -ENGINE_get_first 1603 1_1_0d EXIST::FUNCTION:ENGINE -CRYPTO_memdup 1604 1_1_0d EXIST::FUNCTION: -ASN1_STRING_set 1605 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_get0_name 1606 1_1_0d EXIST::FUNCTION: -SHA256_Final 1607 1_1_0d EXIST::FUNCTION: -FIPS_mode_set 1608 1_1_0d EXIST::FUNCTION: -BN_GENCB_new 1609 1_1_0d EXIST::FUNCTION: -EVP_camellia_256_cfb8 1610 1_1_0d EXIST::FUNCTION:CAMELLIA -OCSP_cert_status_str 1611 1_1_0d EXIST::FUNCTION:OCSP -CRYPTO_get_ex_data 1612 1_1_0d EXIST::FUNCTION: -EVP_aes_128_cbc 1613 1_1_0d EXIST::FUNCTION: -PEM_write_bio_RSA_PUBKEY 1614 1_1_0d EXIST::FUNCTION:RSA -OPENSSL_gmtime_diff 1615 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_add_ext 1616 1_1_0d EXIST::FUNCTION:TS -BN_rand 1617 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_ext_d2i 1618 1_1_0d EXIST::FUNCTION:TS -RAND_bytes 1619 1_1_0d EXIST::FUNCTION: -X509_REVOKED_it 1620 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_REVOKED_it 1620 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_SM9PrivateKey_bio 1621 1_1_0d EXIST::FUNCTION:SM9 -AUTHORITY_KEYID_it 1622 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -AUTHORITY_KEYID_it 1622 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_RSAPrivateKey_bio 1623 1_1_0d EXIST::FUNCTION:RSA -X509_VERIFY_PARAM_get0 1624 1_1_0d EXIST::FUNCTION: -DSA_set0_pqg 1625 1_1_0d EXIST::FUNCTION:DSA -BN_get0_nist_prime_384 1626 1_1_0d EXIST::FUNCTION: -ECPARAMETERS_new 1627 1_1_0d EXIST::FUNCTION:EC -d2i_ECRS_SIG 1628 1_1_0d EXIST::FUNCTION:ECRS -SKF_CloseHandle 1629 1_1_0d EXIST::FUNCTION:SKF -PKCS12_pack_p7data 1630 1_1_0d EXIST::FUNCTION: -PKCS7_dup 1631 1_1_0d EXIST::FUNCTION: -ECPKPARAMETERS_it 1632 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:EC -ECPKPARAMETERS_it 1632 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:EC -CMS_SignedData_init 1633 1_1_0d EXIST::FUNCTION:CMS -PKCS12_key_gen_uni 1634 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_copy 1635 1_1_0d EXIST::FUNCTION: -SMIME_write_ASN1 1636 1_1_0d EXIST::FUNCTION: -d2i_SM9PublicParameters_fp 1637 1_1_0d EXIST::FUNCTION:SM9,STDIO -DSA_SIG_free 1638 1_1_0d EXIST::FUNCTION:DSA -SOF_GetCertInfoByOid 1639 1_1_0d EXIST::FUNCTION: -OCSP_CERTID_new 1640 1_1_0d EXIST::FUNCTION:OCSP -PKCS7_ATTR_SIGN_it 1641 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_ATTR_SIGN_it 1641 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CMS_RecipientInfo_set0_pkey 1642 1_1_0d EXIST::FUNCTION:CMS -OCSP_BASICRESP_get_ext_by_OBJ 1643 1_1_0d EXIST::FUNCTION:OCSP -PEM_read_bio 1644 1_1_0d EXIST::FUNCTION: -sms4_encrypt 1645 1_1_0d EXIST::FUNCTION:SMS4 -CAST_encrypt 1646 1_1_0d EXIST::FUNCTION:CAST -PKCS8_PRIV_KEY_INFO_it 1647 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS8_PRIV_KEY_INFO_it 1647 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -RC4_options 1648 1_1_0d EXIST::FUNCTION:RC4 -EVP_PKEY_set1_PAILLIER 1649 1_1_0d EXIST::FUNCTION:PAILLIER -speck_encrypt32 1650 1_1_0d EXIST::FUNCTION:SPECK -IPAddressFamily_new 1651 1_1_0d EXIST::FUNCTION:RFC3779 -CMS_verify_receipt 1652 1_1_0d EXIST::FUNCTION:CMS -OBJ_find_sigid_algs 1653 1_1_0d EXIST::FUNCTION: -X509_REQ_set_pubkey 1654 1_1_0d EXIST::FUNCTION: -SDF_GenerateKeyWithEPK_ECC 1655 1_1_0d EXIST::FUNCTION: -OCSP_parse_url 1656 1_1_0d EXIST::FUNCTION:OCSP -EVP_CIPHER_key_length 1657 1_1_0d EXIST::FUNCTION: -SM9PrivateKey_get_public_key 1658 1_1_0d EXIST::FUNCTION:SM9 -EVP_PKEY_delete_attr 1659 1_1_0d EXIST::FUNCTION: -OBJ_bsearch_ex_ 1660 1_1_0d EXIST::FUNCTION: -BN_nist_mod_384 1661 1_1_0d EXIST::FUNCTION: -BN_is_negative 1662 1_1_0d EXIST::FUNCTION: -EVP_PKEY2PKCS8 1663 1_1_0d EXIST::FUNCTION: -ASN1_item_unpack 1664 1_1_0d EXIST::FUNCTION: -PEM_read_SM9PublicKey 1665 1_1_0d EXIST::FUNCTION:SM9,STDIO -CT_POLICY_EVAL_CTX_get0_cert 1666 1_1_0d EXIST::FUNCTION:CT -EC_GROUP_get0_cofactor 1667 1_1_0d EXIST::FUNCTION:EC -OPENSSL_LH_retrieve 1668 1_1_0d EXIST::FUNCTION: -OCSP_url_svcloc_new 1669 1_1_0d EXIST::FUNCTION:OCSP -RSA_new_from_RSArefPrivateKey 1670 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF -TS_ext_print_bio 1671 1_1_0d EXIST::FUNCTION:TS -SM2_COSIGNER2_PROOF_new 1672 1_1_0d EXIST::FUNCTION:SM2 -EC_KEY_METHOD_set_sign 1673 1_1_0d EXIST::FUNCTION:EC -SM9_MASTER_KEY_new 1674 1_1_0d EXIST::FUNCTION:SM9 -SCT_set1_log_id 1675 1_1_0d EXIST::FUNCTION:CT -SOF_SetSignMethod 1676 1_1_0d EXIST::FUNCTION: -d2i_SM9PrivateKey_fp 1677 1_1_0d EXIST::FUNCTION:SM9,STDIO -ENGINE_set_default_DH 1678 1_1_0d EXIST::FUNCTION:ENGINE -SDF_ExportSignPublicKey_RSA 1679 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_zero 1680 1_1_0d EXIST::FUNCTION: -AES_decrypt 1681 1_1_0d EXIST::FUNCTION: -CMS_SignerInfo_verify 1682 1_1_0d EXIST::FUNCTION:CMS -ASN1_INTEGER_to_BN 1683 1_1_0d EXIST::FUNCTION: -i2d_RSA_PSS_PARAMS 1684 1_1_0d EXIST::FUNCTION:RSA -d2i_ECPrivateKey_fp 1685 1_1_0d EXIST::FUNCTION:EC,STDIO -EC_KEY_set_flags 1686 1_1_0d EXIST::FUNCTION:EC -EVP_DigestVerifyInit 1687 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_delete_ext 1688 1_1_0d EXIST::FUNCTION:OCSP -X509_OBJECT_new 1689 1_1_0d EXIST::FUNCTION: -DH_meth_set_finish 1690 1_1_0d EXIST::FUNCTION:DH -SAF_GenerateAgreementDataAdnKeyWithECC 1691 1_1_0d EXIST::FUNCTION: -SKF_DecryptUpdate 1692 1_1_0d EXIST::FUNCTION:SKF -X509_up_ref 1693 1_1_0d EXIST::FUNCTION: -SOF_SignMessageDetach 1694 1_1_0d EXIST::FUNCTION: -X509_ALGOR_set0 1695 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_ktri_cert_cmp 1696 1_1_0d EXIST::FUNCTION:CMS -EVP_PKEY_meth_get_cleanup 1697 1_1_0d EXIST::FUNCTION: -d2i_BFPublicParameters 1698 1_1_0d EXIST::FUNCTION:BFIBE -OCSP_CERTSTATUS_it 1699 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_CERTSTATUS_it 1699 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -EVP_sms4_cfb8 1700 1_1_0d EXIST::FUNCTION:SMS4 -i2d_SM2_COSIGNER2_SHARE 1701 1_1_0d EXIST::FUNCTION:SM2 -CMS_signed_get_attr 1702 1_1_0d EXIST::FUNCTION:CMS -CPK_MASTER_SECRET_create 1703 1_1_0d EXIST::FUNCTION:CPK -EC_KEY_dup 1704 1_1_0d EXIST::FUNCTION:EC -BFCiphertextBlock_free 1705 1_1_0d EXIST::FUNCTION:BFIBE -X509_subject_name_hash_old 1706 1_1_0d EXIST::FUNCTION:MD5 -OPENSSL_sk_set_cmp_func 1707 1_1_0d EXIST::FUNCTION: -BIO_free 1708 1_1_0d EXIST::FUNCTION: -X509_REQ_free 1709 1_1_0d EXIST::FUNCTION: -X509_REVOKED_set_serialNumber 1710 1_1_0d EXIST::FUNCTION: -SCT_get_validation_status 1711 1_1_0d EXIST::FUNCTION:CT -CRYPTO_128_wrap_pad 1712 1_1_0d EXIST::FUNCTION: -X509_CRL_get0_signature 1713 1_1_0d EXIST::FUNCTION: -EVP_idea_ofb 1714 1_1_0d EXIST::FUNCTION:IDEA -UI_get_method 1715 1_1_0d EXIST::FUNCTION:UI -UI_dup_info_string 1716 1_1_0d EXIST::FUNCTION:UI -SM9_KEY_free 1717 1_1_0d EXIST::FUNCTION:SM9 -SDF_ImportKey 1718 1_1_0d EXIST::FUNCTION:SDF -X509_STORE_CTX_get0_store 1719 1_1_0d EXIST::FUNCTION: -CMS_signed_get0_data_by_OBJ 1720 1_1_0d EXIST::FUNCTION:CMS -POLICY_CONSTRAINTS_free 1721 1_1_0d EXIST::FUNCTION: -COMP_CTX_new 1722 1_1_0d EXIST::FUNCTION:COMP -X509_REVOKED_get_ext_by_NID 1723 1_1_0d EXIST::FUNCTION: -EVP_PKEY_base_id 1724 1_1_0d EXIST::FUNCTION: -RSA_sign 1725 1_1_0d EXIST::FUNCTION:RSA -HMAC_Update 1726 1_1_0d EXIST::FUNCTION: -UI_dup_input_boolean 1727 1_1_0d EXIST::FUNCTION:UI -HMAC_CTX_copy 1728 1_1_0d EXIST::FUNCTION: -PEM_read_PKCS7 1729 1_1_0d EXIST::FUNCTION:STDIO -X509_digest 1730 1_1_0d EXIST::FUNCTION: -PKCS8_encrypt 1731 1_1_0d EXIST::FUNCTION: -PAILLIER_free 1732 1_1_0d EXIST::FUNCTION:PAILLIER -OCSP_CRLID_it 1733 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_CRLID_it 1733 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -EVP_PKEY_CTX_set_app_data 1734 1_1_0d EXIST::FUNCTION: -i2d_SM9Signature_fp 1735 1_1_0d EXIST::FUNCTION:SM9,STDIO -SAF_EnumCertificates 1736 1_1_0d EXIST::FUNCTION: -a2d_ASN1_OBJECT 1737 1_1_0d EXIST::FUNCTION: -EC_KEY_clear_flags 1738 1_1_0d EXIST::FUNCTION:EC -EVP_EncodeFinal 1739 1_1_0d EXIST::FUNCTION: -ASIdOrRange_free 1740 1_1_0d EXIST::FUNCTION:RFC3779 -DSA_dup_DH 1741 1_1_0d EXIST::FUNCTION:DH,DSA -RC2_cfb64_encrypt 1742 1_1_0d EXIST::FUNCTION:RC2 -OCSP_resp_count 1743 1_1_0d EXIST::FUNCTION:OCSP -IPAddressRange_it 1744 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -IPAddressRange_it 1744 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -TS_STATUS_INFO_print_bio 1745 1_1_0d EXIST::FUNCTION:TS -OPENSSL_sk_new 1746 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_free 1747 1_1_0d EXIST::FUNCTION: -CTLOG_get0_log_id 1748 1_1_0d EXIST::FUNCTION:CT -speck_encrypt16 1749 1_1_0d EXIST::FUNCTION:SPECK -BN_GFP2_copy 1750 1_1_0d EXIST::FUNCTION: -BIO_callback_ctrl 1751 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_derive 1752 1_1_0d EXIST::FUNCTION: -SAF_GetErrorString 1753 1_1_0d EXIST::FUNCTION:SAF -CRYPTO_ctr128_encrypt 1754 1_1_0d EXIST::FUNCTION: -SCT_get_version 1755 1_1_0d EXIST::FUNCTION:CT -X509_alias_get0 1756 1_1_0d EXIST::FUNCTION: -X509_CRL_get_lastUpdate 1757 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -CRYPTO_mem_leaks_fp 1758 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG,STDIO -BN_is_word 1759 1_1_0d EXIST::FUNCTION: -CMS_SignerInfo_verify_content 1760 1_1_0d EXIST::FUNCTION:CMS -SKF_DigestUpdate 1761 1_1_0d EXIST::FUNCTION:SKF -SM2CiphertextValue_new 1762 1_1_0d EXIST::FUNCTION:SM2 -BB1PrivateKeyBlock_it 1763 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BB1IBE -BB1PrivateKeyBlock_it 1763 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BB1IBE -X509_STORE_CTX_init 1764 1_1_0d EXIST::FUNCTION: -DSO_new 1765 1_1_0d EXIST::FUNCTION: -BN_mod_sub_quick 1766 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get0_hmac 1767 1_1_0d EXIST::FUNCTION: -PEM_write_bio_DSAparams 1768 1_1_0d EXIST::FUNCTION:DSA -EVP_camellia_128_cfb1 1769 1_1_0d EXIST::FUNCTION:CAMELLIA -SM2_decrypt 1770 1_1_0d EXIST::FUNCTION:SM2 -EVP_DigestUpdate 1771 1_1_0d EXIST::FUNCTION: -SM9_extract_public_parameters 1772 1_1_0d EXIST::FUNCTION:SM9 -OBJ_sn2nid 1773 1_1_0d EXIST::FUNCTION: -PKCS12_add_friendlyname_utf8 1774 1_1_0d EXIST::FUNCTION: -ENGINE_get_ssl_client_cert_function 1775 1_1_0d EXIST::FUNCTION:ENGINE -DES_check_key_parity 1776 1_1_0d EXIST::FUNCTION:DES -X509at_add1_attr 1777 1_1_0d EXIST::FUNCTION: -SAF_Hash 1778 1_1_0d EXIST::FUNCTION: -ASN1_TIME_check 1779 1_1_0d EXIST::FUNCTION: -ASN1_GENERALIZEDTIME_new 1780 1_1_0d EXIST::FUNCTION: -SKF_ImportX509Certificate 1781 1_1_0d EXIST::FUNCTION:SKF -NETSCAPE_SPKI_get_pubkey 1782 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_get_ext_by_critical 1783 1_1_0d EXIST::FUNCTION:OCSP -EVP_MD_CTX_md_data 1784 1_1_0d EXIST::FUNCTION: -X509_CRL_set_issuer_name 1785 1_1_0d EXIST::FUNCTION: -ASN1_put_object 1786 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_set_cleanup 1787 1_1_0d EXIST::FUNCTION: -BN_lebin2bn 1788 1_1_0d EXIST::FUNCTION: -SOF_VerifySignedMessageDetach 1789 1_1_0d EXIST::FUNCTION: -X509_EXTENSION_get_data 1790 1_1_0d EXIST::FUNCTION: -X509_STORE_up_ref 1791 1_1_0d EXIST::FUNCTION: -PEM_bytes_read_bio 1792 1_1_0d EXIST::FUNCTION: -DHparams_it 1793 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DH -DHparams_it 1793 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DH -UTF8_putc 1794 1_1_0d EXIST::FUNCTION: -X509_CRL_get_ext_by_NID 1795 1_1_0d EXIST::FUNCTION: -i2d_PKCS8PrivateKeyInfo_bio 1796 1_1_0d EXIST::FUNCTION: -ASN1_ENUMERATED_set 1797 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_set0_key 1798 1_1_0d EXIST::FUNCTION:CMS -X509_PUBKEY_set 1799 1_1_0d EXIST::FUNCTION: -CMAC_Final 1800 1_1_0d EXIST::FUNCTION:CMAC -PEM_write_PUBKEY 1801 1_1_0d EXIST::FUNCTION:STDIO -TS_TST_INFO_delete_ext 1802 1_1_0d EXIST::FUNCTION:TS -IDEA_encrypt 1803 1_1_0d EXIST::FUNCTION:IDEA -X509_STORE_lock 1804 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get_attr_count 1805 1_1_0d EXIST::FUNCTION: -NCONF_load_bio 1806 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_create_by_txt 1807 1_1_0d EXIST::FUNCTION: -GENERAL_NAMES_free 1808 1_1_0d EXIST::FUNCTION: -ENGINE_add_conf_module 1809 1_1_0d EXIST::FUNCTION:ENGINE -SM2_cosigner1_generate_proof 1810 1_1_0d EXIST::FUNCTION:SM2 -CMS_data_create 1811 1_1_0d EXIST::FUNCTION:CMS -SXNET_add_id_INTEGER 1812 1_1_0d EXIST::FUNCTION: -MD5_Final 1813 1_1_0d EXIST::FUNCTION:MD5 -OCSP_id_cmp 1814 1_1_0d EXIST::FUNCTION:OCSP -UI_get_ex_data 1815 1_1_0d EXIST::FUNCTION:UI -PKCS12_SAFEBAG_get0_safes 1816 1_1_0d EXIST::FUNCTION: -PEM_read_RSAPublicKey 1817 1_1_0d EXIST::FUNCTION:RSA,STDIO -TS_MSG_IMPRINT_set_algo 1818 1_1_0d EXIST::FUNCTION:TS -EVP_MD_meth_set_final 1819 1_1_0d EXIST::FUNCTION: -AUTHORITY_INFO_ACCESS_free 1820 1_1_0d EXIST::FUNCTION: -EVP_idea_cfb64 1821 1_1_0d EXIST::FUNCTION:IDEA -DSA_sign_setup 1822 1_1_0d EXIST::FUNCTION:DSA -TS_CONF_set_ess_cert_id_chain 1823 1_1_0d EXIST::FUNCTION:TS -BFIBE_setup 1824 1_1_0d EXIST::FUNCTION:BFIBE -d2i_TS_RESP 1825 1_1_0d EXIST::FUNCTION:TS -X509_cmp_current_time 1826 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_type 1827 1_1_0d EXIST::FUNCTION:SM2 -BASIC_CONSTRAINTS_free 1828 1_1_0d EXIST::FUNCTION: -sm3_final 1829 1_1_0d EXIST::FUNCTION:SM3 -X509_STORE_add_crl 1830 1_1_0d EXIST::FUNCTION: -SCT_get0_extensions 1831 1_1_0d EXIST::FUNCTION:CT -EVP_rc2_cfb64 1832 1_1_0d EXIST::FUNCTION:RC2 -EVP_sms4_cbc 1833 1_1_0d EXIST::FUNCTION:SMS4 -ESS_SIGNING_CERT_new 1834 1_1_0d EXIST::FUNCTION:TS -ASN1_i2d_fp 1835 1_1_0d EXIST::FUNCTION:STDIO -PEM_write_bio_EC_PUBKEY 1836 1_1_0d EXIST::FUNCTION:EC -X509_PURPOSE_get_by_sname 1837 1_1_0d EXIST::FUNCTION: -SAF_VerifySignByCert 1838 1_1_0d EXIST::FUNCTION: -ASN1_IA5STRING_it 1839 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_IA5STRING_it 1839 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_PKEY_meth_set_keygen 1840 1_1_0d EXIST::FUNCTION: -ASN1_bn_print 1841 1_1_0d EXIST::FUNCTION: -OPENSSL_gmtime_adj 1842 1_1_0d EXIST::FUNCTION: -DES_string_to_2keys 1843 1_1_0d EXIST::FUNCTION:DES -PKCS12_SAFEBAG_get0_p8inf 1844 1_1_0d EXIST::FUNCTION: -SKF_DevAuth 1845 1_1_0d EXIST::FUNCTION:SKF -d2i_SM9MasterSecret_fp 1846 1_1_0d EXIST::FUNCTION:SM9,STDIO -EVP_CipherFinal_ex 1847 1_1_0d EXIST::FUNCTION: -EVP_SealInit 1848 1_1_0d EXIST::FUNCTION:RSA -EVP_EncryptUpdate 1849 1_1_0d EXIST::FUNCTION: -PEM_write_X509_REQ 1850 1_1_0d EXIST::FUNCTION:STDIO -BN_MONT_CTX_new 1851 1_1_0d EXIST::FUNCTION: -X509V3_get_d2i 1852 1_1_0d EXIST::FUNCTION: -RSA_get0_engine 1853 1_1_0d EXIST::FUNCTION:RSA -SKF_GetPINInfo 1854 1_1_0d EXIST::FUNCTION:SKF -DSO_convert_filename 1855 1_1_0d EXIST::FUNCTION: -d2i_ASN1_UTF8STRING 1856 1_1_0d EXIST::FUNCTION: -SDF_CloseSession 1857 1_1_0d EXIST::FUNCTION: -EVP_rc5_32_12_16_cfb64 1858 1_1_0d EXIST::FUNCTION:RC5 -CONF_modules_finish 1859 1_1_0d EXIST::FUNCTION: -ENGINE_init 1860 1_1_0d EXIST::FUNCTION:ENGINE -X509_TRUST_set_default 1861 1_1_0d EXIST::FUNCTION: -DSO_load 1862 1_1_0d EXIST::FUNCTION: -RC5_32_ecb_encrypt 1863 1_1_0d EXIST::FUNCTION:RC5 -CRYPTO_cts128_decrypt_block 1864 1_1_0d EXIST::FUNCTION: -SOF_GetEncryptMethod 1865 1_1_0d EXIST::FUNCTION: -X509V3_add_value 1866 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_set_int_octetstring 1867 1_1_0d EXIST::FUNCTION: -TS_REQ_set_nonce 1868 1_1_0d EXIST::FUNCTION:TS -X509_LOOKUP_file 1869 1_1_0d EXIST::FUNCTION: -EVP_PKEY_keygen_init 1870 1_1_0d EXIST::FUNCTION: -PKCS7_add_signed_attribute 1871 1_1_0d EXIST::FUNCTION: -ASN1_item_new 1872 1_1_0d EXIST::FUNCTION: -EVP_get_ciphernames 1873 1_1_0d EXIST::FUNCTION: -d2i_ASN1_INTEGER 1874 1_1_0d EXIST::FUNCTION: -ENGINE_get_id 1875 1_1_0d EXIST::FUNCTION:ENGINE -PAILLIER_size 1876 1_1_0d EXIST::FUNCTION:PAILLIER -EVP_CIPHER_asn1_to_param 1877 1_1_0d EXIST::FUNCTION: -d2i_AUTHORITY_KEYID 1878 1_1_0d EXIST::FUNCTION: -ASN1_PCTX_get_cert_flags 1879 1_1_0d EXIST::FUNCTION: -EVP_sms4_gcm 1880 1_1_0d EXIST::FUNCTION:SMS4 -BIO_ctrl_get_write_guarantee 1881 1_1_0d EXIST::FUNCTION: -BIO_f_asn1 1882 1_1_0d EXIST::FUNCTION: -EC_KEY_set_ECCrefPrivateKey 1883 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -SKF_MacInit 1884 1_1_0d EXIST::FUNCTION:SKF -i2d_IPAddressRange 1885 1_1_0d EXIST::FUNCTION:RFC3779 -PKCS7_SIGNED_new 1886 1_1_0d EXIST::FUNCTION: -FFX_CTX_free 1887 1_1_0d EXIST::FUNCTION: -EVP_get_default_digest 1888 1_1_0d EXIST::FUNCTION: -NOTICEREF_new 1889 1_1_0d EXIST::FUNCTION: -OPENSSL_INIT_free 1890 1_1_0d EXIST::FUNCTION: -SAF_RsaVerifySign 1891 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_set_set_asn1_params 1892 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_get_depth 1893 1_1_0d EXIST::FUNCTION: -SM9_SignInit 1894 1_1_0d EXIST::FUNCTION:SM9 -RSA_get_RSAPUBLICKEYBLOB 1895 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF -ASN1_T61STRING_it 1896 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_T61STRING_it 1896 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ECIES_PARAMS_init_with_recommended 1897 1_1_0d EXIST::FUNCTION:ECIES -UI_destroy_method 1898 1_1_0d EXIST::FUNCTION:UI -X509v3_asid_validate_path 1899 1_1_0d EXIST::FUNCTION:RFC3779 -X509_VERIFY_PARAM_set_depth 1900 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_set_signer_key 1901 1_1_0d EXIST::FUNCTION:TS -SDF_PrintECCPrivateKey 1902 1_1_0d EXIST::FUNCTION:SDF -ASN1_BMPSTRING_free 1903 1_1_0d EXIST::FUNCTION: -BN_rshift 1904 1_1_0d EXIST::FUNCTION: -SAF_Base64_EncodeUpdate 1905 1_1_0d EXIST::FUNCTION: -SOF_ExportUserCert 1906 1_1_0d EXIST::FUNCTION: -a2i_IPADDRESS 1907 1_1_0d EXIST::FUNCTION: -BN_GENCB_set 1908 1_1_0d EXIST::FUNCTION: -ASN1_INTEGER_get 1909 1_1_0d EXIST::FUNCTION: -HMAC_CTX_set_flags 1910 1_1_0d EXIST::FUNCTION: -i2d_ECDSA_SIG_fp 1911 1_1_0d EXIST::FUNCTION:EC,STDIO -BN_mod_mul_montgomery 1912 1_1_0d EXIST::FUNCTION: -BIO_set_ex_data 1913 1_1_0d EXIST::FUNCTION: -ECIES_decrypt 1914 1_1_0d EXIST::FUNCTION:ECIES -X509_NAME_get_text_by_NID 1915 1_1_0d EXIST::FUNCTION: -X509_add1_reject_object 1916 1_1_0d EXIST::FUNCTION: -UI_get0_action_string 1917 1_1_0d EXIST::FUNCTION:UI -BIO_lookup 1918 1_1_0d EXIST::FUNCTION:SOCK -SKF_CreateApplication 1919 1_1_0d EXIST::FUNCTION:SKF -DSA_set_flags 1920 1_1_0d EXIST::FUNCTION:DSA -EVP_aes_256_ccm 1921 1_1_0d EXIST::FUNCTION: -X509_REVOKED_free 1922 1_1_0d EXIST::FUNCTION: -ASN1_item_dup 1923 1_1_0d EXIST::FUNCTION: -X509_get_ext 1924 1_1_0d EXIST::FUNCTION: -OPENSSL_INIT_new 1925 1_1_0d EXIST::FUNCTION: -ERR_load_DSO_strings 1926 1_1_0d EXIST::FUNCTION: -OTHERNAME_it 1927 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -OTHERNAME_it 1927 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -OCSP_check_validity 1928 1_1_0d EXIST::FUNCTION:OCSP -EC_POINT_is_at_infinity 1929 1_1_0d EXIST::FUNCTION:EC -BN_GF2m_mod_sqr_arr 1930 1_1_0d EXIST::FUNCTION:EC2M -EC_POINT_clear_free 1931 1_1_0d EXIST::FUNCTION:EC -d2i_BB1PublicParameters 1932 1_1_0d EXIST::FUNCTION:BB1IBE -TS_VERIFY_CTX_set_imprint 1933 1_1_0d EXIST::FUNCTION:TS -ASN1_OCTET_STRING_NDEF_it 1934 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_OCTET_STRING_NDEF_it 1934 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SAF_VerifyCertificateByCrl 1935 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_set_accuracy 1936 1_1_0d EXIST::FUNCTION:TS -X509_policy_node_get0_policy 1937 1_1_0d EXIST::FUNCTION: -RC5_32_decrypt 1938 1_1_0d EXIST::FUNCTION:RC5 -ASN1_UTCTIME_print 1939 1_1_0d EXIST::FUNCTION: -ASN1_GENERALSTRING_new 1940 1_1_0d EXIST::FUNCTION: -AES_encrypt 1941 1_1_0d EXIST::FUNCTION: -ECDSA_do_sign 1942 1_1_0d EXIST::FUNCTION:EC -SM9_do_sign 1943 1_1_0d EXIST::FUNCTION:SM9 -POLICYINFO_it 1944 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -POLICYINFO_it 1944 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PKCS7_to_TS_TST_INFO 1945 1_1_0d EXIST::FUNCTION:TS -ASYNC_init_thread 1946 1_1_0d EXIST::FUNCTION: -CMS_ContentInfo_print_ctx 1947 1_1_0d EXIST::FUNCTION:CMS -EVP_aes_192_wrap_pad 1948 1_1_0d EXIST::FUNCTION: -d2i_IPAddressChoice 1949 1_1_0d EXIST::FUNCTION:RFC3779 -EVP_PKEY_encrypt_old 1950 1_1_0d EXIST::FUNCTION: -PKCS7_add_attrib_content_type 1951 1_1_0d EXIST::FUNCTION: -SMIME_write_PKCS7 1952 1_1_0d EXIST::FUNCTION: -DH_get_2048_256 1953 1_1_0d EXIST::FUNCTION:DH -i2d_CRL_DIST_POINTS 1954 1_1_0d EXIST::FUNCTION: -SDF_GenerateAgreementDataWithECC 1955 1_1_0d EXIST::FUNCTION: -RC4_set_key 1956 1_1_0d EXIST::FUNCTION:RC4 -EVP_PKEY_print_private 1957 1_1_0d EXIST::FUNCTION: -d2i_SM9MasterSecret_bio 1958 1_1_0d EXIST::FUNCTION:SM9 -SAF_DestroySymmAlgoObj 1959 1_1_0d EXIST::FUNCTION: -X509_get_pathlen 1960 1_1_0d EXIST::FUNCTION: -PEM_read_DHparams 1961 1_1_0d EXIST::FUNCTION:DH,STDIO -d2i_PAILLIER_PUBKEY 1962 1_1_0d EXIST::FUNCTION:PAILLIER -AUTHORITY_INFO_ACCESS_new 1963 1_1_0d EXIST::FUNCTION: -SAF_DestroyKeyHandle 1964 1_1_0d EXIST::FUNCTION: -OPENSSL_cleanup 1965 1_1_0d EXIST::FUNCTION: -BIO_ctrl_wpending 1966 1_1_0d EXIST::FUNCTION: -BIO_sock_should_retry 1967 1_1_0d EXIST::FUNCTION:SOCK -X509_VERIFY_PARAM_set_hostflags 1968 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_decrypt 1969 1_1_0d EXIST::FUNCTION:CMS -ASN1_OCTET_STRING_set 1970 1_1_0d EXIST::FUNCTION: -DH_new 1971 1_1_0d EXIST::FUNCTION:DH -X509_get_default_cert_area 1972 1_1_0d EXIST::FUNCTION: -i2s_ASN1_ENUMERATED 1973 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_cleanup 1974 1_1_0d EXIST::FUNCTION: -BIO_debug_callback 1975 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKAC_new 1976 1_1_0d EXIST::FUNCTION: -CMS_unsigned_add1_attr 1977 1_1_0d EXIST::FUNCTION:CMS -X509_CRL_get_issuer 1978 1_1_0d EXIST::FUNCTION: -ENGINE_get_cmd_defns 1979 1_1_0d EXIST::FUNCTION:ENGINE -CRYPTO_THREAD_run_once 1980 1_1_0d EXIST::FUNCTION: -i2d_PKCS8_bio 1981 1_1_0d EXIST::FUNCTION: -OPENSSL_LH_node_stats 1982 1_1_0d EXIST::FUNCTION:STDIO -i2d_TS_REQ_bio 1983 1_1_0d EXIST::FUNCTION:TS -EC_GROUP_new_by_curve_name 1984 1_1_0d EXIST::FUNCTION:EC -d2i_EDIPARTYNAME 1985 1_1_0d EXIST::FUNCTION: -BN_is_prime_fasttest_ex 1986 1_1_0d EXIST::FUNCTION: -EVP_camellia_192_ofb 1987 1_1_0d EXIST::FUNCTION:CAMELLIA -CMS_add0_recipient_key 1988 1_1_0d EXIST::FUNCTION:CMS -BN_generate_dsa_nonce 1989 1_1_0d EXIST::FUNCTION: -X509at_add1_attr_by_OBJ 1990 1_1_0d EXIST::FUNCTION: -X509_TRUST_get0_name 1991 1_1_0d EXIST::FUNCTION: -HMAC_Final 1992 1_1_0d EXIST::FUNCTION: -RSA_null_method 1993 1_1_0d EXIST::FUNCTION:RSA -i2d_IPAddressOrRange 1994 1_1_0d EXIST::FUNCTION:RFC3779 -BN_reciprocal 1995 1_1_0d EXIST::FUNCTION: -EC_KEY_generate_key 1996 1_1_0d EXIST::FUNCTION:EC -OCSP_SIGNATURE_it 1997 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_SIGNATURE_it 1997 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -EVP_camellia_256_ecb 1998 1_1_0d EXIST::FUNCTION:CAMELLIA -ECIES_encrypt 1999 1_1_0d EXIST::FUNCTION:ECIES -PKCS1_MGF1 2000 1_1_0d EXIST::FUNCTION:RSA -SM2CiphertextValue_get_ECCCipher 2001 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF,SM2 -DSA_SIG_set0 2002 1_1_0d EXIST::FUNCTION:DSA -DES_crypt 2003 1_1_0d EXIST::FUNCTION:DES -OCSP_CERTID_dup 2004 1_1_0d EXIST::FUNCTION:OCSP -i2d_PKCS12_BAGS 2005 1_1_0d EXIST::FUNCTION: -X509_NAME_add_entry_by_OBJ 2006 1_1_0d EXIST::FUNCTION: -BIO_int_ctrl 2007 1_1_0d EXIST::FUNCTION: -SM9PublicKey_it 2008 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 -SM9PublicKey_it 2008 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 -X509_CERT_AUX_it 2009 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_CERT_AUX_it 2009 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -OPENSSL_buf2hexstr 2010 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_ordering 2011 1_1_0d EXIST::FUNCTION:TS -PKCS7_set_cipher 2012 1_1_0d EXIST::FUNCTION: -BIO_get_callback 2013 1_1_0d EXIST::FUNCTION: -RSA_PKCS1_OpenSSL 2014 1_1_0d EXIST::FUNCTION:RSA -PEM_proc_type 2015 1_1_0d EXIST::FUNCTION: -BN_GFP2_equ 2016 1_1_0d EXIST::FUNCTION: -BN_GF2m_mod_mul 2017 1_1_0d EXIST::FUNCTION:EC2M -ASN1_PCTX_free 2018 1_1_0d EXIST::FUNCTION: -CRYPTO_ofb128_encrypt 2019 1_1_0d EXIST::FUNCTION: -ASN1_TIME_diff 2020 1_1_0d EXIST::FUNCTION: -IPAddressOrRange_free 2021 1_1_0d EXIST::FUNCTION:RFC3779 -sms4_encrypt_init 2022 1_1_0d EXIST::FUNCTION:SMS4 -TS_TST_INFO_get_serial 2023 1_1_0d EXIST::FUNCTION:TS -EC_KEY_set_public_key_affine_coordinates 2024 1_1_0d EXIST::FUNCTION:EC -ENGINE_get_load_pubkey_function 2025 1_1_0d EXIST::FUNCTION:ENGINE -PKCS12_get_attr 2026 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -X509_STORE_CTX_set_trust 2027 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_reset 2028 1_1_0d EXIST::FUNCTION: -SKF_RSASignData 2029 1_1_0d EXIST::FUNCTION:SKF -PKCS12_gen_mac 2030 1_1_0d EXIST::FUNCTION: -SOF_GetSignMethod 2031 1_1_0d EXIST::FUNCTION: -SOF_GetVersion 2032 1_1_0d EXIST::FUNCTION: -ERR_get_error_line_data 2033 1_1_0d EXIST::FUNCTION: -PEM_read_bio_SM9PrivateKey 2034 1_1_0d EXIST::FUNCTION:SM9 -EC_KEY_set_enc_flags 2035 1_1_0d EXIST::FUNCTION:EC -ASN1_SCTX_get_template 2036 1_1_0d EXIST::FUNCTION: -EVP_whirlpool 2037 1_1_0d EXIST::FUNCTION:WHIRLPOOL -ASN1_PRINTABLESTRING_new 2038 1_1_0d EXIST::FUNCTION: -TS_ACCURACY_dup 2039 1_1_0d EXIST::FUNCTION:TS -BFIBE_do_encrypt 2040 1_1_0d EXIST::FUNCTION:BFIBE -RAND_event 2041 1_1_0d EXIST:_WIN32:FUNCTION:DEPRECATEDIN_1_1_0 -EVP_md2 2042 1_1_0d EXIST::FUNCTION:MD2 -OCSP_RESPID_new 2043 1_1_0d EXIST::FUNCTION:OCSP -X509v3_asid_add_inherit 2044 1_1_0d EXIST::FUNCTION:RFC3779 -i2d_X509_CINF 2045 1_1_0d EXIST::FUNCTION: -SOF_GenRandom 2046 1_1_0d EXIST::FUNCTION: -CRYPTO_THREAD_lock_new 2047 1_1_0d EXIST::FUNCTION: -DSA_up_ref 2048 1_1_0d EXIST::FUNCTION:DSA -NAME_CONSTRAINTS_check 2049 1_1_0d EXIST::FUNCTION: -OPENSSL_asc2uni 2050 1_1_0d EXIST::FUNCTION: -EVP_get_digestbysgd 2051 1_1_0d EXIST::FUNCTION:GMAPI -SM2_do_decrypt 2052 1_1_0d EXIST::FUNCTION:SM2 -SM9_extract_public_key 2053 1_1_0d EXIST::FUNCTION:SM9 -OBJ_NAME_new_index 2054 1_1_0d EXIST::FUNCTION: -PEM_read_bio_SM9_MASTER_PUBKEY 2055 1_1_0d EXIST::FUNCTION:SM9 -d2i_ESS_SIGNING_CERT 2056 1_1_0d EXIST::FUNCTION:TS -X509_get_default_cert_file 2057 1_1_0d EXIST::FUNCTION: -speck_set_decrypt_key64 2058 1_1_0d EXIST::FUNCTION:SPECK -SM9Signature_it 2059 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 -SM9Signature_it 2059 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 -X509_LOOKUP_by_issuer_serial 2060 1_1_0d EXIST::FUNCTION: -BIO_accept 2061 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK -PEM_read_bio_PKCS8 2062 1_1_0d EXIST::FUNCTION: -SM9_verify 2063 1_1_0d EXIST::FUNCTION:SM9 -BN_init 2064 1_1_0d EXIST::FUNCTION: -SKF_ImportECCPrivateKey 2065 1_1_0d EXIST::FUNCTION:SKF -ASN1_TYPE_set_octetstring 2066 1_1_0d EXIST::FUNCTION: -SM2_cosigner1_generate_signature 2067 1_1_0d EXIST::FUNCTION:SM2 -BB1IBE_extract_private_key 2068 1_1_0d EXIST::FUNCTION:BB1IBE -ASN1_OBJECT_it 2069 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_OBJECT_it 2069 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BN_asc2bn 2070 1_1_0d EXIST::FUNCTION: -ENGINE_unregister_pkey_asn1_meths 2071 1_1_0d EXIST::FUNCTION:ENGINE -BN_security_bits 2072 1_1_0d EXIST::FUNCTION: -BUF_MEM_new 2073 1_1_0d EXIST::FUNCTION: -i2v_GENERAL_NAMES 2074 1_1_0d EXIST::FUNCTION: -X509_check_akid 2075 1_1_0d EXIST::FUNCTION: -BN_hex2bn 2076 1_1_0d EXIST::FUNCTION: -ASN1_GENERALIZEDTIME_print 2077 1_1_0d EXIST::FUNCTION: -X509_ALGOR_new 2078 1_1_0d EXIST::FUNCTION: -BN_MONT_CTX_set 2079 1_1_0d EXIST::FUNCTION: -EVP_rc5_32_12_16_ofb 2080 1_1_0d EXIST::FUNCTION:RC5 -NETSCAPE_CERT_SEQUENCE_it 2081 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -NETSCAPE_CERT_SEQUENCE_it 2081 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PEM_write_bio_PKCS7 2082 1_1_0d EXIST::FUNCTION: -v2i_GENERAL_NAMES 2083 1_1_0d EXIST::FUNCTION: -a2i_ASN1_INTEGER 2084 1_1_0d EXIST::FUNCTION: -BIO_s_null 2085 1_1_0d EXIST::FUNCTION: -i2d_SXNETID 2086 1_1_0d EXIST::FUNCTION: -PEM_write_bio_DHparams 2087 1_1_0d EXIST::FUNCTION:DH -ASN1_parse 2088 1_1_0d EXIST::FUNCTION: -EVP_EncodeInit 2089 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_curve_name 2090 1_1_0d EXIST::FUNCTION:EC -i2d_RSA_PUBKEY 2091 1_1_0d EXIST::FUNCTION:RSA -RSA_PSS_PARAMS_it 2092 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA -RSA_PSS_PARAMS_it 2092 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA -SM9Ciphertext_free 2093 1_1_0d EXIST::FUNCTION:SM9 -ENGINE_set_ex_data 2094 1_1_0d EXIST::FUNCTION:ENGINE -BN_num_bits_word 2095 1_1_0d EXIST::FUNCTION: -ECIES_CIPHERTEXT_VALUE_get_ECCCIPHERBLOB 2096 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SKF -RSA_meth_get_pub_dec 2097 1_1_0d EXIST::FUNCTION:RSA -ASN1_NULL_it 2098 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_NULL_it 2098 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CRYPTO_cts128_decrypt 2099 1_1_0d EXIST::FUNCTION: -PaillierPrivateKey_it 2100 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:PAILLIER -PaillierPrivateKey_it 2100 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:PAILLIER -TS_CONF_set_default_engine 2101 1_1_0d EXIST::FUNCTION:ENGINE,TS -X509V3_extensions_print 2102 1_1_0d EXIST::FUNCTION: -X509_keyid_set1 2103 1_1_0d EXIST::FUNCTION: -ESS_SIGNING_CERT_free 2104 1_1_0d EXIST::FUNCTION:TS -SKF_PrintDevInfo 2105 1_1_0d EXIST::FUNCTION:SKF -SAF_EccPublicKeyEnc 2106 1_1_0d EXIST::FUNCTION: -UI_add_input_boolean 2107 1_1_0d EXIST::FUNCTION:UI -i2d_ESS_SIGNING_CERT 2108 1_1_0d EXIST::FUNCTION:TS -CRYPTO_atomic_add 2109 1_1_0d EXIST::FUNCTION: -RSA_up_ref 2110 1_1_0d EXIST::FUNCTION:RSA -CRYPTO_clear_realloc 2111 1_1_0d EXIST::FUNCTION: -EC_POINT_get_affine_coordinates_GF2m 2112 1_1_0d EXIST::FUNCTION:EC,EC2M -ERR_set_mark 2113 1_1_0d EXIST::FUNCTION: -SAF_EccVerifySignFile 2114 1_1_0d EXIST::FUNCTION:SAF -RIPEMD160 2115 1_1_0d EXIST::FUNCTION:RMD160 -i2d_PKCS8_PRIV_KEY_INFO 2116 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_new 2117 1_1_0d EXIST::FUNCTION:EC -BN_GFP2_exp 2118 1_1_0d EXIST::FUNCTION: -OBJ_obj2txt 2119 1_1_0d EXIST::FUNCTION: -RIPEMD160_Transform 2120 1_1_0d EXIST::FUNCTION:RMD160 -EVP_PKEY_CTX_free 2121 1_1_0d EXIST::FUNCTION: -CRYPTO_ccm128_encrypt_ccm64 2122 1_1_0d EXIST::FUNCTION: -BN_CTX_new 2123 1_1_0d EXIST::FUNCTION: -BN_rshift1 2124 1_1_0d EXIST::FUNCTION: -SOF_SignDataXML 2125 1_1_0d EXIST::FUNCTION: -SKF_EnumApplication 2126 1_1_0d EXIST::FUNCTION:SKF -EVP_MD_CTX_new 2127 1_1_0d EXIST::FUNCTION: -i2d_ASN1_BMPSTRING 2128 1_1_0d EXIST::FUNCTION: -i2d_RSAPublicKey_bio 2129 1_1_0d EXIST::FUNCTION:RSA -BIO_meth_free 2130 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_curve_GF2m 2131 1_1_0d EXIST::FUNCTION:EC,EC2M -i2d_ASN1_PRINTABLE 2132 1_1_0d EXIST::FUNCTION: -RC5_32_ofb64_encrypt 2133 1_1_0d EXIST::FUNCTION:RC5 -X509_STORE_CTX_get_by_subject 2134 1_1_0d EXIST::FUNCTION: -i2d_DHxparams 2135 1_1_0d EXIST::FUNCTION:DH -EVP_PKEY_verify 2136 1_1_0d EXIST::FUNCTION: -SKF_ImportCertificate 2137 1_1_0d EXIST::FUNCTION:SKF -X509_ATTRIBUTE_count 2138 1_1_0d EXIST::FUNCTION: -PKCS7_final 2139 1_1_0d EXIST::FUNCTION: -CTLOG_new_from_base64 2140 1_1_0d EXIST::FUNCTION:CT -ERR_error_string 2141 1_1_0d EXIST::FUNCTION: -ECDSA_SIG_set_ECCSIGNATUREBLOB 2142 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -X509_LOOKUP_by_subject 2143 1_1_0d EXIST::FUNCTION: -ASYNC_block_pause 2144 1_1_0d EXIST::FUNCTION: -TXT_DB_insert 2145 1_1_0d EXIST::FUNCTION: -SKF_OpenContainer 2146 1_1_0d EXIST::FUNCTION:SKF -RSA_meth_set0_app_data 2147 1_1_0d EXIST::FUNCTION:RSA -d2i_OCSP_CERTID 2148 1_1_0d EXIST::FUNCTION:OCSP -X509_http_nbio 2149 1_1_0d EXIST::FUNCTION:OCSP -OCSP_REQ_CTX_i2d 2150 1_1_0d EXIST::FUNCTION:OCSP -EVP_des_ede 2151 1_1_0d EXIST::FUNCTION:DES -PKCS7_dataDecode 2152 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_set_free 2153 1_1_0d EXIST::FUNCTION: -RSA_set_flags 2154 1_1_0d EXIST::FUNCTION:RSA -ASN1_PCTX_set_cert_flags 2155 1_1_0d EXIST::FUNCTION: -NAME_CONSTRAINTS_check_CN 2156 1_1_0d EXIST::FUNCTION: -d2i_ECDSA_SIG_fp 2157 1_1_0d EXIST::FUNCTION:EC,STDIO -BN_get_rfc3526_prime_2048 2158 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_nid 2159 1_1_0d EXIST::FUNCTION: -EC_KEY_check_key 2160 1_1_0d EXIST::FUNCTION:EC -X509V3_section_free 2161 1_1_0d EXIST::FUNCTION: -DH_new_method 2162 1_1_0d EXIST::FUNCTION:DH -BIO_get_shutdown 2163 1_1_0d EXIST::FUNCTION: -i2d_ECParameters 2164 1_1_0d EXIST::FUNCTION:EC -ZUC_128eia3_set_key 2165 1_1_0d EXIST::FUNCTION:ZUC -d2i_PKCS7_ENVELOPE 2166 1_1_0d EXIST::FUNCTION: -RSA_meth_set_pub_enc 2167 1_1_0d EXIST::FUNCTION:RSA -CRYPTO_ocb128_decrypt 2168 1_1_0d EXIST::FUNCTION:OCB -d2i_PaillierPrivateKey 2169 1_1_0d EXIST::FUNCTION:PAILLIER -BN_mod_word 2170 1_1_0d EXIST::FUNCTION: -EVP_md_null 2171 1_1_0d EXIST::FUNCTION: -BN_GFP2_free 2172 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKI_new 2173 1_1_0d EXIST::FUNCTION: -ERR_add_error_data 2174 1_1_0d EXIST::FUNCTION: -BN_X931_generate_prime_ex 2175 1_1_0d EXIST::FUNCTION: -SOF_EncryptData 2176 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_find 2177 1_1_0d EXIST::FUNCTION: -sms4_unwrap_key 2178 1_1_0d EXIST::FUNCTION:SMS4 -i2d_IPAddressChoice 2179 1_1_0d EXIST::FUNCTION:RFC3779 -RSA_padding_add_PKCS1_type_1 2180 1_1_0d EXIST::FUNCTION:RSA -DSA_meth_dup 2181 1_1_0d EXIST::FUNCTION:DSA -DH_meth_new 2182 1_1_0d EXIST::FUNCTION:DH -X509_check_private_key 2183 1_1_0d EXIST::FUNCTION: -PEM_read_bio_X509 2184 1_1_0d EXIST::FUNCTION: -BN_mod_lshift1 2185 1_1_0d EXIST::FUNCTION: -UTF8_getc 2186 1_1_0d EXIST::FUNCTION: -WHIRLPOOL_Init 2187 1_1_0d EXIST::FUNCTION:WHIRLPOOL -X509_VERIFY_PARAM_get_flags 2188 1_1_0d EXIST::FUNCTION: -CONF_set_nconf 2189 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get1_DH 2190 1_1_0d EXIST::FUNCTION:DH -SCT_free 2191 1_1_0d EXIST::FUNCTION:CT -RSA_clear_flags 2192 1_1_0d EXIST::FUNCTION:RSA -X509_STORE_get_get_crl 2193 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_free 2194 1_1_0d EXIST::FUNCTION: -d2i_SM2_COSIGNER2_SHARE 2195 1_1_0d EXIST::FUNCTION:SM2 -d2i_TS_TST_INFO 2196 1_1_0d EXIST::FUNCTION:TS -CMS_RecipientEncryptedKey_get0_id 2197 1_1_0d EXIST::FUNCTION:CMS -X509_issuer_name_cmp 2198 1_1_0d EXIST::FUNCTION: -EC_GROUP_new 2199 1_1_0d EXIST::FUNCTION:EC -OCSP_request_onereq_count 2200 1_1_0d EXIST::FUNCTION:OCSP -i2d_PROXY_POLICY 2201 1_1_0d EXIST::FUNCTION: -X509_REQ_it 2202 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_REQ_it 2202 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CMS_get0_signers 2203 1_1_0d EXIST::FUNCTION:CMS -i2d_DSA_PUBKEY_bio 2204 1_1_0d EXIST::FUNCTION:DSA -BN_BLINDING_new 2205 1_1_0d EXIST::FUNCTION: -OBJ_NAME_remove 2206 1_1_0d EXIST::FUNCTION: -EC_KEY_new_from_ECCPRIVATEKEYBLOB 2207 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -d2i_TS_REQ_bio 2208 1_1_0d EXIST::FUNCTION:TS -SAF_Base64_Decode 2209 1_1_0d EXIST::FUNCTION: -X509_INFO_free 2210 1_1_0d EXIST::FUNCTION: -X509_get_extended_key_usage 2211 1_1_0d EXIST::FUNCTION: -d2i_ASN1_UINTEGER 2212 1_1_0d EXIST::FUNCTION: -BN_get0_nist_prime_521 2213 1_1_0d EXIST::FUNCTION: -EVP_aes_256_cfb8 2214 1_1_0d EXIST::FUNCTION: -ENGINE_register_all_EC 2215 1_1_0d EXIST::FUNCTION:ENGINE -CONF_get_string 2216 1_1_0d EXIST::FUNCTION: -d2i_DSA_SIG 2217 1_1_0d EXIST::FUNCTION:DSA -SM9_encrypt 2218 1_1_0d EXIST::FUNCTION:SM9 -BIO_ADDRINFO_family 2219 1_1_0d EXIST::FUNCTION:SOCK -PEM_write_X509 2220 1_1_0d EXIST::FUNCTION:STDIO -X509_STORE_set_cleanup 2221 1_1_0d EXIST::FUNCTION: -PEM_write_PAILLIER_PUBKEY 2222 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO -ERR_remove_state 2223 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_0_0 -UI_method_set_reader 2224 1_1_0d EXIST::FUNCTION:UI -X509_REQ_print 2225 1_1_0d EXIST::FUNCTION: -BIO_f_reliable 2226 1_1_0d EXIST::FUNCTION: -DIST_POINT_NAME_free 2227 1_1_0d EXIST::FUNCTION: -i2d_NOTICEREF 2228 1_1_0d EXIST::FUNCTION: -DH_clear_flags 2229 1_1_0d EXIST::FUNCTION:DH -DSA_free 2230 1_1_0d EXIST::FUNCTION:DSA -CRYPTO_malloc 2231 1_1_0d EXIST::FUNCTION: -DES_encrypt2 2232 1_1_0d EXIST::FUNCTION:DES -WHIRLPOOL_Final 2233 1_1_0d EXIST::FUNCTION:WHIRLPOOL -CRYPTO_ocb128_tag 2234 1_1_0d EXIST::FUNCTION:OCB -ECDSA_SIG_new_from_ECCSIGNATUREBLOB 2235 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -_shadow_DES_check_key 2236 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES -_shadow_DES_check_key 2236 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES -ENGINE_set_pkey_meths 2237 1_1_0d EXIST::FUNCTION:ENGINE -X509V3_EXT_nconf_nid 2238 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get_sgd 2239 1_1_0d EXIST::FUNCTION:GMAPI -EC_GROUP_copy 2240 1_1_0d EXIST::FUNCTION:EC -OPENSSL_LH_doall 2241 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_free 2242 1_1_0d EXIST::FUNCTION: -CAST_ecb_encrypt 2243 1_1_0d EXIST::FUNCTION:CAST -d2i_RSA_PUBKEY 2244 1_1_0d EXIST::FUNCTION:RSA -DIRECTORYSTRING_free 2245 1_1_0d EXIST::FUNCTION: -ASN1_verify 2246 1_1_0d EXIST::FUNCTION: -BN_X931_derive_prime_ex 2247 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_get_asn1_iv 2248 1_1_0d EXIST::FUNCTION: -RSA_print 2249 1_1_0d EXIST::FUNCTION:RSA -EVP_PKEY_set1_tls_encodedpoint 2250 1_1_0d EXIST::FUNCTION: -ERR_load_strings 2251 1_1_0d EXIST::FUNCTION: -ECDSA_SIG_get0 2252 1_1_0d EXIST::FUNCTION:EC -i2d_GENERAL_NAMES 2253 1_1_0d EXIST::FUNCTION: -BIO_get_accept_socket 2254 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK -FpPoint_free 2255 1_1_0d EXIST::FUNCTION: -EVP_PKEY_sign_init 2256 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_set_get_asn1_params 2257 1_1_0d EXIST::FUNCTION: -X509_POLICY_NODE_print 2258 1_1_0d EXIST::FUNCTION: -DES_encrypt1 2259 1_1_0d EXIST::FUNCTION:DES -BIO_next 2260 1_1_0d EXIST::FUNCTION: -PEM_read_bio_RSA_PUBKEY 2261 1_1_0d EXIST::FUNCTION:RSA -RSA_print_fp 2262 1_1_0d EXIST::FUNCTION:RSA,STDIO -COMP_CTX_free 2263 1_1_0d EXIST::FUNCTION:COMP -X509_STORE_set_cert_crl 2264 1_1_0d EXIST::FUNCTION: -TXT_DB_free 2265 1_1_0d EXIST::FUNCTION: -X509v3_addr_is_canonical 2266 1_1_0d EXIST::FUNCTION:RFC3779 -BN_RECP_CTX_free 2267 1_1_0d EXIST::FUNCTION: -ASN1_PRINTABLE_type 2268 1_1_0d EXIST::FUNCTION: -SM9PublicParameters_it 2269 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 -SM9PublicParameters_it 2269 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 -SOF_GetDeviceInfo 2270 1_1_0d EXIST::FUNCTION: -ENGINE_unregister_pkey_meths 2271 1_1_0d EXIST::FUNCTION:ENGINE -SKF_Encrypt 2272 1_1_0d EXIST::FUNCTION:SKF -serpent_set_encrypt_key 2273 1_1_0d EXIST::FUNCTION:SERPENT -SDF_GetDeviceInfo 2274 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_set_serial_cb 2275 1_1_0d EXIST::FUNCTION:TS -i2d_SM9PrivateKey_fp 2276 1_1_0d EXIST::FUNCTION:SM9,STDIO -BB1PublicParameters_new 2277 1_1_0d EXIST::FUNCTION:BB1IBE -AES_cfb8_encrypt 2278 1_1_0d EXIST::FUNCTION: -i2d_PKCS12_SAFEBAG 2279 1_1_0d EXIST::FUNCTION: -SM9PrivateKey_get_gmtls_public_key 2280 1_1_0d EXIST::FUNCTION:SM9 -d2i_ECDSA_SIG 2281 1_1_0d EXIST::FUNCTION:EC -X509_STORE_CTX_set_depth 2282 1_1_0d EXIST::FUNCTION: -TXT_DB_read 2283 1_1_0d EXIST::FUNCTION: -X509_get_version 2284 1_1_0d EXIST::FUNCTION: -PKCS12_decrypt_skey 2285 1_1_0d EXIST::FUNCTION: -BN_get_rfc3526_prime_6144 2286 1_1_0d EXIST::FUNCTION: -ASN1_ENUMERATED_set_int64 2287 1_1_0d EXIST::FUNCTION: -TS_MSG_IMPRINT_print_bio 2288 1_1_0d EXIST::FUNCTION:TS -PKCS12_add_friendlyname_uni 2289 1_1_0d EXIST::FUNCTION: -BIO_fd_non_fatal_error 2290 1_1_0d EXIST::FUNCTION: -OPENSSL_strnlen 2291 1_1_0d EXIST::FUNCTION: -CMAC_CTX_free 2292 1_1_0d EXIST::FUNCTION:CMAC -d2i_USERNOTICE 2293 1_1_0d EXIST::FUNCTION: -X509_CRL_set_default_method 2294 1_1_0d EXIST::FUNCTION: -a2i_IPADDRESS_NC 2295 1_1_0d EXIST::FUNCTION: -X509_REQ_add_extensions_nid 2296 1_1_0d EXIST::FUNCTION: -CMS_decrypt_set1_pkey 2297 1_1_0d EXIST::FUNCTION:CMS -PEM_write_bio_X509_AUX 2298 1_1_0d EXIST::FUNCTION: -CONF_set_default_method 2299 1_1_0d EXIST::FUNCTION: -X509_REQ_get0_signature 2300 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_verify 2301 1_1_0d EXIST::FUNCTION: -SAF_GenRandom 2302 1_1_0d EXIST::FUNCTION: -UI_set_method 2303 1_1_0d EXIST::FUNCTION:UI -ECDSA_SIG_get_ECCSIGNATUREBLOB 2304 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -DSA_meth_get_sign 2305 1_1_0d EXIST::FUNCTION:DSA -TS_REQ_dup 2306 1_1_0d EXIST::FUNCTION:TS -HMAC_CTX_free 2307 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_get_sign 2308 1_1_0d EXIST::FUNCTION:EC -SXNET_free 2309 1_1_0d EXIST::FUNCTION: -X509_set_proxy_pathlen 2310 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_param_to_asn1 2311 1_1_0d EXIST::FUNCTION: -BFPublicParameters_it 2312 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BFIBE -BFPublicParameters_it 2312 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BFIBE -NCONF_WIN32 2313 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set_current_cert 2314 1_1_0d EXIST::FUNCTION: -RSA_OAEP_PARAMS_free 2315 1_1_0d EXIST::FUNCTION:RSA -X509_STORE_get_get_issuer 2316 1_1_0d EXIST::FUNCTION: -BN_GFP2_sqr 2317 1_1_0d EXIST::FUNCTION: -BIO_printf 2318 1_1_0d EXIST::FUNCTION: -CRYPTO_num_locks 2319 1_1_0d EXIST::FUNCTION: -AES_cfb128_encrypt 2320 1_1_0d EXIST::FUNCTION: -EVP_PKEY_derive 2321 1_1_0d EXIST::FUNCTION: -PKCS12_parse 2322 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_set_msg_imprint 2323 1_1_0d EXIST::FUNCTION:TS -CRYPTO_free_ex_data 2324 1_1_0d EXIST::FUNCTION: -ERR_remove_thread_state 2325 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -i2d_CMS_bio_stream 2326 1_1_0d EXIST::FUNCTION:CMS -SDF_ExportEncPublicKey_RSA 2327 1_1_0d EXIST::FUNCTION: -i2d_DSAPublicKey 2328 1_1_0d EXIST::FUNCTION:DSA -AES_options 2329 1_1_0d EXIST::FUNCTION: -X509_EXTENSION_it 2330 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_EXTENSION_it 2330 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BF_set_key 2331 1_1_0d EXIST::FUNCTION:BF -RC2_ecb_encrypt 2332 1_1_0d EXIST::FUNCTION:RC2 -RSA_security_bits 2333 1_1_0d EXIST::FUNCTION:RSA -RSA_sign_ASN1_OCTET_STRING 2334 1_1_0d EXIST::FUNCTION:RSA -SDF_InternalDecrypt_ECC 2335 1_1_0d EXIST::FUNCTION: -PEM_write_X509_REQ_NEW 2336 1_1_0d EXIST::FUNCTION:STDIO -d2i_CERTIFICATEPOLICIES 2337 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_new 2338 1_1_0d EXIST::FUNCTION: -ENGINE_unregister_RAND 2339 1_1_0d EXIST::FUNCTION:ENGINE -RC2_ofb64_encrypt 2340 1_1_0d EXIST::FUNCTION:RC2 -BN_hash_to_range 2341 1_1_0d EXIST::FUNCTION: -d2i_OCSP_ONEREQ 2342 1_1_0d EXIST::FUNCTION:OCSP -CONF_modules_load 2343 1_1_0d EXIST::FUNCTION: -X509at_get_attr 2344 1_1_0d EXIST::FUNCTION: -PKCS7_it 2345 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_it 2345 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_get0_notBefore 2346 1_1_0d EXIST::FUNCTION: -EVP_chacha20_poly1305 2347 1_1_0d EXIST::FUNCTION:CHACHA,POLY1305 -OPENSSL_LH_delete 2348 1_1_0d EXIST::FUNCTION: -ERR_peek_error_line_data 2349 1_1_0d EXIST::FUNCTION: -ENGINE_get_digests 2350 1_1_0d EXIST::FUNCTION:ENGINE -SKF_EncryptUpdate 2351 1_1_0d EXIST::FUNCTION:SKF -SKF_NewECCCipher 2352 1_1_0d EXIST::FUNCTION:SKF -ERR_func_error_string 2353 1_1_0d EXIST::FUNCTION: -BN_RECP_CTX_new 2354 1_1_0d EXIST::FUNCTION: -ENGINE_register_digests 2355 1_1_0d EXIST::FUNCTION:ENGINE -d2i_CPK_MASTER_SECRET 2356 1_1_0d EXIST::FUNCTION:CPK -X509_email_free 2357 1_1_0d EXIST::FUNCTION: -X509_add1_ext_i2d 2358 1_1_0d EXIST::FUNCTION: -ASN1_STRING_data 2359 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -DSA_size 2360 1_1_0d EXIST::FUNCTION:DSA -CRYPTO_secure_zalloc 2361 1_1_0d EXIST::FUNCTION: -d2i_PKCS12_SAFEBAG 2362 1_1_0d EXIST::FUNCTION: -EC_KEY_get_ECCPRIVATEKEYBLOB 2363 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -OPENSSL_isservice 2364 1_1_0d EXIST::FUNCTION: -ENGINE_get_digest_engine 2365 1_1_0d EXIST::FUNCTION:ENGINE -ASN1_UTCTIME_adj 2366 1_1_0d EXIST::FUNCTION: -ENGINE_register_all_pkey_meths 2367 1_1_0d EXIST::FUNCTION:ENGINE -EVP_CIPHER_CTX_new 2368 1_1_0d EXIST::FUNCTION: -ASN1_UNIVERSALSTRING_free 2369 1_1_0d EXIST::FUNCTION: -ERR_reason_error_string 2370 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_free 2371 1_1_0d EXIST::FUNCTION: -X509V3_add1_i2d 2372 1_1_0d EXIST::FUNCTION: -SM2_COSIGNER1_PROOF_free 2373 1_1_0d EXIST::FUNCTION:SM2 -X509_VERIFY_PARAM_table_cleanup 2374 1_1_0d EXIST::FUNCTION: -i2b_PVK_bio 2375 1_1_0d EXIST::FUNCTION:DSA,RC4 -ENGINE_up_ref 2376 1_1_0d EXIST::FUNCTION:ENGINE -d2i_CPK_PUBLIC_PARAMS 2377 1_1_0d EXIST::FUNCTION:CPK -OCSP_basic_add1_status 2378 1_1_0d EXIST::FUNCTION:OCSP -SCT_set_timestamp 2379 1_1_0d EXIST::FUNCTION:CT -ENGINE_get_default_RSA 2380 1_1_0d EXIST::FUNCTION:ENGINE -EVP_PKEY_get0 2381 1_1_0d EXIST::FUNCTION: -i2d_RSA_PUBKEY_bio 2382 1_1_0d EXIST::FUNCTION:RSA -b2i_PublicKey_bio 2383 1_1_0d EXIST::FUNCTION:DSA -BN_print_fp 2384 1_1_0d EXIST::FUNCTION:STDIO -i2d_X509_CRL_fp 2385 1_1_0d EXIST::FUNCTION:STDIO -d2i_X509_ATTRIBUTE 2386 1_1_0d EXIST::FUNCTION: -SAF_SymmEncryptFinal 2387 1_1_0d EXIST::FUNCTION: -BN_dup 2388 1_1_0d EXIST::FUNCTION: -EC_KEY_split 2389 1_1_0d EXIST::FUNCTION:EC -i2d_PKCS7_SIGNER_INFO 2390 1_1_0d EXIST::FUNCTION: -OCSP_RESPDATA_free 2391 1_1_0d EXIST::FUNCTION:OCSP -ENGINE_set_DH 2392 1_1_0d EXIST::FUNCTION:ENGINE -CMAC_Update 2393 1_1_0d EXIST::FUNCTION:CMAC -BN_pseudo_rand_range 2394 1_1_0d EXIST::FUNCTION: -BIO_dgram_non_fatal_error 2395 1_1_0d EXIST::FUNCTION:DGRAM -DIST_POINT_it 2396 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -DIST_POINT_it 2396 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_SM2CiphertextValue 2397 1_1_0d EXIST::FUNCTION:SM2 -ACCESS_DESCRIPTION_it 2398 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ACCESS_DESCRIPTION_it 2398 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_CIPHER_meth_set_flags 2399 1_1_0d EXIST::FUNCTION: -X509_REQ_get_attr_count 2400 1_1_0d EXIST::FUNCTION: -BN_GF2m_poly2arr 2401 1_1_0d EXIST::FUNCTION:EC2M -PEM_write_bio_SM9PublicParameters 2402 1_1_0d EXIST::FUNCTION:SM9 -BN_mod_lshift1_quick 2403 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_get_init 2404 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_encrypt 2405 1_1_0d EXIST::FUNCTION: -SEED_ecb_encrypt 2406 1_1_0d EXIST::FUNCTION:SEED -BIO_new_CMS 2407 1_1_0d EXIST::FUNCTION:CMS -PKEY_USAGE_PERIOD_new 2408 1_1_0d EXIST::FUNCTION: -PEM_write_DSA_PUBKEY 2409 1_1_0d EXIST::FUNCTION:DSA,STDIO -SEED_cfb128_encrypt 2410 1_1_0d EXIST::FUNCTION:SEED -i2d_ISSUING_DIST_POINT 2411 1_1_0d EXIST::FUNCTION: -i2a_ASN1_INTEGER 2412 1_1_0d EXIST::FUNCTION: -BN_GF2m_mod_exp_arr 2413 1_1_0d EXIST::FUNCTION:EC2M -TS_MSG_IMPRINT_get_msg 2414 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_free 2415 1_1_0d EXIST::FUNCTION: -BN_GFP2_new 2416 1_1_0d EXIST::FUNCTION: -PEM_read_bio_X509_CRL 2417 1_1_0d EXIST::FUNCTION: -BIO_ptr_ctrl 2418 1_1_0d EXIST::FUNCTION: -SM9_do_verify 2419 1_1_0d EXIST::FUNCTION:SM9 -i2d_RSAPublicKey_fp 2420 1_1_0d EXIST::FUNCTION:RSA,STDIO -RIPEMD160_Update 2421 1_1_0d EXIST::FUNCTION:RMD160 -EVP_MD_meth_set_copy 2422 1_1_0d EXIST::FUNCTION: -EC_GFp_nistp521_method 2423 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128 -X509_policy_node_get0_qualifiers 2424 1_1_0d EXIST::FUNCTION: -d2i_ASN1_IA5STRING 2425 1_1_0d EXIST::FUNCTION: -COMP_CTX_get_method 2426 1_1_0d EXIST::FUNCTION:COMP -OPENSSL_LH_insert 2427 1_1_0d EXIST::FUNCTION: -RSA_meth_dup 2428 1_1_0d EXIST::FUNCTION:RSA -UI_set_default_method 2429 1_1_0d EXIST::FUNCTION:UI -i2d_PKCS8PrivateKey_fp 2430 1_1_0d EXIST::FUNCTION:STDIO -ENGINE_get_ctrl_function 2431 1_1_0d EXIST::FUNCTION:ENGINE -EC_POINT_set_Jprojective_coordinates_GFp 2432 1_1_0d EXIST::FUNCTION:EC -BN_nist_mod_521 2433 1_1_0d EXIST::FUNCTION: -CMS_add1_ReceiptRequest 2434 1_1_0d EXIST::FUNCTION:CMS -d2i_X509_VAL 2435 1_1_0d EXIST::FUNCTION: -RSA_verify_PKCS1_PSS_mgf1 2436 1_1_0d EXIST::FUNCTION:RSA -X509_load_crl_file 2437 1_1_0d EXIST::FUNCTION: -DH_generate_key 2438 1_1_0d EXIST::FUNCTION:DH -GENERAL_NAME_set0_othername 2439 1_1_0d EXIST::FUNCTION: -X509_PURPOSE_get0 2440 1_1_0d EXIST::FUNCTION: -SAF_EnumKeyContainerInfo 2441 1_1_0d EXIST::FUNCTION: -X509_REQ_INFO_it 2442 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_REQ_INFO_it 2442 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CRYPTO_mem_ctrl 2443 1_1_0d EXIST::FUNCTION: -OPENSSL_config 2444 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -CAST_set_key 2445 1_1_0d EXIST::FUNCTION:CAST -DSA_generate_key 2446 1_1_0d EXIST::FUNCTION:DSA -EC_GROUP_get_degree 2447 1_1_0d EXIST::FUNCTION:EC -BN_GF2m_mod_div 2448 1_1_0d EXIST::FUNCTION:EC2M -i2d_PKCS7_ISSUER_AND_SERIAL 2449 1_1_0d EXIST::FUNCTION: -CRL_DIST_POINTS_it 2450 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -CRL_DIST_POINTS_it 2450 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_aes_128_ecb 2451 1_1_0d EXIST::FUNCTION: -ERR_load_BB1IBE_strings 2452 1_1_0d EXIST::FUNCTION:BB1IBE -TS_RESP_CTX_set_status_info_cond 2453 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_meth_set_copy 2454 1_1_0d EXIST::FUNCTION: -PEM_write_bio_NETSCAPE_CERT_SEQUENCE 2455 1_1_0d EXIST::FUNCTION: -ENGINE_set_digests 2456 1_1_0d EXIST::FUNCTION:ENGINE -i2d_ASN1_UTCTIME 2457 1_1_0d EXIST::FUNCTION: -PEM_def_callback 2458 1_1_0d EXIST::FUNCTION: -EVP_des_cbc 2459 1_1_0d EXIST::FUNCTION:DES -i2d_AUTHORITY_KEYID 2460 1_1_0d EXIST::FUNCTION: -SM2CiphertextValue_set_ECCCIPHERBLOB 2461 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF,SM2 -PBEPARAM_new 2462 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_add_ext 2463 1_1_0d EXIST::FUNCTION:OCSP -PEM_read_PaillierPrivateKey 2464 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO -X509_set_ex_data 2465 1_1_0d EXIST::FUNCTION: -EVP_blake2b512 2466 1_1_0d EXIST::FUNCTION:BLAKE2 -SAF_VerifyCertificate 2467 1_1_0d EXIST::FUNCTION: -DH_set_ex_data 2468 1_1_0d EXIST::FUNCTION:DH -DES_cbc_cksum 2469 1_1_0d EXIST::FUNCTION:DES -RSAPrivateKey_dup 2470 1_1_0d EXIST::FUNCTION:RSA -BIO_vprintf 2471 1_1_0d EXIST::FUNCTION: -ASYNC_cleanup_thread 2472 1_1_0d EXIST::FUNCTION: -SM9_compute_share_key_B 2473 1_1_0d EXIST::FUNCTION:SM9 -SHA224_Final 2474 1_1_0d EXIST::FUNCTION: -BN_consttime_swap 2475 1_1_0d EXIST::FUNCTION: -DSA_OpenSSL 2476 1_1_0d EXIST::FUNCTION:DSA -PKCS12_SAFEBAG_it 2477 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS12_SAFEBAG_it 2477 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ASN1_PCTX_set_flags 2478 1_1_0d EXIST::FUNCTION: -USERNOTICE_new 2479 1_1_0d EXIST::FUNCTION: -PEM_read_SM9_PUBKEY 2480 1_1_0d EXIST::FUNCTION:SM9,STDIO -TS_OBJ_print_bio 2481 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_verify_init 2482 1_1_0d EXIST::FUNCTION: -DH_bits 2483 1_1_0d EXIST::FUNCTION:DH -BN_GF2m_mod 2484 1_1_0d EXIST::FUNCTION:EC2M -d2i_ASN1_SET_ANY 2485 1_1_0d EXIST::FUNCTION: -X509_policy_tree_get0_policies 2486 1_1_0d EXIST::FUNCTION: -SAF_RemoveCaCertificate 2487 1_1_0d EXIST::FUNCTION: -RSA_X931_hash_id 2488 1_1_0d EXIST::FUNCTION:RSA -SM9PrivateKey_it 2489 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 -SM9PrivateKey_it 2489 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 -SM9Signature_free 2490 1_1_0d EXIST::FUNCTION:SM9 -X509_get_serialNumber 2491 1_1_0d EXIST::FUNCTION: -X509_PURPOSE_set 2492 1_1_0d EXIST::FUNCTION: -SKF_ImportSessionKey 2493 1_1_0d EXIST::FUNCTION:SKF -EVP_DigestInit 2494 1_1_0d EXIST::FUNCTION: -UI_process 2495 1_1_0d EXIST::FUNCTION:UI -TS_REQ_free 2496 1_1_0d EXIST::FUNCTION:TS -d2i_SM9Signature_bio 2497 1_1_0d EXIST::FUNCTION:SM9 -SDF_OpenSession 2498 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_nonce 2499 1_1_0d EXIST::FUNCTION:TS -UI_method_get_opener 2500 1_1_0d EXIST::FUNCTION:UI -X509V3_EXT_add_conf 2501 1_1_0d EXIST::FUNCTION: -SM9_VerifyInit 2502 1_1_0d EXIST::FUNCTION:SM9 -EC_POINT_copy 2503 1_1_0d EXIST::FUNCTION:EC -OCSP_BASICRESP_add_ext 2504 1_1_0d EXIST::FUNCTION:OCSP -ENGINE_get_default_DH 2505 1_1_0d EXIST::FUNCTION:ENGINE -ENGINE_register_all_DSA 2506 1_1_0d EXIST::FUNCTION:ENGINE -i2d_TS_MSG_IMPRINT_bio 2507 1_1_0d EXIST::FUNCTION:TS -NETSCAPE_SPKI_b64_encode 2508 1_1_0d EXIST::FUNCTION: -SM9_extract_private_key 2509 1_1_0d EXIST::FUNCTION:SM9 -BN_solinas2bn 2510 1_1_0d EXIST::FUNCTION: -CRYPTO_ocb128_encrypt 2511 1_1_0d EXIST::FUNCTION:OCB -ASN1_str2mask 2512 1_1_0d EXIST::FUNCTION: -d2i_SXNET 2513 1_1_0d EXIST::FUNCTION: -SAF_HashFinal 2514 1_1_0d EXIST::FUNCTION: -CRYPTO_cfb128_8_encrypt 2515 1_1_0d EXIST::FUNCTION: -EVP_seed_ecb 2516 1_1_0d EXIST::FUNCTION:SEED -EVP_PBE_alg_add_type 2517 1_1_0d EXIST::FUNCTION: -ENGINE_set_default_RAND 2518 1_1_0d EXIST::FUNCTION:ENGINE -ENGINE_by_id 2519 1_1_0d EXIST::FUNCTION:ENGINE -d2i_X509_NAME_ENTRY 2520 1_1_0d EXIST::FUNCTION: -BIO_ADDR_clear 2521 1_1_0d EXIST::FUNCTION:SOCK -SAF_Base64_Encode 2522 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_shift 2523 1_1_0d EXIST::FUNCTION: -CRYPTO_cts128_encrypt 2524 1_1_0d EXIST::FUNCTION: -SEED_ofb128_encrypt 2525 1_1_0d EXIST::FUNCTION:SEED -X509_CRL_get_ext_count 2526 1_1_0d EXIST::FUNCTION: -EVP_aes_192_cfb1 2527 1_1_0d EXIST::FUNCTION: -SM2_cosigner1_setup 2528 1_1_0d EXIST::FUNCTION:SM2 -PKCS8_pkey_add1_attr_by_NID 2529 1_1_0d EXIST::FUNCTION: -SXNET_get_id_asc 2530 1_1_0d EXIST::FUNCTION: -MD4_Init 2531 1_1_0d EXIST::FUNCTION:MD4 -PEM_write_bio_DSAPrivateKey 2532 1_1_0d EXIST::FUNCTION:DSA -CRYPTO_THREAD_get_current_id 2533 1_1_0d EXIST::FUNCTION: -OCSP_sendreq_new 2534 1_1_0d EXIST::FUNCTION:OCSP -i2d_PKCS8PrivateKey_bio 2535 1_1_0d EXIST::FUNCTION: -EC_KEY_oct2priv 2536 1_1_0d EXIST::FUNCTION:EC -EVP_sms4_ccm 2537 1_1_0d EXIST::FUNCTION:SMS4 -CRYPTO_cts128_encrypt_block 2538 1_1_0d EXIST::FUNCTION: -i2d_ASN1_GENERALIZEDTIME 2539 1_1_0d EXIST::FUNCTION: -PKCS12_mac_present 2540 1_1_0d EXIST::FUNCTION: -d2i_DHparams 2541 1_1_0d EXIST::FUNCTION:DH -UI_get_string_type 2542 1_1_0d EXIST::FUNCTION:UI -DES_cfb64_encrypt 2543 1_1_0d EXIST::FUNCTION:DES -BN_mpi2bn 2544 1_1_0d EXIST::FUNCTION: -ISSUING_DIST_POINT_it 2545 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ISSUING_DIST_POINT_it 2545 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -OCSP_resp_find_status 2546 1_1_0d EXIST::FUNCTION:OCSP -X509_REQ_delete_attr 2547 1_1_0d EXIST::FUNCTION: -ECIES_PARAMS_get_kdf 2548 1_1_0d EXIST::FUNCTION:ECIES -EVP_PKEY_asn1_copy 2549 1_1_0d EXIST::FUNCTION: -SAF_SM2_EncodeSignedAndEnvelopedData 2550 1_1_0d EXIST::FUNCTION: -TS_RESP_verify_response 2551 1_1_0d EXIST::FUNCTION:TS -X509v3_addr_get_afi 2552 1_1_0d EXIST::FUNCTION:RFC3779 -DH_check 2553 1_1_0d EXIST::FUNCTION:DH -OCSP_BASICRESP_free 2554 1_1_0d EXIST::FUNCTION:OCSP -EVP_des_ede3_cbc 2555 1_1_0d EXIST::FUNCTION:DES -EVP_PKEY_paramgen_init 2556 1_1_0d EXIST::FUNCTION: -i2d_PKCS7_bio_stream 2557 1_1_0d EXIST::FUNCTION: -TS_REQ_get_ext 2558 1_1_0d EXIST::FUNCTION:TS -ASN1_STRING_new 2559 1_1_0d EXIST::FUNCTION: -Camellia_cfb8_encrypt 2560 1_1_0d EXIST::FUNCTION:CAMELLIA -BN_secure_new 2561 1_1_0d EXIST::FUNCTION: -UI_free 2562 1_1_0d EXIST::FUNCTION:UI -PKCS8_set0_pbe 2563 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_unshift 2564 1_1_0d EXIST::FUNCTION: -X509v3_addr_add_prefix 2565 1_1_0d EXIST::FUNCTION:RFC3779 -PEM_write_bio_PKCS8PrivateKey 2566 1_1_0d EXIST::FUNCTION: -ENGINE_register_DSA 2567 1_1_0d EXIST::FUNCTION:ENGINE -CMS_SignerInfo_get0_signer_id 2568 1_1_0d EXIST::FUNCTION:CMS -X509_STORE_CTX_purpose_inherit 2569 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_dup 2570 1_1_0d EXIST::FUNCTION:TS -DSO_up_ref 2571 1_1_0d EXIST::FUNCTION: -BN_MONT_CTX_set_locked 2572 1_1_0d EXIST::FUNCTION: -PKCS7_ENVELOPE_it 2573 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_ENVELOPE_it 2573 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -TS_RESP_CTX_add_md 2574 1_1_0d EXIST::FUNCTION:TS -PKCS5_pbe2_set_scrypt 2575 1_1_0d EXIST::FUNCTION:SCRYPT -DH_size 2576 1_1_0d EXIST::FUNCTION:DH -PEM_read_bio_PaillierPublicKey 2577 1_1_0d EXIST::FUNCTION:PAILLIER -EVP_PKEY_CTX_set_data 2578 1_1_0d EXIST::FUNCTION: -PKCS8_pkey_set0 2579 1_1_0d EXIST::FUNCTION: -EVP_sms4_cfb1 2580 1_1_0d EXIST::FUNCTION:SMS4 -DES_string_to_key 2581 1_1_0d EXIST::FUNCTION:DES -PKCS8_get_attr 2582 1_1_0d EXIST::FUNCTION: -X509_EXTENSION_set_object 2583 1_1_0d EXIST::FUNCTION: -EVP_sms4_ecb 2584 1_1_0d EXIST::FUNCTION:SMS4 -BN_GF2m_mod_solve_quad_arr 2585 1_1_0d EXIST::FUNCTION:EC2M -AES_wrap_key 2586 1_1_0d EXIST::FUNCTION: -SKF_GetDevStateName 2587 1_1_0d EXIST::FUNCTION:SKF -X509_EXTENSION_set_data 2588 1_1_0d EXIST::FUNCTION: -EVP_MD_CTX_md 2589 1_1_0d EXIST::FUNCTION: -SAF_GetRootCaCertificate 2590 1_1_0d EXIST::FUNCTION: -ERR_load_SKF_strings 2591 1_1_0d EXIST::FUNCTION:SKF -CONF_load_fp 2592 1_1_0d EXIST::FUNCTION:STDIO -BIO_meth_get_puts 2593 1_1_0d EXIST::FUNCTION: -PEM_write_PKCS8PrivateKey_nid 2594 1_1_0d EXIST::FUNCTION:STDIO -X509_STORE_set_flags 2595 1_1_0d EXIST::FUNCTION: -SM2CiphertextValue_new_from_ECCCipher 2596 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF,SM2 -ASN1_PCTX_set_str_flags 2597 1_1_0d EXIST::FUNCTION: -d2i_OCSP_RESPID 2598 1_1_0d EXIST::FUNCTION:OCSP -d2i_SM9Ciphertext 2599 1_1_0d EXIST::FUNCTION:SM9 -EVP_MD_meth_set_input_blocksize 2600 1_1_0d EXIST::FUNCTION: -PKCS12_unpack_p7encdata 2601 1_1_0d EXIST::FUNCTION: -TS_VERIFY_CTX_set_store 2602 1_1_0d EXIST::FUNCTION:TS -BUF_MEM_grow 2603 1_1_0d EXIST::FUNCTION: -EC_KEY_new_method 2604 1_1_0d EXIST::FUNCTION:EC -OBJ_NAME_do_all 2605 1_1_0d EXIST::FUNCTION: -DES_xcbc_encrypt 2606 1_1_0d EXIST::FUNCTION:DES -CPK_MASTER_SECRET_it 2607 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CPK -CPK_MASTER_SECRET_it 2607 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CPK -DISPLAYTEXT_free 2608 1_1_0d EXIST::FUNCTION: -Camellia_set_key 2609 1_1_0d EXIST::FUNCTION:CAMELLIA -PKCS7_set_attributes 2610 1_1_0d EXIST::FUNCTION: -CAST_cbc_encrypt 2611 1_1_0d EXIST::FUNCTION:CAST -X509_REQ_get_version 2612 1_1_0d EXIST::FUNCTION: -X509_CRL_get_ext_by_critical 2613 1_1_0d EXIST::FUNCTION: -ASN1_BOOLEAN_it 2614 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_BOOLEAN_it 2614 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SOF_GetServerCertificate 2615 1_1_0d EXIST::FUNCTION: -X509_STORE_set_check_revocation 2616 1_1_0d EXIST::FUNCTION: -i2d_ASN1_GENERALSTRING 2617 1_1_0d EXIST::FUNCTION: -ZUC_set_key 2618 1_1_0d EXIST::FUNCTION:ZUC -ENGINE_set_finish_function 2619 1_1_0d EXIST::FUNCTION:ENGINE -X509_get_pubkey_parameters 2620 1_1_0d EXIST::FUNCTION: -IDEA_options 2621 1_1_0d EXIST::FUNCTION:IDEA -SRP_Calc_client_key 2622 1_1_0d EXIST::FUNCTION:SRP -GENERAL_NAME_print 2623 1_1_0d EXIST::FUNCTION: -i2d_ECPKParameters 2624 1_1_0d EXIST::FUNCTION:EC -i2d_BB1PublicParameters 2625 1_1_0d EXIST::FUNCTION:BB1IBE -SM2_COSIGNER1_SHARE_it 2626 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM2 -SM2_COSIGNER1_SHARE_it 2626 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM2 -X509v3_get_ext_count 2627 1_1_0d EXIST::FUNCTION: -PKCS5_PBE_keyivgen 2628 1_1_0d EXIST::FUNCTION: -BIO_method_type 2629 1_1_0d EXIST::FUNCTION: -X509_PUBKEY_get 2630 1_1_0d EXIST::FUNCTION: -PKCS7_set_signed_attributes 2631 1_1_0d EXIST::FUNCTION: -DSA_meth_set0_app_data 2632 1_1_0d EXIST::FUNCTION:DSA -sms4_ofb128_encrypt 2633 1_1_0d EXIST::FUNCTION:SMS4 -X509V3_add_value_bool 2634 1_1_0d EXIST::FUNCTION: -i2d_ASN1_IA5STRING 2635 1_1_0d EXIST::FUNCTION: -PEM_write_SM9PublicKey 2636 1_1_0d EXIST::FUNCTION:SM9,STDIO -ERR_get_next_error_library 2637 1_1_0d EXIST::FUNCTION: -OCSP_REQUEST_get_ext 2638 1_1_0d EXIST::FUNCTION:OCSP -i2d_X509_CRL 2639 1_1_0d EXIST::FUNCTION: -PKCS7_set0_type_other 2640 1_1_0d EXIST::FUNCTION: -SRP_VBASE_get_by_user 2641 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SRP -BN_GENCB_get_arg 2642 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_delete_ext 2643 1_1_0d EXIST::FUNCTION:OCSP -ASN1_TIME_to_generalizedtime 2644 1_1_0d EXIST::FUNCTION: -X509_PUBKEY_it 2645 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_PUBKEY_it 2645 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -serpent_set_decrypt_key 2646 1_1_0d EXIST::FUNCTION:SERPENT -ECDSA_SIG_new_from_ECCSignature 2647 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -SHA256_Init 2648 1_1_0d EXIST::FUNCTION: -Camellia_ctr128_encrypt 2649 1_1_0d EXIST::FUNCTION:CAMELLIA -X509_STORE_CTX_get_check_issued 2650 1_1_0d EXIST::FUNCTION: -ASN1_STRING_length_set 2651 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_set1_data 2652 1_1_0d EXIST::FUNCTION: -ENGINE_get_pkey_meth 2653 1_1_0d EXIST::FUNCTION:ENGINE -ERR_load_ENGINE_strings 2654 1_1_0d EXIST::FUNCTION:ENGINE -EC_KEY_new_from_ECCrefPrivateKey 2655 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -X509_CRL_get_nextUpdate 2656 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -i2d_SM9_PUBKEY 2657 1_1_0d EXIST::FUNCTION:SM9 -SDF_CalculateMAC 2658 1_1_0d EXIST::FUNCTION: -SCT_LIST_print 2659 1_1_0d EXIST::FUNCTION:CT -X509_print 2660 1_1_0d EXIST::FUNCTION: -ECParameters_print_fp 2661 1_1_0d EXIST::FUNCTION:EC,STDIO -CMS_EnvelopedData_create 2662 1_1_0d EXIST::FUNCTION:CMS -DES_cfb_encrypt 2663 1_1_0d EXIST::FUNCTION:DES -ENGINE_free 2664 1_1_0d EXIST::FUNCTION:ENGINE -EVP_MD_do_all 2665 1_1_0d EXIST::FUNCTION: -err_free_strings_int 2666 1_1_0d EXIST::FUNCTION: -SAF_GetCertificateInfo 2667 1_1_0d EXIST::FUNCTION: -X509_gmtime_adj 2668 1_1_0d EXIST::FUNCTION: -OBJ_nid2ln 2669 1_1_0d EXIST::FUNCTION: -DSA_meth_get_bn_mod_exp 2670 1_1_0d EXIST::FUNCTION:DSA -PKCS12_new 2671 1_1_0d EXIST::FUNCTION: -i2d_TS_RESP_bio 2672 1_1_0d EXIST::FUNCTION:TS -EVP_Digest 2673 1_1_0d EXIST::FUNCTION: -ECDSA_do_sign_ex 2674 1_1_0d EXIST::FUNCTION:EC -SCT_set0_signature 2675 1_1_0d EXIST::FUNCTION:CT -OPENSSL_LH_get_down_load 2676 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_iv 2677 1_1_0d EXIST::FUNCTION: -ASN1_UNIVERSALSTRING_new 2678 1_1_0d EXIST::FUNCTION: -EVP_PKEY_decrypt_init 2679 1_1_0d EXIST::FUNCTION: -i2d_TS_REQ_fp 2680 1_1_0d EXIST::FUNCTION:STDIO,TS -d2i_SM9PublicParameters_bio 2681 1_1_0d EXIST::FUNCTION:SM9 -X509_PUBKEY_get0 2682 1_1_0d EXIST::FUNCTION: -SDF_ExternalPublicKeyOperation_RSA 2683 1_1_0d EXIST::FUNCTION: -EC_METHOD_get_field_type 2684 1_1_0d EXIST::FUNCTION:EC -SKF_GetContainerType 2685 1_1_0d EXIST::FUNCTION:SKF -OPENSSL_sk_value 2686 1_1_0d EXIST::FUNCTION: -BN_BLINDING_get_flags 2687 1_1_0d EXIST::FUNCTION: -OCSP_SIGNATURE_free 2688 1_1_0d EXIST::FUNCTION:OCSP -TS_TST_INFO_free 2689 1_1_0d EXIST::FUNCTION:TS -EC_GROUP_get_pentanomial_basis 2690 1_1_0d EXIST::FUNCTION:EC,EC2M -ZUC_128eea3_set_key 2691 1_1_0d EXIST::FUNCTION:ZUC -X509_get0_tbs_sigalg 2692 1_1_0d EXIST::FUNCTION: -SRP_VBASE_init 2693 1_1_0d EXIST::FUNCTION:SRP -PKCS12_verify_mac 2694 1_1_0d EXIST::FUNCTION: -i2d_BB1CiphertextBlock 2695 1_1_0d EXIST::FUNCTION:BB1IBE -EVP_PKEY_print_params 2696 1_1_0d EXIST::FUNCTION: -ASN1_STRING_clear_free 2697 1_1_0d EXIST::FUNCTION: -i2o_SCT 2698 1_1_0d EXIST::FUNCTION:CT -EC_KEY_METHOD_get_decrypt 2699 1_1_0d EXIST::FUNCTION:SM2 -SM2_KAP_final_check 2700 1_1_0d EXIST::FUNCTION:SM2 -NCONF_get_string 2701 1_1_0d EXIST::FUNCTION: -DSA_meth_get_flags 2702 1_1_0d EXIST::FUNCTION:DSA -d2i_PKCS7_RECIP_INFO 2703 1_1_0d EXIST::FUNCTION: -EVP_cast5_cbc 2704 1_1_0d EXIST::FUNCTION:CAST -CMS_EncryptedData_set1_key 2705 1_1_0d EXIST::FUNCTION:CMS -OCSP_RESPBYTES_free 2706 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_encrypt 2707 1_1_0d EXIST::FUNCTION: -X509at_add1_attr_by_NID 2708 1_1_0d EXIST::FUNCTION: -X509_STORE_get_cleanup 2709 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_ext_by_OBJ 2710 1_1_0d EXIST::FUNCTION:TS -RSA_meth_set_finish 2711 1_1_0d EXIST::FUNCTION:RSA -DSO_free 2712 1_1_0d EXIST::FUNCTION: -SM9_decrypt 2713 1_1_0d EXIST::FUNCTION:SM9 -i2d_IPAddressFamily 2714 1_1_0d EXIST::FUNCTION:RFC3779 -EVP_CIPHER_CTX_free 2715 1_1_0d EXIST::FUNCTION: -ENGINE_set_RSA 2716 1_1_0d EXIST::FUNCTION:ENGINE -RSA_private_decrypt 2717 1_1_0d EXIST::FUNCTION:RSA -EVP_CIPHER_meth_get_get_asn1_params 2718 1_1_0d EXIST::FUNCTION: -ERR_load_EVP_strings 2719 1_1_0d EXIST::FUNCTION: -EVP_des_ede3_cfb8 2720 1_1_0d EXIST::FUNCTION:DES -MD2_Init 2721 1_1_0d EXIST::FUNCTION:MD2 -X509_VAL_new 2722 1_1_0d EXIST::FUNCTION: -d2i_SM2_COSIGNER2_PROOF 2723 1_1_0d EXIST::FUNCTION:SM2 -SKF_CloseApplication 2724 1_1_0d EXIST::FUNCTION:SKF -BFMasterSecret_free 2725 1_1_0d EXIST::FUNCTION:BFIBE -OCSP_SERVICELOC_free 2726 1_1_0d EXIST::FUNCTION:OCSP -DIST_POINT_new 2727 1_1_0d EXIST::FUNCTION: -X509_CRL_get_REVOKED 2728 1_1_0d EXIST::FUNCTION: -i2d_DIST_POINT_NAME 2729 1_1_0d EXIST::FUNCTION: -EVP_OpenFinal 2730 1_1_0d EXIST::FUNCTION:RSA -TS_MSG_IMPRINT_get_algo 2731 1_1_0d EXIST::FUNCTION:TS -sms4_cbc_encrypt 2732 1_1_0d EXIST::FUNCTION:SMS4 -DISPLAYTEXT_it 2733 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -DISPLAYTEXT_it 2733 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BIO_ADDR_service_string 2734 1_1_0d EXIST::FUNCTION:SOCK -BN_exp 2735 1_1_0d EXIST::FUNCTION: -ENGINE_remove 2736 1_1_0d EXIST::FUNCTION:ENGINE -X509_ALGOR_it 2737 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_ALGOR_it 2737 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CRYPTO_128_unwrap 2738 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_new 2739 1_1_0d EXIST::FUNCTION:TS -X509_CRL_it 2740 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_CRL_it 2740 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PKCS12_SAFEBAG_new 2741 1_1_0d EXIST::FUNCTION: -SOF_CreateTimeStampRequest 2742 1_1_0d EXIST::FUNCTION: -d2i_BFPrivateKeyBlock 2743 1_1_0d EXIST::FUNCTION:BFIBE -PKCS12_MAC_DATA_it 2744 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS12_MAC_DATA_it 2744 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_check_purpose 2745 1_1_0d EXIST::FUNCTION: -i2d_SM9Ciphertext_bio 2746 1_1_0d EXIST::FUNCTION:SM9 -PEM_write_bio_CMS 2747 1_1_0d EXIST::FUNCTION:CMS -RSA_set_RSAPRIVATEKEYBLOB 2748 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF -X509_REQ_digest 2749 1_1_0d EXIST::FUNCTION: -DSO_get_filename 2750 1_1_0d EXIST::FUNCTION: -ASN1_VISIBLESTRING_free 2751 1_1_0d EXIST::FUNCTION: -DH_set0_key 2752 1_1_0d EXIST::FUNCTION:DH -BIO_meth_get_callback_ctrl 2753 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_set_ordering 2754 1_1_0d EXIST::FUNCTION:TS -GENERAL_NAME_new 2755 1_1_0d EXIST::FUNCTION: -PKEY_USAGE_PERIOD_it 2756 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKEY_USAGE_PERIOD_it 2756 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ENGINE_register_all_RSA 2757 1_1_0d EXIST::FUNCTION:ENGINE -X509_PURPOSE_get0_name 2758 1_1_0d EXIST::FUNCTION: -d2i_ECParameters 2759 1_1_0d EXIST::FUNCTION:EC -X509_VERIFY_PARAM_clear_flags 2760 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_set_app_data 2761 1_1_0d EXIST::FUNCTION: -X509_STORE_get_ex_data 2762 1_1_0d EXIST::FUNCTION: -USERNOTICE_it 2763 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -USERNOTICE_it 2763 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BN_CTX_end 2764 1_1_0d EXIST::FUNCTION: -SKF_CancelWaitForDevEvent 2765 1_1_0d EXIST::FUNCTION:SKF -DH_generate_parameters 2766 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8,DH -BIO_set_init 2767 1_1_0d EXIST::FUNCTION: -BN_GF2m_mod_exp 2768 1_1_0d EXIST::FUNCTION:EC2M -X509_STORE_CTX_get_check_crl 2769 1_1_0d EXIST::FUNCTION: -NCONF_get_number_e 2770 1_1_0d EXIST::FUNCTION: -BN_is_odd 2771 1_1_0d EXIST::FUNCTION: -SHA384_Final 2772 1_1_0d EXIST:!VMSVAX:FUNCTION: -EC_KEY_set_ECCPRIVATEKEYBLOB 2773 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -RAND_OpenSSL 2774 1_1_0d EXIST::FUNCTION: -CRYPTO_mem_debug_pop 2775 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG -SHA384_Init 2776 1_1_0d EXIST:!VMSVAX:FUNCTION: -X509_VERIFY_PARAM_set_flags 2777 1_1_0d EXIST::FUNCTION: -CMS_is_detached 2778 1_1_0d EXIST::FUNCTION:CMS -ECIES_CIPHERTEXT_VALUE_set_ECCCipher 2779 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SDF -NCONF_load_fp 2780 1_1_0d EXIST::FUNCTION:STDIO -i2d_SM9Ciphertext_fp 2781 1_1_0d EXIST::FUNCTION:SM9,STDIO -BN_CTX_get 2782 1_1_0d EXIST::FUNCTION: -DIST_POINT_NAME_it 2783 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -DIST_POINT_NAME_it 2783 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_SM9PrivateKey 2784 1_1_0d EXIST::FUNCTION:SM9 -TS_RESP_CTX_add_flags 2785 1_1_0d EXIST::FUNCTION:TS -ASYNC_pause_job 2786 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_num 2787 1_1_0d EXIST::FUNCTION: -BN_clear_bit 2788 1_1_0d EXIST::FUNCTION: -EVP_sms4_xts 2789 1_1_0d EXIST::FUNCTION:SMS4 -CRYPTO_ocb128_new 2790 1_1_0d EXIST::FUNCTION:OCB -ERR_peek_error_line 2791 1_1_0d EXIST::FUNCTION: -SM9_MASTER_KEY_print 2792 1_1_0d EXIST::FUNCTION:SM9 -PEM_write_X509_CRL 2793 1_1_0d EXIST::FUNCTION:STDIO -X509_set_version 2794 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_dup 2795 1_1_0d EXIST::FUNCTION: -d2i_SM9Ciphertext_fp 2796 1_1_0d EXIST::FUNCTION:SM9,STDIO -PEM_write_bio_SM9PublicKey 2797 1_1_0d EXIST::FUNCTION:SM9 -X509V3_EXT_add 2798 1_1_0d EXIST::FUNCTION: -i2d_PKCS8_PRIV_KEY_INFO_fp 2799 1_1_0d EXIST::FUNCTION:STDIO -RC2_encrypt 2800 1_1_0d EXIST::FUNCTION:RC2 -TS_REQ_print_bio 2801 1_1_0d EXIST::FUNCTION:TS -BB1PrivateKeyBlock_new 2802 1_1_0d EXIST::FUNCTION:BB1IBE -TS_RESP_free 2803 1_1_0d EXIST::FUNCTION:TS -X509_subject_name_cmp 2804 1_1_0d EXIST::FUNCTION: -BFCiphertextBlock_new 2805 1_1_0d EXIST::FUNCTION:BFIBE -d2i_PKCS12_MAC_DATA 2806 1_1_0d EXIST::FUNCTION: -CRYPTO_gcm128_encrypt 2807 1_1_0d EXIST::FUNCTION: -SM9_compute_share_key_A 2808 1_1_0d EXIST::FUNCTION:SM9 -UI_create_method 2809 1_1_0d EXIST::FUNCTION:UI -CRYPTO_clear_free 2810 1_1_0d EXIST::FUNCTION: -i2d_OCSP_RESPONSE 2811 1_1_0d EXIST::FUNCTION:OCSP -OPENSSL_INIT_set_config_appname 2812 1_1_0d EXIST::FUNCTION:STDIO -ECDSA_SIG_set_ECCSignature 2813 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -ASN1_INTEGER_set 2814 1_1_0d EXIST::FUNCTION: -TS_CONF_set_def_policy 2815 1_1_0d EXIST::FUNCTION:TS -DES_ede3_ofb64_encrypt 2816 1_1_0d EXIST::FUNCTION:DES -i2d_DHparams 2817 1_1_0d EXIST::FUNCTION:DH -TS_REQ_to_TS_VERIFY_CTX 2818 1_1_0d EXIST::FUNCTION:TS -i2d_re_X509_REQ_tbs 2819 1_1_0d EXIST::FUNCTION: -X509_signature_dump 2820 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_get0_attrs 2821 1_1_0d EXIST::FUNCTION: -OpenSSL_version_num 2822 1_1_0d EXIST::FUNCTION: -LONG_it 2823 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -LONG_it 2823 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -NETSCAPE_SPKI_b64_decode 2824 1_1_0d EXIST::FUNCTION: -ENGINE_setup_bsd_cryptodev 2825 1_1_0d EXIST:__FreeBSD__:FUNCTION:DEPRECATEDIN_1_1_0,ENGINE -X509v3_asid_is_canonical 2826 1_1_0d EXIST::FUNCTION:RFC3779 -BN_set_negative 2827 1_1_0d EXIST::FUNCTION: -SKF_EnumFiles 2828 1_1_0d EXIST::FUNCTION:SKF -X509_NAME_ENTRY_get_object 2829 1_1_0d EXIST::FUNCTION: -CRYPTO_set_mem_functions 2830 1_1_0d EXIST::FUNCTION: -DSA_print_fp 2831 1_1_0d EXIST::FUNCTION:DSA,STDIO -BN_GF2m_mod_inv_arr 2832 1_1_0d EXIST::FUNCTION:EC2M -X509V3_EXT_conf_nid 2833 1_1_0d EXIST::FUNCTION: -X509_CRL_get_signature_nid 2834 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_set 2835 1_1_0d EXIST::FUNCTION: -X509_LOOKUP_init 2836 1_1_0d EXIST::FUNCTION: -d2i_NOTICEREF 2837 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_paramgen 2838 1_1_0d EXIST::FUNCTION: -i2d_ASN1_SEQUENCE_ANY 2839 1_1_0d EXIST::FUNCTION: -RSA_padding_check_PKCS1_OAEP 2840 1_1_0d EXIST::FUNCTION:RSA -EVP_des_ede3_cfb64 2841 1_1_0d EXIST::FUNCTION:DES -TS_REQ_new 2842 1_1_0d EXIST::FUNCTION:TS -CMS_decrypt_set1_password 2843 1_1_0d EXIST::FUNCTION:CMS -ASN1_SEQUENCE_ANY_it 2844 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_SEQUENCE_ANY_it 2844 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509V3_EXT_CRL_add_nconf 2845 1_1_0d EXIST::FUNCTION: -i2d_FpPoint 2846 1_1_0d EXIST::FUNCTION: -POLICYQUALINFO_it 2847 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -POLICYQUALINFO_it 2847 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_ATTRIBUTE_free 2848 1_1_0d EXIST::FUNCTION: -RSA_padding_add_PKCS1_PSS_mgf1 2849 1_1_0d EXIST::FUNCTION:RSA -EC_POINT_hash2point 2850 1_1_0d EXIST::FUNCTION: -EVP_CipherInit_ex 2851 1_1_0d EXIST::FUNCTION: -EC_KEY_get_default_method 2852 1_1_0d EXIST::FUNCTION:EC -PKCS7_ENCRYPT_free 2853 1_1_0d EXIST::FUNCTION: -EC_GF2m_simple_method 2854 1_1_0d EXIST::FUNCTION:EC,EC2M -i2d_X509_VAL 2855 1_1_0d EXIST::FUNCTION: -OBJ_create_objects 2856 1_1_0d EXIST::FUNCTION: -CONF_dump_fp 2857 1_1_0d EXIST::FUNCTION:STDIO -X509_check_ca 2858 1_1_0d EXIST::FUNCTION: -BUF_MEM_grow_clean 2859 1_1_0d EXIST::FUNCTION: -i2d_ASN1_INTEGER 2860 1_1_0d EXIST::FUNCTION: -BN_get_word 2861 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_set_ctrl 2862 1_1_0d EXIST::FUNCTION: -ASN1_INTEGER_get_int64 2863 1_1_0d EXIST::FUNCTION: -SKF_PrintECCSignature 2864 1_1_0d EXIST::FUNCTION:SKF -X509_get_default_cert_dir_env 2865 1_1_0d EXIST::FUNCTION: -BN_options 2866 1_1_0d EXIST::FUNCTION: -EVP_aes_256_cfb128 2867 1_1_0d EXIST::FUNCTION: -RSA_X931_generate_key_ex 2868 1_1_0d EXIST::FUNCTION:RSA -CONF_get_section 2869 1_1_0d EXIST::FUNCTION: -d2i_PKCS7_ISSUER_AND_SERIAL 2870 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_curve_GFp 2871 1_1_0d EXIST::FUNCTION:EC -RSA_check_key_ex 2872 1_1_0d EXIST::FUNCTION:RSA -ASN1_item_ndef_i2d 2873 1_1_0d EXIST::FUNCTION: -ASN1_SCTX_get_item 2874 1_1_0d EXIST::FUNCTION: -i2d_DSA_PUBKEY 2875 1_1_0d EXIST::FUNCTION:DSA -d2i_NETSCAPE_SPKI 2876 1_1_0d EXIST::FUNCTION: -DSA_meth_get_finish 2877 1_1_0d EXIST::FUNCTION:DSA -X509_REVOKED_get_ext_count 2878 1_1_0d EXIST::FUNCTION: -speck_decrypt64 2879 1_1_0d EXIST::FUNCTION:SPECK -ERR_load_BUF_strings 2880 1_1_0d EXIST::FUNCTION: -d2i_SXNETID 2881 1_1_0d EXIST::FUNCTION: -EVP_camellia_128_ofb 2882 1_1_0d EXIST::FUNCTION:CAMELLIA -i2d_SM9Ciphertext 2883 1_1_0d EXIST::FUNCTION:SM9 -ASN1_TYPE_unpack_sequence 2884 1_1_0d EXIST::FUNCTION: -i2d_BB1PrivateKeyBlock 2885 1_1_0d EXIST::FUNCTION:BB1IBE -X509_ocspid_print 2886 1_1_0d EXIST::FUNCTION: -X509_REQ_check_private_key 2887 1_1_0d EXIST::FUNCTION: -DSA_meth_new 2888 1_1_0d EXIST::FUNCTION:DSA -BB1MasterSecret_it 2889 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BB1IBE -BB1MasterSecret_it 2889 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BB1IBE -BN_set_word 2890 1_1_0d EXIST::FUNCTION: -DH_meth_set_generate_params 2891 1_1_0d EXIST::FUNCTION:DH -BIO_s_fd 2892 1_1_0d EXIST::FUNCTION: -UI_new_method 2893 1_1_0d EXIST::FUNCTION:UI -TS_REQ_get_policy_id 2894 1_1_0d EXIST::FUNCTION:TS -DSA_meth_set_sign_setup 2895 1_1_0d EXIST::FUNCTION:DSA -d2i_SM9Signature 2896 1_1_0d EXIST::FUNCTION:SM9 -PBKDF2PARAM_it 2897 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PBKDF2PARAM_it 2897 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PEM_read_PUBKEY 2898 1_1_0d EXIST::FUNCTION:STDIO -PEM_read_PAILLIER_PUBKEY 2899 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO -OPENSSL_LH_error 2900 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get0_DSA 2901 1_1_0d EXIST::FUNCTION:DSA -BN_get0_nist_prime_192 2902 1_1_0d EXIST::FUNCTION: -EVP_rc5_32_12_16_ecb 2903 1_1_0d EXIST::FUNCTION:RC5 -SDF_LoadLibrary 2904 1_1_0d EXIST::FUNCTION:SDF -i2d_NETSCAPE_SPKAC 2905 1_1_0d EXIST::FUNCTION: -DH_meth_get0_name 2906 1_1_0d EXIST::FUNCTION:DH -BIO_ADDRINFO_free 2907 1_1_0d EXIST::FUNCTION:SOCK -MDC2 2908 1_1_0d EXIST::FUNCTION:MDC2 -CMS_unsigned_get_attr 2909 1_1_0d EXIST::FUNCTION:CMS -BB1IBE_do_encrypt 2910 1_1_0d EXIST::FUNCTION:BB1IBE -PEM_ASN1_write 2911 1_1_0d EXIST::FUNCTION:STDIO -EC_POINT_free 2912 1_1_0d EXIST::FUNCTION:EC -BF_ofb64_encrypt 2913 1_1_0d EXIST::FUNCTION:BF -TS_RESP_CTX_set_status_info 2914 1_1_0d EXIST::FUNCTION:TS -EVP_camellia_128_cfb8 2915 1_1_0d EXIST::FUNCTION:CAMELLIA -TS_VERIFY_CTX_add_flags 2916 1_1_0d EXIST::FUNCTION:TS -EVP_sm3 2917 1_1_0d EXIST::FUNCTION:SM3 -SAF_DestroyHashObj 2918 1_1_0d EXIST::FUNCTION: -SAF_MacUpdate 2919 1_1_0d EXIST::FUNCTION: -ASN1_BIT_STRING_name_print 2920 1_1_0d EXIST::FUNCTION: -ECDSA_SIG_set0 2921 1_1_0d EXIST::FUNCTION:EC -BN_RECP_CTX_set 2922 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_create_by_NID 2923 1_1_0d EXIST::FUNCTION: -X509_REQ_get_extension_nids 2924 1_1_0d EXIST::FUNCTION: -OBJ_nid2obj 2925 1_1_0d EXIST::FUNCTION: -SKF_DeleteApplication 2926 1_1_0d EXIST::FUNCTION:SKF -EVP_camellia_256_cfb128 2927 1_1_0d EXIST::FUNCTION:CAMELLIA -TS_TST_INFO_get_accuracy 2928 1_1_0d EXIST::FUNCTION:TS -BFIBE_extract_private_key 2929 1_1_0d EXIST::FUNCTION:BFIBE -SM2_COSIGNER1_PROOF_it 2930 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM2 -SM2_COSIGNER1_PROOF_it 2930 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM2 -SHA512 2931 1_1_0d EXIST:!VMSVAX:FUNCTION: -X509_STORE_set_purpose 2932 1_1_0d EXIST::FUNCTION: -TS_VERIFY_CTX_free 2933 1_1_0d EXIST::FUNCTION:TS -ASN1_GENERALIZEDTIME_set_string 2934 1_1_0d EXIST::FUNCTION: -BN_GF2m_mod_sqrt 2935 1_1_0d EXIST::FUNCTION:EC2M -BIO_fd_should_retry 2936 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_set_cipher_data 2937 1_1_0d EXIST::FUNCTION: -BN_is_prime_ex 2938 1_1_0d EXIST::FUNCTION: -SM9_KEY_up_ref 2939 1_1_0d EXIST::FUNCTION:SM9 -d2i_AUTHORITY_INFO_ACCESS 2940 1_1_0d EXIST::FUNCTION: -serpent_decrypt 2941 1_1_0d EXIST::FUNCTION:SERPENT -o2i_SCT 2942 1_1_0d EXIST::FUNCTION:CT -X509_set_subject_name 2943 1_1_0d EXIST::FUNCTION: -SM9MasterSecret_it 2944 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 -SM9MasterSecret_it 2944 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 -DHparams_print_fp 2945 1_1_0d EXIST::FUNCTION:DH,STDIO -SKF_EnumContainer 2946 1_1_0d EXIST::FUNCTION:SKF -BIO_s_accept 2947 1_1_0d EXIST::FUNCTION:SOCK -PAILLIER_generate_key 2948 1_1_0d EXIST::FUNCTION:PAILLIER -EVP_des_ede_cbc 2949 1_1_0d EXIST::FUNCTION:DES -GENERAL_NAME_set0_value 2950 1_1_0d EXIST::FUNCTION: -X509v3_addr_canonize 2951 1_1_0d EXIST::FUNCTION:RFC3779 -ASN1_TIME_new 2952 1_1_0d EXIST::FUNCTION: -SOF_SignFile 2953 1_1_0d EXIST::FUNCTION: -SAF_Login 2954 1_1_0d EXIST::FUNCTION: -X509_EXTENSION_set_critical 2955 1_1_0d EXIST::FUNCTION: -UI_method_get_reader 2956 1_1_0d EXIST::FUNCTION:UI -OBJ_NAME_add 2957 1_1_0d EXIST::FUNCTION: -d2i_ECPrivateKey 2958 1_1_0d EXIST::FUNCTION:EC -DES_quad_cksum 2959 1_1_0d EXIST::FUNCTION:DES -TS_CONF_set_serial 2960 1_1_0d EXIST::FUNCTION:TS -ASN1_item_free 2961 1_1_0d EXIST::FUNCTION: -X509_LOOKUP_shutdown 2962 1_1_0d EXIST::FUNCTION: -BIO_get_new_index 2963 1_1_0d EXIST::FUNCTION: -ASN1_OCTET_STRING_dup 2964 1_1_0d EXIST::FUNCTION: -TXT_DB_create_index 2965 1_1_0d EXIST::FUNCTION: -d2i_X509_REVOKED 2966 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_set_extension_cb 2967 1_1_0d EXIST::FUNCTION:TS -BN_get_rfc3526_prime_4096 2968 1_1_0d EXIST::FUNCTION: -DSO_global_lookup 2969 1_1_0d EXIST::FUNCTION: -EVP_DigestVerifyFinal 2970 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_pack_sequence 2971 1_1_0d EXIST::FUNCTION: -SAF_Pkcs7_EncodeData 2972 1_1_0d EXIST::FUNCTION: -X509_check_trust 2973 1_1_0d EXIST::FUNCTION: -OBJ_get0_data 2974 1_1_0d EXIST::FUNCTION: -AES_bi_ige_encrypt 2975 1_1_0d EXIST::FUNCTION: -EVP_EncryptFinal_ex 2976 1_1_0d EXIST::FUNCTION: -EVP_seed_cbc 2977 1_1_0d EXIST::FUNCTION:SEED -BIO_new_fd 2978 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_get0_peerkey 2979 1_1_0d EXIST::FUNCTION: -SCT_set0_log_id 2980 1_1_0d EXIST::FUNCTION:CT -EVP_CIPHER_CTX_set_flags 2981 1_1_0d EXIST::FUNCTION: -X509_set_pubkey 2982 1_1_0d EXIST::FUNCTION: -CTLOG_get0_public_key 2983 1_1_0d EXIST::FUNCTION:CT -X509V3_get_value_int 2984 1_1_0d EXIST::FUNCTION: -CMS_unsigned_add1_attr_by_txt 2985 1_1_0d EXIST::FUNCTION:CMS -EVP_CIPHER_CTX_nid 2986 1_1_0d EXIST::FUNCTION: -i2v_ASN1_BIT_STRING 2987 1_1_0d EXIST::FUNCTION: -SXNETID_it 2988 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -SXNETID_it 2988 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ENGINE_get_init_function 2989 1_1_0d EXIST::FUNCTION:ENGINE -ASN1_ENUMERATED_free 2990 1_1_0d EXIST::FUNCTION: -RSA_size 2991 1_1_0d EXIST::FUNCTION:RSA -RSA_get0_crt_params 2992 1_1_0d EXIST::FUNCTION:RSA -COMP_compress_block 2993 1_1_0d EXIST::FUNCTION:COMP -BFIBE_do_decrypt 2994 1_1_0d EXIST::FUNCTION:BFIBE -sms4_cfb128_encrypt 2995 1_1_0d EXIST::FUNCTION:SMS4 -CMS_SignerInfo_cert_cmp 2996 1_1_0d EXIST::FUNCTION:CMS -d2i_CRL_DIST_POINTS 2997 1_1_0d EXIST::FUNCTION: -EC_KEY_print 2998 1_1_0d EXIST::FUNCTION:EC -X509_policy_level_get0_node 2999 1_1_0d EXIST::FUNCTION: -SAF_HashUpdate 3000 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_copy 3001 1_1_0d EXIST::FUNCTION: -BIO_write 3002 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_version 3003 1_1_0d EXIST::FUNCTION:TS -ENGINE_unregister_DSA 3004 1_1_0d EXIST::FUNCTION:ENGINE -PEM_write_bio_PrivateKey_traditional 3005 1_1_0d EXIST::FUNCTION: -BB1CiphertextBlock_new 3006 1_1_0d EXIST::FUNCTION:BB1IBE -X509_REQ_print_fp 3007 1_1_0d EXIST::FUNCTION:STDIO -OCSP_request_add0_id 3008 1_1_0d EXIST::FUNCTION:OCSP -i2d_RSA_PUBKEY_fp 3009 1_1_0d EXIST::FUNCTION:RSA,STDIO -PEM_ASN1_read_bio 3010 1_1_0d EXIST::FUNCTION: -EVP_camellia_128_ecb 3011 1_1_0d EXIST::FUNCTION:CAMELLIA -DSA_get_default_method 3012 1_1_0d EXIST::FUNCTION:DSA -EVP_des_ede3_ecb 3013 1_1_0d EXIST::FUNCTION:DES -EVP_CIPHER_meth_get_do_cipher 3014 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_signctx 3015 1_1_0d EXIST::FUNCTION: -X509V3_get_value_bool 3016 1_1_0d EXIST::FUNCTION: -EVP_VerifyFinal 3017 1_1_0d EXIST::FUNCTION: -X509_policy_tree_free 3018 1_1_0d EXIST::FUNCTION: -X509_EXTENSIONS_it 3019 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_EXTENSIONS_it 3019 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_TS_TST_INFO_bio 3020 1_1_0d EXIST::FUNCTION:TS -CMS_RecipientInfo_kekri_id_cmp 3021 1_1_0d EXIST::FUNCTION:CMS -OCSP_resp_get0_id 3022 1_1_0d EXIST::FUNCTION:OCSP -SM2CiphertextValue_set_ECCCipher 3023 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF,SM2 -X509_find_by_subject 3024 1_1_0d EXIST::FUNCTION: -SMIME_read_CMS 3025 1_1_0d EXIST::FUNCTION:CMS -EVP_des_ede3_wrap 3026 1_1_0d EXIST::FUNCTION:DES -ASN1_item_d2i_bio 3027 1_1_0d EXIST::FUNCTION: -sm3_hmac_final 3028 1_1_0d EXIST::FUNCTION:SM3 -CMS_signed_add1_attr_by_OBJ 3029 1_1_0d EXIST::FUNCTION:CMS -SKF_ECCVerify 3030 1_1_0d EXIST::FUNCTION:SKF -RSA_get_method 3031 1_1_0d EXIST::FUNCTION:RSA -ECIES_CIPHERTEXT_VALUE_ciphertext_length 3032 1_1_0d EXIST::FUNCTION:ECIES -SHA384_Update 3033 1_1_0d EXIST:!VMSVAX:FUNCTION: -MD2_Update 3034 1_1_0d EXIST::FUNCTION:MD2 -EVP_PBE_alg_add 3035 1_1_0d EXIST::FUNCTION: -UI_get_result_minsize 3036 1_1_0d EXIST::FUNCTION:UI -X509_REQ_add_extensions 3037 1_1_0d EXIST::FUNCTION: -BIO_get_data 3038 1_1_0d EXIST::FUNCTION: -ENGINE_get_digest 3039 1_1_0d EXIST::FUNCTION:ENGINE -X509_STORE_free 3040 1_1_0d EXIST::FUNCTION: -MD2_options 3041 1_1_0d EXIST::FUNCTION:MD2 -SOF_GetTimeStampInfo 3042 1_1_0d EXIST::FUNCTION: -d2i_ASN1_BIT_STRING 3043 1_1_0d EXIST::FUNCTION: -EVP_aes_256_cfb1 3044 1_1_0d EXIST::FUNCTION: -BIO_ctrl_pending 3045 1_1_0d EXIST::FUNCTION: -RSA_meth_get_priv_enc 3046 1_1_0d EXIST::FUNCTION:RSA -X509_CRL_INFO_new 3047 1_1_0d EXIST::FUNCTION: -PEM_read_ECPKParameters 3048 1_1_0d EXIST::FUNCTION:EC,STDIO -i2d_SM9MasterSecret_fp 3049 1_1_0d EXIST::FUNCTION:SM9,STDIO -EC_KEY_new 3050 1_1_0d EXIST::FUNCTION:EC -PKCS12_MAC_DATA_free 3051 1_1_0d EXIST::FUNCTION: -EC_GROUP_set_curve_GF2m 3052 1_1_0d EXIST::FUNCTION:EC,EC2M -X509_CINF_it 3053 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_CINF_it 3053 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_DSAPrivateKey_bio 3054 1_1_0d EXIST::FUNCTION:DSA -EVP_DecryptUpdate 3055 1_1_0d EXIST::FUNCTION: -IDEA_cfb64_encrypt 3056 1_1_0d EXIST::FUNCTION:IDEA -X509v3_add_ext 3057 1_1_0d EXIST::FUNCTION: -SAF_EnumCertificatesFree 3058 1_1_0d EXIST::FUNCTION: -PKCS12_get_friendlyname 3059 1_1_0d EXIST::FUNCTION: -BN_GFP2_add_bn 3060 1_1_0d EXIST::FUNCTION: -X509_get_ext_d2i 3061 1_1_0d EXIST::FUNCTION: -PEM_read_CMS 3062 1_1_0d EXIST::FUNCTION:CMS,STDIO -CMS_compress 3063 1_1_0d EXIST::FUNCTION:CMS -DSA_meth_set1_name 3064 1_1_0d EXIST::FUNCTION:DSA -RSA_get_RSArefPublicKey 3065 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF -EVP_PKEY_get_attr_by_NID 3066 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_dup 3067 1_1_0d EXIST::FUNCTION: -ECDSA_SIG_get_ECCSignature 3068 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -EC_POINT_new 3069 1_1_0d EXIST::FUNCTION:EC -BIO_set_tcp_ndelay 3070 1_1_0d EXIST::FUNCTION:SOCK -BN_nnmod 3071 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_set_cleanup 3072 1_1_0d EXIST::FUNCTION: -DSA_generate_parameters_ex 3073 1_1_0d EXIST::FUNCTION:DSA -d2i_PKCS8_bio 3074 1_1_0d EXIST::FUNCTION: -BN_BLINDING_unlock 3075 1_1_0d EXIST::FUNCTION: -DSA_meth_set_bn_mod_exp 3076 1_1_0d EXIST::FUNCTION:DSA -i2d_X509_REQ 3077 1_1_0d EXIST::FUNCTION: -X509V3_EXT_nconf 3078 1_1_0d EXIST::FUNCTION: -d2i_AutoPrivateKey 3079 1_1_0d EXIST::FUNCTION: -ASYNC_WAIT_CTX_set_wait_fd 3080 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_ktri_get0_signer_id 3081 1_1_0d EXIST::FUNCTION:CMS -EVP_seed_cfb128 3082 1_1_0d EXIST::FUNCTION:SEED -PEM_read_bio_EC_PUBKEY 3083 1_1_0d EXIST::FUNCTION:EC -EC_curve_nist2nid 3084 1_1_0d EXIST::FUNCTION:EC -EVP_MD_CTX_copy 3085 1_1_0d EXIST::FUNCTION: -SKF_ECCDecrypt 3086 1_1_0d EXIST::FUNCTION:SKF -RSA_meth_get_sign 3087 1_1_0d EXIST::FUNCTION:RSA -PEM_write_bio_DHxparams 3088 1_1_0d EXIST::FUNCTION:DH -EC_get_builtin_curves 3089 1_1_0d EXIST::FUNCTION:EC -X509_set_proxy_flag 3090 1_1_0d EXIST::FUNCTION: -SM9_wrap_key 3091 1_1_0d EXIST::FUNCTION:SM9 -ASN1_STRING_free 3092 1_1_0d EXIST::FUNCTION: -BIO_ADDR_free 3093 1_1_0d EXIST::FUNCTION:SOCK -OCSP_REQUEST_get_ext_by_OBJ 3094 1_1_0d EXIST::FUNCTION:OCSP -X509_REVOKED_new 3095 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_set_auth_level 3096 1_1_0d EXIST::FUNCTION: -SAF_Pkcs7_DecodeEnvelopedData 3097 1_1_0d EXIST::FUNCTION: -PEM_write_bio_X509_REQ_NEW 3098 1_1_0d EXIST::FUNCTION: -PEM_SignInit 3099 1_1_0d EXIST::FUNCTION: -BIO_ADDRINFO_next 3100 1_1_0d EXIST::FUNCTION:SOCK -d2i_X509_CERT_AUX 3101 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_block_size 3102 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_policy_id 3103 1_1_0d EXIST::FUNCTION:TS -PEM_write_bio_ASN1_stream 3104 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_get_ext_by_OBJ 3105 1_1_0d EXIST::FUNCTION:OCSP -TS_RESP_get_token 3106 1_1_0d EXIST::FUNCTION:TS -BN_mod_add_quick 3107 1_1_0d EXIST::FUNCTION: -CRYPTO_THREAD_lock_free 3108 1_1_0d EXIST::FUNCTION: -BN_nist_mod_func 3109 1_1_0d EXIST::FUNCTION: -NCONF_dump_fp 3110 1_1_0d EXIST::FUNCTION:STDIO -ECPKParameters_print_fp 3111 1_1_0d EXIST::FUNCTION:EC,STDIO -d2i_SM9_PUBKEY 3112 1_1_0d EXIST::FUNCTION:SM9 -X509_OBJECT_retrieve_by_subject 3113 1_1_0d EXIST::FUNCTION: -SM2_COSIGNER1_PROOF_new 3114 1_1_0d EXIST::FUNCTION:SM2 -X509_VERIFY_PARAM_move_peername 3115 1_1_0d EXIST::FUNCTION: -SM2_KAP_CTX_cleanup 3116 1_1_0d EXIST::FUNCTION:SM2 -ESS_ISSUER_SERIAL_dup 3117 1_1_0d EXIST::FUNCTION:TS -X509_load_cert_file 3118 1_1_0d EXIST::FUNCTION: -PAILLIER_new 3119 1_1_0d EXIST::FUNCTION:PAILLIER -BN_GFP2_add 3120 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKAC_it 3121 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -NETSCAPE_SPKAC_it 3121 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_PKCS7_ENVELOPE 3122 1_1_0d EXIST::FUNCTION: -SAF_GetEccPublicKey 3123 1_1_0d EXIST::FUNCTION: -i2d_PUBKEY_fp 3124 1_1_0d EXIST::FUNCTION:STDIO -BN_gcd 3125 1_1_0d EXIST::FUNCTION: -d2i_FpPoint 3126 1_1_0d EXIST::FUNCTION: -HMAC_CTX_reset 3127 1_1_0d EXIST::FUNCTION: -CRYPTO_ocb128_setiv 3128 1_1_0d EXIST::FUNCTION:OCB -CT_POLICY_EVAL_CTX_free 3129 1_1_0d EXIST::FUNCTION:CT -EVP_aes_128_gcm 3130 1_1_0d EXIST::FUNCTION: -CRYPTO_mem_leaks 3131 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG -CMS_unsigned_add1_attr_by_NID 3132 1_1_0d EXIST::FUNCTION:CMS -BN_abs_is_word 3133 1_1_0d EXIST::FUNCTION: -BN_free 3134 1_1_0d EXIST::FUNCTION: -ERR_load_DH_strings 3135 1_1_0d EXIST::FUNCTION:DH -BN_sm2_mod_256 3136 1_1_0d EXIST::FUNCTION:SM2 -RSA_new_method 3137 1_1_0d EXIST::FUNCTION:RSA -MD4 3138 1_1_0d EXIST::FUNCTION:MD4 -OPENSSL_atexit 3139 1_1_0d EXIST::FUNCTION: -speck_decrypt16 3140 1_1_0d EXIST::FUNCTION:SPECK -BN_print 3141 1_1_0d EXIST::FUNCTION: -SKF_PrintECCCipher 3142 1_1_0d EXIST::FUNCTION:SKF -X509_delete_ext 3143 1_1_0d EXIST::FUNCTION: -BN_nist_mod_192 3144 1_1_0d EXIST::FUNCTION: -X509_REQ_new 3145 1_1_0d EXIST::FUNCTION: -ASN1_ENUMERATED_it 3146 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_ENUMERATED_it 3146 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ERR_pop_to_mark 3147 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get1_crls 3148 1_1_0d EXIST::FUNCTION: -BN_GFP2_canonical 3149 1_1_0d EXIST::FUNCTION: -ASN1_UTCTIME_cmp_time_t 3150 1_1_0d EXIST::FUNCTION: -PKCS7_ENCRYPT_it 3151 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_ENCRYPT_it 3151 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_PKEY_asn1_get0_info 3152 1_1_0d EXIST::FUNCTION: -X509_get_issuer_name 3153 1_1_0d EXIST::FUNCTION: -i2d_ASN1_SET_ANY 3154 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get0_cert 3155 1_1_0d EXIST::FUNCTION: -ENGINE_set_cmd_defns 3156 1_1_0d EXIST::FUNCTION:ENGINE -X509_subject_name_hash 3157 1_1_0d EXIST::FUNCTION: -OPENSSL_hexstr2buf 3158 1_1_0d EXIST::FUNCTION: -d2i_GENERAL_NAME 3159 1_1_0d EXIST::FUNCTION: -BN_get_flags 3160 1_1_0d EXIST::FUNCTION: -ASN1_STRING_cmp 3161 1_1_0d EXIST::FUNCTION: -DSO_bind_func 3162 1_1_0d EXIST::FUNCTION: -PAILLIER_encrypt 3163 1_1_0d EXIST::FUNCTION:PAILLIER -PKCS12_SAFEBAG_get1_cert 3164 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_set_update 3165 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_create_by_NID 3166 1_1_0d EXIST::FUNCTION: -SM9Ciphertext_new 3167 1_1_0d EXIST::FUNCTION:SM9 -EVP_md5_sha1 3168 1_1_0d EXIST::FUNCTION:MD5 -CRYPTO_nistcts128_encrypt 3169 1_1_0d EXIST::FUNCTION: -a2i_ASN1_STRING 3170 1_1_0d EXIST::FUNCTION: -ECRS_SIG_free 3171 1_1_0d EXIST::FUNCTION:ECRS -BN_bn2bin 3172 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_get_keygen_info 3173 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_set1 3174 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_asn1_flag 3175 1_1_0d EXIST::FUNCTION:EC -PKCS7_add_certificate 3176 1_1_0d EXIST::FUNCTION: -DH_meth_get_generate_key 3177 1_1_0d EXIST::FUNCTION:DH -b2i_PVK_bio 3178 1_1_0d EXIST::FUNCTION:DSA,RC4 -EC_GROUP_get_type1curve_eta 3179 1_1_0d EXIST::FUNCTION: -TS_CONF_set_signer_cert 3180 1_1_0d EXIST::FUNCTION:TS -ASN1_STRING_type 3181 1_1_0d EXIST::FUNCTION: -d2i_X509_PUBKEY 3182 1_1_0d EXIST::FUNCTION: -OCSP_REQ_CTX_http 3183 1_1_0d EXIST::FUNCTION:OCSP -ECPKParameters_print 3184 1_1_0d EXIST::FUNCTION:EC -i2d_DSA_SIG 3185 1_1_0d EXIST::FUNCTION:DSA -ASYNC_get_current_job 3186 1_1_0d EXIST::FUNCTION: -RSA_private_encrypt 3187 1_1_0d EXIST::FUNCTION:RSA -d2i_DSAPrivateKey_fp 3188 1_1_0d EXIST::FUNCTION:DSA,STDIO -EVP_PKEY_get0_DH 3189 1_1_0d EXIST::FUNCTION:DH -EC_KEY_new_by_curve_name 3190 1_1_0d EXIST::FUNCTION:EC -X509_REQ_to_X509 3191 1_1_0d EXIST::FUNCTION: -i2d_OCSP_RESPBYTES 3192 1_1_0d EXIST::FUNCTION:OCSP -SHA1_Update 3193 1_1_0d EXIST::FUNCTION: -OPENSSL_DIR_read 3194 1_1_0d EXIST::FUNCTION: -SDF_GenerateKeyWithKEK 3195 1_1_0d EXIST::FUNCTION: -OCSP_id_issuer_cmp 3196 1_1_0d EXIST::FUNCTION:OCSP -d2i_ASN1_GENERALSTRING 3197 1_1_0d EXIST::FUNCTION: -EC_POINT_set_affine_coordinates_GFp 3198 1_1_0d EXIST::FUNCTION:EC -i2d_PKCS8_fp 3199 1_1_0d EXIST::FUNCTION:STDIO -RSA_blinding_off 3200 1_1_0d EXIST::FUNCTION:RSA -PBE2PARAM_new 3201 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_error 3202 1_1_0d EXIST::FUNCTION: -TS_STATUS_INFO_new 3203 1_1_0d EXIST::FUNCTION:TS -RSA_padding_check_X931 3204 1_1_0d EXIST::FUNCTION:RSA -X509_issuer_name_hash 3205 1_1_0d EXIST::FUNCTION: -d2i_X509_CRL_fp 3206 1_1_0d EXIST::FUNCTION:STDIO -TS_TST_INFO_get_tsa 3207 1_1_0d EXIST::FUNCTION:TS -ENGINE_unregister_ciphers 3208 1_1_0d EXIST::FUNCTION:ENGINE -CMS_get0_content 3209 1_1_0d EXIST::FUNCTION:CMS -SDF_ExchangeDigitEnvelopeBaseOnECC 3210 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_add_policy 3211 1_1_0d EXIST::FUNCTION:TS -OPENSSL_sk_delete 3212 1_1_0d EXIST::FUNCTION: -DSA_print 3213 1_1_0d EXIST::FUNCTION:DSA -X509V3_add_value_int 3214 1_1_0d EXIST::FUNCTION: -EC_GROUP_precompute_mult 3215 1_1_0d EXIST::FUNCTION:EC -EVP_DigestSignFinal 3216 1_1_0d EXIST::FUNCTION: -EVP_camellia_256_cfb1 3217 1_1_0d EXIST::FUNCTION:CAMELLIA -SDF_GenerateAgreementDataAndKeyWithECC 3218 1_1_0d EXIST::FUNCTION: -d2i_TS_ACCURACY 3219 1_1_0d EXIST::FUNCTION:TS -ISSUING_DIST_POINT_free 3220 1_1_0d EXIST::FUNCTION: -EVP_PKEY_new_mac_key 3221 1_1_0d EXIST::FUNCTION: -d2i_OCSP_RESPONSE 3222 1_1_0d EXIST::FUNCTION:OCSP -ASN1_PCTX_set_oid_flags 3223 1_1_0d EXIST::FUNCTION: -RSA_get_default_method 3224 1_1_0d EXIST::FUNCTION:RSA -i2d_SM9Signature 3225 1_1_0d EXIST::FUNCTION:SM9 -OCSP_SINGLERESP_get_ext_by_NID 3226 1_1_0d EXIST::FUNCTION:OCSP -EVP_aes_192_ccm 3227 1_1_0d EXIST::FUNCTION: -RSA_flags 3228 1_1_0d EXIST::FUNCTION:RSA -PKCS7_add_recipient 3229 1_1_0d EXIST::FUNCTION: -X509_REQ_get_pubkey 3230 1_1_0d EXIST::FUNCTION: -TS_CONF_set_crypto_device 3231 1_1_0d EXIST::FUNCTION:ENGINE,TS -X509_CRL_INFO_it 3232 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_CRL_INFO_it 3232 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -OCSP_accept_responses_new 3233 1_1_0d EXIST::FUNCTION:OCSP -SDF_ImportKeyWithISK_ECC 3234 1_1_0d EXIST::FUNCTION: -OCSP_CERTID_free 3235 1_1_0d EXIST::FUNCTION:OCSP -BIO_meth_set_gets 3236 1_1_0d EXIST::FUNCTION: -BIO_dgram_sctp_msg_waiting 3237 1_1_0d EXIST::FUNCTION:DGRAM,SCTP -i2d_TS_RESP_fp 3238 1_1_0d EXIST::FUNCTION:STDIO,TS -EVP_PKEY_asn1_set_item 3239 1_1_0d EXIST::FUNCTION: -X509at_get_attr_by_NID 3240 1_1_0d EXIST::FUNCTION: -PEM_write_DSAparams 3241 1_1_0d EXIST::FUNCTION:DSA,STDIO -EVP_MD_meth_get_final 3242 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_add1_ext_i2d 3243 1_1_0d EXIST::FUNCTION:OCSP -EC_KEY_set_group 3244 1_1_0d EXIST::FUNCTION:EC -EVP_PKEY_get1_DSA 3245 1_1_0d EXIST::FUNCTION:DSA -i2d_X509 3246 1_1_0d EXIST::FUNCTION: -ENGINE_get_DSA 3247 1_1_0d EXIST::FUNCTION:ENGINE -OBJ_NAME_cleanup 3248 1_1_0d EXIST::FUNCTION: -SRP_VBASE_get1_by_user 3249 1_1_0d EXIST::FUNCTION:SRP -ENGINE_set_load_pubkey_function 3250 1_1_0d EXIST::FUNCTION:ENGINE -d2i_ASRange 3251 1_1_0d EXIST::FUNCTION:RFC3779 -SAF_GenRsaKeyPair 3252 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get0_chain 3253 1_1_0d EXIST::FUNCTION: -RSA_padding_check_PKCS1_OAEP_mgf1 3254 1_1_0d EXIST::FUNCTION:RSA -GENERAL_NAME_get0_otherName 3255 1_1_0d EXIST::FUNCTION: -OCSP_REQ_CTX_set1_req 3256 1_1_0d EXIST::FUNCTION:OCSP -d2i_X509_CRL_INFO 3257 1_1_0d EXIST::FUNCTION: -IPAddressRange_new 3258 1_1_0d EXIST::FUNCTION:RFC3779 -EC_KEY_get_ECCrefPrivateKey 3259 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -ASN1_SET_ANY_it 3260 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_SET_ANY_it 3260 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SEED_encrypt 3261 1_1_0d EXIST::FUNCTION:SEED -ASN1_OCTET_STRING_is_zero 3262 1_1_0d EXIST::FUNCTION:SM2 -X509_SIG_new 3263 1_1_0d EXIST::FUNCTION: -i2d_RSAPrivateKey 3264 1_1_0d EXIST::FUNCTION:RSA -CRYPTO_ccm128_decrypt_ccm64 3265 1_1_0d EXIST::FUNCTION: -RSA_meth_get_bn_mod_exp 3266 1_1_0d EXIST::FUNCTION:RSA -d2i_PUBKEY_fp 3267 1_1_0d EXIST::FUNCTION:STDIO -X509_OBJECT_get0_X509_CRL 3268 1_1_0d EXIST::FUNCTION: -i2d_OCSP_CERTID 3269 1_1_0d EXIST::FUNCTION:OCSP -sm3_hmac 3270 1_1_0d EXIST::FUNCTION:SM3 -X509_add1_trust_object 3271 1_1_0d EXIST::FUNCTION: -ENGINE_set_ciphers 3272 1_1_0d EXIST::FUNCTION:ENGINE -ENGINE_register_EC 3273 1_1_0d EXIST::FUNCTION:ENGINE -ENGINE_get_RSA 3274 1_1_0d EXIST::FUNCTION:ENGINE -BIO_f_linebuffer 3275 1_1_0d EXIST::FUNCTION: -DSA_get0_engine 3276 1_1_0d EXIST::FUNCTION:DSA -EVP_PBE_CipherInit 3277 1_1_0d EXIST::FUNCTION: -EC_GFp_sm2p256_method 3278 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128,SM2 -i2d_PKCS8_PRIV_KEY_INFO_bio 3279 1_1_0d EXIST::FUNCTION: -CMS_add_smimecap 3280 1_1_0d EXIST::FUNCTION:CMS -ACCESS_DESCRIPTION_free 3281 1_1_0d EXIST::FUNCTION: -i2d_SM2CiphertextValue_fp 3282 1_1_0d EXIST::FUNCTION:SM2,STDIO -ZUC_128eea3 3283 1_1_0d EXIST::FUNCTION:ZUC -SOF_DecryptFile 3284 1_1_0d EXIST::FUNCTION: -PEM_read_SM9PublicParameters 3285 1_1_0d EXIST::FUNCTION:SM9,STDIO -b2i_PrivateKey_bio 3286 1_1_0d EXIST::FUNCTION:DSA -EC_KEY_set_asn1_flag 3287 1_1_0d EXIST::FUNCTION:EC -PEM_ASN1_write_bio 3288 1_1_0d EXIST::FUNCTION: -RSA_padding_add_SSLv23 3289 1_1_0d EXIST::FUNCTION:RSA -BN_GENCB_call 3290 1_1_0d EXIST::FUNCTION: -PEM_SignFinal 3291 1_1_0d EXIST::FUNCTION: -PKCS7_sign_add_signer 3292 1_1_0d EXIST::FUNCTION: -CPK_MASTER_SECRET_extract_public_params 3293 1_1_0d EXIST::FUNCTION:CPK -PBEPARAM_free 3294 1_1_0d EXIST::FUNCTION: -EVP_add_digest 3295 1_1_0d EXIST::FUNCTION: -ASN1_item_pack 3296 1_1_0d EXIST::FUNCTION: -BFPrivateKeyBlock_free 3297 1_1_0d EXIST::FUNCTION:BFIBE -X509_NAME_add_entry 3298 1_1_0d EXIST::FUNCTION: -CPK_PUBLIC_PARAMS_extract_public_key 3299 1_1_0d EXIST::FUNCTION:CPK -SM9_KEY_print 3300 1_1_0d EXIST::FUNCTION:SM9 -BIO_number_read 3301 1_1_0d EXIST::FUNCTION: -OBJ_add_sigid 3302 1_1_0d EXIST::FUNCTION: -SXNETID_new 3303 1_1_0d EXIST::FUNCTION: -CRYPTO_ccm128_tag 3304 1_1_0d EXIST::FUNCTION: -SM2_do_sign 3305 1_1_0d EXIST::FUNCTION:SM2 -d2i_IPAddressRange 3306 1_1_0d EXIST::FUNCTION:RFC3779 -EC_GFp_nist_method 3307 1_1_0d EXIST::FUNCTION:EC -SKF_ExportX509Certificate 3308 1_1_0d EXIST::FUNCTION:SKF -X509_NAME_ENTRY_new 3309 1_1_0d EXIST::FUNCTION: -ASN1_PRINTABLE_new 3310 1_1_0d EXIST::FUNCTION: -SAF_GetRootCaCertificateCount 3311 1_1_0d EXIST::FUNCTION: -d2i_X509_NAME 3312 1_1_0d EXIST::FUNCTION: -BN_GFP2_mul 3313 1_1_0d EXIST::FUNCTION: -ERR_add_error_vdata 3314 1_1_0d EXIST::FUNCTION: -d2i_DIRECTORYSTRING 3315 1_1_0d EXIST::FUNCTION: -PKCS7_add_attribute 3316 1_1_0d EXIST::FUNCTION: -d2i_BASIC_CONSTRAINTS 3317 1_1_0d EXIST::FUNCTION: -X509_CRL_get_version 3318 1_1_0d EXIST::FUNCTION: -SKF_SetLabel 3319 1_1_0d EXIST::FUNCTION:SKF -OBJ_bsearch_ 3320 1_1_0d EXIST::FUNCTION: -X509_CRL_digest 3321 1_1_0d EXIST::FUNCTION: -SOF_GetCertTrustListAltNames 3322 1_1_0d EXIST::FUNCTION: -ASN1_OCTET_STRING_new 3323 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_get0_peername 3324 1_1_0d EXIST::FUNCTION: -d2i_OCSP_RESPDATA 3325 1_1_0d EXIST::FUNCTION:OCSP -X509V3_EXT_add_alias 3326 1_1_0d EXIST::FUNCTION: -EVP_get_digestbyname 3327 1_1_0d EXIST::FUNCTION: -SRP_check_known_gN_param 3328 1_1_0d EXIST::FUNCTION:SRP -X509_STORE_add_cert 3329 1_1_0d EXIST::FUNCTION: -ENGINE_ctrl 3330 1_1_0d EXIST::FUNCTION:ENGINE -d2i_RSA_OAEP_PARAMS 3331 1_1_0d EXIST::FUNCTION:RSA -ASN1_INTEGER_get_uint64 3332 1_1_0d EXIST::FUNCTION: -ECPKPARAMETERS_free 3333 1_1_0d EXIST::FUNCTION:EC -SKF_ImportX509CertificateByKeyUsage 3334 1_1_0d EXIST::FUNCTION:SKF -PEM_write_SM9PrivateKey 3335 1_1_0d EXIST::FUNCTION:SM9,STDIO -CRYPTO_set_mem_debug 3336 1_1_0d EXIST::FUNCTION: -EVP_sha256 3337 1_1_0d EXIST::FUNCTION: -ASN1_parse_dump 3338 1_1_0d EXIST::FUNCTION: -ASN1_STRING_set_default_mask_asc 3339 1_1_0d EXIST::FUNCTION: -SKF_GenerateKeyWithECC 3340 1_1_0d EXIST::FUNCTION:SKF -d2i_PKCS7_SIGNER_INFO 3341 1_1_0d EXIST::FUNCTION: -SAF_GenerateAgreementDataWithECC 3342 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_get_ext 3343 1_1_0d EXIST::FUNCTION:OCSP -OCSP_basic_verify 3344 1_1_0d EXIST::FUNCTION:OCSP -OPENSSL_init 3345 1_1_0d EXIST::FUNCTION: -BIO_sock_non_fatal_error 3346 1_1_0d EXIST::FUNCTION:SOCK -CRYPTO_mem_debug_free 3347 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG -OPENSSL_LH_node_usage_stats 3348 1_1_0d EXIST::FUNCTION:STDIO -PKCS12_MAC_DATA_new 3349 1_1_0d EXIST::FUNCTION: -ASYNC_start_job 3350 1_1_0d EXIST::FUNCTION: -i2d_SM9MasterSecret_bio 3351 1_1_0d EXIST::FUNCTION:SM9 -BIO_f_null 3352 1_1_0d EXIST::FUNCTION: -IPAddressChoice_it 3353 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -IPAddressChoice_it 3353 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -i2d_PaillierPublicKey 3354 1_1_0d EXIST::FUNCTION:PAILLIER -NETSCAPE_SPKI_it 3355 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -NETSCAPE_SPKI_it 3355 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -OPENSSL_DIR_end 3356 1_1_0d EXIST::FUNCTION: -HMAC 3357 1_1_0d EXIST::FUNCTION: -ERR_load_RAND_strings 3358 1_1_0d EXIST::FUNCTION: -BN_mod_exp_mont_word 3359 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_set_accuracy 3360 1_1_0d EXIST::FUNCTION:TS -PKCS12_create 3361 1_1_0d EXIST::FUNCTION: -d2i_EXTENDED_KEY_USAGE 3362 1_1_0d EXIST::FUNCTION: -ENGINE_get_next 3363 1_1_0d EXIST::FUNCTION:ENGINE -EVP_MD_meth_get_flags 3364 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_add_failure_info 3365 1_1_0d EXIST::FUNCTION:TS -i2d_PKCS7_ENCRYPT 3366 1_1_0d EXIST::FUNCTION: -SM9Ciphertext_it 3367 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 -SM9Ciphertext_it 3367 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 -X509_STORE_CTX_set_ex_data 3368 1_1_0d EXIST::FUNCTION: -SDF_GenerateKeyPair_ECC 3369 1_1_0d EXIST::FUNCTION: -CTLOG_get0_name 3370 1_1_0d EXIST::FUNCTION:CT -ENGINE_register_RAND 3371 1_1_0d EXIST::FUNCTION:ENGINE -X509_REVOKED_get0_revocationDate 3372 1_1_0d EXIST::FUNCTION: -SAF_SymmDecryptFinal 3373 1_1_0d EXIST::FUNCTION: -CPK_PUBLIC_PARAMS_get_name 3374 1_1_0d EXIST::FUNCTION:CPK -OCSP_single_get0_status 3375 1_1_0d EXIST::FUNCTION:OCSP -EVP_CIPHER_CTX_get_sgd 3376 1_1_0d EXIST::FUNCTION:GMAPI -ASN1_STRING_type_new 3377 1_1_0d EXIST::FUNCTION: -EVP_camellia_192_cfb128 3378 1_1_0d EXIST::FUNCTION:CAMELLIA -SKF_PrintECCPrivateKey 3379 1_1_0d EXIST::FUNCTION:SKF -SCT_set_source 3380 1_1_0d EXIST::FUNCTION:CT -CTLOG_STORE_get0_log_by_id 3381 1_1_0d EXIST::FUNCTION:CT -DES_set_odd_parity 3382 1_1_0d EXIST::FUNCTION:DES -BIO_method_name 3383 1_1_0d EXIST::FUNCTION: -X509_REVOKED_set_revocationDate 3384 1_1_0d EXIST::FUNCTION: -SXNET_add_id_asc 3385 1_1_0d EXIST::FUNCTION: -CT_POLICY_EVAL_CTX_new 3386 1_1_0d EXIST::FUNCTION:CT -X509_get0_trust_objects 3387 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_get_count 3388 1_1_0d EXIST::FUNCTION: -X509_print_fp 3389 1_1_0d EXIST::FUNCTION:STDIO -CRYPTO_cbc128_decrypt 3390 1_1_0d EXIST::FUNCTION: -RSA_meth_get_mod_exp 3391 1_1_0d EXIST::FUNCTION:RSA -EVP_PBE_find 3392 1_1_0d EXIST::FUNCTION: -BN_clear 3393 1_1_0d EXIST::FUNCTION: -PKCS7_dataFinal 3394 1_1_0d EXIST::FUNCTION: -ASN1_TIME_it 3395 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_TIME_it 3395 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EC_POINT_is_on_curve 3396 1_1_0d EXIST::FUNCTION:EC -ASN1_STRING_print_ex_fp 3397 1_1_0d EXIST::FUNCTION:STDIO -CRYPTO_THREAD_compare_id 3398 1_1_0d EXIST::FUNCTION: -i2d_SM9MasterSecret 3399 1_1_0d EXIST::FUNCTION:SM9 -BN_GFP2_one 3400 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_add_ext 3401 1_1_0d EXIST::FUNCTION:OCSP -RSA_get_RSArefPrivateKey 3402 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF -EVP_sms4_ofb 3403 1_1_0d EXIST::FUNCTION:SMS4 -CRYPTO_ccm128_setiv 3404 1_1_0d EXIST::FUNCTION: -SHA256_Update 3405 1_1_0d EXIST::FUNCTION: -BIO_s_datagram 3406 1_1_0d EXIST::FUNCTION:DGRAM -AUTHORITY_INFO_ACCESS_it 3407 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -AUTHORITY_INFO_ACCESS_it 3407 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SAF_GenEccKeyPair 3408 1_1_0d EXIST::FUNCTION: -X509V3_EXT_get_nid 3409 1_1_0d EXIST::FUNCTION: -ASN1_digest 3410 1_1_0d EXIST::FUNCTION: -SKF_GenExtRSAKey 3411 1_1_0d EXIST::FUNCTION:SKF -X509_STORE_get_check_revocation 3412 1_1_0d EXIST::FUNCTION: -BIO_set_next 3413 1_1_0d EXIST::FUNCTION: -i2d_TS_REQ 3414 1_1_0d EXIST::FUNCTION:TS -d2i_X509 3415 1_1_0d EXIST::FUNCTION: -ERR_load_PEM_strings 3416 1_1_0d EXIST::FUNCTION: -EVP_PBE_scrypt 3417 1_1_0d EXIST::FUNCTION:SCRYPT -BIO_ctrl 3418 1_1_0d EXIST::FUNCTION: -AES_set_encrypt_key 3419 1_1_0d EXIST::FUNCTION: -X509_REQ_get0_pubkey 3420 1_1_0d EXIST::FUNCTION: -EC_KEY_copy 3421 1_1_0d EXIST::FUNCTION:EC -X509_get0_pubkey_bitstr 3422 1_1_0d EXIST::FUNCTION: -TS_REQ_set_cert_req 3423 1_1_0d EXIST::FUNCTION:TS -CRYPTO_gcm128_init 3424 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get0_untrusted 3425 1_1_0d EXIST::FUNCTION: -FFX_decrypt 3426 1_1_0d EXIST::FUNCTION: -BN_GFP2_zero 3427 1_1_0d EXIST::FUNCTION: -ASN1_T61STRING_new 3428 1_1_0d EXIST::FUNCTION: -X509_CRL_METHOD_free 3429 1_1_0d EXIST::FUNCTION: -EVP_camellia_128_cbc 3430 1_1_0d EXIST::FUNCTION:CAMELLIA -BN_bn2dec 3431 1_1_0d EXIST::FUNCTION: -i2d_SM9PrivateKey 3432 1_1_0d EXIST::FUNCTION:SM9 -OPENSSL_sk_dup 3433 1_1_0d EXIST::FUNCTION: -SRP_Calc_u 3434 1_1_0d EXIST::FUNCTION:SRP -PEM_write_SM9_PUBKEY 3435 1_1_0d EXIST::FUNCTION:SM9,STDIO -EC_KEY_set_ECCrefPublicKey 3436 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -SHA1_Final 3437 1_1_0d EXIST::FUNCTION: -ASN1_UTCTIME_new 3438 1_1_0d EXIST::FUNCTION: -OCSP_onereq_get0_id 3439 1_1_0d EXIST::FUNCTION:OCSP -EC_GROUP_set_point_conversion_form 3440 1_1_0d EXIST::FUNCTION:EC -i2d_X509_REQ_fp 3441 1_1_0d EXIST::FUNCTION:STDIO -SAF_Base64_EncodeFinal 3442 1_1_0d EXIST::FUNCTION: -BF_cbc_encrypt 3443 1_1_0d EXIST::FUNCTION:BF -USERNOTICE_free 3444 1_1_0d EXIST::FUNCTION: -o2i_ECPublicKey 3445 1_1_0d EXIST::FUNCTION:EC -BN_BLINDING_set_current_thread 3446 1_1_0d EXIST::FUNCTION: -CMS_add_standard_smimecap 3447 1_1_0d EXIST::FUNCTION:CMS -EVP_PKEY_get0_RSA 3448 1_1_0d EXIST::FUNCTION:RSA -d2i_POLICYQUALINFO 3449 1_1_0d EXIST::FUNCTION: -SDF_WriteFile 3450 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_get_app_data 3451 1_1_0d EXIST::FUNCTION: -SKF_DisConnectDev 3452 1_1_0d EXIST::FUNCTION:SKF -BN_set_flags 3453 1_1_0d EXIST::FUNCTION: -SKF_ECCSignData 3454 1_1_0d EXIST::FUNCTION:SKF -BN_div_recp 3455 1_1_0d EXIST::FUNCTION: -SDF_UnloadLibrary 3456 1_1_0d EXIST::FUNCTION:SDF -ASN1_INTEGER_set_uint64 3457 1_1_0d EXIST::FUNCTION: -ENGINE_get_pkey_asn1_meths 3458 1_1_0d EXIST::FUNCTION:ENGINE -CERTIFICATEPOLICIES_new 3459 1_1_0d EXIST::FUNCTION: -IPAddressFamily_free 3460 1_1_0d EXIST::FUNCTION:RFC3779 -POLICY_MAPPING_it 3461 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -POLICY_MAPPING_it 3461 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -OTHERNAME_free 3462 1_1_0d EXIST::FUNCTION: -X509_sign 3463 1_1_0d EXIST::FUNCTION: -TS_RESP_set_tst_info 3464 1_1_0d EXIST::FUNCTION:TS -X509_OBJECT_idx_by_subject 3465 1_1_0d EXIST::FUNCTION: -DSA_set_ex_data 3466 1_1_0d EXIST::FUNCTION:DSA -SM2_KAP_CTX_init 3467 1_1_0d EXIST::FUNCTION:SM2 -EVP_MD_CTX_free 3468 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_get0_object 3469 1_1_0d EXIST::FUNCTION: -d2i_DSA_PUBKEY 3470 1_1_0d EXIST::FUNCTION:DSA -ASN1_GENERALSTRING_it 3471 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_GENERALSTRING_it 3471 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_BytesToKey 3472 1_1_0d EXIST::FUNCTION: -EVP_DecryptFinal_ex 3473 1_1_0d EXIST::FUNCTION: -X509_get_default_cert_file_env 3474 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_set_time 3475 1_1_0d EXIST::FUNCTION:TS -TS_TST_INFO_get_ext_by_critical 3476 1_1_0d EXIST::FUNCTION:TS -EC_POINT_cmp_fppoint 3477 1_1_0d EXIST::FUNCTION: -EC_GROUP_new_type1curve_ex 3478 1_1_0d EXIST::FUNCTION: -i2d_DISPLAYTEXT 3479 1_1_0d EXIST::FUNCTION: -CMS_SignerInfo_set1_signer_cert 3480 1_1_0d EXIST::FUNCTION:CMS -SM2_COSIGNER2_PROOF_free 3481 1_1_0d EXIST::FUNCTION:SM2 -CMS_ReceiptRequest_it 3482 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMS -CMS_ReceiptRequest_it 3482 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMS -BIO_f_nbio_test 3483 1_1_0d EXIST::FUNCTION: -PEM_read_X509_CRL 3484 1_1_0d EXIST::FUNCTION:STDIO -ASN1_BIT_STRING_free 3485 1_1_0d EXIST::FUNCTION: -BB1PublicParameters_it 3486 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BB1IBE -BB1PublicParameters_it 3486 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BB1IBE -BN_bn2gfp2 3487 1_1_0d EXIST::FUNCTION: -SCT_new 3488 1_1_0d EXIST::FUNCTION:CT -ENGINE_ctrl_cmd_string 3489 1_1_0d EXIST::FUNCTION:ENGINE -FFX_compute_luhn 3490 1_1_0d EXIST::FUNCTION: -DSA_meth_get_init 3491 1_1_0d EXIST::FUNCTION:DSA -BIO_get_init 3492 1_1_0d EXIST::FUNCTION: -ISSUING_DIST_POINT_new 3493 1_1_0d EXIST::FUNCTION: -OBJ_add_object 3494 1_1_0d EXIST::FUNCTION: -GENERAL_SUBTREE_free 3495 1_1_0d EXIST::FUNCTION: -RSA_meth_set_bn_mod_exp 3496 1_1_0d EXIST::FUNCTION:RSA -ERR_load_SDF_strings 3497 1_1_0d EXIST::FUNCTION:SDF -BFIBE_encrypt 3498 1_1_0d EXIST::FUNCTION:BFIBE -RSA_meth_get_keygen 3499 1_1_0d EXIST::FUNCTION:RSA -SKF_GetAlgorName 3500 1_1_0d EXIST::FUNCTION:SKF -BIO_ADDRINFO_address 3501 1_1_0d EXIST::FUNCTION:SOCK -ENGINE_get_destroy_function 3502 1_1_0d EXIST::FUNCTION:ENGINE -i2d_ECCCIPHERBLOB 3503 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -ZUC_128eea3_encrypt 3504 1_1_0d EXIST::FUNCTION:ZUC -ASN1_GENERALIZEDTIME_set 3505 1_1_0d EXIST::FUNCTION: -EVP_get_pw_prompt 3506 1_1_0d EXIST::FUNCTION:UI -X509_NAME_print_ex 3507 1_1_0d EXIST::FUNCTION: -POLICY_MAPPINGS_it 3508 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -POLICY_MAPPINGS_it 3508 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PEM_read_PKCS8_PRIV_KEY_INFO 3509 1_1_0d EXIST::FUNCTION:STDIO -RSA_OAEP_PARAMS_it 3510 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA -RSA_OAEP_PARAMS_it 3510 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA -EC_GROUP_get_trinomial_basis 3511 1_1_0d EXIST::FUNCTION:EC,EC2M -CRYPTO_ccm128_init 3512 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_cofactor 3513 1_1_0d EXIST::FUNCTION:EC -ASN1_STRING_set_default_mask 3514 1_1_0d EXIST::FUNCTION: -d2i_CMS_ContentInfo 3515 1_1_0d EXIST::FUNCTION:CMS -X509_CRL_diff 3516 1_1_0d EXIST::FUNCTION: -GENERAL_NAME_it 3517 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -GENERAL_NAME_it 3517 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CMS_RecipientInfo_ktri_get0_algs 3518 1_1_0d EXIST::FUNCTION:CMS -ENGINE_register_all_RAND 3519 1_1_0d EXIST::FUNCTION:ENGINE -SKF_ReadFile 3520 1_1_0d EXIST::FUNCTION:SKF -EVP_CIPHER_CTX_iv_length 3521 1_1_0d EXIST::FUNCTION: -ASN1_d2i_fp 3522 1_1_0d EXIST::FUNCTION:STDIO -TS_RESP_set_status_info 3523 1_1_0d EXIST::FUNCTION:TS -i2d_TS_TST_INFO 3524 1_1_0d EXIST::FUNCTION:TS -ENGINE_register_pkey_asn1_meths 3525 1_1_0d EXIST::FUNCTION:ENGINE -CMS_digest_create 3526 1_1_0d EXIST::FUNCTION:CMS -CT_POLICY_EVAL_CTX_get_time 3527 1_1_0d EXIST::FUNCTION:CT -EVP_des_cfb64 3528 1_1_0d EXIST::FUNCTION:DES -i2d_DSA_PUBKEY_fp 3529 1_1_0d EXIST::FUNCTION:DSA,STDIO -OCSP_basic_add1_cert 3530 1_1_0d EXIST::FUNCTION:OCSP -BN_mod_add 3531 1_1_0d EXIST::FUNCTION: -ECRS_SIG_it 3532 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:ECRS -ECRS_SIG_it 3532 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:ECRS -v2i_ASN1_BIT_STRING 3533 1_1_0d EXIST::FUNCTION: -X509v3_addr_validate_path 3534 1_1_0d EXIST::FUNCTION:RFC3779 -CRYPTO_nistcts128_encrypt_block 3535 1_1_0d EXIST::FUNCTION: -OPENSSL_LH_doall_arg 3536 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_set1_ip 3537 1_1_0d EXIST::FUNCTION: -OCSP_REQUEST_new 3538 1_1_0d EXIST::FUNCTION:OCSP -d2i_TS_RESP_bio 3539 1_1_0d EXIST::FUNCTION:TS -SM2_COSIGNER1_SHARE_free 3540 1_1_0d EXIST::FUNCTION:SM2 -i2d_ASIdentifierChoice 3541 1_1_0d EXIST::FUNCTION:RFC3779 -d2i_ASN1_SEQUENCE_ANY 3542 1_1_0d EXIST::FUNCTION: -OCSP_response_status 3543 1_1_0d EXIST::FUNCTION:OCSP -X509_PUBKEY_set0_param 3544 1_1_0d EXIST::FUNCTION: -OCSP_cert_id_new 3545 1_1_0d EXIST::FUNCTION:OCSP -ERR_load_EC_strings 3546 1_1_0d EXIST::FUNCTION:EC -BN_GFP2_is_zero 3547 1_1_0d EXIST::FUNCTION: -BIO_ADDRINFO_socktype 3548 1_1_0d EXIST::FUNCTION:SOCK -EC_GROUP_order_bits 3549 1_1_0d EXIST::FUNCTION:EC -BN_bn2hex 3550 1_1_0d EXIST::FUNCTION: -X509_STORE_get_verify 3551 1_1_0d EXIST::FUNCTION: -EVP_EncodeUpdate 3552 1_1_0d EXIST::FUNCTION: -PKCS5_PBE_add 3553 1_1_0d EXIST::FUNCTION: -PEM_write_X509_AUX 3554 1_1_0d EXIST::FUNCTION:STDIO -ESS_CERT_ID_new 3555 1_1_0d EXIST::FUNCTION:TS -ENGINE_load_builtin_engines 3556 1_1_0d EXIST::FUNCTION:ENGINE -EVP_CIPHER_CTX_rand_key 3557 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_dup 3558 1_1_0d EXIST::FUNCTION: -ECIES_CIPHERTEXT_VALUE_new_from_ECCCipher 3559 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SDF -SCT_LIST_free 3560 1_1_0d EXIST::FUNCTION:CT -i2d_SM9PublicKey 3561 1_1_0d EXIST::FUNCTION:SM9 -EC_KEY_set_default_method 3562 1_1_0d EXIST::FUNCTION:EC -EC_POINT_dbl 3563 1_1_0d EXIST::FUNCTION:EC -EVP_CIPHER_CTX_clear_flags 3564 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_encrypting 3565 1_1_0d EXIST::FUNCTION: -BN_get0_sm2_prime_256 3566 1_1_0d EXIST::FUNCTION:SM2 -OPENSSL_sk_push 3567 1_1_0d EXIST::FUNCTION: -CMS_data 3568 1_1_0d EXIST::FUNCTION:CMS -OPENSSL_LH_strhash 3569 1_1_0d EXIST::FUNCTION: -d2i_TS_REQ 3570 1_1_0d EXIST::FUNCTION:TS -TS_TST_INFO_get_ext_by_NID 3571 1_1_0d EXIST::FUNCTION:TS -BN_copy 3572 1_1_0d EXIST::FUNCTION: -X509_PKEY_free 3573 1_1_0d EXIST::FUNCTION: -ENGINE_get_finish_function 3574 1_1_0d EXIST::FUNCTION:ENGINE -TS_REQ_get_ext_d2i 3575 1_1_0d EXIST::FUNCTION:TS -BN_clear_free 3576 1_1_0d EXIST::FUNCTION: -d2i_PaillierPublicKey 3577 1_1_0d EXIST::FUNCTION:PAILLIER -CRYPTO_nistcts128_decrypt 3578 1_1_0d EXIST::FUNCTION: -ENGINE_get_prev 3579 1_1_0d EXIST::FUNCTION:ENGINE -X509_LOOKUP_ctrl 3580 1_1_0d EXIST::FUNCTION: -d2i_DHxparams 3581 1_1_0d EXIST::FUNCTION:DH -RSA_meth_get_verify 3582 1_1_0d EXIST::FUNCTION:RSA -BB1IBE_encrypt 3583 1_1_0d EXIST::FUNCTION:BB1IBE -SOF_InitCertAppPolicy 3584 1_1_0d EXIST::FUNCTION: -BFIBE_decrypt 3585 1_1_0d EXIST::FUNCTION:BFIBE -OCSP_request_sign 3586 1_1_0d EXIST::FUNCTION:OCSP -OCSP_resp_get0_certs 3587 1_1_0d EXIST::FUNCTION:OCSP -d2i_ASN1_BMPSTRING 3588 1_1_0d EXIST::FUNCTION: -OBJ_find_sigid_by_algs 3589 1_1_0d EXIST::FUNCTION: -RSA_new_from_RSAPUBLICKEYBLOB 3590 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF -d2i_RSAPrivateKey_fp 3591 1_1_0d EXIST::FUNCTION:RSA,STDIO -X509_policy_check 3592 1_1_0d EXIST::FUNCTION: -ZUC_128eia3 3593 1_1_0d EXIST::FUNCTION:ZUC -OCSP_RESPONSE_new 3594 1_1_0d EXIST::FUNCTION:OCSP -EC_GROUP_check_discriminant 3595 1_1_0d EXIST::FUNCTION:EC -ZUC_generate_keystream 3596 1_1_0d EXIST::FUNCTION:ZUC -RSA_setup_blinding 3597 1_1_0d EXIST::FUNCTION:RSA -BN_BLINDING_lock 3598 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_ecparameters 3599 1_1_0d EXIST::FUNCTION:EC -X509V3_EXT_add_list 3600 1_1_0d EXIST::FUNCTION: -OPENSSL_thread_stop 3601 1_1_0d EXIST::FUNCTION: -DH_get0_key 3602 1_1_0d EXIST::FUNCTION:DH -X509_STORE_CTX_get_lookup_crls 3603 1_1_0d EXIST::FUNCTION: -PEM_write_NETSCAPE_CERT_SEQUENCE 3604 1_1_0d EXIST::FUNCTION:STDIO -BIO_new_NDEF 3605 1_1_0d EXIST::FUNCTION: -ASN1_STRING_print 3606 1_1_0d EXIST::FUNCTION: -CMAC_CTX_copy 3607 1_1_0d EXIST::FUNCTION:CMAC -BIO_meth_set_ctrl 3608 1_1_0d EXIST::FUNCTION: -SCT_set_log_entry_type 3609 1_1_0d EXIST::FUNCTION:CT -SM2_compute_message_digest 3610 1_1_0d EXIST::FUNCTION:SM2 -X509_STORE_set_verify 3611 1_1_0d EXIST::FUNCTION: -BN_mod_exp_mont_consttime 3612 1_1_0d EXIST::FUNCTION: -EVP_mdc2 3613 1_1_0d EXIST::FUNCTION:MDC2 -BIO_ADDR_rawport 3614 1_1_0d EXIST::FUNCTION:SOCK -OPENSSL_strlcpy 3615 1_1_0d EXIST::FUNCTION: -CRYPTO_THREAD_write_lock 3616 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_type 3617 1_1_0d EXIST::FUNCTION:CMS -UI_ctrl 3618 1_1_0d EXIST::FUNCTION:UI -DH_test_flags 3619 1_1_0d EXIST::FUNCTION:DH -d2i_ESS_ISSUER_SERIAL 3620 1_1_0d EXIST::FUNCTION:TS -SDF_PrintRSAPrivateKey 3621 1_1_0d EXIST::FUNCTION:SDF -X509_REQ_INFO_new 3622 1_1_0d EXIST::FUNCTION: -X509_PURPOSE_get0_sname 3623 1_1_0d EXIST::FUNCTION: -ERR_load_PKCS12_strings 3624 1_1_0d EXIST::FUNCTION: -SAF_RsaSign 3625 1_1_0d EXIST::FUNCTION: -i2d_TS_ACCURACY 3626 1_1_0d EXIST::FUNCTION:TS -X509_STORE_CTX_get0_parent_ctx 3627 1_1_0d EXIST::FUNCTION: -BB1IBE_decrypt 3628 1_1_0d EXIST::FUNCTION:BB1IBE -SAF_AddCaCertificate 3629 1_1_0d EXIST::FUNCTION: -ASN1_PCTX_new 3630 1_1_0d EXIST::FUNCTION: -ENGINE_register_DH 3631 1_1_0d EXIST::FUNCTION:ENGINE -BASIC_CONSTRAINTS_new 3632 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get0_PAILLIER 3633 1_1_0d EXIST::FUNCTION:PAILLIER -OCSP_request_is_signed 3634 1_1_0d EXIST::FUNCTION:OCSP -TS_VERIFY_CTX_set_data 3635 1_1_0d EXIST::FUNCTION:TS -X509_STORE_get0_param 3636 1_1_0d EXIST::FUNCTION: -ERR_load_PAILLIER_strings 3637 1_1_0d EXIST::FUNCTION:PAILLIER -i2d_BFCiphertextBlock 3638 1_1_0d EXIST::FUNCTION:BFIBE -X509_CRL_print 3639 1_1_0d EXIST::FUNCTION: -ASN1_BIT_STRING_check 3640 1_1_0d EXIST::FUNCTION: -TS_RESP_print_bio 3641 1_1_0d EXIST::FUNCTION:TS -X509_NAME_hash 3642 1_1_0d EXIST::FUNCTION: -ASN1_item_ex_free 3643 1_1_0d EXIST::FUNCTION: -d2i_PublicKey 3644 1_1_0d EXIST::FUNCTION: -SM2_COSIGNER2_SHARE_it 3645 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM2 -SM2_COSIGNER2_SHARE_it 3645 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM2 -OCSP_RESPID_set_by_name 3646 1_1_0d EXIST::FUNCTION:OCSP -X509V3_EXT_REQ_add_conf 3647 1_1_0d EXIST::FUNCTION: -BASIC_CONSTRAINTS_it 3648 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -BASIC_CONSTRAINTS_it 3648 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_NETSCAPE_CERT_SEQUENCE 3649 1_1_0d EXIST::FUNCTION: -ENGINE_set_table_flags 3650 1_1_0d EXIST::FUNCTION:ENGINE -X509v3_asid_validate_resource_set 3651 1_1_0d EXIST::FUNCTION:RFC3779 -CRYPTO_gcm128_decrypt 3652 1_1_0d EXIST::FUNCTION: -BN_GF2m_mod_sqrt_arr 3653 1_1_0d EXIST::FUNCTION:EC2M -i2d_PKCS7_NDEF 3654 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set0_verified_chain 3655 1_1_0d EXIST::FUNCTION: -CRYPTO_mem_debug_push 3656 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG -ERR_load_OTP_strings 3657 1_1_0d EXIST::FUNCTION:OTP -PKCS7_new 3658 1_1_0d EXIST::FUNCTION: -EDIPARTYNAME_free 3659 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_ctrl 3660 1_1_0d EXIST::FUNCTION: -CRYPTO_gcm128_release 3661 1_1_0d EXIST::FUNCTION: -CMS_signed_add1_attr_by_NID 3662 1_1_0d EXIST::FUNCTION:CMS -CMS_sign_receipt 3663 1_1_0d EXIST::FUNCTION:CMS -ASIdOrRange_new 3664 1_1_0d EXIST::FUNCTION:RFC3779 -SKF_CreateContainer 3665 1_1_0d EXIST::FUNCTION:SKF -CMS_final 3666 1_1_0d EXIST::FUNCTION:CMS -CMS_get1_crls 3667 1_1_0d EXIST::FUNCTION:CMS -EVP_MD_meth_dup 3668 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get1_EC_KEY 3669 1_1_0d EXIST::FUNCTION:EC -i2d_DSAPrivateKey_fp 3670 1_1_0d EXIST::FUNCTION:DSA,STDIO -OBJ_NAME_do_all_sorted 3671 1_1_0d EXIST::FUNCTION: -sm3_update 3672 1_1_0d EXIST::FUNCTION:SM3 -ECIES_CIPHERTEXT_VALUE_free 3673 1_1_0d EXIST::FUNCTION:ECIES -X509_verify_cert 3674 1_1_0d EXIST::FUNCTION: -X509_NAME_digest 3675 1_1_0d EXIST::FUNCTION: -i2d_RSAPublicKey 3676 1_1_0d EXIST::FUNCTION:RSA -i2d_OCSP_SINGLERESP 3677 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_meth_get_derive 3678 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_init 3679 1_1_0d EXIST::FUNCTION: -ECRS_do_verify 3680 1_1_0d EXIST::FUNCTION:ECRS -SCT_get_signature_nid 3681 1_1_0d EXIST::FUNCTION:CT -EC_KEY_free 3682 1_1_0d EXIST::FUNCTION:EC -PKCS12_SAFEBAG_get0_attr 3683 1_1_0d EXIST::FUNCTION: -SAF_AddCrl 3684 1_1_0d EXIST::FUNCTION: -PKCS12_it 3685 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS12_it 3685 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -BN_get_rfc3526_prime_1536 3686 1_1_0d EXIST::FUNCTION: -BIO_s_log 3687 1_1_0d EXIST:!WIN32,!macintosh:FUNCTION: -d2i_OCSP_RESPBYTES 3688 1_1_0d EXIST::FUNCTION:OCSP -BFCiphertextBlock_it 3689 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BFIBE -BFCiphertextBlock_it 3689 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BFIBE -d2i_TS_STATUS_INFO 3690 1_1_0d EXIST::FUNCTION:TS -X509_REQ_set_version 3691 1_1_0d EXIST::FUNCTION: -TS_CONF_load_cert 3692 1_1_0d EXIST::FUNCTION:TS -speck_set_decrypt_key32 3693 1_1_0d EXIST::FUNCTION:SPECK -EVP_MD_meth_set_init 3694 1_1_0d EXIST::FUNCTION: -d2i_SM9MasterSecret 3695 1_1_0d EXIST::FUNCTION:SM9 -BN_uadd 3696 1_1_0d EXIST::FUNCTION: -BN_is_bit_set 3697 1_1_0d EXIST::FUNCTION: -BIO_meth_set_read 3698 1_1_0d EXIST::FUNCTION: -DH_meth_get_compute_key 3699 1_1_0d EXIST::FUNCTION:DH -ERR_load_BN_strings 3700 1_1_0d EXIST::FUNCTION: -BIO_meth_set_puts 3701 1_1_0d EXIST::FUNCTION: -OCSP_crl_reason_str 3702 1_1_0d EXIST::FUNCTION:OCSP -DH_set_length 3703 1_1_0d EXIST::FUNCTION:DH -SM2CiphertextValue_get_ECCCIPHERBLOB 3704 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF,SM2 -GENERAL_NAME_cmp 3705 1_1_0d EXIST::FUNCTION: -d2i_PBKDF2PARAM 3706 1_1_0d EXIST::FUNCTION: -d2i_X509_bio 3707 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_impl_ctx_size 3708 1_1_0d EXIST::FUNCTION: -ASN1_PCTX_get_oid_flags 3709 1_1_0d EXIST::FUNCTION: -X509_REQ_dup 3710 1_1_0d EXIST::FUNCTION: -PKCS8_PRIV_KEY_INFO_new 3711 1_1_0d EXIST::FUNCTION: -EVP_MD_CTX_update_fn 3712 1_1_0d EXIST::FUNCTION: -X509_find_by_issuer_and_serial 3713 1_1_0d EXIST::FUNCTION: -i2b_PrivateKey_bio 3714 1_1_0d EXIST::FUNCTION:DSA -X509_STORE_get_cert_crl 3715 1_1_0d EXIST::FUNCTION: -NCONF_free_data 3716 1_1_0d EXIST::FUNCTION: -X509_cmp_time 3717 1_1_0d EXIST::FUNCTION: -TS_STATUS_INFO_get0_status 3718 1_1_0d EXIST::FUNCTION:TS -i2d_CPK_PUBLIC_PARAMS 3719 1_1_0d EXIST::FUNCTION:CPK -i2d_CERTIFICATEPOLICIES 3720 1_1_0d EXIST::FUNCTION: -TLS_FEATURE_free 3721 1_1_0d EXIST::FUNCTION: -BIO_dgram_sctp_notification_cb 3722 1_1_0d EXIST::FUNCTION:DGRAM,SCTP -EVP_MD_meth_new 3723 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_get_nid 3724 1_1_0d EXIST::FUNCTION: -SM2_sign_setup 3725 1_1_0d EXIST::FUNCTION:SM2 -ERR_load_X509_strings 3726 1_1_0d EXIST::FUNCTION: -ENGINE_get_name 3727 1_1_0d EXIST::FUNCTION:ENGINE -EC_type1curve_tate 3728 1_1_0d EXIST::FUNCTION: -EVP_camellia_192_ctr 3729 1_1_0d EXIST::FUNCTION:CAMELLIA -EVP_aes_256_cbc_hmac_sha1 3730 1_1_0d EXIST::FUNCTION: -BN_mod_exp 3731 1_1_0d EXIST::FUNCTION: -X509_get_ext_by_NID 3732 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_set0_password 3733 1_1_0d EXIST::FUNCTION:CMS -SDF_ReadFile 3734 1_1_0d EXIST::FUNCTION: -X509_NAME_it 3735 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_NAME_it 3735 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_STORE_set_check_crl 3736 1_1_0d EXIST::FUNCTION: -SMIME_read_PKCS7 3737 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_decrypt 3738 1_1_0d EXIST::FUNCTION: -ASN1_T61STRING_free 3739 1_1_0d EXIST::FUNCTION: -ASN1_put_eoc 3740 1_1_0d EXIST::FUNCTION: -PEM_write_PaillierPrivateKey 3741 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO -MD5_Transform 3742 1_1_0d EXIST::FUNCTION:MD5 -X509_NAME_new 3743 1_1_0d EXIST::FUNCTION: -SKF_ExtRSAPubKeyOperation 3744 1_1_0d EXIST::FUNCTION:SKF -X509v3_asid_inherits 3745 1_1_0d EXIST::FUNCTION:RFC3779 -PKCS7_add_attrib_smimecap 3746 1_1_0d EXIST::FUNCTION: -d2i_BB1PrivateKeyBlock 3747 1_1_0d EXIST::FUNCTION:BB1IBE -i2d_ASN1_bio_stream 3748 1_1_0d EXIST::FUNCTION: -EVP_ripemd160 3749 1_1_0d EXIST::FUNCTION:RMD160 -RSA_generate_key 3750 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8,RSA -PBKDF2PARAM_new 3751 1_1_0d EXIST::FUNCTION: -PEM_read_bio_X509_AUX 3752 1_1_0d EXIST::FUNCTION: -ASN1_TIME_set 3753 1_1_0d EXIST::FUNCTION: -X509_issuer_name_hash_old 3754 1_1_0d EXIST::FUNCTION:MD5 -X509_add_ext 3755 1_1_0d EXIST::FUNCTION: -X509_check_ip_asc 3756 1_1_0d EXIST::FUNCTION: -PKCS5_pbe2_set_iv 3757 1_1_0d EXIST::FUNCTION: -BN_kronecker 3758 1_1_0d EXIST::FUNCTION: -PROXY_POLICY_free 3759 1_1_0d EXIST::FUNCTION: -PEM_read_bio_DHparams 3760 1_1_0d EXIST::FUNCTION:DH -X509_STORE_CTX_get_obj_by_subject 3761 1_1_0d EXIST::FUNCTION: -PKCS7_SIGNER_INFO_it 3762 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_SIGNER_INFO_it 3762 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CMS_add0_CertificateChoices 3763 1_1_0d EXIST::FUNCTION:CMS -i2d_ECDSA_SIG 3764 1_1_0d EXIST::FUNCTION:EC -OBJ_cmp 3765 1_1_0d EXIST::FUNCTION: -BIO_s_socket 3766 1_1_0d EXIST::FUNCTION:SOCK -OCSP_sendreq_nbio 3767 1_1_0d EXIST::FUNCTION:OCSP -X509_OBJECT_get_type 3768 1_1_0d EXIST::FUNCTION: -TS_REQ_get_ext_by_NID 3769 1_1_0d EXIST::FUNCTION:TS -d2i_PKCS7_ENCRYPT 3770 1_1_0d EXIST::FUNCTION: -SDF_DestroyKey 3771 1_1_0d EXIST::FUNCTION: -OCSP_REQUEST_get1_ext_d2i 3772 1_1_0d EXIST::FUNCTION:OCSP -X509v3_addr_subset 3773 1_1_0d EXIST::FUNCTION:RFC3779 -NCONF_default 3774 1_1_0d EXIST::FUNCTION: -CPK_PUBLIC_PARAMS_free 3775 1_1_0d EXIST::FUNCTION:CPK -ENGINE_get_DH 3776 1_1_0d EXIST::FUNCTION:ENGINE -X509V3_add_standard_extensions 3777 1_1_0d EXIST::FUNCTION: -EVP_CipherUpdate 3778 1_1_0d EXIST::FUNCTION: -PKCS12_add_localkeyid 3779 1_1_0d EXIST::FUNCTION: -d2i_X509_REQ_fp 3780 1_1_0d EXIST::FUNCTION:STDIO -EC_KEY_GmSSL 3781 1_1_0d EXIST::FUNCTION:SM2 -X509_NAME_ENTRY_create_by_txt 3782 1_1_0d EXIST::FUNCTION: -d2i_EC_PUBKEY_fp 3783 1_1_0d EXIST::FUNCTION:EC,STDIO -DSA_set0_key 3784 1_1_0d EXIST::FUNCTION:DSA -SKF_ImportRSAPrivateKey 3785 1_1_0d EXIST::FUNCTION:SKF -EVP_CIPHER_CTX_set_padding 3786 1_1_0d EXIST::FUNCTION: -UI_UTIL_read_pw_string 3787 1_1_0d EXIST::FUNCTION:UI -BIO_nwrite0 3788 1_1_0d EXIST::FUNCTION: -EC_GROUP_get0_generator 3789 1_1_0d EXIST::FUNCTION:EC -ASN1_ENUMERATED_new 3790 1_1_0d EXIST::FUNCTION: -CAST_cfb64_encrypt 3791 1_1_0d EXIST::FUNCTION:CAST -RAND_pseudo_bytes 3792 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -EVP_PKEY_asn1_free 3793 1_1_0d EXIST::FUNCTION: -X509v3_asid_subset 3794 1_1_0d EXIST::FUNCTION:RFC3779 -i2d_EXTENDED_KEY_USAGE 3795 1_1_0d EXIST::FUNCTION: -EVP_PKEY_paramgen 3796 1_1_0d EXIST::FUNCTION: -TS_RESP_create_response 3797 1_1_0d EXIST::FUNCTION:TS -DSA_meth_set_verify 3798 1_1_0d EXIST::FUNCTION:DSA -TXT_DB_get_by_index 3799 1_1_0d EXIST::FUNCTION: -Camellia_cfb1_encrypt 3800 1_1_0d EXIST::FUNCTION:CAMELLIA -EC_GROUP_check 3801 1_1_0d EXIST::FUNCTION:EC -BN_set_params 3802 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 -CRYPTO_free_ex_index 3803 1_1_0d EXIST::FUNCTION: -ERR_put_error 3804 1_1_0d EXIST::FUNCTION: -sms4_encrypt_8blocks 3805 1_1_0d EXIST::FUNCTION:SMS4 -BN_GF2m_mod_inv 3806 1_1_0d EXIST::FUNCTION:EC2M -RC2_decrypt 3807 1_1_0d EXIST::FUNCTION:RC2 -OCSP_RESPID_it 3808 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_RESPID_it 3808 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -EVP_zuc 3809 1_1_0d EXIST::FUNCTION:ZUC -SM2_COSIGNER1_SHARE_new 3810 1_1_0d EXIST::FUNCTION:SM2 -EVP_aes_128_cfb128 3811 1_1_0d EXIST::FUNCTION: -DSA_set_default_method 3812 1_1_0d EXIST::FUNCTION:DSA -CMS_ContentInfo_new 3813 1_1_0d EXIST::FUNCTION:CMS -X509V3_set_conf_lhash 3814 1_1_0d EXIST::FUNCTION: -EVP_SealFinal 3815 1_1_0d EXIST::FUNCTION:RSA -ASN1_tag2bit 3816 1_1_0d EXIST::FUNCTION: -X509_REVOKED_get_ext_d2i 3817 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_set_inh_flags 3818 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_set_flags 3819 1_1_0d EXIST::FUNCTION: -ASN1_add_stable_module 3820 1_1_0d EXIST::FUNCTION: -DSA_new_method 3821 1_1_0d EXIST::FUNCTION:DSA -HMAC_size 3822 1_1_0d EXIST::FUNCTION: -CONF_parse_list 3823 1_1_0d EXIST::FUNCTION: -PBKDF2PARAM_free 3824 1_1_0d EXIST::FUNCTION: -RSAPublicKey_it 3825 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA -RSAPublicKey_it 3825 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA -speck_set_decrypt_key16 3826 1_1_0d EXIST::FUNCTION:SPECK -X509_REQ_sign 3827 1_1_0d EXIST::FUNCTION: -X509_OBJECT_retrieve_match 3828 1_1_0d EXIST::FUNCTION: -ECDSA_sign_setup 3829 1_1_0d EXIST::FUNCTION:EC -X509_PURPOSE_cleanup 3830 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_get_result_size 3831 1_1_0d EXIST::FUNCTION: -EVP_MD_CTX_set_update_fn 3832 1_1_0d EXIST::FUNCTION: -DSO_pathbyaddr 3833 1_1_0d EXIST::FUNCTION: -SDF_HashFinal 3834 1_1_0d EXIST::FUNCTION: -PEM_write_bio_RSAPrivateKey 3835 1_1_0d EXIST::FUNCTION:RSA -i2d_ASN1_PRINTABLESTRING 3836 1_1_0d EXIST::FUNCTION: -d2i_DSA_PUBKEY_bio 3837 1_1_0d EXIST::FUNCTION:DSA -DH_meth_get_flags 3838 1_1_0d EXIST::FUNCTION:DH -EVP_PKEY_meth_set_ctrl 3839 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_it 3840 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_NAME_ENTRY_it 3840 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_PURPOSE_get_count 3841 1_1_0d EXIST::FUNCTION: -OPENSSL_gmtime 3842 1_1_0d EXIST::FUNCTION: -EVP_idea_cbc 3843 1_1_0d EXIST::FUNCTION:IDEA -X509_NAME_hash_old 3844 1_1_0d EXIST::FUNCTION: -SKF_Mac 3845 1_1_0d EXIST::FUNCTION:SKF -ERR_load_CT_strings 3846 1_1_0d EXIST::FUNCTION:CT -BFPrivateKeyBlock_it 3847 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BFIBE -BFPrivateKeyBlock_it 3847 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BFIBE -DSA_clear_flags 3848 1_1_0d EXIST::FUNCTION:DSA -NAME_CONSTRAINTS_it 3849 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -NAME_CONSTRAINTS_it 3849 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -AUTHORITY_KEYID_new 3850 1_1_0d EXIST::FUNCTION: -CPK_PUBLIC_PARAMS_it 3851 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CPK -CPK_PUBLIC_PARAMS_it 3851 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CPK -ENGINE_set_default_string 3852 1_1_0d EXIST::FUNCTION:ENGINE -EVP_camellia_192_ecb 3853 1_1_0d EXIST::FUNCTION:CAMELLIA -CRYPTO_get_ex_new_index 3854 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_get_octetstring 3855 1_1_0d EXIST::FUNCTION: -RSA_verify 3856 1_1_0d EXIST::FUNCTION:RSA -PEM_read_bio_RSAPublicKey 3857 1_1_0d EXIST::FUNCTION:RSA -SOF_GetCertTrustList 3858 1_1_0d EXIST::FUNCTION: -BN_ucmp 3859 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_get_count 3860 1_1_0d EXIST::FUNCTION: -s2i_ASN1_INTEGER 3861 1_1_0d EXIST::FUNCTION: -BIO_f_base64 3862 1_1_0d EXIST::FUNCTION: -PEM_write_bio_SM9PrivateKey 3863 1_1_0d EXIST::FUNCTION:SM9 -X509_STORE_CTX_get_cert_crl 3864 1_1_0d EXIST::FUNCTION: -CMS_unsigned_get_attr_by_OBJ 3865 1_1_0d EXIST::FUNCTION:CMS -ENGINE_new 3866 1_1_0d EXIST::FUNCTION:ENGINE -EVP_PKEY_meth_set_sign 3867 1_1_0d EXIST::FUNCTION: -PEM_write_bio_DSA_PUBKEY 3868 1_1_0d EXIST::FUNCTION:DSA -PKCS7_add_signer 3869 1_1_0d EXIST::FUNCTION: -ASN1_UTCTIME_it 3870 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_UTCTIME_it 3870 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CPK_PUBLIC_PARAMS_print 3871 1_1_0d EXIST::FUNCTION:CPK -ENGINE_set_default_digests 3872 1_1_0d EXIST::FUNCTION:ENGINE -BN_mod_sqrt 3873 1_1_0d EXIST::FUNCTION: -CRYPTO_THREAD_cleanup_local 3874 1_1_0d EXIST::FUNCTION: -CRYPTO_strdup 3875 1_1_0d EXIST::FUNCTION: -OPENSSL_hexchar2int 3876 1_1_0d EXIST::FUNCTION: -DSA_bits 3877 1_1_0d EXIST::FUNCTION:DSA -EVP_PKEY_asn1_find 3878 1_1_0d EXIST::FUNCTION: -BIO_dump_fp 3879 1_1_0d EXIST::FUNCTION:STDIO -PEM_read_bio_DSAPrivateKey 3880 1_1_0d EXIST::FUNCTION:DSA -X509_NAME_delete_entry 3881 1_1_0d EXIST::FUNCTION: -PKCS12_add_friendlyname_asc 3882 1_1_0d EXIST::FUNCTION: -CMS_stream 3883 1_1_0d EXIST::FUNCTION:CMS -i2d_DSAparams 3884 1_1_0d EXIST::FUNCTION:DSA -BN_BLINDING_is_current_thread 3885 1_1_0d EXIST::FUNCTION: -EVP_md5 3886 1_1_0d EXIST::FUNCTION:MD5 -EVP_aes_256_wrap 3887 1_1_0d EXIST::FUNCTION: -s2i_ASN1_OCTET_STRING 3888 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_type1curve_zeta 3889 1_1_0d EXIST::FUNCTION: -X509_ATTRIBUTE_it 3890 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_ATTRIBUTE_it 3890 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ENGINE_get_ex_data 3891 1_1_0d EXIST::FUNCTION:ENGINE -SDF_NewECCCipher 3892 1_1_0d EXIST::FUNCTION:SDF -SOF_DecryptData 3893 1_1_0d EXIST::FUNCTION: -BIO_set_cipher 3894 1_1_0d EXIST::FUNCTION: -PKCS7_dataVerify 3895 1_1_0d EXIST::FUNCTION: -RSA_padding_add_PKCS1_OAEP 3896 1_1_0d EXIST::FUNCTION:RSA -BN_mod_mul 3897 1_1_0d EXIST::FUNCTION: -X509_STORE_get_check_issued 3898 1_1_0d EXIST::FUNCTION: -BN_bn2mpi 3899 1_1_0d EXIST::FUNCTION: -CMS_signed_get_attr_by_NID 3900 1_1_0d EXIST::FUNCTION:CMS -OCSP_cert_to_id 3901 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_meth_get_decrypt 3902 1_1_0d EXIST::FUNCTION: -d2i_PKCS12_BAGS 3903 1_1_0d EXIST::FUNCTION: -BN_nist_mod_224 3904 1_1_0d EXIST::FUNCTION: -DES_ecb_encrypt 3905 1_1_0d EXIST::FUNCTION:DES -GENERAL_NAME_free 3906 1_1_0d EXIST::FUNCTION: -d2i_BB1MasterSecret 3907 1_1_0d EXIST::FUNCTION:BB1IBE -OCSP_BASICRESP_get_ext_count 3908 1_1_0d EXIST::FUNCTION:OCSP -SDF_InternalPrivateKeyOperation_RSA 3909 1_1_0d EXIST::FUNCTION: -i2d_X509_fp 3910 1_1_0d EXIST::FUNCTION:STDIO -BIO_meth_set_destroy 3911 1_1_0d EXIST::FUNCTION: -PEM_write_ECPKParameters 3912 1_1_0d EXIST::FUNCTION:EC,STDIO -PKCS12_PBE_keyivgen 3913 1_1_0d EXIST::FUNCTION: -i2d_TS_TST_INFO_fp 3914 1_1_0d EXIST::FUNCTION:STDIO,TS -BIO_parse_hostserv 3915 1_1_0d EXIST::FUNCTION:SOCK -TLS_FEATURE_new 3916 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_set_init 3917 1_1_0d EXIST::FUNCTION: -PKCS7_DIGEST_free 3918 1_1_0d EXIST::FUNCTION: -X509_REVOKED_get_ext_by_OBJ 3919 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKI_verify 3920 1_1_0d EXIST::FUNCTION: -ASN1_STRING_TABLE_cleanup 3921 1_1_0d EXIST::FUNCTION: -BIO_new_mem_buf 3922 1_1_0d EXIST::FUNCTION: -X509_get_extension_flags 3923 1_1_0d EXIST::FUNCTION: -EC_GROUP_new_type1curve 3924 1_1_0d EXIST::FUNCTION: -ECRS_sign 3925 1_1_0d EXIST::FUNCTION:ECRS -HMAC_Init_ex 3926 1_1_0d EXIST::FUNCTION: -EVP_PKEY_set1_EC_KEY 3927 1_1_0d EXIST::FUNCTION:EC -SRP_Verify_B_mod_N 3928 1_1_0d EXIST::FUNCTION:SRP -BN_zero_ex 3929 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_verify_cb 3930 1_1_0d EXIST::FUNCTION: -BIO_set_data 3931 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set_cert 3932 1_1_0d EXIST::FUNCTION: -ASN1_GENERALIZEDTIME_adj 3933 1_1_0d EXIST::FUNCTION: -BIO_asn1_get_suffix 3934 1_1_0d EXIST::FUNCTION: -BIO_sock_error 3935 1_1_0d EXIST::FUNCTION:SOCK -WHIRLPOOL_BitUpdate 3936 1_1_0d EXIST::FUNCTION:WHIRLPOOL -EVP_PKEY_add1_attr_by_NID 3937 1_1_0d EXIST::FUNCTION: -ENGINE_get_pkey_meths 3938 1_1_0d EXIST::FUNCTION:ENGINE -X509_EXTENSION_create_by_NID 3939 1_1_0d EXIST::FUNCTION: -ASN1_item_ex_new 3940 1_1_0d EXIST::FUNCTION: -ASN1_FBOOLEAN_it 3941 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_FBOOLEAN_it 3941 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_RSA_PSS_PARAMS 3942 1_1_0d EXIST::FUNCTION:RSA -X509_NAME_print_ex_fp 3943 1_1_0d EXIST::FUNCTION:STDIO -TS_REQ_get_exts 3944 1_1_0d EXIST::FUNCTION:TS -EVP_get_cipherbysgd 3945 1_1_0d EXIST::FUNCTION:GMAPI -ASN1_object_size 3946 1_1_0d EXIST::FUNCTION: -i2d_X509_REQ_INFO 3947 1_1_0d EXIST::FUNCTION: -TS_MSG_IMPRINT_free 3948 1_1_0d EXIST::FUNCTION:TS -PKCS12_newpass 3949 1_1_0d EXIST::FUNCTION: -CONF_module_set_usr_data 3950 1_1_0d EXIST::FUNCTION: -d2i_ASN1_UNIVERSALSTRING 3951 1_1_0d EXIST::FUNCTION: -SAF_Base64_CreateBase64Obj 3952 1_1_0d EXIST::FUNCTION: -BN_BLINDING_set_flags 3953 1_1_0d EXIST::FUNCTION: -X509_NAME_get_index_by_NID 3954 1_1_0d EXIST::FUNCTION: -ERR_print_errors_fp 3955 1_1_0d EXIST::FUNCTION:STDIO -SKF_Decrypt 3956 1_1_0d EXIST::FUNCTION:SKF -IDEA_cbc_encrypt 3957 1_1_0d EXIST::FUNCTION:IDEA -X509_STORE_new 3958 1_1_0d EXIST::FUNCTION: -BN_mod_sub 3959 1_1_0d EXIST::FUNCTION: -CRYPTO_ccm128_decrypt 3960 1_1_0d EXIST::FUNCTION: -SAF_ChangePin 3961 1_1_0d EXIST::FUNCTION: -ENGINE_get_default_EC 3962 1_1_0d EXIST::FUNCTION:ENGINE -SRP_VBASE_free 3963 1_1_0d EXIST::FUNCTION:SRP -EVP_aes_256_ctr 3964 1_1_0d EXIST::FUNCTION: -IDEA_ofb64_encrypt 3965 1_1_0d EXIST::FUNCTION:IDEA -i2d_EC_PUBKEY 3966 1_1_0d EXIST::FUNCTION:EC -RSA_get0_factors 3967 1_1_0d EXIST::FUNCTION:RSA -i2d_OCSP_SERVICELOC 3968 1_1_0d EXIST::FUNCTION:OCSP -X509_EXTENSION_get_critical 3969 1_1_0d EXIST::FUNCTION: -EVP_MD_meth_get_update 3970 1_1_0d EXIST::FUNCTION: -TS_CONF_set_signer_digest 3971 1_1_0d EXIST::FUNCTION:TS -RSA_set_ex_data 3972 1_1_0d EXIST::FUNCTION:RSA -RSA_generate_key_ex 3973 1_1_0d EXIST::FUNCTION:RSA -BIO_connect 3974 1_1_0d EXIST::FUNCTION:SOCK -EC_KEY_METHOD_set_verify 3975 1_1_0d EXIST::FUNCTION:EC -SAF_Logout 3976 1_1_0d EXIST::FUNCTION: -DH_check_pub_key 3977 1_1_0d EXIST::FUNCTION:DH -i2d_ASN1_UTF8STRING 3978 1_1_0d EXIST::FUNCTION: -EVP_des_ede3_ofb 3979 1_1_0d EXIST::FUNCTION:DES -X509_EXTENSION_new 3980 1_1_0d EXIST::FUNCTION: -PKCS12_SAFEBAG_get0_type 3981 1_1_0d EXIST::FUNCTION: -i2d_ACCESS_DESCRIPTION 3982 1_1_0d EXIST::FUNCTION: -i2d_PKCS12 3983 1_1_0d EXIST::FUNCTION: -CMS_unsigned_get_attr_by_NID 3984 1_1_0d EXIST::FUNCTION:CMS -PEM_read_RSAPrivateKey 3985 1_1_0d EXIST::FUNCTION:RSA,STDIO -i2d_EC_PUBKEY_fp 3986 1_1_0d EXIST::FUNCTION:EC,STDIO -DES_set_key 3987 1_1_0d EXIST::FUNCTION:DES -BIO_meth_get_write 3988 1_1_0d EXIST::FUNCTION: -MDC2_Init 3989 1_1_0d EXIST::FUNCTION:MDC2 -i2d_OTHERNAME 3990 1_1_0d EXIST::FUNCTION: -X509_STORE_set_default_paths 3991 1_1_0d EXIST::FUNCTION: -EVP_PKEY_set1_RSA 3992 1_1_0d EXIST::FUNCTION:RSA -ERR_peek_last_error 3993 1_1_0d EXIST::FUNCTION: -DSA_sign 3994 1_1_0d EXIST::FUNCTION:DSA -i2d_X509_ATTRIBUTE 3995 1_1_0d EXIST::FUNCTION: -CERTIFICATEPOLICIES_free 3996 1_1_0d EXIST::FUNCTION: -EVP_PKEY_asn1_add_alias 3997 1_1_0d EXIST::FUNCTION: -SCT_get_timestamp 3998 1_1_0d EXIST::FUNCTION:CT -PKCS7_ENVELOPE_free 3999 1_1_0d EXIST::FUNCTION: -X509V3_get_section 4000 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_new 4001 1_1_0d EXIST::FUNCTION:TS -EVP_MD_meth_set_result_size 4002 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_create_by_OBJ 4003 1_1_0d EXIST::FUNCTION: -OPENSSL_LH_set_down_load 4004 1_1_0d EXIST::FUNCTION: -SDF_GenerateKeyWithIPK_ECC 4005 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKI_free 4006 1_1_0d EXIST::FUNCTION: -X509_CRL_free 4007 1_1_0d EXIST::FUNCTION: -X509_TRUST_get0 4008 1_1_0d EXIST::FUNCTION: -X509_STORE_set_check_issued 4009 1_1_0d EXIST::FUNCTION: -X509_SIG_it 4010 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_SIG_it 4010 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_PBEPARAM 4011 1_1_0d EXIST::FUNCTION: -speck_set_encrypt_key16 4012 1_1_0d EXIST::FUNCTION:SPECK -OBJ_create 4013 1_1_0d EXIST::FUNCTION: -OCSP_REQUEST_get_ext_count 4014 1_1_0d EXIST::FUNCTION:OCSP -PKCS7_ENC_CONTENT_free 4015 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_set_asn1_iv 4016 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_new 4017 1_1_0d EXIST::FUNCTION: -RAND_egd_bytes 4018 1_1_0d EXIST::FUNCTION:EGD -X509_REVOKED_get_ext 4019 1_1_0d EXIST::FUNCTION: -X509_REQ_get_X509_PUBKEY 4020 1_1_0d EXIST::FUNCTION: -TS_CONF_set_digests 4021 1_1_0d EXIST::FUNCTION:TS -BN_mod_exp2_mont 4022 1_1_0d EXIST::FUNCTION: -RSA_PSS_PARAMS_free 4023 1_1_0d EXIST::FUNCTION:RSA -SDF_Encrypt 4024 1_1_0d EXIST::FUNCTION: -SKF_GetContainerTypeName 4025 1_1_0d EXIST::FUNCTION:SKF -PAILLIER_check_key 4026 1_1_0d EXIST::FUNCTION:PAILLIER -X509_STORE_get_verify_cb 4027 1_1_0d EXIST::FUNCTION: -EC_POINT_add 4028 1_1_0d EXIST::FUNCTION:EC -PEM_read_X509_REQ 4029 1_1_0d EXIST::FUNCTION:STDIO -ECIES_PARAMS_init_with_type 4030 1_1_0d EXIST::FUNCTION:ECIES -X509_REQ_get_attr_by_OBJ 4031 1_1_0d EXIST::FUNCTION: -CRYPTO_gcm128_decrypt_ctr32 4032 1_1_0d EXIST::FUNCTION: -d2i_ECIESParameters 4033 1_1_0d EXIST::FUNCTION:ECIES -OCSP_BASICRESP_get_ext_by_NID 4034 1_1_0d EXIST::FUNCTION:OCSP -BIO_new_bio_pair 4035 1_1_0d EXIST::FUNCTION: -v2i_GENERAL_NAME_ex 4036 1_1_0d EXIST::FUNCTION: -UI_add_input_string 4037 1_1_0d EXIST::FUNCTION:UI -CPK_MASTER_SECRET_validate_public_params 4038 1_1_0d EXIST::FUNCTION:CPK -BIO_ADDR_rawmake 4039 1_1_0d EXIST::FUNCTION:SOCK -FpPoint_new 4040 1_1_0d EXIST::FUNCTION: -X509_STORE_set_ex_data 4041 1_1_0d EXIST::FUNCTION: -X509_CRL_get0_by_cert 4042 1_1_0d EXIST::FUNCTION: -EC_KEY_new_from_ECCrefPublicKey 4043 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -sms4_set_decrypt_key 4044 1_1_0d EXIST::FUNCTION:SMS4 -X509_ALGOR_set_md 4045 1_1_0d EXIST::FUNCTION: -EVP_add_alg_module 4046 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKI_print 4047 1_1_0d EXIST::FUNCTION: -OCSP_copy_nonce 4048 1_1_0d EXIST::FUNCTION:OCSP -DH_get_default_method 4049 1_1_0d EXIST::FUNCTION:DH -TS_REQ_get_ext_by_OBJ 4050 1_1_0d EXIST::FUNCTION:TS -ASN1_const_check_infinite_end 4051 1_1_0d EXIST::FUNCTION: -OCSP_response_status_str 4052 1_1_0d EXIST::FUNCTION:OCSP -i2d_X509_SIG 4053 1_1_0d EXIST::FUNCTION: -EVP_PKEY_bits 4054 1_1_0d EXIST::FUNCTION: -d2i_X509_fp 4055 1_1_0d EXIST::FUNCTION:STDIO -d2i_DSAPublicKey 4056 1_1_0d EXIST::FUNCTION:DSA -X509_STORE_CTX_set0_dane 4057 1_1_0d EXIST::FUNCTION: -SRP_Calc_x 4058 1_1_0d EXIST::FUNCTION:SRP -EVP_get_digestnames 4059 1_1_0d EXIST::FUNCTION: -MD4_Final 4060 1_1_0d EXIST::FUNCTION:MD4 -DSA_verify 4061 1_1_0d EXIST::FUNCTION:DSA -BIO_new_socket 4062 1_1_0d EXIST::FUNCTION:SOCK -RSA_meth_get_priv_dec 4063 1_1_0d EXIST::FUNCTION:RSA -DES_ede3_cfb64_encrypt 4064 1_1_0d EXIST::FUNCTION:DES -X509_aux_print 4065 1_1_0d EXIST::FUNCTION: -X509_CRL_add0_revoked 4066 1_1_0d EXIST::FUNCTION: -ASN1_VISIBLESTRING_new 4067 1_1_0d EXIST::FUNCTION: -RSA_verify_ASN1_OCTET_STRING 4068 1_1_0d EXIST::FUNCTION:RSA -EC_KEY_METHOD_set_keygen 4069 1_1_0d EXIST::FUNCTION:EC -BIO_set_retry_reason 4070 1_1_0d EXIST::FUNCTION: -RSA_meth_set_verify 4071 1_1_0d EXIST::FUNCTION:RSA -EVP_rc2_cbc 4072 1_1_0d EXIST::FUNCTION:RC2 -X509_verify_cert_error_string 4073 1_1_0d EXIST::FUNCTION: -X509_REVOKED_get0_serialNumber 4074 1_1_0d EXIST::FUNCTION: -BN_mod_lshift 4075 1_1_0d EXIST::FUNCTION: -X509_chain_up_ref 4076 1_1_0d EXIST::FUNCTION: -DSA_test_flags 4077 1_1_0d EXIST::FUNCTION:DSA -POLICYQUALINFO_free 4078 1_1_0d EXIST::FUNCTION: -PEM_write_bio_PKCS8 4079 1_1_0d EXIST::FUNCTION: -EC_POINT_get_Jprojective_coordinates_GFp 4080 1_1_0d EXIST::FUNCTION:EC -SKF_GetFileInfo 4081 1_1_0d EXIST::FUNCTION:SKF -ENGINE_get_RAND 4082 1_1_0d EXIST::FUNCTION:ENGINE -BIO_get_callback_arg 4083 1_1_0d EXIST::FUNCTION: -ENGINE_ctrl_cmd 4084 1_1_0d EXIST::FUNCTION:ENGINE -DES_ede3_cbc_encrypt 4085 1_1_0d EXIST::FUNCTION:DES -DSA_do_sign 4086 1_1_0d EXIST::FUNCTION:DSA -PEM_read_DSAparams 4087 1_1_0d EXIST::FUNCTION:DSA,STDIO -EVP_ENCODE_CTX_free 4088 1_1_0d EXIST::FUNCTION: -i2d_ASIdOrRange 4089 1_1_0d EXIST::FUNCTION:RFC3779 -OCSP_resp_get0_signature 4090 1_1_0d EXIST::FUNCTION:OCSP -PEM_do_header 4091 1_1_0d EXIST::FUNCTION: -X509_EXTENSION_free 4092 1_1_0d EXIST::FUNCTION: -BN_swap 4093 1_1_0d EXIST::FUNCTION: -PEM_write_RSAPrivateKey 4094 1_1_0d EXIST::FUNCTION:RSA,STDIO -BIO_asn1_set_suffix 4095 1_1_0d EXIST::FUNCTION: -BIO_hex_string 4096 1_1_0d EXIST::FUNCTION: -BN_value_one 4097 1_1_0d EXIST::FUNCTION: -d2i_OCSP_REQUEST 4098 1_1_0d EXIST::FUNCTION:OCSP -PKCS7_add_recipient_info 4099 1_1_0d EXIST::FUNCTION: -RAND_file_name 4100 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_free 4101 1_1_0d EXIST::FUNCTION: -UI_set_ex_data 4102 1_1_0d EXIST::FUNCTION:UI -BN_BLINDING_invert 4103 1_1_0d EXIST::FUNCTION: -SAF_RsaSignFile 4104 1_1_0d EXIST::FUNCTION: -i2d_PKCS7_bio 4105 1_1_0d EXIST::FUNCTION: -i2d_OCSP_SIGNATURE 4106 1_1_0d EXIST::FUNCTION:OCSP -SCT_set_version 4107 1_1_0d EXIST::FUNCTION:CT -X509_REQ_sign_ctx 4108 1_1_0d EXIST::FUNCTION: -DH_compute_key_padded 4109 1_1_0d EXIST::FUNCTION:DH -SAF_Finalize 4110 1_1_0d EXIST::FUNCTION: -d2i_ECIES_CIPHERTEXT_VALUE 4111 1_1_0d EXIST::FUNCTION:ECIES -ASN1_GENERALIZEDTIME_free 4112 1_1_0d EXIST::FUNCTION: -EC_KEY_set_public_key 4113 1_1_0d EXIST::FUNCTION:EC -ASIdentifiers_free 4114 1_1_0d EXIST::FUNCTION:RFC3779 -PKCS7_add0_attrib_signing_time 4115 1_1_0d EXIST::FUNCTION: -b2i_PrivateKey 4116 1_1_0d EXIST::FUNCTION:DSA -d2i_DIST_POINT 4117 1_1_0d EXIST::FUNCTION: -EVP_sha512 4118 1_1_0d EXIST:!VMSVAX:FUNCTION: -X509_get_ex_data 4119 1_1_0d EXIST::FUNCTION: -X509_get_proxy_pathlen 4120 1_1_0d EXIST::FUNCTION: -OPENSSL_cleanse 4121 1_1_0d EXIST::FUNCTION: -ASN1_item_verify 4122 1_1_0d EXIST::FUNCTION: -SDF_GenerateKeyWithIPK_RSA 4123 1_1_0d EXIST::FUNCTION: -DH_meth_get_bn_mod_exp 4124 1_1_0d EXIST::FUNCTION:DH -NAME_CONSTRAINTS_new 4125 1_1_0d EXIST::FUNCTION: -ENGINE_register_complete 4126 1_1_0d EXIST::FUNCTION:ENGINE -EC_KEY_priv2buf 4127 1_1_0d EXIST::FUNCTION:EC -d2i_BFCiphertextBlock 4128 1_1_0d EXIST::FUNCTION:BFIBE -TS_STATUS_INFO_get0_failure_info 4129 1_1_0d EXIST::FUNCTION:TS -UI_method_get_flusher 4130 1_1_0d EXIST::FUNCTION:UI -DSA_meth_set_sign 4131 1_1_0d EXIST::FUNCTION:DSA -RSA_padding_check_PKCS1_type_2 4132 1_1_0d EXIST::FUNCTION:RSA -ASN1_UTCTIME_set 4133 1_1_0d EXIST::FUNCTION: -PBEPARAM_it 4134 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PBEPARAM_it 4134 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SAF_SM2_DecodeSignedAndEnvelopedData 4135 1_1_0d EXIST::FUNCTION: -RSA_free 4136 1_1_0d EXIST::FUNCTION:RSA -X509_VERIFY_PARAM_set_time 4137 1_1_0d EXIST::FUNCTION: -EVP_MD_CTX_set_flags 4138 1_1_0d EXIST::FUNCTION: -DSA_SIG_new 4139 1_1_0d EXIST::FUNCTION:DSA -OCSP_REQUEST_it 4140 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_REQUEST_it 4140 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -BN_BLINDING_update 4141 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_set 4142 1_1_0d EXIST::FUNCTION: -SKF_RSAExportSessionKey 4143 1_1_0d EXIST::FUNCTION:SKF -ERR_load_TS_strings 4144 1_1_0d EXIST::FUNCTION:TS -BF_encrypt 4145 1_1_0d EXIST::FUNCTION:BF -BN_get0_nist_prime_256 4146 1_1_0d EXIST::FUNCTION: -EDIPARTYNAME_it 4147 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -EDIPARTYNAME_it 4147 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EC_KEY_set_private_key 4148 1_1_0d EXIST::FUNCTION:EC -OCSP_BASICRESP_get_ext 4149 1_1_0d EXIST::FUNCTION:OCSP -PKCS5_v2_scrypt_keyivgen 4150 1_1_0d EXIST::FUNCTION:SCRYPT -EVP_PKEY_get_attr_by_OBJ 4151 1_1_0d EXIST::FUNCTION: -DSO_set_filename 4152 1_1_0d EXIST::FUNCTION: -AES_unwrap_key 4153 1_1_0d EXIST::FUNCTION: -PEM_write_bio 4154 1_1_0d EXIST::FUNCTION: -ASN1_BIT_STRING_get_bit 4155 1_1_0d EXIST::FUNCTION: -d2i_X509_REQ_bio 4156 1_1_0d EXIST::FUNCTION: -SOF_EncryptFile 4157 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_free 4158 1_1_0d EXIST::FUNCTION:OCSP -i2d_re_X509_CRL_tbs 4159 1_1_0d EXIST::FUNCTION: -POLICYINFO_new 4160 1_1_0d EXIST::FUNCTION: -EVP_rc2_40_cbc 4161 1_1_0d EXIST::FUNCTION:RC2 -RSA_padding_check_SSLv23 4162 1_1_0d EXIST::FUNCTION:RSA -ASN1_OCTET_STRING_it 4163 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_OCTET_STRING_it 4163 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ASN1_NULL_free 4164 1_1_0d EXIST::FUNCTION: -ENGINE_register_all_ciphers 4165 1_1_0d EXIST::FUNCTION:ENGINE -PKCS7_verify 4166 1_1_0d EXIST::FUNCTION: -CRYPTO_free 4167 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_flags 4168 1_1_0d EXIST::FUNCTION: -X509_NAME_ENTRY_set_object 4169 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_set_certs 4170 1_1_0d EXIST::FUNCTION:TS -PKCS7_signatureVerify 4171 1_1_0d EXIST::FUNCTION: -d2i_PKCS12_bio 4172 1_1_0d EXIST::FUNCTION: -EVP_aes_128_cfb8 4173 1_1_0d EXIST::FUNCTION: -d2i_ASIdentifiers 4174 1_1_0d EXIST::FUNCTION:RFC3779 -SKF_EncryptInit 4175 1_1_0d EXIST::FUNCTION:SKF -EC_GROUP_set_generator 4176 1_1_0d EXIST::FUNCTION:EC -BN_is_solinas 4177 1_1_0d EXIST::FUNCTION: -CONF_imodule_get_flags 4178 1_1_0d EXIST::FUNCTION: -SRP_Calc_B 4179 1_1_0d EXIST::FUNCTION:SRP -AES_cfb1_encrypt 4180 1_1_0d EXIST::FUNCTION: -RAND_status 4181 1_1_0d EXIST::FUNCTION: -RAND_get_rand_method 4182 1_1_0d EXIST::FUNCTION: +DH_meth_set_finish 1 1_1_0d EXIST::FUNCTION:DH +SDF_ExternalPublicKeyOperation_RSA 2 1_1_0d EXIST::FUNCTION: +EC_KEY_precompute_mult 3 1_1_0d EXIST::FUNCTION:EC +EVP_CIPHER_meth_get_set_asn1_params 4 1_1_0d EXIST::FUNCTION: +BN_bn2binpad 5 1_1_0d EXIST::FUNCTION: +ENGINE_set_default_DSA 6 1_1_0d EXIST::FUNCTION:ENGINE +EVP_PKEY_print_private 7 1_1_0d EXIST::FUNCTION: +SDF_GenerateRandom 8 1_1_0d EXIST::FUNCTION: +PEM_write_bio_SM9PrivateKey 9 1_1_0d EXIST::FUNCTION:SM9 +EC_POINT_set_compressed_coordinates_GF2m 10 1_1_0d EXIST::FUNCTION:EC,EC2M +OCSP_SERVICELOC_it 11 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_SERVICELOC_it 11 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +UI_destroy_method 12 1_1_0d EXIST::FUNCTION:UI +TS_TST_INFO_ext_free 13 1_1_0d EXIST::FUNCTION:TS +DH_get_1024_160 14 1_1_0d EXIST::FUNCTION:DH +ESS_ISSUER_SERIAL_free 15 1_1_0d EXIST::FUNCTION:TS +EVP_MD_flags 16 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_doall 17 1_1_0d EXIST::FUNCTION: +RSA_get0_crt_params 18 1_1_0d EXIST::FUNCTION:RSA +d2i_IPAddressRange 19 1_1_0d EXIST::FUNCTION:RFC3779 +ENGINE_get_digests 20 1_1_0d EXIST::FUNCTION:ENGINE +EVP_MD_meth_get_app_datasize 21 1_1_0d EXIST::FUNCTION: +X509V3_EXT_i2d 22 1_1_0d EXIST::FUNCTION: +PKCS7_ENVELOPE_new 23 1_1_0d EXIST::FUNCTION: +X509_EXTENSION_set_critical 24 1_1_0d EXIST::FUNCTION: +BN_ucmp 25 1_1_0d EXIST::FUNCTION: +EVP_camellia_128_ecb 26 1_1_0d EXIST::FUNCTION:CAMELLIA +EVP_PKEY_CTX_get_operation 27 1_1_0d EXIST::FUNCTION: +ASN1_BIT_STRING_num_asc 28 1_1_0d EXIST::FUNCTION: +COMP_get_type 29 1_1_0d EXIST::FUNCTION:COMP +RSA_check_key 30 1_1_0d EXIST::FUNCTION:RSA +EVP_PBE_alg_add 31 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_derive 32 1_1_0d EXIST::FUNCTION: +OCSP_url_svcloc_new 33 1_1_0d EXIST::FUNCTION:OCSP +OPENSSL_sk_sort 34 1_1_0d EXIST::FUNCTION: +X509_TRUST_add 35 1_1_0d EXIST::FUNCTION: +ENGINE_register_RSA 36 1_1_0d EXIST::FUNCTION:ENGINE +ENGINE_get_cmd_defns 37 1_1_0d EXIST::FUNCTION:ENGINE +EVP_MD_meth_free 38 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_free 39 1_1_0d EXIST::FUNCTION: +X509_STORE_lock 40 1_1_0d EXIST::FUNCTION: +ERR_error_string 41 1_1_0d EXIST::FUNCTION: +PEM_write_bio_PKCS8 42 1_1_0d EXIST::FUNCTION: +i2d_X509_EXTENSION 43 1_1_0d EXIST::FUNCTION: +X509_get_default_cert_file 44 1_1_0d EXIST::FUNCTION: +X509_CRL_get_lastUpdate 45 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +EVP_PKEY_meth_get0_info 46 1_1_0d EXIST::FUNCTION: +EVP_PKEY_keygen 47 1_1_0d EXIST::FUNCTION: +BN_BLINDING_convert_ex 48 1_1_0d EXIST::FUNCTION: +i2d_X509_REVOKED 49 1_1_0d EXIST::FUNCTION: +RSA_sign 50 1_1_0d EXIST::FUNCTION:RSA +i2d_ASN1_PRINTABLE 51 1_1_0d EXIST::FUNCTION: +PAILLIER_generate_key 52 1_1_0d EXIST::FUNCTION:PAILLIER +X509_print_ex_fp 53 1_1_0d EXIST::FUNCTION:STDIO +X509_TRUST_get0 54 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_kekri_get0_id 55 1_1_0d EXIST::FUNCTION:CMS +EVP_whirlpool 56 1_1_0d EXIST::FUNCTION:WHIRLPOOL +i2d_PKEY_USAGE_PERIOD 57 1_1_0d EXIST::FUNCTION: +EVP_MD_pkey_type 58 1_1_0d EXIST::FUNCTION: +CMS_SignerInfo_verify_content 59 1_1_0d EXIST::FUNCTION:CMS +d2i_X509_EXTENSIONS 60 1_1_0d EXIST::FUNCTION: +ENGINE_register_all_digests 61 1_1_0d EXIST::FUNCTION:ENGINE +X509_verify 62 1_1_0d EXIST::FUNCTION: +SHA512_Init 63 1_1_0d EXIST:!VMSVAX:FUNCTION: +d2i_AUTHORITY_KEYID 64 1_1_0d EXIST::FUNCTION: +ERR_load_DSA_strings 65 1_1_0d EXIST::FUNCTION:DSA +X509_SIG_free 66 1_1_0d EXIST::FUNCTION: +ECDSA_verify 67 1_1_0d EXIST::FUNCTION:EC +OCSP_RESPONSE_free 68 1_1_0d EXIST::FUNCTION:OCSP +EVP_PKEY_verify_recover 69 1_1_0d EXIST::FUNCTION: +X509_get_default_cert_dir 70 1_1_0d EXIST::FUNCTION: +SHA1_Final 71 1_1_0d EXIST::FUNCTION: +ENGINE_get_default_RSA 72 1_1_0d EXIST::FUNCTION:ENGINE +d2i_SM9Ciphertext_fp 73 1_1_0d EXIST::FUNCTION:SM9,STDIO +ZLONG_it 74 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ZLONG_it 74 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +i2d_ASRange 75 1_1_0d EXIST::FUNCTION:RFC3779 +i2d_OCSP_REQUEST 76 1_1_0d EXIST::FUNCTION:OCSP +X509_PKEY_free 77 1_1_0d EXIST::FUNCTION: +ESS_CERT_ID_new 78 1_1_0d EXIST::FUNCTION:TS +ERR_load_KDF2_strings 79 1_1_0d EXIST::FUNCTION: +PEM_write_SM9MasterSecret 80 1_1_0d EXIST::FUNCTION:SM9,STDIO +i2d_ASN1_TIME 81 1_1_0d EXIST::FUNCTION: +d2i_RSAPublicKey_bio 82 1_1_0d EXIST::FUNCTION:RSA +CMS_SignerInfo_get0_md_ctx 83 1_1_0d EXIST::FUNCTION:CMS +X509_get_default_cert_file_env 84 1_1_0d EXIST::FUNCTION: +X509_STORE_set_default_paths 85 1_1_0d EXIST::FUNCTION: +X509_CRL_get_meth_data 86 1_1_0d EXIST::FUNCTION: +BIO_meth_get_write 87 1_1_0d EXIST::FUNCTION: +PKCS7_ISSUER_AND_SERIAL_free 88 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_add_failure_info 89 1_1_0d EXIST::FUNCTION:TS +OPENSSL_sk_num 90 1_1_0d EXIST::FUNCTION: +USERNOTICE_free 91 1_1_0d EXIST::FUNCTION: +AUTHORITY_INFO_ACCESS_new 92 1_1_0d EXIST::FUNCTION: +X509_CRL_get_version 93 1_1_0d EXIST::FUNCTION: +SKF_OpenApplication 94 1_1_0d EXIST::FUNCTION:SKF +BN_mod_exp_mont_consttime 95 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_set_cleanup 96 1_1_0d EXIST::FUNCTION: +POLICY_MAPPINGS_it 97 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +POLICY_MAPPINGS_it 97 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +HMAC_CTX_reset 98 1_1_0d EXIST::FUNCTION: +X509_TRUST_set_default 99 1_1_0d EXIST::FUNCTION: +DES_crypt 100 1_1_0d EXIST::FUNCTION:DES +Camellia_ofb128_encrypt 101 1_1_0d EXIST::FUNCTION:CAMELLIA +EVP_PBE_cleanup 102 1_1_0d EXIST::FUNCTION: +X509v3_asid_validate_resource_set 103 1_1_0d EXIST::FUNCTION:RFC3779 +i2d_TS_RESP 104 1_1_0d EXIST::FUNCTION:TS +DH_meth_set_compute_key 105 1_1_0d EXIST::FUNCTION:DH +BIO_sock_init 106 1_1_0d EXIST::FUNCTION:SOCK +OBJ_add_sigid 107 1_1_0d EXIST::FUNCTION: +KDF_get_ibcs 108 1_1_0d EXIST::FUNCTION: +UI_construct_prompt 109 1_1_0d EXIST::FUNCTION:UI +SDF_GenerateKeyPair_RSA 110 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_decrypt 111 1_1_0d EXIST::FUNCTION: +SKF_NewECCCipher 112 1_1_0d EXIST::FUNCTION:SKF +SDF_PrintECCSignature 113 1_1_0d EXIST::FUNCTION:SDF +X509_REQ_get_attr 114 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_error_depth 115 1_1_0d EXIST::FUNCTION: +CMS_sign_receipt 116 1_1_0d EXIST::FUNCTION:CMS +ASN1_item_free 117 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_kari_set0_pkey 118 1_1_0d EXIST::FUNCTION:CMS +SHA224_Update 119 1_1_0d EXIST::FUNCTION: +d2i_ECDSA_SIG 120 1_1_0d EXIST::FUNCTION:EC +POLICY_CONSTRAINTS_free 121 1_1_0d EXIST::FUNCTION: +DSA_meth_set1_name 122 1_1_0d EXIST::FUNCTION:DSA +SKF_ExportEVPPublicKey 123 1_1_0d EXIST::FUNCTION:SKF +d2i_PKCS8_PRIV_KEY_INFO_bio 124 1_1_0d EXIST::FUNCTION: +OCSP_RESPDATA_new 125 1_1_0d EXIST::FUNCTION:OCSP +ENGINE_get_pkey_asn1_meth_engine 126 1_1_0d EXIST::FUNCTION:ENGINE +DSA_SIG_get0 127 1_1_0d EXIST::FUNCTION:DSA +EVP_MD_CTX_set_flags 128 1_1_0d EXIST::FUNCTION: +EVP_bf_ofb 129 1_1_0d EXIST::FUNCTION:BF +NCONF_dump_fp 130 1_1_0d EXIST::FUNCTION:STDIO +X509_VERIFY_PARAM_set1_email 131 1_1_0d EXIST::FUNCTION: +EVP_OpenInit 132 1_1_0d EXIST::FUNCTION:RSA +RSA_meth_get_flags 133 1_1_0d EXIST::FUNCTION:RSA +BN_mod_exp2_mont 134 1_1_0d EXIST::FUNCTION: +EVP_sms4_wrap_pad 135 1_1_0d EXIST::FUNCTION:SMS4 +EVP_aes_192_ccm 136 1_1_0d EXIST::FUNCTION: +X509_CRL_set_default_method 137 1_1_0d EXIST::FUNCTION: +i2d_ESS_CERT_ID 138 1_1_0d EXIST::FUNCTION:TS +SDF_WriteFile 139 1_1_0d EXIST::FUNCTION: +DSA_meth_get0_name 140 1_1_0d EXIST::FUNCTION:DSA +EVP_PKEY_CTX_get_data 141 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_set0_password 142 1_1_0d EXIST::FUNCTION:CMS +EVP_aes_256_ofb 143 1_1_0d EXIST::FUNCTION: +EVP_aes_192_wrap 144 1_1_0d EXIST::FUNCTION: +OCSP_resp_find_status 145 1_1_0d EXIST::FUNCTION:OCSP +i2d_DSAPrivateKey_fp 146 1_1_0d EXIST::FUNCTION:DSA,STDIO +EVP_PKEY_asn1_set_public 147 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_set_asn1_iv 148 1_1_0d EXIST::FUNCTION: +ERR_remove_thread_state 149 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +X509_EXTENSION_dup 150 1_1_0d EXIST::FUNCTION: +EVP_EncryptUpdate 151 1_1_0d EXIST::FUNCTION: +X509_NAME_print_ex_fp 152 1_1_0d EXIST::FUNCTION:STDIO +i2d_EC_PUBKEY_bio 153 1_1_0d EXIST::FUNCTION:EC +d2i_TS_TST_INFO 154 1_1_0d EXIST::FUNCTION:TS +EC_GROUP_new_from_ecpkparameters 155 1_1_0d EXIST::FUNCTION:EC +WHIRLPOOL_Update 156 1_1_0d EXIST::FUNCTION:WHIRLPOOL +EVP_camellia_256_ofb 157 1_1_0d EXIST::FUNCTION:CAMELLIA +PKCS12_SAFEBAG_create0_pkcs8 158 1_1_0d EXIST::FUNCTION: +i2d_RSA_PUBKEY 159 1_1_0d EXIST::FUNCTION:RSA +ASN1_UTF8STRING_free 160 1_1_0d EXIST::FUNCTION: +BIO_new_fd 161 1_1_0d EXIST::FUNCTION: +PEM_write_X509 162 1_1_0d EXIST::FUNCTION:STDIO +ASYNC_WAIT_CTX_new 163 1_1_0d EXIST::FUNCTION: +PEM_write_bio_RSAPublicKey 164 1_1_0d EXIST::FUNCTION:RSA +OPENSSL_hexchar2int 165 1_1_0d EXIST::FUNCTION: +SM2CiphertextValue_set_ECCCipher 166 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF,SM2 +BN_RECP_CTX_free 167 1_1_0d EXIST::FUNCTION: +RSA_padding_add_none 168 1_1_0d EXIST::FUNCTION:RSA +ERR_load_TS_strings 169 1_1_0d EXIST::FUNCTION:TS +d2i_PROXY_CERT_INFO_EXTENSION 170 1_1_0d EXIST::FUNCTION: +BN_X931_generate_prime_ex 171 1_1_0d EXIST::FUNCTION: +CMS_unsigned_get_attr 172 1_1_0d EXIST::FUNCTION:CMS +ERR_load_DH_strings 173 1_1_0d EXIST::FUNCTION:DH +BIO_ADDRINFO_protocol 174 1_1_0d EXIST::FUNCTION:SOCK +COMP_compress_block 175 1_1_0d EXIST::FUNCTION:COMP +DSA_do_sign 176 1_1_0d EXIST::FUNCTION:DSA +EVP_PKEY_get0_PAILLIER 177 1_1_0d EXIST::FUNCTION:PAILLIER +X509_PURPOSE_get_by_id 178 1_1_0d EXIST::FUNCTION: +i2d_ECParameters 179 1_1_0d EXIST::FUNCTION:EC +EVP_DecryptUpdate 180 1_1_0d EXIST::FUNCTION: +X509_CRL_get_ext_by_OBJ 181 1_1_0d EXIST::FUNCTION: +CMAC_Init 182 1_1_0d EXIST::FUNCTION:CMAC +X509_gmtime_adj 183 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_get_bag_nid 184 1_1_0d EXIST::FUNCTION: +DES_cfb64_encrypt 185 1_1_0d EXIST::FUNCTION:DES +EVP_OpenFinal 186 1_1_0d EXIST::FUNCTION:RSA +BIO_s_null 187 1_1_0d EXIST::FUNCTION: +SCT_set1_log_id 188 1_1_0d EXIST::FUNCTION:CT +TS_RESP_verify_response 189 1_1_0d EXIST::FUNCTION:TS +ERR_load_RSA_strings 190 1_1_0d EXIST::FUNCTION:RSA +EVP_DigestInit 191 1_1_0d EXIST::FUNCTION: +BIO_get_host_ip 192 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK +OPENSSL_sk_is_sorted 193 1_1_0d EXIST::FUNCTION: +i2d_TS_MSG_IMPRINT_bio 194 1_1_0d EXIST::FUNCTION:TS +PKCS7_SIGNER_INFO_sign 195 1_1_0d EXIST::FUNCTION: +d2i_DHxparams 196 1_1_0d EXIST::FUNCTION:DH +X509_OBJECT_get0_X509 197 1_1_0d EXIST::FUNCTION: +TXT_DB_create_index 198 1_1_0d EXIST::FUNCTION: +d2i_ASIdentifiers 199 1_1_0d EXIST::FUNCTION:RFC3779 +CONF_imodule_set_usr_data 200 1_1_0d EXIST::FUNCTION: +EVP_rc5_32_12_16_ofb 201 1_1_0d EXIST::FUNCTION:RC5 +d2i_ASN1_GENERALIZEDTIME 202 1_1_0d EXIST::FUNCTION: +SKF_GetDevInfo 203 1_1_0d EXIST::FUNCTION:SKF +PEM_bytes_read_bio 204 1_1_0d EXIST::FUNCTION: +b2i_PVK_bio 205 1_1_0d EXIST::FUNCTION:DSA,RC4 +OCSP_cert_status_str 206 1_1_0d EXIST::FUNCTION:OCSP +CMS_SignerInfo_verify 207 1_1_0d EXIST::FUNCTION:CMS +OCSP_SIGNATURE_free 208 1_1_0d EXIST::FUNCTION:OCSP +RSA_clear_flags 209 1_1_0d EXIST::FUNCTION:RSA +EC_POINT_method_of 210 1_1_0d EXIST::FUNCTION:EC +CMS_ReceiptRequest_create0 211 1_1_0d EXIST::FUNCTION:CMS +ERR_load_SM9_strings 212 1_1_0d EXIST::FUNCTION:SM9 +PEM_write_PaillierPublicKey 213 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO +SXNET_get_id_ulong 214 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_arr 215 1_1_0d EXIST::FUNCTION:EC2M +CRYPTO_dup_ex_data 216 1_1_0d EXIST::FUNCTION: +i2d_ASN1_NULL 217 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_meth_set_get_asn1_params 218 1_1_0d EXIST::FUNCTION: +BIO_ptr_ctrl 219 1_1_0d EXIST::FUNCTION: +CMS_unsigned_add1_attr_by_txt 220 1_1_0d EXIST::FUNCTION:CMS +ENGINE_ctrl_cmd_string 221 1_1_0d EXIST::FUNCTION:ENGINE +X509_REQ_get_extension_nids 222 1_1_0d EXIST::FUNCTION: +d2i_EDIPARTYNAME 223 1_1_0d EXIST::FUNCTION: +SKF_PrintRSAPrivateKey 224 1_1_0d EXIST::FUNCTION:SKF +SKF_NewEnvelopedKey 225 1_1_0d EXIST::FUNCTION:SKF +EVP_PKEY_new_mac_key 226 1_1_0d EXIST::FUNCTION: +NCONF_free 227 1_1_0d EXIST::FUNCTION: +BN_BLINDING_create_param 228 1_1_0d EXIST::FUNCTION: +SM9PrivateKey_get_public_key 229 1_1_0d EXIST::FUNCTION:SM9 +d2i_PKCS7 230 1_1_0d EXIST::FUNCTION: +CMS_unsigned_add1_attr 231 1_1_0d EXIST::FUNCTION:CMS +UI_method_set_closer 232 1_1_0d EXIST::FUNCTION:UI +TS_RESP_CTX_set_extension_cb 233 1_1_0d EXIST::FUNCTION:TS +DSA_meth_new 234 1_1_0d EXIST::FUNCTION:DSA +ASN1_BIT_STRING_set_bit 235 1_1_0d EXIST::FUNCTION: +EVP_PKEY_set1_SM9_MASTER 236 1_1_0d EXIST::FUNCTION:SM9 +X509_CRL_get_ext 237 1_1_0d EXIST::FUNCTION: +RSA_set_RSAPRIVATEKEYBLOB 238 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF +CRYPTO_mem_debug_malloc 239 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG +UI_UTIL_read_pw_string 240 1_1_0d EXIST::FUNCTION:UI +SKF_ImportRSAPrivateKey 241 1_1_0d EXIST::FUNCTION:SKF +RIPEMD160 242 1_1_0d EXIST::FUNCTION:RMD160 +EC_GROUP_get_asn1_flag 243 1_1_0d EXIST::FUNCTION:EC +X509v3_get_ext_count 244 1_1_0d EXIST::FUNCTION: +X509_OBJECT_retrieve_by_subject 245 1_1_0d EXIST::FUNCTION: +EVP_aes_192_ofb 246 1_1_0d EXIST::FUNCTION: +RSA_set_RSArefPrivateKey 247 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF +X509V3_EXT_add_alias 248 1_1_0d EXIST::FUNCTION: +OCSP_ONEREQ_it 249 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_ONEREQ_it 249 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +EC_GFp_sm2p256_method 250 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128,SM2 +ERR_remove_state 251 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_0_0 +USERNOTICE_it 252 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +USERNOTICE_it 252 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_STORE_CTX_get0_param 253 1_1_0d EXIST::FUNCTION: +X509_NAME_add_entry_by_NID 254 1_1_0d EXIST::FUNCTION: +TS_ACCURACY_dup 255 1_1_0d EXIST::FUNCTION:TS +EDIPARTYNAME_new 256 1_1_0d EXIST::FUNCTION: +PEM_SignInit 257 1_1_0d EXIST::FUNCTION: +RSA_get_method 258 1_1_0d EXIST::FUNCTION:RSA +PKCS12_set_mac 259 1_1_0d EXIST::FUNCTION: +BN_is_one 260 1_1_0d EXIST::FUNCTION: +PEM_proc_type 261 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_set_local 262 1_1_0d EXIST::FUNCTION: +i2d_TS_REQ 263 1_1_0d EXIST::FUNCTION:TS +SHA224 264 1_1_0d EXIST::FUNCTION: +PKCS7_dataDecode 265 1_1_0d EXIST::FUNCTION: +X509_TRUST_get_by_id 266 1_1_0d EXIST::FUNCTION: +ENGINE_register_DSA 267 1_1_0d EXIST::FUNCTION:ENGINE +ECDSA_SIG_new_from_ECCSignature 268 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +PEM_read_DSAPrivateKey 269 1_1_0d EXIST::FUNCTION:DSA,STDIO +SDF_ImportKeyWithKEK 270 1_1_0d EXIST::FUNCTION: +SKF_SetLabel 271 1_1_0d EXIST::FUNCTION:SKF +X509_VERIFY_PARAM_set1_name 272 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_lock_new 273 1_1_0d EXIST::FUNCTION: +OCSP_crlID_new 274 1_1_0d EXIST:!VMS:FUNCTION:OCSP +OCSP_crlID2_new 274 1_1_0d EXIST:VMS:FUNCTION:OCSP +EC_KEY_get_conv_form 275 1_1_0d EXIST::FUNCTION:EC +d2i_ECIES_CIPHERTEXT_VALUE 276 1_1_0d EXIST::FUNCTION:ECIES +BIO_pop 277 1_1_0d EXIST::FUNCTION: +UI_add_input_boolean 278 1_1_0d EXIST::FUNCTION:UI +EVP_CIPHER_do_all 279 1_1_0d EXIST::FUNCTION: +ASN1_GENERALIZEDTIME_check 280 1_1_0d EXIST::FUNCTION: +X509_CRL_diff 281 1_1_0d EXIST::FUNCTION: +SKF_CreateFile 282 1_1_0d EXIST::FUNCTION:SKF +ASN1_BIT_STRING_free 283 1_1_0d EXIST::FUNCTION: +PEM_write_PKCS8PrivateKey_nid 284 1_1_0d EXIST::FUNCTION:STDIO +TS_TST_INFO_set_policy_id 285 1_1_0d EXIST::FUNCTION:TS +UI_get0_user_data 286 1_1_0d EXIST::FUNCTION:UI +d2i_PUBKEY 287 1_1_0d EXIST::FUNCTION: +ENGINE_set_default_DH 288 1_1_0d EXIST::FUNCTION:ENGINE +MD2_Update 289 1_1_0d EXIST::FUNCTION:MD2 +PKCS12_add_key 290 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_set_decrypt 291 1_1_0d EXIST::FUNCTION: +EVP_aes_128_ofb 292 1_1_0d EXIST::FUNCTION: +X509_subject_name_hash_old 293 1_1_0d EXIST::FUNCTION:MD5 +PKCS8_pkey_get0_attrs 294 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get_default_digest_nid 295 1_1_0d EXIST::FUNCTION: +X509_get0_uids 296 1_1_0d EXIST::FUNCTION: +EC_POINT_point2buf 297 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_get1_DH 298 1_1_0d EXIST::FUNCTION:DH +d2i_PKCS7_ISSUER_AND_SERIAL 299 1_1_0d EXIST::FUNCTION: +POLICYQUALINFO_new 300 1_1_0d EXIST::FUNCTION: +NCONF_get_string 301 1_1_0d EXIST::FUNCTION: +EC_GROUP_get_cofactor 302 1_1_0d EXIST::FUNCTION:EC +CMS_unsigned_delete_attr 303 1_1_0d EXIST::FUNCTION:CMS +TS_RESP_CTX_get_request 304 1_1_0d EXIST::FUNCTION:TS +ENGINE_add 305 1_1_0d EXIST::FUNCTION:ENGINE +X509V3_EXT_conf 306 1_1_0d EXIST::FUNCTION: +DES_options 307 1_1_0d EXIST::FUNCTION:DES +CMS_final 308 1_1_0d EXIST::FUNCTION:CMS +EC_GF2m_simple_method 309 1_1_0d EXIST::FUNCTION:EC,EC2M +X509_NAME_get0_der 310 1_1_0d EXIST::FUNCTION: +DH_get0_pqg 311 1_1_0d EXIST::FUNCTION:DH +i2d_POLICYQUALINFO 312 1_1_0d EXIST::FUNCTION: +ASN1_STRING_set_default_mask 313 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_stats 314 1_1_0d EXIST::FUNCTION:STDIO +BN_BLINDING_set_current_thread 315 1_1_0d EXIST::FUNCTION: +SKF_CreateApplication 316 1_1_0d EXIST::FUNCTION:SKF +d2i_SM9MasterSecret_fp 317 1_1_0d EXIST::FUNCTION:SM9,STDIO +EVP_DigestSignFinal 318 1_1_0d EXIST::FUNCTION: +DHparams_dup 319 1_1_0d EXIST::FUNCTION:DH +PKCS7_set_content 320 1_1_0d EXIST::FUNCTION: +UI_method_get_prompt_constructor 321 1_1_0d EXIST::FUNCTION:UI +PKCS12_new 322 1_1_0d EXIST::FUNCTION: +EC_KEY_oct2key 323 1_1_0d EXIST::FUNCTION:EC +d2i_ECPrivateKey_fp 324 1_1_0d EXIST::FUNCTION:EC,STDIO +TS_ACCURACY_get_micros 325 1_1_0d EXIST::FUNCTION:TS +TS_MSG_IMPRINT_free 326 1_1_0d EXIST::FUNCTION:TS +EVP_SignFinal 327 1_1_0d EXIST::FUNCTION: +X509_STORE_set_flags 328 1_1_0d EXIST::FUNCTION: +EC_KEY_METHOD_set_init 329 1_1_0d EXIST::FUNCTION:EC +BIO_sock_info 330 1_1_0d EXIST::FUNCTION:SOCK +i2d_PBEPARAM 331 1_1_0d EXIST::FUNCTION: +PEM_write_ECPKParameters 332 1_1_0d EXIST::FUNCTION:EC,STDIO +X509_REQ_set_subject_name 333 1_1_0d EXIST::FUNCTION: +X509_REQ_digest 334 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_new 335 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_set_serial 336 1_1_0d EXIST::FUNCTION:TS +EVP_aes_256_ecb 337 1_1_0d EXIST::FUNCTION: +PKCS5_pbe2_set_iv 338 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_flags 339 1_1_0d EXIST::FUNCTION: +SM9_extract_private_key 340 1_1_0d EXIST::FUNCTION:SM9 +UI_add_error_string 341 1_1_0d EXIST::FUNCTION:UI +PBE2PARAM_free 342 1_1_0d EXIST::FUNCTION: +CRYPTO_new_ex_data 343 1_1_0d EXIST::FUNCTION: +MD2_Final 344 1_1_0d EXIST::FUNCTION:MD2 +X509_STORE_set_get_issuer 345 1_1_0d EXIST::FUNCTION: +BIO_dup_chain 346 1_1_0d EXIST::FUNCTION: +Camellia_set_key 347 1_1_0d EXIST::FUNCTION:CAMELLIA +X509_get0_extensions 348 1_1_0d EXIST::FUNCTION: +BN_clear 349 1_1_0d EXIST::FUNCTION: +X509_CRL_METHOD_new 350 1_1_0d EXIST::FUNCTION: +PKCS12_parse 351 1_1_0d EXIST::FUNCTION: +CT_POLICY_EVAL_CTX_get_time 352 1_1_0d EXIST::FUNCTION:CT +BIO_new_file 353 1_1_0d EXIST::FUNCTION: +i2d_RSAPublicKey_bio 354 1_1_0d EXIST::FUNCTION:RSA +X509_REVOKED_add1_ext_i2d 355 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_meth_get_ctrl 356 1_1_0d EXIST::FUNCTION: +CRYPTO_ocb128_aad 357 1_1_0d EXIST::FUNCTION:OCB +EVP_aes_128_cbc 358 1_1_0d EXIST::FUNCTION: +CONF_modules_finish 359 1_1_0d EXIST::FUNCTION: +PKCS5_v2_scrypt_keyivgen 360 1_1_0d EXIST::FUNCTION:SCRYPT +CONF_parse_list 361 1_1_0d EXIST::FUNCTION: +EVP_read_pw_string_min 362 1_1_0d EXIST::FUNCTION:UI +CAST_encrypt 363 1_1_0d EXIST::FUNCTION:CAST +BN_consttime_swap 364 1_1_0d EXIST::FUNCTION: +ERR_peek_error_line_data 365 1_1_0d EXIST::FUNCTION: +DES_ecb3_encrypt 366 1_1_0d EXIST::FUNCTION:DES +EVP_PKEY_meth_set_init 367 1_1_0d EXIST::FUNCTION: +CONF_modules_load_file 368 1_1_0d EXIST::FUNCTION: +i2d_X509_PUBKEY 369 1_1_0d EXIST::FUNCTION: +ENGINE_get_DH 370 1_1_0d EXIST::FUNCTION:ENGINE +X509_get_subject_name 371 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_set_accuracy 372 1_1_0d EXIST::FUNCTION:TS +SMIME_read_PKCS7 373 1_1_0d EXIST::FUNCTION: +s2i_ASN1_OCTET_STRING 374 1_1_0d EXIST::FUNCTION: +X509_STORE_get_lookup_certs 375 1_1_0d EXIST::FUNCTION: +SM9_MASTER_KEY_new 376 1_1_0d EXIST::FUNCTION:SM9 +OCSP_REQUEST_print 377 1_1_0d EXIST::FUNCTION:OCSP +CRYPTO_ccm128_setiv 378 1_1_0d EXIST::FUNCTION: +UI_method_get_opener 379 1_1_0d EXIST::FUNCTION:UI +ENGINE_unregister_DSA 380 1_1_0d EXIST::FUNCTION:ENGINE +PKCS12_add_friendlyname_asc 381 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_node_stats 382 1_1_0d EXIST::FUNCTION:STDIO +OCSP_resp_get0_produced_at 383 1_1_0d EXIST::FUNCTION:OCSP +ERR_get_next_error_library 384 1_1_0d EXIST::FUNCTION: +SM2CiphertextValue_new 385 1_1_0d EXIST::FUNCTION:SM2 +CRYPTO_THREAD_compare_id 386 1_1_0d EXIST::FUNCTION: +d2i_ASN1_T61STRING 387 1_1_0d EXIST::FUNCTION: +EVP_sms4_wrap 388 1_1_0d EXIST::FUNCTION:SMS4 +ASN1_STRING_type 389 1_1_0d EXIST::FUNCTION: +CRYPTO_mem_debug_pop 390 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG +EVP_des_cfb64 391 1_1_0d EXIST::FUNCTION:DES +X509_subject_name_cmp 392 1_1_0d EXIST::FUNCTION: +EC_KEY_new_method 393 1_1_0d EXIST::FUNCTION:EC +DH_set_default_method 394 1_1_0d EXIST::FUNCTION:DH +SDF_GenerateKeyWithEPK_ECC 395 1_1_0d EXIST::FUNCTION: +SXNETID_it 396 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +SXNETID_it 396 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +i2a_ASN1_ENUMERATED 397 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_ext_d2i 398 1_1_0d EXIST::FUNCTION:TS +BN_lebin2bn 399 1_1_0d EXIST::FUNCTION: +CMS_add_smimecap 400 1_1_0d EXIST::FUNCTION:CMS +EVP_PBE_find 401 1_1_0d EXIST::FUNCTION: +RSA_meth_get0_name 402 1_1_0d EXIST::FUNCTION:RSA +SDF_HashFinal 403 1_1_0d EXIST::FUNCTION: +DSA_set_default_method 404 1_1_0d EXIST::FUNCTION:DSA +X509_set1_notAfter 405 1_1_0d EXIST::FUNCTION: +DSAparams_dup 406 1_1_0d EXIST::FUNCTION:DSA +X509_NAME_ENTRY_set_data 407 1_1_0d EXIST::FUNCTION: +EVP_SealFinal 408 1_1_0d EXIST::FUNCTION:RSA +DH_set_ex_data 409 1_1_0d EXIST::FUNCTION:DH +X509_CRL_set_issuer_name 410 1_1_0d EXIST::FUNCTION: +ASN1_GENERALIZEDTIME_adj 411 1_1_0d EXIST::FUNCTION: +SHA512 412 1_1_0d EXIST:!VMSVAX:FUNCTION: +SDF_ImportKey 413 1_1_0d EXIST::FUNCTION:SDF +BN_cmp 414 1_1_0d EXIST::FUNCTION: +BN_from_montgomery 415 1_1_0d EXIST::FUNCTION: +EVP_PKEY_paramgen_init 416 1_1_0d EXIST::FUNCTION: +X509_print_fp 417 1_1_0d EXIST::FUNCTION:STDIO +OPENSSL_LH_free 418 1_1_0d EXIST::FUNCTION: +DSA_meth_set_sign 419 1_1_0d EXIST::FUNCTION:DSA +TS_TST_INFO_get_tsa 420 1_1_0d EXIST::FUNCTION:TS +NAME_CONSTRAINTS_check_CN 421 1_1_0d EXIST::FUNCTION: +X509_PURPOSE_add 422 1_1_0d EXIST::FUNCTION: +BN_hex2bn 423 1_1_0d EXIST::FUNCTION: +X509_issuer_name_hash_old 424 1_1_0d EXIST::FUNCTION:MD5 +RSA_new_from_RSArefPublicKey 425 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF +PKCS12_MAC_DATA_it 426 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS12_MAC_DATA_it 426 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PEM_X509_INFO_write_bio 427 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_clear_flags 428 1_1_0d EXIST::FUNCTION: +RAND_event 429 1_1_0d EXIST:_WIN32:FUNCTION:DEPRECATEDIN_1_1_0 +BN_GENCB_set_old 430 1_1_0d EXIST::FUNCTION: +OCSP_resp_find 431 1_1_0d EXIST::FUNCTION:OCSP +X509_reject_clear 432 1_1_0d EXIST::FUNCTION: +X509_PURPOSE_cleanup 433 1_1_0d EXIST::FUNCTION: +sm3_hmac_update 434 1_1_0d EXIST::FUNCTION:SM3 +i2d_PKCS8PrivateKey_bio 435 1_1_0d EXIST::FUNCTION: +SRP_VBASE_free 436 1_1_0d EXIST::FUNCTION:SRP +d2i_PKCS12_bio 437 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_get_cb 438 1_1_0d EXIST::FUNCTION: +SCT_set_signature_nid 439 1_1_0d EXIST::FUNCTION:CT +OCSP_response_status 440 1_1_0d EXIST::FUNCTION:OCSP +i2d_ASIdOrRange 441 1_1_0d EXIST::FUNCTION:RFC3779 +PEM_write_NETSCAPE_CERT_SEQUENCE 442 1_1_0d EXIST::FUNCTION:STDIO +EVP_PKEY_asn1_free 443 1_1_0d EXIST::FUNCTION: +PEM_write_DSA_PUBKEY 444 1_1_0d EXIST::FUNCTION:DSA,STDIO +PEM_write_PKCS8 445 1_1_0d EXIST::FUNCTION:STDIO +d2i_PBKDF2PARAM 446 1_1_0d EXIST::FUNCTION: +X509_cmp_current_time 447 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_cleanup_local 448 1_1_0d EXIST::FUNCTION: +POLICY_MAPPING_free 449 1_1_0d EXIST::FUNCTION: +ENGINE_get_DSA 450 1_1_0d EXIST::FUNCTION:ENGINE +BN_MONT_CTX_set 451 1_1_0d EXIST::FUNCTION: +EC_KEY_set_default_sm_method 452 1_1_0d EXIST::FUNCTION:SM2 +SCT_set0_log_id 453 1_1_0d EXIST::FUNCTION:CT +UI_dup_input_string 454 1_1_0d EXIST::FUNCTION:UI +sms4_cfb128_encrypt 455 1_1_0d EXIST::FUNCTION:SMS4 +PKCS7_add_crl 456 1_1_0d EXIST::FUNCTION: +TS_ACCURACY_set_seconds 457 1_1_0d EXIST::FUNCTION:TS +RSA_blinding_on 458 1_1_0d EXIST::FUNCTION:RSA +EC_GROUP_set_asn1_flag 459 1_1_0d EXIST::FUNCTION:EC +sm3_compress 460 1_1_0d EXIST::FUNCTION:SM3 +SKF_GenRSAKeyPair 461 1_1_0d EXIST::FUNCTION:SKF +SRP_user_pwd_free 462 1_1_0d EXIST::FUNCTION:SRP +ECDSA_SIG_new_from_ECCSIGNATUREBLOB 463 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +SRP_VBASE_get1_by_user 464 1_1_0d EXIST::FUNCTION:SRP +OCSP_RESPID_it 465 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_RESPID_it 465 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +OPENSSL_strlcat 466 1_1_0d EXIST::FUNCTION: +ENGINE_register_all_DH 467 1_1_0d EXIST::FUNCTION:ENGINE +X509_STORE_CTX_get0_parent_ctx 468 1_1_0d EXIST::FUNCTION: +i2d_DSAparams 469 1_1_0d EXIST::FUNCTION:DSA +X509_STORE_CTX_get0_store 470 1_1_0d EXIST::FUNCTION: +RSA_padding_add_PKCS1_OAEP 471 1_1_0d EXIST::FUNCTION:RSA +i2d_ECCCIPHERBLOB 472 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +PKCS12_item_decrypt_d2i 473 1_1_0d EXIST::FUNCTION: +CMS_set1_eContentType 474 1_1_0d EXIST::FUNCTION:CMS +X509_CRL_add_ext 475 1_1_0d EXIST::FUNCTION: +OBJ_txt2nid 476 1_1_0d EXIST::FUNCTION: +SRP_Calc_A 477 1_1_0d EXIST::FUNCTION:SRP +BIO_f_cipher 478 1_1_0d EXIST::FUNCTION: +X509_get_extended_key_usage 479 1_1_0d EXIST::FUNCTION: +i2d_PKCS8PrivateKeyInfo_bio 480 1_1_0d EXIST::FUNCTION: +DSA_print_fp 481 1_1_0d EXIST::FUNCTION:DSA,STDIO +ECIES_CIPHERTEXT_VALUE_it 482 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:ECIES +ECIES_CIPHERTEXT_VALUE_it 482 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:ECIES +X509_STORE_CTX_get_verify 483 1_1_0d EXIST::FUNCTION: +EVP_ENCODE_CTX_free 484 1_1_0d EXIST::FUNCTION: +i2d_X509_REQ_bio 485 1_1_0d EXIST::FUNCTION: +BN_free 486 1_1_0d EXIST::FUNCTION: +SCT_new_from_base64 487 1_1_0d EXIST::FUNCTION:CT +o2i_SM2CiphertextValue 488 1_1_0d EXIST::FUNCTION:SM2 +EVP_MD_meth_get_init 489 1_1_0d EXIST::FUNCTION: +X509V3_EXT_add_nconf 490 1_1_0d EXIST::FUNCTION: +RSA_meth_set_priv_dec 491 1_1_0d EXIST::FUNCTION:RSA +CRYPTO_strdup 492 1_1_0d EXIST::FUNCTION: +PKCS12_BAGS_it 493 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS12_BAGS_it 493 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +RSA_PSS_PARAMS_it 494 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA +RSA_PSS_PARAMS_it 494 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA +ECIES_do_encrypt 495 1_1_0d EXIST::FUNCTION:ECIES +SCT_set0_extensions 496 1_1_0d EXIST::FUNCTION:CT +i2d_DSA_SIG 497 1_1_0d EXIST::FUNCTION:DSA +i2d_ECDSA_SIG 498 1_1_0d EXIST::FUNCTION:EC +ECIES_PARAMS_init_with_recommended 499 1_1_0d EXIST::FUNCTION:ECIES +EC_GROUP_get0_order 500 1_1_0d EXIST::FUNCTION:EC +EVP_aes_256_wrap_pad 501 1_1_0d EXIST::FUNCTION: +PKCS7_DIGEST_free 502 1_1_0d EXIST::FUNCTION: +OPENSSL_cleanup 503 1_1_0d EXIST::FUNCTION: +X509_NAME_add_entry_by_txt 504 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_dup 505 1_1_0d EXIST::FUNCTION: +ASN1_item_ex_free 506 1_1_0d EXIST::FUNCTION: +SKF_RSASignData 507 1_1_0d EXIST::FUNCTION:SKF +EVP_PKEY_asn1_get0_info 508 1_1_0d EXIST::FUNCTION: +DSO_free 509 1_1_0d EXIST::FUNCTION: +CERTIFICATEPOLICIES_it 510 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +CERTIFICATEPOLICIES_it 510 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ERR_load_ASYNC_strings 511 1_1_0d EXIST::FUNCTION: +EVP_PKEY_add1_attr_by_NID 512 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_set_final 513 1_1_0d EXIST::FUNCTION: +X509_set_version 514 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_lock_free 515 1_1_0d EXIST::FUNCTION: +CMS_unsigned_add1_attr_by_NID 516 1_1_0d EXIST::FUNCTION:CMS +EC_POINT_dbl 517 1_1_0d EXIST::FUNCTION:EC +ENGINE_set_destroy_function 518 1_1_0d EXIST::FUNCTION:ENGINE +ENGINE_by_id 519 1_1_0d EXIST::FUNCTION:ENGINE +SHA384_Update 520 1_1_0d EXIST:!VMSVAX:FUNCTION: +X509_VERIFY_PARAM_set1_ip 521 1_1_0d EXIST::FUNCTION: +OPENSSL_uni2utf8 522 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_verifyctx 523 1_1_0d EXIST::FUNCTION: +ASIdentifiers_it 524 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +ASIdentifiers_it 524 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +EVP_EncryptInit_ex 525 1_1_0d EXIST::FUNCTION: +TS_REQ_get_exts 526 1_1_0d EXIST::FUNCTION:TS +BIO_new_dgram_sctp 527 1_1_0d EXIST::FUNCTION:DGRAM,SCTP +i2d_ASN1_UTF8STRING 528 1_1_0d EXIST::FUNCTION: +TS_ext_print_bio 529 1_1_0d EXIST::FUNCTION:TS +PKCS7_add_attribute 530 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set0_param 531 1_1_0d EXIST::FUNCTION: +i2d_PKCS12_SAFEBAG 532 1_1_0d EXIST::FUNCTION: +ASYNC_unblock_pause 533 1_1_0d EXIST::FUNCTION: +ASN1_TIME_new 534 1_1_0d EXIST::FUNCTION: +TS_RESP_new 535 1_1_0d EXIST::FUNCTION:TS +SM2_KAP_CTX_init 536 1_1_0d EXIST::FUNCTION:SM2 +ECDSA_SIG_set0 537 1_1_0d EXIST::FUNCTION:EC +SKF_WaitForDevEvent 538 1_1_0d EXIST::FUNCTION:SKF +NETSCAPE_SPKI_sign 539 1_1_0d EXIST::FUNCTION: +RSA_meth_set_finish 540 1_1_0d EXIST::FUNCTION:RSA +RSA_new_method 541 1_1_0d EXIST::FUNCTION:RSA +ENGINE_set_RAND 542 1_1_0d EXIST::FUNCTION:ENGINE +X509_NAME_add_entry_by_OBJ 543 1_1_0d EXIST::FUNCTION: +i2d_IPAddressFamily 544 1_1_0d EXIST::FUNCTION:RFC3779 +TS_CONF_set_signer_cert 545 1_1_0d EXIST::FUNCTION:TS +X509_VERIFY_PARAM_table_cleanup 546 1_1_0d EXIST::FUNCTION: +ASN1_item_sign_ctx 547 1_1_0d EXIST::FUNCTION: +d2i_SM9Signature_fp 548 1_1_0d EXIST::FUNCTION:SM9,STDIO +BIO_number_written 549 1_1_0d EXIST::FUNCTION: +d2i_PrivateKey 550 1_1_0d EXIST::FUNCTION: +CMS_get0_signers 551 1_1_0d EXIST::FUNCTION:CMS +OBJ_NAME_get 552 1_1_0d EXIST::FUNCTION: +CRL_DIST_POINTS_free 553 1_1_0d EXIST::FUNCTION: +i2d_ECPrivateKey_fp 554 1_1_0d EXIST::FUNCTION:EC,STDIO +EVP_rc2_ofb 555 1_1_0d EXIST::FUNCTION:RC2 +RSA_meth_get_init 556 1_1_0d EXIST::FUNCTION:RSA +EVP_CIPHER_CTX_set_app_data 557 1_1_0d EXIST::FUNCTION: +EC_METHOD_get_field_type 558 1_1_0d EXIST::FUNCTION:EC +IDEA_options 559 1_1_0d EXIST::FUNCTION:IDEA +BIO_new_dgram 560 1_1_0d EXIST::FUNCTION:DGRAM +DSA_OpenSSL 561 1_1_0d EXIST::FUNCTION:DSA +i2d_PKCS7_fp 562 1_1_0d EXIST::FUNCTION:STDIO +BN_add 563 1_1_0d EXIST::FUNCTION: +X509V3_EXT_print_fp 564 1_1_0d EXIST::FUNCTION:STDIO +X509_ALGOR_new 565 1_1_0d EXIST::FUNCTION: +NCONF_free_data 566 1_1_0d EXIST::FUNCTION: +CRYPTO_gcm128_encrypt 567 1_1_0d EXIST::FUNCTION: +DES_ncbc_encrypt 568 1_1_0d EXIST::FUNCTION:DES +ASN1_get_object 569 1_1_0d EXIST::FUNCTION: +ASYNC_pause_job 570 1_1_0d EXIST::FUNCTION: +RSA_meth_set_mod_exp 571 1_1_0d EXIST::FUNCTION:RSA +ASN1_item_ex_i2d 572 1_1_0d EXIST::FUNCTION: +NETSCAPE_SPKI_set_pubkey 573 1_1_0d EXIST::FUNCTION: +EC_KEY_set_public_key_affine_coordinates 574 1_1_0d EXIST::FUNCTION:EC +CTLOG_STORE_load_default_file 575 1_1_0d EXIST::FUNCTION:CT +BN_mod_add_quick 576 1_1_0d EXIST::FUNCTION: +X509V3_parse_list 577 1_1_0d EXIST::FUNCTION: +ASN1_BIT_STRING_set_asc 578 1_1_0d EXIST::FUNCTION: +ASN1_VISIBLESTRING_new 579 1_1_0d EXIST::FUNCTION: +ASN1_UTCTIME_check 580 1_1_0d EXIST::FUNCTION: +CRYPTO_cbc128_encrypt 581 1_1_0d EXIST::FUNCTION: +i2d_ASN1_bio_stream 582 1_1_0d EXIST::FUNCTION: +ENGINE_set_DSA 583 1_1_0d EXIST::FUNCTION:ENGINE +CMS_RecipientInfo_kari_decrypt 584 1_1_0d EXIST::FUNCTION:CMS +OCSP_BASICRESP_delete_ext 585 1_1_0d EXIST::FUNCTION:OCSP +PEM_write_X509_REQ_NEW 586 1_1_0d EXIST::FUNCTION:STDIO +SCT_validate 587 1_1_0d EXIST::FUNCTION:CT +EVP_CIPHER_meth_set_flags 588 1_1_0d EXIST::FUNCTION: +d2i_X509_VAL 589 1_1_0d EXIST::FUNCTION: +SRP_VBASE_new 590 1_1_0d EXIST::FUNCTION:SRP +PKCS7_RECIP_INFO_set 591 1_1_0d EXIST::FUNCTION: +SKF_GetErrorString 592 1_1_0d EXIST::FUNCTION:SKF +BN_GF2m_mod_mul_arr 593 1_1_0d EXIST::FUNCTION:EC2M +BN_add_word 594 1_1_0d EXIST::FUNCTION: +X509_add_ext 595 1_1_0d EXIST::FUNCTION: +RSA_OAEP_PARAMS_new 596 1_1_0d EXIST::FUNCTION:RSA +d2i_SM2CiphertextValue_bio 597 1_1_0d EXIST::FUNCTION:SM2 +SKF_ECCDecrypt 598 1_1_0d EXIST::FUNCTION:SKF +d2i_DSAparams 599 1_1_0d EXIST::FUNCTION:DSA +SKF_CancelWaitForDevEvent 600 1_1_0d EXIST::FUNCTION:SKF +BIO_get_new_index 601 1_1_0d EXIST::FUNCTION: +DSA_new 602 1_1_0d EXIST::FUNCTION:DSA +AES_ofb128_encrypt 603 1_1_0d EXIST::FUNCTION: +d2i_SM9MasterSecret_bio 604 1_1_0d EXIST::FUNCTION:SM9 +X509_get0_subject_key_id 605 1_1_0d EXIST::FUNCTION: +TS_REQ_new 606 1_1_0d EXIST::FUNCTION:TS +EC_POINTs_mul 607 1_1_0d EXIST::FUNCTION:EC +X509_REVOKED_it 608 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_REVOKED_it 608 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +BN_lshift1 609 1_1_0d EXIST::FUNCTION: +GENERAL_NAMES_free 610 1_1_0d EXIST::FUNCTION: +i2d_X509_AUX 611 1_1_0d EXIST::FUNCTION: +EVP_PKEY_missing_parameters 612 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_ext 613 1_1_0d EXIST::FUNCTION:TS +COMP_CTX_get_method 614 1_1_0d EXIST::FUNCTION:COMP +GENERAL_NAME_set0_othername 615 1_1_0d EXIST::FUNCTION: +DSA_SIG_set0 616 1_1_0d EXIST::FUNCTION:DSA +ECIES_encrypt 617 1_1_0d EXIST::FUNCTION:ECIES +UI_method_get_closer 618 1_1_0d EXIST::FUNCTION:UI +UI_free 619 1_1_0d EXIST::FUNCTION:UI +X509_STORE_get_check_crl 620 1_1_0d EXIST::FUNCTION: +ISSUING_DIST_POINT_free 621 1_1_0d EXIST::FUNCTION: +CMS_decrypt_set1_password 622 1_1_0d EXIST::FUNCTION:CMS +X509_STORE_get_ex_data 623 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_get_auth_level 624 1_1_0d EXIST::FUNCTION: +CMS_add0_recipient_key 625 1_1_0d EXIST::FUNCTION:CMS +ENGINE_get_cipher_engine 626 1_1_0d EXIST::FUNCTION:ENGINE +OPENSSL_sk_new 627 1_1_0d EXIST::FUNCTION: +X509V3_add_value_int 628 1_1_0d EXIST::FUNCTION: +TS_ACCURACY_set_millis 629 1_1_0d EXIST::FUNCTION:TS +ASN1_TBOOLEAN_it 630 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_TBOOLEAN_it 630 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ASN1_TIME_check 631 1_1_0d EXIST::FUNCTION: +ECParameters_print 632 1_1_0d EXIST::FUNCTION:EC +X509_EXTENSION_free 633 1_1_0d EXIST::FUNCTION: +NCONF_new 634 1_1_0d EXIST::FUNCTION: +PROXY_CERT_INFO_EXTENSION_new 635 1_1_0d EXIST::FUNCTION: +CMS_signed_get_attr_by_NID 636 1_1_0d EXIST::FUNCTION:CMS +DSA_meth_get_init 637 1_1_0d EXIST::FUNCTION:DSA +CRYPTO_set_mem_functions 638 1_1_0d EXIST::FUNCTION: +SDF_CreateFile 639 1_1_0d EXIST::FUNCTION: +BN_CTX_get 640 1_1_0d EXIST::FUNCTION: +i2v_ASN1_BIT_STRING 641 1_1_0d EXIST::FUNCTION: +RSA_get_RSArefPrivateKey 642 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF +i2d_PKCS7_SIGNED 643 1_1_0d EXIST::FUNCTION: +CMAC_Final 644 1_1_0d EXIST::FUNCTION:CMAC +TS_REQ_set_msg_imprint 645 1_1_0d EXIST::FUNCTION:TS +EVP_rc2_40_cbc 646 1_1_0d EXIST::FUNCTION:RC2 +ASN1_OCTET_STRING_it 647 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_OCTET_STRING_it 647 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +DSA_meth_set_finish 648 1_1_0d EXIST::FUNCTION:DSA +SM9_signature_size 649 1_1_0d EXIST::FUNCTION:SM9 +TS_TST_INFO_get_ext_count 650 1_1_0d EXIST::FUNCTION:TS +DES_ede3_cfb64_encrypt 651 1_1_0d EXIST::FUNCTION:DES +DSA_set0_pqg 652 1_1_0d EXIST::FUNCTION:DSA +X509_NAME_add_entry 653 1_1_0d EXIST::FUNCTION: +X509_keyid_get0 654 1_1_0d EXIST::FUNCTION: +X509v3_addr_inherits 655 1_1_0d EXIST::FUNCTION:RFC3779 +ASN1_TYPE_unpack_sequence 656 1_1_0d EXIST::FUNCTION: +EC_KEY_METHOD_new 657 1_1_0d EXIST::FUNCTION:EC +DSO_get_filename 658 1_1_0d EXIST::FUNCTION: +PEM_write_bio_EC_PUBKEY 659 1_1_0d EXIST::FUNCTION:EC +d2i_ASN1_SEQUENCE_ANY 660 1_1_0d EXIST::FUNCTION: +DSO_load 661 1_1_0d EXIST::FUNCTION: +MD5_Update 662 1_1_0d EXIST::FUNCTION:MD5 +EVP_MD_meth_get_input_blocksize 663 1_1_0d EXIST::FUNCTION: +X509_check_issued 664 1_1_0d EXIST::FUNCTION: +HMAC_Final 665 1_1_0d EXIST::FUNCTION: +X509_LOOKUP_hash_dir 666 1_1_0d EXIST::FUNCTION: +X509_NAME_ENTRY_get_object 667 1_1_0d EXIST::FUNCTION: +BIO_meth_get_puts 668 1_1_0d EXIST::FUNCTION: +i2d_CMS_bio 669 1_1_0d EXIST::FUNCTION:CMS +EVP_PKEY_meth_set_copy 670 1_1_0d EXIST::FUNCTION: +UI_get_default_method 671 1_1_0d EXIST::FUNCTION:UI +ASN1_UTCTIME_print 672 1_1_0d EXIST::FUNCTION: +DISPLAYTEXT_new 673 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_error 674 1_1_0d EXIST::FUNCTION: +SHA384_Init 675 1_1_0d EXIST:!VMSVAX:FUNCTION: +ECDSA_do_verify 676 1_1_0d EXIST::FUNCTION:EC +i2d_PKCS7_ENVELOPE 677 1_1_0d EXIST::FUNCTION: +EVP_get_cipherbysgd 678 1_1_0d EXIST::FUNCTION:GMAPI +EC_KEY_priv2buf 679 1_1_0d EXIST::FUNCTION:EC +d2i_ECIESParameters 680 1_1_0d EXIST::FUNCTION:ECIES +BIO_ADDR_rawport 681 1_1_0d EXIST::FUNCTION:SOCK +SCT_new 682 1_1_0d EXIST::FUNCTION:CT +X509_STORE_get_verify_cb 683 1_1_0d EXIST::FUNCTION: +X509_REQ_add1_attr_by_NID 684 1_1_0d EXIST::FUNCTION: +OCSP_id_cmp 685 1_1_0d EXIST::FUNCTION:OCSP +CMS_sign 686 1_1_0d EXIST::FUNCTION:CMS +EC_KEY_get0_public_key 687 1_1_0d EXIST::FUNCTION:EC +NETSCAPE_SPKAC_it 688 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +NETSCAPE_SPKAC_it 688 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_STORE_set_lookup_certs 689 1_1_0d EXIST::FUNCTION: +ASN1_PCTX_get_nm_flags 690 1_1_0d EXIST::FUNCTION: +DES_ofb64_encrypt 691 1_1_0d EXIST::FUNCTION:DES +EC_KEY_dup 692 1_1_0d EXIST::FUNCTION:EC +d2i_TS_REQ_bio 693 1_1_0d EXIST::FUNCTION:TS +i2d_DIST_POINT_NAME 694 1_1_0d EXIST::FUNCTION: +EVP_DigestVerifyInit 695 1_1_0d EXIST::FUNCTION: +RSA_get_default_method 696 1_1_0d EXIST::FUNCTION:RSA +BIO_socket_nbio 697 1_1_0d EXIST::FUNCTION:SOCK +OBJ_create 698 1_1_0d EXIST::FUNCTION: +X509_chain_up_ref 699 1_1_0d EXIST::FUNCTION: +i2d_ASN1_SET_ANY 700 1_1_0d EXIST::FUNCTION: +BIO_set_cipher 701 1_1_0d EXIST::FUNCTION: +EVP_get_cipherbyname 702 1_1_0d EXIST::FUNCTION: +AUTHORITY_KEYID_free 703 1_1_0d EXIST::FUNCTION: +BIO_new_NDEF 704 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_new_id 705 1_1_0d EXIST::FUNCTION: +PKCS7_ENCRYPT_new 706 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_get_octetstring 707 1_1_0d EXIST::FUNCTION: +PKCS7_set_attributes 708 1_1_0d EXIST::FUNCTION: +ASN1_ENUMERATED_get 709 1_1_0d EXIST::FUNCTION: +SKF_ExtRSAPriKeyOperation 710 1_1_0d EXIST::FUNCTION:SKF +d2i_ASN1_SET_ANY 711 1_1_0d EXIST::FUNCTION: +EVP_aes_128_gcm 712 1_1_0d EXIST::FUNCTION: +EC_GROUP_new_curve_GF2m 713 1_1_0d EXIST::FUNCTION:EC,EC2M +EVP_zuc 714 1_1_0d EXIST::FUNCTION:ZUC +BIO_free_all 715 1_1_0d EXIST::FUNCTION: +CMS_add1_recipient_cert 716 1_1_0d EXIST::FUNCTION:CMS +EVP_PKEY_CTX_get0_pkey 717 1_1_0d EXIST::FUNCTION: +RSA_padding_add_PKCS1_type_1 718 1_1_0d EXIST::FUNCTION:RSA +TS_STATUS_INFO_free 719 1_1_0d EXIST::FUNCTION:TS +SHA384_Final 720 1_1_0d EXIST:!VMSVAX:FUNCTION: +PEM_read_X509_CRL 721 1_1_0d EXIST::FUNCTION:STDIO +BN_GF2m_arr2poly 722 1_1_0d EXIST::FUNCTION:EC2M +X509_VERIFY_PARAM_set1_ip_asc 723 1_1_0d EXIST::FUNCTION: +MD2_options 724 1_1_0d EXIST::FUNCTION:MD2 +RSA_X931_hash_id 725 1_1_0d EXIST::FUNCTION:RSA +ASN1_object_size 726 1_1_0d EXIST::FUNCTION: +SMIME_write_PKCS7 727 1_1_0d EXIST::FUNCTION: +d2i_RSA_PSS_PARAMS 728 1_1_0d EXIST::FUNCTION:RSA +ERR_load_ENGINE_strings 729 1_1_0d EXIST::FUNCTION:ENGINE +BN_get0_nist_prime_521 730 1_1_0d EXIST::FUNCTION: +MD5_Init 731 1_1_0d EXIST::FUNCTION:MD5 +i2d_PKCS7_DIGEST 732 1_1_0d EXIST::FUNCTION: +BIO_vprintf 733 1_1_0d EXIST::FUNCTION: +UI_method_set_opener 734 1_1_0d EXIST::FUNCTION:UI +NCONF_get_number_e 735 1_1_0d EXIST::FUNCTION: +SCT_print 736 1_1_0d EXIST::FUNCTION:CT +ERR_load_CONF_strings 737 1_1_0d EXIST::FUNCTION: +PAILLIER_up_ref 738 1_1_0d EXIST::FUNCTION:PAILLIER +PAILLIER_encrypt 739 1_1_0d EXIST::FUNCTION:PAILLIER +X509_STORE_CTX_set0_untrusted 740 1_1_0d EXIST::FUNCTION: +OCSP_REQUEST_get_ext_by_critical 741 1_1_0d EXIST::FUNCTION:OCSP +EVP_camellia_192_ofb 742 1_1_0d EXIST::FUNCTION:CAMELLIA +CT_POLICY_EVAL_CTX_set_time 743 1_1_0d EXIST::FUNCTION:CT +SKF_MacInit 744 1_1_0d EXIST::FUNCTION:SKF +OCSP_REQ_CTX_i2d 745 1_1_0d EXIST::FUNCTION:OCSP +CONF_imodule_get_name 746 1_1_0d EXIST::FUNCTION: +d2i_SM9PrivateKey_bio 747 1_1_0d EXIST::FUNCTION:SM9 +BIO_sock_error 748 1_1_0d EXIST::FUNCTION:SOCK +X509v3_asid_canonize 749 1_1_0d EXIST::FUNCTION:RFC3779 +SRP_get_default_gN 750 1_1_0d EXIST::FUNCTION:SRP +i2d_PrivateKey_bio 751 1_1_0d EXIST::FUNCTION: +ASN1_FBOOLEAN_it 752 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_FBOOLEAN_it 752 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_DSAPublicKey 753 1_1_0d EXIST::FUNCTION:DSA +SKF_ExtECCEncrypt 754 1_1_0d EXIST::FUNCTION:SKF +ASN1_verify 755 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_set_item 756 1_1_0d EXIST::FUNCTION: +i2o_SCT 757 1_1_0d EXIST::FUNCTION:CT +SDF_GenerateKeyWithKEK 758 1_1_0d EXIST::FUNCTION: +X509_REQ_get_attr_by_OBJ 759 1_1_0d EXIST::FUNCTION: +ASN1_UTF8STRING_new 760 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_accuracy 761 1_1_0d EXIST::FUNCTION:TS +DES_decrypt3 762 1_1_0d EXIST::FUNCTION:DES +SKF_DeleteApplication 763 1_1_0d EXIST::FUNCTION:SKF +ENGINE_get_finish_function 764 1_1_0d EXIST::FUNCTION:ENGINE +d2i_PKCS7_RECIP_INFO 765 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_cert_crl 766 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_sign 767 1_1_0d EXIST::FUNCTION: +ASN1_item_new 768 1_1_0d EXIST::FUNCTION: +i2d_SM9Ciphertext 769 1_1_0d EXIST::FUNCTION:SM9 +X509_REQ_get_subject_name 770 1_1_0d EXIST::FUNCTION: +SHA384 771 1_1_0d EXIST:!VMSVAX:FUNCTION: +GENERAL_SUBTREE_it 772 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +GENERAL_SUBTREE_it 772 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_STORE_CTX_get1_certs 773 1_1_0d EXIST::FUNCTION: +SHA256_Transform 774 1_1_0d EXIST::FUNCTION: +ECDSA_SIG_get_ECCSIGNATUREBLOB 775 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +PROXY_POLICY_new 776 1_1_0d EXIST::FUNCTION: +i2d_RSA_PUBKEY_fp 777 1_1_0d EXIST::FUNCTION:RSA,STDIO +SKF_GetContainerType 778 1_1_0d EXIST::FUNCTION:SKF +CRYPTO_cfb128_encrypt 779 1_1_0d EXIST::FUNCTION: +TS_MSG_IMPRINT_get_algo 780 1_1_0d EXIST::FUNCTION:TS +X509_CINF_it 781 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_CINF_it 781 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +Camellia_ecb_encrypt 782 1_1_0d EXIST::FUNCTION:CAMELLIA +EC_GROUP_new_curve_GFp 783 1_1_0d EXIST::FUNCTION:EC +d2i_ACCESS_DESCRIPTION 784 1_1_0d EXIST::FUNCTION: +ASN1_UTCTIME_free 785 1_1_0d EXIST::FUNCTION: +i2d_EXTENDED_KEY_USAGE 786 1_1_0d EXIST::FUNCTION: +SM2_encrypt 787 1_1_0d EXIST::FUNCTION:SM2 +d2i_ASN1_NULL 788 1_1_0d EXIST::FUNCTION: +TS_CONF_get_tsa_section 789 1_1_0d EXIST::FUNCTION:TS +ERR_load_COMP_strings 790 1_1_0d EXIST::FUNCTION:COMP +IPAddressFamily_free 791 1_1_0d EXIST::FUNCTION:RFC3779 +ENGINE_setup_bsd_cryptodev 792 1_1_0d EXIST:__FreeBSD__:FUNCTION:DEPRECATEDIN_1_1_0,ENGINE +EVP_MD_CTX_update_fn 793 1_1_0d EXIST::FUNCTION: +SHA1_Transform 794 1_1_0d EXIST::FUNCTION: +ENGINE_get_ssl_client_cert_function 795 1_1_0d EXIST::FUNCTION:ENGINE +ERR_add_error_vdata 796 1_1_0d EXIST::FUNCTION: +BN_value_one 797 1_1_0d EXIST::FUNCTION: +EVP_get_default_digest 798 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_find_str 799 1_1_0d EXIST::FUNCTION: +o2i_SCT 800 1_1_0d EXIST::FUNCTION:CT +CMS_get0_RecipientInfos 801 1_1_0d EXIST::FUNCTION:CMS +d2i_PKCS8_PRIV_KEY_INFO_fp 802 1_1_0d EXIST::FUNCTION:STDIO +EVP_cast5_cbc 803 1_1_0d EXIST::FUNCTION:CAST +RSA_meth_free 804 1_1_0d EXIST::FUNCTION:RSA +i2d_re_X509_REQ_tbs 805 1_1_0d EXIST::FUNCTION: +i2s_ASN1_ENUMERATED 806 1_1_0d EXIST::FUNCTION: +EVP_CipherFinal_ex 807 1_1_0d EXIST::FUNCTION: +OCSP_RESPBYTES_it 808 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_RESPBYTES_it 808 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +ASN1_SCTX_get_app_data 809 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_it 810 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS12_SAFEBAG_it 810 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_CIPHER_CTX_reset 811 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_new 812 1_1_0d EXIST::FUNCTION: +SKF_MacUpdate 813 1_1_0d EXIST::FUNCTION:SKF +X509_ATTRIBUTE_dup 814 1_1_0d EXIST::FUNCTION: +X509V3_EXT_get 815 1_1_0d EXIST::FUNCTION: +PKCS7_SIGNER_INFO_it 816 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_SIGNER_INFO_it 816 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +OBJ_bsearch_ex_ 817 1_1_0d EXIST::FUNCTION: +TS_CONF_set_ordering 818 1_1_0d EXIST::FUNCTION:TS +SEED_ecb_encrypt 819 1_1_0d EXIST::FUNCTION:SEED +TS_CONF_set_accuracy 820 1_1_0d EXIST::FUNCTION:TS +i2d_AUTHORITY_KEYID 821 1_1_0d EXIST::FUNCTION: +PEM_read_bio_PaillierPublicKey 822 1_1_0d EXIST::FUNCTION:PAILLIER +CRYPTO_gcm128_tag 823 1_1_0d EXIST::FUNCTION: +RSA_padding_check_SSLv23 824 1_1_0d EXIST::FUNCTION:RSA +RC4 825 1_1_0d EXIST::FUNCTION:RC4 +CRYPTO_128_wrap_pad 826 1_1_0d EXIST::FUNCTION: +sms4_encrypt 827 1_1_0d EXIST::FUNCTION:SMS4 +ASN1_OCTET_STRING_is_zero 828 1_1_0d EXIST::FUNCTION:SM2 +EVP_get_digestnames 829 1_1_0d EXIST::FUNCTION: +TS_REQ_get_policy_id 830 1_1_0d EXIST::FUNCTION:TS +PKCS8_pkey_get0 831 1_1_0d EXIST::FUNCTION: +BN_num_bits_word 832 1_1_0d EXIST::FUNCTION: +BIO_ADDR_new 833 1_1_0d EXIST::FUNCTION:SOCK +X509_STORE_CTX_get_get_crl 834 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_ktri_cert_cmp 835 1_1_0d EXIST::FUNCTION:CMS +BIO_set_tcp_ndelay 836 1_1_0d EXIST::FUNCTION:SOCK +ERR_load_EC_strings 837 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_get0_SM9 838 1_1_0d EXIST::FUNCTION:SM9 +SM9_SignFinal 839 1_1_0d EXIST::FUNCTION:SM9 +SM9PublicKey_it 840 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 +SM9PublicKey_it 840 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 +EVP_PKEY_get0 841 1_1_0d EXIST::FUNCTION: +EVP_PKCS82PKEY 842 1_1_0d EXIST::FUNCTION: +CMS_encrypt 843 1_1_0d EXIST::FUNCTION:CMS +EVP_des_ede_cfb64 844 1_1_0d EXIST::FUNCTION:DES +ERR_load_PEM_strings 845 1_1_0d EXIST::FUNCTION: +BIO_dump 846 1_1_0d EXIST::FUNCTION: +SKF_CloseContainer 847 1_1_0d EXIST::FUNCTION:SKF +BN_set_params 848 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 +ASN1_INTEGER_get_uint64 849 1_1_0d EXIST::FUNCTION: +ENGINE_get_flags 850 1_1_0d EXIST::FUNCTION:ENGINE +ASN1_tag2bit 851 1_1_0d EXIST::FUNCTION: +SM9Ciphertext_it 852 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 +SM9Ciphertext_it 852 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 +OPENSSL_asc2uni 853 1_1_0d EXIST::FUNCTION: +PKCS12_unpack_p7encdata 854 1_1_0d EXIST::FUNCTION: +ASN1_TIME_to_generalizedtime 855 1_1_0d EXIST::FUNCTION: +DIST_POINT_NAME_new 856 1_1_0d EXIST::FUNCTION: +ASYNC_WAIT_CTX_free 857 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get0_hmac 858 1_1_0d EXIST::FUNCTION: +UI_get0_result 859 1_1_0d EXIST::FUNCTION:UI +PKCS7_ATTR_VERIFY_it 860 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_ATTR_VERIFY_it 860 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +RSA_up_ref 861 1_1_0d EXIST::FUNCTION:RSA +CMS_SignerInfo_cert_cmp 862 1_1_0d EXIST::FUNCTION:CMS +EC_POINT_invert 863 1_1_0d EXIST::FUNCTION:EC +DES_ede3_ofb64_encrypt 864 1_1_0d EXIST::FUNCTION:DES +RSA_padding_check_PKCS1_type_2 865 1_1_0d EXIST::FUNCTION:RSA +BIO_nwrite0 866 1_1_0d EXIST::FUNCTION: +RAND_OpenSSL 867 1_1_0d EXIST::FUNCTION: +NOTICEREF_free 868 1_1_0d EXIST::FUNCTION: +X509_VAL_it 869 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_VAL_it 869 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +SDF_ReadFile 870 1_1_0d EXIST::FUNCTION: +PKCS7_sign 871 1_1_0d EXIST::FUNCTION: +TS_STATUS_INFO_dup 872 1_1_0d EXIST::FUNCTION:TS +EC_GFp_mont_method 873 1_1_0d EXIST::FUNCTION:EC +SKF_CloseApplication 874 1_1_0d EXIST::FUNCTION:SKF +EVP_CIPHER_block_size 875 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_sqrt_arr 876 1_1_0d EXIST::FUNCTION:EC2M +EDIPARTYNAME_free 877 1_1_0d EXIST::FUNCTION: +EVP_DigestSignInit 878 1_1_0d EXIST::FUNCTION: +CRYPTO_mem_ctrl 879 1_1_0d EXIST::FUNCTION: +EVP_sms4_ofb 880 1_1_0d EXIST::FUNCTION:SMS4 +CMS_SignedData_init 881 1_1_0d EXIST::FUNCTION:CMS +NETSCAPE_SPKI_it 882 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +NETSCAPE_SPKI_it 882 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ASN1_item_d2i 883 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_verify 884 1_1_0d EXIST::FUNCTION: +RSA_size 885 1_1_0d EXIST::FUNCTION:RSA +PEM_read_bio_RSA_PUBKEY 886 1_1_0d EXIST::FUNCTION:RSA +CRYPTO_cts128_encrypt_block 887 1_1_0d EXIST::FUNCTION: +OCSP_REQUEST_it 888 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_REQUEST_it 888 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +PKCS8_set0_pbe 889 1_1_0d EXIST::FUNCTION: +X509_find_by_subject 890 1_1_0d EXIST::FUNCTION: +BIO_get_callback 891 1_1_0d EXIST::FUNCTION: +RSA_set_flags 892 1_1_0d EXIST::FUNCTION:RSA +EC_KEY_set_method 893 1_1_0d EXIST::FUNCTION:EC +X509_issuer_and_serial_hash 894 1_1_0d EXIST::FUNCTION: +EVP_PKEY_derive_set_peer 895 1_1_0d EXIST::FUNCTION: +BIO_gets 896 1_1_0d EXIST::FUNCTION: +OBJ_txt2obj 897 1_1_0d EXIST::FUNCTION: +DES_ecb_encrypt 898 1_1_0d EXIST::FUNCTION:DES +DSA_test_flags 899 1_1_0d EXIST::FUNCTION:DSA +X509_chain_check_suiteb 900 1_1_0d EXIST::FUNCTION: +CRYPTO_nistcts128_decrypt_block 901 1_1_0d EXIST::FUNCTION: +PKCS12_PBE_add 902 1_1_0d EXIST::FUNCTION: +CTLOG_free 903 1_1_0d EXIST::FUNCTION:CT +BN_GF2m_mod_div 904 1_1_0d EXIST::FUNCTION:EC2M +BN_get_rfc3526_prime_6144 905 1_1_0d EXIST::FUNCTION: +EC_GFp_nistp521_method 906 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128 +PKCS12_SAFEBAG_get1_cert 907 1_1_0d EXIST::FUNCTION: +ERR_load_KDF_strings 908 1_1_0d EXIST::FUNCTION: +EVP_des_ede3_wrap 909 1_1_0d EXIST::FUNCTION:DES +_shadow_DES_check_key 910 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES +_shadow_DES_check_key 910 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES +ECIES_CIPHERTEXT_VALUE_ciphertext_length 911 1_1_0d EXIST::FUNCTION:ECIES +RAND_query_egd_bytes 912 1_1_0d EXIST::FUNCTION:EGD +SM2CiphertextValue_new_from_ECCCIPHERBLOB 913 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF,SM2 +i2d_DSA_PUBKEY_bio 914 1_1_0d EXIST::FUNCTION:DSA +BIO_meth_set_write 915 1_1_0d EXIST::FUNCTION: +UI_dup_input_boolean 916 1_1_0d EXIST::FUNCTION:UI +EVP_aes_128_xts 917 1_1_0d EXIST::FUNCTION: +d2i_SM9Ciphertext 918 1_1_0d EXIST::FUNCTION:SM9 +CRYPTO_free_ex_data 919 1_1_0d EXIST::FUNCTION: +BN_BLINDING_new 920 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_lookup 921 1_1_0d EXIST::FUNCTION: +ENGINE_register_all_pkey_meths 922 1_1_0d EXIST::FUNCTION:ENGINE +EC_KEY_get_ECCPRIVATEKEYBLOB 923 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +EC_GROUP_get_basis_type 924 1_1_0d EXIST::FUNCTION:EC +i2d_PKCS8PrivateKey_fp 925 1_1_0d EXIST::FUNCTION:STDIO +X509_ALGOR_get0 926 1_1_0d EXIST::FUNCTION: +ENGINE_set_default_ciphers 927 1_1_0d EXIST::FUNCTION:ENGINE +TS_REQ_set_nonce 928 1_1_0d EXIST::FUNCTION:TS +X509_get0_pubkey_bitstr 929 1_1_0d EXIST::FUNCTION: +i2d_PKCS7_bio_stream 930 1_1_0d EXIST::FUNCTION: +SDF_PrintRSAPublicKey 931 1_1_0d EXIST::FUNCTION:SDF +ASN1_check_infinite_end 932 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_set_param 933 1_1_0d EXIST::FUNCTION: +X509_EXTENSION_it 934 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_EXTENSION_it 934 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_NAME_get_index_by_OBJ 935 1_1_0d EXIST::FUNCTION: +EVP_aes_256_cfb128 936 1_1_0d EXIST::FUNCTION: +EVP_blake2s256 937 1_1_0d EXIST::FUNCTION:BLAKE2 +EVP_PKEY_paramgen 938 1_1_0d EXIST::FUNCTION: +CRYPTO_memcmp 939 1_1_0d EXIST::FUNCTION: +SDF_OpenSession 940 1_1_0d EXIST::FUNCTION: +i2d_ECIES_CIPHERTEXT_VALUE 941 1_1_0d EXIST::FUNCTION:ECIES +EC_KEY_get_default_method 942 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_meth_get_verify_recover 943 1_1_0d EXIST::FUNCTION: +RC2_cbc_encrypt 944 1_1_0d EXIST::FUNCTION:RC2 +AES_cfb128_encrypt 945 1_1_0d EXIST::FUNCTION: +PEM_read_bio_ECPrivateKey 946 1_1_0d EXIST::FUNCTION:EC +SDF_DestroyKey 947 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_dup 948 1_1_0d EXIST::FUNCTION: +X509_CERT_AUX_it 949 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_CERT_AUX_it 949 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_TS_RESP_fp 950 1_1_0d EXIST::FUNCTION:STDIO,TS +i2d_PKCS7_SIGNER_INFO 951 1_1_0d EXIST::FUNCTION: +ENGINE_get_RSA 952 1_1_0d EXIST::FUNCTION:ENGINE +ASYNC_WAIT_CTX_get_changed_fds 953 1_1_0d EXIST::FUNCTION: +AES_cbc_encrypt 954 1_1_0d EXIST::FUNCTION: +d2i_GENERAL_NAMES 955 1_1_0d EXIST::FUNCTION: +d2i_RSA_PUBKEY_fp 956 1_1_0d EXIST::FUNCTION:RSA,STDIO +ASN1_GENERALSTRING_it 957 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_GENERALSTRING_it 957 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_EC_PUBKEY_fp 958 1_1_0d EXIST::FUNCTION:EC,STDIO +SRP_Verify_B_mod_N 959 1_1_0d EXIST::FUNCTION:SRP +RSA_test_flags 960 1_1_0d EXIST::FUNCTION:RSA +SKF_ReadFile 961 1_1_0d EXIST::FUNCTION:SKF +SM2_KAP_compute_key 962 1_1_0d EXIST::FUNCTION:SM2 +OCSP_SINGLERESP_new 963 1_1_0d EXIST::FUNCTION:OCSP +BIO_method_name 964 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_free 965 1_1_0d EXIST::FUNCTION: +d2i_X509_NAME_ENTRY 966 1_1_0d EXIST::FUNCTION: +SXNET_get_id_INTEGER 967 1_1_0d EXIST::FUNCTION: +PEM_write_bio_SM9PublicKey 968 1_1_0d EXIST::FUNCTION:SM9 +ASN1_BIT_STRING_get_bit 969 1_1_0d EXIST::FUNCTION: +X509_CRL_set_meth_data 970 1_1_0d EXIST::FUNCTION: +CMS_add1_crl 971 1_1_0d EXIST::FUNCTION:CMS +ASN1_SCTX_free 972 1_1_0d EXIST::FUNCTION: +HMAC 973 1_1_0d EXIST::FUNCTION: +X509_TRUST_get0_name 974 1_1_0d EXIST::FUNCTION: +TXT_DB_read 975 1_1_0d EXIST::FUNCTION: +BIGNUM_it 976 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +BIGNUM_it 976 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EC_POINT_set_to_infinity 977 1_1_0d EXIST::FUNCTION:EC +RSA_meth_new 978 1_1_0d EXIST::FUNCTION:RSA +BIO_ADDR_free 979 1_1_0d EXIST::FUNCTION:SOCK +PKCS12_SAFEBAG_get0_pkcs8 980 1_1_0d EXIST::FUNCTION: +CMS_ContentInfo_print_ctx 981 1_1_0d EXIST::FUNCTION:CMS +BF_options 982 1_1_0d EXIST::FUNCTION:BF +BIO_vsnprintf 983 1_1_0d EXIST::FUNCTION: +BIO_connect 984 1_1_0d EXIST::FUNCTION:SOCK +BIO_get_port 985 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK +BIO_push 986 1_1_0d EXIST::FUNCTION: +BN_mod_lshift1_quick 987 1_1_0d EXIST::FUNCTION: +OCSP_REQUEST_new 988 1_1_0d EXIST::FUNCTION:OCSP +PKCS5_pbe_set 989 1_1_0d EXIST::FUNCTION: +ASN1_IA5STRING_free 990 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_new 991 1_1_0d EXIST::FUNCTION:TS +EDIPARTYNAME_it 992 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +EDIPARTYNAME_it 992 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +OPENSSL_sk_find_ex 993 1_1_0d EXIST::FUNCTION: +BN_BLINDING_convert 994 1_1_0d EXIST::FUNCTION: +EVP_PKEY_add1_attr_by_OBJ 995 1_1_0d EXIST::FUNCTION: +ASN1_T61STRING_it 996 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_T61STRING_it 996 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +MD4_Init 997 1_1_0d EXIST::FUNCTION:MD4 +SM9Signature_new 998 1_1_0d EXIST::FUNCTION:SM9 +EVP_PKEY_keygen_init 999 1_1_0d EXIST::FUNCTION: +TS_CONF_set_ess_cert_id_chain 1000 1_1_0d EXIST::FUNCTION:TS +ENGINE_get_init_function 1001 1_1_0d EXIST::FUNCTION:ENGINE +TS_VERIFY_CTX_init 1002 1_1_0d EXIST::FUNCTION:TS +SCT_get_log_entry_type 1003 1_1_0d EXIST::FUNCTION:CT +SKF_DecryptInit 1004 1_1_0d EXIST::FUNCTION:SKF +ASN1_OCTET_STRING_set 1005 1_1_0d EXIST::FUNCTION: +X509_VAL_free 1006 1_1_0d EXIST::FUNCTION: +ASYNC_WAIT_CTX_set_wait_fd 1007 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_create0_p8inf 1008 1_1_0d EXIST::FUNCTION: +SM2CiphertextValue_get_ECCCIPHERBLOB 1009 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF,SM2 +EVP_CIPHER_CTX_ctrl 1010 1_1_0d EXIST::FUNCTION: +X509_CRL_get_issuer 1011 1_1_0d EXIST::FUNCTION: +EVP_PKEY_encrypt_init 1012 1_1_0d EXIST::FUNCTION: +sm3_hmac_final 1013 1_1_0d EXIST::FUNCTION:SM3 +PKCS7_get_issuer_and_serial 1014 1_1_0d EXIST::FUNCTION: +d2i_PKCS7_SIGNER_INFO 1015 1_1_0d EXIST::FUNCTION: +ENGINE_unregister_EC 1016 1_1_0d EXIST::FUNCTION:ENGINE +SM9_unwrap_key 1017 1_1_0d EXIST::FUNCTION:SM9 +TS_RESP_dup 1018 1_1_0d EXIST::FUNCTION:TS +SM2_compute_share_key 1019 1_1_0d EXIST::FUNCTION:SM2 +NCONF_load 1020 1_1_0d EXIST::FUNCTION: +EVP_seed_ecb 1021 1_1_0d EXIST::FUNCTION:SEED +DES_set_key_checked 1022 1_1_0d EXIST::FUNCTION:DES +EVP_aes_192_gcm 1023 1_1_0d EXIST::FUNCTION: +DH_meth_get_init 1024 1_1_0d EXIST::FUNCTION:DH +TS_REQ_get_version 1025 1_1_0d EXIST::FUNCTION:TS +SRP_Calc_client_key 1026 1_1_0d EXIST::FUNCTION:SRP +EVP_MD_meth_set_cleanup 1027 1_1_0d EXIST::FUNCTION: +SEED_decrypt 1028 1_1_0d EXIST::FUNCTION:SEED +ERR_error_string_n 1029 1_1_0d EXIST::FUNCTION: +PKCS7_encrypt 1030 1_1_0d EXIST::FUNCTION: +PEM_read_bio_RSAPublicKey 1031 1_1_0d EXIST::FUNCTION:RSA +CMS_unsigned_get0_data_by_OBJ 1032 1_1_0d EXIST::FUNCTION:CMS +i2d_OCSP_BASICRESP 1033 1_1_0d EXIST::FUNCTION:OCSP +SDF_UnloadLibrary 1034 1_1_0d EXIST::FUNCTION:SDF +OCSP_REQ_CTX_new 1035 1_1_0d EXIST::FUNCTION:OCSP +BN_GF2m_mod_sqr 1036 1_1_0d EXIST::FUNCTION:EC2M +PEM_write_DHxparams 1037 1_1_0d EXIST::FUNCTION:DH,STDIO +X509V3_get_section 1038 1_1_0d EXIST::FUNCTION: +d2i_TS_TST_INFO_bio 1039 1_1_0d EXIST::FUNCTION:TS +RSA_generate_key 1040 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8,RSA +CRYPTO_malloc 1041 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set_default 1042 1_1_0d EXIST::FUNCTION: +BIO_vfree 1043 1_1_0d EXIST::FUNCTION: +X509_set_ex_data 1044 1_1_0d EXIST::FUNCTION: +X509_PURPOSE_get_by_sname 1045 1_1_0d EXIST::FUNCTION: +DSA_new_method 1046 1_1_0d EXIST::FUNCTION:DSA +ASN1_T61STRING_free 1047 1_1_0d EXIST::FUNCTION: +EVP_sms4_gcm 1048 1_1_0d EXIST::FUNCTION:SMS4 +OPENSSL_die 1049 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_get_ext 1050 1_1_0d EXIST::FUNCTION:OCSP +X509V3_add_standard_extensions 1051 1_1_0d EXIST::FUNCTION: +UI_get_input_flags 1052 1_1_0d EXIST::FUNCTION:UI +PBE2PARAM_new 1053 1_1_0d EXIST::FUNCTION: +EC_KEY_print 1054 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_meth_set_verify_recover 1055 1_1_0d EXIST::FUNCTION: +CONF_get_string 1056 1_1_0d EXIST::FUNCTION: +SM9_VerifyInit 1057 1_1_0d EXIST::FUNCTION:SM9 +RSA_padding_add_X931 1058 1_1_0d EXIST::FUNCTION:RSA +OBJ_bsearch_ 1059 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_read_lock 1060 1_1_0d EXIST::FUNCTION: +BIO_method_type 1061 1_1_0d EXIST::FUNCTION: +SKF_UnblockPIN 1062 1_1_0d EXIST::FUNCTION:SKF +X509_CRL_set_version 1063 1_1_0d EXIST::FUNCTION: +d2i_X509_CRL_INFO 1064 1_1_0d EXIST::FUNCTION: +ERR_load_RAND_strings 1065 1_1_0d EXIST::FUNCTION: +Camellia_cfb1_encrypt 1066 1_1_0d EXIST::FUNCTION:CAMELLIA +EVP_PKEY_cmp_parameters 1067 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_get_sgd 1068 1_1_0d EXIST::FUNCTION:GMAPI +PKCS7_verify 1069 1_1_0d EXIST::FUNCTION: +SM9_SignInit 1070 1_1_0d EXIST::FUNCTION:SM9 +BN_print 1071 1_1_0d EXIST::FUNCTION: +BN_mod_sqr 1072 1_1_0d EXIST::FUNCTION: +X509_CRL_check_suiteb 1073 1_1_0d EXIST::FUNCTION: +d2i_ASN1_UINTEGER 1074 1_1_0d EXIST::FUNCTION: +EVP_aes_192_ocb 1075 1_1_0d EXIST::FUNCTION:OCB +ENGINE_set_load_pubkey_function 1076 1_1_0d EXIST::FUNCTION:ENGINE +BIO_number_read 1077 1_1_0d EXIST::FUNCTION: +DISPLAYTEXT_free 1078 1_1_0d EXIST::FUNCTION: +EVP_camellia_128_ctr 1079 1_1_0d EXIST::FUNCTION:CAMELLIA +d2i_RSA_OAEP_PARAMS 1080 1_1_0d EXIST::FUNCTION:RSA +ENGINE_pkey_asn1_find_str 1081 1_1_0d EXIST::FUNCTION:ENGINE +d2i_PBE2PARAM 1082 1_1_0d EXIST::FUNCTION: +PKCS12_item_i2d_encrypt 1083 1_1_0d EXIST::FUNCTION: +SM9_KEY_free 1084 1_1_0d EXIST::FUNCTION:SM9 +BIO_closesocket 1085 1_1_0d EXIST::FUNCTION:SOCK +ENGINE_get_id 1086 1_1_0d EXIST::FUNCTION:ENGINE +BN_is_bit_set 1087 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_nonce 1088 1_1_0d EXIST::FUNCTION:TS +BIO_int_ctrl 1089 1_1_0d EXIST::FUNCTION: +SCT_get_validation_status 1090 1_1_0d EXIST::FUNCTION:CT +d2i_ASN1_IA5STRING 1091 1_1_0d EXIST::FUNCTION: +EVP_Digest 1092 1_1_0d EXIST::FUNCTION: +DH_meth_set1_name 1093 1_1_0d EXIST::FUNCTION:DH +EVP_EncodeInit 1094 1_1_0d EXIST::FUNCTION: +NAME_CONSTRAINTS_it 1095 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +NAME_CONSTRAINTS_it 1095 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_PUBKEY_fp 1096 1_1_0d EXIST::FUNCTION:STDIO +OBJ_length 1097 1_1_0d EXIST::FUNCTION: +BN_pseudo_rand_range 1098 1_1_0d EXIST::FUNCTION: +SM2_do_encrypt 1099 1_1_0d EXIST::FUNCTION:SM2 +EVP_PBE_scrypt 1100 1_1_0d EXIST::FUNCTION:SCRYPT +UI_new 1101 1_1_0d EXIST::FUNCTION:UI +DSA_meth_set_mod_exp 1102 1_1_0d EXIST::FUNCTION:DSA +BN_get0_nist_prime_224 1103 1_1_0d EXIST::FUNCTION: +i2d_ECPrivateKey_bio 1104 1_1_0d EXIST::FUNCTION:EC +ASN1_const_check_infinite_end 1105 1_1_0d EXIST::FUNCTION: +i2d_ASIdentifiers 1106 1_1_0d EXIST::FUNCTION:RFC3779 +EVP_md5 1107 1_1_0d EXIST::FUNCTION:MD5 +X509V3_EXT_cleanup 1108 1_1_0d EXIST::FUNCTION: +BN_generate_dsa_nonce 1109 1_1_0d EXIST::FUNCTION: +BIO_meth_get_destroy 1110 1_1_0d EXIST::FUNCTION: +X509V3_EXT_nconf_nid 1111 1_1_0d EXIST::FUNCTION: +sm3_init 1112 1_1_0d EXIST::FUNCTION:SM3 +ERR_load_CRYPTO_strings 1113 1_1_0d EXIST:!VMS:FUNCTION: +ERR_load_CRYPTOlib_strings 1113 1_1_0d EXIST:VMS:FUNCTION: +OPENSSL_gmtime 1114 1_1_0d EXIST::FUNCTION: +BN_mod_mul 1115 1_1_0d EXIST::FUNCTION: +TS_REQ_add_ext 1116 1_1_0d EXIST::FUNCTION:TS +ERR_load_CMS_strings 1117 1_1_0d EXIST::FUNCTION:CMS +RSA_sign_ASN1_OCTET_STRING 1118 1_1_0d EXIST::FUNCTION:RSA +PEM_ASN1_write_bio 1119 1_1_0d EXIST::FUNCTION: +EC_POINT_copy 1120 1_1_0d EXIST::FUNCTION:EC +EVP_CIPHER_key_length 1121 1_1_0d EXIST::FUNCTION: +BN_BLINDING_get_flags 1122 1_1_0d EXIST::FUNCTION: +BASIC_CONSTRAINTS_it 1123 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +BASIC_CONSTRAINTS_it 1123 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +CRYPTO_nistcts128_decrypt 1124 1_1_0d EXIST::FUNCTION: +d2i_CERTIFICATEPOLICIES 1125 1_1_0d EXIST::FUNCTION: +d2i_DISPLAYTEXT 1126 1_1_0d EXIST::FUNCTION: +ASN1_UTCTIME_set 1127 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_get0_attr 1128 1_1_0d EXIST::FUNCTION: +CRL_DIST_POINTS_new 1129 1_1_0d EXIST::FUNCTION: +d2i_OCSP_RESPID 1130 1_1_0d EXIST::FUNCTION:OCSP +X509_get0_reject_objects 1131 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_test_flags 1132 1_1_0d EXIST::FUNCTION: +ERR_load_SM2_strings 1133 1_1_0d EXIST::FUNCTION:SM2 +ENGINE_cmd_is_executable 1134 1_1_0d EXIST::FUNCTION:ENGINE +SM9_MASTER_KEY_up_ref 1135 1_1_0d EXIST::FUNCTION:SM9 +ASN1_BMPSTRING_it 1136 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_BMPSTRING_it 1136 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +BN_generate_prime 1137 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 +d2i_PKCS8PrivateKey_bio 1138 1_1_0d EXIST::FUNCTION: +RC2_cfb64_encrypt 1139 1_1_0d EXIST::FUNCTION:RC2 +i2d_DHparams 1140 1_1_0d EXIST::FUNCTION:DH +X509_CRL_INFO_new 1141 1_1_0d EXIST::FUNCTION: +IPAddressFamily_new 1142 1_1_0d EXIST::FUNCTION:RFC3779 +EVP_aes_256_ccm 1143 1_1_0d EXIST::FUNCTION: +BN_set_flags 1144 1_1_0d EXIST::FUNCTION: +MD4_Update 1145 1_1_0d EXIST::FUNCTION:MD4 +SKF_PrintDevInfo 1146 1_1_0d EXIST::FUNCTION:SKF +X509_policy_tree_free 1147 1_1_0d EXIST::FUNCTION: +ASN1_OCTET_STRING_cmp 1148 1_1_0d EXIST::FUNCTION: +EVP_camellia_256_cbc 1149 1_1_0d EXIST::FUNCTION:CAMELLIA +X509_CRL_verify 1150 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_get_time 1151 1_1_0d EXIST::FUNCTION: +ENGINE_add_conf_module 1152 1_1_0d EXIST::FUNCTION:ENGINE +d2i_ESS_CERT_ID 1153 1_1_0d EXIST::FUNCTION:TS +ASN1_item_d2i_fp 1154 1_1_0d EXIST::FUNCTION:STDIO +OCSP_ONEREQ_new 1155 1_1_0d EXIST::FUNCTION:OCSP +DES_cbc_encrypt 1156 1_1_0d EXIST::FUNCTION:DES +ENGINE_get_table_flags 1157 1_1_0d EXIST::FUNCTION:ENGINE +i2d_TS_REQ_fp 1158 1_1_0d EXIST::FUNCTION:STDIO,TS +BIO_ADDRINFO_free 1159 1_1_0d EXIST::FUNCTION:SOCK +RSA_meth_get0_app_data 1160 1_1_0d EXIST::FUNCTION:RSA +PEM_read_bio_Parameters 1161 1_1_0d EXIST::FUNCTION: +X509_time_adj_ex 1162 1_1_0d EXIST::FUNCTION: +d2i_RSAPublicKey 1163 1_1_0d EXIST::FUNCTION:RSA +BIO_s_socket 1164 1_1_0d EXIST::FUNCTION:SOCK +i2d_ASN1_OCTET_STRING 1165 1_1_0d EXIST::FUNCTION: +PEM_write_PKCS8PrivateKey 1166 1_1_0d EXIST::FUNCTION:STDIO +X509_check_ip_asc 1167 1_1_0d EXIST::FUNCTION: +d2i_X509_CERT_AUX 1168 1_1_0d EXIST::FUNCTION: +ENGINE_unregister_pkey_meths 1169 1_1_0d EXIST::FUNCTION:ENGINE +PAILLIER_ciphertext_add 1170 1_1_0d EXIST::FUNCTION:PAILLIER +i2d_PKCS7_ISSUER_AND_SERIAL 1171 1_1_0d EXIST::FUNCTION: +RAND_load_file 1172 1_1_0d EXIST::FUNCTION: +X509_REVOKED_free 1173 1_1_0d EXIST::FUNCTION: +CONF_load_bio 1174 1_1_0d EXIST::FUNCTION: +DES_is_weak_key 1175 1_1_0d EXIST::FUNCTION:DES +EVP_PKEY_meth_set_ctrl 1176 1_1_0d EXIST::FUNCTION: +EC_POINT_new 1177 1_1_0d EXIST::FUNCTION:EC +X509_NAME_cmp 1178 1_1_0d EXIST::FUNCTION: +X509_print_ex 1179 1_1_0d EXIST::FUNCTION: +Camellia_cfb8_encrypt 1180 1_1_0d EXIST::FUNCTION:CAMELLIA +X509V3_add_value_bool_nf 1181 1_1_0d EXIST::FUNCTION: +DES_key_sched 1182 1_1_0d EXIST::FUNCTION:DES +X509_NAME_ENTRY_set 1183 1_1_0d EXIST::FUNCTION: +BIO_new_socket 1184 1_1_0d EXIST::FUNCTION:SOCK +TS_CONF_load_certs 1185 1_1_0d EXIST::FUNCTION:TS +EVP_CIPHER_do_all_sorted 1186 1_1_0d EXIST::FUNCTION: +SM9_VerifyFinal 1187 1_1_0d EXIST::FUNCTION:SM9 +i2d_USERNOTICE 1188 1_1_0d EXIST::FUNCTION: +SKF_ECCSignData 1189 1_1_0d EXIST::FUNCTION:SKF +i2d_SCT_LIST 1190 1_1_0d EXIST::FUNCTION:CT +d2i_PKCS12_SAFEBAG 1191 1_1_0d EXIST::FUNCTION: +d2i_OCSP_SERVICELOC 1192 1_1_0d EXIST::FUNCTION:OCSP +ASN1_ANY_it 1193 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_ANY_it 1193 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_get_signature_nid 1194 1_1_0d EXIST::FUNCTION: +TS_STATUS_INFO_new 1195 1_1_0d EXIST::FUNCTION:TS +ECIES_PARAMS_get_enc 1196 1_1_0d EXIST::FUNCTION:ECIES +X509_STORE_get_get_crl 1197 1_1_0d EXIST::FUNCTION: +PKCS5_pbe2_set_scrypt 1198 1_1_0d EXIST::FUNCTION:SCRYPT +X509_STORE_get_get_issuer 1199 1_1_0d EXIST::FUNCTION: +EC_KEY_OpenSSL 1200 1_1_0d EXIST::FUNCTION:EC +X509_REVOKED_new 1201 1_1_0d EXIST::FUNCTION: +X509_check_private_key 1202 1_1_0d EXIST::FUNCTION: +IPAddressChoice_it 1203 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +IPAddressChoice_it 1203 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +ASN1_OCTET_STRING_dup 1204 1_1_0d EXIST::FUNCTION: +OCSP_request_onereq_get0 1205 1_1_0d EXIST::FUNCTION:OCSP +SKF_DisConnectDev 1206 1_1_0d EXIST::FUNCTION:SKF +d2i_DSAPrivateKey 1207 1_1_0d EXIST::FUNCTION:DSA +ASN1_STRING_set0 1208 1_1_0d EXIST::FUNCTION: +X509_STORE_add_crl 1209 1_1_0d EXIST::FUNCTION: +ERR_load_PKCS7_strings 1210 1_1_0d EXIST::FUNCTION: +X509_SIG_new 1211 1_1_0d EXIST::FUNCTION: +EVP_DigestUpdate 1212 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_kari_get0_alg 1213 1_1_0d EXIST::FUNCTION:CMS +PKCS7_SIGNER_INFO_set 1214 1_1_0d EXIST::FUNCTION: +SKF_EnumApplication 1215 1_1_0d EXIST::FUNCTION:SKF +EXTENDED_KEY_USAGE_new 1216 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_exts 1217 1_1_0d EXIST::FUNCTION:TS +X509_NAME_hash_old 1218 1_1_0d EXIST::FUNCTION: +d2i_ASN1_UNIVERSALSTRING 1219 1_1_0d EXIST::FUNCTION: +PEM_read_bio_SM9MasterSecret 1220 1_1_0d EXIST::FUNCTION:SM9 +EC_POINT_oct2point 1221 1_1_0d EXIST::FUNCTION:EC +ASN1_PCTX_free 1222 1_1_0d EXIST::FUNCTION: +DH_OpenSSL 1223 1_1_0d EXIST::FUNCTION:DH +OPENSSL_sk_zero 1224 1_1_0d EXIST::FUNCTION: +SHA512_Final 1225 1_1_0d EXIST:!VMSVAX:FUNCTION: +EC_POINT_add 1226 1_1_0d EXIST::FUNCTION:EC +DIST_POINT_new 1227 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_kari_get0_ctx 1228 1_1_0d EXIST::FUNCTION:CMS +d2i_OCSP_RESPDATA 1229 1_1_0d EXIST::FUNCTION:OCSP +X509_LOOKUP_file 1230 1_1_0d EXIST::FUNCTION: +UI_OpenSSL 1231 1_1_0d EXIST::FUNCTION:UI +SCT_get_timestamp 1232 1_1_0d EXIST::FUNCTION:CT +OCSP_REQINFO_it 1233 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_REQINFO_it 1233 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +OPENSSL_atexit 1234 1_1_0d EXIST::FUNCTION: +SCT_LIST_print 1235 1_1_0d EXIST::FUNCTION:CT +CTLOG_STORE_free 1236 1_1_0d EXIST::FUNCTION:CT +SM2_do_decrypt 1237 1_1_0d EXIST::FUNCTION:SM2 +RSA_meth_get_bn_mod_exp 1238 1_1_0d EXIST::FUNCTION:RSA +ASN1_STRING_TABLE_cleanup 1239 1_1_0d EXIST::FUNCTION: +OBJ_NAME_init 1240 1_1_0d EXIST::FUNCTION: +EC_KEY_METHOD_set_encrypt 1241 1_1_0d EXIST::FUNCTION:SM2 +X509V3_EXT_add 1242 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_clear_flags 1243 1_1_0d EXIST::FUNCTION: +ECDSA_SIG_set_ECCSIGNATUREBLOB 1244 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +CMS_set_detached 1245 1_1_0d EXIST::FUNCTION:CMS +BIO_get_retry_BIO 1246 1_1_0d EXIST::FUNCTION: +EC_KEY_free 1247 1_1_0d EXIST::FUNCTION:EC +BIO_f_md 1248 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_set_private 1249 1_1_0d EXIST::FUNCTION: +i2d_RSA_PSS_PARAMS 1250 1_1_0d EXIST::FUNCTION:RSA +PEM_read_SM9PrivateKey 1251 1_1_0d EXIST::FUNCTION:SM9,STDIO +X509_get_ext_d2i 1252 1_1_0d EXIST::FUNCTION: +ENGINE_up_ref 1253 1_1_0d EXIST::FUNCTION:ENGINE +OCSP_cert_to_id 1254 1_1_0d EXIST::FUNCTION:OCSP +X509_SIG_getm 1255 1_1_0d EXIST::FUNCTION: +ASN1_digest 1256 1_1_0d EXIST::FUNCTION: +RC2_set_key 1257 1_1_0d EXIST::FUNCTION:RC2 +TS_RESP_CTX_add_policy 1258 1_1_0d EXIST::FUNCTION:TS +NETSCAPE_SPKI_new 1259 1_1_0d EXIST::FUNCTION: +EVP_PKEY_set1_DSA 1260 1_1_0d EXIST::FUNCTION:DSA +X509_VERIFY_PARAM_add1_host 1261 1_1_0d EXIST::FUNCTION: +sms4_set_encrypt_key 1262 1_1_0d EXIST::FUNCTION:SMS4 +X509_REVOKED_delete_ext 1263 1_1_0d EXIST::FUNCTION: +SDF_ExternalEncrypt_ECC 1264 1_1_0d EXIST::FUNCTION: +TXT_DB_get_by_index 1265 1_1_0d EXIST::FUNCTION: +EC_POINT_set_affine_coordinates_GF2m 1266 1_1_0d EXIST::FUNCTION:EC,EC2M +i2d_TS_MSG_IMPRINT_fp 1267 1_1_0d EXIST::FUNCTION:STDIO,TS +PKCS7_SIGNED_it 1268 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_SIGNED_it 1268 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +BIO_nread 1269 1_1_0d EXIST::FUNCTION: +BN_BLINDING_lock 1270 1_1_0d EXIST::FUNCTION: +X509_trust_clear 1271 1_1_0d EXIST::FUNCTION: +EC_POINT_set_compressed_coordinates_GFp 1272 1_1_0d EXIST::FUNCTION:EC +ECIES_PARAMS_get_mac 1273 1_1_0d EXIST::FUNCTION:ECIES +X509_REQ_add_extensions_nid 1274 1_1_0d EXIST::FUNCTION: +X509_NAME_dup 1275 1_1_0d EXIST::FUNCTION: +RSA_flags 1276 1_1_0d EXIST::FUNCTION:RSA +PAILLIER_security_bits 1277 1_1_0d EXIST::FUNCTION:PAILLIER +COMP_CTX_free 1278 1_1_0d EXIST::FUNCTION:COMP +EVP_CIPHER_meth_set_ctrl 1279 1_1_0d EXIST::FUNCTION: +X509_LOOKUP_shutdown 1280 1_1_0d EXIST::FUNCTION: +OCSP_CRLID_it 1281 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_CRLID_it 1281 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +i2d_GENERAL_NAME 1282 1_1_0d EXIST::FUNCTION: +EC_KEY_set_conv_form 1283 1_1_0d EXIST::FUNCTION:EC +DH_clear_flags 1284 1_1_0d EXIST::FUNCTION:DH +X509_VERIFY_PARAM_inherit 1285 1_1_0d EXIST::FUNCTION: +SRP_VBASE_init 1286 1_1_0d EXIST::FUNCTION:SRP +EVP_CIPHER_CTX_get_app_data 1287 1_1_0d EXIST::FUNCTION: +SM9_do_sign 1288 1_1_0d EXIST::FUNCTION:SM9 +PEM_read_bio_DHparams 1289 1_1_0d EXIST::FUNCTION:DH +ERR_load_BUF_strings 1290 1_1_0d EXIST::FUNCTION: +PEM_write_RSA_PUBKEY 1291 1_1_0d EXIST::FUNCTION:RSA,STDIO +ECPKParameters_print_fp 1292 1_1_0d EXIST::FUNCTION:EC,STDIO +EC_KEY_set_enc_flags 1293 1_1_0d EXIST::FUNCTION:EC +OCSP_request_add1_cert 1294 1_1_0d EXIST::FUNCTION:OCSP +ENGINE_set_finish_function 1295 1_1_0d EXIST::FUNCTION:ENGINE +PROXY_POLICY_it 1296 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PROXY_POLICY_it 1296 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +DSA_meth_set_init 1297 1_1_0d EXIST::FUNCTION:DSA +i2d_RSAPublicKey_fp 1298 1_1_0d EXIST::FUNCTION:RSA,STDIO +TS_RESP_get_tst_info 1299 1_1_0d EXIST::FUNCTION:TS +BN_usub 1300 1_1_0d EXIST::FUNCTION: +NETSCAPE_SPKAC_new 1301 1_1_0d EXIST::FUNCTION: +RSA_blinding_off 1302 1_1_0d EXIST::FUNCTION:RSA +OCSP_CERTID_free 1303 1_1_0d EXIST::FUNCTION:OCSP +ASN1_item_verify 1304 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_set1_policies 1305 1_1_0d EXIST::FUNCTION: +DSAparams_print_fp 1306 1_1_0d EXIST::FUNCTION:DSA,STDIO +OPENSSL_hexstr2buf 1307 1_1_0d EXIST::FUNCTION: +i2d_PKCS12 1308 1_1_0d EXIST::FUNCTION: +BIO_s_log 1309 1_1_0d EXIST:!WIN32,!macintosh:FUNCTION: +i2d_IPAddressRange 1310 1_1_0d EXIST::FUNCTION:RFC3779 +DH_meth_new 1311 1_1_0d EXIST::FUNCTION:DH +d2i_PKCS8_bio 1312 1_1_0d EXIST::FUNCTION: +SM9MasterSecret_it 1313 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 +SM9MasterSecret_it 1313 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 +X509_get_ext_by_critical 1314 1_1_0d EXIST::FUNCTION: +SM2_decrypt 1315 1_1_0d EXIST::FUNCTION:SM2 +PKCS12_create 1316 1_1_0d EXIST::FUNCTION: +ASN1_PRINTABLESTRING_free 1317 1_1_0d EXIST::FUNCTION: +BIO_asn1_set_prefix 1318 1_1_0d EXIST::FUNCTION: +ASN1_generate_nconf 1319 1_1_0d EXIST::FUNCTION: +SDF_NewECCCipher 1320 1_1_0d EXIST::FUNCTION:SDF +TS_RESP_CTX_set_signer_key 1321 1_1_0d EXIST::FUNCTION:TS +ERR_peek_last_error_line_data 1322 1_1_0d EXIST::FUNCTION: +X509_NAME_free 1323 1_1_0d EXIST::FUNCTION: +X509v3_addr_is_canonical 1324 1_1_0d EXIST::FUNCTION:RFC3779 +RSA_security_bits 1325 1_1_0d EXIST::FUNCTION:RSA +X509_REQ_sign 1326 1_1_0d EXIST::FUNCTION: +EVP_PKEY_set1_tls_encodedpoint 1327 1_1_0d EXIST::FUNCTION: +OCSP_RESPID_new 1328 1_1_0d EXIST::FUNCTION:OCSP +DES_check_key_parity 1329 1_1_0d EXIST::FUNCTION:DES +X509_STORE_CTX_get_num_untrusted 1330 1_1_0d EXIST::FUNCTION: +DSO_merge 1331 1_1_0d EXIST::FUNCTION: +BN_secure_new 1332 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get0_untrusted 1333 1_1_0d EXIST::FUNCTION: +EC_POINT_cmp 1334 1_1_0d EXIST::FUNCTION:EC +RSA_set_default_method 1335 1_1_0d EXIST::FUNCTION:RSA +SM9PublicKey_get_gmtls_encoded 1336 1_1_0d EXIST::FUNCTION:SM9 +ENGINE_load_private_key 1337 1_1_0d EXIST::FUNCTION:ENGINE +ASN1_STRING_print 1338 1_1_0d EXIST::FUNCTION: +ASN1_SCTX_new 1339 1_1_0d EXIST::FUNCTION: +i2d_ASN1_UNIVERSALSTRING 1340 1_1_0d EXIST::FUNCTION: +ECParameters_print_fp 1341 1_1_0d EXIST::FUNCTION:EC,STDIO +DSA_meth_set_sign_setup 1342 1_1_0d EXIST::FUNCTION:DSA +OPENSSL_sk_new_null 1343 1_1_0d EXIST::FUNCTION: +SDF_ImportKeyWithISK_RSA 1344 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_cleanup 1345 1_1_0d EXIST::FUNCTION: +BIO_nwrite 1346 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_by_subject 1347 1_1_0d EXIST::FUNCTION: +SRP_create_verifier_BN 1348 1_1_0d EXIST::FUNCTION:SRP +PEM_write_bio_X509_AUX 1349 1_1_0d EXIST::FUNCTION: +i2d_PAILLIER_PUBKEY 1350 1_1_0d EXIST::FUNCTION:PAILLIER +RSA_new_from_RSAPUBLICKEYBLOB 1351 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF +ASN1_OBJECT_free 1352 1_1_0d EXIST::FUNCTION: +EVP_aes_256_cbc 1353 1_1_0d EXIST::FUNCTION: +X509V3_set_ctx 1354 1_1_0d EXIST::FUNCTION: +PEM_X509_INFO_read_bio 1355 1_1_0d EXIST::FUNCTION: +X509_CRL_get_REVOKED 1356 1_1_0d EXIST::FUNCTION: +CRYPTO_secure_malloc_initialized 1357 1_1_0d EXIST::FUNCTION: +TS_CONF_load_key 1358 1_1_0d EXIST::FUNCTION:TS +PEM_write_bio_PaillierPrivateKey 1359 1_1_0d EXIST::FUNCTION:PAILLIER +SHA224_Final 1360 1_1_0d EXIST::FUNCTION: +SDF_GetErrorString 1361 1_1_0d EXIST::FUNCTION:SDF +CRL_DIST_POINTS_it 1362 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +CRL_DIST_POINTS_it 1362 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PKCS12_key_gen_asc 1363 1_1_0d EXIST::FUNCTION: +BIO_asn1_get_prefix 1364 1_1_0d EXIST::FUNCTION: +NETSCAPE_SPKAC_free 1365 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_status_info_cond 1366 1_1_0d EXIST::FUNCTION:TS +TS_TST_INFO_get_ordering 1367 1_1_0d EXIST::FUNCTION:TS +BIO_set_next 1368 1_1_0d EXIST::FUNCTION: +i2d_PKCS8PrivateKey_nid_fp 1369 1_1_0d EXIST::FUNCTION:STDIO +SDF_InternalPublicKeyOperation_RSA 1370 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_serial_cb 1371 1_1_0d EXIST::FUNCTION:TS +i2d_SM9Signature_bio 1372 1_1_0d EXIST::FUNCTION:SM9 +a2i_IPADDRESS_NC 1373 1_1_0d EXIST::FUNCTION: +CAST_decrypt 1374 1_1_0d EXIST::FUNCTION:CAST +DH_meth_free 1375 1_1_0d EXIST::FUNCTION:DH +DH_meth_get_compute_key 1376 1_1_0d EXIST::FUNCTION:DH +i2d_PKCS7_bio 1377 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_copy 1378 1_1_0d EXIST::FUNCTION: +ASN1_UNIVERSALSTRING_to_string 1379 1_1_0d EXIST::FUNCTION: +BN_get_rfc3526_prime_1536 1380 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_div_arr 1381 1_1_0d EXIST::FUNCTION:EC2M +X509_PUBKEY_free 1382 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_move_peername 1383 1_1_0d EXIST::FUNCTION: +BIO_meth_set_destroy 1384 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_solve_quad_arr 1385 1_1_0d EXIST::FUNCTION:EC2M +X509_STORE_CTX_get_lookup_certs 1386 1_1_0d EXIST::FUNCTION: +X509V3_add_value 1387 1_1_0d EXIST::FUNCTION: +EVP_rc2_cbc 1388 1_1_0d EXIST::FUNCTION:RC2 +i2d_X509_VAL 1389 1_1_0d EXIST::FUNCTION: +EVP_rc2_ecb 1390 1_1_0d EXIST::FUNCTION:RC2 +PEM_SignUpdate 1391 1_1_0d EXIST::FUNCTION: +BIO_new_fp 1392 1_1_0d EXIST::FUNCTION:STDIO +SKF_ImportCertificate 1393 1_1_0d EXIST::FUNCTION:SKF +d2i_X509_REVOKED 1394 1_1_0d EXIST::FUNCTION: +EVP_PKEY_assign 1395 1_1_0d EXIST::FUNCTION: +ASN1_GENERALIZEDTIME_it 1396 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_GENERALIZEDTIME_it 1396 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EC_KEY_new_from_ECCrefPrivateKey 1397 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +PKCS7_cert_from_signer_info 1398 1_1_0d EXIST::FUNCTION: +OCSP_REVOKEDINFO_it 1399 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_REVOKEDINFO_it 1399 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +EC_POINT_mul 1400 1_1_0d EXIST::FUNCTION:EC +ENGINE_unregister_RSA 1401 1_1_0d EXIST::FUNCTION:ENGINE +IDEA_set_encrypt_key 1402 1_1_0d EXIST::FUNCTION:IDEA +i2d_IPAddressChoice 1403 1_1_0d EXIST::FUNCTION:RFC3779 +d2i_SXNET 1404 1_1_0d EXIST::FUNCTION: +RAND_file_name 1405 1_1_0d EXIST::FUNCTION: +RSA_meth_set_pub_enc 1406 1_1_0d EXIST::FUNCTION:RSA +OCSP_BASICRESP_get_ext_by_NID 1407 1_1_0d EXIST::FUNCTION:OCSP +X509_policy_tree_level_count 1408 1_1_0d EXIST::FUNCTION: +EVP_des_ede3_cfb1 1409 1_1_0d EXIST::FUNCTION:DES +i2a_ASN1_INTEGER 1410 1_1_0d EXIST::FUNCTION: +ERR_load_EVP_strings 1411 1_1_0d EXIST::FUNCTION: +BIO_ctrl_get_write_guarantee 1412 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set_time 1413 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_delete_ptr 1414 1_1_0d EXIST::FUNCTION: +ECIES_CIPHERTEXT_VALUE_new_from_ECCCIPHERBLOB 1415 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SKF +EVP_PKEY_get_attr_count 1416 1_1_0d EXIST::FUNCTION: +ECPARAMETERS_free 1417 1_1_0d EXIST::FUNCTION:EC +OPENSSL_thread_stop 1418 1_1_0d EXIST::FUNCTION: +SMIME_write_CMS 1419 1_1_0d EXIST::FUNCTION:CMS +d2i_SM9_PUBKEY 1420 1_1_0d EXIST::FUNCTION:SM9 +PKCS7_stream 1421 1_1_0d EXIST::FUNCTION: +X509_REQ_get_X509_PUBKEY 1422 1_1_0d EXIST::FUNCTION: +X509_check_purpose 1423 1_1_0d EXIST::FUNCTION: +AES_decrypt 1424 1_1_0d EXIST::FUNCTION: +PBEPARAM_it 1425 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PBEPARAM_it 1425 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +DSA_meth_get0_app_data 1426 1_1_0d EXIST::FUNCTION:DSA +X509_REVOKED_get_ext_by_OBJ 1427 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_get_sgd 1428 1_1_0d EXIST::FUNCTION:GMAPI +BIO_s_datagram 1429 1_1_0d EXIST::FUNCTION:DGRAM +X509_add1_trust_object 1430 1_1_0d EXIST::FUNCTION: +ASN1_item_ndef_i2d 1431 1_1_0d EXIST::FUNCTION: +EVP_PKEY_derive 1432 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_stats_bio 1433 1_1_0d EXIST::FUNCTION: +ENGINE_register_pkey_asn1_meths 1434 1_1_0d EXIST::FUNCTION:ENGINE +ENGINE_get_pkey_asn1_meth 1435 1_1_0d EXIST::FUNCTION:ENGINE +X509_PUBKEY_get0 1436 1_1_0d EXIST::FUNCTION: +BN_mul_word 1437 1_1_0d EXIST::FUNCTION: +PEM_write_X509_REQ 1438 1_1_0d EXIST::FUNCTION:STDIO +MD5 1439 1_1_0d EXIST::FUNCTION:MD5 +RSA_meth_get_pub_enc 1440 1_1_0d EXIST::FUNCTION:RSA +i2d_TS_TST_INFO_fp 1441 1_1_0d EXIST::FUNCTION:STDIO,TS +EVP_ENCODE_CTX_new 1442 1_1_0d EXIST::FUNCTION: +BIO_get_callback_arg 1443 1_1_0d EXIST::FUNCTION: +ERR_print_errors_cb 1444 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_check_crl 1445 1_1_0d EXIST::FUNCTION: +CRYPTO_secure_zalloc 1446 1_1_0d EXIST::FUNCTION: +X509_CRL_delete_ext 1447 1_1_0d EXIST::FUNCTION: +EVP_des_cfb1 1448 1_1_0d EXIST::FUNCTION:DES +WHIRLPOOL_Final 1449 1_1_0d EXIST::FUNCTION:WHIRLPOOL +OCSP_resp_get0_signature 1450 1_1_0d EXIST::FUNCTION:OCSP +BIO_debug_callback 1451 1_1_0d EXIST::FUNCTION: +RSA_set_RSAPUBLICKEYBLOB 1452 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF +RAND_set_rand_engine 1453 1_1_0d EXIST::FUNCTION:ENGINE +X509V3_extensions_print 1454 1_1_0d EXIST::FUNCTION: +ASN1_PRINTABLE_new 1455 1_1_0d EXIST::FUNCTION: +PKCS7_set_digest 1456 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_set_msg_imprint 1457 1_1_0d EXIST::FUNCTION:TS +X509_ATTRIBUTE_get0_object 1458 1_1_0d EXIST::FUNCTION: +OCSP_request_sign 1459 1_1_0d EXIST::FUNCTION:OCSP +i2d_re_X509_CRL_tbs 1460 1_1_0d EXIST::FUNCTION: +UI_add_user_data 1461 1_1_0d EXIST::FUNCTION:UI +sms4_wrap_key 1462 1_1_0d EXIST::FUNCTION:SMS4 +CRYPTO_gcm128_decrypt 1463 1_1_0d EXIST::FUNCTION: +SKF_ECCVerify 1464 1_1_0d EXIST::FUNCTION:SKF +CMS_decrypt_set1_pkey 1465 1_1_0d EXIST::FUNCTION:CMS +EC_GROUP_have_precompute_mult 1466 1_1_0d EXIST::FUNCTION:EC +d2i_AUTHORITY_INFO_ACCESS 1467 1_1_0d EXIST::FUNCTION: +BN_mod_lshift 1468 1_1_0d EXIST::FUNCTION: +UTF8_putc 1469 1_1_0d EXIST::FUNCTION: +EVP_ripemd160 1470 1_1_0d EXIST::FUNCTION:RMD160 +i2d_ASN1_OBJECT 1471 1_1_0d EXIST::FUNCTION: +RSA_check_key_ex 1472 1_1_0d EXIST::FUNCTION:RSA +CMS_RecipientInfo_set0_key 1473 1_1_0d EXIST::FUNCTION:CMS +OCSP_REQUEST_get_ext_by_NID 1474 1_1_0d EXIST::FUNCTION:OCSP +DES_encrypt1 1475 1_1_0d EXIST::FUNCTION:DES +X509_REQ_get_attr_count 1476 1_1_0d EXIST::FUNCTION: +BN_init 1477 1_1_0d EXIST::FUNCTION: +CONF_imodule_get_module 1478 1_1_0d EXIST::FUNCTION: +CTLOG_get0_log_id 1479 1_1_0d EXIST::FUNCTION:CT +BIO_get_ex_data 1480 1_1_0d EXIST::FUNCTION: +ECIES_PARAMS_get_kdf 1481 1_1_0d EXIST::FUNCTION:ECIES +ASN1_STRING_set 1482 1_1_0d EXIST::FUNCTION: +v2i_GENERAL_NAME 1483 1_1_0d EXIST::FUNCTION: +NOTICEREF_new 1484 1_1_0d EXIST::FUNCTION: +d2i_OCSP_ONEREQ 1485 1_1_0d EXIST::FUNCTION:OCSP +TS_CONF_set_digests 1486 1_1_0d EXIST::FUNCTION:TS +X509_STORE_CTX_set0_trusted_stack 1487 1_1_0d EXIST::FUNCTION: +PEM_read_bio_X509_CRL 1488 1_1_0d EXIST::FUNCTION: +RAND_add 1489 1_1_0d EXIST::FUNCTION: +SKF_CloseDevice 1490 1_1_0d EXIST::FUNCTION:SKF +NETSCAPE_SPKI_b64_decode 1491 1_1_0d EXIST::FUNCTION: +EVP_PKEY_free 1492 1_1_0d EXIST::FUNCTION: +AES_cfb8_encrypt 1493 1_1_0d EXIST::FUNCTION: +RC5_32_encrypt 1494 1_1_0d EXIST::FUNCTION:RC5 +ASN1_item_i2d 1495 1_1_0d EXIST::FUNCTION: +d2i_SM2CiphertextValue 1496 1_1_0d EXIST::FUNCTION:SM2 +UI_get0_test_string 1497 1_1_0d EXIST::FUNCTION:UI +PEM_write_PUBKEY 1498 1_1_0d EXIST::FUNCTION:STDIO +SM9PrivateKey_get_gmtls_public_key 1499 1_1_0d EXIST::FUNCTION:SM9 +ENGINE_register_all_ciphers 1500 1_1_0d EXIST::FUNCTION:ENGINE +i2d_DSA_PUBKEY_fp 1501 1_1_0d EXIST::FUNCTION:DSA,STDIO +BN_mod_sub_quick 1502 1_1_0d EXIST::FUNCTION: +CRYPTO_ocb128_encrypt 1503 1_1_0d EXIST::FUNCTION:OCB +ASIdOrRange_it 1504 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +ASIdOrRange_it 1504 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +X509_getm_notAfter 1505 1_1_0d EXIST::FUNCTION: +SKF_LockDev 1506 1_1_0d EXIST::FUNCTION:SKF +DSA_set_ex_data 1507 1_1_0d EXIST::FUNCTION:DSA +UI_method_set_writer 1508 1_1_0d EXIST::FUNCTION:UI +i2v_GENERAL_NAMES 1509 1_1_0d EXIST::FUNCTION: +PKCS12_BAGS_free 1510 1_1_0d EXIST::FUNCTION: +SCT_LIST_free 1511 1_1_0d EXIST::FUNCTION:CT +OCSP_basic_add1_status 1512 1_1_0d EXIST::FUNCTION:OCSP +BN_bin2bn 1513 1_1_0d EXIST::FUNCTION: +OPENSSL_init_crypto 1514 1_1_0d EXIST::FUNCTION: +X509_NAME_ENTRY_create_by_NID 1515 1_1_0d EXIST::FUNCTION: +ASN1_PCTX_set_cert_flags 1516 1_1_0d EXIST::FUNCTION: +PEM_read_DHparams 1517 1_1_0d EXIST::FUNCTION:DH,STDIO +d2i_IPAddressFamily 1518 1_1_0d EXIST::FUNCTION:RFC3779 +CMAC_resume 1519 1_1_0d EXIST::FUNCTION:CMAC +sms4_encrypt_init 1520 1_1_0d EXIST::FUNCTION:SMS4 +ASN1_OCTET_STRING_free 1521 1_1_0d EXIST::FUNCTION: +ENGINE_set_ciphers 1522 1_1_0d EXIST::FUNCTION:ENGINE +EC_GROUP_get_mont_data 1523 1_1_0d EXIST::FUNCTION:EC +SDF_HashInit 1524 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_kari_orig_id_cmp 1525 1_1_0d EXIST::FUNCTION:CMS +X509V3_conf_free 1526 1_1_0d EXIST::FUNCTION: +ENGINE_new 1527 1_1_0d EXIST::FUNCTION:ENGINE +X509_LOOKUP_by_fingerprint 1528 1_1_0d EXIST::FUNCTION: +RC2_encrypt 1529 1_1_0d EXIST::FUNCTION:RC2 +GENERAL_NAME_get0_otherName 1530 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_msg_imprint 1531 1_1_0d EXIST::FUNCTION:TS +PaillierPrivateKey_it 1532 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:PAILLIER +PaillierPrivateKey_it 1532 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:PAILLIER +EVP_PKEY_size 1533 1_1_0d EXIST::FUNCTION: +d2i_OCSP_REVOKEDINFO 1534 1_1_0d EXIST::FUNCTION:OCSP +DH_generate_key 1535 1_1_0d EXIST::FUNCTION:DH +OPENSSL_sk_deep_copy 1536 1_1_0d EXIST::FUNCTION: +i2d_ECDSA_SIG_fp 1537 1_1_0d EXIST::FUNCTION:EC,STDIO +EVP_seed_ofb 1538 1_1_0d EXIST::FUNCTION:SEED +X509_CRL_get0_lastUpdate 1539 1_1_0d EXIST::FUNCTION: +DH_meth_dup 1540 1_1_0d EXIST::FUNCTION:DH +X509v3_asid_add_inherit 1541 1_1_0d EXIST::FUNCTION:RFC3779 +X509_STORE_CTX_set_flags 1542 1_1_0d EXIST::FUNCTION: +X509_NAME_print 1543 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_to_BN 1544 1_1_0d EXIST::FUNCTION: +SEED_set_key 1545 1_1_0d EXIST::FUNCTION:SEED +UI_get_string_type 1546 1_1_0d EXIST::FUNCTION:UI +EVP_md4 1547 1_1_0d EXIST::FUNCTION:MD4 +BN_rshift 1548 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_free 1549 1_1_0d EXIST::FUNCTION:OCSP +ASYNC_get_current_job 1550 1_1_0d EXIST::FUNCTION: +OPENSSL_DIR_end 1551 1_1_0d EXIST::FUNCTION: +PEM_write_bio 1552 1_1_0d EXIST::FUNCTION: +EVP_camellia_128_cbc 1553 1_1_0d EXIST::FUNCTION:CAMELLIA +EVP_PKEY_get1_EC_KEY 1554 1_1_0d EXIST::FUNCTION:EC +ENGINE_set_name 1555 1_1_0d EXIST::FUNCTION:ENGINE +EC_POINT_free 1556 1_1_0d EXIST::FUNCTION:EC +OpenSSL_version_num 1557 1_1_0d EXIST::FUNCTION: +X509at_get_attr_count 1558 1_1_0d EXIST::FUNCTION: +X509_EXTENSION_set_data 1559 1_1_0d EXIST::FUNCTION: +EVP_chacha20 1560 1_1_0d EXIST::FUNCTION:CHACHA +EVP_camellia_256_ctr 1561 1_1_0d EXIST::FUNCTION:CAMELLIA +EVP_CipherInit_ex 1562 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_signer_cert 1563 1_1_0d EXIST::FUNCTION:TS +OPENSSL_LH_get_down_load 1564 1_1_0d EXIST::FUNCTION: +X509v3_addr_subset 1565 1_1_0d EXIST::FUNCTION:RFC3779 +d2i_PKCS7_DIGEST 1566 1_1_0d EXIST::FUNCTION: +RIPEMD160_Transform 1567 1_1_0d EXIST::FUNCTION:RMD160 +PKCS8_add_keyusage 1568 1_1_0d EXIST::FUNCTION: +BN_asc2bn 1569 1_1_0d EXIST::FUNCTION: +BIO_s_connect 1570 1_1_0d EXIST::FUNCTION:SOCK +X509_CRL_up_ref 1571 1_1_0d EXIST::FUNCTION: +ASN1_TIME_it 1572 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_TIME_it 1572 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +i2d_ECPrivateKey 1573 1_1_0d EXIST::FUNCTION:EC +GENERAL_SUBTREE_free 1574 1_1_0d EXIST::FUNCTION: +IPAddressOrRange_it 1575 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +IPAddressOrRange_it 1575 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +EC_GROUP_get_curve_name 1576 1_1_0d EXIST::FUNCTION:EC +TS_REQ_get_msg_imprint 1577 1_1_0d EXIST::FUNCTION:TS +RSA_PKCS1_OpenSSL 1578 1_1_0d EXIST::FUNCTION:RSA +BN_GF2m_mod_exp_arr 1579 1_1_0d EXIST::FUNCTION:EC2M +PEM_write_X509_AUX 1580 1_1_0d EXIST::FUNCTION:STDIO +SKF_OpenDevice 1581 1_1_0d EXIST::FUNCTION:SKF +SCT_LIST_validate 1582 1_1_0d EXIST::FUNCTION:CT +EC_GROUP_set_generator 1583 1_1_0d EXIST::FUNCTION:EC +EVP_CIPHER_CTX_block_size 1584 1_1_0d EXIST::FUNCTION: +ASN1_PCTX_get_str_flags 1585 1_1_0d EXIST::FUNCTION: +d2i_OCSP_RESPONSE 1586 1_1_0d EXIST::FUNCTION:OCSP +RSA_public_encrypt 1587 1_1_0d EXIST::FUNCTION:RSA +GENERAL_NAME_print 1588 1_1_0d EXIST::FUNCTION: +X509V3_get_value_int 1589 1_1_0d EXIST::FUNCTION: +PEM_write_bio_NETSCAPE_CERT_SEQUENCE 1590 1_1_0d EXIST::FUNCTION: +PKCS7_SIGNER_INFO_get0_algs 1591 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_iv_length 1592 1_1_0d EXIST::FUNCTION: +d2i_BASIC_CONSTRAINTS 1593 1_1_0d EXIST::FUNCTION: +DSA_meth_set_flags 1594 1_1_0d EXIST::FUNCTION:DSA +EVP_camellia_192_ecb 1595 1_1_0d EXIST::FUNCTION:CAMELLIA +BIO_nread0 1596 1_1_0d EXIST::FUNCTION: +BIO_get_retry_reason 1597 1_1_0d EXIST::FUNCTION: +PEM_read_CMS 1598 1_1_0d EXIST::FUNCTION:CMS,STDIO +CONF_imodule_set_flags 1599 1_1_0d EXIST::FUNCTION: +BN_get_rfc3526_prime_2048 1600 1_1_0d EXIST::FUNCTION: +PKCS7_ENC_CONTENT_it 1601 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_ENC_CONTENT_it 1601 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_rc4_40 1602 1_1_0d EXIST::FUNCTION:RC4 +SDF_InternalEncrypt_ECC 1603 1_1_0d EXIST::FUNCTION: +PEM_read_RSAPrivateKey 1604 1_1_0d EXIST::FUNCTION:RSA,STDIO +SM9Ciphertext_new 1605 1_1_0d EXIST::FUNCTION:SM9 +ENGINE_register_all_pkey_asn1_meths 1606 1_1_0d EXIST::FUNCTION:ENGINE +ECPKPARAMETERS_new 1607 1_1_0d EXIST::FUNCTION:EC +d2i_GENERAL_NAME 1608 1_1_0d EXIST::FUNCTION: +EVP_aes_256_cbc_hmac_sha1 1609 1_1_0d EXIST::FUNCTION: +SDF_GenerateKeyWithIPK_RSA 1610 1_1_0d EXIST::FUNCTION: +SKF_Encrypt 1611 1_1_0d EXIST::FUNCTION:SKF +IPAddressOrRange_new 1612 1_1_0d EXIST::FUNCTION:RFC3779 +i2d_PBE2PARAM 1613 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_impl_ctx_size 1614 1_1_0d EXIST::FUNCTION: +EC_GFp_nistp224_method 1615 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128 +AES_ecb_encrypt 1616 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_run_once 1617 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_node_usage_stats_bio 1618 1_1_0d EXIST::FUNCTION: +MD5_Transform 1619 1_1_0d EXIST::FUNCTION:MD5 +ENGINE_get_default_EC 1620 1_1_0d EXIST::FUNCTION:ENGINE +X509_CRL_get0_nextUpdate 1621 1_1_0d EXIST::FUNCTION: +X509V3_EXT_add_conf 1622 1_1_0d EXIST::FUNCTION: +d2i_NOTICEREF 1623 1_1_0d EXIST::FUNCTION: +PEM_read_X509_REQ 1624 1_1_0d EXIST::FUNCTION:STDIO +i2d_TS_RESP_bio 1625 1_1_0d EXIST::FUNCTION:TS +OPENSSL_LH_strhash 1626 1_1_0d EXIST::FUNCTION: +SKF_GenRandom 1627 1_1_0d EXIST::FUNCTION:SKF +DSA_clear_flags 1628 1_1_0d EXIST::FUNCTION:DSA +RSA_get_ex_data 1629 1_1_0d EXIST::FUNCTION:RSA +BN_with_flags 1630 1_1_0d EXIST::FUNCTION: +RSA_meth_set_flags 1631 1_1_0d EXIST::FUNCTION:RSA +EC_KEY_set_group 1632 1_1_0d EXIST::FUNCTION:EC +X509_get_signature_type 1633 1_1_0d EXIST::FUNCTION: +X509_REVOKED_add_ext 1634 1_1_0d EXIST::FUNCTION: +d2i_TS_ACCURACY 1635 1_1_0d EXIST::FUNCTION:TS +ERR_peek_last_error 1636 1_1_0d EXIST::FUNCTION: +EC_curve_nist2nid 1637 1_1_0d EXIST::FUNCTION:EC +DH_meth_get_flags 1638 1_1_0d EXIST::FUNCTION:DH +X509at_delete_attr 1639 1_1_0d EXIST::FUNCTION: +EC_GROUP_check_discriminant 1640 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_get1_tls_encodedpoint 1641 1_1_0d EXIST::FUNCTION: +RSA_PSS_PARAMS_free 1642 1_1_0d EXIST::FUNCTION:RSA +ASIdentifiers_free 1643 1_1_0d EXIST::FUNCTION:RFC3779 +X509_STORE_CTX_set_error_depth 1644 1_1_0d EXIST::FUNCTION: +ENGINE_get_load_privkey_function 1645 1_1_0d EXIST::FUNCTION:ENGINE +X509_ocspid_print 1646 1_1_0d EXIST::FUNCTION: +SM9_compute_share_key_B 1647 1_1_0d EXIST::FUNCTION:SM9 +PEM_read_PrivateKey 1648 1_1_0d EXIST::FUNCTION:STDIO +EVP_camellia_256_ecb 1649 1_1_0d EXIST::FUNCTION:CAMELLIA +OTP_generate 1650 1_1_0d EXIST::FUNCTION:OTP +TS_MSG_IMPRINT_dup 1651 1_1_0d EXIST::FUNCTION:TS +OCSP_copy_nonce 1652 1_1_0d EXIST::FUNCTION:OCSP +X509_INFO_free 1653 1_1_0d EXIST::FUNCTION: +ERR_load_DSO_strings 1654 1_1_0d EXIST::FUNCTION: +OBJ_nid2ln 1655 1_1_0d EXIST::FUNCTION: +i2a_ASN1_STRING 1656 1_1_0d EXIST::FUNCTION: +SKF_DeleteFile 1657 1_1_0d EXIST::FUNCTION:SKF +EVP_aes_192_wrap_pad 1658 1_1_0d EXIST::FUNCTION: +OCSP_CRLID_new 1659 1_1_0d EXIST::FUNCTION:OCSP +ENGINE_load_builtin_engines 1660 1_1_0d EXIST::FUNCTION:ENGINE +X509_load_cert_file 1661 1_1_0d EXIST::FUNCTION: +d2i_PKCS7_ENCRYPT 1662 1_1_0d EXIST::FUNCTION: +OTHERNAME_cmp 1663 1_1_0d EXIST::FUNCTION: +ENGINE_set_default_pkey_asn1_meths 1664 1_1_0d EXIST::FUNCTION:ENGINE +i2d_SM9_PUBKEY 1665 1_1_0d EXIST::FUNCTION:SM9 +ASN1_item_d2i_bio 1666 1_1_0d EXIST::FUNCTION: +PEM_read_PKCS7 1667 1_1_0d EXIST::FUNCTION:STDIO +RSA_meth_set_verify 1668 1_1_0d EXIST::FUNCTION:RSA +BN_GF2m_mod_sqrt 1669 1_1_0d EXIST::FUNCTION:EC2M +CMS_add_simple_smimecap 1670 1_1_0d EXIST::FUNCTION:CMS +X509_CRL_match 1671 1_1_0d EXIST::FUNCTION: +X509_NAME_print_ex 1672 1_1_0d EXIST::FUNCTION: +PKCS12_AUTHSAFES_it 1673 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS12_AUTHSAFES_it 1673 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +DSA_get0_pqg 1674 1_1_0d EXIST::FUNCTION:DSA +X509_add1_reject_object 1675 1_1_0d EXIST::FUNCTION: +CMS_ReceiptRequest_new 1676 1_1_0d EXIST::FUNCTION:CMS +IDEA_encrypt 1677 1_1_0d EXIST::FUNCTION:IDEA +CONF_imodule_get_flags 1678 1_1_0d EXIST::FUNCTION: +BIO_new_accept 1679 1_1_0d EXIST::FUNCTION:SOCK +EVP_md5_sha1 1680 1_1_0d EXIST::FUNCTION:MD5 +ECIES_CIPHERTEXT_VALUE_free 1681 1_1_0d EXIST::FUNCTION:ECIES +EVP_rc4 1682 1_1_0d EXIST::FUNCTION:RC4 +X509_new 1683 1_1_0d EXIST::FUNCTION: +X509v3_addr_get_afi 1684 1_1_0d EXIST::FUNCTION:RFC3779 +BN_get0_nist_prime_192 1685 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_set0_pkey 1686 1_1_0d EXIST::FUNCTION:CMS +DH_meth_get_bn_mod_exp 1687 1_1_0d EXIST::FUNCTION:DH +X509_policy_level_node_count 1688 1_1_0d EXIST::FUNCTION: +PEM_read_bio_DSAparams 1689 1_1_0d EXIST::FUNCTION:DSA +X509_get0_trust_objects 1690 1_1_0d EXIST::FUNCTION: +BIO_ADDR_rawaddress 1691 1_1_0d EXIST::FUNCTION:SOCK +EVP_des_ede3_cbc 1692 1_1_0d EXIST::FUNCTION:DES +EC_KEY_new_by_curve_name 1693 1_1_0d EXIST::FUNCTION:EC +BIO_socket 1694 1_1_0d EXIST::FUNCTION:SOCK +ASN1_INTEGER_get_int64 1695 1_1_0d EXIST::FUNCTION: +EVP_PKEY_copy_parameters 1696 1_1_0d EXIST::FUNCTION: +PEM_read_PKCS8_PRIV_KEY_INFO 1697 1_1_0d EXIST::FUNCTION:STDIO +X509_issuer_name_cmp 1698 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_set 1699 1_1_0d EXIST::FUNCTION: +RAND_status 1700 1_1_0d EXIST::FUNCTION: +i2d_DSA_PUBKEY 1701 1_1_0d EXIST::FUNCTION:DSA +i2d_OCSP_ONEREQ 1702 1_1_0d EXIST::FUNCTION:OCSP +SM9_generate_key_exchange 1703 1_1_0d EXIST::FUNCTION:SM9 +OCSP_SIGNATURE_new 1704 1_1_0d EXIST::FUNCTION:OCSP +SKF_ClearSecureState 1705 1_1_0d EXIST::FUNCTION:SKF +DSO_ctrl 1706 1_1_0d EXIST::FUNCTION: +OCSP_cert_id_new 1707 1_1_0d EXIST::FUNCTION:OCSP +EC_KEY_METHOD_type 1708 1_1_0d EXIST::FUNCTION:SM2 +UI_get_result_minsize 1709 1_1_0d EXIST::FUNCTION:UI +PKCS12_add_safes 1710 1_1_0d EXIST::FUNCTION: +TS_VERIFY_CTX_cleanup 1711 1_1_0d EXIST::FUNCTION:TS +X509_STORE_CTX_get_check_issued 1712 1_1_0d EXIST::FUNCTION: +d2i_PKCS7_ENVELOPE 1713 1_1_0d EXIST::FUNCTION: +CRYPTO_secure_malloc 1714 1_1_0d EXIST::FUNCTION: +ENGINE_get_prev 1715 1_1_0d EXIST::FUNCTION:ENGINE +OPENSSL_strlcpy 1716 1_1_0d EXIST::FUNCTION: +SM2CiphertextValue_it 1717 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM2 +SM2CiphertextValue_it 1717 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM2 +EC_GROUP_precompute_mult 1718 1_1_0d EXIST::FUNCTION:EC +DH_set0_key 1719 1_1_0d EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_data 1720 1_1_0d EXIST::FUNCTION: +X509V3_EXT_CRL_add_conf 1721 1_1_0d EXIST::FUNCTION: +SDF_InternalSign_ECC 1722 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_add1_ext_i2d 1723 1_1_0d EXIST::FUNCTION:OCSP +DSA_meth_set0_app_data 1724 1_1_0d EXIST::FUNCTION:DSA +BIO_s_file 1725 1_1_0d EXIST::FUNCTION: +POLICYQUALINFO_it 1726 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +POLICYQUALINFO_it 1726 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +i2d_X509_REQ_INFO 1727 1_1_0d EXIST::FUNCTION: +DSA_meth_get_keygen 1728 1_1_0d EXIST::FUNCTION:DSA +SDF_GenerateAgreementDataAndKeyWithECC 1729 1_1_0d EXIST::FUNCTION: +i2d_BASIC_CONSTRAINTS 1730 1_1_0d EXIST::FUNCTION: +PEM_write_PAILLIER_PUBKEY 1731 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO +TS_TST_INFO_get_time 1732 1_1_0d EXIST::FUNCTION:TS +CMS_EncryptedData_decrypt 1733 1_1_0d EXIST::FUNCTION:CMS +OCSP_SERVICELOC_new 1734 1_1_0d EXIST::FUNCTION:OCSP +CMS_digest_verify 1735 1_1_0d EXIST::FUNCTION:CMS +OPENSSL_DIR_read 1736 1_1_0d EXIST::FUNCTION: +ERR_peek_error 1737 1_1_0d EXIST::FUNCTION: +d2i_PaillierPublicKey 1738 1_1_0d EXIST::FUNCTION:PAILLIER +i2d_PKCS7 1739 1_1_0d EXIST::FUNCTION: +OCSP_REQ_CTX_nbio_d2i 1740 1_1_0d EXIST::FUNCTION:OCSP +EVP_MD_block_size 1741 1_1_0d EXIST::FUNCTION: +i2d_X509_REQ 1742 1_1_0d EXIST::FUNCTION: +ASN1_i2d_bio 1743 1_1_0d EXIST::FUNCTION: +SKF_Decrypt 1744 1_1_0d EXIST::FUNCTION:SKF +BN_mod_add 1745 1_1_0d EXIST::FUNCTION: +OCSP_resp_get0_id 1746 1_1_0d EXIST::FUNCTION:OCSP +DSA_dup_DH 1747 1_1_0d EXIST::FUNCTION:DH,DSA +DSA_meth_get_sign_setup 1748 1_1_0d EXIST::FUNCTION:DSA +CMS_RecipientInfo_get0_pkey_ctx 1749 1_1_0d EXIST::FUNCTION:CMS +X509_get_key_usage 1750 1_1_0d EXIST::FUNCTION: +ENGINE_register_pkey_meths 1751 1_1_0d EXIST::FUNCTION:ENGINE +EVP_PKEY_CTX_new 1752 1_1_0d EXIST::FUNCTION: +RSA_padding_check_PKCS1_type_1 1753 1_1_0d EXIST::FUNCTION:RSA +EC_GROUP_set_curve_GF2m 1754 1_1_0d EXIST::FUNCTION:EC,EC2M +ASN1_mbstring_copy 1755 1_1_0d EXIST::FUNCTION: +EVP_DecryptFinal_ex 1756 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_add0 1757 1_1_0d EXIST::FUNCTION: +EC_KEY_split 1758 1_1_0d EXIST::FUNCTION:EC +i2d_PKCS8_PRIV_KEY_INFO_bio 1759 1_1_0d EXIST::FUNCTION: +CRYPTO_cfb128_1_encrypt 1760 1_1_0d EXIST::FUNCTION: +CRYPTO_128_unwrap 1761 1_1_0d EXIST::FUNCTION: +ERR_get_error 1762 1_1_0d EXIST::FUNCTION: +PKCS7_ATTR_SIGN_it 1763 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_ATTR_SIGN_it 1763 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ASN1_STRING_get_default_mask 1764 1_1_0d EXIST::FUNCTION: +X509_set_proxy_flag 1765 1_1_0d EXIST::FUNCTION: +EVP_aes_192_ctr 1766 1_1_0d EXIST::FUNCTION: +CRYPTO_ocb128_tag 1767 1_1_0d EXIST::FUNCTION:OCB +RSA_verify 1768 1_1_0d EXIST::FUNCTION:RSA +ASN1_item_sign 1769 1_1_0d EXIST::FUNCTION: +d2i_SM9PrivateKey_fp 1770 1_1_0d EXIST::FUNCTION:SM9,STDIO +CAST_set_key 1771 1_1_0d EXIST::FUNCTION:CAST +OBJ_nid2sn 1772 1_1_0d EXIST::FUNCTION: +SM2_compute_id_digest 1773 1_1_0d EXIST::FUNCTION:SM2 +CRYPTO_gcm128_decrypt_ctr32 1774 1_1_0d EXIST::FUNCTION: +v2i_ASN1_BIT_STRING 1775 1_1_0d EXIST::FUNCTION: +i2d_PrivateKey_fp 1776 1_1_0d EXIST::FUNCTION:STDIO +SRP_Calc_x 1777 1_1_0d EXIST::FUNCTION:SRP +ENGINE_get_pkey_meths 1778 1_1_0d EXIST::FUNCTION:ENGINE +BN_is_odd 1779 1_1_0d EXIST::FUNCTION: +PKCS7_ENC_CONTENT_free 1780 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_add0 1781 1_1_0d EXIST::FUNCTION: +EC_GROUP_check 1782 1_1_0d EXIST::FUNCTION:EC +ENGINE_set_default 1783 1_1_0d EXIST::FUNCTION:ENGINE +X509_STORE_CTX_get_verify_cb 1784 1_1_0d EXIST::FUNCTION: +BN_get_flags 1785 1_1_0d EXIST::FUNCTION: +X509_keyid_set1 1786 1_1_0d EXIST::FUNCTION: +ECPKPARAMETERS_free 1787 1_1_0d EXIST::FUNCTION:EC +EVP_CIPHER_meth_get_init 1788 1_1_0d EXIST::FUNCTION: +SKF_RSAVerify 1789 1_1_0d EXIST::FUNCTION:SKF +ASRange_it 1790 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +ASRange_it 1790 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +d2i_ECPrivateKey 1791 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_type 1792 1_1_0d EXIST::FUNCTION: +BN_copy 1793 1_1_0d EXIST::FUNCTION: +d2i_X509_ATTRIBUTE 1794 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_it 1795 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_SINGLERESP_it 1795 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +SKF_GetAlgorName 1796 1_1_0d EXIST::FUNCTION:SKF +d2i_SM9PublicKey 1797 1_1_0d EXIST::FUNCTION:SM9 +OCSP_ONEREQ_get_ext_by_OBJ 1798 1_1_0d EXIST::FUNCTION:OCSP +TS_TST_INFO_set_time 1799 1_1_0d EXIST::FUNCTION:TS +DSAparams_print 1800 1_1_0d EXIST::FUNCTION:DSA +RSA_get_RSAPUBLICKEYBLOB 1801 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF +RSA_get_RSArefPublicKey 1802 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF +EVP_camellia_192_cfb1 1803 1_1_0d EXIST::FUNCTION:CAMELLIA +EVP_PKEY_CTX_set_app_data 1804 1_1_0d EXIST::FUNCTION: +PEM_read_bio_SM9_PUBKEY 1805 1_1_0d EXIST::FUNCTION:SM9 +TS_VERIFY_CTS_set_certs 1806 1_1_0d EXIST::FUNCTION:TS +EVP_PKEY_meth_set_verifyctx 1807 1_1_0d EXIST::FUNCTION: +RSA_OAEP_PARAMS_it 1808 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA +RSA_OAEP_PARAMS_it 1808 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA +X509_REQ_set_pubkey 1809 1_1_0d EXIST::FUNCTION: +X509_OBJECT_get0_X509_CRL 1810 1_1_0d EXIST::FUNCTION: +BIO_dgram_non_fatal_error 1811 1_1_0d EXIST::FUNCTION:DGRAM +BF_decrypt 1812 1_1_0d EXIST::FUNCTION:BF +X509_set_subject_name 1813 1_1_0d EXIST::FUNCTION: +i2b_PrivateKey_bio 1814 1_1_0d EXIST::FUNCTION:DSA +i2d_X509_CRL_bio 1815 1_1_0d EXIST::FUNCTION: +EVP_camellia_256_cfb1 1816 1_1_0d EXIST::FUNCTION:CAMELLIA +d2i_X509_EXTENSION 1817 1_1_0d EXIST::FUNCTION: +PKCS7_ISSUER_AND_SERIAL_it 1818 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_ISSUER_AND_SERIAL_it 1818 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_X509_CRL 1819 1_1_0d EXIST::FUNCTION: +PKCS7_get_attribute 1820 1_1_0d EXIST::FUNCTION: +SDF_ReleasePrivateKeyAccessRight 1821 1_1_0d EXIST::FUNCTION: +EVP_PKEY_save_parameters 1822 1_1_0d EXIST::FUNCTION: +a2i_GENERAL_NAME 1823 1_1_0d EXIST::FUNCTION: +DSA_meth_get_bn_mod_exp 1824 1_1_0d EXIST::FUNCTION:DSA +EVP_CIPHER_CTX_new 1825 1_1_0d EXIST::FUNCTION: +ECDSA_SIG_get_ECCSignature 1826 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +CRYPTO_mem_leaks 1827 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG +X509_policy_tree_get0_level 1828 1_1_0d EXIST::FUNCTION: +OCSP_BASICRESP_add1_ext_i2d 1829 1_1_0d EXIST::FUNCTION:OCSP +CONF_module_add 1830 1_1_0d EXIST::FUNCTION: +CRYPTO_cfb128_8_encrypt 1831 1_1_0d EXIST::FUNCTION: +PEM_write_bio_X509_REQ_NEW 1832 1_1_0d EXIST::FUNCTION: +d2i_CMS_ContentInfo 1833 1_1_0d EXIST::FUNCTION:CMS +POLICY_CONSTRAINTS_new 1834 1_1_0d EXIST::FUNCTION: +CMS_add0_crl 1835 1_1_0d EXIST::FUNCTION:CMS +CMS_signed_get0_data_by_OBJ 1836 1_1_0d EXIST::FUNCTION:CMS +X509_REQ_dup 1837 1_1_0d EXIST::FUNCTION: +TS_ASN1_INTEGER_print_bio 1838 1_1_0d EXIST::FUNCTION:TS +X509_getm_notBefore 1839 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_free 1840 1_1_0d EXIST::FUNCTION: +SKF_DecryptUpdate 1841 1_1_0d EXIST::FUNCTION:SKF +BIO_free 1842 1_1_0d EXIST::FUNCTION: +i2d_NETSCAPE_SPKAC 1843 1_1_0d EXIST::FUNCTION: +TXT_DB_write 1844 1_1_0d EXIST::FUNCTION: +EC_GROUP_get_curve_GFp 1845 1_1_0d EXIST::FUNCTION:EC +EVP_des_ofb 1846 1_1_0d EXIST::FUNCTION:DES +BIO_listen 1847 1_1_0d EXIST::FUNCTION:SOCK +d2i_PAILLIER_PUBKEY 1848 1_1_0d EXIST::FUNCTION:PAILLIER +X509v3_asid_inherits 1849 1_1_0d EXIST::FUNCTION:RFC3779 +DSA_set0_key 1850 1_1_0d EXIST::FUNCTION:DSA +CRYPTO_ocb128_decrypt 1851 1_1_0d EXIST::FUNCTION:OCB +PKCS12_SAFEBAG_new 1852 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_get1_crl 1853 1_1_0d EXIST::FUNCTION: +CRYPTO_mem_debug_free 1854 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG +OPENSSL_LH_node_stats_bio 1855 1_1_0d EXIST::FUNCTION: +SRP_Verify_A_mod_N 1856 1_1_0d EXIST::FUNCTION:SRP +RSA_new_from_RSAPRIVATEKEYBLOB 1857 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF +CMS_is_detached 1858 1_1_0d EXIST::FUNCTION:CMS +OCSP_basic_add1_nonce 1859 1_1_0d EXIST::FUNCTION:OCSP +i2d_SM9PublicParameters_fp 1860 1_1_0d EXIST::FUNCTION:SM9,STDIO +TS_REQ_get_ext_by_OBJ 1861 1_1_0d EXIST::FUNCTION:TS +X509V3_EXT_REQ_add_nconf 1862 1_1_0d EXIST::FUNCTION: +PKCS12_add_cert 1863 1_1_0d EXIST::FUNCTION: +X509_issuer_name_hash 1864 1_1_0d EXIST::FUNCTION: +CRYPTO_clear_free 1865 1_1_0d EXIST::FUNCTION: +PKCS8_PRIV_KEY_INFO_free 1866 1_1_0d EXIST::FUNCTION: +PEM_write_bio_PAILLIER_PUBKEY 1867 1_1_0d EXIST::FUNCTION:PAILLIER +d2i_ECCSIGNATUREBLOB 1868 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +ASN1_PCTX_set_flags 1869 1_1_0d EXIST::FUNCTION: +OPENSSL_load_builtin_modules 1870 1_1_0d EXIST::FUNCTION: +ASN1_STRING_set_default_mask_asc 1871 1_1_0d EXIST::FUNCTION: +DHparams_print 1872 1_1_0d EXIST::FUNCTION:DH +ACCESS_DESCRIPTION_free 1873 1_1_0d EXIST::FUNCTION: +DSA_meth_get_flags 1874 1_1_0d EXIST::FUNCTION:DSA +EVP_des_ede3_ecb 1875 1_1_0d EXIST::FUNCTION:DES +PKCS7_add_certificate 1876 1_1_0d EXIST::FUNCTION: +PEM_write_bio_DSAparams 1877 1_1_0d EXIST::FUNCTION:DSA +EVP_rc5_32_12_16_ecb 1878 1_1_0d EXIST::FUNCTION:RC5 +EC_GROUP_set_curve_GFp 1879 1_1_0d EXIST::FUNCTION:EC +RSA_meth_get_priv_enc 1880 1_1_0d EXIST::FUNCTION:RSA +EC_KEY_set_ECCrefPublicKey 1881 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +ASN1_UTCTIME_adj 1882 1_1_0d EXIST::FUNCTION: +i2d_RSA_PUBKEY_bio 1883 1_1_0d EXIST::FUNCTION:RSA +i2d_X509_SIG 1884 1_1_0d EXIST::FUNCTION: +ASN1_GENERALIZEDTIME_set_string 1885 1_1_0d EXIST::FUNCTION: +DES_cfb_encrypt 1886 1_1_0d EXIST::FUNCTION:DES +ENGINE_set_default_digests 1887 1_1_0d EXIST::FUNCTION:ENGINE +i2d_ASN1_UTCTIME 1888 1_1_0d EXIST::FUNCTION: +DH_get_2048_224 1889 1_1_0d EXIST::FUNCTION:DH +UI_get_result_maxsize 1890 1_1_0d EXIST::FUNCTION:UI +EVP_PKEY_set1_DH 1891 1_1_0d EXIST::FUNCTION:DH +OCSP_REQINFO_new 1892 1_1_0d EXIST::FUNCTION:OCSP +X509_check_host 1893 1_1_0d EXIST::FUNCTION: +CRYPTO_secure_malloc_init 1894 1_1_0d EXIST::FUNCTION: +SMIME_write_ASN1 1895 1_1_0d EXIST::FUNCTION: +BN_new 1896 1_1_0d EXIST::FUNCTION: +BIO_socket_ioctl 1897 1_1_0d EXIST::FUNCTION:SOCK +OCSP_SINGLERESP_add_ext 1898 1_1_0d EXIST::FUNCTION:OCSP +Camellia_cbc_encrypt 1899 1_1_0d EXIST::FUNCTION:CAMELLIA +ASN1_item_i2d_bio 1900 1_1_0d EXIST::FUNCTION: +X509_ATTRIBUTE_count 1901 1_1_0d EXIST::FUNCTION: +i2d_ACCESS_DESCRIPTION 1902 1_1_0d EXIST::FUNCTION: +PKCS5_PBE_add 1903 1_1_0d EXIST::FUNCTION: +HMAC_Init 1904 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +X509_check_ca 1905 1_1_0d EXIST::FUNCTION: +BN_get0_nist_prime_256 1906 1_1_0d EXIST::FUNCTION: +PKCS7_get0_signers 1907 1_1_0d EXIST::FUNCTION: +IPAddressChoice_free 1908 1_1_0d EXIST::FUNCTION:RFC3779 +X509_NAME_get_index_by_NID 1909 1_1_0d EXIST::FUNCTION: +ESS_SIGNING_CERT_free 1910 1_1_0d EXIST::FUNCTION:TS +CRYPTO_THREAD_get_local 1911 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get0_cert 1912 1_1_0d EXIST::FUNCTION: +CMS_data_create 1913 1_1_0d EXIST::FUNCTION:CMS +SDF_PrintECCCipher 1914 1_1_0d EXIST::FUNCTION:SDF +CRYPTO_nistcts128_encrypt_block 1915 1_1_0d EXIST::FUNCTION: +i2d_SM9PrivateKey_bio 1916 1_1_0d EXIST::FUNCTION:SM9 +d2i_SM9MasterSecret 1917 1_1_0d EXIST::FUNCTION:SM9 +PEM_X509_INFO_read 1918 1_1_0d EXIST::FUNCTION:STDIO +TS_RESP_CTX_set_signer_digest 1919 1_1_0d EXIST::FUNCTION:TS +SM2_do_sign 1920 1_1_0d EXIST::FUNCTION:SM2 +EVP_CIPHER_meth_get_do_cipher 1921 1_1_0d EXIST::FUNCTION: +PAILLIER_free 1922 1_1_0d EXIST::FUNCTION:PAILLIER +PKCS7_set_type 1923 1_1_0d EXIST::FUNCTION: +PKCS7_SIGNED_free 1924 1_1_0d EXIST::FUNCTION: +RSA_set0_factors 1925 1_1_0d EXIST::FUNCTION:RSA +UI_get0_result_string 1926 1_1_0d EXIST::FUNCTION:UI +RSA_verify_ASN1_OCTET_STRING 1927 1_1_0d EXIST::FUNCTION:RSA +EVP_des_ede_ecb 1928 1_1_0d EXIST::FUNCTION:DES +X509_STORE_set_ex_data 1929 1_1_0d EXIST::FUNCTION: +OPENSSL_strnlen 1930 1_1_0d EXIST::FUNCTION: +CRYPTO_gcm128_finish 1931 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_kekri_id_cmp 1932 1_1_0d EXIST::FUNCTION:CMS +DSA_verify 1933 1_1_0d EXIST::FUNCTION:DSA +EVP_CIPHER_CTX_set_padding 1934 1_1_0d EXIST::FUNCTION: +PEM_read_bio_NETSCAPE_CERT_SEQUENCE 1935 1_1_0d EXIST::FUNCTION: +BN_bn2dec 1936 1_1_0d EXIST::FUNCTION: +EC_GROUP_get0_generator 1937 1_1_0d EXIST::FUNCTION:EC +RSA_bits 1938 1_1_0d EXIST::FUNCTION:RSA +BIO_fd_non_fatal_error 1939 1_1_0d EXIST::FUNCTION: +EC_KEY_get_ECCrefPublicKey 1940 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +ENGINE_register_all_RAND 1941 1_1_0d EXIST::FUNCTION:ENGINE +i2d_RSAPrivateKey_bio 1942 1_1_0d EXIST::FUNCTION:RSA +ENGINE_set_table_flags 1943 1_1_0d EXIST::FUNCTION:ENGINE +EC_KEY_METHOD_get_encrypt 1944 1_1_0d EXIST::FUNCTION:SM2 +RC4_options 1945 1_1_0d EXIST::FUNCTION:RC4 +X509_ATTRIBUTE_new 1946 1_1_0d EXIST::FUNCTION: +SCT_get_version 1947 1_1_0d EXIST::FUNCTION:CT +X509_get_issuer_name 1948 1_1_0d EXIST::FUNCTION: +BN_mod_word 1949 1_1_0d EXIST::FUNCTION: +i2d_DSAPrivateKey_bio 1950 1_1_0d EXIST::FUNCTION:DSA +NETSCAPE_SPKI_free 1951 1_1_0d EXIST::FUNCTION: +X509_aux_print 1952 1_1_0d EXIST::FUNCTION: +d2i_PKCS12_BAGS 1953 1_1_0d EXIST::FUNCTION: +EVP_aes_256_gcm 1954 1_1_0d EXIST::FUNCTION: +TS_RESP_free 1955 1_1_0d EXIST::FUNCTION:TS +CMS_SignerInfo_get0_signature 1956 1_1_0d EXIST::FUNCTION:CMS +BIO_ADDRINFO_family 1957 1_1_0d EXIST::FUNCTION:SOCK +OBJ_NAME_new_index 1958 1_1_0d EXIST::FUNCTION: +i2d_ESS_ISSUER_SERIAL 1959 1_1_0d EXIST::FUNCTION:TS +X509_REQ_INFO_it 1960 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_REQ_INFO_it 1960 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PKCS12_init 1961 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_lookup_crls 1962 1_1_0d EXIST::FUNCTION: +IDEA_set_decrypt_key 1963 1_1_0d EXIST::FUNCTION:IDEA +TS_REQ_get_ext_by_NID 1964 1_1_0d EXIST::FUNCTION:TS +EVP_PKEY_meth_get_init 1965 1_1_0d EXIST::FUNCTION: +EVP_PKEY_encrypt 1966 1_1_0d EXIST::FUNCTION: +CTLOG_STORE_get0_log_by_id 1967 1_1_0d EXIST::FUNCTION:CT +SHA256_Update 1968 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_copy_ex 1969 1_1_0d EXIST::FUNCTION: +PKCS8_get_attr 1970 1_1_0d EXIST::FUNCTION: +PEM_write_bio_ECPKParameters 1971 1_1_0d EXIST::FUNCTION:EC +RAND_bytes 1972 1_1_0d EXIST::FUNCTION: +SM9_KEY_up_ref 1973 1_1_0d EXIST::FUNCTION:SM9 +CMS_verify_receipt 1974 1_1_0d EXIST::FUNCTION:CMS +ASN1_item_pack 1975 1_1_0d EXIST::FUNCTION: +d2i_X509 1976 1_1_0d EXIST::FUNCTION: +TS_RESP_set_tst_info 1977 1_1_0d EXIST::FUNCTION:TS +BN_sub_word 1978 1_1_0d EXIST::FUNCTION: +PEM_read_SM9PublicParameters 1979 1_1_0d EXIST::FUNCTION:SM9,STDIO +SDF_PrintRSAPrivateKey 1980 1_1_0d EXIST::FUNCTION:SDF +CMS_dataInit 1981 1_1_0d EXIST::FUNCTION:CMS +EVP_camellia_192_cbc 1982 1_1_0d EXIST::FUNCTION:CAMELLIA +X509_it 1983 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_it 1983 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PKCS12_add_CSPName_asc 1984 1_1_0d EXIST::FUNCTION: +DES_set_key_unchecked 1985 1_1_0d EXIST::FUNCTION:DES +PKCS7_SIGN_ENVELOPE_new 1986 1_1_0d EXIST::FUNCTION: +PEM_read_RSA_PUBKEY 1987 1_1_0d EXIST::FUNCTION:RSA,STDIO +i2d_OCSP_SERVICELOC 1988 1_1_0d EXIST::FUNCTION:OCSP +SKF_GenECCKeyPair 1989 1_1_0d EXIST::FUNCTION:SKF +BN_div 1990 1_1_0d EXIST::FUNCTION: +OCSP_CERTSTATUS_free 1991 1_1_0d EXIST::FUNCTION:OCSP +CMS_SignerInfo_get0_signer_id 1992 1_1_0d EXIST::FUNCTION:CMS +X509_STORE_CTX_get0_policy_tree 1993 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_set_keygen 1994 1_1_0d EXIST::FUNCTION: +OBJ_create_objects 1995 1_1_0d EXIST::FUNCTION: +BN_dup 1996 1_1_0d EXIST::FUNCTION: +EVP_camellia_256_cfb8 1997 1_1_0d EXIST::FUNCTION:CAMELLIA +X509_ALGOR_cmp 1998 1_1_0d EXIST::FUNCTION: +BN_exp 1999 1_1_0d EXIST::FUNCTION: +PBEPARAM_new 2000 1_1_0d EXIST::FUNCTION: +DH_check_pub_key 2001 1_1_0d EXIST::FUNCTION:DH +X509_STORE_CTX_get1_issuer 2002 1_1_0d EXIST::FUNCTION: +X509V3_get_string 2003 1_1_0d EXIST::FUNCTION: +X509_sign 2004 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_inv 2005 1_1_0d EXIST::FUNCTION:EC2M +DH_up_ref 2006 1_1_0d EXIST::FUNCTION:DH +OPENSSL_sk_set_cmp_func 2007 1_1_0d EXIST::FUNCTION: +CONF_dump_bio 2008 1_1_0d EXIST::FUNCTION: +i2d_OCSP_CRLID 2009 1_1_0d EXIST::FUNCTION:OCSP +X509_CRL_INFO_free 2010 1_1_0d EXIST::FUNCTION: +RAND_set_rand_method 2011 1_1_0d EXIST::FUNCTION: +BN_CTX_secure_new 2012 1_1_0d EXIST::FUNCTION: +PEM_write_DSAparams 2013 1_1_0d EXIST::FUNCTION:DSA,STDIO +i2d_CMS_bio_stream 2014 1_1_0d EXIST::FUNCTION:CMS +BN_mod_mul_montgomery 2015 1_1_0d EXIST::FUNCTION: +d2i_ASN1_INTEGER 2016 1_1_0d EXIST::FUNCTION: +X509_STORE_set1_param 2017 1_1_0d EXIST::FUNCTION: +CMS_add1_cert 2018 1_1_0d EXIST::FUNCTION:CMS +SM9_sign 2019 1_1_0d EXIST::FUNCTION:SM9 +X509V3_add1_i2d 2020 1_1_0d EXIST::FUNCTION: +X509_get_pubkey_parameters 2021 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_sqr_arr 2022 1_1_0d EXIST::FUNCTION:EC2M +EVP_PKEY_asn1_add_alias 2023 1_1_0d EXIST::FUNCTION: +d2i_PKEY_USAGE_PERIOD 2024 1_1_0d EXIST::FUNCTION: +i2d_CERTIFICATEPOLICIES 2025 1_1_0d EXIST::FUNCTION: +OPENSSL_cleanse 2026 1_1_0d EXIST::FUNCTION: +BN_mod_exp_recp 2027 1_1_0d EXIST::FUNCTION: +EVP_camellia_128_ofb 2028 1_1_0d EXIST::FUNCTION:CAMELLIA +ASN1_GENERALSTRING_new 2029 1_1_0d EXIST::FUNCTION: +NCONF_WIN32 2030 1_1_0d EXIST::FUNCTION: +i2d_PKCS7_SIGN_ENVELOPE 2031 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_retrieve 2032 1_1_0d EXIST::FUNCTION: +ENGINE_set_DH 2033 1_1_0d EXIST::FUNCTION:ENGINE +d2i_PUBKEY_bio 2034 1_1_0d EXIST::FUNCTION: +DH_meth_set0_app_data 2035 1_1_0d EXIST::FUNCTION:DH +ERR_print_errors 2036 1_1_0d EXIST::FUNCTION: +PKCS7_RECIP_INFO_free 2037 1_1_0d EXIST::FUNCTION: +CRYPTO_ccm128_encrypt 2038 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_new 2039 1_1_0d EXIST::FUNCTION: +CRYPTO_set_ex_data 2040 1_1_0d EXIST::FUNCTION: +EVP_des_ede3_cfb64 2041 1_1_0d EXIST::FUNCTION:DES +BIO_write 2042 1_1_0d EXIST::FUNCTION: +X509_ATTRIBUTE_get0_data 2043 1_1_0d EXIST::FUNCTION: +PKCS7_ctrl 2044 1_1_0d EXIST::FUNCTION: +ENGINE_remove 2045 1_1_0d EXIST::FUNCTION:ENGINE +X509_EXTENSION_get_critical 2046 1_1_0d EXIST::FUNCTION: +d2i_DIST_POINT 2047 1_1_0d EXIST::FUNCTION: +SXNETID_free 2048 1_1_0d EXIST::FUNCTION: +ENGINE_load_ssl_client_cert 2049 1_1_0d EXIST::FUNCTION:ENGINE +d2i_TS_MSG_IMPRINT_bio 2050 1_1_0d EXIST::FUNCTION:TS +a2i_ASN1_INTEGER 2051 1_1_0d EXIST::FUNCTION: +X509_get0_tbs_sigalg 2052 1_1_0d EXIST::FUNCTION: +X509_TRUST_get_count 2053 1_1_0d EXIST::FUNCTION: +PKCS12_setup_mac 2054 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_get_depth 2055 1_1_0d EXIST::FUNCTION: +ERR_get_state 2056 1_1_0d EXIST::FUNCTION: +SKF_ExportECCPublicKey 2057 1_1_0d EXIST::FUNCTION:SKF +ASN1_T61STRING_new 2058 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_get0_id 2059 1_1_0d EXIST::FUNCTION:OCSP +NETSCAPE_SPKI_print 2060 1_1_0d EXIST::FUNCTION: +DHparams_print_fp 2061 1_1_0d EXIST::FUNCTION:DH,STDIO +sms4_encrypt_8blocks 2062 1_1_0d EXIST::FUNCTION:SMS4 +PEM_read_bio_SM9PublicParameters 2063 1_1_0d EXIST::FUNCTION:SM9 +EVP_PKEY_meth_set_paramgen 2064 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_get_app_data 2065 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get0_SM9_MASTER 2066 1_1_0d EXIST::FUNCTION:SM9 +ASN1_item_unpack 2067 1_1_0d EXIST::FUNCTION: +CMS_get0_type 2068 1_1_0d EXIST::FUNCTION:CMS +SCT_get0_log_id 2069 1_1_0d EXIST::FUNCTION:CT +X509_VERIFY_PARAM_set_depth 2070 1_1_0d EXIST::FUNCTION: +X509_add1_ext_i2d 2071 1_1_0d EXIST::FUNCTION: +ERR_load_OBJ_strings 2072 1_1_0d EXIST::FUNCTION: +EC_KEY_set_default_method 2073 1_1_0d EXIST::FUNCTION:EC +X509v3_delete_ext 2074 1_1_0d EXIST::FUNCTION: +OCSP_CERTID_new 2075 1_1_0d EXIST::FUNCTION:OCSP +EVP_PKEY_set1_PAILLIER 2076 1_1_0d EXIST::FUNCTION:PAILLIER +CMS_set1_signers_certs 2077 1_1_0d EXIST::FUNCTION:CMS +CMS_get0_SignerInfos 2078 1_1_0d EXIST::FUNCTION:CMS +TS_VERIFY_CTX_set_imprint 2079 1_1_0d EXIST::FUNCTION:TS +TS_CONF_set_signer_key 2080 1_1_0d EXIST::FUNCTION:TS +OCSP_REQ_CTX_nbio 2081 1_1_0d EXIST::FUNCTION:OCSP +DES_set_key 2082 1_1_0d EXIST::FUNCTION:DES +EVP_aes_192_cbc 2083 1_1_0d EXIST::FUNCTION: +EC_KEY_get0_private_key 2084 1_1_0d EXIST::FUNCTION:EC +ASN1_STRING_TABLE_get 2085 1_1_0d EXIST::FUNCTION: +PEM_read_bio_PaillierPrivateKey 2086 1_1_0d EXIST::FUNCTION:PAILLIER +OpenSSL_version 2087 1_1_0d EXIST::FUNCTION: +ENGINE_get_digest_engine 2088 1_1_0d EXIST::FUNCTION:ENGINE +d2i_DSA_PUBKEY_bio 2089 1_1_0d EXIST::FUNCTION:DSA +EVP_CIPHER_CTX_iv_noconst 2090 1_1_0d EXIST::FUNCTION: +TS_REQ_get_ext_d2i 2091 1_1_0d EXIST::FUNCTION:TS +d2i_OCSP_SIGNATURE 2092 1_1_0d EXIST::FUNCTION:OCSP +PEM_read_PKCS8 2093 1_1_0d EXIST::FUNCTION:STDIO +ASN1_str2mask 2094 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_set_verify 2095 1_1_0d EXIST::FUNCTION: +OBJ_new_nid 2096 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get1_chain 2097 1_1_0d EXIST::FUNCTION: +EVP_des_ede 2098 1_1_0d EXIST::FUNCTION:DES +i2d_OCSP_RESPONSE 2099 1_1_0d EXIST::FUNCTION:OCSP +X509_PURPOSE_get_id 2100 1_1_0d EXIST::FUNCTION: +X509_CRL_METHOD_free 2101 1_1_0d EXIST::FUNCTION: +OCSP_ONEREQ_get_ext 2102 1_1_0d EXIST::FUNCTION:OCSP +BIO_set_data 2103 1_1_0d EXIST::FUNCTION: +RSAPublicKey_it 2104 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA +RSAPublicKey_it 2104 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA +EC_KEY_generate_key 2105 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_meth_copy 2106 1_1_0d EXIST::FUNCTION: +ASYNC_block_pause 2107 1_1_0d EXIST::FUNCTION: +CMS_get1_certs 2108 1_1_0d EXIST::FUNCTION:CMS +PEM_write_bio_SM9_MASTER_PUBKEY 2109 1_1_0d EXIST::FUNCTION:SM9 +OPENSSL_LH_new 2110 1_1_0d EXIST::FUNCTION: +SKF_ExtECCVerify 2111 1_1_0d EXIST::FUNCTION:SKF +EVP_set_pw_prompt 2112 1_1_0d EXIST::FUNCTION:UI +SKF_UnlockDev 2113 1_1_0d EXIST::FUNCTION:SKF +d2i_ASN1_UTF8STRING 2114 1_1_0d EXIST::FUNCTION: +d2i_X509_CRL_bio 2115 1_1_0d EXIST::FUNCTION: +POLICYQUALINFO_free 2116 1_1_0d EXIST::FUNCTION: +d2i_SM9PublicParameters_fp 2117 1_1_0d EXIST::FUNCTION:SM9,STDIO +X509_REVOKED_get_ext_by_critical 2118 1_1_0d EXIST::FUNCTION: +BF_set_key 2119 1_1_0d EXIST::FUNCTION:BF +PEM_write_bio_DHparams 2120 1_1_0d EXIST::FUNCTION:DH +RSA_meth_set_bn_mod_exp 2121 1_1_0d EXIST::FUNCTION:RSA +RSA_padding_add_PKCS1_OAEP_mgf1 2122 1_1_0d EXIST::FUNCTION:RSA +X509_STORE_up_ref 2123 1_1_0d EXIST::FUNCTION: +SKF_PrintECCPublicKey 2124 1_1_0d EXIST::FUNCTION:SKF +BIO_ctrl_reset_read_request 2125 1_1_0d EXIST::FUNCTION: +i2d_PKCS8_bio 2126 1_1_0d EXIST::FUNCTION: +EVP_aes_128_cbc_hmac_sha1 2127 1_1_0d EXIST::FUNCTION: +HMAC_Init_ex 2128 1_1_0d EXIST::FUNCTION: +d2i_ECCSignature 2129 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +PEM_read_bio_SM9PrivateKey 2130 1_1_0d EXIST::FUNCTION:SM9 +CRYPTO_ocb128_init 2131 1_1_0d EXIST::FUNCTION:OCB +X509_VERIFY_PARAM_set_trust 2132 1_1_0d EXIST::FUNCTION: +PKCS7_add1_attrib_digest 2133 1_1_0d EXIST::FUNCTION: +SXNET_new 2134 1_1_0d EXIST::FUNCTION: +ENGINE_free 2135 1_1_0d EXIST::FUNCTION:ENGINE +PEM_read_bio_PAILLIER_PUBKEY 2136 1_1_0d EXIST::FUNCTION:PAILLIER +d2i_X509_CINF 2137 1_1_0d EXIST::FUNCTION: +ASN1_NULL_free 2138 1_1_0d EXIST::FUNCTION: +EVP_read_pw_string 2139 1_1_0d EXIST::FUNCTION:UI +d2i_PKCS7_SIGNED 2140 1_1_0d EXIST::FUNCTION: +TS_REQ_dup 2141 1_1_0d EXIST::FUNCTION:TS +X509at_add1_attr_by_NID 2142 1_1_0d EXIST::FUNCTION: +SCT_set1_signature 2143 1_1_0d EXIST::FUNCTION:CT +X509_SIG_it 2144 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_SIG_it 2144 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EC_GROUP_cmp 2145 1_1_0d EXIST::FUNCTION:EC +CRYPTO_gcm128_new 2146 1_1_0d EXIST::FUNCTION: +MD5_Final 2147 1_1_0d EXIST::FUNCTION:MD5 +X509_email_free 2148 1_1_0d EXIST::FUNCTION: +PEM_write_PrivateKey 2149 1_1_0d EXIST::FUNCTION:STDIO +RSA_meth_set_init 2150 1_1_0d EXIST::FUNCTION:RSA +BIO_f_nbio_test 2151 1_1_0d EXIST::FUNCTION: +X509_verify_cert 2152 1_1_0d EXIST::FUNCTION: +PKCS7_get_signed_attribute 2153 1_1_0d EXIST::FUNCTION: +X509_get_X509_PUBKEY 2154 1_1_0d EXIST::FUNCTION: +X509_dup 2155 1_1_0d EXIST::FUNCTION: +X509_get_default_cert_dir_env 2156 1_1_0d EXIST::FUNCTION: +BN_mod_exp_mont_word 2157 1_1_0d EXIST::FUNCTION: +PKCS7_dataFinal 2158 1_1_0d EXIST::FUNCTION: +OCSP_SIGNATURE_it 2159 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_SIGNATURE_it 2159 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +DH_generate_parameters 2160 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8,DH +i2d_X509_NAME_ENTRY 2161 1_1_0d EXIST::FUNCTION: +ASN1_item_print 2162 1_1_0d EXIST::FUNCTION: +ASIdOrRange_new 2163 1_1_0d EXIST::FUNCTION:RFC3779 +X509_STORE_CTX_get_obj_by_subject 2164 1_1_0d EXIST::FUNCTION: +X509_REQ_add_extensions 2165 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set_trust 2166 1_1_0d EXIST::FUNCTION: +SM9_generate_master_secret 2167 1_1_0d EXIST::FUNCTION:SM9 +X509v3_addr_add_range 2168 1_1_0d EXIST::FUNCTION:RFC3779 +BN_mod_exp_mont 2169 1_1_0d EXIST::FUNCTION: +ASN1_BOOLEAN_it 2170 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_BOOLEAN_it 2170 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +DH_compute_key 2171 1_1_0d EXIST::FUNCTION:DH +d2i_RSA_PUBKEY_bio 2172 1_1_0d EXIST::FUNCTION:RSA +BN_nist_mod_384 2173 1_1_0d EXIST::FUNCTION: +ECDSA_SIG_get0 2174 1_1_0d EXIST::FUNCTION:EC +BN_mod_sub 2175 1_1_0d EXIST::FUNCTION: +NAME_CONSTRAINTS_free 2176 1_1_0d EXIST::FUNCTION: +d2i_ISSUING_DIST_POINT 2177 1_1_0d EXIST::FUNCTION: +BIO_ADDR_rawmake 2178 1_1_0d EXIST::FUNCTION:SOCK +PKCS5_v2_PBE_keyivgen 2179 1_1_0d EXIST::FUNCTION: +EC_KEY_get_ECCPUBLICKEYBLOB 2180 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +TS_TST_INFO_add_ext 2181 1_1_0d EXIST::FUNCTION:TS +EVP_des_ede_cbc 2182 1_1_0d EXIST::FUNCTION:DES +DH_get0_engine 2183 1_1_0d EXIST::FUNCTION:DH +X509_VERIFY_PARAM_get_flags 2184 1_1_0d EXIST::FUNCTION: +X509_STORE_get_check_revocation 2185 1_1_0d EXIST::FUNCTION: +SDF_GetPrivateKeyAccessRight 2186 1_1_0d EXIST::FUNCTION: +PKCS7_set_signed_attributes 2187 1_1_0d EXIST::FUNCTION: +CRYPTO_gcm128_init 2188 1_1_0d EXIST::FUNCTION: +X509_NAME_ENTRY_it 2189 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_NAME_ENTRY_it 2189 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EC_GROUP_get0_cofactor 2190 1_1_0d EXIST::FUNCTION:EC +EC_GROUP_get_seed_len 2191 1_1_0d EXIST::FUNCTION:EC +CMS_SharedInfo_encode 2192 1_1_0d EXIST::FUNCTION:CMS +BN_nnmod 2193 1_1_0d EXIST::FUNCTION: +PEM_read_PUBKEY 2194 1_1_0d EXIST::FUNCTION:STDIO +X509_set_pubkey 2195 1_1_0d EXIST::FUNCTION: +X509_OBJECT_free 2196 1_1_0d EXIST::FUNCTION: +TS_MSG_IMPRINT_set_algo 2197 1_1_0d EXIST::FUNCTION:TS +ASYNC_is_capable 2198 1_1_0d EXIST::FUNCTION: +X509_NAME_delete_entry 2199 1_1_0d EXIST::FUNCTION: +EVP_EncodeFinal 2200 1_1_0d EXIST::FUNCTION: +OBJ_NAME_remove 2201 1_1_0d EXIST::FUNCTION: +d2i_PKCS8_fp 2202 1_1_0d EXIST::FUNCTION:STDIO +SHA256 2203 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_get_ext_by_NID 2204 1_1_0d EXIST::FUNCTION:OCSP +ENGINE_ctrl 2205 1_1_0d EXIST::FUNCTION:ENGINE +X509_VAL_new 2206 1_1_0d EXIST::FUNCTION: +PEM_write_bio_X509_CRL 2207 1_1_0d EXIST::FUNCTION: +PKCS5_pbe2_set 2208 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_solve_quad 2209 1_1_0d EXIST::FUNCTION:EC2M +DH_KDF_X9_42 2210 1_1_0d EXIST::FUNCTION:CMS,DH +i2d_SM9PublicKey 2211 1_1_0d EXIST::FUNCTION:SM9 +PKCS12_MAC_DATA_free 2212 1_1_0d EXIST::FUNCTION: +DH_meth_set_bn_mod_exp 2213 1_1_0d EXIST::FUNCTION:DH +EC_POINT_is_at_infinity 2214 1_1_0d EXIST::FUNCTION:EC +BN_GF2m_add 2215 1_1_0d EXIST::FUNCTION:EC2M +PEM_write_PaillierPrivateKey 2216 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO +SKF_EnumContainer 2217 1_1_0d EXIST::FUNCTION:SKF +DES_encrypt2 2218 1_1_0d EXIST::FUNCTION:DES +DH_free 2219 1_1_0d EXIST::FUNCTION:DH +sms4_cbc_encrypt 2220 1_1_0d EXIST::FUNCTION:SMS4 +OPENSSL_uni2asc 2221 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_set_update 2222 1_1_0d EXIST::FUNCTION: +X509V3_get_value_bool 2223 1_1_0d EXIST::FUNCTION: +d2i_ASN1_UTCTIME 2224 1_1_0d EXIST::FUNCTION: +CMS_add0_CertificateChoices 2225 1_1_0d EXIST::FUNCTION:CMS +PEM_write_bio_SM9PublicParameters 2226 1_1_0d EXIST::FUNCTION:SM9 +X509_LOOKUP_init 2227 1_1_0d EXIST::FUNCTION: +OCSP_RESPONSE_it 2228 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_RESPONSE_it 2228 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +ASN1_TYPE_set1 2229 1_1_0d EXIST::FUNCTION: +i2d_PUBKEY_fp 2230 1_1_0d EXIST::FUNCTION:STDIO +CMS_SignerInfo_set1_signer_cert 2231 1_1_0d EXIST::FUNCTION:CMS +PEM_ASN1_write 2232 1_1_0d EXIST::FUNCTION:STDIO +X509at_add1_attr 2233 1_1_0d EXIST::FUNCTION: +SDF_GenerateAgreementDataWithECC 2234 1_1_0d EXIST::FUNCTION: +i2d_X509_CRL 2235 1_1_0d EXIST::FUNCTION: +ASN1_STRING_TABLE_add 2236 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_get0 2237 1_1_0d EXIST::FUNCTION: +DH_set_method 2238 1_1_0d EXIST::FUNCTION:DH +i2d_IPAddressOrRange 2239 1_1_0d EXIST::FUNCTION:RFC3779 +CMS_ReceiptRequest_free 2240 1_1_0d EXIST::FUNCTION:CMS +X509_OBJECT_up_ref_count 2241 1_1_0d EXIST::FUNCTION: +d2i_DIRECTORYSTRING 2242 1_1_0d EXIST::FUNCTION: +X509_check_ip 2243 1_1_0d EXIST::FUNCTION: +SM9_encrypt 2244 1_1_0d EXIST::FUNCTION:SM9 +BIO_get_init 2245 1_1_0d EXIST::FUNCTION: +BN_mod_lshift_quick 2246 1_1_0d EXIST::FUNCTION: +DSO_METHOD_openssl 2247 1_1_0d EXIST::FUNCTION: +X509_get1_ocsp 2248 1_1_0d EXIST::FUNCTION: +X509_supported_extension 2249 1_1_0d EXIST::FUNCTION: +ASN1_SCTX_set_app_data 2250 1_1_0d EXIST::FUNCTION: +ASN1_GENERALIZEDTIME_print 2251 1_1_0d EXIST::FUNCTION: +BIO_dump_indent_cb 2252 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_copy 2253 1_1_0d EXIST::FUNCTION: +X509_PURPOSE_get0_name 2254 1_1_0d EXIST::FUNCTION: +PKCS7_SIGNED_new 2255 1_1_0d EXIST::FUNCTION: +ASN1_item_i2d_fp 2256 1_1_0d EXIST::FUNCTION:STDIO +SXNET_add_id_ulong 2257 1_1_0d EXIST::FUNCTION: +HMAC_CTX_set_flags 2258 1_1_0d EXIST::FUNCTION: +DH_meth_set_flags 2259 1_1_0d EXIST::FUNCTION:DH +SKF_GenExtRSAKey 2260 1_1_0d EXIST::FUNCTION:SKF +ZUC_set_key 2261 1_1_0d EXIST::FUNCTION:ZUC +OCSP_BASICRESP_get_ext_by_OBJ 2262 1_1_0d EXIST::FUNCTION:OCSP +PEM_SignFinal 2263 1_1_0d EXIST::FUNCTION: +POLICYINFO_free 2264 1_1_0d EXIST::FUNCTION: +PAILLIER_size 2265 1_1_0d EXIST::FUNCTION:PAILLIER +BIO_s_accept 2266 1_1_0d EXIST::FUNCTION:SOCK +OCSP_sendreq_new 2267 1_1_0d EXIST::FUNCTION:OCSP +OBJ_NAME_add 2268 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_write_lock 2269 1_1_0d EXIST::FUNCTION: +SM2_sign_setup 2270 1_1_0d EXIST::FUNCTION:SM2 +DSO_up_ref 2271 1_1_0d EXIST::FUNCTION: +X509_subject_name_hash 2272 1_1_0d EXIST::FUNCTION: +X509_TRUST_get_flags 2273 1_1_0d EXIST::FUNCTION: +PEM_read_bio_SM9PublicKey 2274 1_1_0d EXIST::FUNCTION:SM9 +BUF_MEM_grow 2275 1_1_0d EXIST::FUNCTION: +SDF_ExportEncPublicKey_RSA 2276 1_1_0d EXIST::FUNCTION: +X509_LOOKUP_by_subject 2277 1_1_0d EXIST::FUNCTION: +i2d_PKCS8_PRIV_KEY_INFO_fp 2278 1_1_0d EXIST::FUNCTION:STDIO +DH_check_params 2279 1_1_0d EXIST::FUNCTION:DH +X509_CRL_add1_ext_i2d 2280 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_rand_key 2281 1_1_0d EXIST::FUNCTION: +d2i_POLICYQUALINFO 2282 1_1_0d EXIST::FUNCTION: +TS_MSG_IMPRINT_print_bio 2283 1_1_0d EXIST::FUNCTION:TS +BIO_asn1_set_suffix 2284 1_1_0d EXIST::FUNCTION: +TS_CONF_load_cert 2285 1_1_0d EXIST::FUNCTION:TS +sms4_encrypt_16blocks 2286 1_1_0d EXIST::FUNCTION:SMS4 +BN_div_word 2287 1_1_0d EXIST::FUNCTION: +OBJ_get0_data 2288 1_1_0d EXIST::FUNCTION: +EVP_bf_ecb 2289 1_1_0d EXIST::FUNCTION:BF +OCSP_REQUEST_get_ext_count 2290 1_1_0d EXIST::FUNCTION:OCSP +PKCS7_content_new 2291 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_get 2292 1_1_0d EXIST::FUNCTION: +SEED_ofb128_encrypt 2293 1_1_0d EXIST::FUNCTION:SEED +RSA_set_RSArefPublicKey 2294 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF +X509_get_ext_by_OBJ 2295 1_1_0d EXIST::FUNCTION: +PKCS1_MGF1 2296 1_1_0d EXIST::FUNCTION:RSA +PKCS12_item_pack_safebag 2297 1_1_0d EXIST::FUNCTION: +DSA_get0_engine 2298 1_1_0d EXIST::FUNCTION:DSA +X509_EXTENSION_create_by_OBJ 2299 1_1_0d EXIST::FUNCTION: +i2s_ASN1_IA5STRING 2300 1_1_0d EXIST::FUNCTION: +EVP_PKEY_decrypt_init 2301 1_1_0d EXIST::FUNCTION: +BN_is_prime_ex 2302 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_md 2303 1_1_0d EXIST::FUNCTION: +ERR_func_error_string 2304 1_1_0d EXIST::FUNCTION: +CONF_get1_default_config_file 2305 1_1_0d EXIST::FUNCTION: +X509_STORE_set_verify_cb 2306 1_1_0d EXIST::FUNCTION: +CTLOG_STORE_new 2307 1_1_0d EXIST::FUNCTION:CT +PEM_dek_info 2308 1_1_0d EXIST::FUNCTION: +CMS_RecipientEncryptedKey_cert_cmp 2309 1_1_0d EXIST::FUNCTION:CMS +PKCS12_add_friendlyname_utf8 2310 1_1_0d EXIST::FUNCTION: +SDF_GenerateKeyPair_ECC 2311 1_1_0d EXIST::FUNCTION: +i2d_ECCSignature 2312 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +ASN1_item_ex_d2i 2313 1_1_0d EXIST::FUNCTION: +EC_KEY_METHOD_set_compute_key 2314 1_1_0d EXIST::FUNCTION:EC +CMS_signed_get_attr_count 2315 1_1_0d EXIST::FUNCTION:CMS +BN_mod_inverse 2316 1_1_0d EXIST::FUNCTION: +i2d_SM2CiphertextValue_bio 2317 1_1_0d EXIST::FUNCTION:SM2 +EC_POINT_point2bn 2318 1_1_0d EXIST::FUNCTION:EC +EVP_sm9hash2_sm3 2319 1_1_0d EXIST::FUNCTION:SM3,SM9 +BIO_s_fd 2320 1_1_0d EXIST::FUNCTION: +EVP_get_digestbyname 2321 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_time_cb 2322 1_1_0d EXIST::FUNCTION:TS +d2i_OCSP_RESPBYTES 2323 1_1_0d EXIST::FUNCTION:OCSP +sm3 2324 1_1_0d EXIST::FUNCTION:SM3 +d2i_OTHERNAME 2325 1_1_0d EXIST::FUNCTION: +d2i_SM9_MASTER_PUBKEY 2326 1_1_0d EXIST::FUNCTION:SM9 +CRYPTO_ocb128_new 2327 1_1_0d EXIST::FUNCTION:OCB +ASN1_STRING_set_by_NID 2328 1_1_0d EXIST::FUNCTION: +ASN1_BIT_STRING_check 2329 1_1_0d EXIST::FUNCTION: +ENGINE_get_load_pubkey_function 2330 1_1_0d EXIST::FUNCTION:ENGINE +X509V3_EXT_conf_nid 2331 1_1_0d EXIST::FUNCTION: +ASN1_SEQUENCE_ANY_it 2332 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_SEQUENCE_ANY_it 2332 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ASN1_PCTX_get_flags 2333 1_1_0d EXIST::FUNCTION: +EC_KEY_get_method 2334 1_1_0d EXIST::FUNCTION:EC +DSA_meth_dup 2335 1_1_0d EXIST::FUNCTION:DSA +EC_GROUP_get_degree 2336 1_1_0d EXIST::FUNCTION:EC +ECDSA_sign 2337 1_1_0d EXIST::FUNCTION:EC +IPAddressOrRange_free 2338 1_1_0d EXIST::FUNCTION:RFC3779 +ASN1_SEQUENCE_it 2339 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_SEQUENCE_it 2339 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PKCS7_RECIP_INFO_new 2340 1_1_0d EXIST::FUNCTION: +PKCS7_final 2341 1_1_0d EXIST::FUNCTION: +EVP_PKEY_set1_RSA 2342 1_1_0d EXIST::FUNCTION:RSA +d2i_SCT_LIST 2343 1_1_0d EXIST::FUNCTION:CT +CONF_free 2344 1_1_0d EXIST::FUNCTION: +X509_LOOKUP_by_alias 2345 1_1_0d EXIST::FUNCTION: +Camellia_decrypt 2346 1_1_0d EXIST::FUNCTION:CAMELLIA +X509_get0_notBefore 2347 1_1_0d EXIST::FUNCTION: +SCT_set1_extensions 2348 1_1_0d EXIST::FUNCTION:CT +RAND_egd_bytes 2349 1_1_0d EXIST::FUNCTION:EGD +PEM_read_bio_PrivateKey 2350 1_1_0d EXIST::FUNCTION: +X509_sign_ctx 2351 1_1_0d EXIST::FUNCTION: +PKCS7_ENCRYPT_free 2352 1_1_0d EXIST::FUNCTION: +BIO_ctrl_wpending 2353 1_1_0d EXIST::FUNCTION: +X509_REQ_extension_nid 2354 1_1_0d EXIST::FUNCTION: +TS_REQ_ext_free 2355 1_1_0d EXIST::FUNCTION:TS +i2d_PKCS12_bio 2356 1_1_0d EXIST::FUNCTION: +ENGINE_set_pkey_meths 2357 1_1_0d EXIST::FUNCTION:ENGINE +X509_check_akid 2358 1_1_0d EXIST::FUNCTION: +PKCS7_signatureVerify 2359 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_str2ctrl 2360 1_1_0d EXIST::FUNCTION: +CMS_compress 2361 1_1_0d EXIST::FUNCTION:CMS +SKF_ECCExportSessionKey 2362 1_1_0d EXIST::FUNCTION:SKF +HMAC_CTX_free 2363 1_1_0d EXIST::FUNCTION: +OPENSSL_init 2364 1_1_0d EXIST::FUNCTION: +X509_signature_print 2365 1_1_0d EXIST::FUNCTION: +PKEY_USAGE_PERIOD_it 2366 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKEY_USAGE_PERIOD_it 2366 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +i2d_TS_RESP_fp 2367 1_1_0d EXIST::FUNCTION:STDIO,TS +TS_TST_INFO_get_ext_by_critical 2368 1_1_0d EXIST::FUNCTION:TS +i2d_ASN1_BIT_STRING 2369 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_add0_table 2370 1_1_0d EXIST::FUNCTION: +ASYNC_WAIT_CTX_get_fd 2371 1_1_0d EXIST::FUNCTION: +PKCS7_ENC_CONTENT_new 2372 1_1_0d EXIST::FUNCTION: +X509_CRL_get0_extensions 2373 1_1_0d EXIST::FUNCTION: +EC_POINT_dup 2374 1_1_0d EXIST::FUNCTION:EC +SKF_ExportRSAPublicKey 2375 1_1_0d EXIST::FUNCTION:SKF +CRYPTO_free 2376 1_1_0d EXIST::FUNCTION: +PEM_read_X509 2377 1_1_0d EXIST::FUNCTION:STDIO +CRYPTO_gcm128_setiv 2378 1_1_0d EXIST::FUNCTION: +SM2CiphertextValue_free 2379 1_1_0d EXIST::FUNCTION:SM2 +PKCS7_add_attrib_content_type 2380 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_current_cert 2381 1_1_0d EXIST::FUNCTION: +EVP_DecodeFinal 2382 1_1_0d EXIST::FUNCTION: +PKCS7_add_recipient_info 2383 1_1_0d EXIST::FUNCTION: +RSA_padding_add_PKCS1_PSS 2384 1_1_0d EXIST::FUNCTION:RSA +ASN1_PRINTABLESTRING_it 2385 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_PRINTABLESTRING_it 2385 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +DIST_POINT_NAME_it 2386 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +DIST_POINT_NAME_it 2386 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_sms4_xts 2387 1_1_0d EXIST::FUNCTION:SMS4 +CT_POLICY_EVAL_CTX_get0_issuer 2388 1_1_0d EXIST::FUNCTION:CT +SHA256_Final 2389 1_1_0d EXIST::FUNCTION: +PEM_read_PaillierPrivateKey 2390 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO +PKCS7_RECIP_INFO_it 2391 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_RECIP_INFO_it 2391 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_CRL_free 2392 1_1_0d EXIST::FUNCTION: +ERR_load_ERR_strings 2393 1_1_0d EXIST::FUNCTION: +i2d_SM2CiphertextValue_fp 2394 1_1_0d EXIST::FUNCTION:SM2,STDIO +BN_reciprocal 2395 1_1_0d EXIST::FUNCTION: +PEM_write_bio_CMS 2396 1_1_0d EXIST::FUNCTION:CMS +UI_create_method 2397 1_1_0d EXIST::FUNCTION:UI +CMS_unsigned_add1_attr_by_OBJ 2398 1_1_0d EXIST::FUNCTION:CMS +UI_get_method 2399 1_1_0d EXIST::FUNCTION:UI +TXT_DB_free 2400 1_1_0d EXIST::FUNCTION: +i2d_PKCS7_RECIP_INFO 2401 1_1_0d EXIST::FUNCTION: +EC_KEY_merge 2402 1_1_0d EXIST::FUNCTION:EC +ERR_peek_last_error_line 2403 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_set_inh_flags 2404 1_1_0d EXIST::FUNCTION: +d2i_CMS_bio 2405 1_1_0d EXIST::FUNCTION:CMS +X509_VERIFY_PARAM_set_hostflags 2406 1_1_0d EXIST::FUNCTION: +MD4 2407 1_1_0d EXIST::FUNCTION:MD4 +PKCS8_encrypt 2408 1_1_0d EXIST::FUNCTION: +X509_CRL_sign 2409 1_1_0d EXIST::FUNCTION: +EVP_des_ede_ofb 2410 1_1_0d EXIST::FUNCTION:DES +X509_VERIFY_PARAM_new 2411 1_1_0d EXIST::FUNCTION: +RSA_meth_get_sign 2412 1_1_0d EXIST::FUNCTION:RSA +EVP_camellia_192_cfb8 2413 1_1_0d EXIST::FUNCTION:CAMELLIA +ENGINE_get_default_RAND 2414 1_1_0d EXIST::FUNCTION:ENGINE +X509_ALGOR_it 2415 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_ALGOR_it 2415 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_NAME_ENTRY_get_data 2416 1_1_0d EXIST::FUNCTION: +NCONF_get_section 2417 1_1_0d EXIST::FUNCTION: +DIST_POINT_free 2418 1_1_0d EXIST::FUNCTION: +ENGINE_unregister_RAND 2419 1_1_0d EXIST::FUNCTION:ENGINE +X509_get_serialNumber 2420 1_1_0d EXIST::FUNCTION: +TS_ACCURACY_get_millis 2421 1_1_0d EXIST::FUNCTION:TS +PKCS7_to_TS_TST_INFO 2422 1_1_0d EXIST::FUNCTION:TS +EVP_PKEY_asn1_find 2423 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_policy_id 2424 1_1_0d EXIST::FUNCTION:TS +GENERAL_NAME_dup 2425 1_1_0d EXIST::FUNCTION: +OCSP_REQUEST_add_ext 2426 1_1_0d EXIST::FUNCTION:OCSP +i2d_DIST_POINT 2427 1_1_0d EXIST::FUNCTION: +OCSP_ONEREQ_delete_ext 2428 1_1_0d EXIST::FUNCTION:OCSP +EC_POINT_get_Jprojective_coordinates_GFp 2429 1_1_0d EXIST::FUNCTION:EC +RAND_screen 2430 1_1_0d EXIST:_WIN32:FUNCTION:DEPRECATEDIN_1_1_0 +BIO_get_accept_socket 2431 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK +ENGINE_load_public_key 2432 1_1_0d EXIST::FUNCTION:ENGINE +i2d_SM9PublicParameters_bio 2433 1_1_0d EXIST::FUNCTION:SM9 +X509v3_addr_add_inherit 2434 1_1_0d EXIST::FUNCTION:RFC3779 +EVP_CIPHER_asn1_to_param 2435 1_1_0d EXIST::FUNCTION: +SEED_cfb128_encrypt 2436 1_1_0d EXIST::FUNCTION:SEED +ENGINE_register_all_EC 2437 1_1_0d EXIST::FUNCTION:ENGINE +BN_abs_is_word 2438 1_1_0d EXIST::FUNCTION: +EVP_PKEY_set1_SM9 2439 1_1_0d EXIST::FUNCTION:SM9 +ECPARAMETERS_new 2440 1_1_0d EXIST::FUNCTION:EC +OCSP_REQUEST_get_ext 2441 1_1_0d EXIST::FUNCTION:OCSP +i2d_PaillierPrivateKey 2442 1_1_0d EXIST::FUNCTION:PAILLIER +ASN1_dup 2443 1_1_0d EXIST::FUNCTION: +OCSP_check_validity 2444 1_1_0d EXIST::FUNCTION:OCSP +EVP_CIPHER_CTX_num 2445 1_1_0d EXIST::FUNCTION: +ASRange_new 2446 1_1_0d EXIST::FUNCTION:RFC3779 +ASN1_OBJECT_create 2447 1_1_0d EXIST::FUNCTION: +d2i_PKCS12_fp 2448 1_1_0d EXIST::FUNCTION:STDIO +EVP_CIPHER_meth_get_cleanup 2449 1_1_0d EXIST::FUNCTION: +EVP_camellia_192_cfb128 2450 1_1_0d EXIST::FUNCTION:CAMELLIA +BN_BLINDING_unlock 2451 1_1_0d EXIST::FUNCTION: +CRYPTO_ccm128_encrypt_ccm64 2452 1_1_0d EXIST::FUNCTION: +ASN1_OCTET_STRING_new 2453 1_1_0d EXIST::FUNCTION: +EC_POINT_bn2point 2454 1_1_0d EXIST::FUNCTION:EC +TS_VERIFY_CTX_set_store 2455 1_1_0d EXIST::FUNCTION:TS +EC_POINT_point2oct 2456 1_1_0d EXIST::FUNCTION:EC +X509_set_serialNumber 2457 1_1_0d EXIST::FUNCTION: +BIO_puts 2458 1_1_0d EXIST::FUNCTION: +X509_REQ_get_pubkey 2459 1_1_0d EXIST::FUNCTION: +ERR_load_SKF_strings 2460 1_1_0d EXIST::FUNCTION:SKF +EVP_PKEY_get1_SM9_MASTER 2461 1_1_0d EXIST::FUNCTION:SM9 +TS_CONF_set_def_policy 2462 1_1_0d EXIST::FUNCTION:TS +EVP_DecryptInit_ex 2463 1_1_0d EXIST::FUNCTION: +PKCS7_ENVELOPE_free 2464 1_1_0d EXIST::FUNCTION: +PKCS7_DIGEST_new 2465 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_get_result_size 2466 1_1_0d EXIST::FUNCTION: +PEM_ASN1_read 2467 1_1_0d EXIST::FUNCTION:STDIO +SM2_do_verify 2468 1_1_0d EXIST::FUNCTION:SM2 +OCSP_SINGLERESP_get_ext_by_critical 2469 1_1_0d EXIST::FUNCTION:OCSP +PEM_read_ECPKParameters 2470 1_1_0d EXIST::FUNCTION:EC,STDIO +X509V3_EXT_CRL_add_nconf 2471 1_1_0d EXIST::FUNCTION: +EVP_des_ede3_ofb 2472 1_1_0d EXIST::FUNCTION:DES +DIST_POINT_NAME_free 2473 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_check_revocation 2474 1_1_0d EXIST::FUNCTION: +SKF_GetFileInfo 2475 1_1_0d EXIST::FUNCTION:SKF +PEM_ASN1_read_bio 2476 1_1_0d EXIST::FUNCTION: +SHA512_Update 2477 1_1_0d EXIST:!VMSVAX:FUNCTION: +EVP_sha512 2478 1_1_0d EXIST:!VMSVAX:FUNCTION: +PEM_write_bio_Parameters 2479 1_1_0d EXIST::FUNCTION: +ASN1_PCTX_set_oid_flags 2480 1_1_0d EXIST::FUNCTION: +EC_POINT_set_affine_coordinates_GFp 2481 1_1_0d EXIST::FUNCTION:EC +EVP_sms4_cbc 2482 1_1_0d EXIST::FUNCTION:SMS4 +PKCS7_SIGNER_INFO_free 2483 1_1_0d EXIST::FUNCTION: +CRYPTO_ctr128_encrypt_ctr32 2484 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_set 2485 1_1_0d EXIST::FUNCTION: +PKCS12_PBE_keyivgen 2486 1_1_0d EXIST::FUNCTION: +BN_BLINDING_free 2487 1_1_0d EXIST::FUNCTION: +SKF_DigestFinal 2488 1_1_0d EXIST::FUNCTION:SKF +SKF_GetDevStateName 2489 1_1_0d EXIST::FUNCTION:SKF +SKF_ImportPrivateKey 2490 1_1_0d EXIST::FUNCTION:SKF +X509_PUBKEY_get 2491 1_1_0d EXIST::FUNCTION: +EVP_DecryptFinal 2492 1_1_0d EXIST::FUNCTION: +X509_STORE_add_cert 2493 1_1_0d EXIST::FUNCTION: +DSA_meth_get_paramgen 2494 1_1_0d EXIST::FUNCTION:DSA +PAILLIER_ciphertext_scalar_mul 2495 1_1_0d EXIST::FUNCTION:PAILLIER +X509_ATTRIBUTE_set1_data 2496 1_1_0d EXIST::FUNCTION: +GENERAL_NAME_new 2497 1_1_0d EXIST::FUNCTION: +DH_compute_key_padded 2498 1_1_0d EXIST::FUNCTION:DH +EVP_sha256 2499 1_1_0d EXIST::FUNCTION: +UI_get_ex_data 2500 1_1_0d EXIST::FUNCTION:UI +ASN1_VISIBLESTRING_it 2501 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_VISIBLESTRING_it 2501 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +RAND_pseudo_bytes 2502 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +X509_VERIFY_PARAM_free 2503 1_1_0d EXIST::FUNCTION: +sm3_hmac_init 2504 1_1_0d EXIST::FUNCTION:SM3 +BIO_f_asn1 2505 1_1_0d EXIST::FUNCTION: +CRYPTO_get_mem_functions 2506 1_1_0d EXIST::FUNCTION: +X509_up_ref 2507 1_1_0d EXIST::FUNCTION: +i2d_RSAPrivateKey_fp 2508 1_1_0d EXIST::FUNCTION:RSA,STDIO +d2i_RSAPrivateKey_fp 2509 1_1_0d EXIST::FUNCTION:RSA,STDIO +CMS_verify 2510 1_1_0d EXIST::FUNCTION:CMS +i2d_OTHERNAME 2511 1_1_0d EXIST::FUNCTION: +DSO_convert_filename 2512 1_1_0d EXIST::FUNCTION: +X509_OBJECT_idx_by_subject 2513 1_1_0d EXIST::FUNCTION: +EC_GROUP_get0_seed 2514 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_add1_attr_by_txt 2515 1_1_0d EXIST::FUNCTION: +PEM_write_CMS 2516 1_1_0d EXIST::FUNCTION:CMS,STDIO +OCSP_resp_get0_certs 2517 1_1_0d EXIST::FUNCTION:OCSP +OCSP_RESPDATA_free 2518 1_1_0d EXIST::FUNCTION:OCSP +ISSUING_DIST_POINT_it 2519 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ISSUING_DIST_POINT_it 2519 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +CONF_load_fp 2520 1_1_0d EXIST::FUNCTION:STDIO +POLICY_CONSTRAINTS_it 2521 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +POLICY_CONSTRAINTS_it 2521 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EC_POINT_is_on_curve 2522 1_1_0d EXIST::FUNCTION:EC +EVP_BytesToKey 2523 1_1_0d EXIST::FUNCTION: +OPENSSL_memcmp 2524 1_1_0d EXIST::FUNCTION: +ENGINE_set_digests 2525 1_1_0d EXIST::FUNCTION:ENGINE +EVP_PKEY_decrypt_old 2526 1_1_0d EXIST::FUNCTION: +PKCS7_new 2527 1_1_0d EXIST::FUNCTION: +BN_get_rfc2409_prime_768 2528 1_1_0d EXIST::FUNCTION: +PKCS7_digest_from_attributes 2529 1_1_0d EXIST::FUNCTION: +X509_EXTENSION_get_data 2530 1_1_0d EXIST::FUNCTION: +d2i_NETSCAPE_SPKAC 2531 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_ext_by_OBJ 2532 1_1_0d EXIST::FUNCTION:TS +i2d_OCSP_REQINFO 2533 1_1_0d EXIST::FUNCTION:OCSP +i2d_X509 2534 1_1_0d EXIST::FUNCTION: +ENGINE_register_all_DSA 2535 1_1_0d EXIST::FUNCTION:ENGINE +PEM_read_ECPrivateKey 2536 1_1_0d EXIST::FUNCTION:EC,STDIO +ERR_get_error_line 2537 1_1_0d EXIST::FUNCTION: +EVP_aes_192_cfb128 2538 1_1_0d EXIST::FUNCTION: +CT_POLICY_EVAL_CTX_get0_log_store 2539 1_1_0d EXIST::FUNCTION:CT +EVP_EncryptFinal_ex 2540 1_1_0d EXIST::FUNCTION: +EC_KEY_set_ECCrefPrivateKey 2541 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +X509_delete_ext 2542 1_1_0d EXIST::FUNCTION: +ERR_peek_error_line 2543 1_1_0d EXIST::FUNCTION: +OCSP_BASICRESP_get_ext_count 2544 1_1_0d EXIST::FUNCTION:OCSP +RC2_ecb_encrypt 2545 1_1_0d EXIST::FUNCTION:RC2 +EVP_camellia_128_cfb1 2546 1_1_0d EXIST::FUNCTION:CAMELLIA +BIO_accept 2547 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK +ASN1_SCTX_get_flags 2548 1_1_0d EXIST::FUNCTION: +BN_GENCB_get_arg 2549 1_1_0d EXIST::FUNCTION: +X509V3_add_value_bool 2550 1_1_0d EXIST::FUNCTION: +PEM_read_SM9_MASTER_PUBKEY 2551 1_1_0d EXIST::FUNCTION:SM9,STDIO +BIO_meth_set_read 2552 1_1_0d EXIST::FUNCTION: +ENGINE_set_default_RSA 2553 1_1_0d EXIST::FUNCTION:ENGINE +EC_GROUP_clear_free 2554 1_1_0d EXIST::FUNCTION:EC +ASN1_GENERALSTRING_free 2555 1_1_0d EXIST::FUNCTION: +BN_GENCB_call 2556 1_1_0d EXIST::FUNCTION: +d2i_PaillierPrivateKey 2557 1_1_0d EXIST::FUNCTION:PAILLIER +CRYPTO_ocb128_copy_ctx 2558 1_1_0d EXIST::FUNCTION:OCB +BN_lshift 2559 1_1_0d EXIST::FUNCTION: +EVP_PKEY2PKCS8 2560 1_1_0d EXIST::FUNCTION: +d2i_OCSP_SINGLERESP 2561 1_1_0d EXIST::FUNCTION:OCSP +EVP_MD_CTX_set_update_fn 2562 1_1_0d EXIST::FUNCTION: +d2i_PROXY_POLICY 2563 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_encrypt 2564 1_1_0d EXIST::FUNCTION: +ECIES_CIPHERTEXT_VALUE_get_ECCCIPHERBLOB 2565 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SKF +X509_PURPOSE_get_count 2566 1_1_0d EXIST::FUNCTION: +BIO_meth_set_callback_ctrl 2567 1_1_0d EXIST::FUNCTION: +PEM_write_ECPrivateKey 2568 1_1_0d EXIST::FUNCTION:EC,STDIO +PKCS7_add_signer 2569 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_set_purpose 2570 1_1_0d EXIST::FUNCTION: +BN_options 2571 1_1_0d EXIST::FUNCTION: +ZUC_generate_keyword 2572 1_1_0d EXIST::FUNCTION:ZUC +PEM_write_SM9PublicKey 2573 1_1_0d EXIST::FUNCTION:SM9,STDIO +d2i_DSAPrivateKey_bio 2574 1_1_0d EXIST::FUNCTION:DSA +SDF_GetDeviceInfo 2575 1_1_0d EXIST::FUNCTION: +BN_mul 2576 1_1_0d EXIST::FUNCTION: +i2d_ISSUING_DIST_POINT 2577 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_get_update 2578 1_1_0d EXIST::FUNCTION: +SKF_EncryptInit 2579 1_1_0d EXIST::FUNCTION:SKF +ASYNC_start_job 2580 1_1_0d EXIST::FUNCTION: +UI_new_method 2581 1_1_0d EXIST::FUNCTION:UI +X509_get_default_cert_area 2582 1_1_0d EXIST::FUNCTION: +X509_REQ_get_attr_by_NID 2583 1_1_0d EXIST::FUNCTION: +UI_method_get_writer 2584 1_1_0d EXIST::FUNCTION:UI +GENERAL_SUBTREE_new 2585 1_1_0d EXIST::FUNCTION: +SCT_get_signature_nid 2586 1_1_0d EXIST::FUNCTION:CT +d2i_X509_REQ_INFO 2587 1_1_0d EXIST::FUNCTION: +DSA_set_flags 2588 1_1_0d EXIST::FUNCTION:DSA +EC_KEY_METHOD_get_decrypt 2589 1_1_0d EXIST::FUNCTION:SM2 +SHA1 2590 1_1_0d EXIST::FUNCTION: +X509_STORE_unlock 2591 1_1_0d EXIST::FUNCTION: +EVP_PKEY_add1_attr 2592 1_1_0d EXIST::FUNCTION: +ENGINE_register_ciphers 2593 1_1_0d EXIST::FUNCTION:ENGINE +RSA_meth_get_mod_exp 2594 1_1_0d EXIST::FUNCTION:RSA +BF_cbc_encrypt 2595 1_1_0d EXIST::FUNCTION:BF +Camellia_ctr128_encrypt 2596 1_1_0d EXIST::FUNCTION:CAMELLIA +d2i_PKCS7_SIGN_ENVELOPE 2597 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set_cert 2598 1_1_0d EXIST::FUNCTION: +ASN1_STRING_new 2599 1_1_0d EXIST::FUNCTION: +SKF_WriteFile 2600 1_1_0d EXIST::FUNCTION:SKF +RSA_meth_set_sign 2601 1_1_0d EXIST::FUNCTION:RSA +EVP_md2 2602 1_1_0d EXIST::FUNCTION:MD2 +BN_mod_sqrt 2603 1_1_0d EXIST::FUNCTION: +EC_KEY_get_ECCrefPrivateKey 2604 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +OCSP_CERTSTATUS_it 2605 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_CERTSTATUS_it 2605 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +BIO_meth_set_ctrl 2606 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_set_uint64 2607 1_1_0d EXIST::FUNCTION: +CONF_get_number 2608 1_1_0d EXIST::FUNCTION: +PKCS12_it 2609 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS12_it 2609 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_REVOKED_get0_serialNumber 2610 1_1_0d EXIST::FUNCTION: +SCT_get0_extensions 2611 1_1_0d EXIST::FUNCTION:CT +X509_CRL_it 2612 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_CRL_it 2612 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PEM_write_bio_ECPrivateKey 2613 1_1_0d EXIST::FUNCTION:EC +ENGINE_set_RSA 2614 1_1_0d EXIST::FUNCTION:ENGINE +X509_REQ_add1_attr_by_txt 2615 1_1_0d EXIST::FUNCTION: +CRYPTO_mem_debug_realloc 2616 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG +d2i_PrivateKey_bio 2617 1_1_0d EXIST::FUNCTION: +SRP_Calc_B 2618 1_1_0d EXIST::FUNCTION:SRP +OCSP_RESPID_set_by_name 2619 1_1_0d EXIST::FUNCTION:OCSP +EVP_add_alg_module 2620 1_1_0d EXIST::FUNCTION: +CMS_SignerInfo_get0_algs 2621 1_1_0d EXIST::FUNCTION:CMS +ENGINE_get_pkey_meth 2622 1_1_0d EXIST::FUNCTION:ENGINE +CAST_ecb_encrypt 2623 1_1_0d EXIST::FUNCTION:CAST +X509_alias_get0 2624 1_1_0d EXIST::FUNCTION: +SKF_DigestUpdate 2625 1_1_0d EXIST::FUNCTION:SKF +ASN1_UTCTIME_new 2626 1_1_0d EXIST::FUNCTION: +EC_GROUP_dup 2627 1_1_0d EXIST::FUNCTION:EC +DSO_flags 2628 1_1_0d EXIST::FUNCTION: +PKCS5_pbe_set0_algor 2629 1_1_0d EXIST::FUNCTION: +EVP_seed_cfb128 2630 1_1_0d EXIST::FUNCTION:SEED +EVP_MD_meth_get_copy 2631 1_1_0d EXIST::FUNCTION: +SM9_wrap_key 2632 1_1_0d EXIST::FUNCTION:SM9 +EC_POINT_get_affine_coordinates_GF2m 2633 1_1_0d EXIST::FUNCTION:EC,EC2M +X509_NAME_entry_count 2634 1_1_0d EXIST::FUNCTION: +d2i_X509_fp 2635 1_1_0d EXIST::FUNCTION:STDIO +PKCS12_unpack_p7data 2636 1_1_0d EXIST::FUNCTION: +BIO_get_data 2637 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_ktri_get0_signer_id 2638 1_1_0d EXIST::FUNCTION:CMS +X509_ATTRIBUTE_create_by_OBJ 2639 1_1_0d EXIST::FUNCTION: +OBJ_sigid_free 2640 1_1_0d EXIST::FUNCTION: +BN_mpi2bn 2641 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set0_verified_chain 2642 1_1_0d EXIST::FUNCTION: +PKCS5_pbkdf2_set 2643 1_1_0d EXIST::FUNCTION: +RSA_meth_dup 2644 1_1_0d EXIST::FUNCTION:RSA +OCSP_resp_count 2645 1_1_0d EXIST::FUNCTION:OCSP +X509_REQ_get_extensions 2646 1_1_0d EXIST::FUNCTION: +X509V3_set_conf_lhash 2647 1_1_0d EXIST::FUNCTION: +DH_set_length 2648 1_1_0d EXIST::FUNCTION:DH +DIST_POINT_it 2649 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +DIST_POINT_it 2649 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PKCS12_key_gen_uni 2650 1_1_0d EXIST::FUNCTION: +i2a_ACCESS_DESCRIPTION 2651 1_1_0d EXIST::FUNCTION: +ASN1_VISIBLESTRING_free 2652 1_1_0d EXIST::FUNCTION: +EC_GROUP_get_order 2653 1_1_0d EXIST::FUNCTION:EC +EC_GROUP_free 2654 1_1_0d EXIST::FUNCTION:EC +CONF_imodule_get_usr_data 2655 1_1_0d EXIST::FUNCTION: +SXNET_free 2656 1_1_0d EXIST::FUNCTION: +UI_set_method 2657 1_1_0d EXIST::FUNCTION:UI +d2i_CMS_ReceiptRequest 2658 1_1_0d EXIST::FUNCTION:CMS +EVP_MD_CTX_new 2659 1_1_0d EXIST::FUNCTION: +X509_EXTENSION_create_by_NID 2660 1_1_0d EXIST::FUNCTION: +BN_is_prime 2661 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 +X509_VERIFY_PARAM_clear_flags 2662 1_1_0d EXIST::FUNCTION: +EVP_camellia_128_cfb128 2663 1_1_0d EXIST::FUNCTION:CAMELLIA +BIO_set_retry_reason 2664 1_1_0d EXIST::FUNCTION: +DH_get_2048_256 2665 1_1_0d EXIST::FUNCTION:DH +RSA_meth_get_priv_dec 2666 1_1_0d EXIST::FUNCTION:RSA +TS_CONF_set_tsa_name 2667 1_1_0d EXIST::FUNCTION:TS +X509_alias_set1 2668 1_1_0d EXIST::FUNCTION: +ASN1_STRING_cmp 2669 1_1_0d EXIST::FUNCTION: +EVP_rc2_cfb64 2670 1_1_0d EXIST::FUNCTION:RC2 +ENGINE_unregister_ciphers 2671 1_1_0d EXIST::FUNCTION:ENGINE +EVP_PKEY_print_params 2672 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_get_nid 2673 1_1_0d EXIST::FUNCTION: +EC_KEY_METHOD_free 2674 1_1_0d EXIST::FUNCTION:EC +ASN1_parse_dump 2675 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get0_current_crl 2676 1_1_0d EXIST::FUNCTION: +X509_ATTRIBUTE_free 2677 1_1_0d EXIST::FUNCTION: +EVP_idea_cfb64 2678 1_1_0d EXIST::FUNCTION:IDEA +OCSP_request_is_signed 2679 1_1_0d EXIST::FUNCTION:OCSP +OCSP_CRLID_free 2680 1_1_0d EXIST::FUNCTION:OCSP +EC_KEY_METHOD_get_verify 2681 1_1_0d EXIST::FUNCTION:EC +EC_KEY_is_sm2p256v1 2682 1_1_0d EXIST::FUNCTION:SM2 +TS_VERIFY_CTX_set_data 2683 1_1_0d EXIST::FUNCTION:TS +d2i_ECPKParameters 2684 1_1_0d EXIST::FUNCTION:EC +X509_ALGOR_dup 2685 1_1_0d EXIST::FUNCTION: +SXNET_add_id_asc 2686 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_free 2687 1_1_0d EXIST::FUNCTION: +d2i_NETSCAPE_CERT_SEQUENCE 2688 1_1_0d EXIST::FUNCTION: +PEM_write_bio_PrivateKey_traditional 2689 1_1_0d EXIST::FUNCTION: +RIPEMD160_Final 2690 1_1_0d EXIST::FUNCTION:RMD160 +X509_STORE_add_lookup 2691 1_1_0d EXIST::FUNCTION: +RC5_32_cbc_encrypt 2692 1_1_0d EXIST::FUNCTION:RC5 +EVP_PKEY_verify 2693 1_1_0d EXIST::FUNCTION: +PKCS12_free 2694 1_1_0d EXIST::FUNCTION: +TS_REQ_get_cert_req 2695 1_1_0d EXIST::FUNCTION:TS +OCSP_REQ_CTX_get0_mem_bio 2696 1_1_0d EXIST::FUNCTION:OCSP +X509_VERIFY_PARAM_set1 2697 1_1_0d EXIST::FUNCTION: +OCSP_check_nonce 2698 1_1_0d EXIST::FUNCTION:OCSP +OPENSSL_sk_delete 2699 1_1_0d EXIST::FUNCTION: +ASN1_STRING_dup 2700 1_1_0d EXIST::FUNCTION: +OCSP_RESPONSE_print 2701 1_1_0d EXIST::FUNCTION:OCSP +TS_RESP_get_status_info 2702 1_1_0d EXIST::FUNCTION:TS +HMAC_Update 2703 1_1_0d EXIST::FUNCTION: +TS_REQ_print_bio 2704 1_1_0d EXIST::FUNCTION:TS +X509v3_addr_get_range 2705 1_1_0d EXIST::FUNCTION:RFC3779 +PEM_read_bio_EC_PUBKEY 2706 1_1_0d EXIST::FUNCTION:EC +PKCS12_key_gen_utf8 2707 1_1_0d EXIST::FUNCTION: +NCONF_dump_bio 2708 1_1_0d EXIST::FUNCTION: +i2d_ECCCipher 2709 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +SM2_KAP_prepare 2710 1_1_0d EXIST::FUNCTION:SM2 +OCSP_id_get0_info 2711 1_1_0d EXIST::FUNCTION:OCSP +EVP_PKEY_id 2712 1_1_0d EXIST::FUNCTION: +X509at_get_attr_by_NID 2713 1_1_0d EXIST::FUNCTION: +SRP_VBASE_get_by_user 2714 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SRP +ESS_CERT_ID_free 2715 1_1_0d EXIST::FUNCTION:TS +BIO_set_flags 2716 1_1_0d EXIST::FUNCTION: +i2d_ASIdentifierChoice 2717 1_1_0d EXIST::FUNCTION:RFC3779 +ENGINE_get_cipher 2718 1_1_0d EXIST::FUNCTION:ENGINE +RSA_get0_factors 2719 1_1_0d EXIST::FUNCTION:RSA +DSA_meth_set_verify 2720 1_1_0d EXIST::FUNCTION:DSA +TS_REQ_delete_ext 2721 1_1_0d EXIST::FUNCTION:TS +d2i_ECCCipher 2722 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +CMAC_Update 2723 1_1_0d EXIST::FUNCTION:CMAC +TS_REQ_set_policy_id 2724 1_1_0d EXIST::FUNCTION:TS +BIO_test_flags 2725 1_1_0d EXIST::FUNCTION: +EC_GROUP_method_of 2726 1_1_0d EXIST::FUNCTION:EC +OCSP_BASICRESP_new 2727 1_1_0d EXIST::FUNCTION:OCSP +DH_meth_set_generate_key 2728 1_1_0d EXIST::FUNCTION:DH +EVP_aes_128_ecb 2729 1_1_0d EXIST::FUNCTION: +ASYNC_init_thread 2730 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_ex_data 2731 1_1_0d EXIST::FUNCTION: +EC_get_builtin_curves 2732 1_1_0d EXIST::FUNCTION:EC +RSA_setup_blinding 2733 1_1_0d EXIST::FUNCTION:RSA +EC_GROUP_get_pentanomial_basis 2734 1_1_0d EXIST::FUNCTION:EC,EC2M +TS_TST_INFO_dup 2735 1_1_0d EXIST::FUNCTION:TS +EC_KEY_priv2oct 2736 1_1_0d EXIST::FUNCTION:EC +IPAddressFamily_it 2737 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +IPAddressFamily_it 2737 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +PEM_read_bio_SM9_MASTER_PUBKEY 2738 1_1_0d EXIST::FUNCTION:SM9 +CONF_modules_load 2739 1_1_0d EXIST::FUNCTION: +RAND_seed 2740 1_1_0d EXIST::FUNCTION: +i2d_SXNET 2741 1_1_0d EXIST::FUNCTION: +X509_NAME_get_text_by_NID 2742 1_1_0d EXIST::FUNCTION: +EVP_camellia_128_cfb8 2743 1_1_0d EXIST::FUNCTION:CAMELLIA +X509_ATTRIBUTE_create_by_NID 2744 1_1_0d EXIST::FUNCTION: +X509_REQ_to_X509 2745 1_1_0d EXIST::FUNCTION: +EVP_PKEY_set_type 2746 1_1_0d EXIST::FUNCTION: +CMAC_CTX_get0_cipher_ctx 2747 1_1_0d EXIST::FUNCTION:CMAC +d2i_DSAPrivateKey_fp 2748 1_1_0d EXIST::FUNCTION:DSA,STDIO +PaillierPublicKey_it 2749 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:PAILLIER +PaillierPublicKey_it 2749 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:PAILLIER +TS_TST_INFO_get_version 2750 1_1_0d EXIST::FUNCTION:TS +EVP_aes_256_xts 2751 1_1_0d EXIST::FUNCTION: +d2i_ESS_ISSUER_SERIAL 2752 1_1_0d EXIST::FUNCTION:TS +BN_bn2hex 2753 1_1_0d EXIST::FUNCTION: +ECIES_CIPHERTEXT_VALUE_new 2754 1_1_0d EXIST::FUNCTION:ECIES +PEM_read_bio_PKCS7 2755 1_1_0d EXIST::FUNCTION: +UTF8_getc 2756 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_it 2757 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_INTEGER_it 2757 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PROXY_CERT_INFO_EXTENSION_free 2758 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_cmp 2759 1_1_0d EXIST::FUNCTION: +BN_get_rfc3526_prime_3072 2760 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_delete_ext 2761 1_1_0d EXIST::FUNCTION:TS +BN_kronecker 2762 1_1_0d EXIST::FUNCTION: +UI_method_get_reader 2763 1_1_0d EXIST::FUNCTION:UI +TS_VERIFY_CTX_free 2764 1_1_0d EXIST::FUNCTION:TS +PEM_write_bio_CMS_stream 2765 1_1_0d EXIST::FUNCTION:CMS +PROXY_POLICY_free 2766 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get0_DSA 2767 1_1_0d EXIST::FUNCTION:DSA +RSAPublicKey_dup 2768 1_1_0d EXIST::FUNCTION:RSA +EVP_PKEY_encrypt_old 2769 1_1_0d EXIST::FUNCTION: +CMS_add1_ReceiptRequest 2770 1_1_0d EXIST::FUNCTION:CMS +RC5_32_cfb64_encrypt 2771 1_1_0d EXIST::FUNCTION:RC5 +BN_GF2m_mod_exp 2772 1_1_0d EXIST::FUNCTION:EC2M +EC_KEY_METHOD_set_keygen 2773 1_1_0d EXIST::FUNCTION:EC +RSA_get0_engine 2774 1_1_0d EXIST::FUNCTION:RSA +X509_REQ_get_signature_nid 2775 1_1_0d EXIST::FUNCTION: +CONF_set_nconf 2776 1_1_0d EXIST::FUNCTION: +SKF_ExportCertificate 2777 1_1_0d EXIST::FUNCTION:SKF +OPENSSL_buf2hexstr 2778 1_1_0d EXIST::FUNCTION: +X509V3_NAME_from_section 2779 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_set_ctrl 2780 1_1_0d EXIST::FUNCTION: +ASYNC_WAIT_CTX_get_all_fds 2781 1_1_0d EXIST::FUNCTION: +d2i_RSAPublicKey_fp 2782 1_1_0d EXIST::FUNCTION:RSA,STDIO +CRYPTO_secure_malloc_done 2783 1_1_0d EXIST::FUNCTION: +UI_get0_action_string 2784 1_1_0d EXIST::FUNCTION:UI +BIO_meth_free 2785 1_1_0d EXIST::FUNCTION: +ERR_load_OTP_strings 2786 1_1_0d EXIST::FUNCTION:OTP +X509_NAME_new 2787 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get0_EC_KEY 2788 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_CTX_ctrl 2789 1_1_0d EXIST::FUNCTION: +ASN1_OBJECT_new 2790 1_1_0d EXIST::FUNCTION: +X509_ATTRIBUTE_get0_type 2791 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_delete 2792 1_1_0d EXIST::FUNCTION: +DSO_bind_func 2793 1_1_0d EXIST::FUNCTION: +RC5_32_set_key 2794 1_1_0d EXIST::FUNCTION:RC5 +OPENSSL_LH_set_down_load 2795 1_1_0d EXIST::FUNCTION: +X509_get_pathlen 2796 1_1_0d EXIST::FUNCTION: +EC_KEY_clear_flags 2797 1_1_0d EXIST::FUNCTION:EC +RAND_write_file 2798 1_1_0d EXIST::FUNCTION: +X509V3_EXT_print 2799 1_1_0d EXIST::FUNCTION: +DSA_meth_get_mod_exp 2800 1_1_0d EXIST::FUNCTION:DSA +TS_VERIFY_CTX_add_flags 2801 1_1_0d EXIST::FUNCTION:TS +EVP_sms4_cfb8 2802 1_1_0d EXIST::FUNCTION:SMS4 +SM2CiphertextValue_set_ECCCIPHERBLOB 2803 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF,SM2 +SDF_PrintECCPublicKey 2804 1_1_0d EXIST::FUNCTION:SDF +PEM_read_X509_AUX 2805 1_1_0d EXIST::FUNCTION:STDIO +ERR_load_X509V3_strings 2806 1_1_0d EXIST::FUNCTION: +BN_MONT_CTX_new 2807 1_1_0d EXIST::FUNCTION: +ASYNC_get_wait_ctx 2808 1_1_0d EXIST::FUNCTION: +UI_get0_output_string 2809 1_1_0d EXIST::FUNCTION:UI +SCT_set_timestamp 2810 1_1_0d EXIST::FUNCTION:CT +PKCS12_SAFEBAG_get0_type 2811 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_set_int_octetstring 2812 1_1_0d EXIST::FUNCTION: +AES_bi_ige_encrypt 2813 1_1_0d EXIST::FUNCTION: +EC_KEY_new 2814 1_1_0d EXIST::FUNCTION:EC +PKCS7_it 2815 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_it 2815 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EC_KEY_can_sign 2816 1_1_0d EXIST::FUNCTION:EC +ASN1_i2d_fp 2817 1_1_0d EXIST::FUNCTION:STDIO +UI_add_info_string 2818 1_1_0d EXIST::FUNCTION:UI +i2d_ASN1_VISIBLESTRING 2819 1_1_0d EXIST::FUNCTION: +PKCS7_decrypt 2820 1_1_0d EXIST::FUNCTION: +BIO_dgram_is_sctp 2821 1_1_0d EXIST::FUNCTION:DGRAM,SCTP +i2d_PKCS12_fp 2822 1_1_0d EXIST::FUNCTION:STDIO +CAST_cfb64_encrypt 2823 1_1_0d EXIST::FUNCTION:CAST +OCSP_accept_responses_new 2824 1_1_0d EXIST::FUNCTION:OCSP +SM9PublicParameters_it 2825 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 +SM9PublicParameters_it 2825 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 +RSA_X931_derive_ex 2826 1_1_0d EXIST::FUNCTION:RSA +X509_REQ_get_version 2827 1_1_0d EXIST::FUNCTION: +BIO_printf 2828 1_1_0d EXIST::FUNCTION: +d2i_TS_STATUS_INFO 2829 1_1_0d EXIST::FUNCTION:TS +BN_mod_mul_reciprocal 2830 1_1_0d EXIST::FUNCTION: +KDF_get_x9_63 2831 1_1_0d EXIST::FUNCTION: +ERR_reason_error_string 2832 1_1_0d EXIST::FUNCTION: +ESS_SIGNING_CERT_dup 2833 1_1_0d EXIST::FUNCTION:TS +EVP_CIPHER_CTX_original_iv 2834 1_1_0d EXIST::FUNCTION: +EVP_DigestFinal_ex 2835 1_1_0d EXIST::FUNCTION: +ENGINE_get_destroy_function 2836 1_1_0d EXIST::FUNCTION:ENGINE +EC_KEY_METHOD_get_keygen 2837 1_1_0d EXIST::FUNCTION:EC +X509_CRL_new 2838 1_1_0d EXIST::FUNCTION: +OCSP_ONEREQ_get_ext_count 2839 1_1_0d EXIST::FUNCTION:OCSP +DH_generate_parameters_ex 2840 1_1_0d EXIST::FUNCTION:DH +OCSP_CERTID_it 2841 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_CERTID_it 2841 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +ASN1_IA5STRING_it 2842 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_IA5STRING_it 2842 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +BIO_ADDR_service_string 2843 1_1_0d EXIST::FUNCTION:SOCK +PKCS7_get_signer_info 2844 1_1_0d EXIST::FUNCTION: +ZUC_generate_keystream 2845 1_1_0d EXIST::FUNCTION:ZUC +TS_STATUS_INFO_get0_text 2846 1_1_0d EXIST::FUNCTION:TS +X509_VERIFY_PARAM_get_inh_flags 2847 1_1_0d EXIST::FUNCTION: +POLICYINFO_it 2848 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +POLICYINFO_it 2848 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +DSA_free 2849 1_1_0d EXIST::FUNCTION:DSA +EVP_CIPHER_meth_new 2850 1_1_0d EXIST::FUNCTION: +DES_set_odd_parity 2851 1_1_0d EXIST::FUNCTION:DES +SDF_CloseDevice 2852 1_1_0d EXIST::FUNCTION: +X509v3_addr_add_prefix 2853 1_1_0d EXIST::FUNCTION:RFC3779 +X509_PUBKEY_it 2854 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_PUBKEY_it 2854 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +i2d_ASN1_T61STRING 2855 1_1_0d EXIST::FUNCTION: +BN_nist_mod_func 2856 1_1_0d EXIST::FUNCTION: +sms4_ctr128_encrypt 2857 1_1_0d EXIST::FUNCTION:SMS4 +EVP_PKEY_CTX_set_cb 2858 1_1_0d EXIST::FUNCTION: +X509_REVOKED_get0_revocationDate 2859 1_1_0d EXIST::FUNCTION: +ENGINE_set_init_function 2860 1_1_0d EXIST::FUNCTION:ENGINE +BIO_dump_indent_fp 2861 1_1_0d EXIST::FUNCTION:STDIO +SKF_ImportSessionKey 2862 1_1_0d EXIST::FUNCTION:SKF +X509_CRL_cmp 2863 1_1_0d EXIST::FUNCTION: +TS_X509_ALGOR_print_bio 2864 1_1_0d EXIST::FUNCTION:TS +SCT_set_log_entry_type 2865 1_1_0d EXIST::FUNCTION:CT +ASN1_parse 2866 1_1_0d EXIST::FUNCTION: +SRP_create_verifier 2867 1_1_0d EXIST::FUNCTION:SRP +ASIdOrRange_free 2868 1_1_0d EXIST::FUNCTION:RFC3779 +X509_VERIFY_PARAM_set_time 2869 1_1_0d EXIST::FUNCTION: +ASN1_STRING_get0_data 2870 1_1_0d EXIST::FUNCTION: +OTHERNAME_free 2871 1_1_0d EXIST::FUNCTION: +X509_CERT_AUX_free 2872 1_1_0d EXIST::FUNCTION: +BIO_s_secmem 2873 1_1_0d EXIST::FUNCTION: +OCSP_crl_reason_str 2874 1_1_0d EXIST::FUNCTION:OCSP +OCSP_BASICRESP_get_ext 2875 1_1_0d EXIST::FUNCTION:OCSP +OCSP_ONEREQ_free 2876 1_1_0d EXIST::FUNCTION:OCSP +CMAC_CTX_free 2877 1_1_0d EXIST::FUNCTION:CMAC +RSA_set_method 2878 1_1_0d EXIST::FUNCTION:RSA +EVP_CIPHER_param_to_asn1 2879 1_1_0d EXIST::FUNCTION: +EVP_mdc2 2880 1_1_0d EXIST::FUNCTION:MDC2 +EC_KEY_METHOD_set_verify 2881 1_1_0d EXIST::FUNCTION:EC +EVP_MD_CTX_pkey_ctx 2882 1_1_0d EXIST::FUNCTION: +ENGINE_set_cmd_defns 2883 1_1_0d EXIST::FUNCTION:ENGINE +d2i_ASIdentifierChoice 2884 1_1_0d EXIST::FUNCTION:RFC3779 +ASN1_ENUMERATED_to_BN 2885 1_1_0d EXIST::FUNCTION: +COMP_CTX_new 2886 1_1_0d EXIST::FUNCTION:COMP +ESS_ISSUER_SERIAL_dup 2887 1_1_0d EXIST::FUNCTION:TS +EVP_des_ede3_cfb8 2888 1_1_0d EXIST::FUNCTION:DES +OCSP_RESPID_free 2889 1_1_0d EXIST::FUNCTION:OCSP +RSAPrivateKey_dup 2890 1_1_0d EXIST::FUNCTION:RSA +BASIC_CONSTRAINTS_free 2891 1_1_0d EXIST::FUNCTION: +X509_STORE_get_check_policy 2892 1_1_0d EXIST::FUNCTION: +ECIES_CIPHERTEXT_VALUE_new_from_ECCCipher 2893 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SDF +OBJ_add_object 2894 1_1_0d EXIST::FUNCTION: +BN_CTX_end 2895 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_set_cipher_data 2896 1_1_0d EXIST::FUNCTION: +ASN1_buf_print 2897 1_1_0d EXIST::FUNCTION: +BN_sm2_mod_256 2898 1_1_0d EXIST::FUNCTION:SM2 +SKF_Mac 2899 1_1_0d EXIST::FUNCTION:SKF +EC_GROUP_get_curve_GF2m 2900 1_1_0d EXIST::FUNCTION:EC,EC2M +ENGINE_get_digest 2901 1_1_0d EXIST::FUNCTION:ENGINE +X509_CRL_get_ext_by_NID 2902 1_1_0d EXIST::FUNCTION: +OCSP_sendreq_nbio 2903 1_1_0d EXIST::FUNCTION:OCSP +TS_REQ_get_ext_count 2904 1_1_0d EXIST::FUNCTION:TS +RSA_meth_get_finish 2905 1_1_0d EXIST::FUNCTION:RSA +PEM_write_bio_X509_REQ 2906 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_set_tsa 2907 1_1_0d EXIST::FUNCTION:TS +OPENSSL_sk_insert 2908 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_copy 2909 1_1_0d EXIST::FUNCTION: +PKCS12_get_attr_gen 2910 1_1_0d EXIST::FUNCTION: +ESS_CERT_ID_dup 2911 1_1_0d EXIST::FUNCTION:TS +EVP_DigestFinal 2912 1_1_0d EXIST::FUNCTION: +X509_NAME_set 2913 1_1_0d EXIST::FUNCTION: +TS_CONF_set_clock_precision_digits 2914 1_1_0d EXIST::FUNCTION:TS +UI_add_input_string 2915 1_1_0d EXIST::FUNCTION:UI +CMS_EncryptedData_encrypt 2916 1_1_0d EXIST::FUNCTION:CMS +X509_STORE_load_locations 2917 1_1_0d EXIST::FUNCTION: +i2d_EC_PUBKEY_fp 2918 1_1_0d EXIST::FUNCTION:EC,STDIO +TS_TST_INFO_new 2919 1_1_0d EXIST::FUNCTION:TS +BIO_s_bio 2920 1_1_0d EXIST::FUNCTION: +d2i_RSAPrivateKey 2921 1_1_0d EXIST::FUNCTION:RSA +BN_get_rfc2409_prime_1024 2922 1_1_0d EXIST::FUNCTION: +ASIdentifierChoice_it 2923 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +ASIdentifierChoice_it 2923 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +X509_STORE_CTX_set_error 2924 1_1_0d EXIST::FUNCTION: +PEM_read_SM9PublicKey 2925 1_1_0d EXIST::FUNCTION:SM9,STDIO +i2a_ASN1_OBJECT 2926 1_1_0d EXIST::FUNCTION: +X509_CRL_get0_by_serial 2927 1_1_0d EXIST::FUNCTION: +ENGINE_get_first 2928 1_1_0d EXIST::FUNCTION:ENGINE +EC_POINTs_make_affine 2929 1_1_0d EXIST::FUNCTION:EC +RC4_set_key 2930 1_1_0d EXIST::FUNCTION:RC4 +PEM_write_SM9PrivateKey 2931 1_1_0d EXIST::FUNCTION:SM9,STDIO +i2d_TS_REQ_bio 2932 1_1_0d EXIST::FUNCTION:TS +X509_VERIFY_PARAM_set_flags 2933 1_1_0d EXIST::FUNCTION: +BIO_parse_hostserv 2934 1_1_0d EXIST::FUNCTION:SOCK +PKCS7_dup 2935 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_find 2936 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_num_items 2937 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_meth_set_set_asn1_params 2938 1_1_0d EXIST::FUNCTION: +ECPARAMETERS_it 2939 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:EC +ECPARAMETERS_it 2939 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:EC +PKCS7_free 2940 1_1_0d EXIST::FUNCTION: +PKCS7_ENVELOPE_it 2941 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_ENVELOPE_it 2941 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_get_extension_flags 2942 1_1_0d EXIST::FUNCTION: +X509_get_proxy_pathlen 2943 1_1_0d EXIST::FUNCTION: +PKCS7_ISSUER_AND_SERIAL_digest 2944 1_1_0d EXIST::FUNCTION: +BIO_meth_get_ctrl 2945 1_1_0d EXIST::FUNCTION: +i2d_OCSP_RESPDATA 2946 1_1_0d EXIST::FUNCTION:OCSP +X509_CRL_sign_ctx 2947 1_1_0d EXIST::FUNCTION: +i2d_PKCS7_ENCRYPT 2948 1_1_0d EXIST::FUNCTION: +SM2_KAP_final_check 2949 1_1_0d EXIST::FUNCTION:SM2 +EVP_CIPHER_type 2950 1_1_0d EXIST::FUNCTION: +CMS_EnvelopedData_create 2951 1_1_0d EXIST::FUNCTION:CMS +BN_get_rfc3526_prime_8192 2952 1_1_0d EXIST::FUNCTION: +EVP_sms4_ocb 2953 1_1_0d EXIST::FUNCTION:SMS4 +BN_generate_prime_ex 2954 1_1_0d EXIST::FUNCTION: +i2d_PKCS7_ENC_CONTENT 2955 1_1_0d EXIST::FUNCTION: +PBKDF2PARAM_it 2956 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PBKDF2PARAM_it 2956 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +CMS_ReceiptRequest_it 2957 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMS +CMS_ReceiptRequest_it 2957 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMS +POLICY_MAPPING_it 2958 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +POLICY_MAPPING_it 2958 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +CMS_stream 2959 1_1_0d EXIST::FUNCTION:CMS +d2i_X509_REQ_fp 2960 1_1_0d EXIST::FUNCTION:STDIO +SKF_ConnectDev 2961 1_1_0d EXIST::FUNCTION:SKF +EC_KEY_check_key 2962 1_1_0d EXIST::FUNCTION:EC +X509_policy_node_get0_qualifiers 2963 1_1_0d EXIST::FUNCTION: +DH_new_method 2964 1_1_0d EXIST::FUNCTION:DH +X509v3_addr_validate_path 2965 1_1_0d EXIST::FUNCTION:RFC3779 +BUF_MEM_new 2966 1_1_0d EXIST::FUNCTION: +ASN1_STRING_length 2967 1_1_0d EXIST::FUNCTION: +PEM_write_bio_SM9MasterSecret 2968 1_1_0d EXIST::FUNCTION:SM9 +PEM_def_callback 2969 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get0_current_issuer 2970 1_1_0d EXIST::FUNCTION: +SM9Signature_it 2971 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 +SM9Signature_it 2971 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 +i2d_SM9MasterSecret_fp 2972 1_1_0d EXIST::FUNCTION:SM9,STDIO +TS_TST_INFO_set_ordering 2973 1_1_0d EXIST::FUNCTION:TS +X509_PKEY_new 2974 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set_verify 2975 1_1_0d EXIST::FUNCTION: +CBIGNUM_it 2976 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +CBIGNUM_it 2976 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +SHA224_Init 2977 1_1_0d EXIST::FUNCTION: +RC2_decrypt 2978 1_1_0d EXIST::FUNCTION:RC2 +ASN1_UNIVERSALSTRING_new 2979 1_1_0d EXIST::FUNCTION: +PKCS8_pkey_set0 2980 1_1_0d EXIST::FUNCTION: +TS_RESP_verify_signature 2981 1_1_0d EXIST::FUNCTION:TS +IDEA_ecb_encrypt 2982 1_1_0d EXIST::FUNCTION:IDEA +CRYPTO_ocb128_finish 2983 1_1_0d EXIST::FUNCTION:OCB +ENGINE_register_EC 2984 1_1_0d EXIST::FUNCTION:ENGINE +PEM_read_bio_CMS 2985 1_1_0d EXIST::FUNCTION:CMS +CMS_add_standard_smimecap 2986 1_1_0d EXIST::FUNCTION:CMS +ASN1_OBJECT_it 2987 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_OBJECT_it 2987 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_REQ_get1_email 2988 1_1_0d EXIST::FUNCTION: +d2i_X509_ALGORS 2989 1_1_0d EXIST::FUNCTION: +CRYPTO_zalloc 2990 1_1_0d EXIST::FUNCTION: +BIO_ctrl_get_read_request 2991 1_1_0d EXIST::FUNCTION: +OBJ_obj2nid 2992 1_1_0d EXIST::FUNCTION: +SKF_DeleteContainer 2993 1_1_0d EXIST::FUNCTION:SKF +BN_X931_derive_prime_ex 2994 1_1_0d EXIST::FUNCTION: +PBEPARAM_free 2995 1_1_0d EXIST::FUNCTION: +BN_bntest_rand 2996 1_1_0d EXIST::FUNCTION: +OCSP_ONEREQ_add_ext 2997 1_1_0d EXIST::FUNCTION:OCSP +EVP_aes_128_wrap_pad 2998 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_get_ext_by_NID 2999 1_1_0d EXIST::FUNCTION:TS +ECDSA_SIG_set_ECCSignature 3000 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +d2i_NETSCAPE_SPKI 3001 1_1_0d EXIST::FUNCTION: +RSA_private_decrypt 3002 1_1_0d EXIST::FUNCTION:RSA +DSO_global_lookup 3003 1_1_0d EXIST::FUNCTION: +d2i_PKCS12 3004 1_1_0d EXIST::FUNCTION: +i2d_DHxparams 3005 1_1_0d EXIST::FUNCTION:DH +ASN1_bn_print 3006 1_1_0d EXIST::FUNCTION: +CMS_signed_add1_attr_by_txt 3007 1_1_0d EXIST::FUNCTION:CMS +EVP_PKEY_new 3008 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_set 3009 1_1_0d EXIST::FUNCTION: +UI_add_verify_string 3010 1_1_0d EXIST::FUNCTION:UI +OCSP_archive_cutoff_new 3011 1_1_0d EXIST::FUNCTION:OCSP +TS_RESP_create_response 3012 1_1_0d EXIST::FUNCTION:TS +EVP_aes_128_cfb8 3013 1_1_0d EXIST::FUNCTION: +WHIRLPOOL 3014 1_1_0d EXIST::FUNCTION:WHIRLPOOL +i2d_X509_ATTRIBUTE 3015 1_1_0d EXIST::FUNCTION: +PAILLIER_new 3016 1_1_0d EXIST::FUNCTION:PAILLIER +X509at_get_attr 3017 1_1_0d EXIST::FUNCTION: +PBE2PARAM_it 3018 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PBE2PARAM_it 3018 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_PKCS7_ENC_CONTENT 3019 1_1_0d EXIST::FUNCTION: +MDC2_Final 3020 1_1_0d EXIST::FUNCTION:MDC2 +d2i_X509_REQ_bio 3021 1_1_0d EXIST::FUNCTION: +SM9_compute_share_key_A 3022 1_1_0d EXIST::FUNCTION:SM9 +ISSUING_DIST_POINT_new 3023 1_1_0d EXIST::FUNCTION: +OCSP_parse_url 3024 1_1_0d EXIST::FUNCTION:OCSP +OCSP_CERTSTATUS_new 3025 1_1_0d EXIST::FUNCTION:OCSP +CMS_add0_RevocationInfoChoice 3026 1_1_0d EXIST::FUNCTION:CMS +OCSP_RESPDATA_it 3027 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_RESPDATA_it 3027 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +EVP_EncryptFinal 3028 1_1_0d EXIST::FUNCTION: +EVP_SealInit 3029 1_1_0d EXIST::FUNCTION:RSA +X509_get_ext_by_NID 3030 1_1_0d EXIST::FUNCTION: +ENGINE_get_default_DH 3031 1_1_0d EXIST::FUNCTION:ENGINE +SHA1_Update 3032 1_1_0d EXIST::FUNCTION: +CTLOG_get0_public_key 3033 1_1_0d EXIST::FUNCTION:CT +i2d_PublicKey 3034 1_1_0d EXIST::FUNCTION: +OCSP_RESPID_set_by_key 3035 1_1_0d EXIST::FUNCTION:OCSP +ASN1_UTCTIME_set_string 3036 1_1_0d EXIST::FUNCTION: +ASN1_TIME_diff 3037 1_1_0d EXIST::FUNCTION: +ASN1_put_eoc 3038 1_1_0d EXIST::FUNCTION: +DH_meth_get_finish 3039 1_1_0d EXIST::FUNCTION:DH +EVP_aes_192_cfb1 3040 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_get0_peername 3041 1_1_0d EXIST::FUNCTION: +TS_MSG_IMPRINT_set_msg 3042 1_1_0d EXIST::FUNCTION:TS +BN_get_params 3043 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 +RSA_get0_key 3044 1_1_0d EXIST::FUNCTION:RSA +d2i_DSA_PUBKEY 3045 1_1_0d EXIST::FUNCTION:DSA +X509_STORE_CTX_init 3046 1_1_0d EXIST::FUNCTION: +X509_check_email 3047 1_1_0d EXIST::FUNCTION: +CMS_add0_recipient_password 3048 1_1_0d EXIST::FUNCTION:CMS +PKCS7_SIGN_ENVELOPE_free 3049 1_1_0d EXIST::FUNCTION: +BN_CTX_start 3050 1_1_0d EXIST::FUNCTION: +ASN1_BIT_STRING_set 3051 1_1_0d EXIST::FUNCTION: +EVP_md_null 3052 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_set_octetstring 3053 1_1_0d EXIST::FUNCTION: +X509_REVOKED_get0_extensions 3054 1_1_0d EXIST::FUNCTION: +X509_find_by_issuer_and_serial 3055 1_1_0d EXIST::FUNCTION: +EVP_idea_ecb 3056 1_1_0d EXIST::FUNCTION:IDEA +d2i_SM2CiphertextValue_fp 3057 1_1_0d EXIST::FUNCTION:SM2,STDIO +CRYPTO_ccm128_aad 3058 1_1_0d EXIST::FUNCTION: +PKCS7_ENCRYPT_it 3059 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_ENCRYPT_it 3059 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_ENCODE_CTX_copy 3060 1_1_0d EXIST::FUNCTION: +TS_MSG_IMPRINT_get_msg 3061 1_1_0d EXIST::FUNCTION:TS +DH_meth_get_generate_params 3062 1_1_0d EXIST::FUNCTION:DH +AUTHORITY_INFO_ACCESS_it 3063 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +AUTHORITY_INFO_ACCESS_it 3063 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_PublicKey 3064 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_get_tst_info 3065 1_1_0d EXIST::FUNCTION:TS +CMS_decrypt_set1_key 3066 1_1_0d EXIST::FUNCTION:CMS +X509_CRL_get0_by_cert 3067 1_1_0d EXIST::FUNCTION: +BN_bn2mpi 3068 1_1_0d EXIST::FUNCTION: +MDC2 3069 1_1_0d EXIST::FUNCTION:MDC2 +TS_CONF_set_crypto_device 3070 1_1_0d EXIST::FUNCTION:ENGINE,TS +X509v3_asid_subset 3071 1_1_0d EXIST::FUNCTION:RFC3779 +TS_TST_INFO_set_nonce 3072 1_1_0d EXIST::FUNCTION:TS +EVP_CIPHER_CTX_iv 3073 1_1_0d EXIST::FUNCTION: +CMS_get1_ReceiptRequest 3074 1_1_0d EXIST::FUNCTION:CMS +ECIES_PARAMS_init_with_type 3075 1_1_0d EXIST::FUNCTION:ECIES +DH_get_length 3076 1_1_0d EXIST::FUNCTION:DH +X509_REQ_print 3077 1_1_0d EXIST::FUNCTION: +BIO_s_mem 3078 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_meth_get_get_asn1_params 3079 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_error 3080 1_1_0d EXIST::FUNCTION: +PEM_read_RSAPublicKey 3081 1_1_0d EXIST::FUNCTION:RSA,STDIO +EVP_rc4_hmac_md5 3082 1_1_0d EXIST::FUNCTION:MD5,RC4 +EVP_EncryptInit 3083 1_1_0d EXIST::FUNCTION: +b2i_PublicKey_bio 3084 1_1_0d EXIST::FUNCTION:DSA +X509_NAME_ENTRY_create_by_txt 3085 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_get_current_id 3086 1_1_0d EXIST::FUNCTION: +CAST_ofb64_encrypt 3087 1_1_0d EXIST::FUNCTION:CAST +SKF_DevAuth 3088 1_1_0d EXIST::FUNCTION:SKF +PEM_write_RSAPublicKey 3089 1_1_0d EXIST::FUNCTION:RSA,STDIO +IDEA_cfb64_encrypt 3090 1_1_0d EXIST::FUNCTION:IDEA +i2d_NETSCAPE_CERT_SEQUENCE 3091 1_1_0d EXIST::FUNCTION: +PEM_write_bio_SM9_PUBKEY 3092 1_1_0d EXIST::FUNCTION:SM9 +EVP_PKEY_CTX_set0_keygen_info 3093 1_1_0d EXIST::FUNCTION: +ERR_load_SDF_strings 3094 1_1_0d EXIST::FUNCTION:SDF +RSA_padding_check_none 3095 1_1_0d EXIST::FUNCTION:RSA +ASN1_UTCTIME_it 3096 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_UTCTIME_it 3096 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +AUTHORITY_KEYID_new 3097 1_1_0d EXIST::FUNCTION: +CRYPTO_set_mem_debug 3098 1_1_0d EXIST::FUNCTION: +X509_NAME_ENTRY_create_by_OBJ 3099 1_1_0d EXIST::FUNCTION: +CONF_get_section 3100 1_1_0d EXIST::FUNCTION: +SKF_ExtECCSign 3101 1_1_0d EXIST::FUNCTION:SKF +BIO_callback_ctrl 3102 1_1_0d EXIST::FUNCTION: +TS_REQ_set_cert_req 3103 1_1_0d EXIST::FUNCTION:TS +EC_KEY_METHOD_get_init 3104 1_1_0d EXIST::FUNCTION:EC +TS_ACCURACY_free 3105 1_1_0d EXIST::FUNCTION:TS +CRYPTO_THREAD_init_local 3106 1_1_0d EXIST::FUNCTION: +CRYPTO_128_wrap 3107 1_1_0d EXIST::FUNCTION: +COMP_CTX_get_type 3108 1_1_0d EXIST::FUNCTION:COMP +X509_print 3109 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get_attr 3110 1_1_0d EXIST::FUNCTION: +EC_KEY_set_flags 3111 1_1_0d EXIST::FUNCTION:EC +i2d_SM9MasterSecret_bio 3112 1_1_0d EXIST::FUNCTION:SM9 +EVP_des_ecb 3113 1_1_0d EXIST::FUNCTION:DES +PKCS12_SAFEBAG_get0_p8inf 3114 1_1_0d EXIST::FUNCTION: +X509at_get_attr_by_OBJ 3115 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_free 3116 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_iv_length 3117 1_1_0d EXIST::FUNCTION: +DSA_do_verify 3118 1_1_0d EXIST::FUNCTION:DSA +PEM_read_bio_X509_AUX 3119 1_1_0d EXIST::FUNCTION: +BF_encrypt 3120 1_1_0d EXIST::FUNCTION:BF +X509at_add1_attr_by_txt 3121 1_1_0d EXIST::FUNCTION: +PEM_get_EVP_CIPHER_INFO 3122 1_1_0d EXIST::FUNCTION: +ENGINE_register_all_complete 3123 1_1_0d EXIST::FUNCTION:ENGINE +UI_UTIL_read_pw 3124 1_1_0d EXIST::FUNCTION:UI +X509_STORE_get0_objects 3125 1_1_0d EXIST::FUNCTION: +i2d_OCSP_CERTSTATUS 3126 1_1_0d EXIST::FUNCTION:OCSP +EVP_seed_cbc 3127 1_1_0d EXIST::FUNCTION:SEED +EVP_MD_meth_set_input_blocksize 3128 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set0_dane 3129 1_1_0d EXIST::FUNCTION: +CRYPTO_cbc128_decrypt 3130 1_1_0d EXIST::FUNCTION: +b2i_PrivateKey_bio 3131 1_1_0d EXIST::FUNCTION:DSA +X509_NAME_get_entry 3132 1_1_0d EXIST::FUNCTION: +X509_REQ_new 3133 1_1_0d EXIST::FUNCTION: +DSA_meth_set_paramgen 3134 1_1_0d EXIST::FUNCTION:DSA +EVP_PKEY_CTX_get_sgd 3135 1_1_0d EXIST::FUNCTION:GMAPI +TS_RESP_CTX_free 3136 1_1_0d EXIST::FUNCTION:TS +DSA_bits 3137 1_1_0d EXIST::FUNCTION:DSA +i2d_PKCS7_NDEF 3138 1_1_0d EXIST::FUNCTION: +BIO_new_mem_buf 3139 1_1_0d EXIST::FUNCTION: +X509at_add1_attr_by_OBJ 3140 1_1_0d EXIST::FUNCTION: +EC_GROUP_set_curve_name 3141 1_1_0d EXIST::FUNCTION:EC +ASN1_GENERALIZEDTIME_free 3142 1_1_0d EXIST::FUNCTION: +EVP_aes_192_cfb8 3143 1_1_0d EXIST::FUNCTION: +X509_ATTRIBUTE_it 3144 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_ATTRIBUTE_it 3144 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_X509_REQ 3145 1_1_0d EXIST::FUNCTION: +CT_POLICY_EVAL_CTX_set1_issuer 3146 1_1_0d EXIST::FUNCTION:CT +CRYPTO_128_unwrap_pad 3147 1_1_0d EXIST::FUNCTION: +d2i_ASN1_ENUMERATED 3148 1_1_0d EXIST::FUNCTION: +ASN1_ENUMERATED_it 3149 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_ENUMERATED_it 3149 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ENGINE_set_id 3150 1_1_0d EXIST::FUNCTION:ENGINE +BN_zero_ex 3151 1_1_0d EXIST::FUNCTION: +i2d_ASN1_INTEGER 3152 1_1_0d EXIST::FUNCTION: +PKCS7_simple_smimecap 3153 1_1_0d EXIST::FUNCTION: +ERR_load_X509_strings 3154 1_1_0d EXIST::FUNCTION: +DH_get0_key 3155 1_1_0d EXIST::FUNCTION:DH +OBJ_NAME_cleanup 3156 1_1_0d EXIST::FUNCTION: +SRP_Calc_u 3157 1_1_0d EXIST::FUNCTION:SRP +BIO_s_datagram_sctp 3158 1_1_0d EXIST::FUNCTION:DGRAM,SCTP +X509_NAME_it 3159 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_NAME_it 3159 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +OCSP_response_status_str 3160 1_1_0d EXIST::FUNCTION:OCSP +ESS_ISSUER_SERIAL_new 3161 1_1_0d EXIST::FUNCTION:TS +ENGINE_get_default_DSA 3162 1_1_0d EXIST::FUNCTION:ENGINE +SEED_cbc_encrypt 3163 1_1_0d EXIST::FUNCTION:SEED +X509v3_get_ext_by_critical 3164 1_1_0d EXIST::FUNCTION: +ASN1_BIT_STRING_name_print 3165 1_1_0d EXIST::FUNCTION: +PKCS12_BAGS_new 3166 1_1_0d EXIST::FUNCTION: +EVP_ENCODE_CTX_num 3167 1_1_0d EXIST::FUNCTION: +TS_STATUS_INFO_set_status 3168 1_1_0d EXIST::FUNCTION:TS +EC_GROUP_set_point_conversion_form 3169 1_1_0d EXIST::FUNCTION:EC +CMS_RecipientInfo_encrypt 3170 1_1_0d EXIST::FUNCTION:CMS +BN_RECP_CTX_new 3171 1_1_0d EXIST::FUNCTION: +SDF_GenerateKeyWithEPK_RSA 3172 1_1_0d EXIST::FUNCTION: +ERR_load_BN_strings 3173 1_1_0d EXIST::FUNCTION: +X509_CRL_print 3174 1_1_0d EXIST::FUNCTION: +X509_CRL_get_signature_nid 3175 1_1_0d EXIST::FUNCTION: +X509_TRUST_get_trust 3176 1_1_0d EXIST::FUNCTION: +ASN1_STRING_free 3177 1_1_0d EXIST::FUNCTION: +SKF_PrintECCCipher 3178 1_1_0d EXIST::FUNCTION:SKF +DH_meth_get_generate_key 3179 1_1_0d EXIST::FUNCTION:DH +TS_TST_INFO_get_serial 3180 1_1_0d EXIST::FUNCTION:TS +EVP_PKEY_asn1_copy 3181 1_1_0d EXIST::FUNCTION: +BN_pseudo_rand 3182 1_1_0d EXIST::FUNCTION: +EVP_bf_cfb64 3183 1_1_0d EXIST::FUNCTION:BF +RSA_meth_get_verify 3184 1_1_0d EXIST::FUNCTION:RSA +X509_EXTENSIONS_it 3185 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_EXTENSIONS_it 3185 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ERR_add_error_data 3186 1_1_0d EXIST::FUNCTION: +BN_bn2lebinpad 3187 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_meth_set_iv_length 3188 1_1_0d EXIST::FUNCTION: +PKCS12_get_friendlyname 3189 1_1_0d EXIST::FUNCTION: +CTLOG_new_from_base64 3190 1_1_0d EXIST::FUNCTION:CT +d2i_ASN1_TYPE 3191 1_1_0d EXIST::FUNCTION: +CRYPTO_memdup 3192 1_1_0d EXIST::FUNCTION: +ASN1_BMPSTRING_free 3193 1_1_0d EXIST::FUNCTION: +PKEY_USAGE_PERIOD_free 3194 1_1_0d EXIST::FUNCTION: +OPENSSL_INIT_new 3195 1_1_0d EXIST::FUNCTION: +EVP_desx_cbc 3196 1_1_0d EXIST::FUNCTION:DES +ASN1_STRING_copy 3197 1_1_0d EXIST::FUNCTION: +EVP_EncodeUpdate 3198 1_1_0d EXIST::FUNCTION: +X509_pubkey_digest 3199 1_1_0d EXIST::FUNCTION: +ERR_load_UI_strings 3200 1_1_0d EXIST::FUNCTION:UI +X509_PURPOSE_get0 3201 1_1_0d EXIST::FUNCTION: +ASN1_BMPSTRING_new 3202 1_1_0d EXIST::FUNCTION: +CMS_EncryptedData_set1_key 3203 1_1_0d EXIST::FUNCTION:CMS +CRYPTO_xts128_encrypt 3204 1_1_0d EXIST::FUNCTION: +CRYPTO_cts128_decrypt 3205 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_ctrl 3206 1_1_0d EXIST::FUNCTION: +EVP_sms4_cfb1 3207 1_1_0d EXIST::FUNCTION:SMS4 +BN_BLINDING_set_flags 3208 1_1_0d EXIST::FUNCTION: +d2i_OCSP_BASICRESP 3209 1_1_0d EXIST::FUNCTION:OCSP +ERR_set_error_data 3210 1_1_0d EXIST::FUNCTION: +PKCS7_add_attrib_smimecap 3211 1_1_0d EXIST::FUNCTION: +SDF_Encrypt 3212 1_1_0d EXIST::FUNCTION: +EVP_aes_256_ocb 3213 1_1_0d EXIST::FUNCTION:OCB +GENERAL_NAMES_it 3214 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +GENERAL_NAMES_it 3214 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +a2i_ASN1_ENUMERATED 3215 1_1_0d EXIST::FUNCTION: +i2d_AUTHORITY_INFO_ACCESS 3216 1_1_0d EXIST::FUNCTION: +OCSP_REQINFO_free 3217 1_1_0d EXIST::FUNCTION:OCSP +d2i_ECParameters 3218 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_print_public 3219 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_get_cleanup 3220 1_1_0d EXIST::FUNCTION: +CMS_RecipientEncryptedKey_get0_id 3221 1_1_0d EXIST::FUNCTION:CMS +d2i_IPAddressChoice 3222 1_1_0d EXIST::FUNCTION:RFC3779 +BIO_next 3223 1_1_0d EXIST::FUNCTION: +X509_CRL_get_nextUpdate 3224 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +EVP_MD_meth_new 3225 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_pop 3226 1_1_0d EXIST::FUNCTION: +X509_policy_node_get0_parent 3227 1_1_0d EXIST::FUNCTION: +OCSP_REVOKEDINFO_new 3228 1_1_0d EXIST::FUNCTION:OCSP +BIO_lookup 3229 1_1_0d EXIST::FUNCTION:SOCK +i2d_SM2CiphertextValue 3230 1_1_0d EXIST::FUNCTION:SM2 +EVP_CIPHER_meth_set_do_cipher 3231 1_1_0d EXIST::FUNCTION: +ASN1_add_oid_module 3232 1_1_0d EXIST::FUNCTION: +SM9_extract_public_key 3233 1_1_0d EXIST::FUNCTION:SM9 +ERR_clear_error 3234 1_1_0d EXIST::FUNCTION: +ASN1_TIME_set_string 3235 1_1_0d EXIST::FUNCTION: +ECCPRIVATEKEYBLOB_set_private_key 3236 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +X509_CRL_sort 3237 1_1_0d EXIST::FUNCTION: +sms4_ofb128_encrypt 3238 1_1_0d EXIST::FUNCTION:SMS4 +DSA_generate_parameters 3239 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8,DSA +SM9_do_verify 3240 1_1_0d EXIST::FUNCTION:SM9 +ERR_put_error 3241 1_1_0d EXIST::FUNCTION: +PEM_read_bio_ECPKParameters 3242 1_1_0d EXIST::FUNCTION:EC +EVP_idea_cbc 3243 1_1_0d EXIST::FUNCTION:IDEA +OCSP_REQ_CTX_free 3244 1_1_0d EXIST::FUNCTION:OCSP +BIO_ADDR_hostname_string 3245 1_1_0d EXIST::FUNCTION:SOCK +EC_KEY_METHOD_get_compute_key 3246 1_1_0d EXIST::FUNCTION:EC +EVP_MD_type 3247 1_1_0d EXIST::FUNCTION: +X509_STORE_set_verify 3248 1_1_0d EXIST::FUNCTION: +EVP_PBE_CipherInit 3249 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_new 3250 1_1_0d EXIST::FUNCTION: +RSA_padding_check_PKCS1_OAEP_mgf1 3251 1_1_0d EXIST::FUNCTION:RSA +TS_RESP_CTX_set_accuracy 3252 1_1_0d EXIST::FUNCTION:TS +CMS_SignerInfo_get0_pkey_ctx 3253 1_1_0d EXIST::FUNCTION:CMS +CONF_set_default_method 3254 1_1_0d EXIST::FUNCTION: +i2d_ASN1_TYPE 3255 1_1_0d EXIST::FUNCTION: +ASN1_STRING_print_ex_fp 3256 1_1_0d EXIST::FUNCTION:STDIO +BN_rand_range 3257 1_1_0d EXIST::FUNCTION: +EVP_aes_128_ctr 3258 1_1_0d EXIST::FUNCTION: +SM2CiphertextValue_get_ECCCipher 3259 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF,SM2 +CMS_RecipientInfo_kari_get0_orig_id 3260 1_1_0d EXIST::FUNCTION:CMS +i2o_SCT_LIST 3261 1_1_0d EXIST::FUNCTION:CT +OCSP_RESPBYTES_new 3262 1_1_0d EXIST::FUNCTION:OCSP +X509_LOOKUP_ctrl 3263 1_1_0d EXIST::FUNCTION: +X509_SIG_get0 3264 1_1_0d EXIST::FUNCTION: +WHIRLPOOL_BitUpdate 3265 1_1_0d EXIST::FUNCTION:WHIRLPOOL +OPENSSL_LH_doall_arg 3266 1_1_0d EXIST::FUNCTION: +CMAC_CTX_cleanup 3267 1_1_0d EXIST::FUNCTION:CMAC +X509_STORE_CTX_cleanup 3268 1_1_0d EXIST::FUNCTION: +ASN1_d2i_bio 3269 1_1_0d EXIST::FUNCTION: +i2d_OCSP_SINGLERESP 3270 1_1_0d EXIST::FUNCTION:OCSP +TS_TST_INFO_set_version 3271 1_1_0d EXIST::FUNCTION:TS +X509_CERT_AUX_new 3272 1_1_0d EXIST::FUNCTION: +EC_KEY_set_ECCPRIVATEKEYBLOB 3273 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +X509_REQ_sign_ctx 3274 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_set1_host 3275 1_1_0d EXIST::FUNCTION: +EVP_rc5_32_12_16_cfb64 3276 1_1_0d EXIST::FUNCTION:RC5 +NETSCAPE_CERT_SEQUENCE_free 3277 1_1_0d EXIST::FUNCTION: +SKF_ExtRSAPubKeyOperation 3278 1_1_0d EXIST::FUNCTION:SKF +EC_KEY_set_public_key 3279 1_1_0d EXIST::FUNCTION:EC +OCSP_BASICRESP_free 3280 1_1_0d EXIST::FUNCTION:OCSP +EVP_PKEY_meth_get_cleanup 3281 1_1_0d EXIST::FUNCTION: +d2i_X509_NAME 3282 1_1_0d EXIST::FUNCTION: +PEM_read_EC_PUBKEY 3283 1_1_0d EXIST::FUNCTION:EC,STDIO +SDF_FreeECCCipher 3284 1_1_0d EXIST::FUNCTION:SDF +X509_NAME_hash 3285 1_1_0d EXIST::FUNCTION: +PEM_write_bio_PUBKEY 3286 1_1_0d EXIST::FUNCTION: +RAND_get_rand_method 3287 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_type 3288 1_1_0d EXIST::FUNCTION:CMS +ECDH_compute_key 3289 1_1_0d EXIST::FUNCTION:EC +EVP_MD_meth_get_final 3290 1_1_0d EXIST::FUNCTION: +TS_CONF_set_serial 3291 1_1_0d EXIST::FUNCTION:TS +RSA_padding_add_SSLv23 3292 1_1_0d EXIST::FUNCTION:RSA +CRYPTO_num_locks 3293 1_1_0d EXIST::FUNCTION: +ASN1_UNIVERSALSTRING_it 3294 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_UNIVERSALSTRING_it 3294 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_OBJECT_retrieve_match 3295 1_1_0d EXIST::FUNCTION: +BN_div_recp 3296 1_1_0d EXIST::FUNCTION: +SKF_GenerateAgreementDataWithECC 3297 1_1_0d EXIST::FUNCTION:SKF +BN_GF2m_mod_mul 3298 1_1_0d EXIST::FUNCTION:EC2M +ENGINE_register_RAND 3299 1_1_0d EXIST::FUNCTION:ENGINE +d2i_ECDSA_SIG_fp 3300 1_1_0d EXIST::FUNCTION:EC,STDIO +PBKDF2PARAM_new 3301 1_1_0d EXIST::FUNCTION: +EVP_PKEY_verify_recover_init 3302 1_1_0d EXIST::FUNCTION: +d2i_PrivateKey_fp 3303 1_1_0d EXIST::FUNCTION:STDIO +CMS_signed_add1_attr 3304 1_1_0d EXIST::FUNCTION:CMS +EC_GROUP_copy 3305 1_1_0d EXIST::FUNCTION:EC +BN_rshift1 3306 1_1_0d EXIST::FUNCTION: +DIRECTORYSTRING_new 3307 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_print_bio 3308 1_1_0d EXIST::FUNCTION:TS +i2d_SM9MasterSecret 3309 1_1_0d EXIST::FUNCTION:SM9 +BIO_dgram_sctp_msg_waiting 3310 1_1_0d EXIST::FUNCTION:DGRAM,SCTP +EVP_PKEY_delete_attr 3311 1_1_0d EXIST::FUNCTION: +X509_NAME_ENTRY_dup 3312 1_1_0d EXIST::FUNCTION: +X509_CRL_set1_lastUpdate 3313 1_1_0d EXIST::FUNCTION: +BN_is_word 3314 1_1_0d EXIST::FUNCTION: +EVP_aes_128_ccm 3315 1_1_0d EXIST::FUNCTION: +SM9_decrypt 3316 1_1_0d EXIST::FUNCTION:SM9 +EVP_CIPHER_CTX_cipher 3317 1_1_0d EXIST::FUNCTION: +SDF_HashUpdate 3318 1_1_0d EXIST::FUNCTION: +SM9_extract_public_parameters 3319 1_1_0d EXIST::FUNCTION:SM9 +EVP_sms4_ecb 3320 1_1_0d EXIST::FUNCTION:SMS4 +i2b_PVK_bio 3321 1_1_0d EXIST::FUNCTION:DSA,RC4 +X509_PURPOSE_get0_sname 3322 1_1_0d EXIST::FUNCTION: +X509_CINF_free 3323 1_1_0d EXIST::FUNCTION: +USERNOTICE_new 3324 1_1_0d EXIST::FUNCTION: +EVP_PKEY_bits 3325 1_1_0d EXIST::FUNCTION: +X509_ALGORS_it 3326 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_ALGORS_it 3326 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_PKEY_asn1_new 3327 1_1_0d EXIST::FUNCTION: +ECDSA_size 3328 1_1_0d EXIST::FUNCTION:EC +ECIES_decrypt 3329 1_1_0d EXIST::FUNCTION:ECIES +X509_http_nbio 3330 1_1_0d EXIST::FUNCTION:OCSP +DIRECTORYSTRING_it 3331 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +DIRECTORYSTRING_it 3331 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ASN1_TIME_print 3332 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_add_md 3333 1_1_0d EXIST::FUNCTION:TS +CRYPTO_realloc 3334 1_1_0d EXIST::FUNCTION: +i2d_SM9PrivateKey_fp 3335 1_1_0d EXIST::FUNCTION:SM9,STDIO +OCSP_CERTID_dup 3336 1_1_0d EXIST::FUNCTION:OCSP +i2d_OCSP_REVOKEDINFO 3337 1_1_0d EXIST::FUNCTION:OCSP +SM9Signature_free 3338 1_1_0d EXIST::FUNCTION:SM9 +RSA_null_method 3339 1_1_0d EXIST::FUNCTION:RSA +PEM_write_bio_PaillierPublicKey 3340 1_1_0d EXIST::FUNCTION:PAILLIER +X509_CRL_dup 3341 1_1_0d EXIST::FUNCTION: +X509_policy_check 3342 1_1_0d EXIST::FUNCTION: +OBJ_NAME_do_all_sorted 3343 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_create_pkcs8_encrypt 3344 1_1_0d EXIST::FUNCTION: +ASN1_PCTX_get_cert_flags 3345 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_nid 3346 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_shift 3347 1_1_0d EXIST::FUNCTION: +EVP_CipherFinal 3348 1_1_0d EXIST::FUNCTION: +i2d_TS_TST_INFO_bio 3349 1_1_0d EXIST::FUNCTION:TS +OCSP_response_get1_basic 3350 1_1_0d EXIST::FUNCTION:OCSP +ENGINE_init 3351 1_1_0d EXIST::FUNCTION:ENGINE +EVP_PKEY_verify_init 3352 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_set_encrypt 3353 1_1_0d EXIST::FUNCTION: +BIO_meth_set_create 3354 1_1_0d EXIST::FUNCTION: +PEM_write_bio_PKCS7 3355 1_1_0d EXIST::FUNCTION: +EC_GROUP_new 3356 1_1_0d EXIST::FUNCTION:EC +CT_POLICY_EVAL_CTX_free 3357 1_1_0d EXIST::FUNCTION:CT +OCSP_ONEREQ_get_ext_by_NID 3358 1_1_0d EXIST::FUNCTION:OCSP +ASN1_UTCTIME_cmp_time_t 3359 1_1_0d EXIST::FUNCTION: +GENERAL_NAME_it 3360 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +GENERAL_NAME_it 3360 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PKCS12_add_friendlyname_uni 3361 1_1_0d EXIST::FUNCTION: +ERR_unload_strings 3362 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_create_crl 3363 1_1_0d EXIST::FUNCTION: +DH_size 3364 1_1_0d EXIST::FUNCTION:DH +EVP_des_cbc 3365 1_1_0d EXIST::FUNCTION:DES +i2d_ASN1_GENERALIZEDTIME 3366 1_1_0d EXIST::FUNCTION: +OCSP_BASICRESP_add_ext 3367 1_1_0d EXIST::FUNCTION:OCSP +BN_gcd 3368 1_1_0d EXIST::FUNCTION: +OBJ_NAME_do_all 3369 1_1_0d EXIST::FUNCTION: +PEM_read_bio 3370 1_1_0d EXIST::FUNCTION: +ECIES_CIPHERTEXT_VALUE_get_ECCCipher 3371 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SDF +RIPEMD160_Init 3372 1_1_0d EXIST::FUNCTION:RMD160 +ASN1_STRING_print_ex 3373 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_free 3374 1_1_0d EXIST::FUNCTION: +DH_meth_set_init 3375 1_1_0d EXIST::FUNCTION:DH +SKF_EncryptFinal 3376 1_1_0d EXIST::FUNCTION:SKF +EVP_rc2_64_cbc 3377 1_1_0d EXIST::FUNCTION:RC2 +DSA_set_method 3378 1_1_0d EXIST::FUNCTION:DSA +EVP_get_digestbysgd 3379 1_1_0d EXIST::FUNCTION:GMAPI +BN_security_bits 3380 1_1_0d EXIST::FUNCTION: +i2d_DSAPrivateKey 3381 1_1_0d EXIST::FUNCTION:DSA +X509_certificate_type 3382 1_1_0d EXIST::FUNCTION: +X509_LOOKUP_new 3383 1_1_0d EXIST::FUNCTION: +ENGINE_set_default_string 3384 1_1_0d EXIST::FUNCTION:ENGINE +EC_POINT_clear_free 3385 1_1_0d EXIST::FUNCTION:EC +ERR_load_BIO_strings 3386 1_1_0d EXIST::FUNCTION: +OBJ_dup 3387 1_1_0d EXIST::FUNCTION: +ASN1_TIME_free 3388 1_1_0d EXIST::FUNCTION: +EVP_idea_ofb 3389 1_1_0d EXIST::FUNCTION:IDEA +X509V3_EXT_add_nconf_sk 3390 1_1_0d EXIST::FUNCTION: +SDF_GenerateKeyWithIPK_ECC 3391 1_1_0d EXIST::FUNCTION: +RC5_32_ofb64_encrypt 3392 1_1_0d EXIST::FUNCTION:RC5 +GENERAL_NAME_get0_value 3393 1_1_0d EXIST::FUNCTION: +X509_policy_tree_get0_user_policies 3394 1_1_0d EXIST::FUNCTION: +PEM_write_bio_DHxparams 3395 1_1_0d EXIST::FUNCTION:DH +BIO_dgram_sctp_notification_cb 3396 1_1_0d EXIST::FUNCTION:DGRAM,SCTP +SKF_GenerateKeyWithECC 3397 1_1_0d EXIST::FUNCTION:SKF +EVP_PKEY_get0_DH 3398 1_1_0d EXIST::FUNCTION:DH +SKF_GetDevState 3399 1_1_0d EXIST::FUNCTION:SKF +ECIES_do_decrypt 3400 1_1_0d EXIST::FUNCTION:ECIES +AES_set_encrypt_key 3401 1_1_0d EXIST::FUNCTION: +PEM_read_NETSCAPE_CERT_SEQUENCE 3402 1_1_0d EXIST::FUNCTION:STDIO +BN_bn2bin 3403 1_1_0d EXIST::FUNCTION: +POLICYINFO_new 3404 1_1_0d EXIST::FUNCTION: +DH_check 3405 1_1_0d EXIST::FUNCTION:DH +EC_KEY_get_enc_flags 3406 1_1_0d EXIST::FUNCTION:EC +UI_set_ex_data 3407 1_1_0d EXIST::FUNCTION:UI +PKCS7_SIGNER_INFO_new 3408 1_1_0d EXIST::FUNCTION: +SMIME_read_ASN1 3409 1_1_0d EXIST::FUNCTION: +OCSP_id_issuer_cmp 3410 1_1_0d EXIST::FUNCTION:OCSP +EVP_PKEY_CTX_ctrl_str 3411 1_1_0d EXIST::FUNCTION: +X509_STORE_get_verify 3412 1_1_0d EXIST::FUNCTION: +TS_ACCURACY_get_seconds 3413 1_1_0d EXIST::FUNCTION:TS +PEM_write_PKCS8_PRIV_KEY_INFO 3414 1_1_0d EXIST::FUNCTION:STDIO +EVP_DigestInit_ex 3415 1_1_0d EXIST::FUNCTION: +PEM_read_bio_PUBKEY 3416 1_1_0d EXIST::FUNCTION: +i2d_RSAPublicKey 3417 1_1_0d EXIST::FUNCTION:RSA +X509_TRUST_set 3418 1_1_0d EXIST::FUNCTION: +BN_uadd 3419 1_1_0d EXIST::FUNCTION: +OCSP_REQ_CTX_http 3420 1_1_0d EXIST::FUNCTION:OCSP +X509_PURPOSE_get_trust 3421 1_1_0d EXIST::FUNCTION: +RSA_verify_PKCS1_PSS_mgf1 3422 1_1_0d EXIST::FUNCTION:RSA +BIO_meth_set_puts 3423 1_1_0d EXIST::FUNCTION: +FIPS_mode_set 3424 1_1_0d EXIST::FUNCTION: +OPENSSL_INIT_free 3425 1_1_0d EXIST::FUNCTION: +CMS_SignerInfo_sign 3426 1_1_0d EXIST::FUNCTION:CMS +X509_CRL_INFO_it 3427 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_CRL_INFO_it 3427 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ASN1_PCTX_set_str_flags 3428 1_1_0d EXIST::FUNCTION: +i2s_ASN1_INTEGER 3429 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_status_info 3430 1_1_0d EXIST::FUNCTION:TS +X509_get_ex_data 3431 1_1_0d EXIST::FUNCTION: +CRYPTO_gcm128_encrypt_ctr32 3432 1_1_0d EXIST::FUNCTION: +DH_security_bits 3433 1_1_0d EXIST::FUNCTION:DH +BIO_ADDR_path_string 3434 1_1_0d EXIST::FUNCTION:SOCK +SDF_ImportKeyWithISK_ECC 3435 1_1_0d EXIST::FUNCTION: +i2d_ASN1_GENERALSTRING 3436 1_1_0d EXIST::FUNCTION: +sms4_ecb_encrypt 3437 1_1_0d EXIST::FUNCTION:SMS4 +EVP_sms4_ctr 3438 1_1_0d EXIST::FUNCTION:SMS4 +CMS_signed_get_attr_by_OBJ 3439 1_1_0d EXIST::FUNCTION:CMS +EVP_PKEY_get1_SM9 3440 1_1_0d EXIST::FUNCTION:SM9 +d2i_EC_PUBKEY_bio 3441 1_1_0d EXIST::FUNCTION:EC +PKCS7_ISSUER_AND_SERIAL_new 3442 1_1_0d EXIST::FUNCTION: +i2d_EDIPARTYNAME 3443 1_1_0d EXIST::FUNCTION: +ERR_lib_error_string 3444 1_1_0d EXIST::FUNCTION: +ASN1_INTEGER_set_int64 3445 1_1_0d EXIST::FUNCTION: +BN_mod_exp 3446 1_1_0d EXIST::FUNCTION: +EC_curve_nid2nist 3447 1_1_0d EXIST::FUNCTION:EC +IPAddressChoice_new 3448 1_1_0d EXIST::FUNCTION:RFC3779 +DES_string_to_key 3449 1_1_0d EXIST::FUNCTION:DES +RSA_X931_generate_key_ex 3450 1_1_0d EXIST::FUNCTION:RSA +PEM_write_bio_PKCS8PrivateKey 3451 1_1_0d EXIST::FUNCTION: +i2d_OCSP_CERTID 3452 1_1_0d EXIST::FUNCTION:OCSP +i2d_X509_ALGORS 3453 1_1_0d EXIST::FUNCTION: +i2d_X509_CINF 3454 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get0_chain 3455 1_1_0d EXIST::FUNCTION: +ASN1_NULL_it 3456 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_NULL_it 3456 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_MD_meth_get_flags 3457 1_1_0d EXIST::FUNCTION: +i2d_OCSP_SIGNATURE 3458 1_1_0d EXIST::FUNCTION:OCSP +EC_KEY_up_ref 3459 1_1_0d EXIST::FUNCTION:EC +i2d_SM9_MASTER_PUBKEY 3460 1_1_0d EXIST::FUNCTION:SM9 +X509_REVOKED_set_revocationDate 3461 1_1_0d EXIST::FUNCTION: +EVP_get_pw_prompt 3462 1_1_0d EXIST::FUNCTION:UI +i2d_TS_ACCURACY 3463 1_1_0d EXIST::FUNCTION:TS +BIO_set_init 3464 1_1_0d EXIST::FUNCTION: +i2d_DISPLAYTEXT 3465 1_1_0d EXIST::FUNCTION: +X509V3_section_free 3466 1_1_0d EXIST::FUNCTION: +X509_STORE_set_check_issued 3467 1_1_0d EXIST::FUNCTION: +PEM_read_bio_DSA_PUBKEY 3468 1_1_0d EXIST::FUNCTION:DSA +BN_sub 3469 1_1_0d EXIST::FUNCTION: +i2d_TS_TST_INFO 3470 1_1_0d EXIST::FUNCTION:TS +X509_REQ_INFO_free 3471 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_get0_name 3472 1_1_0d EXIST::FUNCTION: +PKCS12_unpack_authsafes 3473 1_1_0d EXIST::FUNCTION: +ENGINE_get_static_state 3474 1_1_0d EXIST::FUNCTION:ENGINE +SKF_OpenContainer 3475 1_1_0d EXIST::FUNCTION:SKF +X509_REQ_get0_signature 3476 1_1_0d EXIST::FUNCTION: +TS_RESP_set_status_info 3477 1_1_0d EXIST::FUNCTION:TS +EVP_MD_meth_set_flags 3478 1_1_0d EXIST::FUNCTION: +OCSP_REVOKEDINFO_free 3479 1_1_0d EXIST::FUNCTION:OCSP +OCSP_request_set1_name 3480 1_1_0d EXIST::FUNCTION:OCSP +SCT_validation_status_string 3481 1_1_0d EXIST::FUNCTION:CT +LONG_it 3482 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +LONG_it 3482 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +OPENSSL_sk_push 3483 1_1_0d EXIST::FUNCTION: +i2d_X509_NAME 3484 1_1_0d EXIST::FUNCTION: +TS_REQ_to_TS_VERIFY_CTX 3485 1_1_0d EXIST::FUNCTION:TS +EVP_aes_256_cfb8 3486 1_1_0d EXIST::FUNCTION: +SRP_Calc_server_key 3487 1_1_0d EXIST::FUNCTION:SRP +X509_REVOKED_get_ext_by_NID 3488 1_1_0d EXIST::FUNCTION: +X509_CRL_http_nbio 3489 1_1_0d EXIST::FUNCTION:OCSP +X509_EXTENSION_new 3490 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_set_sign 3491 1_1_0d EXIST::FUNCTION: +DSA_meth_set_bn_mod_exp 3492 1_1_0d EXIST::FUNCTION:DSA +HMAC_CTX_new 3493 1_1_0d EXIST::FUNCTION: +X509_get0_signature 3494 1_1_0d EXIST::FUNCTION: +TS_STATUS_INFO_get0_status 3495 1_1_0d EXIST::FUNCTION:TS +X509_REQ_set_extension_nids 3496 1_1_0d EXIST::FUNCTION: +SKF_UnloadLibrary 3497 1_1_0d EXIST::FUNCTION:SKF +OPENSSL_sk_unshift 3498 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set0_crls 3499 1_1_0d EXIST::FUNCTION: +i2d_X509_CERT_AUX 3500 1_1_0d EXIST::FUNCTION: +i2d_OCSP_RESPBYTES 3501 1_1_0d EXIST::FUNCTION:OCSP +EVP_aes_128_wrap 3502 1_1_0d EXIST::FUNCTION: +BN_get0_sm2_prime_256 3503 1_1_0d EXIST::FUNCTION:SM2 +BN_get0_nist_prime_384 3504 1_1_0d EXIST::FUNCTION: +EVP_aes_192_ecb 3505 1_1_0d EXIST::FUNCTION: +d2i_ASN1_OCTET_STRING 3506 1_1_0d EXIST::FUNCTION: +sm3_hmac 3507 1_1_0d EXIST::FUNCTION:SM3 +X509_STORE_free 3508 1_1_0d EXIST::FUNCTION: +DES_ede3_cfb_encrypt 3509 1_1_0d EXIST::FUNCTION:DES +TS_CONF_set_default_engine 3510 1_1_0d EXIST::FUNCTION:ENGINE,TS +i2o_SM2CiphertextValue 3511 1_1_0d EXIST::FUNCTION:SM2 +EC_KEY_GmSSL 3512 1_1_0d EXIST::FUNCTION:SM2 +ECDSA_sign_ex 3513 1_1_0d EXIST::FUNCTION:EC +CRYPTO_ocb128_setiv 3514 1_1_0d EXIST::FUNCTION:OCB +OPENSSL_issetugid 3515 1_1_0d EXIST::FUNCTION: +DSO_dsobyaddr 3516 1_1_0d EXIST::FUNCTION: +ENGINE_register_all_RSA 3517 1_1_0d EXIST::FUNCTION:ENGINE +AES_unwrap_key 3518 1_1_0d EXIST::FUNCTION: +IPAddressRange_it 3519 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 +IPAddressRange_it 3519 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 +X509_TRUST_cleanup 3520 1_1_0d EXIST::FUNCTION: +X509_load_cert_crl_file 3521 1_1_0d EXIST::FUNCTION: +CMS_unsigned_get_attr_count 3522 1_1_0d EXIST::FUNCTION:CMS +PKCS12_mac_present 3523 1_1_0d EXIST::FUNCTION: +CRYPTO_nistcts128_encrypt 3524 1_1_0d EXIST::FUNCTION: +X509_CRL_add0_revoked 3525 1_1_0d EXIST::FUNCTION: +BIO_meth_get_callback_ctrl 3526 1_1_0d EXIST::FUNCTION: +i2d_PKCS12_MAC_DATA 3527 1_1_0d EXIST::FUNCTION: +d2i_USERNOTICE 3528 1_1_0d EXIST::FUNCTION: +EC_KEY_set_private_key 3529 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_meth_get_paramgen 3530 1_1_0d EXIST::FUNCTION: +BIO_set_callback_arg 3531 1_1_0d EXIST::FUNCTION: +CAST_cbc_encrypt 3532 1_1_0d EXIST::FUNCTION:CAST +SKF_CloseHandle 3533 1_1_0d EXIST::FUNCTION:SKF +OCSP_resp_get0 3534 1_1_0d EXIST::FUNCTION:OCSP +SM9_verify 3535 1_1_0d EXIST::FUNCTION:SM9 +ASN1_TYPE_free 3536 1_1_0d EXIST::FUNCTION: +RSA_padding_add_PKCS1_PSS_mgf1 3537 1_1_0d EXIST::FUNCTION:RSA +BIO_hex_string 3538 1_1_0d EXIST::FUNCTION: +ASN1_tag2str 3539 1_1_0d EXIST::FUNCTION: +EVP_bf_cbc 3540 1_1_0d EXIST::FUNCTION:BF +AES_wrap_key 3541 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_value 3542 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set_current_cert 3543 1_1_0d EXIST::FUNCTION: +ASN1_PRINTABLE_type 3544 1_1_0d EXIST::FUNCTION: +OTHERNAME_it 3545 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +OTHERNAME_it 3545 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +CRYPTO_ccm128_tag 3546 1_1_0d EXIST::FUNCTION: +WHIRLPOOL_Init 3547 1_1_0d EXIST::FUNCTION:WHIRLPOOL +i2d_PBKDF2PARAM 3548 1_1_0d EXIST::FUNCTION: +OPENSSL_gmtime_diff 3549 1_1_0d EXIST::FUNCTION: +BIO_new_connect 3550 1_1_0d EXIST::FUNCTION:SOCK +SM2_sign 3551 1_1_0d EXIST::FUNCTION:SM2 +OBJ_nid2obj 3552 1_1_0d EXIST::FUNCTION: +EVP_aes_256_ctr 3553 1_1_0d EXIST::FUNCTION: +TS_TST_INFO_free 3554 1_1_0d EXIST::FUNCTION:TS +i2o_ECPublicKey 3555 1_1_0d EXIST::FUNCTION:EC +d2i_ASN1_BMPSTRING 3556 1_1_0d EXIST::FUNCTION: +d2i_ASN1_GENERALSTRING 3557 1_1_0d EXIST::FUNCTION: +BN_print_fp 3558 1_1_0d EXIST::FUNCTION:STDIO +CMS_add0_cert 3559 1_1_0d EXIST::FUNCTION:CMS +X509_CINF_new 3560 1_1_0d EXIST::FUNCTION: +PEM_read_SM9_PUBKEY 3561 1_1_0d EXIST::FUNCTION:SM9,STDIO +SMIME_text 3562 1_1_0d EXIST::FUNCTION: +i2d_ECCSIGNATUREBLOB 3563 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +DSA_get_ex_data 3564 1_1_0d EXIST::FUNCTION:DSA +i2d_PUBKEY 3565 1_1_0d EXIST::FUNCTION: +i2d_X509_fp 3566 1_1_0d EXIST::FUNCTION:STDIO +EVP_PKEY_asn1_get_count 3567 1_1_0d EXIST::FUNCTION: +X509_OBJECT_new 3568 1_1_0d EXIST::FUNCTION: +BN_GF2m_mod_inv_arr 3569 1_1_0d EXIST::FUNCTION:EC2M +CMS_uncompress 3570 1_1_0d EXIST::FUNCTION:CMS +ENGINE_set_ctrl_function 3571 1_1_0d EXIST::FUNCTION:ENGINE +ERR_load_GMAPI_strings 3572 1_1_0d EXIST::FUNCTION:GMAPI +ERR_print_errors_fp 3573 1_1_0d EXIST::FUNCTION:STDIO +a2i_ASN1_STRING 3574 1_1_0d EXIST::FUNCTION: +ASN1_STRING_data 3575 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +SM2_verify 3576 1_1_0d EXIST::FUNCTION:SM2 +SHA512_Transform 3577 1_1_0d EXIST:!VMSVAX:FUNCTION: +BN_MONT_CTX_set_locked 3578 1_1_0d EXIST::FUNCTION: +BN_clear_free 3579 1_1_0d EXIST::FUNCTION: +BIO_copy_next_retry 3580 1_1_0d EXIST::FUNCTION: +DSA_SIG_new 3581 1_1_0d EXIST::FUNCTION:DSA +OCSP_sendreq_bio 3582 1_1_0d EXIST::FUNCTION:OCSP +RC5_32_decrypt 3583 1_1_0d EXIST::FUNCTION:RC5 +RSAPrivateKey_it 3584 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA +RSAPrivateKey_it 3584 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA +OCSP_request_verify 3585 1_1_0d EXIST::FUNCTION:OCSP +d2i_AutoPrivateKey 3586 1_1_0d EXIST::FUNCTION: +X509_REVOKED_set_serialNumber 3587 1_1_0d EXIST::FUNCTION: +BN_nist_mod_192 3588 1_1_0d EXIST::FUNCTION: +DSA_meth_free 3589 1_1_0d EXIST::FUNCTION:DSA +EVP_aes_128_ocb 3590 1_1_0d EXIST::FUNCTION:OCB +RSA_generate_key_ex 3591 1_1_0d EXIST::FUNCTION:RSA +UI_process 3592 1_1_0d EXIST::FUNCTION:UI +PEM_read_DSAparams 3593 1_1_0d EXIST::FUNCTION:DSA,STDIO +SKF_MacFinal 3594 1_1_0d EXIST::FUNCTION:SKF +X509_PUBKEY_new 3595 1_1_0d EXIST::FUNCTION: +CTLOG_STORE_load_file 3596 1_1_0d EXIST::FUNCTION:CT +ECDH_KDF_X9_62 3597 1_1_0d EXIST::FUNCTION:EC +OCSP_RESPBYTES_free 3598 1_1_0d EXIST::FUNCTION:OCSP +EVP_get_ciphernames 3599 1_1_0d EXIST::FUNCTION: +d2i_ASN1_PRINTABLESTRING 3600 1_1_0d EXIST::FUNCTION: +DES_random_key 3601 1_1_0d EXIST::FUNCTION:DES +X509_STORE_CTX_purpose_inherit 3602 1_1_0d EXIST::FUNCTION: +BIO_fd_should_retry 3603 1_1_0d EXIST::FUNCTION: +EC_POINT_set_Jprojective_coordinates_GFp 3604 1_1_0d EXIST::FUNCTION:EC +PEM_write_EC_PUBKEY 3605 1_1_0d EXIST::FUNCTION:EC,STDIO +DSA_generate_key 3606 1_1_0d EXIST::FUNCTION:DSA +PKCS12_pack_p7data 3607 1_1_0d EXIST::FUNCTION: +RSA_set0_key 3608 1_1_0d EXIST::FUNCTION:RSA +X509_STORE_get_cert_crl 3609 1_1_0d EXIST::FUNCTION: +GENERAL_NAME_free 3610 1_1_0d EXIST::FUNCTION: +CONF_imodule_get_value 3611 1_1_0d EXIST::FUNCTION: +i2d_TS_STATUS_INFO 3612 1_1_0d EXIST::FUNCTION:TS +X509_REQ_it 3613 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +X509_REQ_it 3613 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +X509_STORE_set_check_policy 3614 1_1_0d EXIST::FUNCTION: +X509v3_get_ext 3615 1_1_0d EXIST::FUNCTION: +X509_policy_tree_get0_policies 3616 1_1_0d EXIST::FUNCTION: +BIO_dump_indent 3617 1_1_0d EXIST::FUNCTION: +sms4_set_decrypt_key 3618 1_1_0d EXIST::FUNCTION:SMS4 +X509_REQ_add1_attr 3619 1_1_0d EXIST::FUNCTION: +OBJ_find_sigid_algs 3620 1_1_0d EXIST::FUNCTION: +X509_CRL_print_fp 3621 1_1_0d EXIST::FUNCTION:STDIO +X509_STORE_set_cert_crl 3622 1_1_0d EXIST::FUNCTION: +DES_ofb_encrypt 3623 1_1_0d EXIST::FUNCTION:DES +CONF_load 3624 1_1_0d EXIST::FUNCTION: +X509V3_EXT_get_nid 3625 1_1_0d EXIST::FUNCTION: +PKCS7_DIGEST_it 3626 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_DIGEST_it 3626 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PEM_write_bio_RSAPrivateKey 3627 1_1_0d EXIST::FUNCTION:RSA +BIO_set_callback 3628 1_1_0d EXIST::FUNCTION: +d2i_SM9PublicParameters 3629 1_1_0d EXIST::FUNCTION:SM9 +ENGINE_set_default_RAND 3630 1_1_0d EXIST::FUNCTION:ENGINE +OCSP_REQUEST_delete_ext 3631 1_1_0d EXIST::FUNCTION:OCSP +OBJ_obj2txt 3632 1_1_0d EXIST::FUNCTION: +DH_get_default_method 3633 1_1_0d EXIST::FUNCTION:DH +OCSP_REQ_CTX_set1_req 3634 1_1_0d EXIST::FUNCTION:OCSP +X509_EXTENSION_set_object 3635 1_1_0d EXIST::FUNCTION: +EVP_DecodeInit 3636 1_1_0d EXIST::FUNCTION: +AES_set_decrypt_key 3637 1_1_0d EXIST::FUNCTION: +d2i_RSAPrivateKey_bio 3638 1_1_0d EXIST::FUNCTION:RSA +EVP_sms4_ccm 3639 1_1_0d EXIST::FUNCTION:SMS4 +SDF_DeleteFile 3640 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get1_PAILLIER 3641 1_1_0d EXIST::FUNCTION:PAILLIER +BIO_find_type 3642 1_1_0d EXIST::FUNCTION: +ECDSA_do_sign_ex 3643 1_1_0d EXIST::FUNCTION:EC +NETSCAPE_SPKI_get_pubkey 3644 1_1_0d EXIST::FUNCTION: +DH_bits 3645 1_1_0d EXIST::FUNCTION:DH +EVP_PBE_alg_add_type 3646 1_1_0d EXIST::FUNCTION: +EC_POINT_make_affine 3647 1_1_0d EXIST::FUNCTION:EC +d2i_PKCS8PrivateKey_fp 3648 1_1_0d EXIST::FUNCTION:STDIO +BN_get_word 3649 1_1_0d EXIST::FUNCTION: +EVP_PKEY_up_ref 3650 1_1_0d EXIST::FUNCTION: +EVP_sha224 3651 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get_attr_by_NID 3652 1_1_0d EXIST::FUNCTION: +EC_KEY_print_fp 3653 1_1_0d EXIST::FUNCTION:EC,STDIO +RSA_new 3654 1_1_0d EXIST::FUNCTION:RSA +EVP_CIPHER_CTX_encrypting 3655 1_1_0d EXIST::FUNCTION: +PAILLIER_decrypt 3656 1_1_0d EXIST::FUNCTION:PAILLIER +i2d_ASN1_IA5STRING 3657 1_1_0d EXIST::FUNCTION: +ASN1_add_stable_module 3658 1_1_0d EXIST::FUNCTION: +OBJ_find_sigid_by_algs 3659 1_1_0d EXIST::FUNCTION: +CRYPTO_atomic_add 3660 1_1_0d EXIST::FUNCTION: +i2d_SM9Ciphertext_fp 3661 1_1_0d EXIST::FUNCTION:SM9,STDIO +X509_STORE_set_check_revocation 3662 1_1_0d EXIST::FUNCTION: +ASN1_d2i_fp 3663 1_1_0d EXIST::FUNCTION:STDIO +BIO_f_linebuffer 3664 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_get1_ext_d2i 3665 1_1_0d EXIST::FUNCTION:OCSP +PEM_read_SM9MasterSecret 3666 1_1_0d EXIST::FUNCTION:SM9,STDIO +X509V3_add_value_uchar 3667 1_1_0d EXIST::FUNCTION: +EVP_MD_size 3668 1_1_0d EXIST::FUNCTION: +ENGINE_set_load_privkey_function 3669 1_1_0d EXIST::FUNCTION:ENGINE +EVP_MD_meth_set_init 3670 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_def_policy 3671 1_1_0d EXIST::FUNCTION:TS +EC_GROUP_get_ecparameters 3672 1_1_0d EXIST::FUNCTION:EC +BIO_ADDRINFO_next 3673 1_1_0d EXIST::FUNCTION:SOCK +X509V3_EXT_add_list 3674 1_1_0d EXIST::FUNCTION: +PAILLIER_check_key 3675 1_1_0d EXIST::FUNCTION:PAILLIER +SDF_PrintDeviceInfo 3676 1_1_0d EXIST::FUNCTION:SDF +DSO_pathbyaddr 3677 1_1_0d EXIST::FUNCTION: +EC_GROUP_new_by_curve_name 3678 1_1_0d EXIST::FUNCTION:EC +NOTICEREF_it 3679 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +NOTICEREF_it 3679 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_CipherInit 3680 1_1_0d EXIST::FUNCTION: +OPENSSL_utf82uni 3681 1_1_0d EXIST::FUNCTION: +X509_REQ_print_fp 3682 1_1_0d EXIST::FUNCTION:STDIO +AUTHORITY_KEYID_it 3683 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +AUTHORITY_KEYID_it 3683 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +ENGINE_set_default_EC 3684 1_1_0d EXIST::FUNCTION:ENGINE +EVP_CIPHER_meth_set_cleanup 3685 1_1_0d EXIST::FUNCTION: +i2d_ECIESParameters 3686 1_1_0d EXIST::FUNCTION:ECIES +SM9_MASTER_KEY_free 3687 1_1_0d EXIST::FUNCTION:SM9 +EC_GROUP_set_seed 3688 1_1_0d EXIST::FUNCTION:EC +d2i_X509_SIG 3689 1_1_0d EXIST::FUNCTION: +BN_set_negative 3690 1_1_0d EXIST::FUNCTION: +PEM_read_PaillierPublicKey 3691 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO +SKF_CreateContainer 3692 1_1_0d EXIST::FUNCTION:SKF +X509_CRL_digest 3693 1_1_0d EXIST::FUNCTION: +SDF_ExportSignPublicKey_RSA 3694 1_1_0d EXIST::FUNCTION: +X509_REVOKED_get_ext_count 3695 1_1_0d EXIST::FUNCTION: +X509V3_EXT_d2i 3696 1_1_0d EXIST::FUNCTION: +i2d_X509_REQ_fp 3697 1_1_0d EXIST::FUNCTION:STDIO +X509_set_issuer_name 3698 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_node_usage_stats 3699 1_1_0d EXIST::FUNCTION:STDIO +ENGINE_get_EC 3700 1_1_0d EXIST::FUNCTION:ENGINE +TS_STATUS_INFO_get0_failure_info 3701 1_1_0d EXIST::FUNCTION:TS +TS_REQ_set_version 3702 1_1_0d EXIST::FUNCTION:TS +EVP_PKEY_sign 3703 1_1_0d EXIST::FUNCTION: +SMIME_read_CMS 3704 1_1_0d EXIST::FUNCTION:CMS +BN_CTX_free 3705 1_1_0d EXIST::FUNCTION: +X509_STORE_get_check_issued 3706 1_1_0d EXIST::FUNCTION: +CMS_decrypt 3707 1_1_0d EXIST::FUNCTION:CMS +DSA_get_method 3708 1_1_0d EXIST::FUNCTION:DSA +CONF_modules_unload 3709 1_1_0d EXIST::FUNCTION: +BIO_meth_new 3710 1_1_0d EXIST::FUNCTION: +BIO_ADDRINFO_address 3711 1_1_0d EXIST::FUNCTION:SOCK +DIRECTORYSTRING_free 3712 1_1_0d EXIST::FUNCTION: +ASN1_SCTX_get_template 3713 1_1_0d EXIST::FUNCTION: +i2d_PROXY_POLICY 3714 1_1_0d EXIST::FUNCTION: +X509_get_ext_count 3715 1_1_0d EXIST::FUNCTION: +FIPS_mode 3716 1_1_0d EXIST::FUNCTION: +ENGINE_set_ex_data 3717 1_1_0d EXIST::FUNCTION:ENGINE +i2d_SM9Signature_fp 3718 1_1_0d EXIST::FUNCTION:SM9,STDIO +DH_test_flags 3719 1_1_0d EXIST::FUNCTION:DH +ENGINE_set_EC 3720 1_1_0d EXIST::FUNCTION:ENGINE +EVP_PKEY_set_type_str 3721 1_1_0d EXIST::FUNCTION: +SM9PrivateKey_it 3722 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM9 +SM9PrivateKey_it 3722 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM9 +BN_MONT_CTX_copy 3723 1_1_0d EXIST::FUNCTION: +ASN1_ENUMERATED_free 3724 1_1_0d EXIST::FUNCTION: +EC_KEY_set_asn1_flag 3725 1_1_0d EXIST::FUNCTION:EC +ASN1_PCTX_get_oid_flags 3726 1_1_0d EXIST::FUNCTION: +X509_policy_node_get0_policy 3727 1_1_0d EXIST::FUNCTION: +EC_GROUP_get_trinomial_basis 3728 1_1_0d EXIST::FUNCTION:EC,EC2M +DSA_size 3729 1_1_0d EXIST::FUNCTION:DSA +i2s_ASN1_ENUMERATED_TABLE 3730 1_1_0d EXIST::FUNCTION: +sm3_final 3731 1_1_0d EXIST::FUNCTION:SM3 +BN_GF2m_poly2arr 3732 1_1_0d EXIST::FUNCTION:EC2M +CMS_signed_add1_attr_by_OBJ 3733 1_1_0d EXIST::FUNCTION:CMS +OCSP_ONEREQ_get1_ext_d2i 3734 1_1_0d EXIST::FUNCTION:OCSP +d2i_ASN1_VISIBLESTRING 3735 1_1_0d EXIST::FUNCTION: +CMS_unsigned_get_attr_by_NID 3736 1_1_0d EXIST::FUNCTION:CMS +NETSCAPE_SPKI_verify 3737 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_get_asn1_iv 3738 1_1_0d EXIST::FUNCTION: +SDF_ExportSignPublicKey_ECC 3739 1_1_0d EXIST::FUNCTION: +UI_method_get_flusher 3740 1_1_0d EXIST::FUNCTION:UI +SKF_ImportX509Certificate 3741 1_1_0d EXIST::FUNCTION:SKF +SKF_PrintECCSignature 3742 1_1_0d EXIST::FUNCTION:SKF +EVP_MD_CTX_md_data 3743 1_1_0d EXIST::FUNCTION: +d2i_OCSP_REQINFO 3744 1_1_0d EXIST::FUNCTION:OCSP +ENGINE_get_RAND 3745 1_1_0d EXIST::FUNCTION:ENGINE +sm3_update 3746 1_1_0d EXIST::FUNCTION:SM3 +RSA_padding_add_PKCS1_type_2 3747 1_1_0d EXIST::FUNCTION:RSA +i2d_X509_bio 3748 1_1_0d EXIST::FUNCTION: +EVP_get_default_cipher 3749 1_1_0d EXIST::FUNCTION: +EVP_PKEY_meth_get_ctrl 3750 1_1_0d EXIST::FUNCTION: +CRYPTO_free_ex_index 3751 1_1_0d EXIST::FUNCTION: +X509V3_set_nconf 3752 1_1_0d EXIST::FUNCTION: +PEM_read_DSA_PUBKEY 3753 1_1_0d EXIST::FUNCTION:DSA,STDIO +DSA_meth_get_finish 3754 1_1_0d EXIST::FUNCTION:DSA +DSO_new 3755 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_get0_safes 3756 1_1_0d EXIST::FUNCTION: +d2i_TS_MSG_IMPRINT 3757 1_1_0d EXIST::FUNCTION:TS +X509_verify_cert_error_string 3758 1_1_0d EXIST::FUNCTION: +PEM_read_bio_X509_REQ 3759 1_1_0d EXIST::FUNCTION: +ASN1_STRING_to_UTF8 3760 1_1_0d EXIST::FUNCTION: +X509_get_version 3761 1_1_0d EXIST::FUNCTION: +SKF_ChangePIN 3762 1_1_0d EXIST::FUNCTION:SKF +X509_set1_notBefore 3763 1_1_0d EXIST::FUNCTION: +COMP_expand_block 3764 1_1_0d EXIST::FUNCTION:COMP +ASN1_item_digest 3765 1_1_0d EXIST::FUNCTION: +DES_pcbc_encrypt 3766 1_1_0d EXIST::FUNCTION:DES +d2i_SM9Ciphertext_bio 3767 1_1_0d EXIST::FUNCTION:SM9 +DSA_meth_set_keygen 3768 1_1_0d EXIST::FUNCTION:DSA +DH_set0_pqg 3769 1_1_0d EXIST::FUNCTION:DH +RSA_meth_set0_app_data 3770 1_1_0d EXIST::FUNCTION:RSA +ENGINE_get_pkey_meth_engine 3771 1_1_0d EXIST::FUNCTION:ENGINE +d2i_CRL_DIST_POINTS 3772 1_1_0d EXIST::FUNCTION: +UI_dup_verify_string 3773 1_1_0d EXIST::FUNCTION:UI +EVP_sha1 3774 1_1_0d EXIST::FUNCTION: +ENGINE_set_load_ssl_client_cert_function 3775 1_1_0d EXIST::FUNCTION:ENGINE +SM9Ciphertext_free 3776 1_1_0d EXIST::FUNCTION:SM9 +EVP_PKEY_meth_get_signctx 3777 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_free 3778 1_1_0d EXIST::FUNCTION: +X509_ALGOR_free 3779 1_1_0d EXIST::FUNCTION: +i2d_X509_EXTENSIONS 3780 1_1_0d EXIST::FUNCTION: +X509_REQ_check_private_key 3781 1_1_0d EXIST::FUNCTION: +TS_REQ_get_ext 3782 1_1_0d EXIST::FUNCTION:TS +SKF_LoadLibrary 3783 1_1_0d EXIST::FUNCTION:SKF +X509V3_EXT_REQ_add_conf 3784 1_1_0d EXIST::FUNCTION: +BIO_set_shutdown 3785 1_1_0d EXIST::FUNCTION: +PEM_write_bio_PrivateKey 3786 1_1_0d EXIST::FUNCTION: +X509_PUBKEY_set0_param 3787 1_1_0d EXIST::FUNCTION: +SDF_CloseSession 3788 1_1_0d EXIST::FUNCTION: +X509V3_EXT_nconf 3789 1_1_0d EXIST::FUNCTION: +ASN1_PRINTABLE_free 3790 1_1_0d EXIST::FUNCTION: +i2d_PrivateKey 3791 1_1_0d EXIST::FUNCTION: +PKCS12_add_safe 3792 1_1_0d EXIST::FUNCTION: +SDF_OpenDevice 3793 1_1_0d EXIST::FUNCTION: +CRYPTO_secure_used 3794 1_1_0d EXIST::FUNCTION: +EC_GROUP_get_point_conversion_form 3795 1_1_0d EXIST::FUNCTION:EC +PEM_write_bio_DSAPrivateKey 3796 1_1_0d EXIST::FUNCTION:DSA +EVP_CIPHER_meth_set_impl_ctx_size 3797 1_1_0d EXIST::FUNCTION: +BIO_f_zlib 3798 1_1_0d EXIST:ZLIB:FUNCTION:COMP +X509_STORE_new 3799 1_1_0d EXIST::FUNCTION: +i2b_PublicKey_bio 3800 1_1_0d EXIST::FUNCTION:DSA +PKCS7_add_signature 3801 1_1_0d EXIST::FUNCTION: +EVP_des_ede3 3802 1_1_0d EXIST::FUNCTION:DES +SXNETID_new 3803 1_1_0d EXIST::FUNCTION: +X509_check_trust 3804 1_1_0d EXIST::FUNCTION: +EC_KEY_oct2priv 3805 1_1_0d EXIST::FUNCTION:EC +ENGINE_get_ctrl_function 3806 1_1_0d EXIST::FUNCTION:ENGINE +DH_meth_set_generate_params 3807 1_1_0d EXIST::FUNCTION:DH +DSO_set_filename 3808 1_1_0d EXIST::FUNCTION: +NCONF_default 3809 1_1_0d EXIST::FUNCTION: +BN_BLINDING_update 3810 1_1_0d EXIST::FUNCTION: +CRYPTO_ccm128_decrypt 3811 1_1_0d EXIST::FUNCTION: +X509_REQ_print_ex 3812 1_1_0d EXIST::FUNCTION: +X509_to_X509_REQ 3813 1_1_0d EXIST::FUNCTION: +ECDSA_SIG_free 3814 1_1_0d EXIST::FUNCTION:EC +SKF_ExtECCDecrypt 3815 1_1_0d EXIST::FUNCTION:SKF +BN_get_rfc3526_prime_4096 3816 1_1_0d EXIST::FUNCTION: +PEM_read_bio_PKCS8_PRIV_KEY_INFO 3817 1_1_0d EXIST::FUNCTION: +X509_REQ_get0_pubkey 3818 1_1_0d EXIST::FUNCTION: +BIO_asn1_get_suffix 3819 1_1_0d EXIST::FUNCTION: +SKF_EncryptUpdate 3820 1_1_0d EXIST::FUNCTION:SKF +TS_REQ_free 3821 1_1_0d EXIST::FUNCTION:TS +BN_mod_exp_simple 3822 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_get_issuer 3823 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get_attr_by_OBJ 3824 1_1_0d EXIST::FUNCTION: +UI_set_default_method 3825 1_1_0d EXIST::FUNCTION:UI +X509_get1_email 3826 1_1_0d EXIST::FUNCTION: +PEM_write_PKCS7 3827 1_1_0d EXIST::FUNCTION:STDIO +d2i_X509_AUX 3828 1_1_0d EXIST::FUNCTION: +BIO_new_bio_pair 3829 1_1_0d EXIST::FUNCTION: +b2i_PrivateKey 3830 1_1_0d EXIST::FUNCTION:DSA +CMS_RecipientInfo_ktri_get0_algs 3831 1_1_0d EXIST::FUNCTION:CMS +EVP_cast5_cfb64 3832 1_1_0d EXIST::FUNCTION:CAST +ENGINE_get_pkey_asn1_meths 3833 1_1_0d EXIST::FUNCTION:ENGINE +X509_STORE_CTX_set_purpose 3834 1_1_0d EXIST::FUNCTION: +X509_NAME_ENTRY_new 3835 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_reset 3836 1_1_0d EXIST::FUNCTION: +BUF_MEM_grow_clean 3837 1_1_0d EXIST::FUNCTION: +EVP_DecodeUpdate 3838 1_1_0d EXIST::FUNCTION: +d2i_SM9Signature 3839 1_1_0d EXIST::FUNCTION:SM9 +BN_to_ASN1_ENUMERATED 3840 1_1_0d EXIST::FUNCTION: +EVP_rc5_32_12_16_cbc 3841 1_1_0d EXIST::FUNCTION:RC5 +X509v3_asid_validate_path 3842 1_1_0d EXIST::FUNCTION:RFC3779 +i2d_PKCS8PrivateKey_nid_bio 3843 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_hex2ctrl 3844 1_1_0d EXIST::FUNCTION: +X509v3_addr_validate_resource_set 3845 1_1_0d EXIST::FUNCTION:RFC3779 +CONF_module_set_usr_data 3846 1_1_0d EXIST::FUNCTION: +RAND_egd 3847 1_1_0d EXIST::FUNCTION:EGD +TS_ACCURACY_new 3848 1_1_0d EXIST::FUNCTION:TS +PKCS7_get_smimecap 3849 1_1_0d EXIST::FUNCTION: +X509_ATTRIBUTE_set1_object 3850 1_1_0d EXIST::FUNCTION: +PEM_write_SM9_PUBKEY 3851 1_1_0d EXIST::FUNCTION:SM9,STDIO +EC_POINT_get_affine_coordinates_GFp 3852 1_1_0d EXIST::FUNCTION:EC +RIPEMD160_Update 3853 1_1_0d EXIST::FUNCTION:RMD160 +ERR_load_strings 3854 1_1_0d EXIST::FUNCTION: +SKF_SetSymmKey 3855 1_1_0d EXIST::FUNCTION:SKF +DSA_meth_get_sign 3856 1_1_0d EXIST::FUNCTION:DSA +DES_string_to_2keys 3857 1_1_0d EXIST::FUNCTION:DES +EXTENDED_KEY_USAGE_it 3858 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +EXTENDED_KEY_USAGE_it 3858 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +OCSP_SINGLERESP_get_ext_by_OBJ 3859 1_1_0d EXIST::FUNCTION:OCSP +EVP_camellia_192_ctr 3860 1_1_0d EXIST::FUNCTION:CAMELLIA +PEM_write_SM9PublicParameters 3861 1_1_0d EXIST::FUNCTION:SM9,STDIO +EVP_aes_256_cfb1 3862 1_1_0d EXIST::FUNCTION: +i2d_SM9Signature 3863 1_1_0d EXIST::FUNCTION:SM9 +X509_REVOKED_get_ext 3864 1_1_0d EXIST::FUNCTION: +EVP_PBE_get 3865 1_1_0d EXIST::FUNCTION: +i2d_PKCS8_PRIV_KEY_INFO 3866 1_1_0d EXIST::FUNCTION: +ASN1_NULL_new 3867 1_1_0d EXIST::FUNCTION: +BIO_get_shutdown 3868 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_cmp 3869 1_1_0d EXIST::FUNCTION: +CMS_add1_signer 3870 1_1_0d EXIST::FUNCTION:CMS +TS_OBJ_print_bio 3871 1_1_0d EXIST::FUNCTION:TS +ENGINE_get_next 3872 1_1_0d EXIST::FUNCTION:ENGINE +ACCESS_DESCRIPTION_it 3873 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ACCESS_DESCRIPTION_it 3873 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +NCONF_load_fp 3874 1_1_0d EXIST::FUNCTION:STDIO +ENGINE_unregister_pkey_asn1_meths 3875 1_1_0d EXIST::FUNCTION:ENGINE +d2i_PKCS12_MAC_DATA 3876 1_1_0d EXIST::FUNCTION: +d2i_SM9PrivateKey 3877 1_1_0d EXIST::FUNCTION:SM9 +RSA_verify_PKCS1_PSS 3878 1_1_0d EXIST::FUNCTION:RSA +SM2_sign_ex 3879 1_1_0d EXIST::FUNCTION:SM2 +PKCS12_gen_mac 3880 1_1_0d EXIST::FUNCTION: +EC_KEY_new_from_ECCPRIVATEKEYBLOB 3881 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +X509V3_EXT_val_prn 3882 1_1_0d EXIST::FUNCTION: +ASYNC_WAIT_CTX_clear_fd 3883 1_1_0d EXIST::FUNCTION: +EVP_Cipher 3884 1_1_0d EXIST::FUNCTION: +ENGINE_ctrl_cmd 3885 1_1_0d EXIST::FUNCTION:ENGINE +RSA_set0_crt_params 3886 1_1_0d EXIST::FUNCTION:RSA +EC_KEY_new_from_ECCPUBLICKEYBLOB 3887 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +X509_REQ_verify 3888 1_1_0d EXIST::FUNCTION: +CRYPTO_cts128_decrypt_block 3889 1_1_0d EXIST::FUNCTION: +SDF_InternalPrivateKeyOperation_RSA 3890 1_1_0d EXIST::FUNCTION: +BIO_ADDR_family 3891 1_1_0d EXIST::FUNCTION:SOCK +X509_digest 3892 1_1_0d EXIST::FUNCTION: +d2i_ECCCIPHERBLOB 3893 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +X509_ATTRIBUTE_create 3894 1_1_0d EXIST::FUNCTION: +BIO_accept_ex 3895 1_1_0d EXIST::FUNCTION:SOCK +RSA_new_from_RSArefPrivateKey 3896 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SDF +OPENSSL_config 3897 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +ASIdentifiers_new 3898 1_1_0d EXIST::FUNCTION:RFC3779 +BIO_new_CMS 3899 1_1_0d EXIST::FUNCTION:CMS +EVP_blake2b512 3900 1_1_0d EXIST::FUNCTION:BLAKE2 +OCSP_RESPONSE_new 3901 1_1_0d EXIST::FUNCTION:OCSP +SKF_GetContainerTypeName 3902 1_1_0d EXIST::FUNCTION:SKF +ENGINE_set_default_pkey_meths 3903 1_1_0d EXIST::FUNCTION:ENGINE +CT_POLICY_EVAL_CTX_get0_cert 3904 1_1_0d EXIST::FUNCTION:CT +EVP_CIPHER_meth_free 3905 1_1_0d EXIST::FUNCTION: +EC_POINT_point2hex 3906 1_1_0d EXIST::FUNCTION:EC +X509_REQ_INFO_new 3907 1_1_0d EXIST::FUNCTION: +X509_ALGOR_set_md 3908 1_1_0d EXIST::FUNCTION: +EVP_aes_256_wrap 3909 1_1_0d EXIST::FUNCTION: +EVP_aes_128_cfb1 3910 1_1_0d EXIST::FUNCTION: +d2i_X509_CRL_fp 3911 1_1_0d EXIST::FUNCTION:STDIO +X509_STORE_set_lookup_crls 3912 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_set_app_datasize 3913 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_decrypt 3914 1_1_0d EXIST::FUNCTION:CMS +X509_REQ_free 3915 1_1_0d EXIST::FUNCTION: +d2i_TS_REQ 3916 1_1_0d EXIST::FUNCTION:TS +ERR_load_ASN1_strings 3917 1_1_0d EXIST::FUNCTION: +BN_to_montgomery 3918 1_1_0d EXIST::FUNCTION: +ASN1_OCTET_STRING_NDEF_it 3919 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_OCTET_STRING_NDEF_it 3919 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +o2i_ECPublicKey 3920 1_1_0d EXIST::FUNCTION:EC +RSA_print 3921 1_1_0d EXIST::FUNCTION:RSA +X509_VERIFY_PARAM_get0 3922 1_1_0d EXIST::FUNCTION: +BN_set_bit 3923 1_1_0d EXIST::FUNCTION: +EC_KEY_METHOD_set_decrypt 3924 1_1_0d EXIST::FUNCTION:SM2 +OPENSSL_INIT_set_config_appname 3925 1_1_0d EXIST::FUNCTION:STDIO +PKCS12_pack_p7encdata 3926 1_1_0d EXIST::FUNCTION: +EVP_CIPHER_CTX_set_flags 3927 1_1_0d EXIST::FUNCTION: +CMS_signed_get_attr 3928 1_1_0d EXIST::FUNCTION:CMS +CMS_data 3929 1_1_0d EXIST::FUNCTION:CMS +EC_GFp_nistp256_method 3930 1_1_0d EXIST::FUNCTION:EC,EC_NISTP_64_GCC_128 +EVP_PKEY_get0_RSA 3931 1_1_0d EXIST::FUNCTION:RSA +X509v3_addr_canonize 3932 1_1_0d EXIST::FUNCTION:RFC3779 +i2d_ASN1_SEQUENCE_ANY 3933 1_1_0d EXIST::FUNCTION: +MD2_Init 3934 1_1_0d EXIST::FUNCTION:MD2 +EVP_VerifyFinal 3935 1_1_0d EXIST::FUNCTION: +NAME_CONSTRAINTS_new 3936 1_1_0d EXIST::FUNCTION: +ASRange_free 3937 1_1_0d EXIST::FUNCTION:RFC3779 +TS_REQ_get_nonce 3938 1_1_0d EXIST::FUNCTION:TS +X509_STORE_set_check_crl 3939 1_1_0d EXIST::FUNCTION: +DH_meth_get0_name 3940 1_1_0d EXIST::FUNCTION:DH +Camellia_encrypt 3941 1_1_0d EXIST::FUNCTION:CAMELLIA +BN_GENCB_set 3942 1_1_0d EXIST::FUNCTION: +CRYPTO_gcm128_aad 3943 1_1_0d EXIST::FUNCTION: +BIO_gethostbyname 3944 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK +SCT_set_source 3945 1_1_0d EXIST::FUNCTION:CT +EVP_PKEY_security_bits 3946 1_1_0d EXIST::FUNCTION: +d2i_ASN1_TIME 3947 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_set_md_data 3948 1_1_0d EXIST::FUNCTION: +CMS_get1_crls 3949 1_1_0d EXIST::FUNCTION:CMS +BIO_meth_set_gets 3950 1_1_0d EXIST::FUNCTION: +PKCS8_PRIV_KEY_INFO_new 3951 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_set_ctrl 3952 1_1_0d EXIST::FUNCTION: +PKCS12_decrypt_skey 3953 1_1_0d EXIST::FUNCTION: +s2i_ASN1_IA5STRING 3954 1_1_0d EXIST::FUNCTION: +CRYPTO_clear_realloc 3955 1_1_0d EXIST::FUNCTION: +ENGINE_get_pkey_asn1_meth_str 3956 1_1_0d EXIST::FUNCTION:ENGINE +CRYPTO_ctr128_encrypt 3957 1_1_0d EXIST::FUNCTION: +d2i_TS_RESP_bio 3958 1_1_0d EXIST::FUNCTION:TS +ENGINE_unregister_DH 3959 1_1_0d EXIST::FUNCTION:ENGINE +BN_nist_mod_521 3960 1_1_0d EXIST::FUNCTION: +BN_GENCB_new 3961 1_1_0d EXIST::FUNCTION: +EC_GROUP_order_bits 3962 1_1_0d EXIST::FUNCTION:EC +ERR_set_mark 3963 1_1_0d EXIST::FUNCTION: +PEM_do_header 3964 1_1_0d EXIST::FUNCTION: +X509V3_get_d2i 3965 1_1_0d EXIST::FUNCTION: +NETSCAPE_SPKI_b64_encode 3966 1_1_0d EXIST::FUNCTION: +ACCESS_DESCRIPTION_new 3967 1_1_0d EXIST::FUNCTION: +AES_encrypt 3968 1_1_0d EXIST::FUNCTION: +EVP_PKEY_sign_init 3969 1_1_0d EXIST::FUNCTION: +i2d_PKCS8_fp 3970 1_1_0d EXIST::FUNCTION:STDIO +PKCS7_SIGN_ENVELOPE_it 3971 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS7_SIGN_ENVELOPE_it 3971 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +TS_MSG_IMPRINT_new 3972 1_1_0d EXIST::FUNCTION:TS +DES_cbc_cksum 3973 1_1_0d EXIST::FUNCTION:DES +d2i_ASN1_PRINTABLE 3974 1_1_0d EXIST::FUNCTION: +X509at_get0_data_by_OBJ 3975 1_1_0d EXIST::FUNCTION: +d2i_ASRange 3976 1_1_0d EXIST::FUNCTION:RFC3779 +SKF_ImportX509CertificateByKeyUsage 3977 1_1_0d EXIST::FUNCTION:SKF +BN_clear_bit 3978 1_1_0d EXIST::FUNCTION: +SHA1_Init 3979 1_1_0d EXIST::FUNCTION: +ASN1_IA5STRING_new 3980 1_1_0d EXIST::FUNCTION: +d2i_ASIdOrRange 3981 1_1_0d EXIST::FUNCTION:RFC3779 +PKCS5_PBKDF2_HMAC 3982 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_clock_precision_digits 3983 1_1_0d EXIST::FUNCTION:TS +X509_get_ext 3984 1_1_0d EXIST::FUNCTION: +TS_RESP_print_bio 3985 1_1_0d EXIST::FUNCTION:TS +PROXY_CERT_INFO_EXTENSION_it 3986 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PROXY_CERT_INFO_EXTENSION_it 3986 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +PEM_write_bio_PKCS7_stream 3987 1_1_0d EXIST::FUNCTION: +PKCS12_pack_authsafes 3988 1_1_0d EXIST::FUNCTION: +CRYPTO_ccm128_init 3989 1_1_0d EXIST::FUNCTION: +CRYPTO_mem_debug_push 3990 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG +OCSP_BASICRESP_get1_ext_d2i 3991 1_1_0d EXIST::FUNCTION:OCSP +RSA_OAEP_PARAMS_free 3992 1_1_0d EXIST::FUNCTION:RSA +CMS_signed_add1_attr_by_NID 3993 1_1_0d EXIST::FUNCTION:CMS +d2i_DIST_POINT_NAME 3994 1_1_0d EXIST::FUNCTION: +BF_ecb_encrypt 3995 1_1_0d EXIST::FUNCTION:BF +CRYPTO_secure_free 3996 1_1_0d EXIST::FUNCTION: +i2d_PKCS8PrivateKeyInfo_fp 3997 1_1_0d EXIST::FUNCTION:STDIO +BIO_read 3998 1_1_0d EXIST::FUNCTION: +PKCS7_add_recipient 3999 1_1_0d EXIST::FUNCTION: +SKF_PrintECCPrivateKey 4000 1_1_0d EXIST::FUNCTION:SKF +CMS_ReceiptRequest_get0_values 4001 1_1_0d EXIST::FUNCTION:CMS +d2i_OCSP_CERTID 4002 1_1_0d EXIST::FUNCTION:OCSP +i2d_CMS_ReceiptRequest 4003 1_1_0d EXIST::FUNCTION:CMS +X509_PUBKEY_set 4004 1_1_0d EXIST::FUNCTION: +PKCS7_add0_attrib_signing_time 4005 1_1_0d EXIST::FUNCTION: +d2i_POLICYINFO 4006 1_1_0d EXIST::FUNCTION: +d2i_X509_ALGOR 4007 1_1_0d EXIST::FUNCTION: +EC_KEY_METHOD_get_sign 4008 1_1_0d EXIST::FUNCTION:EC +ECIES_CIPHERTEXT_VALUE_set_ECCCipher 4009 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SDF +ASN1_mbstring_ncopy 4010 1_1_0d EXIST::FUNCTION: +SM9_KEY_new 4011 1_1_0d EXIST::FUNCTION:SM9 +d2i_X509_PUBKEY 4012 1_1_0d EXIST::FUNCTION: +OTHERNAME_new 4013 1_1_0d EXIST::FUNCTION: +X509_ATTRIBUTE_create_by_txt 4014 1_1_0d EXIST::FUNCTION: +CRYPTO_ofb128_encrypt 4015 1_1_0d EXIST::FUNCTION: +ASN1_PCTX_set_nm_flags 4016 1_1_0d EXIST::FUNCTION: +OCSP_set_max_response_length 4017 1_1_0d EXIST::FUNCTION:OCSP +EVP_PKEY_get1_RSA 4018 1_1_0d EXIST::FUNCTION:RSA +EVP_chacha20_poly1305 4019 1_1_0d EXIST::FUNCTION:CHACHA,POLY1305 +TS_CONF_set_signer_digest 4020 1_1_0d EXIST::FUNCTION:TS +UI_ctrl 4021 1_1_0d EXIST::FUNCTION:UI +SKF_ImportECCKeyPair 4022 1_1_0d EXIST::FUNCTION:SKF +ECPKPARAMETERS_it 4023 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:EC +ECPKPARAMETERS_it 4023 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:EC +SKF_ExportX509Certificate 4024 1_1_0d EXIST::FUNCTION:SKF +EVP_CIPHER_meth_set_init 4025 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_dup 4026 1_1_0d EXIST::FUNCTION: +EVP_PKEY_cmp 4027 1_1_0d EXIST::FUNCTION: +EC_POINT_hex2point 4028 1_1_0d EXIST::FUNCTION:EC +DH_get_ex_data 4029 1_1_0d EXIST::FUNCTION:DH +ERR_load_OCSP_strings 4030 1_1_0d EXIST::FUNCTION:OCSP +EVP_PKEY_meth_set_derive 4031 1_1_0d EXIST::FUNCTION: +i2d_CMS_ContentInfo 4032 1_1_0d EXIST::FUNCTION:CMS +SDF_GenerateKeyWithECC 4033 1_1_0d EXIST::FUNCTION: +EC_GFp_nist_method 4034 1_1_0d EXIST::FUNCTION:EC +i2d_PROXY_CERT_INFO_EXTENSION 4035 1_1_0d EXIST::FUNCTION: +X509_get_pubkey 4036 1_1_0d EXIST::FUNCTION: +i2d_POLICYINFO 4037 1_1_0d EXIST::FUNCTION: +HMAC_CTX_get_md 4038 1_1_0d EXIST::FUNCTION: +PKCS12_add_localkeyid 4039 1_1_0d EXIST::FUNCTION: +OCSP_basic_sign 4040 1_1_0d EXIST::FUNCTION:OCSP +SDF_ExternalVerify_ECC 4041 1_1_0d EXIST::FUNCTION: +ASN1_PCTX_new 4042 1_1_0d EXIST::FUNCTION: +X509_REQ_add1_attr_by_OBJ 4043 1_1_0d EXIST::FUNCTION: +HMAC_size 4044 1_1_0d EXIST::FUNCTION: +SDF_InternalDecrypt_ECC 4045 1_1_0d EXIST::FUNCTION: +OBJ_sn2nid 4046 1_1_0d EXIST::FUNCTION: +OCSP_BASICRESP_get_ext_by_critical 4047 1_1_0d EXIST::FUNCTION:OCSP +d2i_OCSP_CERTSTATUS 4048 1_1_0d EXIST::FUNCTION:OCSP +CONF_module_get_usr_data 4049 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_set_certs 4050 1_1_0d EXIST::FUNCTION:TS +BN_to_ASN1_INTEGER 4051 1_1_0d EXIST::FUNCTION: +ASN1_TIME_adj 4052 1_1_0d EXIST::FUNCTION: +TS_RESP_verify_token 4053 1_1_0d EXIST::FUNCTION:TS +RC2_ofb64_encrypt 4054 1_1_0d EXIST::FUNCTION:RC2 +RSA_get_RSAPRIVATEKEYBLOB 4055 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF +ASN1_GENERALIZEDTIME_new 4056 1_1_0d EXIST::FUNCTION: +PEM_write_bio_DSA_PUBKEY 4057 1_1_0d EXIST::FUNCTION:DSA +SMIME_crlf_copy 4058 1_1_0d EXIST::FUNCTION: +OCSP_BASICRESP_it 4059 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP +OCSP_BASICRESP_it 4059 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP +COMP_zlib 4060 1_1_0d EXIST::FUNCTION:COMP +EVP_MD_get_sgd 4061 1_1_0d EXIST::FUNCTION:GMAPI +OCSP_ONEREQ_add1_ext_i2d 4062 1_1_0d EXIST::FUNCTION:OCSP +PKCS7_add_signed_attribute 4063 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_set_auth_level 4064 1_1_0d EXIST::FUNCTION: +PEM_read_bio_RSAPrivateKey 4065 1_1_0d EXIST::FUNCTION:RSA +AES_ige_encrypt 4066 1_1_0d EXIST::FUNCTION: +ENGINE_get_ciphers 4067 1_1_0d EXIST::FUNCTION:ENGINE +ASN1_TYPE_pack_sequence 4068 1_1_0d EXIST::FUNCTION: +ASN1_ENUMERATED_get_int64 4069 1_1_0d EXIST::FUNCTION: +EXTENDED_KEY_USAGE_free 4070 1_1_0d EXIST::FUNCTION: +DES_xcbc_encrypt 4071 1_1_0d EXIST::FUNCTION:DES +i2d_TS_MSG_IMPRINT 4072 1_1_0d EXIST::FUNCTION:TS +ASN1_GENERALIZEDTIME_set 4073 1_1_0d EXIST::FUNCTION: +OCSP_basic_add1_cert 4074 1_1_0d EXIST::FUNCTION:OCSP +BIO_f_base64 4075 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAGS_it 4076 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS12_SAFEBAGS_it 4076 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +i2d_PaillierPublicKey 4077 1_1_0d EXIST::FUNCTION:PAILLIER +COMP_get_name 4078 1_1_0d EXIST::FUNCTION:COMP +ASN1_SET_ANY_it 4079 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_SET_ANY_it 4079 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_PKCS7_fp 4080 1_1_0d EXIST::FUNCTION:STDIO +d2i_PKCS7_bio 4081 1_1_0d EXIST::FUNCTION: +X509_policy_level_get0_node 4082 1_1_0d EXIST::FUNCTION: +CTLOG_get0_name 4083 1_1_0d EXIST::FUNCTION:CT +i2d_CRL_DIST_POINTS 4084 1_1_0d EXIST::FUNCTION: +EVP_des_cfb8 4085 1_1_0d EXIST::FUNCTION:DES +ASN1_sign 4086 1_1_0d EXIST::FUNCTION: +BIO_new 4087 1_1_0d EXIST::FUNCTION: +BN_BLINDING_is_current_thread 4088 1_1_0d EXIST::FUNCTION: +EVP_PKEY_base_id 4089 1_1_0d EXIST::FUNCTION: +ASN1_STRING_type_new 4090 1_1_0d EXIST::FUNCTION: +TS_RESP_CTX_add_flags 4091 1_1_0d EXIST::FUNCTION:TS +i2d_ASN1_PRINTABLESTRING 4092 1_1_0d EXIST::FUNCTION: +SKF_PrintRSAPublicKey 4093 1_1_0d EXIST::FUNCTION:SKF +DHparams_it 4094 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DH +DHparams_it 4094 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DH +ERR_load_CT_strings 4095 1_1_0d EXIST::FUNCTION:CT +CRYPTO_get_ex_new_index 4096 1_1_0d EXIST::FUNCTION: +MD2 4097 1_1_0d EXIST::FUNCTION:MD2 +BN_num_bits 4098 1_1_0d EXIST::FUNCTION: +SDF_ExchangeDigitEnvelopeBaseOnRSA 4099 1_1_0d EXIST::FUNCTION: +RSA_print_fp 4100 1_1_0d EXIST::FUNCTION:RSA,STDIO +TS_RESP_get_token 4101 1_1_0d EXIST::FUNCTION:TS +CMS_dataFinal 4102 1_1_0d EXIST::FUNCTION:CMS +TS_VERIFY_CTX_new 4103 1_1_0d EXIST::FUNCTION:TS +ECDSA_SIG_new 4104 1_1_0d EXIST::FUNCTION:EC +BIO_set_ex_data 4105 1_1_0d EXIST::FUNCTION: +d2i_DHparams 4106 1_1_0d EXIST::FUNCTION:DH +TS_CONF_set_certs 4107 1_1_0d EXIST::FUNCTION:TS +EC_GROUP_new_from_ecparameters 4108 1_1_0d EXIST::FUNCTION:EC +CERTIFICATEPOLICIES_new 4109 1_1_0d EXIST::FUNCTION: +BIO_indent 4110 1_1_0d EXIST::FUNCTION: +SKF_ImportECCPrivateKey 4111 1_1_0d EXIST::FUNCTION:SKF +TS_CONF_set_policies 4112 1_1_0d EXIST::FUNCTION:TS +X509_CRL_set1_nextUpdate 4113 1_1_0d EXIST::FUNCTION: +PEM_read_bio_PKCS8 4114 1_1_0d EXIST::FUNCTION: +ENGINE_set_pkey_asn1_meths 4115 1_1_0d EXIST::FUNCTION:ENGINE +ENGINE_register_complete 4116 1_1_0d EXIST::FUNCTION:ENGINE +SKF_DigestInit 4117 1_1_0d EXIST::FUNCTION:SKF +DSA_up_ref 4118 1_1_0d EXIST::FUNCTION:DSA +BIO_dump_cb 4119 1_1_0d EXIST::FUNCTION: +BN_X931_generate_Xpq 4120 1_1_0d EXIST::FUNCTION: +SDF_Decrypt 4121 1_1_0d EXIST::FUNCTION: +PKEY_USAGE_PERIOD_new 4122 1_1_0d EXIST::FUNCTION: +BASIC_CONSTRAINTS_new 4123 1_1_0d EXIST::FUNCTION: +i2d_X509_CRL_INFO 4124 1_1_0d EXIST::FUNCTION: +ERR_load_PAILLIER_strings 4125 1_1_0d EXIST::FUNCTION:PAILLIER +EVP_CIPHER_CTX_get_cipher_data 4126 1_1_0d EXIST::FUNCTION: +BN_rand 4127 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_dup 4128 1_1_0d EXIST::FUNCTION: +EVP_DecodeBlock 4129 1_1_0d EXIST::FUNCTION: +OCSP_basic_verify 4130 1_1_0d EXIST::FUNCTION:OCSP +ASN1_PRINTABLESTRING_new 4131 1_1_0d EXIST::FUNCTION: +RSA_padding_check_X931 4132 1_1_0d EXIST::FUNCTION:RSA +SCT_free 4133 1_1_0d EXIST::FUNCTION:CT +i2d_PKCS12_BAGS 4134 1_1_0d EXIST::FUNCTION: +X509_signature_dump 4135 1_1_0d EXIST::FUNCTION: +AUTHORITY_INFO_ACCESS_free 4136 1_1_0d EXIST::FUNCTION: +d2i_SM9Signature_bio 4137 1_1_0d EXIST::FUNCTION:SM9 +X509V3_string_free 4138 1_1_0d EXIST::FUNCTION: +CMS_ContentInfo_free 4139 1_1_0d EXIST::FUNCTION:CMS +PKCS5_PBKDF2_HMAC_SHA1 4140 1_1_0d EXIST::FUNCTION:SHA +X509v3_get_ext_by_OBJ 4141 1_1_0d EXIST::FUNCTION: +BF_cfb64_encrypt 4142 1_1_0d EXIST::FUNCTION:BF +EVP_CIPHER_CTX_buf_noconst 4143 1_1_0d EXIST::FUNCTION: +TLS_FEATURE_new 4144 1_1_0d EXIST::FUNCTION: +d2i_TS_MSG_IMPRINT_fp 4145 1_1_0d EXIST::FUNCTION:STDIO,TS +TS_ACCURACY_set_micros 4146 1_1_0d EXIST::FUNCTION:TS +d2i_ASN1_OBJECT 4147 1_1_0d EXIST::FUNCTION: +CTLOG_new 4148 1_1_0d EXIST::FUNCTION:CT +PKCS8_pkey_add1_attr_by_NID 4149 1_1_0d EXIST::FUNCTION: +EVP_cast5_ecb 4150 1_1_0d EXIST::FUNCTION:CAST +CMS_digest_create 4151 1_1_0d EXIST::FUNCTION:CMS +RSA_meth_set_keygen 4152 1_1_0d EXIST::FUNCTION:RSA +OCSP_request_add1_nonce 4153 1_1_0d EXIST::FUNCTION:OCSP +X509_get0_pubkey 4154 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get1_crls 4155 1_1_0d EXIST::FUNCTION: +i2s_ASN1_OCTET_STRING 4156 1_1_0d EXIST::FUNCTION: +SKF_GenerateAgreementDataAndKeyWithECC 4157 1_1_0d EXIST::FUNCTION:SKF +ASYNC_cleanup_thread 4158 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_explicit_policy 4159 1_1_0d EXIST::FUNCTION: +NETSCAPE_CERT_SEQUENCE_new 4160 1_1_0d EXIST::FUNCTION: +TXT_DB_insert 4161 1_1_0d EXIST::FUNCTION: +X509_REVOKED_get_ext_d2i 4162 1_1_0d EXIST::FUNCTION: +PKCS7_print_ctx 4163 1_1_0d EXIST::FUNCTION: +EC_KEY_get_ex_data 4164 1_1_0d EXIST::FUNCTION:EC +DES_encrypt3 4165 1_1_0d EXIST::FUNCTION:DES +EVP_CIPHER_CTX_key_length 4166 1_1_0d EXIST::FUNCTION: +PKCS12_get0_mac 4167 1_1_0d EXIST::FUNCTION: +d2i_TS_TST_INFO_fp 4168 1_1_0d EXIST::FUNCTION:STDIO,TS +EVP_PKEY_asn1_set_security_bits 4169 1_1_0d EXIST::FUNCTION: +X509_INFO_new 4170 1_1_0d EXIST::FUNCTION: +X509_STORE_set_purpose 4171 1_1_0d EXIST::FUNCTION: +X509_NAME_digest 4172 1_1_0d EXIST::FUNCTION: +OPENSSL_gmtime_adj 4173 1_1_0d EXIST::FUNCTION: +MDC2_Update 4174 1_1_0d EXIST::FUNCTION:MDC2 +EC_KEY_get_flags 4175 1_1_0d EXIST::FUNCTION:EC +i2d_OCSP_RESPID 4176 1_1_0d EXIST::FUNCTION:OCSP +d2i_X509_bio 4177 1_1_0d EXIST::FUNCTION: +NETSCAPE_CERT_SEQUENCE_it 4178 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +NETSCAPE_CERT_SEQUENCE_it 4178 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +EVP_sha384 4179 1_1_0d EXIST:!VMSVAX:FUNCTION: +EVP_sms4_cfb128 4180 1_1_0d EXIST::FUNCTION:SMS4 +EVP_CIPHER_nid 4181 1_1_0d EXIST::FUNCTION: +BN_sqr 4182 1_1_0d EXIST::FUNCTION: PEM_write_SM9_MASTER_PUBKEY 4183 1_1_0d EXIST::FUNCTION:SM9,STDIO -TS_CONF_set_ordering 4184 1_1_0d EXIST::FUNCTION:TS -UI_get_input_flags 4185 1_1_0d EXIST::FUNCTION:UI -d2i_X509_CRL 4186 1_1_0d EXIST::FUNCTION: -X509_REVOKED_get_ext_by_critical 4187 1_1_0d EXIST::FUNCTION: -EVP_cast5_ofb 4188 1_1_0d EXIST::FUNCTION:CAST -ASN1_mbstring_copy 4189 1_1_0d EXIST::FUNCTION: -OPENSSL_memcmp 4190 1_1_0d EXIST::FUNCTION: -EVP_get_default_cipher 4191 1_1_0d EXIST::FUNCTION: -DHparams_print 4192 1_1_0d EXIST::FUNCTION:DH -SDF_CloseDevice 4193 1_1_0d EXIST::FUNCTION: -BN_div 4194 1_1_0d EXIST::FUNCTION: -SM2_compute_id_digest 4195 1_1_0d EXIST::FUNCTION:SM2 -DSA_get0_key 4196 1_1_0d EXIST::FUNCTION:DSA -X509_ATTRIBUTE_get0_type 4197 1_1_0d EXIST::FUNCTION: -X509_get0_serialNumber 4198 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_sign 4199 1_1_0d EXIST::FUNCTION: -EC_POINT_cmp 4200 1_1_0d EXIST::FUNCTION:EC -DSO_METHOD_openssl 4201 1_1_0d EXIST::FUNCTION: -ECIES_CIPHERTEXT_VALUE_new_from_ECCCIPHERBLOB 4202 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SKF -ASN1_BIT_STRING_new 4203 1_1_0d EXIST::FUNCTION: -d2i_X509_SIG 4204 1_1_0d EXIST::FUNCTION: -ASN1_BIT_STRING_num_asc 4205 1_1_0d EXIST::FUNCTION: -PKCS7_decrypt 4206 1_1_0d EXIST::FUNCTION: -ASIdentifiers_it 4207 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -ASIdentifiers_it 4207 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -BN_CTX_start 4208 1_1_0d EXIST::FUNCTION: -SKF_CreateFile 4209 1_1_0d EXIST::FUNCTION:SKF -DSA_meth_free 4210 1_1_0d EXIST::FUNCTION:DSA -ENGINE_set_default_pkey_asn1_meths 4211 1_1_0d EXIST::FUNCTION:ENGINE -ESS_ISSUER_SERIAL_free 4212 1_1_0d EXIST::FUNCTION:TS -X509_ALGOR_free 4213 1_1_0d EXIST::FUNCTION: -RC5_32_encrypt 4214 1_1_0d EXIST::FUNCTION:RC5 -TS_ACCURACY_set_micros 4215 1_1_0d EXIST::FUNCTION:TS -SM9_KEY_new 4216 1_1_0d EXIST::FUNCTION:SM9 -X509_STORE_CTX_new 4217 1_1_0d EXIST::FUNCTION: -X509_get_pubkey 4218 1_1_0d EXIST::FUNCTION: -d2i_ASN1_VISIBLESTRING 4219 1_1_0d EXIST::FUNCTION: -d2i_PKCS8_fp 4220 1_1_0d EXIST::FUNCTION:STDIO -PKCS12_add_safes 4221 1_1_0d EXIST::FUNCTION: -OCSP_REVOKEDINFO_it 4222 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_REVOKEDINFO_it 4222 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -SAF_RemoveRootCaCertificate 4223 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_get 4224 1_1_0d EXIST::FUNCTION: -WHIRLPOOL_Update 4225 1_1_0d EXIST::FUNCTION:WHIRLPOOL -PEM_read_bio_SM9PublicParameters 4226 1_1_0d EXIST::FUNCTION:SM9 -SKF_ChangePIN 4227 1_1_0d EXIST::FUNCTION:SKF -i2d_ECIES_CIPHERTEXT_VALUE 4228 1_1_0d EXIST::FUNCTION:ECIES -X509_LOOKUP_new 4229 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_time 4230 1_1_0d EXIST::FUNCTION:TS -ASN1_UTCTIME_free 4231 1_1_0d EXIST::FUNCTION: -RSA_padding_check_none 4232 1_1_0d EXIST::FUNCTION:RSA -DH_OpenSSL 4233 1_1_0d EXIST::FUNCTION:DH -X509V3_EXT_d2i 4234 1_1_0d EXIST::FUNCTION: -NCONF_dump_bio 4235 1_1_0d EXIST::FUNCTION: -CMS_SignerInfo_get0_md_ctx 4236 1_1_0d EXIST::FUNCTION:CMS -EC_KEY_get_method 4237 1_1_0d EXIST::FUNCTION:EC -i2d_X509_PUBKEY 4238 1_1_0d EXIST::FUNCTION: -PKCS12_init 4239 1_1_0d EXIST::FUNCTION: -d2i_ASN1_PRINTABLESTRING 4240 1_1_0d EXIST::FUNCTION: -OCSP_CRLID_free 4241 1_1_0d EXIST::FUNCTION:OCSP -SKF_DecryptFinal 4242 1_1_0d EXIST::FUNCTION:SKF -i2d_PKCS12_bio 4243 1_1_0d EXIST::FUNCTION: -v2i_GENERAL_NAME 4244 1_1_0d EXIST::FUNCTION: -PBE2PARAM_free 4245 1_1_0d EXIST::FUNCTION: -BN_dec2bn 4246 1_1_0d EXIST::FUNCTION: -EVP_OpenInit 4247 1_1_0d EXIST::FUNCTION:RSA -EVP_camellia_192_cfb1 4248 1_1_0d EXIST::FUNCTION:CAMELLIA -CRYPTO_secure_malloc_done 4249 1_1_0d EXIST::FUNCTION: -X509_TRUST_get_flags 4250 1_1_0d EXIST::FUNCTION: -X509_REQ_get_signature_nid 4251 1_1_0d EXIST::FUNCTION: -PKCS7_RECIP_INFO_get0_alg 4252 1_1_0d EXIST::FUNCTION: -X509_REVOKED_delete_ext 4253 1_1_0d EXIST::FUNCTION: -X509V3_EXT_add_nconf 4254 1_1_0d EXIST::FUNCTION: -i2d_DIST_POINT 4255 1_1_0d EXIST::FUNCTION: -ERR_get_error_line 4256 1_1_0d EXIST::FUNCTION: -ASN1_buf_print 4257 1_1_0d EXIST::FUNCTION: -OCSP_BASICRESP_add1_ext_i2d 4258 1_1_0d EXIST::FUNCTION:OCSP -SOF_SignData 4259 1_1_0d EXIST::FUNCTION: -SHA224_Update 4260 1_1_0d EXIST::FUNCTION: -i2d_OCSP_REVOKEDINFO 4261 1_1_0d EXIST::FUNCTION:OCSP -SAF_EccVerifySignByCert 4262 1_1_0d EXIST::FUNCTION: -ENGINE_set_load_privkey_function 4263 1_1_0d EXIST::FUNCTION:ENGINE -i2d_ASIdentifiers 4264 1_1_0d EXIST::FUNCTION:RFC3779 -EVP_add_cipher 4265 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_get_auth_level 4266 1_1_0d EXIST::FUNCTION: -GENERAL_SUBTREE_new 4267 1_1_0d EXIST::FUNCTION: -PEM_X509_INFO_read 4268 1_1_0d EXIST::FUNCTION:STDIO -d2i_PUBKEY_bio 4269 1_1_0d EXIST::FUNCTION: -i2d_SM9_MASTER_PUBKEY 4270 1_1_0d EXIST::FUNCTION:SM9 -ERR_print_errors_cb 4271 1_1_0d EXIST::FUNCTION: -CT_POLICY_EVAL_CTX_set1_issuer 4272 1_1_0d EXIST::FUNCTION:CT -ENGINE_get_table_flags 4273 1_1_0d EXIST::FUNCTION:ENGINE -EVP_PKEY_CTX_ctrl_str 4274 1_1_0d EXIST::FUNCTION: -d2i_CPK_MASTER_SECRET_bio 4275 1_1_0d EXIST::FUNCTION:CPK -BIO_new_accept 4276 1_1_0d EXIST::FUNCTION:SOCK -EVP_aes_256_cbc 4277 1_1_0d EXIST::FUNCTION: -SKF_NewEnvelopedKey 4278 1_1_0d EXIST::FUNCTION:SKF -OCSP_BASICRESP_new 4279 1_1_0d EXIST::FUNCTION:OCSP -X509V3_parse_list 4280 1_1_0d EXIST::FUNCTION: -X509_TRUST_get_count 4281 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_num 4282 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_buf_noconst 4283 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_set_time_cb 4284 1_1_0d EXIST::FUNCTION:TS -SEED_set_key 4285 1_1_0d EXIST::FUNCTION:SEED -BIO_f_buffer 4286 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_point_conversion_form 4287 1_1_0d EXIST::FUNCTION:EC -EVP_PKEY_get0_EC_KEY 4288 1_1_0d EXIST::FUNCTION:EC -i2d_EC_PUBKEY_bio 4289 1_1_0d EXIST::FUNCTION:EC -CMS_signed_get_attr_count 4290 1_1_0d EXIST::FUNCTION:CMS -SKF_WriteFile 4291 1_1_0d EXIST::FUNCTION:SKF -CMS_unsigned_get_attr_count 4292 1_1_0d EXIST::FUNCTION:CMS -TS_RESP_CTX_set_clock_precision_digits 4293 1_1_0d EXIST::FUNCTION:TS -ASN1_BIT_STRING_set_bit 4294 1_1_0d EXIST::FUNCTION: -RAND_add 4295 1_1_0d EXIST::FUNCTION: -PEM_X509_INFO_write_bio 4296 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKAC_free 4297 1_1_0d EXIST::FUNCTION: -PEM_read_SM9MasterSecret 4298 1_1_0d EXIST::FUNCTION:SM9,STDIO -SM2_sign_ex 4299 1_1_0d EXIST::FUNCTION:SM2 -X509_issuer_and_serial_cmp 4300 1_1_0d EXIST::FUNCTION: -ASN1_PCTX_set_nm_flags 4301 1_1_0d EXIST::FUNCTION: -i2d_POLICYINFO 4302 1_1_0d EXIST::FUNCTION: -PEM_write_CMS 4303 1_1_0d EXIST::FUNCTION:CMS,STDIO -BN_add_word 4304 1_1_0d EXIST::FUNCTION: -DH_meth_free 4305 1_1_0d EXIST::FUNCTION:DH -PKCS12_SAFEBAG_create_pkcs8_encrypt 4306 1_1_0d EXIST::FUNCTION: -IPAddressChoice_free 4307 1_1_0d EXIST::FUNCTION:RFC3779 -DSA_meth_get_keygen 4308 1_1_0d EXIST::FUNCTION:DSA -OCSP_SERVICELOC_new 4309 1_1_0d EXIST::FUNCTION:OCSP -EC_GROUP_get_seed_len 4310 1_1_0d EXIST::FUNCTION:EC -OCSP_BASICRESP_get1_ext_d2i 4311 1_1_0d EXIST::FUNCTION:OCSP -DH_set_default_method 4312 1_1_0d EXIST::FUNCTION:DH -CPK_MASTER_SECRET_new 4313 1_1_0d EXIST::FUNCTION:CPK -X509_STORE_CTX_free 4314 1_1_0d EXIST::FUNCTION: -FFX_init 4315 1_1_0d EXIST::FUNCTION: -X509_get_default_private_dir 4316 1_1_0d EXIST::FUNCTION: -RC2_set_key 4317 1_1_0d EXIST::FUNCTION:RC2 -EVP_CIPHER_CTX_copy 4318 1_1_0d EXIST::FUNCTION: -PEM_write_bio_X509_REQ 4319 1_1_0d EXIST::FUNCTION: -BIO_socket_nbio 4320 1_1_0d EXIST::FUNCTION:SOCK -i2d_PUBKEY_bio 4321 1_1_0d EXIST::FUNCTION: -X509at_get_attr_count 4322 1_1_0d EXIST::FUNCTION: -OPENSSL_LH_new 4323 1_1_0d EXIST::FUNCTION: -AES_ecb_encrypt 4324 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_original_iv 4325 1_1_0d EXIST::FUNCTION: -EVP_aes_256_gcm 4326 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get_attr 4327 1_1_0d EXIST::FUNCTION: -CONF_imodule_get_module 4328 1_1_0d EXIST::FUNCTION: -RC4 4329 1_1_0d EXIST::FUNCTION:RC4 -d2i_ACCESS_DESCRIPTION 4330 1_1_0d EXIST::FUNCTION: -BIGNUM_it 4331 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -BIGNUM_it 4331 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -d2i_PKCS12_fp 4332 1_1_0d EXIST::FUNCTION:STDIO -EVP_aes_128_ocb 4333 1_1_0d EXIST::FUNCTION:OCB -EVP_PKEY_asn1_set_param 4334 1_1_0d EXIST::FUNCTION: -RSA_meth_get_init 4335 1_1_0d EXIST::FUNCTION:RSA -TS_VERIFY_CTX_cleanup 4336 1_1_0d EXIST::FUNCTION:TS -SKF_ClearSecureState 4337 1_1_0d EXIST::FUNCTION:SKF -SRP_create_verifier 4338 1_1_0d EXIST::FUNCTION:SRP -OCSP_ONEREQ_new 4339 1_1_0d EXIST::FUNCTION:OCSP -ERR_load_RSA_strings 4340 1_1_0d EXIST::FUNCTION:RSA -EVP_aes_192_ocb 4341 1_1_0d EXIST::FUNCTION:OCB -DH_meth_get0_app_data 4342 1_1_0d EXIST::FUNCTION:DH -SM9_generate_master_secret 4343 1_1_0d EXIST::FUNCTION:SM9 -BN_lshift 4344 1_1_0d EXIST::FUNCTION: -BN_generate_prime_ex 4345 1_1_0d EXIST::FUNCTION: -BN_from_montgomery 4346 1_1_0d EXIST::FUNCTION: -PKCS12_add_key 4347 1_1_0d EXIST::FUNCTION: -BUF_MEM_free 4348 1_1_0d EXIST::FUNCTION: -SDF_ExternalEncrypt_ECC 4349 1_1_0d EXIST::FUNCTION: -CT_POLICY_EVAL_CTX_get0_issuer 4350 1_1_0d EXIST::FUNCTION:CT -EVP_PKEY_CTX_new_id 4351 1_1_0d EXIST::FUNCTION: -SKF_GenRandom 4352 1_1_0d EXIST::FUNCTION:SKF -X509V3_string_free 4353 1_1_0d EXIST::FUNCTION: -BIO_pop 4354 1_1_0d EXIST::FUNCTION: -sms4_wrap_key 4355 1_1_0d EXIST::FUNCTION:SMS4 -PROXY_CERT_INFO_EXTENSION_new 4356 1_1_0d EXIST::FUNCTION: -RAND_write_file 4357 1_1_0d EXIST::FUNCTION: -SM2_compute_share_key 4358 1_1_0d EXIST::FUNCTION:SM2 -BN_get_rfc2409_prime_768 4359 1_1_0d EXIST::FUNCTION: -EVP_aes_128_cfb1 4360 1_1_0d EXIST::FUNCTION: -EC_KEY_OpenSSL 4361 1_1_0d EXIST::FUNCTION:EC -OTHERNAME_cmp 4362 1_1_0d EXIST::FUNCTION: -d2i_CMS_bio 4363 1_1_0d EXIST::FUNCTION:CMS -ASN1_PRINTABLESTRING_it 4364 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_PRINTABLESTRING_it 4364 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_PKEY_type 4365 1_1_0d EXIST::FUNCTION: -X509_STORE_get0_objects 4366 1_1_0d EXIST::FUNCTION: -X509_OBJECT_up_ref_count 4367 1_1_0d EXIST::FUNCTION: -SEED_cbc_encrypt 4368 1_1_0d EXIST::FUNCTION:SEED -SCT_new_from_base64 4369 1_1_0d EXIST::FUNCTION:CT -NCONF_free 4370 1_1_0d EXIST::FUNCTION: -X509_CRL_add1_ext_i2d 4371 1_1_0d EXIST::FUNCTION: -ECPKPARAMETERS_new 4372 1_1_0d EXIST::FUNCTION:EC -CMS_uncompress 4373 1_1_0d EXIST::FUNCTION:CMS -RSA_meth_set_priv_enc 4374 1_1_0d EXIST::FUNCTION:RSA -EC_KEY_METHOD_get_keygen 4375 1_1_0d EXIST::FUNCTION:EC -ECRS_SIG_new 4376 1_1_0d EXIST::FUNCTION:ECRS -CAST_ofb64_encrypt 4377 1_1_0d EXIST::FUNCTION:CAST -TS_TST_INFO_set_version 4378 1_1_0d EXIST::FUNCTION:TS -GENERAL_NAMES_new 4379 1_1_0d EXIST::FUNCTION: -DH_meth_set_generate_key 4380 1_1_0d EXIST::FUNCTION:DH -CMAC_Init 4381 1_1_0d EXIST::FUNCTION:CMAC -X509_ATTRIBUTE_get0_data 4382 1_1_0d EXIST::FUNCTION: -SOF_VerifyTimeStamp 4383 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_lookup_certs 4384 1_1_0d EXIST::FUNCTION: -PEM_write_bio_PAILLIER_PUBKEY 4385 1_1_0d EXIST::FUNCTION:PAILLIER -EVP_get_cipherbyname 4386 1_1_0d EXIST::FUNCTION: -CRYPTO_128_wrap 4387 1_1_0d EXIST::FUNCTION: -ASN1_SCTX_new 4388 1_1_0d EXIST::FUNCTION: -TS_RESP_CTX_set_signer_cert 4389 1_1_0d EXIST::FUNCTION:TS -DES_random_key 4390 1_1_0d EXIST::FUNCTION:DES -EC_KEY_get_enc_flags 4391 1_1_0d EXIST::FUNCTION:EC -EVP_ENCODE_CTX_num 4392 1_1_0d EXIST::FUNCTION: -SKF_EnumDev 4393 1_1_0d EXIST::FUNCTION:SKF -X509_NAME_print 4394 1_1_0d EXIST::FUNCTION: -HMAC_CTX_new 4395 1_1_0d EXIST::FUNCTION: -DES_ncbc_encrypt 4396 1_1_0d EXIST::FUNCTION:DES -X509_PUBKEY_free 4397 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_pop 4398 1_1_0d EXIST::FUNCTION: -PKCS7_SIGN_ENVELOPE_it 4399 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_SIGN_ENVELOPE_it 4399 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SAF_GetRsaPublicKey 4400 1_1_0d EXIST::FUNCTION: -EVP_DigestInit_ex 4401 1_1_0d EXIST::FUNCTION: -SAF_SymmEncrypt 4402 1_1_0d EXIST::FUNCTION: -X509_REQ_add1_attr 4403 1_1_0d EXIST::FUNCTION: -HMAC_CTX_get_md 4404 1_1_0d EXIST::FUNCTION: -SHA224 4405 1_1_0d EXIST::FUNCTION: -CRYPTO_cbc128_encrypt 4406 1_1_0d EXIST::FUNCTION: -DH_meth_set_flags 4407 1_1_0d EXIST::FUNCTION:DH -ASN1_ENUMERATED_to_BN 4408 1_1_0d EXIST::FUNCTION: -d2i_PROXY_CERT_INFO_EXTENSION 4409 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_exts 4410 1_1_0d EXIST::FUNCTION:TS -SM2CiphertextValue_new_from_ECCCIPHERBLOB 4411 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF,SM2 -X509_cmp 4412 1_1_0d EXIST::FUNCTION: -SHA256 4413 1_1_0d EXIST::FUNCTION: -BFMasterSecret_new 4414 1_1_0d EXIST::FUNCTION:BFIBE -OCSP_SIGNATURE_new 4415 1_1_0d EXIST::FUNCTION:OCSP -EVP_PKEY_derive_init 4416 1_1_0d EXIST::FUNCTION: -SAF_AddTrustedRootCaCertificate 4417 1_1_0d EXIST::FUNCTION: -BIO_asn1_set_prefix 4418 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get1_tls_encodedpoint 4419 1_1_0d EXIST::FUNCTION: -i2d_ESS_ISSUER_SERIAL 4420 1_1_0d EXIST::FUNCTION:TS -EVP_MD_CTX_test_flags 4421 1_1_0d EXIST::FUNCTION: -i2d_X509_CRL_bio 4422 1_1_0d EXIST::FUNCTION: -EVP_rc4_40 4423 1_1_0d EXIST::FUNCTION:RC4 -BN_GFP2_inv 4424 1_1_0d EXIST::FUNCTION: -CMS_add0_crl 4425 1_1_0d EXIST::FUNCTION:CMS -d2i_ASIdOrRange 4426 1_1_0d EXIST::FUNCTION:RFC3779 -i2d_ASN1_NULL 4427 1_1_0d EXIST::FUNCTION: -SAF_GetVersion 4428 1_1_0d EXIST::FUNCTION: -BIO_new 4429 1_1_0d EXIST::FUNCTION: -Camellia_ofb128_encrypt 4430 1_1_0d EXIST::FUNCTION:CAMELLIA -SKF_CloseContainer 4431 1_1_0d EXIST::FUNCTION:SKF -X509V3_EXT_REQ_add_nconf 4432 1_1_0d EXIST::FUNCTION: -ERR_load_COMP_strings 4433 1_1_0d EXIST::FUNCTION:COMP -DSA_set_method 4434 1_1_0d EXIST::FUNCTION:DSA -EVP_DecryptFinal 4435 1_1_0d EXIST::FUNCTION: -BN_CTX_free 4436 1_1_0d EXIST::FUNCTION: -i2d_CMS_ContentInfo 4437 1_1_0d EXIST::FUNCTION:CMS -X509v3_addr_inherits 4438 1_1_0d EXIST::FUNCTION:RFC3779 -BIO_s_secmem 4439 1_1_0d EXIST::FUNCTION: -PEM_write_bio_PaillierPrivateKey 4440 1_1_0d EXIST::FUNCTION:PAILLIER -EVP_PKEY_get1_PAILLIER 4441 1_1_0d EXIST::FUNCTION:PAILLIER -OCSP_SINGLERESP_get_ext 4442 1_1_0d EXIST::FUNCTION:OCSP -EVP_des_ede_cfb64 4443 1_1_0d EXIST::FUNCTION:DES -BN_GF2m_mod_solve_quad 4444 1_1_0d EXIST::FUNCTION:EC2M -ECDH_KDF_X9_62 4445 1_1_0d EXIST::FUNCTION:EC -d2i_EC_PUBKEY 4446 1_1_0d EXIST::FUNCTION:EC -ASN1_STRING_to_UTF8 4447 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_get_sgd 4448 1_1_0d EXIST::FUNCTION:GMAPI -sm3_compress 4449 1_1_0d EXIST::FUNCTION:SM3 -d2i_TS_RESP_fp 4450 1_1_0d EXIST::FUNCTION:STDIO,TS -PKCS12_key_gen_asc 4451 1_1_0d EXIST::FUNCTION: -i2d_ASN1_TYPE 4452 1_1_0d EXIST::FUNCTION: -PKCS12_pbe_crypt 4453 1_1_0d EXIST::FUNCTION: -BN_GFP2_sub_bn 4454 1_1_0d EXIST::FUNCTION: -ASN1_STRING_get_default_mask 4455 1_1_0d EXIST::FUNCTION: -EVP_EncryptFinal 4456 1_1_0d EXIST::FUNCTION: -ASN1_SEQUENCE_it 4457 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_SEQUENCE_it 4457 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -CMS_EncryptedData_decrypt 4458 1_1_0d EXIST::FUNCTION:CMS -X509_REQ_add1_attr_by_OBJ 4459 1_1_0d EXIST::FUNCTION: -PKCS8_pkey_get0 4460 1_1_0d EXIST::FUNCTION: -ERR_load_ERR_strings 4461 1_1_0d EXIST::FUNCTION: -X509_TRUST_get_by_id 4462 1_1_0d EXIST::FUNCTION: -SXNET_new 4463 1_1_0d EXIST::FUNCTION: -PEM_write_DHparams 4464 1_1_0d EXIST::FUNCTION:DH,STDIO -DES_ofb64_encrypt 4465 1_1_0d EXIST::FUNCTION:DES -SDF_GenerateKeyPair_RSA 4466 1_1_0d EXIST::FUNCTION: -EVP_aes_128_ccm 4467 1_1_0d EXIST::FUNCTION: -X509_STORE_set_lookup_crls 4468 1_1_0d EXIST::FUNCTION: -X509_get_ext_count 4469 1_1_0d EXIST::FUNCTION: -SKF_WaitForDevEvent 4470 1_1_0d EXIST::FUNCTION:SKF -BN_to_montgomery 4471 1_1_0d EXIST::FUNCTION: -i2d_BB1MasterSecret 4472 1_1_0d EXIST::FUNCTION:BB1IBE -PEM_dek_info 4473 1_1_0d EXIST::FUNCTION: -TS_REQ_get_cert_req 4474 1_1_0d EXIST::FUNCTION:TS -EVP_bf_ofb 4475 1_1_0d EXIST::FUNCTION:BF -SM2_COSIGNER2_SHARE_free 4476 1_1_0d EXIST::FUNCTION:SM2 -EC_KEY_oct2key 4477 1_1_0d EXIST::FUNCTION:EC -X509_check_ip 4478 1_1_0d EXIST::FUNCTION: -EC_KEY_print_fp 4479 1_1_0d EXIST::FUNCTION:EC,STDIO -X509_STORE_CTX_get_get_issuer 4480 1_1_0d EXIST::FUNCTION: -EVP_sms4_wrap 4481 1_1_0d EXIST::FUNCTION:SMS4 -OCSP_CERTSTATUS_free 4482 1_1_0d EXIST::FUNCTION:OCSP -EC_GROUP_set_seed 4483 1_1_0d EXIST::FUNCTION:EC -EVP_MD_meth_free 4484 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_CTX_iv_noconst 4485 1_1_0d EXIST::FUNCTION: -SKF_UnblockPIN 4486 1_1_0d EXIST::FUNCTION:SKF -i2d_ECPrivateKey 4487 1_1_0d EXIST::FUNCTION:EC -UI_method_set_closer 4488 1_1_0d EXIST::FUNCTION:UI -X509_get_default_cert_dir 4489 1_1_0d EXIST::FUNCTION: -TS_ACCURACY_get_seconds 4490 1_1_0d EXIST::FUNCTION:TS -EVP_sms4_ctr 4491 1_1_0d EXIST::FUNCTION:SMS4 -X509_TRUST_add 4492 1_1_0d EXIST::FUNCTION: -i2d_RSAPrivateKey_fp 4493 1_1_0d EXIST::FUNCTION:RSA,STDIO -RSA_get0_key 4494 1_1_0d EXIST::FUNCTION:RSA -X509V3_EXT_add_nconf_sk 4495 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_get_ctrl 4496 1_1_0d EXIST::FUNCTION: -BIO_find_type 4497 1_1_0d EXIST::FUNCTION: -sms4_encrypt_16blocks 4498 1_1_0d EXIST::FUNCTION:SMS4 -BN_bn2lebinpad 4499 1_1_0d EXIST::FUNCTION: -PEM_write_DSAPrivateKey 4500 1_1_0d EXIST::FUNCTION:DSA,STDIO -DH_get_1024_160 4501 1_1_0d EXIST::FUNCTION:DH -TS_CONF_get_tsa_section 4502 1_1_0d EXIST::FUNCTION:TS -TS_CONF_set_policies 4503 1_1_0d EXIST::FUNCTION:TS -ESS_CERT_ID_free 4504 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_add1_attr_by_txt 4505 1_1_0d EXIST::FUNCTION: -X509_get_signature_type 4506 1_1_0d EXIST::FUNCTION: -EVP_PKEY_cmp 4507 1_1_0d EXIST::FUNCTION: -CMS_RecipientInfo_kari_get0_orig_id 4508 1_1_0d EXIST::FUNCTION:CMS -i2b_PublicKey_bio 4509 1_1_0d EXIST::FUNCTION:DSA -X509_STORE_CTX_get_ex_data 4510 1_1_0d EXIST::FUNCTION: -EC_GROUP_get_mont_data 4511 1_1_0d EXIST::FUNCTION:EC -OCSP_REVOKEDINFO_new 4512 1_1_0d EXIST::FUNCTION:OCSP -MD4_Transform 4513 1_1_0d EXIST::FUNCTION:MD4 -i2d_ECPrivateKey_bio 4514 1_1_0d EXIST::FUNCTION:EC -d2i_PKCS7_ENC_CONTENT 4515 1_1_0d EXIST::FUNCTION: -i2t_ASN1_OBJECT 4516 1_1_0d EXIST::FUNCTION: -SDF_PrintDeviceInfo 4517 1_1_0d EXIST::FUNCTION:SDF -EVP_CIPHER_do_all_sorted 4518 1_1_0d EXIST::FUNCTION: -X509_NAME_cmp 4519 1_1_0d EXIST::FUNCTION: -X509_chain_check_suiteb 4520 1_1_0d EXIST::FUNCTION: -OCSP_basic_sign 4521 1_1_0d EXIST::FUNCTION:OCSP -X509_VERIFY_PARAM_set_purpose 4522 1_1_0d EXIST::FUNCTION: -CMS_set1_signers_certs 4523 1_1_0d EXIST::FUNCTION:CMS -ERR_load_KDF_strings 4524 1_1_0d EXIST::FUNCTION: -PEM_SignUpdate 4525 1_1_0d EXIST::FUNCTION: -CRYPTO_THREAD_get_local 4526 1_1_0d EXIST::FUNCTION: -X509v3_delete_ext 4527 1_1_0d EXIST::FUNCTION: -SKF_PrintRSAPrivateKey 4528 1_1_0d EXIST::FUNCTION:SKF -PEM_write_bio_PKCS7_stream 4529 1_1_0d EXIST::FUNCTION: -BIO_get_ex_data 4530 1_1_0d EXIST::FUNCTION: -SKF_UnlockDev 4531 1_1_0d EXIST::FUNCTION:SKF -PKCS7_ATTR_VERIFY_it 4532 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_ATTR_VERIFY_it 4532 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EC_POINT_set_affine_coordinates_GF2m 4533 1_1_0d EXIST::FUNCTION:EC,EC2M -ASN1_item_ex_d2i 4534 1_1_0d EXIST::FUNCTION: -X509_getm_notAfter 4535 1_1_0d EXIST::FUNCTION: -FFX_encrypt 4536 1_1_0d EXIST::FUNCTION: -TS_ACCURACY_free 4537 1_1_0d EXIST::FUNCTION:TS -PAILLIER_ciphertext_add 4538 1_1_0d EXIST::FUNCTION:PAILLIER -CONF_imodule_set_flags 4539 1_1_0d EXIST::FUNCTION: -PKCS12_unpack_authsafes 4540 1_1_0d EXIST::FUNCTION: -ERR_load_OCSP_strings 4541 1_1_0d EXIST::FUNCTION:OCSP -CMS_RecipientInfo_kari_set0_pkey 4542 1_1_0d EXIST::FUNCTION:CMS -SDF_ImportKeyWithISK_RSA 4543 1_1_0d EXIST::FUNCTION: -X509_issuer_and_serial_hash 4544 1_1_0d EXIST::FUNCTION: -ECIES_CIPHERTEXT_VALUE_set_ECCCIPHERBLOB 4545 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SKF -PKCS7_ENC_CONTENT_new 4546 1_1_0d EXIST::FUNCTION: -AUTHORITY_KEYID_free 4547 1_1_0d EXIST::FUNCTION: -ASN1_TIME_adj 4548 1_1_0d EXIST::FUNCTION: -TS_CONF_set_tsa_name 4549 1_1_0d EXIST::FUNCTION:TS -X509v3_get_ext_by_NID 4550 1_1_0d EXIST::FUNCTION: -d2i_ECCSIGNATUREBLOB 4551 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF -EVP_MD_CTX_clear_flags 4552 1_1_0d EXIST::FUNCTION: -d2i_RSAPublicKey_bio 4553 1_1_0d EXIST::FUNCTION:RSA -X509_NAME_dup 4554 1_1_0d EXIST::FUNCTION: -EVP_PKEY_get_default_digest_nid 4555 1_1_0d EXIST::FUNCTION: -SOF_GetPinRetryCount 4556 1_1_0d EXIST::FUNCTION: -EVP_EncryptInit_ex 4557 1_1_0d EXIST::FUNCTION: -BIO_s_connect 4558 1_1_0d EXIST::FUNCTION:SOCK -TS_REQ_set_policy_id 4559 1_1_0d EXIST::FUNCTION:TS -OCSP_request_set1_name 4560 1_1_0d EXIST::FUNCTION:OCSP -i2d_ECPrivateKey_fp 4561 1_1_0d EXIST::FUNCTION:EC,STDIO -ASYNC_WAIT_CTX_get_all_fds 4562 1_1_0d EXIST::FUNCTION: -X509_ALGOR_dup 4563 1_1_0d EXIST::FUNCTION: -ERR_load_ASN1_strings 4564 1_1_0d EXIST::FUNCTION: -SOF_SignMessage 4565 1_1_0d EXIST::FUNCTION: -OCSP_CRLID_new 4566 1_1_0d EXIST::FUNCTION:OCSP -RSA_padding_add_none 4567 1_1_0d EXIST::FUNCTION:RSA -CPK_MASTER_SECRET_print 4568 1_1_0d EXIST::FUNCTION:CPK -OCSP_RESPBYTES_it 4569 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_RESPBYTES_it 4569 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -X509v3_addr_add_inherit 4570 1_1_0d EXIST::FUNCTION:RFC3779 -OCSP_RESPID_free 4571 1_1_0d EXIST::FUNCTION:OCSP -BIO_f_cipher 4572 1_1_0d EXIST::FUNCTION: -X509_NAME_entry_count 4573 1_1_0d EXIST::FUNCTION: -EC_KEY_METHOD_set_decrypt 4574 1_1_0d EXIST::FUNCTION:SM2 -speck_set_encrypt_key32 4575 1_1_0d EXIST::FUNCTION:SPECK -X509_policy_tree_get0_level 4576 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_set_iv_length 4577 1_1_0d EXIST::FUNCTION: -SM2_cosigner2_setup 4578 1_1_0d EXIST::FUNCTION:SM2 -SKF_ExportECCPublicKey 4579 1_1_0d EXIST::FUNCTION:SKF -EVP_aes_192_wrap 4580 1_1_0d EXIST::FUNCTION: -PEM_write_bio_ECPrivateKey 4581 1_1_0d EXIST::FUNCTION:EC -BFPublicParameters_new 4582 1_1_0d EXIST::FUNCTION:BFIBE -BB1CiphertextBlock_it 4583 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:BB1IBE -BB1CiphertextBlock_it 4583 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:BB1IBE -X509_VERIFY_PARAM_set1_ip_asc 4584 1_1_0d EXIST::FUNCTION: -OPENSSL_LH_node_stats_bio 4585 1_1_0d EXIST::FUNCTION: -d2i_ECPrivateKey_bio 4586 1_1_0d EXIST::FUNCTION:EC -ECIES_do_encrypt 4587 1_1_0d EXIST::FUNCTION:ECIES -OCSP_resp_get0 4588 1_1_0d EXIST::FUNCTION:OCSP -RSA_meth_set1_name 4589 1_1_0d EXIST::FUNCTION:RSA -PKCS12_PBE_add 4590 1_1_0d EXIST::FUNCTION: -PKCS12_item_decrypt_d2i 4591 1_1_0d EXIST::FUNCTION: -X509_TRUST_get_trust 4592 1_1_0d EXIST::FUNCTION: -ENGINE_get_cipher_engine 4593 1_1_0d EXIST::FUNCTION:ENGINE -UI_method_get_prompt_constructor 4594 1_1_0d EXIST::FUNCTION:UI -OPENSSL_LH_num_items 4595 1_1_0d EXIST::FUNCTION: -CONF_module_add 4596 1_1_0d EXIST::FUNCTION: -SKF_ImportECCKeyPair 4597 1_1_0d EXIST::FUNCTION:SKF -X509_get_signature_nid 4598 1_1_0d EXIST::FUNCTION: -EVP_CIPHER_meth_get_cleanup 4599 1_1_0d EXIST::FUNCTION: -X509V3_EXT_val_prn 4600 1_1_0d EXIST::FUNCTION: -PKCS7_ISSUER_AND_SERIAL_it 4601 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS7_ISSUER_AND_SERIAL_it 4601 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -X509_free 4602 1_1_0d EXIST::FUNCTION: -X509_new 4603 1_1_0d EXIST::FUNCTION: -i2d_POLICYQUALINFO 4604 1_1_0d EXIST::FUNCTION: -UI_dup_input_string 4605 1_1_0d EXIST::FUNCTION:UI -SDF_InternalSign_ECC 4606 1_1_0d EXIST::FUNCTION: -SM9_SignFinal 4607 1_1_0d EXIST::FUNCTION:SM9 -EC_curve_nid2nist 4608 1_1_0d EXIST::FUNCTION:EC -X509_trust_clear 4609 1_1_0d EXIST::FUNCTION: -i2d_CMS_bio 4610 1_1_0d EXIST::FUNCTION:CMS -ASN1_IA5STRING_new 4611 1_1_0d EXIST::FUNCTION: -X509V3_EXT_CRL_add_conf 4612 1_1_0d EXIST::FUNCTION: -OCSP_REQ_CTX_free 4613 1_1_0d EXIST::FUNCTION:OCSP -DSA_meth_set_init 4614 1_1_0d EXIST::FUNCTION:DSA -ENGINE_get_pkey_asn1_meth_engine 4615 1_1_0d EXIST::FUNCTION:ENGINE -CMS_get0_type 4616 1_1_0d EXIST::FUNCTION:CMS -i2d_X509_NAME 4617 1_1_0d EXIST::FUNCTION: -i2d_GENERAL_NAME 4618 1_1_0d EXIST::FUNCTION: -EVP_PKEY_meth_set_verifyctx 4619 1_1_0d EXIST::FUNCTION: -i2d_PBE2PARAM 4620 1_1_0d EXIST::FUNCTION: -BN_get_rfc2409_prime_1024 4621 1_1_0d EXIST::FUNCTION: -X509_NAME_oneline 4622 1_1_0d EXIST::FUNCTION: -SDF_FreeECCCipher 4623 1_1_0d EXIST::FUNCTION:SDF -X509_get_ext_by_critical 4624 1_1_0d EXIST::FUNCTION: -CMS_digest_verify 4625 1_1_0d EXIST::FUNCTION:CMS -RAND_egd 4626 1_1_0d EXIST::FUNCTION:EGD -OTHERNAME_new 4627 1_1_0d EXIST::FUNCTION: -SM9_VerifyFinal 4628 1_1_0d EXIST::FUNCTION:SM9 -DES_set_key_checked 4629 1_1_0d EXIST::FUNCTION:DES -RSA_meth_set_sign 4630 1_1_0d EXIST::FUNCTION:RSA -i2d_X509_NAME_ENTRY 4631 1_1_0d EXIST::FUNCTION: -X509_dup 4632 1_1_0d EXIST::FUNCTION: -TS_RESP_get_status_info 4633 1_1_0d EXIST::FUNCTION:TS -X509_certificate_type 4634 1_1_0d EXIST::FUNCTION: -DH_set0_pqg 4635 1_1_0d EXIST::FUNCTION:DH -X509_STORE_CTX_get_cleanup 4636 1_1_0d EXIST::FUNCTION: -NETSCAPE_SPKI_set_pubkey 4637 1_1_0d EXIST::FUNCTION: -i2d_SM2_COSIGNER2_PROOF 4638 1_1_0d EXIST::FUNCTION:SM2 -i2a_ACCESS_DESCRIPTION 4639 1_1_0d EXIST::FUNCTION: -CTLOG_free 4640 1_1_0d EXIST::FUNCTION:CT -OCSP_REQ_CTX_get0_mem_bio 4641 1_1_0d EXIST::FUNCTION:OCSP -PEM_read_bio_PUBKEY 4642 1_1_0d EXIST::FUNCTION: -i2d_PKCS12_MAC_DATA 4643 1_1_0d EXIST::FUNCTION: -i2d_SM2_COSIGNER1_SHARE 4644 1_1_0d EXIST::FUNCTION:SM2 -d2i_X509_EXTENSION 4645 1_1_0d EXIST::FUNCTION: -CRYPTO_gcm128_encrypt_ctr32 4646 1_1_0d EXIST::FUNCTION: -X509_REVOKED_get0_extensions 4647 1_1_0d EXIST::FUNCTION: -X509_get0_notAfter 4648 1_1_0d EXIST::FUNCTION: -EC_KEY_can_sign 4649 1_1_0d EXIST::FUNCTION:EC -X509_print_ex_fp 4650 1_1_0d EXIST::FUNCTION:STDIO -SAF_EccSignFile 4651 1_1_0d EXIST::FUNCTION:SAF -SCT_get_source 4652 1_1_0d EXIST::FUNCTION:CT -d2i_PKCS7_bio 4653 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_set_flags 4654 1_1_0d EXIST::FUNCTION: -i2d_SM2_COSIGNER1_PROOF 4655 1_1_0d EXIST::FUNCTION:SM2 -CRYPTO_gcm128_new 4656 1_1_0d EXIST::FUNCTION: -d2i_X509_CRL_bio 4657 1_1_0d EXIST::FUNCTION: -EVP_MD_type 4658 1_1_0d EXIST::FUNCTION: -DH_get_ex_data 4659 1_1_0d EXIST::FUNCTION:DH -SM2_do_verify 4660 1_1_0d EXIST::FUNCTION:SM2 -SDF_DeleteFile 4661 1_1_0d EXIST::FUNCTION: -RSA_set0_key 4662 1_1_0d EXIST::FUNCTION:RSA -SM9_ciphertext_size 4663 1_1_0d EXIST::FUNCTION:SM9 -TS_MSG_IMPRINT_set_msg 4664 1_1_0d EXIST::FUNCTION:TS -d2i_GENERAL_NAMES 4665 1_1_0d EXIST::FUNCTION: -EVP_camellia_128_cfb128 4666 1_1_0d EXIST::FUNCTION:CAMELLIA -BIO_new_dgram_sctp 4667 1_1_0d EXIST::FUNCTION:DGRAM,SCTP -CONF_module_get_usr_data 4668 1_1_0d EXIST::FUNCTION: -X509_verify 4669 1_1_0d EXIST::FUNCTION: -SM2_do_encrypt 4670 1_1_0d EXIST::FUNCTION:SM2 -ENGINE_get_default_RAND 4671 1_1_0d EXIST::FUNCTION:ENGINE -TS_TST_INFO_print_bio 4672 1_1_0d EXIST::FUNCTION:TS -EVP_des_ecb 4673 1_1_0d EXIST::FUNCTION:DES -PKCS5_pbe_set 4674 1_1_0d EXIST::FUNCTION: -OCSP_BASICRESP_get_ext_by_critical 4675 1_1_0d EXIST::FUNCTION:OCSP -BF_options 4676 1_1_0d EXIST::FUNCTION:BF -RSA_meth_get_pub_enc 4677 1_1_0d EXIST::FUNCTION:RSA -SKF_ExtECCSign 4678 1_1_0d EXIST::FUNCTION:SKF -ECIES_CIPHERTEXT_VALUE_get_ECCCipher 4679 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SDF -ASN1_TYPE_set1 4680 1_1_0d EXIST::FUNCTION: -GENERAL_NAMES_it 4681 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -GENERAL_NAMES_it 4681 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -SKF_DigestInit 4682 1_1_0d EXIST::FUNCTION:SKF -i2s_ASN1_IA5STRING 4683 1_1_0d EXIST::FUNCTION: -DH_meth_set_bn_mod_exp 4684 1_1_0d EXIST::FUNCTION:DH -i2d_DIRECTORYSTRING 4685 1_1_0d EXIST::FUNCTION: -COMP_get_name 4686 1_1_0d EXIST::FUNCTION:COMP -BIO_new_dgram 4687 1_1_0d EXIST::FUNCTION:DGRAM -EC_GROUP_clear_free 4688 1_1_0d EXIST::FUNCTION:EC -EVP_CipherFinal 4689 1_1_0d EXIST::FUNCTION: -EC_GROUP_set_curve_name 4690 1_1_0d EXIST::FUNCTION:EC -EC_KEY_get_conv_form 4691 1_1_0d EXIST::FUNCTION:EC -COMP_get_type 4692 1_1_0d EXIST::FUNCTION:COMP -PEM_read_SM9_MASTER_PUBKEY 4693 1_1_0d EXIST::FUNCTION:SM9,STDIO -EVP_aes_128_cbc_hmac_sha1 4694 1_1_0d EXIST::FUNCTION: -PEM_write_bio_X509 4695 1_1_0d EXIST::FUNCTION: -RSA_padding_add_PKCS1_OAEP_mgf1 4696 1_1_0d EXIST::FUNCTION:RSA -EVP_aes_128_xts 4697 1_1_0d EXIST::FUNCTION: -CMS_add0_RevocationInfoChoice 4698 1_1_0d EXIST::FUNCTION:CMS -PKCS5_pbe_set0_algor 4699 1_1_0d EXIST::FUNCTION: -i2d_ECCCipher 4700 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF -i2d_PKCS8PrivateKey_nid_fp 4701 1_1_0d EXIST::FUNCTION:STDIO -TS_ACCURACY_set_millis 4702 1_1_0d EXIST::FUNCTION:TS -DES_encrypt3 4703 1_1_0d EXIST::FUNCTION:DES -CRYPTO_128_unwrap_pad 4704 1_1_0d EXIST::FUNCTION: -BB1MasterSecret_new 4705 1_1_0d EXIST::FUNCTION:BB1IBE -SKF_OpenDevice 4706 1_1_0d EXIST::FUNCTION:SKF -d2i_ASN1_GENERALIZEDTIME 4707 1_1_0d EXIST::FUNCTION: -BIO_listen 4708 1_1_0d EXIST::FUNCTION:SOCK -BN_bin2bn 4709 1_1_0d EXIST::FUNCTION: -d2i_OCSP_SIGNATURE 4710 1_1_0d EXIST::FUNCTION:OCSP -SKF_Digest 4711 1_1_0d EXIST::FUNCTION:SKF -PEM_read_PrivateKey 4712 1_1_0d EXIST::FUNCTION:STDIO -i2d_TS_MSG_IMPRINT 4713 1_1_0d EXIST::FUNCTION:TS -PEM_read_bio_SM9MasterSecret 4714 1_1_0d EXIST::FUNCTION:SM9 -EVP_rc4 4715 1_1_0d EXIST::FUNCTION:RC4 -d2i_CPK_PUBLIC_PARAMS_bio 4716 1_1_0d EXIST::FUNCTION:CPK -CT_POLICY_EVAL_CTX_get0_log_store 4717 1_1_0d EXIST::FUNCTION:CT -PKCS12_BAGS_it 4718 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS12_BAGS_it 4718 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EC_KEY_METHOD_get_compute_key 4719 1_1_0d EXIST::FUNCTION:EC -BIO_meth_set_create 4720 1_1_0d EXIST::FUNCTION: -EVP_cast5_ecb 4721 1_1_0d EXIST::FUNCTION:CAST -CMS_RecipientEncryptedKey_cert_cmp 4722 1_1_0d EXIST::FUNCTION:CMS -ERR_print_errors 4723 1_1_0d EXIST::FUNCTION: -SDF_InternalPublicKeyOperation_RSA 4724 1_1_0d EXIST::FUNCTION: -BIO_vsnprintf 4725 1_1_0d EXIST::FUNCTION: -RSA_meth_set_mod_exp 4726 1_1_0d EXIST::FUNCTION:RSA -OBJ_NAME_init 4727 1_1_0d EXIST::FUNCTION: -DSO_dsobyaddr 4728 1_1_0d EXIST::FUNCTION: -SAF_Base64_DecodeUpdate 4729 1_1_0d EXIST::FUNCTION: -SRP_Calc_server_key 4730 1_1_0d EXIST::FUNCTION:SRP -PKCS7_RECIP_INFO_new 4731 1_1_0d EXIST::FUNCTION: -BIO_meth_get_ctrl 4732 1_1_0d EXIST::FUNCTION: -SKF_GetDevInfo 4733 1_1_0d EXIST::FUNCTION:SKF -ASN1_generate_nconf 4734 1_1_0d EXIST::FUNCTION: -ASN1_TYPE_get_int_octetstring 4735 1_1_0d EXIST::FUNCTION: -BIO_clear_flags 4736 1_1_0d EXIST::FUNCTION: -RSA_public_encrypt 4737 1_1_0d EXIST::FUNCTION:RSA -EVP_aes_192_ctr 4738 1_1_0d EXIST::FUNCTION: -d2i_SM2CiphertextValue 4739 1_1_0d EXIST::FUNCTION:SM2 -UI_UTIL_read_pw 4740 1_1_0d EXIST::FUNCTION:UI -CTLOG_STORE_load_file 4741 1_1_0d EXIST::FUNCTION:CT -BIO_socket_ioctl 4742 1_1_0d EXIST::FUNCTION:SOCK -OpenSSL_version 4743 1_1_0d EXIST::FUNCTION: -SOF_GetUserList 4744 1_1_0d EXIST::FUNCTION: -EVP_aes_128_wrap 4745 1_1_0d EXIST::FUNCTION: -X509_CRL_add_ext 4746 1_1_0d EXIST::FUNCTION: -PEM_write_SM9PublicParameters 4747 1_1_0d EXIST::FUNCTION:SM9,STDIO -OCSP_check_nonce 4748 1_1_0d EXIST::FUNCTION:OCSP -SKF_ECCExportSessionKey 4749 1_1_0d EXIST::FUNCTION:SKF -EC_GROUP_method_of 4750 1_1_0d EXIST::FUNCTION:EC -X509_STORE_CTX_get1_chain 4751 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_is_sorted 4752 1_1_0d EXIST::FUNCTION: -OCSP_REQUEST_get_ext_by_critical 4753 1_1_0d EXIST::FUNCTION:OCSP -SDF_GetPrivateKeyAccessRight 4754 1_1_0d EXIST::FUNCTION: -OCSP_SINGLERESP_it 4755 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_SINGLERESP_it 4755 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -EVP_PKEY_print_public 4756 1_1_0d EXIST::FUNCTION: -ASN1_sign 4757 1_1_0d EXIST::FUNCTION: -BIO_ADDR_path_string 4758 1_1_0d EXIST::FUNCTION:SOCK -SAF_EccSign 4759 1_1_0d EXIST::FUNCTION: -BN_with_flags 4760 1_1_0d EXIST::FUNCTION: -DH_security_bits 4761 1_1_0d EXIST::FUNCTION:DH -X509_CERT_AUX_new 4762 1_1_0d EXIST::FUNCTION: -BIO_nread0 4763 1_1_0d EXIST::FUNCTION: -i2d_ASN1_TIME 4764 1_1_0d EXIST::FUNCTION: -EC_POINT_set_compressed_coordinates_GFp 4765 1_1_0d EXIST::FUNCTION:EC -HMAC_Init 4766 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -BIO_read 4767 1_1_0d EXIST::FUNCTION: -UI_add_verify_string 4768 1_1_0d EXIST::FUNCTION:UI -SM9_sign 4769 1_1_0d EXIST::FUNCTION:SM9 -RSA_get_RSAPRIVATEKEYBLOB 4770 1_1_0d EXIST::FUNCTION:GMAPI,RSA,SKF -RSA_public_decrypt 4771 1_1_0d EXIST::FUNCTION:RSA -EVP_EncryptInit 4772 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_set1_email 4773 1_1_0d EXIST::FUNCTION: -CONF_imodule_get_value 4774 1_1_0d EXIST::FUNCTION: -ERR_get_error 4775 1_1_0d EXIST::FUNCTION: -i2d_PKCS7_DIGEST 4776 1_1_0d EXIST::FUNCTION: -TS_TST_INFO_get_ext 4777 1_1_0d EXIST::FUNCTION:TS -UI_add_info_string 4778 1_1_0d EXIST::FUNCTION:UI -X509_CRL_get_ext_d2i 4779 1_1_0d EXIST::FUNCTION: -SM2CiphertextValue_free 4780 1_1_0d EXIST::FUNCTION:SM2 -X509_policy_tree_get0_user_policies 4781 1_1_0d EXIST::FUNCTION: -sm3 4782 1_1_0d EXIST::FUNCTION:SM3 -RSA_padding_add_X931 4783 1_1_0d EXIST::FUNCTION:RSA -X509_SIG_getm 4784 1_1_0d EXIST::FUNCTION: -TS_REQ_set_msg_imprint 4785 1_1_0d EXIST::FUNCTION:TS -EVP_PKEY_CTX_set_cb 4786 1_1_0d EXIST::FUNCTION: -ENGINE_get_default_DSA 4787 1_1_0d EXIST::FUNCTION:ENGINE -X509_CRL_METHOD_new 4788 1_1_0d EXIST::FUNCTION: -SHA512_Init 4789 1_1_0d EXIST:!VMSVAX:FUNCTION: -EVP_md4 4790 1_1_0d EXIST::FUNCTION:MD4 -DSAparams_print_fp 4791 1_1_0d EXIST::FUNCTION:DSA,STDIO -X509_VAL_free 4792 1_1_0d EXIST::FUNCTION: -i2d_PrivateKey 4793 1_1_0d EXIST::FUNCTION: -ASIdentifierChoice_it 4794 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 -ASIdentifierChoice_it 4794 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 -BN_GFP2_sub 4795 1_1_0d EXIST::FUNCTION: -OPENSSL_sk_find_ex 4796 1_1_0d EXIST::FUNCTION: -i2d_PAILLIER_PUBKEY 4797 1_1_0d EXIST::FUNCTION:PAILLIER -X509_CRL_print_fp 4798 1_1_0d EXIST::FUNCTION:STDIO -BIO_new_file 4799 1_1_0d EXIST::FUNCTION: -BN_MONT_CTX_copy 4800 1_1_0d EXIST::FUNCTION: -ENGINE_unregister_digests 4801 1_1_0d EXIST::FUNCTION:ENGINE -EVP_read_pw_string 4802 1_1_0d EXIST::FUNCTION:UI -PKCS7_stream 4803 1_1_0d EXIST::FUNCTION: -SAF_Base64_DecodeFinal 4804 1_1_0d EXIST::FUNCTION: -SCT_get0_signature 4805 1_1_0d EXIST::FUNCTION:CT -ENGINE_set_RAND 4806 1_1_0d EXIST::FUNCTION:ENGINE -OCSP_REQ_CTX_add1_header 4807 1_1_0d EXIST::FUNCTION:OCSP -GENERAL_SUBTREE_it 4808 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -GENERAL_SUBTREE_it 4808 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -RC5_32_cbc_encrypt 4809 1_1_0d EXIST::FUNCTION:RC5 -MD2 4810 1_1_0d EXIST::FUNCTION:MD2 -EC_KEY_METHOD_set_init 4811 1_1_0d EXIST::FUNCTION:EC -OCSP_sendreq_bio 4812 1_1_0d EXIST::FUNCTION:OCSP -BIO_dump_indent_fp 4813 1_1_0d EXIST::FUNCTION:STDIO -d2i_POLICYINFO 4814 1_1_0d EXIST::FUNCTION: -X509_it 4815 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -X509_it 4815 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_MD_meth_get_copy 4816 1_1_0d EXIST::FUNCTION: -POLICY_CONSTRAINTS_new 4817 1_1_0d EXIST::FUNCTION: -SAF_EccVerifySign 4818 1_1_0d EXIST::FUNCTION: -SM2_do_sign_ex 4819 1_1_0d EXIST::FUNCTION:SM2 -X509_get_ext_by_OBJ 4820 1_1_0d EXIST::FUNCTION: -d2i_PrivateKey 4821 1_1_0d EXIST::FUNCTION: -SKF_SetSymmKey 4822 1_1_0d EXIST::FUNCTION:SKF -DH_get_2048_224 4823 1_1_0d EXIST::FUNCTION:DH -EVP_CipherInit 4824 1_1_0d EXIST::FUNCTION: -UI_get0_output_string 4825 1_1_0d EXIST::FUNCTION:UI -CTLOG_new 4826 1_1_0d EXIST::FUNCTION:CT -ASN1_ENUMERATED_get 4827 1_1_0d EXIST::FUNCTION: -CONF_modules_unload 4828 1_1_0d EXIST::FUNCTION: -DSA_meth_set_flags 4829 1_1_0d EXIST::FUNCTION:DSA -CMS_SignerInfo_get0_pkey_ctx 4830 1_1_0d EXIST::FUNCTION:CMS -CRYPTO_THREAD_unlock 4831 1_1_0d EXIST::FUNCTION: -ASIdentifiers_new 4832 1_1_0d EXIST::FUNCTION:RFC3779 -RSAPrivateKey_it 4833 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA -RSAPrivateKey_it 4833 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA -BN_sqr 4834 1_1_0d EXIST::FUNCTION: -ASN1_STRING_print_ex 4835 1_1_0d EXIST::FUNCTION: -OCSP_ONEREQ_it 4836 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP -OCSP_ONEREQ_it 4836 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:OCSP -OCSP_REQUEST_add1_ext_i2d 4837 1_1_0d EXIST::FUNCTION:OCSP -X509_VERIFY_PARAM_lookup 4838 1_1_0d EXIST::FUNCTION: -SAF_GetCertificateStateByOCSP 4839 1_1_0d EXIST::FUNCTION: -X509_STORE_CTX_get_error_depth 4840 1_1_0d EXIST::FUNCTION: -BIO_f_md 4841 1_1_0d EXIST::FUNCTION: -i2d_DSAPrivateKey_bio 4842 1_1_0d EXIST::FUNCTION:DSA -d2i_ASN1_TIME 4843 1_1_0d EXIST::FUNCTION: -DIST_POINT_NAME_new 4844 1_1_0d EXIST::FUNCTION: -SAF_Pkcs7_DecodeData 4845 1_1_0d EXIST::FUNCTION: -SCT_validate 4846 1_1_0d EXIST::FUNCTION:CT -OCSP_SINGLERESP_free 4847 1_1_0d EXIST::FUNCTION:OCSP -EVP_EncodeBlock 4848 1_1_0d EXIST::FUNCTION: -EVP_des_cfb8 4849 1_1_0d EXIST::FUNCTION:DES -DH_meth_dup 4850 1_1_0d EXIST::FUNCTION:DH -BN_add 4851 1_1_0d EXIST::FUNCTION: -UI_add_error_string 4852 1_1_0d EXIST::FUNCTION:UI -SM2_COSIGNER2_PROOF_it 4853 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:SM2 -SM2_COSIGNER2_PROOF_it 4853 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:SM2 -EC_GROUP_set_asn1_flag 4854 1_1_0d EXIST::FUNCTION:EC -EVP_camellia_256_ofb 4855 1_1_0d EXIST::FUNCTION:CAMELLIA -EVP_PKEY_save_parameters 4856 1_1_0d EXIST::FUNCTION: -EVP_desx_cbc 4857 1_1_0d EXIST::FUNCTION:DES -ASN1_BIT_STRING_it 4858 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ASN1_BIT_STRING_it 4858 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -i2d_TS_MSG_IMPRINT_fp 4859 1_1_0d EXIST::FUNCTION:STDIO,TS -i2d_X509_ALGOR 4860 1_1_0d EXIST::FUNCTION: -POLICYINFO_free 4861 1_1_0d EXIST::FUNCTION: -d2i_ASN1_TYPE 4862 1_1_0d EXIST::FUNCTION: -EVP_PKEY_add1_attr_by_OBJ 4863 1_1_0d EXIST::FUNCTION: -ECParameters_print 4864 1_1_0d EXIST::FUNCTION:EC -X509_EXTENSION_dup 4865 1_1_0d EXIST::FUNCTION: -ERR_load_PKCS7_strings 4866 1_1_0d EXIST::FUNCTION: -EVP_sha384 4867 1_1_0d EXIST:!VMSVAX:FUNCTION: -X509_STORE_CTX_get0_policy_tree 4868 1_1_0d EXIST::FUNCTION: -ENGINE_get_cipher 4869 1_1_0d EXIST::FUNCTION:ENGINE -DH_generate_parameters_ex 4870 1_1_0d EXIST::FUNCTION:DH -i2d_ASN1_OCTET_STRING 4871 1_1_0d EXIST::FUNCTION: -X509_VERIFY_PARAM_get_inh_flags 4872 1_1_0d EXIST::FUNCTION: -PKCS7_add1_attrib_digest 4873 1_1_0d EXIST::FUNCTION: -PKCS7_sign 4874 1_1_0d EXIST::FUNCTION: -SKF_ChangeDevAuthKey 4875 1_1_0d EXIST::FUNCTION:SKF -X509_OBJECT_get0_X509 4876 1_1_0d EXIST::FUNCTION: -EVP_PKEY_CTX_set0_keygen_info 4877 1_1_0d EXIST::FUNCTION: -ENGINE_load_ssl_client_cert 4878 1_1_0d EXIST::FUNCTION:ENGINE -FIPS_mode 4879 1_1_0d EXIST::FUNCTION: -SDF_PrintRSAPublicKey 4880 1_1_0d EXIST::FUNCTION:SDF -EC_POINT_make_affine 4881 1_1_0d EXIST::FUNCTION:EC -CMS_SignerInfo_get0_signature 4882 1_1_0d EXIST::FUNCTION:CMS -PKCS7_dataInit 4883 1_1_0d EXIST::FUNCTION: -i2d_OCSP_RESPID 4884 1_1_0d EXIST::FUNCTION:OCSP -PKCS12_AUTHSAFES_it 4885 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -PKCS12_AUTHSAFES_it 4885 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -PEM_read_bio_CMS 4886 1_1_0d EXIST::FUNCTION:CMS +BN_nist_mod_256 4184 1_1_0d EXIST::FUNCTION: +PEM_write_bio_PKCS8PrivateKey_nid 4185 1_1_0d EXIST::FUNCTION: +SCT_set_version 4186 1_1_0d EXIST::FUNCTION:CT +RSA_private_encrypt 4187 1_1_0d EXIST::FUNCTION:RSA +EVP_CIPHER_CTX_set_num 4188 1_1_0d EXIST::FUNCTION: +ASN1_UTF8STRING_it 4189 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_UTF8STRING_it 4189 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +BUF_MEM_new_ex 4190 1_1_0d EXIST::FUNCTION: +OCSP_SINGLERESP_get_ext_count 4191 1_1_0d EXIST::FUNCTION:OCSP +BN_nist_mod_224 4192 1_1_0d EXIST::FUNCTION: +CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE 4193 1_1_0d EXIST::FUNCTION:CT +X509_STORE_set_get_crl 4194 1_1_0d EXIST::FUNCTION: +BIO_clear_flags 4195 1_1_0d EXIST::FUNCTION: +BN_CTX_new 4196 1_1_0d EXIST::FUNCTION: +X509_load_crl_file 4197 1_1_0d EXIST::FUNCTION: +i2t_ASN1_OBJECT 4198 1_1_0d EXIST::FUNCTION: +d2i_RSA_PUBKEY 4199 1_1_0d EXIST::FUNCTION:RSA +MDC2_Init 4200 1_1_0d EXIST::FUNCTION:MDC2 +RSA_public_decrypt 4201 1_1_0d EXIST::FUNCTION:RSA +EC_KEY_set_default_secg_method 4202 1_1_0d EXIST::FUNCTION:SM2 +BN_mod_lshift1 4203 1_1_0d EXIST::FUNCTION: +EVP_CipherUpdate 4204 1_1_0d EXIST::FUNCTION: +SKF_ImportRSAKeyPair 4205 1_1_0d EXIST::FUNCTION:SKF +PEM_write_X509_CRL 4206 1_1_0d EXIST::FUNCTION:STDIO +DES_ede3_cbc_encrypt 4207 1_1_0d EXIST::FUNCTION:DES +d2i_ASN1_BIT_STRING 4208 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_get_check_policy 4209 1_1_0d EXIST::FUNCTION: +DES_quad_cksum 4210 1_1_0d EXIST::FUNCTION:DES +RSA_free 4211 1_1_0d EXIST::FUNCTION:RSA +d2i_SXNETID 4212 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_set_copy 4213 1_1_0d EXIST::FUNCTION: +i2d_SXNETID 4214 1_1_0d EXIST::FUNCTION: +b2i_PublicKey 4215 1_1_0d EXIST::FUNCTION:DSA +RC5_32_ecb_encrypt 4216 1_1_0d EXIST::FUNCTION:RC5 +RSA_meth_get_pub_dec 4217 1_1_0d EXIST::FUNCTION:RSA +CMS_unsigned_get_attr_by_OBJ 4218 1_1_0d EXIST::FUNCTION:CMS +BIO_dgram_sctp_wait_for_dry 4219 1_1_0d EXIST::FUNCTION:DGRAM,SCTP +PKCS7_set_cipher 4220 1_1_0d EXIST::FUNCTION: +i2d_NETSCAPE_SPKI 4221 1_1_0d EXIST::FUNCTION: +SM2_compute_message_digest 4222 1_1_0d EXIST::FUNCTION:SM2 +SCT_get_source 4223 1_1_0d EXIST::FUNCTION:CT +SM2_KAP_CTX_cleanup 4224 1_1_0d EXIST::FUNCTION:SM2 +AES_cfb1_encrypt 4225 1_1_0d EXIST::FUNCTION: +X509_STORE_CTX_set_ex_data 4226 1_1_0d EXIST::FUNCTION: +X509_cmp_time 4227 1_1_0d EXIST::FUNCTION: +DES_fcrypt 4228 1_1_0d EXIST::FUNCTION:DES +X509_NAME_get_text_by_OBJ 4229 1_1_0d EXIST::FUNCTION: +OCSP_REQUEST_add1_ext_i2d 4230 1_1_0d EXIST::FUNCTION:OCSP +X509_POLICY_NODE_print 4231 1_1_0d EXIST::FUNCTION: +X509_STORE_get0_param 4232 1_1_0d EXIST::FUNCTION: +i2d_DIRECTORYSTRING 4233 1_1_0d EXIST::FUNCTION: +BN_set_word 4234 1_1_0d EXIST::FUNCTION: +PKCS7_dataVerify 4235 1_1_0d EXIST::FUNCTION: +UI_method_set_prompt_constructor 4236 1_1_0d EXIST::FUNCTION:UI +d2i_IPAddressOrRange 4237 1_1_0d EXIST::FUNCTION:RFC3779 +EVP_MD_do_all_sorted 4238 1_1_0d EXIST::FUNCTION: +ENGINE_unregister_digests 4239 1_1_0d EXIST::FUNCTION:ENGINE +TS_VERIFY_CTX_set_flags 4240 1_1_0d EXIST::FUNCTION:TS +a2i_IPADDRESS 4241 1_1_0d EXIST::FUNCTION: +i2d_X509_CRL_fp 4242 1_1_0d EXIST::FUNCTION:STDIO +SKF_EnumFiles 4243 1_1_0d EXIST::FUNCTION:SKF +ECPKParameters_print 4244 1_1_0d EXIST::FUNCTION:EC +PEM_write 4245 1_1_0d EXIST::FUNCTION:STDIO +SM2CiphertextValue_new_from_ECCCipher 4246 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF,SM2 +EVP_MD_meth_set_result_size 4247 1_1_0d EXIST::FUNCTION: +BIO_ADDR_clear 4248 1_1_0d EXIST::FUNCTION:SOCK +ENGINE_get_name 4249 1_1_0d EXIST::FUNCTION:ENGINE +BN_BLINDING_invert_ex 4250 1_1_0d EXIST::FUNCTION: +PKCS8_PRIV_KEY_INFO_it 4251 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +PKCS8_PRIV_KEY_INFO_it 4251 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +SKF_VerifyPIN 4252 1_1_0d EXIST::FUNCTION:SKF +OCSP_SINGLERESP_delete_ext 4253 1_1_0d EXIST::FUNCTION:OCSP +X509_REQ_set_version 4254 1_1_0d EXIST::FUNCTION: +POLICY_MAPPING_new 4255 1_1_0d EXIST::FUNCTION: +X509_trusted 4256 1_1_0d EXIST::FUNCTION: +PEM_write_bio_RSA_PUBKEY 4257 1_1_0d EXIST::FUNCTION:RSA +ENGINE_get_last 4258 1_1_0d EXIST::FUNCTION:ENGINE +EVP_DecryptInit 4259 1_1_0d EXIST::FUNCTION: +EVP_PKEY_derive_init 4260 1_1_0d EXIST::FUNCTION: +X509_set_proxy_pathlen 4261 1_1_0d EXIST::FUNCTION: +BF_ofb64_encrypt 4262 1_1_0d EXIST::FUNCTION:BF +X509_CRL_get_ext_by_critical 4263 1_1_0d EXIST::FUNCTION: +CRYPTO_secure_actual_size 4264 1_1_0d EXIST::FUNCTION: +d2i_OCSP_CRLID 4265 1_1_0d EXIST::FUNCTION:OCSP +PKCS12_MAC_DATA_new 4266 1_1_0d EXIST::FUNCTION: +X509_free 4267 1_1_0d EXIST::FUNCTION: +SRP_check_known_gN_param 4268 1_1_0d EXIST::FUNCTION:SRP +X509_REQ_delete_attr 4269 1_1_0d EXIST::FUNCTION: +d2i_PKCS8_PRIV_KEY_INFO 4270 1_1_0d EXIST::FUNCTION: +SM9_ciphertext_size 4271 1_1_0d EXIST::FUNCTION:SM9 +X509_STORE_CTX_set_depth 4272 1_1_0d EXIST::FUNCTION: +CMS_get0_eContentType 4273 1_1_0d EXIST::FUNCTION:CMS +o2i_SCT_LIST 4274 1_1_0d EXIST::FUNCTION:CT +BN_mask_bits 4275 1_1_0d EXIST::FUNCTION: +X509_ALGOR_set0 4276 1_1_0d EXIST::FUNCTION: +d2i_EC_PUBKEY 4277 1_1_0d EXIST::FUNCTION:EC +X509_NAME_ENTRY_free 4278 1_1_0d EXIST::FUNCTION: +ASN1_PRINTABLE_it 4279 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_PRINTABLE_it 4279 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +BIO_up_ref 4280 1_1_0d EXIST::FUNCTION: +AES_options 4281 1_1_0d EXIST::FUNCTION: +CONF_dump_fp 4282 1_1_0d EXIST::FUNCTION:STDIO +i2d_ASN1_BMPSTRING 4283 1_1_0d EXIST::FUNCTION: +ECDSA_do_sign 4284 1_1_0d EXIST::FUNCTION:EC +PKCS12_SAFEBAG_get0_attrs 4285 1_1_0d EXIST::FUNCTION: +SM9_MASTER_KEY_print 4286 1_1_0d EXIST::FUNCTION:SM9 +ESS_SIGNING_CERT_new 4287 1_1_0d EXIST::FUNCTION:TS +X509_REVOKED_dup 4288 1_1_0d EXIST::FUNCTION: +EVP_EncodeBlock 4289 1_1_0d EXIST::FUNCTION: +CRYPTO_cts128_encrypt 4290 1_1_0d EXIST::FUNCTION: +DH_new 4291 1_1_0d EXIST::FUNCTION:DH +PKCS7_set0_type_other 4292 1_1_0d EXIST::FUNCTION: +OCSP_response_create 4293 1_1_0d EXIST::FUNCTION:OCSP +NAME_CONSTRAINTS_check 4294 1_1_0d EXIST::FUNCTION: +HMAC_CTX_copy 4295 1_1_0d EXIST::FUNCTION: +RSA_PSS_PARAMS_new 4296 1_1_0d EXIST::FUNCTION:RSA +BIO_snprintf 4297 1_1_0d EXIST::FUNCTION: +X509_cmp 4298 1_1_0d EXIST::FUNCTION: +ASN1_put_object 4299 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_get_count 4300 1_1_0d EXIST::FUNCTION: +CRYPTO_get_ex_data 4301 1_1_0d EXIST::FUNCTION: +BN_dec2bn 4302 1_1_0d EXIST::FUNCTION: +RAND_poll 4303 1_1_0d EXIST::FUNCTION: +CRYPTO_THREAD_unlock 4304 1_1_0d EXIST::FUNCTION: +PEM_read_bio_X509 4305 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_get_keygen_info 4306 1_1_0d EXIST::FUNCTION: +BN_is_prime_fasttest 4307 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_0_9_8 +OBJ_ln2nid 4308 1_1_0d EXIST::FUNCTION: +PEM_write_bio_ASN1_stream 4309 1_1_0d EXIST::FUNCTION: +v2i_GENERAL_NAME_ex 4310 1_1_0d EXIST::FUNCTION: +BIO_meth_get_gets 4311 1_1_0d EXIST::FUNCTION: +BIO_sock_should_retry 4312 1_1_0d EXIST::FUNCTION:SOCK +PKCS5_PBE_keyivgen 4313 1_1_0d EXIST::FUNCTION: +i2d_re_X509_tbs 4314 1_1_0d EXIST::FUNCTION: +SDF_CalculateMAC 4315 1_1_0d EXIST::FUNCTION: +PKCS7_dataInit 4316 1_1_0d EXIST::FUNCTION: +ASIdentifierChoice_new 4317 1_1_0d EXIST::FUNCTION:RFC3779 +EVP_cast5_ofb 4318 1_1_0d EXIST::FUNCTION:CAST +X509_issuer_and_serial_cmp 4319 1_1_0d EXIST::FUNCTION: +CMS_ContentInfo_new 4320 1_1_0d EXIST::FUNCTION:CMS +d2i_TS_RESP 4321 1_1_0d EXIST::FUNCTION:TS +EC_KEY_METHOD_set_sign 4322 1_1_0d EXIST::FUNCTION:EC +X509_get_default_private_dir 4323 1_1_0d EXIST::FUNCTION: +ASN1_UNIVERSALSTRING_free 4324 1_1_0d EXIST::FUNCTION: +v2i_GENERAL_NAMES 4325 1_1_0d EXIST::FUNCTION: +RSA_set_ex_data 4326 1_1_0d EXIST::FUNCTION:RSA +X509_NAME_oneline 4327 1_1_0d EXIST::FUNCTION: +CT_POLICY_EVAL_CTX_new 4328 1_1_0d EXIST::FUNCTION:CT +i2d_PUBKEY_bio 4329 1_1_0d EXIST::FUNCTION: +PKCS8_decrypt 4330 1_1_0d EXIST::FUNCTION: +PEM_read_bio_DSAPrivateKey 4331 1_1_0d EXIST::FUNCTION:DSA +SKF_RSAExportSessionKey 4332 1_1_0d EXIST::FUNCTION:SKF +X509_CRL_get_ext_count 4333 1_1_0d EXIST::FUNCTION: +RSA_meth_set_pub_dec 4334 1_1_0d EXIST::FUNCTION:RSA +EC_KEY_set_ECCPUBLICKEYBLOB 4335 1_1_0d EXIST::FUNCTION:EC,GMAPI,SKF +ASN1_SCTX_get_item 4336 1_1_0d EXIST::FUNCTION: +UI_set_result 4337 1_1_0d EXIST::FUNCTION:UI +i2d_RSA_OAEP_PARAMS 4338 1_1_0d EXIST::FUNCTION:RSA +X509_NAME_ENTRY_set_object 4339 1_1_0d EXIST::FUNCTION: +EVP_PKEY_set1_EC_KEY 4340 1_1_0d EXIST::FUNCTION:EC +d2i_TS_REQ_fp 4341 1_1_0d EXIST::FUNCTION:STDIO,TS +ERR_get_error_line_data 4342 1_1_0d EXIST::FUNCTION: +EC_KEY_get0_group 4343 1_1_0d EXIST::FUNCTION:EC +OCSP_ONEREQ_get_ext_by_critical 4344 1_1_0d EXIST::FUNCTION:OCSP +DSA_sign_setup 4345 1_1_0d EXIST::FUNCTION:DSA +X509_STORE_set_depth 4346 1_1_0d EXIST::FUNCTION: +ASN1_TIME_set 4347 1_1_0d EXIST::FUNCTION: +BN_is_zero 4348 1_1_0d EXIST::FUNCTION: +RSA_meth_get_keygen 4349 1_1_0d EXIST::FUNCTION:RSA +SCT_set0_signature 4350 1_1_0d EXIST::FUNCTION:CT +PEM_write_bio_X509 4351 1_1_0d EXIST::FUNCTION: +BUF_MEM_free 4352 1_1_0d EXIST::FUNCTION: +OCSP_single_get0_status 4353 1_1_0d EXIST::FUNCTION:OCSP +BN_is_prime_fasttest_ex 4354 1_1_0d EXIST::FUNCTION: +PEM_write_RSAPrivateKey 4355 1_1_0d EXIST::FUNCTION:RSA,STDIO +CT_POLICY_EVAL_CTX_set1_cert 4356 1_1_0d EXIST::FUNCTION:CT +GENERAL_NAME_cmp 4357 1_1_0d EXIST::FUNCTION: +i2d_GENERAL_NAMES 4358 1_1_0d EXIST::FUNCTION: +SKF_DecryptFinal 4359 1_1_0d EXIST::FUNCTION:SKF +OCSP_REQUEST_get1_ext_d2i 4360 1_1_0d EXIST::FUNCTION:OCSP +CMAC_CTX_new 4361 1_1_0d EXIST::FUNCTION:CMAC +X509v3_add_ext 4362 1_1_0d EXIST::FUNCTION: +CERTIFICATEPOLICIES_free 4363 1_1_0d EXIST::FUNCTION: +EVP_MD_CTX_free 4364 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get1_DSA 4365 1_1_0d EXIST::FUNCTION:DSA +DH_meth_get0_app_data 4366 1_1_0d EXIST::FUNCTION:DH +MD4_Transform 4367 1_1_0d EXIST::FUNCTION:MD4 +EC_GFp_simple_method 4368 1_1_0d EXIST::FUNCTION:EC +PKCS7_sign_add_signer 4369 1_1_0d EXIST::FUNCTION: +BUF_reverse 4370 1_1_0d EXIST::FUNCTION: +CRYPTO_strndup 4371 1_1_0d EXIST::FUNCTION: +BN_RECP_CTX_set 4372 1_1_0d EXIST::FUNCTION: +ASN1_generate_v3 4373 1_1_0d EXIST::FUNCTION: +ASN1_ENUMERATED_new 4374 1_1_0d EXIST::FUNCTION: +TS_REQ_get_ext_by_critical 4375 1_1_0d EXIST::FUNCTION:TS +BN_MONT_CTX_free 4376 1_1_0d EXIST::FUNCTION: +i2v_GENERAL_NAME 4377 1_1_0d EXIST::FUNCTION: +SKF_Digest 4378 1_1_0d EXIST::FUNCTION:SKF +BIO_ctrl 4379 1_1_0d EXIST::FUNCTION: +ASN1_STRING_length_set 4380 1_1_0d EXIST::FUNCTION: +DSA_get_default_method 4381 1_1_0d EXIST::FUNCTION:DSA +OCSP_REQUEST_free 4382 1_1_0d EXIST::FUNCTION:OCSP +CMS_get0_content 4383 1_1_0d EXIST::FUNCTION:CMS +RSA_meth_set_priv_enc 4384 1_1_0d EXIST::FUNCTION:RSA +EVP_CIPHER_meth_dup 4385 1_1_0d EXIST::FUNCTION: +DSA_get0_key 4386 1_1_0d EXIST::FUNCTION:DSA +ERR_load_PKCS12_strings 4387 1_1_0d EXIST::FUNCTION: +SXNET_add_id_INTEGER 4388 1_1_0d EXIST::FUNCTION: +OPENSSL_sk_pop_free 4389 1_1_0d EXIST::FUNCTION: +OCSP_SERVICELOC_free 4390 1_1_0d EXIST::FUNCTION:OCSP +CRYPTO_gcm128_release 4391 1_1_0d EXIST::FUNCTION: +X509_LOOKUP_by_issuer_serial 4392 1_1_0d EXIST::FUNCTION: +EVP_enc_null 4393 1_1_0d EXIST::FUNCTION: +SM2_do_sign_ex 4394 1_1_0d EXIST::FUNCTION:SM2 +BIO_f_null 4395 1_1_0d EXIST::FUNCTION: +EVP_MD_meth_get_ctrl 4396 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get0_asn1 4397 1_1_0d EXIST::FUNCTION: +ASN1_item_ex_new 4398 1_1_0d EXIST::FUNCTION: +i2d_ESS_SIGNING_CERT 4399 1_1_0d EXIST::FUNCTION:TS +X509_STORE_get_cleanup 4400 1_1_0d EXIST::FUNCTION: +X509_PURPOSE_set 4401 1_1_0d EXIST::FUNCTION: +X509_PUBKEY_get0_param 4402 1_1_0d EXIST::FUNCTION: +s2i_ASN1_INTEGER 4403 1_1_0d EXIST::FUNCTION: +DISPLAYTEXT_it 4404 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +DISPLAYTEXT_it 4404 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +SDF_ExchangeDigitEnvelopeBaseOnECC 4405 1_1_0d EXIST::FUNCTION: +X509_time_adj 4406 1_1_0d EXIST::FUNCTION: +X509_STORE_get_lookup_crls 4407 1_1_0d EXIST::FUNCTION: +ERR_pop_to_mark 4408 1_1_0d EXIST::FUNCTION: +OCSP_REQ_CTX_add1_header 4409 1_1_0d EXIST::FUNCTION:OCSP +i2d_X509_ALGOR 4410 1_1_0d EXIST::FUNCTION: +DSA_generate_parameters_ex 4411 1_1_0d EXIST::FUNCTION:DSA +SKF_EnumDev 4412 1_1_0d EXIST::FUNCTION:SKF +ENGINE_set_flags 4413 1_1_0d EXIST::FUNCTION:ENGINE +ENGINE_register_DH 4414 1_1_0d EXIST::FUNCTION:ENGINE +PEM_write_DSAPrivateKey 4415 1_1_0d EXIST::FUNCTION:DSA,STDIO +d2i_SM9PublicParameters_bio 4416 1_1_0d EXIST::FUNCTION:SM9 +BN_is_negative 4417 1_1_0d EXIST::FUNCTION: +PKCS12_SAFEBAG_create_cert 4418 1_1_0d EXIST::FUNCTION: +PKCS7_RECIP_INFO_get0_alg 4419 1_1_0d EXIST::FUNCTION: +SDF_PrintECCPrivateKey 4420 1_1_0d EXIST::FUNCTION:SDF +PEM_read 4421 1_1_0d EXIST::FUNCTION:STDIO +i2d_SM9PrivateKey 4422 1_1_0d EXIST::FUNCTION:SM9 +BIO_sock_non_fatal_error 4423 1_1_0d EXIST::FUNCTION:SOCK +OPENSSL_isservice 4424 1_1_0d EXIST::FUNCTION: +SKF_GetPINInfo 4425 1_1_0d EXIST::FUNCTION:SKF +SKF_ChangeDevAuthKey 4426 1_1_0d EXIST::FUNCTION:SKF +GENERAL_NAME_set0_value 4427 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_add0_policy 4428 1_1_0d EXIST::FUNCTION: +PKCS12_verify_mac 4429 1_1_0d EXIST::FUNCTION: +UI_method_set_flusher 4430 1_1_0d EXIST::FUNCTION:UI +X509_OBJECT_get_type 4431 1_1_0d EXIST::FUNCTION: +SCT_get0_signature 4432 1_1_0d EXIST::FUNCTION:CT +DH_set_flags 4433 1_1_0d EXIST::FUNCTION:DH +ASN1_STRING_clear_free 4434 1_1_0d EXIST::FUNCTION: +BIO_dump_fp 4435 1_1_0d EXIST::FUNCTION:STDIO +PEM_write_DHparams 4436 1_1_0d EXIST::FUNCTION:DH,STDIO +EC_KEY_copy 4437 1_1_0d EXIST::FUNCTION:EC +i2d_NOTICEREF 4438 1_1_0d EXIST::FUNCTION: +PKCS12_get_attr 4439 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +ASN1_INTEGER_get 4440 1_1_0d EXIST::FUNCTION: +UI_dup_info_string 4441 1_1_0d EXIST::FUNCTION:UI +ASN1_ENUMERATED_set_int64 4442 1_1_0d EXIST::FUNCTION: +i2d_RSAPrivateKey 4443 1_1_0d EXIST::FUNCTION:RSA +DSA_meth_get_verify 4444 1_1_0d EXIST::FUNCTION:DSA +BN_GF2m_mod 4445 1_1_0d EXIST::FUNCTION:EC2M +EVP_MD_CTX_get_sgd 4446 1_1_0d EXIST::FUNCTION:GMAPI +X509_CRL_get_ext_d2i 4447 1_1_0d EXIST::FUNCTION: +BIO_new_PKCS7 4448 1_1_0d EXIST::FUNCTION: +BIO_ADDRINFO_socktype 4449 1_1_0d EXIST::FUNCTION:SOCK +SXNET_it 4450 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +SXNET_it 4450 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +OCSP_request_onereq_count 4451 1_1_0d EXIST::FUNCTION:OCSP +X509_STORE_CTX_set_verify_cb 4452 1_1_0d EXIST::FUNCTION: +DSA_SIG_free 4453 1_1_0d EXIST::FUNCTION:DSA +X509_LOOKUP_free 4454 1_1_0d EXIST::FUNCTION: +CMS_RecipientInfo_kari_get0_reks 4455 1_1_0d EXIST::FUNCTION:CMS +X509_get0_serialNumber 4456 1_1_0d EXIST::FUNCTION: +CRYPTO_ocb128_cleanup 4457 1_1_0d EXIST::FUNCTION:OCB +EVP_CIPHER_CTX_test_flags 4458 1_1_0d EXIST::FUNCTION: +EVP_MD_do_all 4459 1_1_0d EXIST::FUNCTION: +DSA_sign 4460 1_1_0d EXIST::FUNCTION:DSA +EVP_CIPHER_CTX_set_key_length 4461 1_1_0d EXIST::FUNCTION: +X509v3_get_ext_by_NID 4462 1_1_0d EXIST::FUNCTION: +i2d_SM9PublicParameters 4463 1_1_0d EXIST::FUNCTION:SM9 +CRYPTO_mem_leaks_fp 4464 1_1_0d EXIST::FUNCTION:CRYPTO_MDEBUG,STDIO +DIST_POINT_set_dpname 4465 1_1_0d EXIST::FUNCTION: +ASN1_TYPE_get_int_octetstring 4466 1_1_0d EXIST::FUNCTION: +OBJ_cmp 4467 1_1_0d EXIST::FUNCTION: +EVP_add_digest 4468 1_1_0d EXIST::FUNCTION: +SDF_ExportEncPublicKey_ECC 4469 1_1_0d EXIST::FUNCTION: +BIO_f_reliable 4470 1_1_0d EXIST::FUNCTION: +SEED_encrypt 4471 1_1_0d EXIST::FUNCTION:SEED +EC_KEY_set_ex_data 4472 1_1_0d EXIST::FUNCTION:EC +d2i_ESS_SIGNING_CERT 4473 1_1_0d EXIST::FUNCTION:TS +CMS_ContentInfo_it 4474 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMS +CMS_ContentInfo_it 4474 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMS +EVP_aes_256_cbc_hmac_sha256 4475 1_1_0d EXIST::FUNCTION: +BN_BLINDING_invert 4476 1_1_0d EXIST::FUNCTION: +d2i_OCSP_REQUEST 4477 1_1_0d EXIST::FUNCTION:OCSP +d2i_EXTENDED_KEY_USAGE 4478 1_1_0d EXIST::FUNCTION: +DSA_security_bits 4479 1_1_0d EXIST::FUNCTION:DSA +EVP_aes_128_cbc_hmac_sha256 4480 1_1_0d EXIST::FUNCTION: +EVP_PKEY_get_sgd 4481 1_1_0d EXIST::FUNCTION:GMAPI +RSA_meth_set1_name 4482 1_1_0d EXIST::FUNCTION:RSA +EVP_PKEY_decrypt 4483 1_1_0d EXIST::FUNCTION: +X509_CRL_get0_signature 4484 1_1_0d EXIST::FUNCTION: +EVP_sm3 4485 1_1_0d EXIST::FUNCTION:SM3 +DSA_print 4486 1_1_0d EXIST::FUNCTION:DSA +OCSP_RESPID_match 4487 1_1_0d EXIST::FUNCTION:OCSP +GENERAL_NAMES_new 4488 1_1_0d EXIST::FUNCTION: +BIO_f_buffer 4489 1_1_0d EXIST::FUNCTION: +d2i_PBEPARAM 4490 1_1_0d EXIST::FUNCTION: +TLS_FEATURE_free 4491 1_1_0d EXIST::FUNCTION: +UI_method_set_reader 4492 1_1_0d EXIST::FUNCTION:UI +PKCS12_pbe_crypt 4493 1_1_0d EXIST::FUNCTION: +SKF_Transmit 4494 1_1_0d EXIST::FUNCTION:SKF +i2d_ASN1_ENUMERATED 4495 1_1_0d EXIST::FUNCTION: +ASN1_item_dup 4496 1_1_0d EXIST::FUNCTION: +BIO_meth_get_create 4497 1_1_0d EXIST::FUNCTION: +OCSP_onereq_get0_id 4498 1_1_0d EXIST::FUNCTION:OCSP +EVP_camellia_256_cfb128 4499 1_1_0d EXIST::FUNCTION:CAMELLIA +RSA_padding_check_PKCS1_OAEP 4500 1_1_0d EXIST::FUNCTION:RSA +CMS_signed_delete_attr 4501 1_1_0d EXIST::FUNCTION:CMS +PBKDF2PARAM_free 4502 1_1_0d EXIST::FUNCTION: +IDEA_ofb64_encrypt 4503 1_1_0d EXIST::FUNCTION:IDEA +MD4_Final 4504 1_1_0d EXIST::FUNCTION:MD4 +X509_get0_notAfter 4505 1_1_0d EXIST::FUNCTION: +SM9_setup 4506 1_1_0d EXIST::FUNCTION:SM9 +d2i_DSA_PUBKEY_fp 4507 1_1_0d EXIST::FUNCTION:DSA,STDIO +d2i_ECPrivateKey_bio 4508 1_1_0d EXIST::FUNCTION:EC +CRYPTO_ccm128_decrypt_ccm64 4509 1_1_0d EXIST::FUNCTION: +CRYPTO_secure_allocated 4510 1_1_0d EXIST::FUNCTION: +i2d_DSAPublicKey 4511 1_1_0d EXIST::FUNCTION:DSA +a2d_ASN1_OBJECT 4512 1_1_0d EXIST::FUNCTION: +SM9_KEY_print 4513 1_1_0d EXIST::FUNCTION:SM9 +EC_GROUP_get_ecpkparameters 4514 1_1_0d EXIST::FUNCTION:EC +TS_STATUS_INFO_print_bio 4515 1_1_0d EXIST::FUNCTION:TS +EC_KEY_new_from_ECCrefPublicKey 4516 1_1_0d EXIST::FUNCTION:EC,GMAPI,SDF +SDF_InternalVerify_ECC 4517 1_1_0d EXIST::FUNCTION: +OCSP_request_add0_id 4518 1_1_0d EXIST::FUNCTION:OCSP +EC_KEY_key2buf 4519 1_1_0d EXIST::FUNCTION:EC +PEM_write_bio_PKCS8_PRIV_KEY_INFO 4520 1_1_0d EXIST::FUNCTION: +PKCS12_newpass 4521 1_1_0d EXIST::FUNCTION: +ASN1_BIT_STRING_new 4522 1_1_0d EXIST::FUNCTION: +i2d_ECPKParameters 4523 1_1_0d EXIST::FUNCTION:EC +EVP_PKEY_meth_get_keygen 4524 1_1_0d EXIST::FUNCTION: +OPENSSL_LH_insert 4525 1_1_0d EXIST::FUNCTION: +NCONF_load_bio 4526 1_1_0d EXIST::FUNCTION: +X509_STORE_set_trust 4527 1_1_0d EXIST::FUNCTION: +UI_dup_error_string 4528 1_1_0d EXIST::FUNCTION:UI +ASN1_BIT_STRING_it 4529 1_1_0d EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ASN1_BIT_STRING_it 4529 1_1_0d EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +CMAC_CTX_copy 4530 1_1_0d EXIST::FUNCTION:CMAC +ECDSA_sign_setup 4531 1_1_0d EXIST::FUNCTION:EC +BN_GENCB_free 4532 1_1_0d EXIST::FUNCTION: +SHA256_Init 4533 1_1_0d EXIST::FUNCTION: +IPAddressRange_new 4534 1_1_0d EXIST::FUNCTION:RFC3779 +EVP_PKEY_meth_set_signctx 4535 1_1_0d EXIST::FUNCTION: +i2d_SM9Ciphertext_bio 4536 1_1_0d EXIST::FUNCTION:SM9 +ECIES_CIPHERTEXT_VALUE_set_ECCCIPHERBLOB 4537 1_1_0d EXIST::FUNCTION:EC,ECIES,GMAPI,SKF +EVP_DigestVerifyFinal 4538 1_1_0d EXIST::FUNCTION: +SKF_ExportPublicKey 4539 1_1_0d EXIST::FUNCTION:SKF +ASN1_ENUMERATED_set 4540 1_1_0d EXIST::FUNCTION: +EVP_PKEY_asn1_set_free 4541 1_1_0d EXIST::FUNCTION: +X509v3_asid_add_id_or_range 4542 1_1_0d EXIST::FUNCTION:RFC3779 +SDF_LoadLibrary 4543 1_1_0d EXIST::FUNCTION:SDF +IPAddressRange_free 4544 1_1_0d EXIST::FUNCTION:RFC3779 +IDEA_cbc_encrypt 4545 1_1_0d EXIST::FUNCTION:IDEA +ASIdentifierChoice_free 4546 1_1_0d EXIST::FUNCTION:RFC3779 +PEM_read_PAILLIER_PUBKEY 4547 1_1_0d EXIST::FUNCTION:PAILLIER,STDIO +EVP_PKEY_meth_find 4548 1_1_0d EXIST::FUNCTION: +EVP_aes_128_cfb128 4549 1_1_0d EXIST::FUNCTION: +BN_swap 4550 1_1_0d EXIST::FUNCTION: +X509_EXTENSION_get_object 4551 1_1_0d EXIST::FUNCTION: +BIO_ctrl_pending 4552 1_1_0d EXIST::FUNCTION: +sms4_unwrap_key 4553 1_1_0d EXIST::FUNCTION:SMS4 +OCSP_REQUEST_get_ext_by_OBJ 4554 1_1_0d EXIST::FUNCTION:OCSP +SXNET_get_id_asc 4555 1_1_0d EXIST::FUNCTION: +ENGINE_register_digests 4556 1_1_0d EXIST::FUNCTION:ENGINE +X509_STORE_set_cleanup 4557 1_1_0d EXIST::FUNCTION: +X509v3_asid_is_canonical 4558 1_1_0d EXIST::FUNCTION:RFC3779 +EVP_add_cipher 4559 1_1_0d EXIST::FUNCTION: +BIO_meth_get_read 4560 1_1_0d EXIST::FUNCTION: +ENGINE_get_ex_data 4561 1_1_0d EXIST::FUNCTION:ENGINE +Camellia_cfb128_encrypt 4562 1_1_0d EXIST::FUNCTION:CAMELLIA +d2i_DSA_SIG 4563 1_1_0d EXIST::FUNCTION:DSA +i2d_EC_PUBKEY 4564 1_1_0d EXIST::FUNCTION:EC +ENGINE_finish 4565 1_1_0d EXIST::FUNCTION:ENGINE +err_free_strings_int 4566 1_1_0d EXIST::FUNCTION: +EVP_PKEY_CTX_get0_peerkey 4567 1_1_0d EXIST::FUNCTION: diff --git a/util/libssl.num b/util/libssl.num index b62c522f..d8aab79b 100644 --- a/util/libssl.num +++ b/util/libssl.num @@ -1,411 +1,411 @@ -SSL_get_wbio 1 1_1_0d EXIST::FUNCTION: -SSL_set_info_callback 2 1_1_0d EXIST::FUNCTION: -SSL_SESSION_has_ticket 3 1_1_0d EXIST::FUNCTION: -SSL_set_psk_server_callback 4 1_1_0d EXIST::FUNCTION:PSK -SSL_get_changed_async_fds 5 1_1_0d EXIST::FUNCTION: -SSL_get_client_ciphers 6 1_1_0d EXIST::FUNCTION: -d2i_SSL_SESSION 7 1_1_0d EXIST::FUNCTION: -SSL_do_handshake 8 1_1_0d EXIST::FUNCTION: -SSL_dane_enable 9 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_default_verify_file 10 1_1_0d EXIST::FUNCTION: -SSL_waiting_for_async 11 1_1_0d EXIST::FUNCTION: -SSL_set_session_ticket_ext_cb 12 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_tmp_dh_callback 13 1_1_0d EXIST::FUNCTION:DH -DTLSv1_server_method 14 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD -SSLv3_server_method 15 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD -SSL_set_purpose 16 1_1_0d EXIST::FUNCTION: -SSL_SRP_CTX_free 17 1_1_0d EXIST::FUNCTION:SRP -TLS_client_method 18 1_1_0d EXIST::FUNCTION: -SSL_SESSION_set_time 19 1_1_0d EXIST::FUNCTION: -SSL_copy_session_id 20 1_1_0d EXIST::FUNCTION: -SSL_set_verify_result 21 1_1_0d EXIST::FUNCTION: -SSL_CTX_ctrl 22 1_1_0d EXIST::FUNCTION: -SSL_rstate_string 23 1_1_0d EXIST::FUNCTION: -SSL_set_srp_server_param 24 1_1_0d EXIST::FUNCTION:SRP -SSL_set_rfd 25 1_1_0d EXIST::FUNCTION:SOCK -SSL_CIPHER_get_version 26 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_info_callback 27 1_1_0d EXIST::FUNCTION: -ERR_load_SSL_strings 28 1_1_0d EXIST::FUNCTION: -SSL_set_shutdown 29 1_1_0d EXIST::FUNCTION: -BIO_new_ssl_connect 30 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_srp_client_pwd_callback 31 1_1_0d EXIST::FUNCTION:SRP -SSL_dane_clear_flags 32 1_1_0d EXIST::FUNCTION: -SSL_get_info_callback 33 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_default_passwd_cb_userdata 34 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_client_CA_list 35 1_1_0d EXIST::FUNCTION: -SSL_get0_dane 36 1_1_0d EXIST::FUNCTION: -SSL_SESSION_set1_id 37 1_1_0d EXIST::FUNCTION: -SSL_set_tlsext_use_srtp 38 1_1_0d EXIST::FUNCTION:SRTP -SSL_add1_host 39 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_get_kx_nid 40 1_1_0d EXIST::FUNCTION: -SSL_SESSION_set_ex_data 41 1_1_0d EXIST::FUNCTION: -SSL_CTX_sessions 42 1_1_0d EXIST::FUNCTION: -SSL_get0_dane_authority 43 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_cert_cb 44 1_1_0d EXIST::FUNCTION: -SSL_get_state 45 1_1_0d EXIST::FUNCTION: -SSL_extension_supported 46 1_1_0d EXIST::FUNCTION: -DTLS_client_method 47 1_1_0d EXIST::FUNCTION: -SSL_get_peer_certificate 48 1_1_0d EXIST::FUNCTION: -SSL_CONF_CTX_new 49 1_1_0d EXIST::FUNCTION: -SSL_CTX_SRP_CTX_init 50 1_1_0d EXIST::FUNCTION:SRP -SSL_CTX_get_cert_store 51 1_1_0d EXIST::FUNCTION: -SSL_CTX_sess_get_new_cb 52 1_1_0d EXIST::FUNCTION: -SSL_in_before 53 1_1_0d EXIST::FUNCTION: -DTLSv1_2_server_method 54 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD -SSL_ctrl 55 1_1_0d EXIST::FUNCTION: -SSL_set_session 56 1_1_0d EXIST::FUNCTION: -SSL_get_verify_result 57 1_1_0d EXIST::FUNCTION: -SSL_CTX_set1_param 58 1_1_0d EXIST::FUNCTION: -PEM_read_SSL_SESSION 59 1_1_0d EXIST::FUNCTION:STDIO -SSL_get_finished 60 1_1_0d EXIST::FUNCTION: -SSL_set_session_id_context 61 1_1_0d EXIST::FUNCTION: -SSL_set_client_CA_list 62 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_client_cert_cb 63 1_1_0d EXIST::FUNCTION: -SSL_CTX_sess_set_remove_cb 64 1_1_0d EXIST::FUNCTION: -SSL_set0_wbio 65 1_1_0d EXIST::FUNCTION: -SSL_use_psk_identity_hint 66 1_1_0d EXIST::FUNCTION:PSK -SSL_get_shared_ciphers 67 1_1_0d EXIST::FUNCTION: -SSL_set_debug 68 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 -SSL_CTX_use_serverinfo_file 69 1_1_0d EXIST::FUNCTION: -SSL_renegotiate_abbreviated 70 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_default_verify_paths 71 1_1_0d EXIST::FUNCTION: -SSL_set_msg_callback 72 1_1_0d EXIST::FUNCTION: -SSL_COMP_get0_name 73 1_1_0d EXIST::FUNCTION: -SSL_CTX_get0_security_ex_data 74 1_1_0d EXIST::FUNCTION: -PEM_read_bio_SSL_SESSION 75 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_standard_name 76 1_1_0d EXIST::FUNCTION:SSL_TRACE -SSL_CTX_set_security_callback 77 1_1_0d EXIST::FUNCTION: -SSL_is_gmtls 78 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_default_verify_dir 79 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_cipher_list 80 1_1_0d EXIST::FUNCTION: -SSL_set_default_read_buffer_len 81 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_certificate_chain_file 82 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_srp_cb_arg 83 1_1_0d EXIST::FUNCTION:SRP -SSL_want 84 1_1_0d EXIST::FUNCTION: -SSL_clear 85 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get_compress_id 86 1_1_0d EXIST::FUNCTION: -SSL_pending 87 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_psk_client_callback 88 1_1_0d EXIST::FUNCTION:PSK -SSL_new 89 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_timeout 90 1_1_0d EXIST::FUNCTION: -SSL_set_security_level 91 1_1_0d EXIST::FUNCTION: -SSL_get_read_ahead 92 1_1_0d EXIST::FUNCTION: -SSL_SESSION_print_keylog 93 1_1_0d EXIST::FUNCTION: -BIO_new_ssl 94 1_1_0d EXIST::FUNCTION: -SSL_get_srp_username 95 1_1_0d EXIST::FUNCTION:SRP -SSL_CONF_CTX_finish 96 1_1_0d EXIST::FUNCTION: -SRP_Calc_A_param 97 1_1_0d EXIST::FUNCTION:SRP -SSL_trace 98 1_1_0d EXIST::FUNCTION:SSL_TRACE -SSL_SESSION_get_ex_data 99 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_msg_callback 100 1_1_0d EXIST::FUNCTION: -SSL_set_verify_depth 101 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_alpn_select_cb 102 1_1_0d EXIST::FUNCTION: -TLSv1_1_method 103 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD -SSL_CTX_get_security_level 104 1_1_0d EXIST::FUNCTION: -SSL_connect 105 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_ex_data 106 1_1_0d EXIST::FUNCTION: -SSL_get_client_CA_list 107 1_1_0d EXIST::FUNCTION: -SSL_use_RSAPrivateKey_ASN1 108 1_1_0d EXIST::FUNCTION:RSA -SSL_CONF_CTX_clear_flags 109 1_1_0d EXIST::FUNCTION: -SSL_set_verify 110 1_1_0d EXIST::FUNCTION: -SSL_use_RSAPrivateKey 111 1_1_0d EXIST::FUNCTION:RSA -SSL_set1_host 112 1_1_0d EXIST::FUNCTION: -SSL_CTX_get0_ctlog_store 113 1_1_0d EXIST::FUNCTION:CT -SSL_CTX_get_security_callback 114 1_1_0d EXIST::FUNCTION: -SSL_set_read_ahead 115 1_1_0d EXIST::FUNCTION: -SSL_CTX_enable_ct 116 1_1_0d EXIST::FUNCTION:CT -SSL_get_srp_N 117 1_1_0d EXIST::FUNCTION:SRP -SSL_up_ref 118 1_1_0d EXIST::FUNCTION: -SSL_set_default_passwd_cb 119 1_1_0d EXIST::FUNCTION: -SSL_use_certificate_file 120 1_1_0d EXIST::FUNCTION: -SSL_dup 121 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_psk_identity_hint 122 1_1_0d EXIST::FUNCTION:PSK -SSL_get_rbio 123 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_srp_verify_param_callback 124 1_1_0d EXIST::FUNCTION:SRP -SSL_CIPHER_get_id 125 1_1_0d EXIST::FUNCTION: -SSL_renegotiate_pending 126 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_trust 127 1_1_0d EXIST::FUNCTION: -SSL_get0_next_proto_negotiated 128 1_1_0d EXIST::FUNCTION:NEXTPROTONEG -SSL_CTX_set_srp_strength 129 1_1_0d EXIST::FUNCTION:SRP -SSL_state_string 130 1_1_0d EXIST::FUNCTION: -SSL_CTX_load_verify_locations 131 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_srp_password 132 1_1_0d EXIST::FUNCTION:SRP -SSL_CTX_set_session_id_context 133 1_1_0d EXIST::FUNCTION: -SSL_CTX_up_ref 134 1_1_0d EXIST::FUNCTION: -GMTLS_method 135 1_1_0d EXIST::FUNCTION:GMTLS -SSL_is_server 136 1_1_0d EXIST::FUNCTION: -SSL_set_trust 137 1_1_0d EXIST::FUNCTION: -SSL_get_ex_data_X509_STORE_CTX_idx 138 1_1_0d EXIST::FUNCTION: -SSL_COMP_get_id 139 1_1_0d EXIST::FUNCTION: -SSL_write 140 1_1_0d EXIST::FUNCTION: -SSL_CTX_get0_privatekey 141 1_1_0d EXIST::FUNCTION: -SSL_alert_type_string_long 142 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_tlsext_use_srtp 143 1_1_0d EXIST::FUNCTION:SRTP -SSL_select_next_proto 144 1_1_0d EXIST::FUNCTION: -SSL_use_PrivateKey_ASN1 145 1_1_0d EXIST::FUNCTION: -TLS_method 146 1_1_0d EXIST::FUNCTION: -SSL_use_PrivateKey_file 147 1_1_0d EXIST::FUNCTION: -SSL_CTX_config 148 1_1_0d EXIST::FUNCTION: -SSL_CTX_get0_param 149 1_1_0d EXIST::FUNCTION: -SSL_get_client_random 150 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_ssl_version 151 1_1_0d EXIST::FUNCTION: -SSL_client_version 152 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_PrivateKey_ASN1 153 1_1_0d EXIST::FUNCTION: -SSL_alert_type_string 154 1_1_0d EXIST::FUNCTION: -SSL_check_private_key 155 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_info_callback 156 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_psk_server_callback 157 1_1_0d EXIST::FUNCTION:PSK -TLSv1_2_method 158 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD -SSL_accept 159 1_1_0d EXIST::FUNCTION: -SSL_get_privatekey 160 1_1_0d EXIST::FUNCTION: -SSL_get0_dane_tlsa 161 1_1_0d EXIST::FUNCTION: -SSL_use_certificate 162 1_1_0d EXIST::FUNCTION: -SSL_get_sigalgs 163 1_1_0d EXIST::FUNCTION: -SSL_set_fd 164 1_1_0d EXIST::FUNCTION:SOCK -SSL_get_ciphers 165 1_1_0d EXIST::FUNCTION: -SSL_add_file_cert_subjects_to_stack 166 1_1_0d EXIST::FUNCTION: -SSL_get_srp_g 167 1_1_0d EXIST::FUNCTION:SRP -SSL_get_all_async_fds 168 1_1_0d EXIST::FUNCTION: -SSL_load_client_CA_file 169 1_1_0d EXIST::FUNCTION: -SSL_get_certificate 170 1_1_0d EXIST::FUNCTION: -PEM_write_bio_SSL_SESSION 171 1_1_0d EXIST::FUNCTION: -SSL_get1_session 172 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_get_bits 173 1_1_0d EXIST::FUNCTION: -SSL_CTX_add_server_custom_ext 174 1_1_0d EXIST::FUNCTION: -SSL_get_default_passwd_cb_userdata 175 1_1_0d EXIST::FUNCTION: -GMTLS_client_method 176 1_1_0d EXIST::FUNCTION:GMTLS -SSL_CTX_use_PrivateKey 177 1_1_0d EXIST::FUNCTION: -SSL_set_srp_server_param_pw 178 1_1_0d EXIST::FUNCTION:SRP -SSL_SRP_CTX_init 179 1_1_0d EXIST::FUNCTION:SRP -SSL_SESSION_get0_id_context 180 1_1_0d EXIST::FUNCTION: -SSL_get_wfd 181 1_1_0d EXIST::FUNCTION: -DTLSv1_2_client_method 182 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD -SSL_clear_options 183 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_options 184 1_1_0d EXIST::FUNCTION: -SSL_CTX_has_client_custom_ext 185 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_description 186 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_certificate 187 1_1_0d EXIST::FUNCTION: -SSL_set_default_passwd_cb_userdata 188 1_1_0d EXIST::FUNCTION: -SSL_add_dir_cert_subjects_to_stack 189 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_cert_store 190 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_ctlog_list_file 191 1_1_0d EXIST::FUNCTION:CT -SSL_CTX_set_cert_verify_callback 192 1_1_0d EXIST::FUNCTION: -SSL_get_srtp_profiles 193 1_1_0d EXIST::FUNCTION:SRTP -SSL_SESSION_set_timeout 194 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_client_CA_list 195 1_1_0d EXIST::FUNCTION: -SSL_get_error 196 1_1_0d EXIST::FUNCTION: -SSL_get_verify_depth 197 1_1_0d EXIST::FUNCTION: -SSL_CTX_get0_certificate 198 1_1_0d EXIST::FUNCTION: -SSL_CTX_add_client_custom_ext 199 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_get_cipher_nid 200 1_1_0d EXIST::FUNCTION: -SSL_in_init 201 1_1_0d EXIST::FUNCTION: -SSL_CTX_callback_ctrl 202 1_1_0d EXIST::FUNCTION: -SSL_CTX_sess_get_remove_cb 203 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_certificate_ASN1 204 1_1_0d EXIST::FUNCTION: -SSL_CTX_ct_is_enabled 205 1_1_0d EXIST::FUNCTION:CT -SSL_get0_param 206 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_cookie_verify_cb 207 1_1_0d EXIST::FUNCTION: -SSL_get_servername 208 1_1_0d EXIST::FUNCTION: -SSL_CTX_dane_enable 209 1_1_0d EXIST::FUNCTION: -SSL_check_chain 210 1_1_0d EXIST::FUNCTION: -SSL_get_ssl_method 211 1_1_0d EXIST::FUNCTION: -SSL_get_servername_type 212 1_1_0d EXIST::FUNCTION: -SSL_ct_is_enabled 213 1_1_0d EXIST::FUNCTION:CT -SSL_use_certificate_chain_file 214 1_1_0d EXIST::FUNCTION: -SSL_get1_supported_ciphers 215 1_1_0d EXIST::FUNCTION: -SSL_SESSION_print_fp 216 1_1_0d EXIST::FUNCTION:STDIO -SSL_is_init_finished 217 1_1_0d EXIST::FUNCTION: -SSL_get_server_random 218 1_1_0d EXIST::FUNCTION: -SSL_CONF_cmd_argv 219 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_default_ctlog_list_file 220 1_1_0d EXIST::FUNCTION:CT -SSL_CTX_set_purpose 221 1_1_0d EXIST::FUNCTION: -SSL_get_srp_userinfo 222 1_1_0d EXIST::FUNCTION:SRP -SSL_get_SSL_CTX 223 1_1_0d EXIST::FUNCTION: -GMTLS_server_method 224 1_1_0d EXIST::FUNCTION:GMTLS -SSL_COMP_set0_compression_methods 225 1_1_0d EXIST::FUNCTION: -SSL_session_reused 226 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get_timeout 227 1_1_0d EXIST::FUNCTION: -SSL_peek 228 1_1_0d EXIST::FUNCTION: -SSLv3_client_method 229 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD -SSL_CONF_CTX_set1_prefix 230 1_1_0d EXIST::FUNCTION: -SSL_set_wfd 231 1_1_0d EXIST::FUNCTION:SOCK -SSL_set_session_ticket_ext 232 1_1_0d EXIST::FUNCTION: -DTLSv1_2_method 233 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD -SSL_set_hostflags 234 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_verify_mode 235 1_1_0d EXIST::FUNCTION: -TLSv1_client_method 236 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD -SSL_set_ct_validation_callback 237 1_1_0d EXIST::FUNCTION:CT -SSL_CTX_set_alpn_protos 238 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_verify_callback 239 1_1_0d EXIST::FUNCTION: -SSL_get0_peer_scts 240 1_1_0d EXIST::FUNCTION:CT -TLSv1_1_client_method 241 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD -SSL_use_PrivateKey 242 1_1_0d EXIST::FUNCTION: -SSL_add_client_CA 243 1_1_0d EXIST::FUNCTION: -SSL_CTX_sess_set_get_cb 244 1_1_0d EXIST::FUNCTION: -SSL_renegotiate 245 1_1_0d EXIST::FUNCTION: -BIO_f_ssl 246 1_1_0d EXIST::FUNCTION: -SSL_set_alpn_protos 247 1_1_0d EXIST::FUNCTION: -SSL_CONF_CTX_set_ssl_ctx 248 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_timeout 249 1_1_0d EXIST::FUNCTION: -SSL_SESSION_up_ref 250 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_RSAPrivateKey 251 1_1_0d EXIST::FUNCTION:RSA -SSL_CTX_get_options 252 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get_ticket_lifetime_hint 253 1_1_0d EXIST::FUNCTION: -SSL_get_security_callback 254 1_1_0d EXIST::FUNCTION: -PEM_write_SSL_SESSION 255 1_1_0d EXIST::FUNCTION:STDIO -SSL_get_psk_identity_hint 256 1_1_0d EXIST::FUNCTION:PSK -SSL_CTX_set_verify 257 1_1_0d EXIST::FUNCTION: -SSL_CTX_add_client_CA 258 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get_protocol_version 259 1_1_0d EXIST::FUNCTION: -SSL_CTX_dane_clear_flags 260 1_1_0d EXIST::FUNCTION: -SSL_SESSION_free 261 1_1_0d EXIST::FUNCTION: -SSL_get_verify_callback 262 1_1_0d EXIST::FUNCTION: -SSL_CTX_remove_session 263 1_1_0d EXIST::FUNCTION: -SSL_CTX_check_private_key 264 1_1_0d EXIST::FUNCTION: -SSL_set_session_secret_cb 265 1_1_0d EXIST::FUNCTION: -SSL_set_quiet_shutdown 266 1_1_0d EXIST::FUNCTION: -OPENSSL_init_ssl 267 1_1_0d EXIST::FUNCTION: -SSL_CTX_clear_options 268 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_client_cert_engine 269 1_1_0d EXIST::FUNCTION:ENGINE -SSL_enable_ct 270 1_1_0d EXIST::FUNCTION:CT -SSL_CTX_set_cookie_generate_cb 271 1_1_0d EXIST::FUNCTION: -SSL_CTX_dane_mtype_set 272 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_srp_username_callback 273 1_1_0d EXIST::FUNCTION:SRP -SSL_get_current_cipher 274 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_default_passwd_cb 275 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_ciphers 276 1_1_0d EXIST::FUNCTION: -SSL_export_keying_material 277 1_1_0d EXIST::FUNCTION: -SSL_CONF_CTX_set_flags 278 1_1_0d EXIST::FUNCTION: -SSL_CTX_free 279 1_1_0d EXIST::FUNCTION: -SSL_COMP_add_compression_method 280 1_1_0d EXIST::FUNCTION: -SSL_SESSION_print 281 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_default_passwd_cb_userdata 282 1_1_0d EXIST::FUNCTION: -SSL_get_peer_cert_chain 283 1_1_0d EXIST::FUNCTION: -SSL_test_functions 284 1_1_0d EXIST::FUNCTION:UNIT_TEST -SSL_get_security_level 285 1_1_0d EXIST::FUNCTION: -DTLSv1_client_method 286 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD -SSL_CTX_set_next_protos_advertised_cb 287 1_1_0d EXIST::FUNCTION:NEXTPROTONEG -SSL_CTX_set0_security_ex_data 288 1_1_0d EXIST::FUNCTION: -SSL_set0_rbio 289 1_1_0d EXIST::FUNCTION: -SSL_get_cipher_list 290 1_1_0d EXIST::FUNCTION: -SSL_SESSION_set1_id_context 291 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get0_cipher 292 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get0_hostname 293 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get_master_key 294 1_1_0d EXIST::FUNCTION: -SSL_CTX_new 295 1_1_0d EXIST::FUNCTION: -SSL_get_current_expansion 296 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_verify_depth 297 1_1_0d EXIST::FUNCTION: -SSL_state_string_long 298 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_generate_session_id 299 1_1_0d EXIST::FUNCTION: -SSL_CTX_sess_set_new_cb 300 1_1_0d EXIST::FUNCTION: -SSL_get0_alpn_selected 301 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_get_auth_nid 302 1_1_0d EXIST::FUNCTION: -SSL_set0_security_ex_data 303 1_1_0d EXIST::FUNCTION: -SSL_get0_security_ex_data 304 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_is_aead 305 1_1_0d EXIST::FUNCTION: -TLS_server_method 306 1_1_0d EXIST::FUNCTION: -BIO_ssl_shutdown 307 1_1_0d EXIST::FUNCTION: -SSL_set_bio 308 1_1_0d EXIST::FUNCTION: -SSL_get_selected_srtp_profile 309 1_1_0d EXIST::FUNCTION:SRTP -SSL_get_options 310 1_1_0d EXIST::FUNCTION: -TLSv1_2_client_method 311 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD -SSL_COMP_get_name 312 1_1_0d EXIST::FUNCTION: -SSL_get_session 313 1_1_0d EXIST::FUNCTION: -DTLS_method 314 1_1_0d EXIST::FUNCTION: -SSL_set_cipher_list 315 1_1_0d EXIST::FUNCTION: +SSL_get_rbio 1 1_1_0d EXIST::FUNCTION: +SSL_set_cert_cb 2 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_get_version 3 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_verify_callback 4 1_1_0d EXIST::FUNCTION: +SSL_has_matching_session_id 5 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_cert_cb 6 1_1_0d EXIST::FUNCTION: +SSL_select_next_proto 7 1_1_0d EXIST::FUNCTION: +SSL_in_init 8 1_1_0d EXIST::FUNCTION: +SSL_CTX_dane_mtype_set 9 1_1_0d EXIST::FUNCTION: +SSL_dane_enable 10 1_1_0d EXIST::FUNCTION: +SSL_SRP_CTX_free 11 1_1_0d EXIST::FUNCTION:SRP +SSLv3_client_method 12 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD +TLSv1_2_method 13 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD +SSL_SESSION_get_protocol_version 14 1_1_0d EXIST::FUNCTION: +SSL_set_read_ahead 15 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_cookie_verify_cb 16 1_1_0d EXIST::FUNCTION: +SSL_get_shared_ciphers 17 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_psk_server_callback 18 1_1_0d EXIST::FUNCTION:PSK +BIO_new_buffer_ssl_connect 19 1_1_0d EXIST::FUNCTION: +SSL_CONF_cmd_value_type 20 1_1_0d EXIST::FUNCTION: +SSL_get0_alpn_selected 21 1_1_0d EXIST::FUNCTION: +SSL_get_client_ciphers 22 1_1_0d EXIST::FUNCTION: +SSLv3_server_method 23 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD +SSL_set_security_callback 24 1_1_0d EXIST::FUNCTION: +SSL_get_privatekey 25 1_1_0d EXIST::FUNCTION: +SSL_get_srp_g 26 1_1_0d EXIST::FUNCTION:SRP +SSL_set_default_passwd_cb_userdata 27 1_1_0d EXIST::FUNCTION: +DTLS_method 28 1_1_0d EXIST::FUNCTION: +BIO_new_ssl_connect 29 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_ex_data 30 1_1_0d EXIST::FUNCTION: +SSL_CTX_add_session 31 1_1_0d EXIST::FUNCTION: +SSL_CTX_config 32 1_1_0d EXIST::FUNCTION: +SSL_CTX_flush_sessions 33 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_cipher_list 34 1_1_0d EXIST::FUNCTION: +SSL_CTX_check_private_key 35 1_1_0d EXIST::FUNCTION: +SSL_CTX_use_psk_identity_hint 36 1_1_0d EXIST::FUNCTION:PSK +SSL_get_error 37 1_1_0d EXIST::FUNCTION: +SSL_CTX_get0_param 38 1_1_0d EXIST::FUNCTION: +SSL_add_file_cert_subjects_to_stack 39 1_1_0d EXIST::FUNCTION: +SSL_up_ref 40 1_1_0d EXIST::FUNCTION: +SSL_SESSION_print_fp 41 1_1_0d EXIST::FUNCTION:STDIO +SSL_CTX_use_PrivateKey_ASN1 42 1_1_0d EXIST::FUNCTION: +SSL_get_peer_cert_chain 43 1_1_0d EXIST::FUNCTION: +SSL_CONF_CTX_clear_flags 44 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_verify 45 1_1_0d EXIST::FUNCTION: +i2d_SSL_SESSION 46 1_1_0d EXIST::FUNCTION: +SSL_set_verify_depth 47 1_1_0d EXIST::FUNCTION: +SSL_SESSION_set_ex_data 48 1_1_0d EXIST::FUNCTION: +SSL_add1_host 49 1_1_0d EXIST::FUNCTION: +SSL_set_tlsext_use_srtp 50 1_1_0d EXIST::FUNCTION:SRTP +SSL_session_reused 51 1_1_0d EXIST::FUNCTION: +SSL_get0_dane_authority 52 1_1_0d EXIST::FUNCTION: +SSL_alert_type_string_long 53 1_1_0d EXIST::FUNCTION: +SSL_use_RSAPrivateKey_ASN1 54 1_1_0d EXIST::FUNCTION:RSA +SSL_CTX_SRP_CTX_free 55 1_1_0d EXIST::FUNCTION:SRP +SSL_use_PrivateKey_ASN1 56 1_1_0d EXIST::FUNCTION: +SSL_set_quiet_shutdown 57 1_1_0d EXIST::FUNCTION: +SSL_CTX_get0_ctlog_store 58 1_1_0d EXIST::FUNCTION:CT +SSL_use_RSAPrivateKey 59 1_1_0d EXIST::FUNCTION:RSA +PEM_write_bio_SSL_SESSION 60 1_1_0d EXIST::FUNCTION: +GMTLS_client_method 61 1_1_0d EXIST::FUNCTION:GMTLS +SSL_use_certificate_file 62 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_purpose 63 1_1_0d EXIST::FUNCTION: +SSL_add_dir_cert_subjects_to_stack 64 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_next_proto_select_cb 65 1_1_0d EXIST::FUNCTION:NEXTPROTONEG +DTLSv1_server_method 66 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD +SSL_CONF_CTX_set_flags 67 1_1_0d EXIST::FUNCTION: +SSL_get_srp_userinfo 68 1_1_0d EXIST::FUNCTION:SRP +SSL_CTX_set0_security_ex_data 69 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_client_cert_cb 70 1_1_0d EXIST::FUNCTION: +DTLSv1_client_method 71 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD +SSL_set_hostflags 72 1_1_0d EXIST::FUNCTION: +SSL_dane_set_flags 73 1_1_0d EXIST::FUNCTION: +SSL_set_SSL_CTX 74 1_1_0d EXIST::FUNCTION: +SSL_get_current_cipher 75 1_1_0d EXIST::FUNCTION: +SSL_CTX_remove_session 76 1_1_0d EXIST::FUNCTION: +SSL_config 77 1_1_0d EXIST::FUNCTION: +SSL_write 78 1_1_0d EXIST::FUNCTION: +SSL_copy_session_id 79 1_1_0d EXIST::FUNCTION: +SSL_get_session 80 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_ssl_method 81 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_default_ctlog_list_file 82 1_1_0d EXIST::FUNCTION:CT +SSL_CTX_set_next_protos_advertised_cb 83 1_1_0d EXIST::FUNCTION:NEXTPROTONEG +SSL_CTX_set_alpn_select_cb 84 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_ctlog_list_file 85 1_1_0d EXIST::FUNCTION:CT +SSL_dane_clear_flags 86 1_1_0d EXIST::FUNCTION: +SSL_CONF_CTX_set_ssl 87 1_1_0d EXIST::FUNCTION: +SSL_get0_verified_chain 88 1_1_0d EXIST::FUNCTION: +TLSv1_2_server_method 89 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD +SSL_get_quiet_shutdown 90 1_1_0d EXIST::FUNCTION: +TLSv1_server_method 91 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD +SSL_get_options 92 1_1_0d EXIST::FUNCTION: +SSL_rstate_string 93 1_1_0d EXIST::FUNCTION: +SSL_CTX_sess_set_new_cb 94 1_1_0d EXIST::FUNCTION: +SSL_alert_desc_string_long 95 1_1_0d EXIST::FUNCTION: +SSL_get_ciphers 96 1_1_0d EXIST::FUNCTION: +SSL_set_psk_server_callback 97 1_1_0d EXIST::FUNCTION:PSK +SSL_CTX_get_security_level 98 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_ct_validation_callback 99 1_1_0d EXIST::FUNCTION:CT +SSL_CTX_set_trust 100 1_1_0d EXIST::FUNCTION: +SSL_get_security_level 101 1_1_0d EXIST::FUNCTION: +SSL_CTX_add_client_custom_ext 102 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_security_callback 103 1_1_0d EXIST::FUNCTION: +BIO_ssl_shutdown 104 1_1_0d EXIST::FUNCTION: +SSL_set_ssl_method 105 1_1_0d EXIST::FUNCTION: +SSL_CTX_add_client_CA 106 1_1_0d EXIST::FUNCTION: +SSL_version 107 1_1_0d EXIST::FUNCTION: +SSL_set_ex_data 108 1_1_0d EXIST::FUNCTION: +SSL_check_chain 109 1_1_0d EXIST::FUNCTION: +SSL_SESSION_free 110 1_1_0d EXIST::FUNCTION: +SSL_set_info_callback 111 1_1_0d EXIST::FUNCTION: +SSL_get1_session 112 1_1_0d EXIST::FUNCTION: +SRP_Calc_A_param 113 1_1_0d EXIST::FUNCTION:SRP +SSL_CTX_use_RSAPrivateKey_file 114 1_1_0d EXIST::FUNCTION:RSA +SSL_get_peer_certificate 115 1_1_0d EXIST::FUNCTION: +SSL_set1_param 116 1_1_0d EXIST::FUNCTION: +SSL_COMP_get_name 117 1_1_0d EXIST::FUNCTION: +SSL_export_keying_material 118 1_1_0d EXIST::FUNCTION: +SSL_CTX_sess_get_remove_cb 119 1_1_0d EXIST::FUNCTION: +SSL_get_read_ahead 120 1_1_0d EXIST::FUNCTION: +SSL_set_session_id_context 121 1_1_0d EXIST::FUNCTION: +SSL_CTX_sess_set_remove_cb 122 1_1_0d EXIST::FUNCTION: +SSL_CONF_CTX_set1_prefix 123 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_verify_depth 124 1_1_0d EXIST::FUNCTION: +SSL_certs_clear 125 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_default_verify_paths 126 1_1_0d EXIST::FUNCTION: +BIO_new_ssl 127 1_1_0d EXIST::FUNCTION: +SSL_set0_wbio 128 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_get_cipher_nid 129 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_cert_store 130 1_1_0d EXIST::FUNCTION: +SSL_set_psk_client_callback 131 1_1_0d EXIST::FUNCTION:PSK +SSL_CONF_cmd_argv 132 1_1_0d EXIST::FUNCTION: +SSL_set_ct_validation_callback 133 1_1_0d EXIST::FUNCTION:CT +SSL_CTX_use_certificate_chain_file 134 1_1_0d EXIST::FUNCTION: +SSL_SESSION_set_timeout 135 1_1_0d EXIST::FUNCTION: +SSL_CTX_dane_set_flags 136 1_1_0d EXIST::FUNCTION: +SSL_CTX_set1_param 137 1_1_0d EXIST::FUNCTION: +SSL_SESSION_print 138 1_1_0d EXIST::FUNCTION: +SSL_dup_CA_list 139 1_1_0d EXIST::FUNCTION: +SSL_CTX_use_certificate 140 1_1_0d EXIST::FUNCTION: +SSL_COMP_get_compression_methods 141 1_1_0d EXIST::FUNCTION: +SSL_dane_tlsa_add 142 1_1_0d EXIST::FUNCTION: +SSL_enable_ct 143 1_1_0d EXIST::FUNCTION:CT +SSL_CTX_sessions 144 1_1_0d EXIST::FUNCTION: +SSL_set_trust 145 1_1_0d EXIST::FUNCTION: +SSL_CTX_get0_security_ex_data 146 1_1_0d EXIST::FUNCTION: +SSL_CONF_CTX_set_ssl_ctx 147 1_1_0d EXIST::FUNCTION: +SSL_CTX_callback_ctrl 148 1_1_0d EXIST::FUNCTION: +PEM_read_SSL_SESSION 149 1_1_0d EXIST::FUNCTION:STDIO +BIO_ssl_copy_session_id 150 1_1_0d EXIST::FUNCTION: +SSL_add_client_CA 151 1_1_0d EXIST::FUNCTION: +d2i_SSL_SESSION 152 1_1_0d EXIST::FUNCTION: +SSL_callback_ctrl 153 1_1_0d EXIST::FUNCTION: +SSL_set_session 154 1_1_0d EXIST::FUNCTION: +SSL_set0_security_ex_data 155 1_1_0d EXIST::FUNCTION: +SSL_set_client_CA_list 156 1_1_0d EXIST::FUNCTION: +SSL_set_session_ticket_ext_cb 157 1_1_0d EXIST::FUNCTION: +SSL_has_pending 158 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_info_callback 159 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_get_bits 160 1_1_0d EXIST::FUNCTION: +SSL_COMP_get_id 161 1_1_0d EXIST::FUNCTION: +SSL_get_current_compression 162 1_1_0d EXIST::FUNCTION: +SSL_accept 163 1_1_0d EXIST::FUNCTION: +TLSv1_client_method 164 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD +SSL_get_shared_sigalgs 165 1_1_0d EXIST::FUNCTION: +SSL_client_version 166 1_1_0d EXIST::FUNCTION: +SSL_get_servername 167 1_1_0d EXIST::FUNCTION: +SSL_get_ex_data_X509_STORE_CTX_idx 168 1_1_0d EXIST::FUNCTION: +SSL_ct_is_enabled 169 1_1_0d EXIST::FUNCTION:CT +SSL_set_generate_session_id 170 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_quiet_shutdown 171 1_1_0d EXIST::FUNCTION: +SSL_set_srp_server_param 172 1_1_0d EXIST::FUNCTION:SRP +SSL_CTX_set0_ctlog_store 173 1_1_0d EXIST::FUNCTION:CT +TLS_client_method 174 1_1_0d EXIST::FUNCTION: +SSL_get_srp_username 175 1_1_0d EXIST::FUNCTION:SRP +SSL_CTX_sess_get_get_cb 176 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_verify_depth 177 1_1_0d EXIST::FUNCTION: +SSL_get_changed_async_fds 178 1_1_0d EXIST::FUNCTION: +SSL_get_default_timeout 179 1_1_0d EXIST::FUNCTION: +SSL_set_fd 180 1_1_0d EXIST::FUNCTION:SOCK +SSL_CTX_use_certificate_file 181 1_1_0d EXIST::FUNCTION: +SSL_CTX_SRP_CTX_init 182 1_1_0d EXIST::FUNCTION:SRP +SSL_state_string_long 183 1_1_0d EXIST::FUNCTION: +SSL_set_verify 184 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get_timeout 185 1_1_0d EXIST::FUNCTION: +SSL_CTX_use_serverinfo_file 186 1_1_0d EXIST::FUNCTION: +SSL_COMP_set0_compression_methods 187 1_1_0d EXIST::FUNCTION: +SSL_alert_type_string 188 1_1_0d EXIST::FUNCTION: +SSL_peek 189 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_get_auth_nid 190 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_srp_cb_arg 191 1_1_0d EXIST::FUNCTION:SRP +SSL_CTX_set_generate_session_id 192 1_1_0d EXIST::FUNCTION: +SSL_get_cipher_list 193 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_not_resumable_session_callback 194 1_1_0d EXIST::FUNCTION: +SSL_CTX_dane_clear_flags 195 1_1_0d EXIST::FUNCTION: +SSL_get_SSL_CTX 196 1_1_0d EXIST::FUNCTION: +TLSv1_2_client_method 197 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD +SSL_set_accept_state 198 1_1_0d EXIST::FUNCTION: +SSL_get0_peer_scts 199 1_1_0d EXIST::FUNCTION:CT +SSL_srp_server_param_with_username 200 1_1_0d EXIST::FUNCTION:SRP +GMTLS_server_method 201 1_1_0d EXIST::FUNCTION:GMTLS +SSL_get_srtp_profiles 202 1_1_0d EXIST::FUNCTION:SRTP +SSL_get_client_CA_list 203 1_1_0d EXIST::FUNCTION: +SSL_set_cipher_list 204 1_1_0d EXIST::FUNCTION: +SSL_get_server_random 205 1_1_0d EXIST::FUNCTION: +SSL_connect 206 1_1_0d EXIST::FUNCTION: +SSL_CTX_get0_privatekey 207 1_1_0d EXIST::FUNCTION: +SSL_set_options 208 1_1_0d EXIST::FUNCTION: +SSL_ctrl 209 1_1_0d EXIST::FUNCTION: +SSL_get0_next_proto_negotiated 210 1_1_0d EXIST::FUNCTION:NEXTPROTONEG +SSL_CIPHER_get_id 211 1_1_0d EXIST::FUNCTION: +SSL_is_init_finished 212 1_1_0d EXIST::FUNCTION: +SSL_CTX_sess_get_new_cb 213 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_get_digest_nid 214 1_1_0d EXIST::FUNCTION: +SSL_use_PrivateKey_file 215 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get_id 216 1_1_0d EXIST::FUNCTION: +TLS_server_method 217 1_1_0d EXIST::FUNCTION: +SSL_CTX_dane_enable 218 1_1_0d EXIST::FUNCTION: +TLSv1_method 219 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD +DTLSv1_2_method 220 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD +SSL_set_tmp_dh_callback 221 1_1_0d EXIST::FUNCTION:DH +SSL_get0_security_ex_data 222 1_1_0d EXIST::FUNCTION: +SSL_get_current_expansion 223 1_1_0d EXIST::FUNCTION: +SSL_set_verify_result 224 1_1_0d EXIST::FUNCTION: +SSL_set_srp_server_param_pw 225 1_1_0d EXIST::FUNCTION:SRP +SSL_is_gmtls 226 1_1_0d EXIST::FUNCTION: +SSL_get_certificate 227 1_1_0d EXIST::FUNCTION: +SSL_get_version 228 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get_ticket_lifetime_hint 229 1_1_0d EXIST::FUNCTION: +SSL_set_purpose 230 1_1_0d EXIST::FUNCTION: +SSL_set0_rbio 231 1_1_0d EXIST::FUNCTION: +SSL_in_before 232 1_1_0d EXIST::FUNCTION: +SSL_CTX_ct_is_enabled 233 1_1_0d EXIST::FUNCTION:CT +SSL_use_RSAPrivateKey_file 234 1_1_0d EXIST::FUNCTION:RSA +SSL_CTX_set_cookie_generate_cb 235 1_1_0d EXIST::FUNCTION: +SSL_renegotiate_pending 236 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_srp_username_callback 237 1_1_0d EXIST::FUNCTION:SRP +SSL_is_server 238 1_1_0d EXIST::FUNCTION: +SSL_do_handshake 239 1_1_0d EXIST::FUNCTION: +DTLS_client_method 240 1_1_0d EXIST::FUNCTION: +SSL_CTX_add_server_custom_ext 241 1_1_0d EXIST::FUNCTION: +SSL_get0_param 242 1_1_0d EXIST::FUNCTION: +SSL_want 243 1_1_0d EXIST::FUNCTION: +SSL_get_ex_data 244 1_1_0d EXIST::FUNCTION: +SSL_set_rfd 245 1_1_0d EXIST::FUNCTION:SOCK +TLSv1_1_method 246 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD +SSL_alert_desc_string 247 1_1_0d EXIST::FUNCTION: +SSL_test_functions 248 1_1_0d EXIST::FUNCTION:UNIT_TEST +SSL_CTX_set_default_verify_dir 249 1_1_0d EXIST::FUNCTION: +SSL_pending 250 1_1_0d EXIST::FUNCTION: +SSL_use_psk_identity_hint 251 1_1_0d EXIST::FUNCTION:PSK +SSL_is_dtls 252 1_1_0d EXIST::FUNCTION: +SSL_use_PrivateKey 253 1_1_0d EXIST::FUNCTION: +SSL_CONF_CTX_finish 254 1_1_0d EXIST::FUNCTION: +SSL_get0_peername 255 1_1_0d EXIST::FUNCTION: +SSL_CTX_use_PrivateKey_file 256 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_default_passwd_cb 257 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_srp_verify_param_callback 258 1_1_0d EXIST::FUNCTION:SRP +SSL_SESSION_set_time 259 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_client_cert_engine 260 1_1_0d EXIST::FUNCTION:ENGINE +SSL_CTX_use_PrivateKey 261 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_tmp_dh_callback 262 1_1_0d EXIST::FUNCTION:DH +SSL_get_servername_type 263 1_1_0d EXIST::FUNCTION: +SSL_SESSION_print_keylog 264 1_1_0d EXIST::FUNCTION: +SSL_get_verify_depth 265 1_1_0d EXIST::FUNCTION: +SSL_get_wfd 266 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_options 267 1_1_0d EXIST::FUNCTION: +DTLSv1_listen 268 1_1_0d EXIST::FUNCTION:SOCK +SSL_get_srp_N 269 1_1_0d EXIST::FUNCTION:SRP +SSL_CTX_set_msg_callback 270 1_1_0d EXIST::FUNCTION: +SSL_renegotiate_abbreviated 271 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_srp_username 272 1_1_0d EXIST::FUNCTION:SRP +SSL_SESSION_get0_peer 273 1_1_0d EXIST::FUNCTION: +SSL_CTX_use_RSAPrivateKey 274 1_1_0d EXIST::FUNCTION:RSA +DTLS_server_method 275 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_security_level 276 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_get_kx_nid 277 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_session_id_context 278 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get0_cipher 279 1_1_0d EXIST::FUNCTION: +SSL_get_peer_finished 280 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_alpn_protos 281 1_1_0d EXIST::FUNCTION: +SSL_get_default_passwd_cb_userdata 282 1_1_0d EXIST::FUNCTION: +SSL_get_psk_identity 283 1_1_0d EXIST::FUNCTION:PSK +SSL_get_info_callback 284 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_cert_verify_callback 285 1_1_0d EXIST::FUNCTION: +SSL_get_sigalgs 286 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_security_callback 287 1_1_0d EXIST::FUNCTION: +SSL_read 288 1_1_0d EXIST::FUNCTION: +TLSv1_1_server_method 289 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD +SSL_use_certificate_ASN1 290 1_1_0d EXIST::FUNCTION: +SSL_set_shutdown 291 1_1_0d EXIST::FUNCTION: +SSL_set_default_passwd_cb 292 1_1_0d EXIST::FUNCTION: +PEM_read_bio_SSL_SESSION 293 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_default_passwd_cb_userdata 294 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_srp_strength 295 1_1_0d EXIST::FUNCTION:SRP +SSL_use_certificate_chain_file 296 1_1_0d EXIST::FUNCTION: +SSL_get_shutdown 297 1_1_0d EXIST::FUNCTION: +SSL_SESSION_up_ref 298 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_description 299 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get_master_key 300 1_1_0d EXIST::FUNCTION: +SSL_set_security_level 301 1_1_0d EXIST::FUNCTION: +SSL_load_client_CA_file 302 1_1_0d EXIST::FUNCTION: +SSL_set_not_resumable_session_callback 303 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_timeout 304 1_1_0d EXIST::FUNCTION: +SSL_get_state 305 1_1_0d EXIST::FUNCTION: +SSL_state_string 306 1_1_0d EXIST::FUNCTION: +TLS_method 307 1_1_0d EXIST::FUNCTION: +SSL_SESSION_has_ticket 308 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_ex_data 309 1_1_0d EXIST::FUNCTION: +SSL_CTX_load_verify_locations 310 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_find 311 1_1_0d EXIST::FUNCTION: +PEM_write_SSL_SESSION 312 1_1_0d EXIST::FUNCTION:STDIO +SSL_shutdown 313 1_1_0d EXIST::FUNCTION: +OPENSSL_init_ssl 314 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_client_CA_list 315 1_1_0d EXIST::FUNCTION: SSL_add_ssl_module 316 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get0_ticket 317 1_1_0d EXIST::FUNCTION: -SSL_SESSION_new 318 1_1_0d EXIST::FUNCTION: -SSL_CTX_dane_set_flags 319 1_1_0d EXIST::FUNCTION: -TLSv1_method 320 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD -SSL_get_quiet_shutdown 321 1_1_0d EXIST::FUNCTION: -DTLS_server_method 322 1_1_0d EXIST::FUNCTION: -SSL_rstate_string_long 323 1_1_0d EXIST::FUNCTION: -SSL_dup_CA_list 324 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_not_resumable_session_callback 325 1_1_0d EXIST::FUNCTION: -SSL_get0_verified_chain 326 1_1_0d EXIST::FUNCTION: -SSL_read 327 1_1_0d EXIST::FUNCTION: -SSL_is_dtls 328 1_1_0d EXIST::FUNCTION: -SSL_CTX_add_session 329 1_1_0d EXIST::FUNCTION: -SSL_get_default_passwd_cb 330 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_ssl_method 331 1_1_0d EXIST::FUNCTION: -DTLSv1_listen 332 1_1_0d EXIST::FUNCTION:SOCK -SSL_alert_desc_string 333 1_1_0d EXIST::FUNCTION: -SSL_set_generate_session_id 334 1_1_0d EXIST::FUNCTION: -SSLv3_method 335 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD -SSL_get_shared_sigalgs 336 1_1_0d EXIST::FUNCTION: -SSL_get_verify_mode 337 1_1_0d EXIST::FUNCTION: -SSL_CTX_flush_sessions 338 1_1_0d EXIST::FUNCTION: -SSL_set_SSL_CTX 339 1_1_0d EXIST::FUNCTION: -SSL_get_default_timeout 340 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_serverinfo 341 1_1_0d EXIST::FUNCTION: -DTLSv1_method 342 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD -SSL_CONF_cmd 343 1_1_0d EXIST::FUNCTION: -SSL_set_ex_data 344 1_1_0d EXIST::FUNCTION: -TLSv1_1_server_method 345 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD -SSL_get0_peername 346 1_1_0d EXIST::FUNCTION: -SSL_get_psk_identity 347 1_1_0d EXIST::FUNCTION:PSK -SSL_set_not_resumable_session_callback 348 1_1_0d EXIST::FUNCTION: -SSL_use_certificate_ASN1 349 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_find 350 1_1_0d EXIST::FUNCTION: -SSL_set_security_callback 351 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_RSAPrivateKey_ASN1 352 1_1_0d EXIST::FUNCTION:RSA -SSL_CONF_CTX_free 353 1_1_0d EXIST::FUNCTION: -SSL_set_tmp_dh_callback 354 1_1_0d EXIST::FUNCTION:DH -SSL_CTX_SRP_CTX_free 355 1_1_0d EXIST::FUNCTION:SRP -i2d_SSL_SESSION 356 1_1_0d EXIST::FUNCTION: -BIO_ssl_copy_session_id 357 1_1_0d EXIST::FUNCTION: -SSL_has_matching_session_id 358 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_srp_username 359 1_1_0d EXIST::FUNCTION:SRP -SSL_CTX_get_ex_data 360 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_get_name 361 1_1_0d EXIST::FUNCTION: -SSL_CONF_cmd_value_type 362 1_1_0d EXIST::FUNCTION: -SSL_set_connect_state 363 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_certificate_file 364 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get_time 365 1_1_0d EXIST::FUNCTION: -SSL_CTX_set0_ctlog_store 366 1_1_0d EXIST::FUNCTION:CT -BIO_new_buffer_ssl_connect 367 1_1_0d EXIST::FUNCTION: -SSL_dane_set_flags 368 1_1_0d EXIST::FUNCTION: -SSL_set_options 369 1_1_0d EXIST::FUNCTION: -SSL_get_shutdown 370 1_1_0d EXIST::FUNCTION: -SSL_alert_desc_string_long 371 1_1_0d EXIST::FUNCTION: -SSL_COMP_get_compression_methods 372 1_1_0d EXIST::FUNCTION: -SSL_use_RSAPrivateKey_file 373 1_1_0d EXIST::FUNCTION:RSA -SSL_srp_server_param_with_username 374 1_1_0d EXIST::FUNCTION:SRP -SSL_has_pending 375 1_1_0d EXIST::FUNCTION: -SSL_SESSION_get0_peer 376 1_1_0d EXIST::FUNCTION: -SSL_set_accept_state 377 1_1_0d EXIST::FUNCTION: -SSL_get_peer_finished 378 1_1_0d EXIST::FUNCTION: -SSL_certs_clear 379 1_1_0d EXIST::FUNCTION: -SSL_callback_ctrl 380 1_1_0d EXIST::FUNCTION: -SSL_get_version 381 1_1_0d EXIST::FUNCTION: -SSL_get_ex_data 382 1_1_0d EXIST::FUNCTION: -SSL_get_current_compression 383 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_default_read_buffer_len 384 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_ct_validation_callback 385 1_1_0d EXIST::FUNCTION:CT -SSL_shutdown 386 1_1_0d EXIST::FUNCTION: -SSL_get_fd 387 1_1_0d EXIST::FUNCTION: -SSL_get_rfd 388 1_1_0d EXIST::FUNCTION: -SSL_CTX_get_default_passwd_cb 389 1_1_0d EXIST::FUNCTION: -SSL_version 390 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_quiet_shutdown 391 1_1_0d EXIST::FUNCTION: -TLSv1_2_server_method 392 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD -SSL_set_ssl_method 393 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_verify_depth 394 1_1_0d EXIST::FUNCTION: -SSL_CONF_CTX_set_ssl 395 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_PrivateKey_file 396 1_1_0d EXIST::FUNCTION: -SSL_CIPHER_get_digest_nid 397 1_1_0d EXIST::FUNCTION: -SSL_set_psk_client_callback 398 1_1_0d EXIST::FUNCTION:PSK -SSL_SESSION_get_id 399 1_1_0d EXIST::FUNCTION: -SSL_set_cert_cb 400 1_1_0d EXIST::FUNCTION: -SSL_set1_param 401 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_security_level 402 1_1_0d EXIST::FUNCTION: -SSL_CTX_set_next_proto_select_cb 403 1_1_0d EXIST::FUNCTION:NEXTPROTONEG -SSL_CTX_get_quiet_shutdown 404 1_1_0d EXIST::FUNCTION: -TLSv1_server_method 405 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD -SSL_CTX_set_client_cert_cb 406 1_1_0d EXIST::FUNCTION: -SSL_free 407 1_1_0d EXIST::FUNCTION: -SSL_config 408 1_1_0d EXIST::FUNCTION: -SSL_dane_tlsa_add 409 1_1_0d EXIST::FUNCTION: -SSL_CTX_sess_get_get_cb 410 1_1_0d EXIST::FUNCTION: -SSL_CTX_use_RSAPrivateKey_file 411 1_1_0d EXIST::FUNCTION:RSA +SSL_CTX_set_options 317 1_1_0d EXIST::FUNCTION: +SSL_waiting_for_async 318 1_1_0d EXIST::FUNCTION: +SSL_COMP_add_compression_method 319 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_quiet_shutdown 320 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get0_id_context 321 1_1_0d EXIST::FUNCTION: +SSL_set_alpn_protos 322 1_1_0d EXIST::FUNCTION: +SSL_get_security_callback 323 1_1_0d EXIST::FUNCTION: +SSL_CONF_CTX_new 324 1_1_0d EXIST::FUNCTION: +DTLSv1_method 325 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD +SSL_trace 326 1_1_0d EXIST::FUNCTION:SSL_TRACE +SSL_set1_host 327 1_1_0d EXIST::FUNCTION: +SSL_set_session_ticket_ext 328 1_1_0d EXIST::FUNCTION: +SSL_set_bio 329 1_1_0d EXIST::FUNCTION: +SSL_CONF_CTX_free 330 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_ciphers 331 1_1_0d EXIST::FUNCTION: +SSL_set_default_read_buffer_len 332 1_1_0d EXIST::FUNCTION: +SSL_get_verify_callback 333 1_1_0d EXIST::FUNCTION: +SSL_set_wfd 334 1_1_0d EXIST::FUNCTION:SOCK +DTLSv1_2_server_method 335 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD +SSL_get_client_random 336 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_default_passwd_cb 337 1_1_0d EXIST::FUNCTION: +SSL_CTX_sess_set_get_cb 338 1_1_0d EXIST::FUNCTION: +SSL_free 339 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_srp_client_pwd_callback 340 1_1_0d EXIST::FUNCTION:SRP +SSL_SRP_CTX_init 341 1_1_0d EXIST::FUNCTION:SRP +SSL_get_fd 342 1_1_0d EXIST::FUNCTION: +SSL_new 343 1_1_0d EXIST::FUNCTION: +SSL_extension_supported 344 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_default_read_buffer_len 345 1_1_0d EXIST::FUNCTION: +SSL_get0_dane_tlsa 346 1_1_0d EXIST::FUNCTION: +SSL_SESSION_set1_id_context 347 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get_time 348 1_1_0d EXIST::FUNCTION: +SSL_set_debug 349 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0 +SSL_get_psk_identity_hint 350 1_1_0d EXIST::FUNCTION:PSK +BIO_f_ssl 351 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_client_CA_list 352 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get0_ticket 353 1_1_0d EXIST::FUNCTION: +SSL_get_verify_mode 354 1_1_0d EXIST::FUNCTION: +SSL_set_session_secret_cb 355 1_1_0d EXIST::FUNCTION: +DTLSv1_2_client_method 356 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD +SSL_CTX_use_serverinfo 357 1_1_0d EXIST::FUNCTION: +SSL_CTX_up_ref 358 1_1_0d EXIST::FUNCTION: +SSL_CTX_free 359 1_1_0d EXIST::FUNCTION: +SSL_get_finished 360 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get_compress_id 361 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_psk_client_callback 362 1_1_0d EXIST::FUNCTION:PSK +SSL_COMP_get0_name 363 1_1_0d EXIST::FUNCTION: +SSL_SESSION_get_ex_data 364 1_1_0d EXIST::FUNCTION: +SSL_rstate_string_long 365 1_1_0d EXIST::FUNCTION: +SSL_CTX_new 366 1_1_0d EXIST::FUNCTION: +SSL_get_all_async_fds 367 1_1_0d EXIST::FUNCTION: +SSL_get_rfd 368 1_1_0d EXIST::FUNCTION: +TLSv1_1_client_method 369 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD +SSL_set_msg_callback 370 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_ssl_version 371 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_get_name 372 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_srp_password 373 1_1_0d EXIST::FUNCTION:SRP +SSL_SESSION_get0_hostname 374 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_cert_store 375 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_timeout 376 1_1_0d EXIST::FUNCTION: +SSL_get_verify_result 377 1_1_0d EXIST::FUNCTION: +SSL_SESSION_set1_id 378 1_1_0d EXIST::FUNCTION: +SSLv3_method 379 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD +SSL_CTX_has_client_custom_ext 380 1_1_0d EXIST::FUNCTION: +SSL_CTX_get0_certificate 381 1_1_0d EXIST::FUNCTION: +ERR_load_SSL_strings 382 1_1_0d EXIST::FUNCTION: +SSL_CTX_clear_options 383 1_1_0d EXIST::FUNCTION: +SSL_CTX_use_RSAPrivateKey_ASN1 384 1_1_0d EXIST::FUNCTION:RSA +SSL_SESSION_new 385 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_info_callback 386 1_1_0d EXIST::FUNCTION: +SSL_CTX_get_verify_mode 387 1_1_0d EXIST::FUNCTION: +SSL_CTX_enable_ct 388 1_1_0d EXIST::FUNCTION:CT +SSL_get_selected_srtp_profile 389 1_1_0d EXIST::FUNCTION:SRTP +SSL_clear 390 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_tlsext_use_srtp 391 1_1_0d EXIST::FUNCTION:SRTP +SSL_use_certificate 392 1_1_0d EXIST::FUNCTION: +SSL_dup 393 1_1_0d EXIST::FUNCTION: +SSL_CTX_ctrl 394 1_1_0d EXIST::FUNCTION: +SSL_renegotiate 395 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_standard_name 396 1_1_0d EXIST::FUNCTION:SSL_TRACE +SSL_check_private_key 397 1_1_0d EXIST::FUNCTION: +SSL_CONF_cmd 398 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_default_verify_file 399 1_1_0d EXIST::FUNCTION: +SSL_get1_supported_ciphers 400 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_client_cert_cb 401 1_1_0d EXIST::FUNCTION: +SSL_CTX_set_default_passwd_cb_userdata 402 1_1_0d EXIST::FUNCTION: +SSL_CTX_use_certificate_ASN1 403 1_1_0d EXIST::FUNCTION: +SSL_set_connect_state 404 1_1_0d EXIST::FUNCTION: +SSL_CIPHER_is_aead 405 1_1_0d EXIST::FUNCTION: +GMTLS_method 406 1_1_0d EXIST::FUNCTION:GMTLS +SSL_get_default_passwd_cb 407 1_1_0d EXIST::FUNCTION: +SSL_clear_options 408 1_1_0d EXIST::FUNCTION: +SSL_get_wbio 409 1_1_0d EXIST::FUNCTION: +SSL_get0_dane 410 1_1_0d EXIST::FUNCTION: +SSL_get_ssl_method 411 1_1_0d EXIST::FUNCTION: diff --git a/util/mkdef.pl b/util/mkdef.pl index 642eda92..f0e939bd 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -133,9 +133,9 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", # APPLINK (win build feature?) "APPLINK", # GmSSL - "SM3", "SMS4", "KDF2", "ECIES", "FFX", "SM2", "PAILLIER", "CPK", "OTP", "GMAPI", "EC2", - "BFIBE", "BB1IBE", "SM9", "SAF", "SDF", "SKF", "SOF", "ZUC", "SERPENT", "SPECK", "BASE58", - "GMTLS", "GMTLS_METHOD", "CA", "MACRO", "ASYNC", "ECRS" + "SM3", "SMS4", "KDF2", "ECIES", "SM2", "PAILLIER", "OTP", "GMAPI", + "SM9", "SDF", "SKF", "ZUC", "BASE58", + "GMTLS", "GMTLS_METHOD", "CA", "MACRO", "ASYNC" ); my %disabled_algorithms; @@ -312,26 +312,13 @@ $crypto.=" include/openssl/async.h"; $crypto.=" include/openssl/ct.h"; $crypto.=" include/openssl/kdf.h"; # GmSSL -$crypto.=" include/openssl/bb1ibe.h"; -$crypto.=" include/openssl/bfibe.h"; -$crypto.=" include/openssl/bn_gfp2.h"; -$crypto.=" include/openssl/bn_hash.h"; -$crypto.=" include/openssl/bn_solinas.h"; -$crypto.=" include/openssl/cpk.h"; -$crypto.=" include/openssl/ec_hash.h"; -$crypto.=" include/openssl/ec_type1.h"; $crypto.=" include/openssl/ecies.h"; -$crypto.=" include/openssl/ffx.h"; -$crypto.=" include/openssl/fppoint.h"; $crypto.=" include/openssl/gmapi.h"; -$crypto.=" include/openssl/gmsaf.h"; $crypto.=" include/openssl/gmsdf.h"; $crypto.=" include/openssl/gmskf.h"; -$crypto.=" include/openssl/gmsof.h"; $crypto.=" include/openssl/kdf2.h"; $crypto.=" include/openssl/otp.h"; $crypto.=" include/openssl/paillier.h"; -$crypto.=" include/openssl/saf.h"; $crypto.=" include/openssl/sdf.h"; $crypto.=" include/openssl/sgd.h"; $crypto.=" include/openssl/skf.h"; @@ -340,12 +327,8 @@ $crypto.=" include/openssl/sm2.h"; $crypto.=" include/openssl/sm3.h"; $crypto.=" include/openssl/sm9.h"; $crypto.=" include/openssl/sms4.h"; -$crypto.=" include/openssl/sof.h"; $crypto.=" include/openssl/ssf33.h"; $crypto.=" include/openssl/zuc.h"; -$crypto.=" include/openssl/serpent.h"; -$crypto.=" include/openssl/speck.h"; -$crypto.=" include/openssl/ecrs.h"; my $symhacks="include/openssl/symhacks.h";