@@ -19,6 +19,16 @@ CR=$'\n'
1919ENC_STRING=" encrypt"
2020DER_TO_PEM_STRING=" input is DER and output is PEM"
2121
22+ if ! " $PEM_EXE " --help > /dev/null 2>&1 ; then
23+ echo " $PEM_EXE not found -- skipping pem.test."
24+ exit 77
25+ fi
26+
27+ if ! " $ASN1_EXE " --help > /dev/null 2>&1 ; then
28+ echo " $ASN1_EXE not found -- skipping pem.test."
29+ exit 77
30+ fi
31+
2232if grep -q -E ' ^#define HAVE_FIPS$' wolfssl/options.h; then
2333 HAVE_FIPS=1
2434fi
@@ -51,6 +61,41 @@ if ! grep -q -E '^#define NO_DH$' wolfssl/options.h; then
5161 HAVE_DH=1
5262fi
5363
64+ if grep -q -E ' ^#define WOLFSSL_KEY_GEN$' wolfssl/options.h; then
65+ WOLFSSL_KEY_GEN=1
66+ fi
67+
68+ if grep -q -E ' ^#define WOLFSSL_CERT_GEN$' wolfssl/options.h; then
69+ WOLFSSL_CERT_GEN=1
70+ fi
71+
72+ if grep -q -E ' ^#define OPENSSL_EXTRA$' wolfssl/options.h; then
73+ OPENSSL_EXTRA=1
74+ fi
75+
76+ if [[ ! -v WOLFSSL_KEY_GEN && ! -v WOLFSSL_CERT_GEN && ! -v OPENSSL_EXTRA ]]; then
77+ WOLFSSL_NO_DER_TO_PEM=1
78+ fi
79+
80+ if grep -q -E ' ^#define WOLFSSL_NO_PEM$' wolfssl/options.h; then
81+ WOLFSSL_NO_PEM=1
82+ fi
83+
84+ if grep -q -E ' ^#define NO_CODING$' wolfssl/options.h; then
85+ NO_CODING=1
86+ fi
87+
88+ if [[ -v WOLFSSL_NO_PEM ]]; then
89+ echo " WOLFSSL_NO_PEM is configured -- skipping pem.test."
90+ exit 77
91+ fi
92+
93+ if [[ -v NO_CODING ]]; then
94+ echo " NO_CODING is configured -- skipping pem.test."
95+ exit 77
96+ fi
97+
98+
5499# Cleanup temporaries created during testing.
55100do_cleanup () {
56101 echo
@@ -210,6 +255,11 @@ compare_der() {
210255#
211256# @param [in] $* Command line parameters to pem example.
212257convert_to_pem () {
258+ if [[ -v WOLFSSL_NO_DER_TO_PEM ]]; then
259+ echo ' Skipping -- WOLFSSL_NO_DER_TO_PEM'
260+ TEST_SKIP_CNT=$(( TEST_SKIP_CNT+ 1 ))
261+ return 0
262+ fi
213263 if [ " $SKIP " = " " -a " $FAILED " = " " ]; then
214264 echo " $PEM_EXE --der -t \" $PEM_TYPE \" $* -out $tmp_pem_file "
215265 $PEM_EXE --der " $@ " -t " $PEM_TYPE " -out $tmp_pem_file
@@ -239,6 +289,11 @@ compare_pem() {
239289# @param [in] $3 PEM type expected in PEM file and to place in created PEM
240290# file.
241291pem_der_exp () {
292+ if [[ -v WOLFSSL_NO_DER_TO_PEM ]]; then
293+ echo ' Skipping -- WOLFSSL_NO_DER_TO_PEM'
294+ TEST_SKIP_CNT=$(( TEST_SKIP_CNT+ 1 ))
295+ return 0
296+ fi
242297 if [ " $SKIP " = " " -a " $FAILED " = " " ]; then
243298 PEM_FILE=$1
244299 DER_FILE=$2
@@ -269,6 +324,11 @@ pem_der_exp() {
269324#
270325# @param [in] $@ Command line parameters to pem example when encrypting.
271326der_pem_enc () {
327+ if [[ -v WOLFSSL_NO_DER_TO_PEM ]]; then
328+ echo ' Skipping -- WOLFSSL_NO_DER_TO_PEM'
329+ TEST_SKIP_CNT=$(( TEST_SKIP_CNT+ 1 ))
330+ return 0
331+ fi
272332 PEM_TYPE=" ENCRYPTED PRIVATE KEY"
273333 convert_to_pem -in ./certs/server-key.der -p yassl123 " $@ " || return $?
274334 convert_to_der -in $tmp_pem_file -p yassl123 || return $?
0 commit comments