remove ECRS, EC-Schnorr modules
This commit is contained in:
Zhi Guan
2019-06-13 17:02:51 +08:00
parent 246867fd2b
commit 24f8a17c63
27 changed files with 5769 additions and 6939 deletions

View File

@@ -314,7 +314,7 @@ $config{sdirs} = [
"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"
"gmapi", "skf", "sdf", "saf", "sof"
];
# Known TLS and DTLS protocols
@@ -417,7 +417,6 @@ my @disablables = (
"ecies",
"ffx",
"sm2",
"ecrs",
"paillier",
"cpk",
"otp",

View File

@@ -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"},

View File

@@ -1,2 +0,0 @@
LIBS=../../libcrypto
SOURCE[../../libcrypto]=ecrs_err.c ecrs_asn1.c ecrs_lib.c

View File

@@ -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 <openssl/asn1.h>
#include <openssl/asn1t.h>
#include <openssl/ecrs.h>
#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;
}

View File

@@ -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 <stdio.h>
#include <openssl/err.h>
#include <openssl/ecrs.h>
/* 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;
}

View File

@@ -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 <openssl/bn.h>
#include <openssl/stack.h>
struct ECRS_SIG_st {
BIGNUM *s;
STACK_OF(BIGNUM) *c;
};

View File

@@ -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 <openssl/err.h>
#include <openssl/ecrs.h>
#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;
}

View File

@@ -74,7 +74,6 @@ static ERR_STRING_DATA ERR_str_libraries[] = {
{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},
};
@@ -134,7 +133,6 @@ static ERR_STRING_DATA ERR_str_reasons[] = {
{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"},

View File

@@ -108,9 +108,6 @@
#ifndef OPENSSL_NO_BASE58
# include <openssl/base58.h>
#endif
#ifndef OPENSSL_NO_ECRS
# include <openssl/ecrs.h>
#endif
int err_load_crypto_strings_int(void)
@@ -221,9 +218,6 @@ int err_load_crypto_strings_int(void)
# 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;

View File

@@ -50,7 +50,6 @@ 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

View File

@@ -1,71 +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.
*/
#include <string.h>
#include <openssl/ec.h>
#include <openssl/err.h>
#include <openssl/asn1.h>
#include <openssl/asn1t.h>
#include <openssl/objects.h>
#include <openssl/obj_mac.h>
#include <openssl/ecschnorr.h>
#include "ecschnorr_lcl.h"
ASN1_SEQUENCE(ECSCHNORR_SIG) = {
ASN1_SIMPLE(ECSCHNORR_SIG, R, ASN1_OCTET_STRING),
ASN1_SIMPLE(ECSCHNORR_SIG, s, BIGNUM),
} ASN1_SEQUENCE_END(ECSCHNORR_SIG)
IMPLEMENT_ASN1_FUNCTIONS(ECSCHNORR_SIG)
IMPLEMENT_ASN1_DUP_FUNCTION(ECSCHNORR_SIG)
int ECSCHNORR_size(const EC_KEY *ec_key)
{
return 0;
}

View File

@@ -1,53 +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.
*/
struct ECSCHNORR_SIG_st {
ASN1_OCTET_STRING *R; /* R = [k]G */
BIGNUM *s; /* s = k + e * x, e = H(R || P || M) */
};

View File

@@ -1,77 +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 <openssl/ecschnorr.h>
#include "ecschnorr_lcl.h"
ECSCHNORR_SIG *ECSCHNORR_do_sign(const EVP_MD *md,
const unsigned char *dgst, int dgst_len, EC_KEY *ec_key)
{
return NULL;
}
int ECSCHNORR_do_verify(const EVP_MD *md,
const unsigned char *dgst, int dgstlen,
const ECSCHNORR_SIG *sig, EC_KEY *ec_key)
{
return -1;
}
int ECSCHNORR_sign(int type, const unsigned char *dgst, int dgstlen,
unsigned char *sig, unsigned int *siglen, EC_KEY *eckey)
{
return 0;
}
int ECSCHNORR_verify(int type, const unsigned char *dgst, int dgstlen,
const unsigned char *sig, int siglen, EC_KEY *ec_key)
{
return -1;
}

View File

@@ -46,6 +46,10 @@
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
/* This implementation is a very straitforward implementaton of the SM3
* specification without any optimization tricks. It is also designed
* as a standalone module that can be ported.
*/
#include <string.h>
#include <openssl/sm3.h>
@@ -53,6 +57,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 +66,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 +121,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 +143,48 @@ 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);
}
@@ -212,3 +210,18 @@ void sm3(const unsigned char *msg, size_t msglen,
memset(&ctx, 0, sizeof(sm3_ctx_t));
}
#define DATA_ORDER_IS_BIG_ENDIAN
#define HASH_LONG SM3_LONG
#define HASH_CTX SM3_CTX
#define HASH_CBLOCK SM3_CBLOCK

View File

@@ -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));
}

View File

@@ -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 <openssl/ecrs.h>
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<EVP_DigestInit(3)> 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<n>
bytes at B<d> and places it in B<md> (which must have space for
SHA_DIGEST_LENGTH == 20 bytes of output). If B<md> is NULL, the digest
is placed in a static array. Note: setting B<md> to NULL is B<not thread safe>.
The following functions may be used if the message is not completely
stored in memory:
sm3_nit() initializes a B<sm3_ctx_t> structure.
sm3_update() can be called repeatedly with chunks of the message to
be hashed (B<len> bytes at B<data>).
sm3_final() places the message digest in B<md>, which must have space
for SM3_DIGEST_LENGTH == 32 bytes of output, and erases the B<sm3_ctx_t>.
=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<EVP_DigestInit(3)>
=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<http://gmssl.org/license.html>.
=cut

View File

@@ -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
}

View File

@@ -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 <openssl/opensslconf.h>
#ifndef OPENSSL_NO_ECRS
#include <openssl/ec.h>
#include <openssl/evp.h>
#include <openssl/asn1.h>
#include <openssl/asn1t.h>
#include <openssl/stack.h>
#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

View File

@@ -1,82 +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.
* ====================================================================
*/
#ifndef HEADER_ECSCHNORR_H
#define HEADER_ECSCHNORR_H
#include <openssl/opensslconf.h>
#ifndef OPENSSL_NO_ECSCHNORR
#include <openssl/ec.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct ECSCHNORR_SIG_st ECSCHNORR_SIG;
DECLARE_ASN1_FUNCTIONS(ECSCHNORR_SIG)
/* return the maximum ec schnorr signature size */
int ECSCHNORR_size(const EC_KEY *ec_key);
ECSCHNORR_SIG *ECSCHNORR_do_sign(const EVP_MD *md,
const unsigned char *dgst, int dgst_len, EC_KEY *ec_key);
int ECSCHNORR_do_verify(const EVP_MD *md,
const unsigned char *dgst, int dgstlen,
const ECSCHNORR_SIG *sig, EC_KEY *ec_key);
int ECSCHNORR_sign(int type, const unsigned char *dgst, int dgstlen,
unsigned char *sig, unsigned int *siglen, EC_KEY *eckey);
int ECSCHNORR_verify(int type, const unsigned char *dgst, int dgstlen,
const unsigned char *sig, int siglen, EC_KEY *ec_key);
/* BEGIN ERROR CODES */

View File

@@ -108,7 +108,6 @@ typedef struct err_state_st {
# 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
@@ -162,7 +161,6 @@ typedef struct err_state_st {
# 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) | \
@@ -225,7 +223,6 @@ typedef struct err_state_st {
# 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

View File

@@ -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)
{

View File

@@ -21,7 +21,7 @@ IF[{- !$disabled{tests} -}]
pailliertest cpktest otptest gmapitest ec2test \
bfibetest bb1ibetest sm9test \
saftest sdftest skftest softest zuctest \
serpenttest specktest base58test ecrstest
serpenttest specktest base58test
SOURCE[aborttest]=aborttest.c
INCLUDE[aborttest]=../include

View File

@@ -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 <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "../e_os.h"
#ifdef OPENSSL_NO_ECRS
int main(int argc, char **argv)
{
printf("No ECRS support\n");
return 0;
}
#else
# include <openssl/evp.h>
# include <openssl/err.h>
# include <openssl/ecrs.h>
# include <openssl/objects.h>
# 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

View File

@@ -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");

File diff suppressed because it is too large Load Diff

View File

@@ -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:
SSL_CTX_sess_set_new_cb 1 1_1_0d EXIST::FUNCTION:
SSL_SESSION_new 2 1_1_0d EXIST::FUNCTION:
SSL_clear 3 1_1_0d EXIST::FUNCTION:
TLSv1_2_server_method 4 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_clear_options 5 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_ctlog_store 6 1_1_0d EXIST::FUNCTION:CT
SSL_client_version 7 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ex_data 8 1_1_0d EXIST::FUNCTION:
SSL_set_fd 9 1_1_0d EXIST::FUNCTION:SOCK
SSL_CTX_set_client_cert_engine 10 1_1_0d EXIST::FUNCTION:ENGINE
SSLv3_client_method 11 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSL_dane_set_flags 12 1_1_0d EXIST::FUNCTION:
SSL_write 13 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_strength 14 1_1_0d EXIST::FUNCTION:SRP
BIO_ssl_shutdown 15 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_cipher 16 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_security_callback 17 1_1_0d EXIST::FUNCTION:
SSL_get_verify_depth 18 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_ASN1 19 1_1_0d EXIST::FUNCTION:
SSL_use_PrivateKey_ASN1 20 1_1_0d EXIST::FUNCTION:
SSL_set_connect_state 21 1_1_0d EXIST::FUNCTION:
SSL_get_info_callback 22 1_1_0d EXIST::FUNCTION:
DTLSv1_2_server_method 23 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_CONF_cmd_value_type 24 1_1_0d EXIST::FUNCTION:
SSL_set_wfd 25 1_1_0d EXIST::FUNCTION:SOCK
SSL_use_PrivateKey_file 26 1_1_0d EXIST::FUNCTION:
SSL_get_changed_async_fds 27 1_1_0d EXIST::FUNCTION:
SSL_CTX_add_client_custom_ext 28 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_clear_flags 29 1_1_0d EXIST::FUNCTION:
SSL_get_finished 30 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey 31 1_1_0d EXIST::FUNCTION:
SSL_dane_tlsa_add 32 1_1_0d EXIST::FUNCTION:
SSL_get_rfd 33 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_username 34 1_1_0d EXIST::FUNCTION:SRP
SSL_add_ssl_module 35 1_1_0d EXIST::FUNCTION:
SSL_get_psk_identity 36 1_1_0d EXIST::FUNCTION:PSK
SSL_CTX_set_timeout 37 1_1_0d EXIST::FUNCTION:
SSL_srp_server_param_with_username 38 1_1_0d EXIST::FUNCTION:SRP
PEM_write_SSL_SESSION 39 1_1_0d EXIST::FUNCTION:STDIO
SSL_config 40 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_info_callback 41 1_1_0d EXIST::FUNCTION:
SSL_select_next_proto 42 1_1_0d EXIST::FUNCTION:
SSL_SESSION_free 43 1_1_0d EXIST::FUNCTION:
TLS_client_method 44 1_1_0d EXIST::FUNCTION:
SSL_get_fd 45 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate_ASN1 46 1_1_0d EXIST::FUNCTION:
SSL_get_shared_sigalgs 47 1_1_0d EXIST::FUNCTION:
SSL_set0_wbio 48 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_compression_methods 49 1_1_0d EXIST::FUNCTION:
SSL_add1_host 50 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_kx_nid 51 1_1_0d EXIST::FUNCTION:
SSL_set_default_read_buffer_len 52 1_1_0d EXIST::FUNCTION:
SSL_CTX_up_ref 53 1_1_0d EXIST::FUNCTION:
SSL_rstate_string_long 54 1_1_0d EXIST::FUNCTION:
SSL_get_sigalgs 55 1_1_0d EXIST::FUNCTION:
SSL_use_psk_identity_hint 56 1_1_0d EXIST::FUNCTION:PSK
SSL_get_current_cipher 57 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_verify_depth 58 1_1_0d EXIST::FUNCTION:
OPENSSL_init_ssl 59 1_1_0d EXIST::FUNCTION:
SSL_get_client_CA_list 60 1_1_0d EXIST::FUNCTION:
SSL_get_privatekey 61 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_name 62 1_1_0d EXIST::FUNCTION:
DTLSv1_server_method 63 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_set_security_callback 64 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_read_buffer_len 65 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_options 66 1_1_0d EXIST::FUNCTION:
SSLv3_server_method 67 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSL_set_read_ahead 68 1_1_0d EXIST::FUNCTION:
SSL_CONF_cmd_argv 69 1_1_0d EXIST::FUNCTION:
SSL_get_wfd 70 1_1_0d EXIST::FUNCTION:
SSL_CTX_clear_options 71 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_new_cb 72 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ctlog_list_file 73 1_1_0d EXIST::FUNCTION:CT
SSL_renegotiate 74 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_options 75 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_cipher_nid 76 1_1_0d EXIST::FUNCTION:
SSL_set_hostflags 77 1_1_0d EXIST::FUNCTION:
SSL_set_psk_client_callback 78 1_1_0d EXIST::FUNCTION:PSK
SSL_has_matching_session_id 79 1_1_0d EXIST::FUNCTION:
DTLSv1_client_method 80 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_CONF_CTX_free 81 1_1_0d EXIST::FUNCTION:
SSL_get_quiet_shutdown 82 1_1_0d EXIST::FUNCTION:
SSL_get0_dane 83 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_verify_paths 84 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_verify_param_callback 85 1_1_0d EXIST::FUNCTION:SRP
SSL_get0_peername 86 1_1_0d EXIST::FUNCTION:
SSL_alert_desc_string 87 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_enable 88 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_ctlog_list_file 89 1_1_0d EXIST::FUNCTION:CT
TLS_server_method 90 1_1_0d EXIST::FUNCTION:
SSL_get_psk_identity_hint 91 1_1_0d EXIST::FUNCTION:PSK
SSL_CTX_get_client_cert_cb 92 1_1_0d EXIST::FUNCTION:
SSL_get0_dane_authority 93 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_not_resumable_session_callback 94 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_username_callback 95 1_1_0d EXIST::FUNCTION:SRP
SSL_use_RSAPrivateKey_file 96 1_1_0d EXIST::FUNCTION:RSA
SSL_do_handshake 97 1_1_0d EXIST::FUNCTION:
SSL_dane_enable 98 1_1_0d EXIST::FUNCTION:
SSL_CTX_config 99 1_1_0d EXIST::FUNCTION:
d2i_SSL_SESSION 100 1_1_0d EXIST::FUNCTION:
SSL_set_options 101 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_security_level 102 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_callback 103 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_finish 104 1_1_0d EXIST::FUNCTION:
TLSv1_2_client_method 105 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SRP_Calc_A_param 106 1_1_0d EXIST::FUNCTION:SRP
BIO_new_buffer_ssl_connect 107 1_1_0d EXIST::FUNCTION:
SSL_connect 108 1_1_0d EXIST::FUNCTION:
SSL_dup_CA_list 109 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_info_callback 110 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_timeout 111 1_1_0d EXIST::FUNCTION:
SSL_CTX_set0_ctlog_store 112 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_enable_ct 113 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_use_serverinfo 114 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_chain_file 115 1_1_0d EXIST::FUNCTION:
SSL_trace 116 1_1_0d EXIST::FUNCTION:SSL_TRACE
SSL_set_verify 117 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate_file 118 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_name 119 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_certificate 120 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_version 121 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cipher_list 122 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_description 123 1_1_0d EXIST::FUNCTION:
SSL_CTX_SRP_CTX_free 124 1_1_0d EXIST::FUNCTION:SRP
SSL_get_server_random 125 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_auth_nid 126 1_1_0d EXIST::FUNCTION:
SSL_get0_param 127 1_1_0d EXIST::FUNCTION:
SSL_set_default_passwd_cb 128 1_1_0d EXIST::FUNCTION:
SSL_in_init 129 1_1_0d EXIST::FUNCTION:
SSL_set_session_id_context 130 1_1_0d EXIST::FUNCTION:
GMTLS_method 131 1_1_0d EXIST::FUNCTION:GMTLS
i2d_SSL_SESSION 132 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_next_protos_advertised_cb 133 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_get_ssl_method 134 1_1_0d EXIST::FUNCTION:
SSL_copy_session_id 135 1_1_0d EXIST::FUNCTION:
SSL_set_security_level 136 1_1_0d EXIST::FUNCTION:
SSL_set_verify_depth 137 1_1_0d EXIST::FUNCTION:
SSL_set_SSL_CTX 138 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_password 139 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_tlsext_use_srtp 140 1_1_0d EXIST::FUNCTION:SRTP
SSL_CIPHER_standard_name 141 1_1_0d EXIST::FUNCTION:SSL_TRACE
SSL_CTX_callback_ctrl 142 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_client_CA_list 143 1_1_0d EXIST::FUNCTION:
SSL_set_cert_cb 144 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_alpn_select_cb 145 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_generate_session_id 146 1_1_0d EXIST::FUNCTION:
SSL_set_srp_server_param_pw 147 1_1_0d EXIST::FUNCTION:SRP
SSL_add_file_cert_subjects_to_stack 148 1_1_0d EXIST::FUNCTION:
SSL_rstate_string 149 1_1_0d EXIST::FUNCTION:
GMTLS_client_method 150 1_1_0d EXIST::FUNCTION:GMTLS
SSL_CTX_add_server_custom_ext 151 1_1_0d EXIST::FUNCTION:
SSL_set_generate_session_id 152 1_1_0d EXIST::FUNCTION:
SSL_get0_security_ex_data 153 1_1_0d EXIST::FUNCTION:
TLSv1_client_method 154 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
TLSv1_server_method 155 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_get_srp_username 156 1_1_0d EXIST::FUNCTION:SRP
SSL_in_before 157 1_1_0d EXIST::FUNCTION:
TLSv1_1_server_method 158 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_CTX_set_cert_cb 159 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_cert_store 160 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set_flags 161 1_1_0d EXIST::FUNCTION:
SSL_get_ex_data_X509_STORE_CTX_idx 162 1_1_0d EXIST::FUNCTION:
DTLS_client_method 163 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_RSAPrivateKey 164 1_1_0d EXIST::FUNCTION:RSA
SSL_SESSION_get_protocol_version 165 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_trust 166 1_1_0d EXIST::FUNCTION:
SSL_want 167 1_1_0d EXIST::FUNCTION:
SSL_CTX_add_session 168 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print 169 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_security_ex_data 170 1_1_0d EXIST::FUNCTION:
ERR_load_SSL_strings 171 1_1_0d EXIST::FUNCTION:
SSL_set_trust 172 1_1_0d EXIST::FUNCTION:
SSL_alert_desc_string_long 173 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_find 174 1_1_0d EXIST::FUNCTION:
DTLSv1_2_client_method 175 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_SESSION_set_time 176 1_1_0d EXIST::FUNCTION:
SSL_get_SSL_CTX 177 1_1_0d EXIST::FUNCTION:
SSL_get_version 178 1_1_0d EXIST::FUNCTION:
SSL_get_current_compression 179 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print_fp 180 1_1_0d EXIST::FUNCTION:STDIO
SSL_CTX_set_client_cert_cb 181 1_1_0d EXIST::FUNCTION:
SSL_get0_peer_scts 182 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_get_ciphers 183 1_1_0d EXIST::FUNCTION:
SSL_CTX_free 184 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_psk_client_callback 185 1_1_0d EXIST::FUNCTION:PSK
SSL_SESSION_get_compress_id 186 1_1_0d EXIST::FUNCTION:
SSL_callback_ctrl 187 1_1_0d EXIST::FUNCTION:
SSL_set_tlsext_use_srtp 188 1_1_0d EXIST::FUNCTION:SRTP
SSL_CONF_CTX_set_ssl 189 1_1_0d EXIST::FUNCTION:
SSL_alert_type_string_long 190 1_1_0d EXIST::FUNCTION:
SSL_set_quiet_shutdown 191 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_ex_data 192 1_1_0d EXIST::FUNCTION:
SSL_version 193 1_1_0d EXIST::FUNCTION:
SSL_state_string 194 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set_timeout 195 1_1_0d EXIST::FUNCTION:
SSL_has_pending 196 1_1_0d EXIST::FUNCTION:
SSL_use_certificate 197 1_1_0d EXIST::FUNCTION:
SSL_set_cipher_list 198 1_1_0d EXIST::FUNCTION:
SSL_set_session_secret_cb 199 1_1_0d EXIST::FUNCTION:
DTLSv1_2_method 200 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_ctrl 201 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_clear_flags 202 1_1_0d EXIST::FUNCTION:
PEM_read_SSL_SESSION 203 1_1_0d EXIST::FUNCTION:STDIO
SSL_get_verify_result 204 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_passwd_cb_userdata 205 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_client_pwd_callback 206 1_1_0d EXIST::FUNCTION:SRP
SSL_shutdown 207 1_1_0d EXIST::FUNCTION:
SSL_CTX_add_client_CA 208 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_privatekey 209 1_1_0d EXIST::FUNCTION:
SSL_set_not_resumable_session_callback 210 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_file 211 1_1_0d EXIST::FUNCTION:
SSL_get_peer_certificate 212 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_ticket 213 1_1_0d EXIST::FUNCTION:
SSL_alert_type_string 214 1_1_0d EXIST::FUNCTION:
SSL_get_srtp_profiles 215 1_1_0d EXIST::FUNCTION:SRTP
SSL_set1_param 216 1_1_0d EXIST::FUNCTION:
SSL_get_shared_ciphers 217 1_1_0d EXIST::FUNCTION:
SSL_set_info_callback 218 1_1_0d EXIST::FUNCTION:
SSL_waiting_for_async 219 1_1_0d EXIST::FUNCTION:
SSL_dane_clear_flags 220 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_security_callback 221 1_1_0d EXIST::FUNCTION:
SSL_check_chain 222 1_1_0d EXIST::FUNCTION:
GMTLS_server_method 223 1_1_0d EXIST::FUNCTION:GMTLS
BIO_new_ssl_connect 224 1_1_0d EXIST::FUNCTION:
SSL_CTX_flush_sessions 225 1_1_0d EXIST::FUNCTION:
SSL_pending 226 1_1_0d EXIST::FUNCTION:
SSL_is_server 227 1_1_0d EXIST::FUNCTION:
SSL_set_msg_callback 228 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cookie_generate_cb 229 1_1_0d EXIST::FUNCTION:
SSL_set_psk_server_callback 230 1_1_0d EXIST::FUNCTION:PSK
SSL_get_error 231 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate_chain_file 232 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_new 233 1_1_0d EXIST::FUNCTION:
SSL_set_ct_validation_callback 234 1_1_0d EXIST::FUNCTION:CT
SSL_SESSION_set1_id 235 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_verify_dir 236 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_ticket_lifetime_hint 237 1_1_0d EXIST::FUNCTION:
SSL_COMP_add_compression_method 238 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_purpose 239 1_1_0d EXIST::FUNCTION:
BIO_new_ssl 240 1_1_0d EXIST::FUNCTION:
SSL_set_accept_state 241 1_1_0d EXIST::FUNCTION:
SSL_get_wbio 242 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_cb_arg 243 1_1_0d EXIST::FUNCTION:SRP
SSL_SESSION_up_ref 244 1_1_0d EXIST::FUNCTION:
SSL_CTX_SRP_CTX_init 245 1_1_0d EXIST::FUNCTION:SRP
SSL_get_client_ciphers 246 1_1_0d EXIST::FUNCTION:
SSL_set_default_passwd_cb_userdata 247 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_default_passwd_cb_userdata 248 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_set_get_cb 249 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_peer 250 1_1_0d EXIST::FUNCTION:
SSL_free 251 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_verify 252 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print_keylog 253 1_1_0d EXIST::FUNCTION:
SSL_is_dtls 254 1_1_0d EXIST::FUNCTION:
SSL_set_verify_result 255 1_1_0d EXIST::FUNCTION:
SSL_SRP_CTX_free 256 1_1_0d EXIST::FUNCTION:SRP
SSL_get_peer_cert_chain 257 1_1_0d EXIST::FUNCTION:
TLSv1_method 258 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_get_rbio 259 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_mtype_set 260 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cert_verify_callback 261 1_1_0d EXIST::FUNCTION:
SSL_SRP_CTX_init 262 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_load_verify_locations 263 1_1_0d EXIST::FUNCTION:
SSL_set_session_ticket_ext_cb 264 1_1_0d EXIST::FUNCTION:
SSL_set_shutdown 265 1_1_0d EXIST::FUNCTION:
SSL_state_string_long 266 1_1_0d EXIST::FUNCTION:
SSLv3_method 267 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSL_CTX_use_RSAPrivateKey_file 268 1_1_0d EXIST::FUNCTION:RSA
SSL_CTX_ctrl 269 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_quiet_shutdown 270 1_1_0d EXIST::FUNCTION:
SSL_get_default_timeout 271 1_1_0d EXIST::FUNCTION:
TLSv1_1_client_method 272 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_get_verify_callback 273 1_1_0d EXIST::FUNCTION:
SSL_CONF_cmd 274 1_1_0d EXIST::FUNCTION:
BIO_ssl_copy_session_id 275 1_1_0d EXIST::FUNCTION:
SSL_CTX_set1_param 276 1_1_0d EXIST::FUNCTION:
SSL_set_rfd 277 1_1_0d EXIST::FUNCTION:SOCK
SSL_get_srp_g 278 1_1_0d EXIST::FUNCTION:SRP
SSL_COMP_get_id 279 1_1_0d EXIST::FUNCTION:
SSL_CTX_has_client_custom_ext 280 1_1_0d EXIST::FUNCTION:
SSL_set0_security_ex_data 281 1_1_0d EXIST::FUNCTION:
SSL_check_private_key 282 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_master_key 283 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_id_context 284 1_1_0d EXIST::FUNCTION:
SSL_get_ex_data 285 1_1_0d EXIST::FUNCTION:
SSL_CTX_remove_session 286 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_serverinfo_file 287 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_quiet_shutdown 288 1_1_0d EXIST::FUNCTION:
SSL_export_keying_material 289 1_1_0d EXIST::FUNCTION:
SSL_get_ciphers 290 1_1_0d EXIST::FUNCTION:
SSL_dup 291 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey_ASN1 292 1_1_0d EXIST::FUNCTION:
SSL_renegotiate_abbreviated 293 1_1_0d EXIST::FUNCTION:
SSL_get_verify_mode 294 1_1_0d EXIST::FUNCTION:
SSL_set0_rbio 295 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_ex_data 296 1_1_0d EXIST::FUNCTION:
SSL_peek 297 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_psk_server_callback 298 1_1_0d EXIST::FUNCTION:PSK
SSL_extension_supported 299 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_param 300 1_1_0d EXIST::FUNCTION:
SSL_set_bio 301 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set1_id_context 302 1_1_0d EXIST::FUNCTION:
SSL_CTX_sessions 303 1_1_0d EXIST::FUNCTION:
SSL_get1_session 304 1_1_0d EXIST::FUNCTION:
SSL_get_servername_type 305 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_hostname 306 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_ssl_method 307 1_1_0d EXIST::FUNCTION:
SSL_add_client_CA 308 1_1_0d EXIST::FUNCTION:
SSL_get_srp_N 309 1_1_0d EXIST::FUNCTION:SRP
SSL_SESSION_set_ex_data 310 1_1_0d EXIST::FUNCTION:
SSL_get_all_async_fds 311 1_1_0d EXIST::FUNCTION:
SSL_get_certificate 312 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set1_prefix 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_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:
SSL_add_dir_cert_subjects_to_stack 315 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_time 316 1_1_0d EXIST::FUNCTION:
TLSv1_1_method 317 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_set_session_ticket_ext 318 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_depth 319 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_get_cb 320 1_1_0d EXIST::FUNCTION:
SSL_set_ssl_method 321 1_1_0d EXIST::FUNCTION:
SSL_get_security_level 322 1_1_0d EXIST::FUNCTION:
SSL_get_default_passwd_cb_userdata 323 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate 324 1_1_0d EXIST::FUNCTION:
SSL_enable_ct 325 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_sess_set_remove_cb 326 1_1_0d EXIST::FUNCTION:
SSL_get_srp_userinfo 327 1_1_0d EXIST::FUNCTION:SRP
PEM_read_bio_SSL_SESSION 328 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_is_aead 329 1_1_0d EXIST::FUNCTION:
SSL_get_state 330 1_1_0d EXIST::FUNCTION:
SSL_COMP_get0_name 331 1_1_0d EXIST::FUNCTION:
SSL_get_read_ahead 332 1_1_0d EXIST::FUNCTION:
BIO_f_ssl 333 1_1_0d EXIST::FUNCTION:
SSL_CTX_set0_security_ex_data 334 1_1_0d EXIST::FUNCTION:
TLSv1_2_method 335 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_get_shutdown 336 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_id 337 1_1_0d EXIST::FUNCTION:
SSL_get_options 338 1_1_0d EXIST::FUNCTION:
SSL_get_servername 339 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_default_passwd_cb 340 1_1_0d EXIST::FUNCTION:
DTLS_server_method 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_SESSION_get_timeout 343 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_session_id_context 344 1_1_0d EXIST::FUNCTION:
SSL_get_client_random 345 1_1_0d EXIST::FUNCTION:
SSL_new 346 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ct_validation_callback 347 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_set_alpn_protos 348 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_mode 349 1_1_0d EXIST::FUNCTION:
SSL_CTX_check_private_key 350 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_msg_callback 351 1_1_0d EXIST::FUNCTION:
SSL_CTX_ct_is_enabled 352 1_1_0d EXIST::FUNCTION:CT
SSL_get_current_expansion 353 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cert_store 354 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_id 355 1_1_0d EXIST::FUNCTION:
SSL_get0_next_proto_negotiated 356 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_is_gmtls 357 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_tmp_dh_callback 358 1_1_0d EXIST::FUNCTION:DH
SSL_load_client_CA_file 359 1_1_0d EXIST::FUNCTION:
SSL_up_ref 360 1_1_0d EXIST::FUNCTION:
SSL_is_init_finished 361 1_1_0d EXIST::FUNCTION:
SSL_set1_host 362 1_1_0d EXIST::FUNCTION:
SSL_session_reused 363 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_security_level 364 1_1_0d EXIST::FUNCTION:
SSL_use_RSAPrivateKey_ASN1 365 1_1_0d EXIST::FUNCTION:RSA
SSL_ct_is_enabled 366 1_1_0d EXIST::FUNCTION:CT
SSL_get1_supported_ciphers 367 1_1_0d EXIST::FUNCTION:
SSL_get0_verified_chain 368 1_1_0d EXIST::FUNCTION:
SSL_get_default_passwd_cb 369 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_bits 370 1_1_0d EXIST::FUNCTION:
SSL_read 371 1_1_0d EXIST::FUNCTION:
SSL_CTX_new 372 1_1_0d EXIST::FUNCTION:
SSL_COMP_set0_compression_methods 373 1_1_0d EXIST::FUNCTION:
SSL_renegotiate_pending 374 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_client_CA_list 375 1_1_0d EXIST::FUNCTION:
SSL_use_RSAPrivateKey 376 1_1_0d EXIST::FUNCTION:RSA
SSL_CTX_set_default_verify_file 377 1_1_0d EXIST::FUNCTION:
SSL_set_session 378 1_1_0d EXIST::FUNCTION:
SSL_get_selected_srtp_profile 379 1_1_0d EXIST::FUNCTION:SRTP
SSL_get_security_callback 380 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_passwd_cb 381 1_1_0d EXIST::FUNCTION:
TLS_method 382 1_1_0d EXIST::FUNCTION:
SSL_get_cipher_list 383 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ssl_version 384 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set_ssl_ctx 385 1_1_0d EXIST::FUNCTION:
SSL_get_session 386 1_1_0d EXIST::FUNCTION:
SSL_use_PrivateKey 387 1_1_0d EXIST::FUNCTION:
SSL_SESSION_has_ticket 388 1_1_0d EXIST::FUNCTION:
SSL_get_peer_finished 389 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_set_flags 390 1_1_0d EXIST::FUNCTION:
SSL_get0_dane_tlsa 391 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_RSAPrivateKey_ASN1 392 1_1_0d EXIST::FUNCTION:RSA
SSL_CTX_set_next_proto_select_cb 393 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_certs_clear 394 1_1_0d EXIST::FUNCTION:
SSL_set_tmp_dh_callback 395 1_1_0d EXIST::FUNCTION:DH
SSL_CTX_use_psk_identity_hint 396 1_1_0d EXIST::FUNCTION:PSK
DTLSv1_listen 397 1_1_0d EXIST::FUNCTION:SOCK
SSL_set_debug 398 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0
SSL_CIPHER_get_digest_nid 399 1_1_0d EXIST::FUNCTION:
SSL_test_functions 400 1_1_0d EXIST::FUNCTION:UNIT_TEST
SSL_set_purpose 401 1_1_0d EXIST::FUNCTION:
SSL_set_srp_server_param 402 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_use_PrivateKey_file 403 1_1_0d EXIST::FUNCTION:
SSL_set_client_CA_list 404 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_remove_cb 405 1_1_0d EXIST::FUNCTION:
PEM_write_bio_SSL_SESSION 406 1_1_0d EXIST::FUNCTION:
SSL_get0_alpn_selected 407 1_1_0d EXIST::FUNCTION:
SSL_accept 408 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cookie_verify_cb 409 1_1_0d EXIST::FUNCTION:
SSL_set_alpn_protos 410 1_1_0d EXIST::FUNCTION:
SSL_set_ex_data 411 1_1_0d EXIST::FUNCTION:

View File

@@ -135,7 +135,7 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
# 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"
"GMTLS", "GMTLS_METHOD", "CA", "MACRO", "ASYNC"
);
my %disabled_algorithms;
@@ -345,7 +345,6 @@ $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";