Add support for X9.42 header

This commit is contained in:
Eric Blankenhorn
2021-09-27 15:37:11 -05:00
parent 943c98a45e
commit 702ba65b1c
3 changed files with 17 additions and 0 deletions

View File

@@ -16073,6 +16073,11 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
FreeDer(&der); FreeDer(&der);
ret = PemToDer(buf, sz, DH_PARAM_TYPE, &der, ctx->heap, ret = PemToDer(buf, sz, DH_PARAM_TYPE, &der, ctx->heap,
NULL, NULL); NULL, NULL);
if (ret < 0) {
/* Also try X9.42 format */
ret = PemToDer(buf, sz, X942_PARAM_TYPE, &der, ctx->heap,
NULL, NULL);
}
#ifdef WOLFSSL_WPAS #ifdef WOLFSSL_WPAS
#ifndef NO_DSA #ifndef NO_DSA
if (ret < 0) { if (ret < 0) {
@@ -44834,6 +44839,10 @@ WOLFSSL_DH *wolfSSL_PEM_read_bio_DHparams(WOLFSSL_BIO *bio, WOLFSSL_DH **x,
} }
ret = PemToDer(mem, size, DH_PARAM_TYPE, &der, NULL, NULL, NULL); ret = PemToDer(mem, size, DH_PARAM_TYPE, &der, NULL, NULL, NULL);
if (ret < 0) {
/* Also try X9.42 format */
ret = PemToDer(mem, size, X942_PARAM_TYPE, &der, NULL, NULL, NULL);
}
if (ret != 0) if (ret != 0)
goto end; goto end;

View File

@@ -18215,6 +18215,8 @@ wcchar END_CERT = "-----END CERTIFICATE-----";
#ifndef NO_DH #ifndef NO_DH
wcchar BEGIN_DH_PARAM = "-----BEGIN DH PARAMETERS-----"; wcchar BEGIN_DH_PARAM = "-----BEGIN DH PARAMETERS-----";
wcchar END_DH_PARAM = "-----END DH PARAMETERS-----"; wcchar END_DH_PARAM = "-----END DH PARAMETERS-----";
wcchar BEGIN_X942_PARAM = "-----BEGIN X9.42 DH PARAMETERS-----";
wcchar END_X942_PARAM = "-----END X9.42 DH PARAMETERS-----";
#endif #endif
#ifndef NO_DSA #ifndef NO_DSA
wcchar BEGIN_DSA_PARAM = "-----BEGIN DSA PARAMETERS-----"; wcchar BEGIN_DSA_PARAM = "-----BEGIN DSA PARAMETERS-----";
@@ -18289,6 +18291,11 @@ int wc_PemGetHeaderFooter(int type, const char** header, const char** footer)
if (footer) *footer = END_DH_PARAM; if (footer) *footer = END_DH_PARAM;
ret = 0; ret = 0;
break; break;
case X942_PARAM_TYPE:
if (header) *header = BEGIN_X942_PARAM;
if (footer) *footer = END_X942_PARAM;
ret = 0;
break;
#endif #endif
#ifndef NO_DSA #ifndef NO_DSA
case DSA_PARAM_TYPE: case DSA_PARAM_TYPE:

View File

@@ -133,6 +133,7 @@ enum CertType {
PKCS8_ENC_PRIVATEKEY_TYPE, PKCS8_ENC_PRIVATEKEY_TYPE,
DETECT_CERT_TYPE, DETECT_CERT_TYPE,
DH_PRIVATEKEY_TYPE, DH_PRIVATEKEY_TYPE,
X942_PARAM_TYPE,
}; };