summaryrefslogtreecommitdiff
path: root/tests/pkcs12-decode
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2014-06-26 09:48:34 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2014-06-26 09:49:16 +0200
commit89effeb2f17c33cd0ba7e90b21dfa1d535ec1072 (patch)
tree43b4ea51e000f599ca44777b3350b4fd115ee88e /tests/pkcs12-decode
parente363e3d839fe2a4cd57aafc1755b63f8740028ee (diff)
downloadgnutls-89effeb2f17c33cd0ba7e90b21dfa1d535ec1072.tar.gz
tests: Added new tests on PKCS #12 structure generation and decoding.
Diffstat (limited to 'tests/pkcs12-decode')
-rwxr-xr-xtests/pkcs12-decode/pkcs1261
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/pkcs12-decode/pkcs12 b/tests/pkcs12-decode/pkcs12
index c8303ba7d1..a32f642f41 100755
--- a/tests/pkcs12-decode/pkcs12
+++ b/tests/pkcs12-decode/pkcs12
@@ -24,6 +24,7 @@
srcdir=${srcdir:-.}
top_builddir=${top_builddir:-../..}
CERTTOOL=${CERTTOOL:-${top_builddir}/src/certtool$EXEEXT}
+DIFF=${DIFF:-diff}
DEBUG=""
if test "x$1" != "x";then
@@ -57,5 +58,65 @@ if test $rc != 0; then
ret=1
fi
+# test whether we can encode a certificate and a key
+$CERTTOOL --to-p12 --password 1234 --p12-name "my-key" --load-certificate $srcdir/../certs/cert-ecc256.pem --load-privkey $srcdir/../certs/ecc256.pem --outder --outfile out.p12 >/dev/null 2>&1
+rc=$?
+if test $rc != 0; then
+ echo "PKCS12 FATAL encoding"
+ ret=1
+fi
+
+$CERTTOOL --p12-info --inder --password 1234 --infile out.p12 >out.pem 2>/dev/null
+rc=$?
+if test $rc != 0; then
+ echo "PKCS12 FATAL decrypting/decoding"
+ ret=1
+fi
+
+grep "BEGIN ENCRYPTED PRIVATE KEY" out.pem >/dev/null 2>&1
+rc=$?
+
+if test "$rc" != "0"; then
+ exit $rc
+fi
+
+grep "BEGIN CERTIFICATE" out.pem >/dev/null 2>&1
+rc=$?
+
+if test "$rc" != "0"; then
+ exit $rc
+fi
+
+# test whether we can encode a certificate, a key and a CA
+$CERTTOOL --to-p12 --password 123456 --p12-name "my-key" --load-certificate $srcdir/../certs/cert-ecc256.pem --load-privkey $srcdir/../certs/ecc256.pem --load-ca-certificate $srcdir/../certs/ca-cert-ecc.pem --outder --outfile out.p12 >/dev/null 2>&1
+rc=$?
+if test $rc != 0; then
+ echo "PKCS12 FATAL encoding 2"
+ exit 1
+fi
+
+$CERTTOOL --p12-info --inder --password 123456 --infile out.p12 >out.pem 2>/dev/null
+rc=$?
+if test $rc != 0; then
+ echo "PKCS12 FATAL decrypting/decoding 2"
+ exit 1
+fi
+
+grep "BEGIN ENCRYPTED PRIVATE KEY" out.pem >/dev/null 2>&1
+rc=$?
+
+if test "$rc" != "0"; then
+ exit $rc
+fi
+
+count=`grep -c "BEGIN CERTIFICATE" out.pem`
+
+if test "$count" != "2"; then
+ echo "Only one certificate was included"
+ exit 1
+fi
+
+rm -f out.pem out.p12
+
#echo "NEON PKCS12 DONE (rc $ret)"
exit $ret