Skip to content

Commit

Permalink
Add testing
Browse files Browse the repository at this point in the history
  • Loading branch information
lealem47 committed Oct 30, 2024
1 parent 8780c70 commit 1fc2847
Show file tree
Hide file tree
Showing 8 changed files with 100 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/fsanitize-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: ./autogen.sh
- name: wolfssl configure
working-directory: ./wolfssl
run: ./configure --enable-wolfclu --enable-crl --enable-dsa
run: ./configure --enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7
- name: wolfssl make
working-directory: ./wolfssl
run: make
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
run: ./autogen.sh
- name: wolfssl configure
working-directory: ./wolfssl_src
run: ./configure --enable-wolfclu --enable-crl --enable-dsa --prefix=$GITHUB_WORKSPACE/build-dir
run: ./configure --enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7 --prefix=$GITHUB_WORKSPACE/build-dir
- name: wolfssl make
working-directory: ./wolfssl_src
run: make
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ubuntu-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: ./autogen.sh
- name: wolfssl configure
working-directory: ./wolfssl
run: ./configure --enable-wolfclu --enable-crl --enable-dsa
run: ./configure --enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7
- name: wolfssl make
working-directory: ./wolfssl
run: make
Expand Down
Binary file added certs/signed.p7b
Binary file not shown.
37 changes: 37 additions & 0 deletions certs/signed.p7s
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
-----BEGIN PKCS7-----
MIIGXQYJKoZIhvcNAQcCoIIGTjCCBkoCAQExDzANBglghkgBZQMEAgEFADAkBgkq
hkiG9w0BBwGgFwQVTXkgZW5jb2RlZCBERVIgY2VydC4AoIIEPjCCBDowggMioAMC
AQICAhAAMA0GCSqGSIb3DQEBCwUAMIGXMQswCQYDVQQGEwJVUzETMBEGA1UECAwK
V2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEQMA4GA1UECgwHd29sZlNTTDEU
MBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEf
MB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAeFw0xODA2MDQyMTE0MzJa
Fw0yODA2MDEyMTE0MzJaMIGUMQswCQYDVQQGEwJVUzEPMA0GA1UECAwGT3JnZW9u
MREwDwYDVQQHDAhQb3J0bGFuZDEQMA4GA1UECgwHd29sZlNTTDEUMBIGA1UECwwL
RGV2ZWxvcG1lbnQxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3
DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAKTI+ASwWUKkrASzJTP0R6x1L/O3LZ/ey4NOyd0jYbuWwBtrvw82OVA+
WraNtvHB4LEDTyuTWuI7ea/XymAEg3LZe5PHsyrMNdJTHkEeo585qrLAAoOmmagk
Ut8dcg19CqPJPSWQvkek/iNm1SXzNKSS5UAHkJuAFwsIGnHp4RcqV+u6xSKCnbjx
zNz2EkCLC570sC207YCQC9HvfLQJLLISFxvXRQJbfv9TQlkkM+E9kcQkqkHLTHfP
l4ONFhjRZ9V+1mxzZohpWDQ8l2os4GxL49gQWs606S9NWFib8lwWcKP38aQlaTPC
ZxflLJV2PBmm4NVQRmzWVJmjuz9S2ZMCAwEAAaOBkDCBjTAJBgNVHRMEAjAAMBEG
CWCGSAGG+EIBAQQEAwIFoDAdBgNVHQ4EFgQUSSuLDJOQE7Hw5XGpWWZQmHGZXPUw
HwYDVR0jBBgwFoAUPGcnmd69ZbaeISfNuZdystfAg9cwDgYDVR0PAQH/BAQDAgXg
MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDANBgkqhkiG9w0BAQsFAAOC
AQEASpa023SLsmTnBqx18BhaVyAYlLFjetCeVZhlW8Ou/OtOS1VWVgYUHzLpteSw
emhS/0L1MJ0KJxPetx1u4m4oZDSqy+WioGojXhyo6YVou7YvRoot40m+wFZYlteV
kj0T+4x0Q7f93RsIQRwW9QrfIHvTFJCoQpb6lYPagQq61O+vIeGYWyGuKxbo4gR4
Uvi+dOLN+zQsT+SzuqDO440iNT63R5eXiBmRw26Da6OPNZNfGCv2AheRdCdInLLa
OkG45qq88vlvbFIWy/5KqGypnbJdyY1zGCW8UUlgxzmoMeM6pw5Cz7vgDbSYs1GM
ihTFP/5F+EAOLbrihPvVOOh7nDGCAcowggHGAgEBMIGeMIGXMQswCQYDVQQGEwJV
UzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEQMA4GA1UE
CgwHd29sZlNTTDEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxGDAWBgNVBAMMD3d3dy53
b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbQICEAAw
DQYJYIZIAWUDBAIBBQAwDQYJKoZIhvcNAQELBQAEggEAf1T6uTLIc280EVGMVh9D
jayQOobfGodL0xNO39aOo3C50PGDGD+yMX6G6aXq6OCFuQ8ScxAt4JLZ2FoLYefG
7r6sesIIM1QJHShDVCbx1NdYDDLsKqM97YRhfY0Xm5SiBP6ZaveKm6cLHqXhaJxu
n//AIQeTm/NeIIkemNPIckvxzINA/friT1zLVaREiW457JJuNjmj8ds6nJpJjMbA
7WCnMH7AblNfo2JphvU6szsx2DYxhCd2s5u65xu7kVaI01DkknsPae/VHB2iLmxm
90X+Mnq0vVSy7Mt6s6wdXRxQJEhnPxSkLlU+NvpYl0jCVOY09uAehnjP9tapTX3C
1g==
-----END PKCS7-----
7 changes: 6 additions & 1 deletion src/pkcs/clu_pkcs7.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ int wolfCLU_PKCS7(int argc, char** argv)
byte* derContent = NULL;
int bufSz;
int derContentSz;
int freePkcs7 = 0;

opterr = 0; /* do not display unrecognized options */
optind = 0; /* start at indent 0 */
Expand Down Expand Up @@ -142,6 +143,8 @@ int wolfCLU_PKCS7(int argc, char** argv)
ret = WOLFCLU_FATAL_ERROR;
}
else {
freePkcs7 = 1;

if (wc_PKCS7_Init(&pkcs7, HEAP_HINT, INVALID_DEVID)) {
wolfCLU_LogError("Error on pkcs init");
ret = WOLFCLU_FATAL_ERROR;
Expand Down Expand Up @@ -221,7 +224,9 @@ int wolfCLU_PKCS7(int argc, char** argv)

wolfSSL_BIO_free(bioIn);
wolfSSL_BIO_free(bioOut);
wc_PKCS7_Free(&pkcs7);

if (freePkcs7)
wc_PKCS7_Free(&pkcs7);

if (derObj != NULL)
wc_FreeDer(&derObj);
Expand Down
1 change: 1 addition & 0 deletions tests/pkcs/include.am
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
# ALl path should be given relative to root directory

dist_noinst_SCRIPTS+=tests/pkcs/pkcs12-test.sh
dist_noinst_SCRIPTS+=tests/pkcs/pkcs7-test.sh

53 changes: 53 additions & 0 deletions tests/pkcs/pkcs7-test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/bin/bash

if [ ! -d ./certs/ ]; then
#return 77 to indicate to automake that the test was skipped
exit 77
fi

# Skip test if filesystem disabled
FILESYSTEM=`cat config.log | grep "disable\-filesystem"`
if [ "$FILESYSTEM" != "" ]
then
exit 77
fi

RESULT=`./wolfssl pkcs7 -inform DER -in signed.p7b`
echo "$RESULT" | grep "Recompile wolfSSL with PKCS7 support"
if [ $? == 0 ]; then
#return 77 to indicate to automake that the test was skipped
exit 77
fi

run() {
RESULT=`./wolfssl $1`

if [ $? != 0 ]; then
echo "Failed on test \"./wolfssl $1\""
exit 99
fi
}

run "pkcs7 -inform DER -print_certs -in signed.p7b"

#check that certs were printed
echo $RESULT | grep "CERTIFICATE"
if [ $? != 0 ]; then
echo "ERROR didn't find cert with -print_certs option"
exit 99
fi

#check der to pem
run "pkcs7 -inform DER -in signed.p7b -outform PEM"

echo $RESULT | grep "BEGIN PKCS7"
if [ $? != 0 ]; then
echo "ERROR didn't PKCS7 PEM header in output"
exit 99
fi

#check pem to der
run "pkcs7 -inform PEM -in signed.p7s -outform DER"

echo "Done"
exit 0

0 comments on commit 1fc2847

Please sign in to comment.