diff options
author | Andy Polyakov <appro@openssl.org> | 2005-12-28 17:16:56 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2005-12-28 17:16:56 +0100 |
commit | 34b537ee66eb7d327ff04121ccb7b9cc6b07ab3e (patch) | |
tree | 46a7c1387083b44f9434293d1dcbb1a4ec20e1f4 /test/test_padlock | |
parent | Minor sparcv9 clean-ups. (diff) | |
download | openssl-34b537ee66eb7d327ff04121ccb7b9cc6b07ab3e.tar.xz openssl-34b537ee66eb7d327ff04121ccb7b9cc6b07ab3e.zip |
Fix CFB and OFB modes in eng_padlock.c. Engine was consistent with itself,
but not interoperable with the rest of the world. test_padlock script is
added mostly for reference.
Diffstat (limited to 'test/test_padlock')
-rwxr-xr-x | test/test_padlock | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/test/test_padlock b/test/test_padlock new file mode 100755 index 0000000000..6dd4911f4f --- /dev/null +++ b/test/test_padlock @@ -0,0 +1,64 @@ +#!/bin/sh + +PROG=$1 + +if [ -x $PROG ]; then + if expr "x`$PROG version`" : "xOpenSSL" > /dev/null; then + : + else + echo "$PROG is not OpenSSL executable" + exit 1 + fi +else + echo "$PROG is not executable" + exit 1; +fi + +if $PROG engine padlock | grep -v no-ACE; then + + HASH=`cat $PROG | $PROG dgst -hex` + + ACE_ALGS=" aes-128-ecb aes-192-ecb aes-256-ecb \ + aes-128-cbc aes-192-cbc aes-256-cbc \ + aes-128-cfb aes-192-cfb aes-256-cfb \ + aes-128-ofb aes-192-ofb aes-256-ofb" + + nerr=0 + + for alg in $ACE_ALGS; do + echo $alg + TEST=`( cat $PROG | \ + $PROG enc -e -k $HASH -$alg -bufsize 999 -engine padlock | \ + $PROG enc -d -k $HASH -$alg | \ + $PROG dgst -hex ) 2>/dev/null` + if [ $TEST != $HASH ]; then + echo "-$alg encrypt test failed" + nerr=`expr $nerr + 1` + fi + TEST=`( cat $PROG | \ + $PROG enc -e -k $HASH -$alg | \ + $PROG enc -d -k $HASH -$alg -bufsize 999 -engine padlock | \ + $PROG dgst -hex ) 2>/dev/null` + if [ $TEST != $HASH ]; then + echo "-$alg decrypt test failed" + nerr=`expr $nerr + 1` + fi + TEST=`( cat $PROG | \ + $PROG enc -e -k $HASH -$alg -engine padlock | \ + $PROG enc -d -k $HASH -$alg -engine padlock | \ + $PROG dgst -hex ) 2>/dev/null` + if [ $TEST != $HASH ]; then + echo "-$alg en/decrypt test failed" + nerr=`expr $nerr + 1` + fi + done + + if [ $nerr -gt 0 ]; then + echo "PadLock ACE test failed." + exit 1; + fi +else + echo "PadLock ACE is not available" +fi + +exit 0 |