1#!/bin/sh 2 3PROG=$1 4 5if [ -x $PROG ]; then 6 if expr "x`$PROG version`" : "xOpenSSL" > /dev/null; then 7 : 8 else 9 echo "$PROG is not OpenSSL executable" 10 exit 1 11 fi 12else 13 echo "$PROG is not executable" 14 exit 1; 15fi 16 17if $PROG engine padlock | grep -v no-ACE; then 18 19 HASH=`cat $PROG | $PROG dgst -hex` 20 21 ACE_ALGS=" aes-128-ecb aes-192-ecb aes-256-ecb \ 22 aes-128-cbc aes-192-cbc aes-256-cbc \ 23 aes-128-cfb aes-192-cfb aes-256-cfb \ 24 aes-128-ofb aes-192-ofb aes-256-ofb" 25 26 nerr=0 27 28 for alg in $ACE_ALGS; do 29 echo $alg 30 TEST=`( cat $PROG | \ 31 $PROG enc -e -k "$HASH" -$alg -bufsize 999 -engine padlock | \ 32 $PROG enc -d -k "$HASH" -$alg | \ 33 $PROG dgst -hex ) 2>/dev/null` 34 if [ "$TEST" != "$HASH" ]; then 35 echo "-$alg encrypt test failed" 36 nerr=`expr $nerr + 1` 37 fi 38 TEST=`( cat $PROG | \ 39 $PROG enc -e -k "$HASH" -$alg | \ 40 $PROG enc -d -k "$HASH" -$alg -bufsize 999 -engine padlock | \ 41 $PROG dgst -hex ) 2>/dev/null` 42 if [ "$TEST" != "$HASH" ]; then 43 echo "-$alg decrypt test failed" 44 nerr=`expr $nerr + 1` 45 fi 46 TEST=`( cat $PROG | \ 47 $PROG enc -e -k "$HASH" -$alg -engine padlock | \ 48 $PROG enc -d -k "$HASH" -$alg -engine padlock | \ 49 $PROG dgst -hex ) 2>/dev/null` 50 if [ "$TEST" != "$HASH" ]; then 51 echo "-$alg en/decrypt test failed" 52 nerr=`expr $nerr + 1` 53 fi 54 done 55 56 if [ $nerr -gt 0 ]; then 57 echo "PadLock ACE test failed." 58 exit 1; 59 fi 60else 61 echo "PadLock ACE is not available" 62fi 63 64exit 0 65