mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-31 19:24:42 +02:00
X509_NAME_ENTRY_get_object
This commit is contained in:
@@ -23,14 +23,15 @@
|
|||||||
#define BENCH_EMBEDDED
|
#define BENCH_EMBEDDED
|
||||||
#define NO_WRITEV
|
#define NO_WRITEV
|
||||||
#define WOLFSSL_USER_IO
|
#define WOLFSSL_USER_IO
|
||||||
|
#define CloseSocket close
|
||||||
#define NO_DEV_RANDOM
|
#define NO_DEV_RANDOM
|
||||||
#define USE_CERT_BUFFERS_2048
|
#define USE_CERT_BUFFERS_2048
|
||||||
#define WOLFSSL_USER_CURRTIME
|
#define WOLFSSL_USER_CURRTIME
|
||||||
#define SIZEOF_LONG_LONG 8
|
#define SIZEOF_LONG_LONG 8
|
||||||
#define NO_WOLFSSL_DIR
|
#define NO_WOLFSSL_DIR
|
||||||
#define WOLFSSL_NO_CURRDIR
|
#define WOLFSSL_NO_CURRDIR
|
||||||
#define NO_FILESYSTEM
|
|
||||||
#define WOLFSSL_LOG_PRINTF
|
#define WOLFSSL_LOG_PRINTF
|
||||||
|
#define NO_FILESYSTEM
|
||||||
|
|
||||||
/* #define DEBUG_WOLFSSL */
|
/* #define DEBUG_WOLFSSL */
|
||||||
|
|
||||||
@@ -83,10 +84,10 @@
|
|||||||
|
|
||||||
#if defined(TIME_OVERRIDES) && defined(HAVE_TM_TYPE) && defined(HAVE_TIME_T_TYPE)
|
#if defined(TIME_OVERRIDES) && defined(HAVE_TM_TYPE) && defined(HAVE_TIME_T_TYPE)
|
||||||
/* #include "time_mng.h" */
|
/* #include "time_mng.h" */
|
||||||
|
typedef unsigned long Time_t
|
||||||
#define time_t Time_t
|
#define time_t Time_t
|
||||||
#define WOLFSSL_GMTIME
|
#define WOLFSSL_GMTIME
|
||||||
#define XGTIME gmtime
|
#define XGMTIME gmtime
|
||||||
#define XTIME user_time
|
#define XTIME user_time
|
||||||
|
|
||||||
struct tm {
|
struct tm {
|
||||||
@@ -94,13 +95,15 @@
|
|||||||
int tm_min;
|
int tm_min;
|
||||||
int tm_hour;
|
int tm_hour;
|
||||||
int tm_mday;
|
int tm_mday;
|
||||||
|
int tm_wday;
|
||||||
int tm_mon;
|
int tm_mon;
|
||||||
int tm_year;
|
int tm_year;
|
||||||
int tm_yday;
|
int tm_yday;
|
||||||
|
int tm_isdst;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define HAVE_STUNNEL
|
// #define HAVE_STUNNEL
|
||||||
#define KEEP_OUR_CERT
|
#define KEEP_OUR_CERT
|
||||||
|
|
||||||
#ifdef NO_ASN
|
#ifdef NO_ASN
|
||||||
|
@@ -19,8 +19,14 @@
|
|||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../common/user_settings.h"
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "../../../../../wolfssl/wolfcrypt/types.h"
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <wolfssl/wolfcrypt/settings.h>
|
||||||
|
#include <wolfssl/wolfcrypt/types.h>
|
||||||
|
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
//typedef unsigned long time_t;
|
//typedef unsigned long time_t;
|
||||||
|
|
||||||
@@ -29,20 +35,19 @@
|
|||||||
|
|
||||||
static int tick = 0;
|
static int tick = 0;
|
||||||
|
|
||||||
time_t time(time_t *t)
|
|
||||||
{
|
|
||||||
return ((YEAR-1970)*365+30*MON)*24*60*60 + tick++;
|
|
||||||
}
|
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
int strncasecmp(const char *s1, const char * s2, unsigned int sz)
|
int strncasecmp(const char *s1, const char *s2, unsigned int sz)
|
||||||
{
|
{
|
||||||
for( ; sz>0; sz--)
|
for( ; sz>0; sz--)
|
||||||
if(toupper(s1++) != toupper(s2++))
|
if(toupper(*s1++) != toupper(*s2++))
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned long user_time(void){
|
||||||
|
return ((YEAR-1970)*365+30*MON)*24*60*60 + tick++;
|
||||||
|
}
|
||||||
|
|
||||||
char* getenv(const char *env)
|
char* getenv(const char *env)
|
||||||
{
|
{
|
||||||
if (XSTRNCMP(env, "RANDFILE", 9) == 0)
|
if (XSTRNCMP(env, "RANDFILE", 9) == 0)
|
||||||
@@ -51,3 +56,5 @@ char* getenv(const char *env)
|
|||||||
return WOLFSSL_GETENV_HOME;
|
return WOLFSSL_GETENV_HOME;
|
||||||
else return 0;
|
else return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void abort(void){ while(1); }
|
49
src/ssl.c
49
src/ssl.c
@@ -29749,12 +29749,19 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
|
|||||||
* returns a pointer to a new WOLFSSL_ASN1_OBJECT struct on success and NULL
|
* returns a pointer to a new WOLFSSL_ASN1_OBJECT struct on success and NULL
|
||||||
* on fail
|
* on fail
|
||||||
*/
|
*/
|
||||||
|
|
||||||
WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj(int id)
|
WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj(int id)
|
||||||
|
{
|
||||||
|
return wolfSSL_OBJ_nid2obj_ex(id, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
WOLFSSL_LOCAL WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj_ex(int id,
|
||||||
|
WOLFSSL_ASN1_OBJECT* arg_obj)
|
||||||
{
|
{
|
||||||
word32 oidSz = 0;
|
word32 oidSz = 0;
|
||||||
const byte* oid;
|
const byte* oid;
|
||||||
word32 type = 0;
|
word32 type = 0;
|
||||||
WOLFSSL_ASN1_OBJECT* obj;
|
WOLFSSL_ASN1_OBJECT* obj = arg_obj;
|
||||||
byte objBuf[MAX_OID_SZ + MAX_LENGTH_SZ + 1]; /* +1 for object tag */
|
byte objBuf[MAX_OID_SZ + MAX_LENGTH_SZ + 1]; /* +1 for object tag */
|
||||||
word32 objSz = 0;
|
word32 objSz = 0;
|
||||||
const char* sName;
|
const char* sName;
|
||||||
@@ -30169,10 +30176,12 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
|
|||||||
oid = OidFromId(id, type, &oidSz);
|
oid = OidFromId(id, type, &oidSz);
|
||||||
|
|
||||||
/* set object ID to buffer */
|
/* set object ID to buffer */
|
||||||
obj = wolfSSL_ASN1_OBJECT_new();
|
if (obj == NULL){
|
||||||
if (obj == NULL) {
|
obj = wolfSSL_ASN1_OBJECT_new();
|
||||||
WOLFSSL_MSG("Issue creating WOLFSSL_ASN1_OBJECT struct");
|
if (obj == NULL) {
|
||||||
return NULL;
|
WOLFSSL_MSG("Issue creating WOLFSSL_ASN1_OBJECT struct");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
obj->type = id;
|
obj->type = id;
|
||||||
obj->grp = type;
|
obj->grp = type;
|
||||||
@@ -30185,12 +30194,15 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
|
|||||||
objSz += oidSz;
|
objSz += oidSz;
|
||||||
obj->objSz = objSz;
|
obj->objSz = objSz;
|
||||||
|
|
||||||
obj->obj = (byte*)XMALLOC(obj->objSz, NULL, DYNAMIC_TYPE_ASN1);
|
if(arg_obj == NULL) { /* Dynamic NAME_ENTRY */
|
||||||
if (obj->obj == NULL) {
|
obj->obj = (byte*)XMALLOC(obj->objSz, NULL, DYNAMIC_TYPE_ASN1);
|
||||||
wolfSSL_ASN1_OBJECT_free(obj);
|
if ((obj->obj == NULL) && arg_obj == NULL) {
|
||||||
return NULL;
|
wolfSSL_ASN1_OBJECT_free(obj);
|
||||||
}
|
return NULL;
|
||||||
XMEMCPY(obj->obj, objBuf, obj->objSz);
|
}
|
||||||
|
XMEMCPY(obj->obj, objBuf, obj->objSz);
|
||||||
|
} else /* static NAME_ENTR is for just type and grp */
|
||||||
|
obj->obj = NULL;
|
||||||
|
|
||||||
(void)type;
|
(void)type;
|
||||||
|
|
||||||
@@ -30889,15 +30901,13 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef NO_WOLFSSL_STUB
|
|
||||||
WOLFSSL_ASN1_OBJECT * wolfSSL_X509_NAME_ENTRY_get_object(WOLFSSL_X509_NAME_ENTRY *ne) {
|
WOLFSSL_ASN1_OBJECT * wolfSSL_X509_NAME_ENTRY_get_object(WOLFSSL_X509_NAME_ENTRY *ne) {
|
||||||
(void)ne;
|
|
||||||
WOLFSSL_ENTER("wolfSSL_X509_NAME_ENTRY_get_object");
|
WOLFSSL_ENTER("wolfSSL_X509_NAME_ENTRY_get_object");
|
||||||
WOLFSSL_STUB("X509_NAME_ENTRY_get_object");
|
if (ne == NULL) return NULL;
|
||||||
|
wolfSSL_OBJ_nid2obj_ex(ne->nid, &ne->object);
|
||||||
return NULL;
|
return &ne->object;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
WOLFSSL_X509_NAME_ENTRY *wolfSSL_X509_NAME_get_entry(
|
WOLFSSL_X509_NAME_ENTRY *wolfSSL_X509_NAME_get_entry(
|
||||||
WOLFSSL_X509_NAME *name, int loc)
|
WOLFSSL_X509_NAME *name, int loc)
|
||||||
@@ -30932,7 +30942,6 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
|
|||||||
}
|
}
|
||||||
name->cnEntry.data.type = CTC_UTF8;
|
name->cnEntry.data.type = CTC_UTF8;
|
||||||
name->cnEntry.set = 1;
|
name->cnEntry.set = 1;
|
||||||
return &(name->cnEntry);
|
|
||||||
|
|
||||||
/* common name index case */
|
/* common name index case */
|
||||||
} else if (loc == name->fullName.cnIdx) {
|
} else if (loc == name->fullName.cnIdx) {
|
||||||
@@ -30942,9 +30951,11 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
|
|||||||
name->cnEntry.data.type = CTC_UTF8;
|
name->cnEntry.data.type = CTC_UTF8;
|
||||||
name->cnEntry.nid = ASN_COMMON_NAME;
|
name->cnEntry.nid = ASN_COMMON_NAME;
|
||||||
name->cnEntry.set = 1;
|
name->cnEntry.set = 1;
|
||||||
return &(name->cnEntry);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wolfSSL_OBJ_nid2obj_ex(name->cnEntry.nid, &name->cnEntry.object);
|
||||||
|
return &name->cnEntry;
|
||||||
|
|
||||||
/* additionall cases to check for go here */
|
/* additionall cases to check for go here */
|
||||||
|
|
||||||
WOLFSSL_MSG("Entry not found or implemented");
|
WOLFSSL_MSG("Entry not found or implemented");
|
||||||
|
81
tests/api.c
81
tests/api.c
@@ -141,7 +141,7 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <wolfssl/ssl.h> /* compatibility layer */
|
#include <wolfssl/ssl.h> /* compatibility layer */
|
||||||
#include <wolfssl/test.h>
|
#include <wolfssl/test.h>
|
||||||
#include <tests/unit.h>
|
#include <tests/unit.h>
|
||||||
#include "examples/server/server.h"
|
#include "examples/server/server.h"
|
||||||
/* for testing compatibility layer callbacks */
|
/* for testing compatibility layer callbacks */
|
||||||
@@ -3073,28 +3073,32 @@ static void test_wolfSSL_X509_NAME_get_entry(void)
|
|||||||
X509* x509;
|
X509* x509;
|
||||||
ASN1_STRING* asn;
|
ASN1_STRING* asn;
|
||||||
int idx;
|
int idx;
|
||||||
|
ASN1_OBJECT *object = NULL;
|
||||||
|
|
||||||
#ifndef NO_FILESYSTEM
|
#ifndef NO_FILESYSTEM
|
||||||
x509 = wolfSSL_X509_load_certificate_file(cliCertFile, WOLFSSL_FILETYPE_PEM);
|
x509 = wolfSSL_X509_load_certificate_file(cliCertFile, WOLFSSL_FILETYPE_PEM);
|
||||||
AssertNotNull(x509);
|
AssertNotNull(x509);
|
||||||
|
|
||||||
name = X509_get_subject_name(x509);
|
name = X509_get_subject_name(x509);
|
||||||
|
idx = X509_NAME_get_index_by_NID(name, NID_commonName, -1);
|
||||||
|
AssertIntGE(idx, 0);
|
||||||
|
ne = X509_NAME_get_entry(name, idx);
|
||||||
|
AssertNotNull(ne);
|
||||||
|
asn = X509_NAME_ENTRY_get_data(ne);
|
||||||
|
AssertNotNull(asn);
|
||||||
|
subCN = (char*)ASN1_STRING_data(asn);
|
||||||
|
AssertNotNull(subCN);
|
||||||
|
wolfSSL_FreeX509(x509);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
x509 = wolfSSL_X509_load_certificate_file(cliCertFile, WOLFSSL_FILETYPE_PEM);
|
||||||
|
AssertNotNull(x509);
|
||||||
|
name = X509_get_subject_name(x509);
|
||||||
idx = X509_NAME_get_index_by_NID(name, NID_commonName, -1);
|
idx = X509_NAME_get_index_by_NID(name, NID_commonName, -1);
|
||||||
AssertIntGE(idx, 0);
|
AssertIntGE(idx, 0);
|
||||||
|
|
||||||
ne = X509_NAME_get_entry(name, idx);
|
ne = X509_NAME_get_entry(name, idx);
|
||||||
AssertNotNull(ne);
|
AssertNotNull(ne);
|
||||||
|
AssertNotNull(object = X509_NAME_ENTRY_get_object(ne));
|
||||||
asn = X509_NAME_ENTRY_get_data(ne);
|
|
||||||
AssertNotNull(asn);
|
|
||||||
|
|
||||||
subCN = (char*)ASN1_STRING_data(asn);
|
|
||||||
AssertNotNull(subCN);
|
|
||||||
|
|
||||||
wolfSSL_FreeX509(x509);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
printf(resultFmt, passed);
|
printf(resultFmt, passed);
|
||||||
@@ -13061,7 +13065,7 @@ static int test_wc_ecc_shared_secret (void)
|
|||||||
ecc_key key, pubKey;
|
ecc_key key, pubKey;
|
||||||
WC_RNG rng;
|
WC_RNG rng;
|
||||||
int keySz = KEY16;
|
int keySz = KEY16;
|
||||||
byte out[keySz];
|
byte out[KEY16];
|
||||||
word32 outlen = (word32)sizeof(out);
|
word32 outlen = (word32)sizeof(out);
|
||||||
|
|
||||||
/* Initialize variables. */
|
/* Initialize variables. */
|
||||||
@@ -13486,8 +13490,8 @@ static int test_wc_ecc_rs_to_sig (void)
|
|||||||
word32 siglen = (word32)sizeof(sig);
|
word32 siglen = (word32)sizeof(sig);
|
||||||
/*R and S max size is the order of curve. 2^192.*/
|
/*R and S max size is the order of curve. 2^192.*/
|
||||||
int keySz = KEY24;
|
int keySz = KEY24;
|
||||||
byte r[keySz];
|
byte r[KEY24];
|
||||||
byte s[keySz];
|
byte s[KEY24];
|
||||||
word32 rlen = (word32)sizeof(r);
|
word32 rlen = (word32)sizeof(r);
|
||||||
word32 slen = (word32)sizeof(s);
|
word32 slen = (word32)sizeof(s);
|
||||||
|
|
||||||
@@ -14207,7 +14211,7 @@ static int test_wc_ecc_shared_secret_ssh (void)
|
|||||||
WC_RNG rng;
|
WC_RNG rng;
|
||||||
int keySz = KEY32;
|
int keySz = KEY32;
|
||||||
int key2Sz = KEY24;
|
int key2Sz = KEY24;
|
||||||
byte secret[keySz];
|
byte secret[KEY32];
|
||||||
word32 secretLen = keySz;
|
word32 secretLen = keySz;
|
||||||
|
|
||||||
/* Init stack variables. */
|
/* Init stack variables. */
|
||||||
@@ -19748,7 +19752,7 @@ static void test_wolfSSL_ASN1_TIME_to_generalizedtime(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void test_wolfSSL_X509_CA_num(void){
|
static void test_wolfSSL_X509_CA_num(void){
|
||||||
#if defined(OPENSSL_EXTRA) && !defined(NO_CERT)
|
#if defined(OPENSSL_EXTRA) && !defined(NO_CERT) && !defined(NO_FILESYSTEM)
|
||||||
WOLFSSL_X509_STORE *store;
|
WOLFSSL_X509_STORE *store;
|
||||||
WOLFSSL_X509 *x509_1, *x509_2;
|
WOLFSSL_X509 *x509_1, *x509_2;
|
||||||
int ca_num = 0;
|
int ca_num = 0;
|
||||||
@@ -19774,7 +19778,7 @@ static void test_wolfSSL_X509_CA_num(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void test_wolfSSL_X509_check_ca(void){
|
static void test_wolfSSL_X509_check_ca(void){
|
||||||
#if defined(OPENSSL_EXTRA) && !defined(NO_RSA)
|
#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_FILESYSTEM)
|
||||||
WOLFSSL_X509 *x509;
|
WOLFSSL_X509 *x509;
|
||||||
|
|
||||||
x509 = wolfSSL_X509_load_certificate_file(svrCertFile, WOLFSSL_FILETYPE_PEM);
|
x509 = wolfSSL_X509_load_certificate_file(svrCertFile, WOLFSSL_FILETYPE_PEM);
|
||||||
@@ -21006,7 +21010,44 @@ static void test_wolfSSL_X509_CRL(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_wolfSSL_i2c_ASN1_INTEGER(void)
|
static void test_wolfSSL_PEM_read_X509(void)
|
||||||
|
{
|
||||||
|
#if defined(OPENSSL_EXTRA) && !defined(NO_FILESYSTEM)
|
||||||
|
X509 *x509 = NULL;
|
||||||
|
XFILE fp;
|
||||||
|
|
||||||
|
AssertNotNull(fp = XFOPEN(svrCertFile, "rb"));
|
||||||
|
AssertNotNull(x509 = (X509 *)PEM_read_X509(fp, (X509 **)NULL, NULL, NULL));
|
||||||
|
X509_free(x509);
|
||||||
|
XFCLOSE(fp);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_wolfSSL_X509_NAME_ENTRY_get_object()
|
||||||
|
{
|
||||||
|
#if defined(OPENSSL_EXTRA) && !defined(NO_FILESYSTEM)
|
||||||
|
X509 *x509 = NULL;
|
||||||
|
X509_NAME* name = NULL;
|
||||||
|
int idx = 0;
|
||||||
|
X509_NAME_ENTRY *ne = NULL;
|
||||||
|
ASN1_OBJECT *object = NULL;
|
||||||
|
|
||||||
|
x509 = wolfSSL_X509_load_certificate_file(cliCertFile, WOLFSSL_FILETYPE_PEM);
|
||||||
|
AssertNotNull(x509);
|
||||||
|
name = X509_get_subject_name(x509);
|
||||||
|
idx = X509_NAME_get_index_by_NID(name, NID_commonName, -1);
|
||||||
|
AssertIntGE(idx, 0);
|
||||||
|
|
||||||
|
ne = X509_NAME_get_entry(name, idx);
|
||||||
|
AssertNotNull(ne);
|
||||||
|
AssertNotNull(object = X509_NAME_ENTRY_get_object(ne));
|
||||||
|
|
||||||
|
X509_free(x509);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_wolfSSL_i2c_ASN1_INTEGER()
|
||||||
{
|
{
|
||||||
#if defined(OPENSSL_EXTRA) && !defined(NO_ASN)
|
#if defined(OPENSSL_EXTRA) && !defined(NO_ASN)
|
||||||
ASN1_INTEGER *a;
|
ASN1_INTEGER *a;
|
||||||
@@ -21271,6 +21312,8 @@ void ApiTest(void)
|
|||||||
test_wolfSSL_SHA256();
|
test_wolfSSL_SHA256();
|
||||||
test_wolfSSL_X509_get_serialNumber();
|
test_wolfSSL_X509_get_serialNumber();
|
||||||
test_wolfSSL_X509_CRL();
|
test_wolfSSL_X509_CRL();
|
||||||
|
test_wolfSSL_PEM_read_X509();
|
||||||
|
test_wolfSSL_X509_NAME_ENTRY_get_object();
|
||||||
test_wolfSSL_OPENSSL_add_all_algorithms();
|
test_wolfSSL_OPENSSL_add_all_algorithms();
|
||||||
test_wolfSSL_ASN1_STRING_print_ex();
|
test_wolfSSL_ASN1_STRING_print_ex();
|
||||||
test_wolfSSL_ASN1_TIME_to_generalizedtime();
|
test_wolfSSL_ASN1_TIME_to_generalizedtime();
|
||||||
|
@@ -539,6 +539,7 @@ typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX;
|
|||||||
#define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509
|
#define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509
|
||||||
#define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX
|
#define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX
|
||||||
#define PEM_read_X509_CRL wolfSSL_PEM_read_X509_CRL
|
#define PEM_read_X509_CRL wolfSSL_PEM_read_X509_CRL
|
||||||
|
#define PEM_read_X509 wolfSSL_PEM_read_X509
|
||||||
|
|
||||||
/*#if OPENSSL_API_COMPAT < 0x10100000L*/
|
/*#if OPENSSL_API_COMPAT < 0x10100000L*/
|
||||||
#define CONF_modules_free()
|
#define CONF_modules_free()
|
||||||
@@ -957,6 +958,8 @@ typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING;
|
|||||||
#define SSL_CTX_set_srp_username wolfSSL_CTX_set_srp_username
|
#define SSL_CTX_set_srp_username wolfSSL_CTX_set_srp_username
|
||||||
#define OPENSSL_add_all_algorithms_noconf wolfSSL_OPENSSL_add_all_alogrithms_noconf
|
#define OPENSSL_add_all_algorithms_noconf wolfSSL_OPENSSL_add_all_alogrithms_noconf
|
||||||
#define i2c_ASN1_INTEGER wolfSSL_i2c_ASN1_INTEGER
|
#define i2c_ASN1_INTEGER wolfSSL_i2c_ASN1_INTEGER
|
||||||
|
#define X509_NAME_ENTRY_get_object wolfSSL_X509_NAME_ENTRY_get_object
|
||||||
|
|
||||||
|
|
||||||
#define ERR_NUM_ERRORS 16
|
#define ERR_NUM_ERRORS 16
|
||||||
#define EVP_PKEY_RSA 6
|
#define EVP_PKEY_RSA 6
|
||||||
|
@@ -2531,7 +2531,7 @@ WOLFSSL_API int wolfSSL_accept_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack,
|
|||||||
|
|
||||||
#include <wolfssl/openssl/asn1.h>
|
#include <wolfssl/openssl/asn1.h>
|
||||||
struct WOLFSSL_X509_NAME_ENTRY {
|
struct WOLFSSL_X509_NAME_ENTRY {
|
||||||
WOLFSSL_ASN1_OBJECT* object; /* not defined yet */
|
WOLFSSL_ASN1_OBJECT object; /* static object just for keeping grp, type */
|
||||||
WOLFSSL_ASN1_STRING data;
|
WOLFSSL_ASN1_STRING data;
|
||||||
WOLFSSL_ASN1_STRING* value; /* points to data, for lighttpd port */
|
WOLFSSL_ASN1_STRING* value; /* points to data, for lighttpd port */
|
||||||
int nid; /* i.e. ASN_COMMON_NAME */
|
int nid; /* i.e. ASN_COMMON_NAME */
|
||||||
@@ -2571,6 +2571,7 @@ WOLFSSL_API char* wolfSSL_OBJ_nid2ln(int n);
|
|||||||
WOLFSSL_API int wolfSSL_OBJ_txt2nid(const char *sn);
|
WOLFSSL_API int wolfSSL_OBJ_txt2nid(const char *sn);
|
||||||
|
|
||||||
WOLFSSL_API WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj(int n);
|
WOLFSSL_API WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj(int n);
|
||||||
|
WOLFSSL_LOCAL WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj_ex(int n, WOLFSSL_ASN1_OBJECT *arg_obj);
|
||||||
WOLFSSL_API int wolfSSL_OBJ_obj2txt(char *buf, int buf_len, WOLFSSL_ASN1_OBJECT *a, int no_name);
|
WOLFSSL_API int wolfSSL_OBJ_obj2txt(char *buf, int buf_len, WOLFSSL_ASN1_OBJECT *a, int no_name);
|
||||||
|
|
||||||
WOLFSSL_API void wolfSSL_OBJ_cleanup(void);
|
WOLFSSL_API void wolfSSL_OBJ_cleanup(void);
|
||||||
|
Reference in New Issue
Block a user