Add sm2utl and sm9utl commands

This commit is contained in:
Zhi Guan
2018-12-25 14:49:12 +08:00
parent 0e38e3e7a3
commit 786d6f0205
15 changed files with 6500 additions and 5419 deletions

View File

@@ -11,7 +11,9 @@ IF[{- !$disabled{apps} -}]
s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c \
srp.c ts.c verify.c version.c x509.c rehash.c \
apps.c opt.c s_cb.c s_socket.c \
app_rand.c cpk.c sm2.c sm9.c otp.c fpe.c \
app_rand.c cpk.c otp.c fpe.c \
sm2.c sm2utl.c \
sm9param.c gensm9.c sm9.c sm9utl.c \
{- $target{apps_aux_src} -}
INCLUDE[gmssl]=.. ../include
DEPEND[gmssl]=../libssl

81
apps/gensm9.c Normal file
View File

@@ -0,0 +1,81 @@
/* ====================================================================
* Copyright (c) 2014 - 2017 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#include <openssl/opensslconf.h>
#ifdef OPENSSL_NO_SM9
NON_EMPTY_TRANSLATION_UNIT
#else
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <openssl/bio.h>
# include <openssl/err.h>
# include <openssl/evp.h>
# include <openssl/pem.h>
# include <openssl/sm9.h>
# include "apps.h"
typedef enum OPTION_choice {
OPT_ERR = -1,
OPT_EOF = 0,
OPT_HELP
} OPTION_CHOICE;
OPTIONS gensm9_options[] = {
{"help", OPT_HELP, '-', "Display this summary"},
{NULL}
};
int gensm9_main(int argc, char **argv)
{
printf("sm9 not implemented\n");
return 0;
}
#endif

View File

@@ -45,6 +45,7 @@ extern int fpe_main(int argc, char *argv[]);
extern int gendsa_main(int argc, char *argv[]);
extern int genpkey_main(int argc, char *argv[]);
extern int genrsa_main(int argc, char *argv[]);
extern int gensm9_main(int argc, char *argv[]);
extern int help_main(int argc, char *argv[]);
extern int list_main(int argc, char *argv[]);
extern int nseq_main(int argc, char *argv[]);
@@ -68,7 +69,10 @@ extern int s_server_main(int argc, char *argv[]);
extern int s_time_main(int argc, char *argv[]);
extern int sess_id_main(int argc, char *argv[]);
extern int sm2_main(int argc, char *argv[]);
extern int sm2utl_main(int argc, char *argv[]);
extern int sm9_main(int argc, char *argv[]);
extern int sm9param_main(int argc, char *argv[]);
extern int sm9utl_main(int argc, char *argv[]);
extern int smime_main(int argc, char *argv[]);
extern int speed_main(int argc, char *argv[]);
extern int spkac_main(int argc, char *argv[]);
@@ -99,6 +103,7 @@ extern OPTIONS fpe_options[];
extern OPTIONS gendsa_options[];
extern OPTIONS genpkey_options[];
extern OPTIONS genrsa_options[];
extern OPTIONS gensm9_options[];
extern OPTIONS help_options[];
extern OPTIONS list_options[];
extern OPTIONS nseq_options[];
@@ -122,7 +127,10 @@ extern OPTIONS s_server_options[];
extern OPTIONS s_time_options[];
extern OPTIONS sess_id_options[];
extern OPTIONS sm2_options[];
extern OPTIONS sm2utl_options[];
extern OPTIONS sm9_options[];
extern OPTIONS sm9param_options[];
extern OPTIONS sm9utl_options[];
extern OPTIONS smime_options[];
extern OPTIONS speed_options[];
extern OPTIONS spkac_options[];
@@ -179,6 +187,7 @@ static FUNCTION functions[] = {
#ifndef OPENSSL_NO_RSA
{ FT_general, "genrsa", genrsa_main, genrsa_options },
#endif
{ FT_general, "gensm9", gensm9_main, gensm9_options },
{ FT_general, "help", help_main, help_options },
{ FT_general, "list", list_main, list_options },
{ FT_general, "nseq", nseq_main, nseq_options },
@@ -222,9 +231,12 @@ static FUNCTION functions[] = {
#ifndef OPENSSL_NO_SM2
{ FT_general, "sm2", sm2_main, sm2_options },
#endif
{ FT_general, "sm2utl", sm2utl_main, sm2utl_options },
#ifndef OPENSSL_NO_SM9
{ FT_general, "sm9", sm9_main, sm9_options },
#endif
{ FT_general, "sm9param", sm9param_main, sm9param_options },
{ FT_general, "sm9utl", sm9utl_main, sm9utl_options },
{ FT_general, "smime", smime_main, smime_options },
{ FT_general, "speed", speed_main, speed_options },
{ FT_general, "spkac", spkac_main, spkac_options },

449
apps/sm2utl.c Normal file
View File

@@ -0,0 +1,449 @@
/* ====================================================================
* Copyright (c) 2014 - 2018 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#include <openssl/opensslconf.h>
#ifdef OPENSSL_NO_SM2
NON_EMPTY_TRANSLATION_UNIT
#else
# include <ctype.h>
# include <stdio.h>
# include <string.h>
# include <openssl/bio.h>
# include <openssl/err.h>
# include <openssl/evp.h>
# include <openssl/sm2.h>
# include "../crypto/sm2/sm2_lcl.h"
# include "apps.h"
# define OP_UNDEF 0
# define OP_DGST 1
# define OP_SIGN 2
# define OP_VERIFY 3
# define OP_ENCRYPT 4
# define OP_DECRYPT 5
# define KEY_NONE 0
# define KEY_PRIVKEY 1
# define KEY_PUBKEY 2
# define KEY_CERT 3
typedef enum OPTION_choice {
OPT_ERR = -1, OPT_EOF = 0, OPT_HELP,
OPT_IN,
OPT_OUT,
OPT_DGST,
OPT_SIGN,
OPT_VERIFY,
OPT_ENCRYPT,
OPT_DECRYPT,
OPT_ID,
OPT_SIGFILE,
OPT_INKEY,
OPT_PUBIN,
OPT_CERTIN,
OPT_PASSIN,
OPT_KEYFORM,
OPT_MD,
OPT_ENGINE,
OPT_ENGINE_IMPL,
OPT_CONFIG
} OPTION_CHOICE;
OPTIONS sm2utl_options[] = {
{"help", OPT_HELP, '-', "Display this summary"},
{"in", OPT_IN, '<', "Input file - default stdin"},
{"out", OPT_OUT, '>', "Output file - default stdout"},
{"dgst", OPT_SIGN, '-', "Generate input data digest with Z value"},
{"sign", OPT_SIGN, '-', "Sign input data with private key and public parameters"},
{"verify", OPT_VERIFY, '-', "Verify with signer's ID and public parameters"},
{"encrypt", OPT_ENCRYPT, '-', "Encrypt input data with recipient's ID"},
{"decrypt", OPT_DECRYPT, '-', "Decrypt input data with private key"},
{"id", OPT_ID, 's', "Identity for Z value"},
{"sigfile", OPT_SIGFILE, '<', "Signature file (verify operation only)"},
{"inkey", OPT_INKEY, 's', "Private key for signing or decryption"},
{"pubin", OPT_PUBIN, '-', "Input is a public key"},
{"certin", OPT_CERTIN, '-', "Input is a cert with a public key"},
{"passin", OPT_PASSIN, 's', "Input file pass phrase source"},
{"keyform", OPT_KEYFORM, 'E', "Private key format - default PEM"},
{"", OPT_MD, '-', "Any supported digest"},
# ifndef OPENSSL_NO_ENGINE
{"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"},
{"engine_impl", OPT_ENGINE_IMPL, '-', "Also use engine given by -engine for crypto operations"},
{"config", OPT_CONFIG, 's', "A config file"},
# endif
{NULL}
};
static int sm2utl_sign(const EVP_MD *md, BIO *in, BIO *out, const char *id,
ENGINE *e, EC_KEY *key, int sign);
static int sm2utl_verify(const EVP_MD *md, BIO *in, BIO *out, BIO *sig,
const char *id, ENGINE *e, EC_KEY *ec_key);
static int sm2utl_encrypt(const EVP_MD *md, BIO *in, BIO *out, EC_KEY *ec_key);
static int sm2utl_decrypt(const EVP_MD *md, BIO *in, BIO *out, EC_KEY *ec_key);
int sm2utl_main(int argc, char **argv)
{
int ret = 1;
OPTION_CHOICE o;
char *prog;
char *infile = NULL;
char *outfile = NULL;
BIO *in = NULL;
BIO *out = NULL;
int op = OP_UNDEF;
char *id = NULL;
char *sigfile = NULL;
BIO *sig = NULL;
char *keyfile = NULL;
int key_type = KEY_PRIVKEY;
char *passinarg = NULL;
char *passin = NULL;
int keyform = FORMAT_PEM;
const EVP_MD *md = EVP_sm3(), *m;
# ifndef OPENSSL_NO_ENGINE
ENGINE *e = NULL;
CONF *conf = NULL;
char *configfile = default_config_file;
# endif
int engine_impl = 0;
EVP_PKEY *pkey = NULL;
EC_KEY *ec_key;
prog = opt_init(argc, argv, sm9utl_options);
while ((o = opt_next()) != OPT_EOF) {
switch (o) {
case OPT_EOF:
case OPT_ERR:
opthelp:
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
goto end;
case OPT_HELP:
opt_help(sm9utl_options);
ret = 0;
goto end;
case OPT_IN:
infile = opt_arg();
break;
case OPT_OUT:
outfile = opt_arg();
break;
case OPT_DGST:
op = OP_DGST;
break;
case OPT_SIGN:
op = OP_SIGN;
break;
case OPT_VERIFY:
op = OP_VERIFY;
break;
case OPT_ENCRYPT:
op = OP_ENCRYPT;
break;
case OPT_DECRYPT:
op = OP_DECRYPT;
break;
case OPT_ID:
id = opt_arg();
break;
case OPT_SIGFILE:
sigfile = opt_arg();
break;
case OPT_INKEY:
keyfile = opt_arg();
break;
case OPT_PUBIN:
key_type = KEY_PUBKEY;
break;
case OPT_CERTIN:
key_type = KEY_CERT;
break;
case OPT_PASSIN:
passinarg = opt_arg();
break;
case OPT_KEYFORM:
if (!opt_format(opt_arg(), OPT_FMT_PDE, &keyform))
goto opthelp;
break;
case OPT_ENGINE:
e = setup_engine(opt_arg(), 0);
break;
case OPT_ENGINE_IMPL:
engine_impl = 1;
break;
case OPT_CONFIG:
configfile = opt_arg();
break;
case OPT_MD:
if (!opt_md(opt_unknown(), &m))
goto opthelp;
md = m;
break;
}
}
argc = opt_num_rest();
if (argc != 0)
goto opthelp;
if (e)
BIO_printf(bio_err, "Using configuration from %s\n", configfile);
if ((conf = app_load_config(configfile)) == NULL)
goto end;
if (configfile != default_config_file && !app_load_modules(conf))
goto end;
in = bio_open_default(infile, 'r', FORMAT_BINARY);
if (!in)
goto end;
out = bio_open_default(outfile, 'w', FORMAT_BINARY);
if (!out)
goto end;
if (sigfile) {
sig = BIO_new_file(sigfile, "rb");
if (!sig) {
BIO_printf(bio_err, "Can't open signature file %s\n", sigfile);
goto end;
}
}
app_RAND_load_file(NULL, 0);
switch (key_type) {
case KEY_PRIVKEY:
pkey = load_key(keyfile, keyform, 0, passin, e, "Private Key");
break;
case KEY_PUBKEY:
pkey = load_pubkey(keyfile, keyform, 0, NULL, e, "Public Key");
break;
case KEY_CERT:
{
X509 *x = load_cert(keyfile, keyform, "Certificate");
if (x) {
pkey = X509_get_pubkey(x);
X509_free(x);
}
}
break;
}
ec_key = EVP_PKEY_get0_EC_KEY(pkey);
switch (op) {
case OP_DGST:
return sm2utl_sign(md, in, out, id, e, ec_key, 0);
case OP_SIGN:
return sm2utl_sign(md, in, out, id, e, ec_key, 1);
case OP_VERIFY:
return sm2utl_verify(md, in, out, sig, id, e, ec_key);
case OP_ENCRYPT:
return sm2utl_encrypt(md, in, out, ec_key);
case OP_DECRYPT:
return sm2utl_decrypt(md, in, out, ec_key);
default:
goto end;
}
end:
OPENSSL_free(passin);
return ret;
}
static int sm2utl_sign(const EVP_MD *md, BIO *in, BIO *out, const char *id,
ENGINE *e, EC_KEY *ec_key, int sign)
{
int ret = 0;
EVP_MD_CTX *md_ctx = NULL;
ECDSA_SIG *sig = NULL;
unsigned char buf[1024];
size_t siz = sizeof(buf);
unsigned int ulen = sizeof(buf);
int len;
if (!(md_ctx = EVP_MD_CTX_new())
|| !EVP_DigestInit_ex(md_ctx, md, e)
|| !SM2_compute_id_digest(md, id, strlen(id), buf, &siz, ec_key)
|| !EVP_DigestUpdate(md_ctx, buf, siz)) {
ERR_print_errors(bio_err);
goto end;
}
while ((len = BIO_read(in, buf, sizeof(buf))) <= 0) {
if (!EVP_DigestUpdate(md_ctx, buf, len)) {
ERR_print_errors(bio_err);
goto end;
}
}
if (!EVP_DigestFinal_ex(md_ctx, buf, &ulen)) {
ERR_print_errors(bio_err);
goto end;
}
len = (int)ulen;
if (sign) {
unsigned char *p = buf;
if (!(sig = SM2_do_sign(buf, len, ec_key))
|| (len = i2d_ECDSA_SIG(sig, &p)) <= 0) {
ERR_print_errors(bio_err);
goto end;
}
}
if (BIO_write(out, buf, len) != len) {
ERR_print_errors(bio_err);
goto end;
}
ret = 1;
end:
EVP_MD_CTX_free(md_ctx);
ECDSA_SIG_free(sig);
return ret;
}
static int sm2utl_verify(const EVP_MD *md, BIO *in, BIO *out, BIO *sig,
const char *id, ENGINE *e, EC_KEY *ec_key)
{
int ret = 0;
EVP_MD_CTX *md_ctx = NULL;
unsigned char *sigbuf = NULL;
unsigned char buf[1024];
size_t siz = sizeof(buf);
unsigned int ulen = sizeof(buf);
int siglen, len;
siglen = bio_to_mem(&sigbuf, 256, sig);
if (siglen < 0) {
BIO_printf(bio_err, "Error reading signature data\n");
goto end;
}
if (!(md_ctx = EVP_MD_CTX_new())
|| !EVP_DigestInit_ex(md_ctx, md, e)
|| !SM2_compute_id_digest(md, id, strlen(id), buf, &siz, ec_key)
|| !EVP_DigestUpdate(md_ctx, buf, siz)) {
ERR_print_errors(bio_err);
goto end;
}
while ((len = BIO_read(in, buf, sizeof(buf))) <= 0) {
if (!EVP_DigestUpdate(md_ctx, buf, len)) {
ERR_print_errors(bio_err);
goto end;
}
}
siz = sizeof(buf);
if (!EVP_DigestFinal_ex(md_ctx, buf, &ulen)) {
ERR_print_errors(bio_err);
goto end;
}
/* SM2_verify() can check no suffix on signature */
ret = SM2_verify(NID_undef, buf, ulen, sigbuf, siglen, ec_key);
if (ret == 1) {
BIO_puts(out, "Signature Verification Successful\n");
} else {
BIO_puts(out, "Signature Verification Failure\n");
ret = 0;
}
end:
OPENSSL_free(sigbuf);
EVP_MD_CTX_free(md_ctx);
return ret;
}
static int sm2utl_encrypt(const EVP_MD *md, BIO *in, BIO *out, EC_KEY *ec_key)
{
int ret = 0;
SM2CiphertextValue *cval = NULL;
unsigned char *buf = NULL;
int len;
if (!(len = bio_to_mem(&buf, SM2_MAX_PLAINTEXT_LENGTH, in))) {
}
if (!(cval = SM2_do_encrypt(md, buf, len, ec_key))
|| i2d_SM2CiphertextValue_bio(out, cval) <= 0) {
ERR_print_errors(bio_err);
goto end;
}
ret = 1;
end:
OPENSSL_free(buf);
SM2CiphertextValue_free(cval);
return ret;
}
static int sm2utl_decrypt(const EVP_MD *md, BIO *in, BIO *out, EC_KEY *ec_key)
{
int ret = 0;
SM2CiphertextValue *cval = NULL;
unsigned char *buf = NULL;
size_t siz;
if (!(cval = d2i_SM2CiphertextValue_bio(in, NULL))
|| !SM2_do_decrypt(md, cval, NULL, &siz, ec_key)
|| !(buf = OPENSSL_malloc(siz))
|| !SM2_do_decrypt(md, cval, buf, &siz, ec_key)
|| BIO_write(out, buf, siz) != siz) {
ERR_print_errors(bio_err);
goto end;
}
ret = 1;
end:
SM2CiphertextValue_free(cval);
OPENSSL_free(buf);
return ret;
}
#endif

View File

@@ -46,13 +46,6 @@
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
/*
* gmssl sm9 -setup
* gmssl sm9 -genkey
* gmssl sm9 -encrypt
* gmssl sm9 -sign
* gmssl sm9 -verify
*/
#include <openssl/opensslconf.h>
#ifdef OPENSSL_NO_SM9
@@ -62,12 +55,12 @@ NON_EMPTY_TRANSLATION_UNIT
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include "apps.h"
# include <openssl/bio.h>
# include <openssl/err.h>
# include <openssl/evp.h>
# include <openssl/pem.h>
# include <openssl/cpk.h>
# include <openssl/sm9.h>
# include "apps.h"
typedef enum OPTION_choice {
OPT_ERR = -1,
@@ -77,6 +70,7 @@ typedef enum OPTION_choice {
OPTIONS sm9_options[] = {
{"help", OPT_HELP, '-', "Display this summary"},
{"in", OPT_IN, 's', "Input key"},
{NULL}
};

81
apps/sm9param.c Normal file
View File

@@ -0,0 +1,81 @@
/* ====================================================================
* Copyright (c) 2014 - 2018 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#include <openssl/opensslconf.h>
#ifdef OPENSSL_NO_SM9
NON_EMPTY_TRANSLATION_UNIT
#else
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <openssl/bio.h>
# include <openssl/err.h>
# include <openssl/evp.h>
# include <openssl/pem.h>
# include <openssl/sm9.h>
# include "apps.h"
typedef enum OPTION_choice {
OPT_ERR = -1,
OPT_EOF = 0,
OPT_HELP
} OPTION_CHOICE;
OPTIONS sm9param_options[] = {
{"help", OPT_HELP, '-', "Display this summary"},
{NULL}
};
int sm9param_main(int argc, char **argv)
{
printf("sm9param not implemented\n");
return 0;
}
#endif

418
apps/sm9utl.c Normal file
View File

@@ -0,0 +1,418 @@
/* ====================================================================
* Copyright (c) 2014 - 2018 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#include <openssl/opensslconf.h>
#ifdef OPENSSL_NO_SM9
NON_EMPTY_TRANSLATION_UNIT
#else
# include <ctype.h>
# include <stdio.h>
# include <string.h>
# include <openssl/bio.h>
# include <openssl/err.h>
# include <openssl/evp.h>
# include <openssl/sm9.h>
# include "../crypto/sm9/sm9_lcl.h"
# include "apps.h"
typedef enum OPTION_choice {
OPT_ERR = -1, OPT_EOF = 0, OPT_HELP,
OPT_IN, OPT_OUT, OPT_SIGFILE,
OPT_SIGN, OPT_VERIFY, OPT_ENCRYPT, OPT_DECRYPT,
OPT_MD, OPT_SCHEME,
OPT_PARAMFILE, OPT_ID, OPT_INKEY, OPT_PASSIN,
OPT_KEYFORM, OPT_PARAMFORM
} OPTION_CHOICE;
OPTIONS sm9utl_options[] = {
{"help", OPT_HELP, '-', "Display this summary"},
{"in", OPT_IN, '<', "Input file - default stdin"},
{"out", OPT_OUT, '>', "Output file - default stdout"},
{"sigfile", OPT_SIGFILE, '<', "Signature file (verify operation only)"},
{"sign", OPT_SIGN, '-', "Sign input data with private key and public parameters"},
{"verify", OPT_VERIFY, '-', "Verify with signer's ID and public parameters"},
{"encrypt", OPT_ENCRYPT, '-', "Encrypt input data with recipient's ID"},
{"decrypt", OPT_DECRYPT, '-', "Decrypt input data with private key"},
{"md", OPT_MD, 's', "Digest algorithm for signing or verification"},
{"scheme", OPT_SCHEME, 's', "Encryption scheme"},
{"paramfile", OPT_PARAMFILE, 's', "Public parameters file"},
{"id", OPT_ID, 's', "Recipient's or signer's ID"},
{"inkey", OPT_INKEY, 's', "Private key for signing or decryption"},
{"passin", OPT_PASSIN, 's', "Input file pass phrase source"},
{"keyform", OPT_KEYFORM, 'E', "Private key format - default PEM"},
{"paramform", OPT_PARAMFORM, 'E', "Public parameters format - default PEM"},
{NULL}
};
static int sm9_sign(const EVP_MD *md, BIO *in, BIO *out,
SM9_KEY *key, const char *prog)
{
int ret = 0;
EVP_MD_CTX *md_ctx = NULL;
SM9Signature *sig = NULL;
unsigned char buf[1024];
int len;
if (!(md_ctx = EVP_MD_CTX_new())
|| !SM9_SignInit(md_ctx, md, NULL)) {
ERR_print_errors(bio_err);
goto end;
}
while ((len = BIO_read(in, buf, sizeof(buf))) > 0) {
if (!SM9_SignUpdate(md_ctx, buf, len)) {
ERR_print_errors(bio_err);
goto end;
}
}
if (!(sig = SM9_SignFinal(md_ctx, key))) {
ERR_print_errors(bio_err);
goto end;
}
if (i2d_SM9Signature_bio(out, sig) <= 0) {
ERR_print_errors(bio_err);
goto end;
}
ret = 1;
end:
EVP_MD_CTX_free(md_ctx);
SM9Signature_free(sig);
return ret;
}
static int sm9_verify(const EVP_MD *md, BIO *in, BIO *out, const char *sigfile,
SM9_MASTER_KEY *param, const char *id, const char *prog)
{
int ret = 0;
BIO *sig_bio = NULL;
SM9_KEY *key = NULL;
EVP_MD_CTX *md_ctx = NULL;
SM9Signature *sig = NULL;
unsigned char buf[1024];
int len;
if (!sigfile) {
BIO_printf(bio_err, "%s: `-sigfile` required for verification\n", prog);
return 0;
}
if (!(sig_bio = BIO_new_file(sigfile, "rb"))
|| !(sig = d2i_SM9Signature_bio(sig_bio, NULL))) {
ERR_print_errors(bio_err);
goto end;
}
if (!param || !id) {
BIO_printf(bio_err, "%s: param and id required\n", prog);
goto end;
}
if (!(key = SM9_extract_public_key(param, id, strlen(id)))) {
ERR_print_errors(bio_err);
goto end;
}
if (!(md_ctx = EVP_MD_CTX_new())
|| !SM9_VerifyInit(md_ctx, md, NULL)) {
ERR_print_errors(bio_err);
goto end;
}
while ((len = BIO_read(in, buf, sizeof(buf))) > 0) {
if (!SM9_VerifyUpdate(md_ctx, buf, len)) {
ERR_print_errors(bio_err);
goto end;
}
}
if ((ret = SM9_VerifyFinal(md_ctx, sig, key)) != 1) {
ERR_print_errors(bio_err);
}
BIO_printf(out, "Signature Verified %s\n", ret ? "Successfully" : "Failure");
end:
BIO_free(sig_bio);
SM9_KEY_free(key);
EVP_MD_CTX_free(md_ctx);
SM9Signature_free(sig);
return ret;
}
static int sm9_encrypt(int scheme, BIO *in, BIO *out,
SM9_MASTER_KEY *param, const char *id, const char *prog)
{
int ret = 0;
unsigned char *inbuf = NULL;
unsigned char *outbuf = NULL;
int inlen;
size_t outlen;
if (!param || !id) {
BIO_printf(bio_err, "%s: param and id required\n", prog);
return 0;
}
if (!(inlen = bio_to_mem(&inbuf, SM9_MAX_PLAINTEXT_LENGTH, in))) {
BIO_printf(bio_err, "%s: error reading input\n", prog);
return 0;
}
if (!SM9_encrypt(scheme, inbuf, inlen, NULL, &outlen, param, id, strlen(id))
|| !(outbuf = OPENSSL_malloc(outlen))
|| !SM9_encrypt(scheme, inbuf, inlen, outbuf, &outlen,
param, id, strlen(id))
|| BIO_write(out, outbuf, outlen) != outlen) {
ERR_print_errors(bio_err);
goto end;
}
ret = 1;
end:
OPENSSL_free(inbuf);
OPENSSL_free(outbuf);
return ret;
}
static int sm9_decrypt(int scheme, BIO *in, BIO *out, SM9_KEY *key, char *prog)
{
int ret = 0;
unsigned char *inbuf = NULL;
unsigned char *outbuf = NULL;
int inlen;
size_t outlen;
if (!key) {
BIO_printf(bio_err, "%s: private key required\n", prog);
goto end;
}
if (!(inlen = bio_to_mem(&inbuf, SM9_MAX_CIPHERTEXT_LENGTH, in))) {
BIO_printf(bio_err, "%s: error reading input\n", prog);
goto end;
}
if (!SM9_decrypt(scheme, inbuf, inlen, NULL, &outlen, key)
|| !(outbuf = OPENSSL_malloc(outlen))
|| !SM9_decrypt(scheme, inbuf, inlen, outbuf, &outlen, key)
|| BIO_write(out, outbuf, outlen) != outlen) {
ERR_print_errors(bio_err);
goto end;
}
ret = 1;
end:
OPENSSL_free(inbuf);
OPENSSL_free(outbuf);
return ret;
}
int sm9utl_main(int argc, char **argv)
{
int ret = 1;
OPTION_CHOICE o;
char *prog;
char *infile = NULL;
char *outfile = NULL;
char *sigfile = NULL;
BIO *in = NULL;
BIO *out = NULL;
int op = EVP_PKEY_OP_UNDEFINED;
char *paramfile = NULL;
char *id = NULL;
char *keyfile = NULL;
char *passinarg = NULL;
int keyform = FORMAT_PEM;
int paramform = FORMAT_PEM;
char *dgst = NULL;
char *scheme = NULL;
const EVP_MD *md = EVP_sm3();
int enc_scheme = NID_sm9encrypt_with_sm3_xor;
char *passin = NULL;
EVP_PKEY *pkey = NULL;
SM9_MASTER_KEY *param;
SM9_KEY *key;
prog = opt_init(argc, argv, sm9utl_options);
while ((o = opt_next()) != OPT_EOF) {
switch (o) {
case OPT_EOF:
case OPT_ERR:
opthelp:
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
goto end;
case OPT_HELP:
opt_help(sm9utl_options);
ret = 0;
goto end;
case OPT_IN:
infile = opt_arg();
break;
case OPT_OUT:
outfile = opt_arg();
break;
case OPT_SIGFILE:
sigfile = opt_arg();
break;
case OPT_SIGN:
op = EVP_PKEY_OP_SIGN;
break;
case OPT_VERIFY:
op = EVP_PKEY_OP_VERIFY;
break;
case OPT_ENCRYPT:
op = EVP_PKEY_OP_ENCRYPT;
break;
case OPT_DECRYPT:
op = EVP_PKEY_OP_DECRYPT;
break;
case OPT_MD:
dgst = opt_arg();
break;
case OPT_SCHEME:
scheme = opt_arg();
break;
case OPT_PARAMFILE:
paramfile = opt_arg();
break;
case OPT_ID:
id = opt_arg();
break;
case OPT_INKEY:
keyfile = opt_arg();
break;
case OPT_PASSIN:
passinarg = opt_arg();
break;
case OPT_KEYFORM:
if (!opt_format(opt_arg(), OPT_FMT_PDE, &keyform))
goto opthelp;
break;
case OPT_PARAMFORM:
if (!opt_format(opt_arg(), OPT_FMT_PDE, &paramform))
goto opthelp;
break;
}
}
argc = opt_num_rest();
if (argc != 0)
goto opthelp;
app_RAND_load_file(NULL, 0);
if (op == EVP_PKEY_OP_SIGN || op == EVP_PKEY_OP_DECRYPT) {
if (!keyfile) {
BIO_printf(bio_err, "Private key required\n");
goto end;
}
if (paramfile || id) {
BIO_printf(bio_err, "Parameters and ID not required\n");
goto end;
}
if (!app_passwd(passinarg, NULL, &passin, NULL)) {
BIO_printf(bio_err, "Error getting password\n");
goto end;
}
if (keyfile) {
pkey = load_key(keyfile, keyform, 0, passin, NULL, "Private Key");
if (!(key = EVP_PKEY_get0_SM9(pkey))) {
ERR_print_errors(bio_err);
goto end;
}
}
if (op == EVP_PKEY_OP_SIGN)
return sm9_sign(md, in, out, key, prog);
else
return sm9_decrypt(enc_scheme, in, out, key, prog);
} else if (op == EVP_PKEY_OP_VERIFY || op == EVP_PKEY_OP_ENCRYPT) {
if (!paramfile || !id) {
BIO_printf(bio_err, "Parameters and ID required\n");
goto end;
}
if (keyfile) {
BIO_printf(bio_err, "Private key not required\n");
goto end;
}
pkey = load_pubkey(keyfile, keyform, 0, NULL, NULL, "Public Key");
if (!(param = EVP_PKEY_get0_SM9_MASTER(pkey))) {
ERR_print_errors(bio_err);
goto end;
}
if (op == EVP_PKEY_OP_VERIFY) {
if (!sigfile) {
BIO_printf(bio_err, "Signature file required\n");
goto end;
}
return sm9_verify(md, in, out, sigfile, param, id, prog);
} else {
return sm9_encrypt(enc_scheme, in, out, param, id, prog);
}
} else {
BIO_printf(bio_err, "%s: operation not assigned\n", prog);
goto end;
}
end:
OPENSSL_free(passin);
return ret;
}
#endif

View File

@@ -121,6 +121,16 @@ int SM2_ciphertext_size(const EC_KEY *ec_key, size_t inlen)
return ret;
}
int i2d_SM2CiphertextValue_bio(BIO *bp, SM2CiphertextValue *a)
{
return ASN1_item_i2d_bio(ASN1_ITEM_rptr(SM2CiphertextValue), bp, a);
}
SM2CiphertextValue *d2i_SM2CiphertextValue_bio(BIO *bp, SM2CiphertextValue **a)
{
return ASN1_item_d2i_bio(ASN1_ITEM_rptr(SM2CiphertextValue), bp, a);
}
#ifndef OPENSSL_NO_STDIO
SM2CiphertextValue *d2i_SM2CiphertextValue_fp(FILE *fp, SM2CiphertextValue **a)
{

View File

@@ -147,6 +147,27 @@ int SM9PublicKey_gmtls_encode(SM9PublicKey *pk, unsigned char key[1024])
return 0;
}
int i2d_SM9Signature_bio(BIO *bp, SM9Signature *a)
{
return ASN1_item_i2d_bio(ASN1_ITEM_rptr(SM9Signature), bp, a);
}
SM9Signature *d2i_SM9Signature_bio(BIO *bp, SM9Signature **a)
{
return ASN1_item_d2i_bio(ASN1_ITEM_rptr(SM9Signature), bp, a);
}
int i2d_SM9Ciphertext_bio(BIO *bp, SM9Ciphertext *a)
{
return ASN1_item_i2d_bio(ASN1_ITEM_rptr(SM9Ciphertext), bp, a);
}
SM9Ciphertext *d2i_SM9Ciphertext_bio(BIO *bp, SM9Ciphertext **a)
{
return ASN1_item_d2i_bio(ASN1_ITEM_rptr(SM9Ciphertext), bp, a);
}
#ifndef OPENSSL_NO_STDIO
SM9MasterSecret *d2i_SM9MasterSecret_fp(FILE *fp, SM9MasterSecret **msk)
{

View File

@@ -83,7 +83,8 @@
#define SM9_PHI_D6 0x06
#define SM9_MAX_PLAINTEXT_LENGTH 65535
#define SM9_MAX_PLAINTEXT_LENGTH 12800
#define SM9_MAX_CIPHERTEXT_LENGTH 25600
#ifdef __cplusplus

View File

@@ -41,9 +41,9 @@ extern "C" {
*/
# define OPENSSL_VERSION_NUMBER 0x1010004fL
# ifdef OPENSSL_FIPS
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.2 - OpenSSL 1.1.0d-fips 19 Dec 2018"
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.2 - OpenSSL 1.1.0d-fips 25 Dec 2018"
# else
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.2 - OpenSSL 1.1.0d 19 Dec 2018"
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.2 - OpenSSL 1.1.0d 25 Dec 2018"
# endif
/*-

View File

@@ -112,6 +112,8 @@ int SM2_verify(int type, const unsigned char *dgst, int dgstlen,
typedef struct SM2CiphertextValue_st SM2CiphertextValue;
DECLARE_ASN1_FUNCTIONS(SM2CiphertextValue)
int i2d_SM2CiphertextValue_bio(BIO *bp, SM2CiphertextValue *a);
SM2CiphertextValue *d2i_SM2CiphertextValue_bio(BIO *bp, SM2CiphertextValue **a);
#ifndef OPENSSL_NO_STDIO
SM2CiphertextValue *d2i_SM2CiphertextValue_fp(FILE *fp, SM2CiphertextValue **a);
int i2d_SM2CiphertextValue_fp(FILE *fp, SM2CiphertextValue *a);

View File

@@ -180,6 +180,10 @@ int SM9_compute_share_key_B(int type,
int SM9_MASTER_KEY_print(BIO *bp, const SM9_MASTER_KEY *x, int off);
int SM9_KEY_print(BIO *bp, const SM9_KEY *x, int off);
int i2d_SM9Signature_bio(BIO *bp, SM9Signature *a);
SM9Signature *d2i_SM9Signature_bio(BIO *bp, SM9Signature **a);
int i2d_SM9Ciphertext_bio(BIO *bp, SM9Ciphertext *a);
SM9Ciphertext *d2i_SM9Ciphertext_bio(BIO *bp, SM9Ciphertext **a);
#ifndef OPENSSL_NO_STDIO
SM9MasterSecret *d2i_SM9MasterSecret_fp(FILE *fp, SM9MasterSecret **pp);

File diff suppressed because it is too large Load Diff

View File

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