blob: 3929c7574bba812e94c7699648d644f7e5b9829a [file] [log] [blame]
Andy Polyakoveda2da32009-04-27 15:46:32 +00001#!/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
Andy Polyakov79937922012-07-15 13:38:51 +000017if [ 1 ]; then
Andy Polyakoveda2da32009-04-27 15:46:32 +000018
19 HASH=`cat $PROG | $PROG dgst -hex`
20
Andy Polyakov49535cc2010-04-10 14:07:40 +000021 AES_ALGS=" aes-128-ctr aes-128-ecb aes-128-cbc aes-128-cfb aes-128-ofb \
22 aes-192-ctr aes-192-ecb aes-192-cbc aes-192-cfb aes-192-ofb \
23 aes-256-ctr aes-256-ecb aes-256-cbc aes-256-cfb aes-256-ofb"
Andy Polyakovd608b4d2009-05-02 09:04:17 +000024 BUFSIZE="16 32 48 64 80 96 128 144 999"
Andy Polyakoveda2da32009-04-27 15:46:32 +000025
26 nerr=0
27
Andy Polyakovd608b4d2009-05-02 09:04:17 +000028 for alg in $AES_ALGS; do
Andy Polyakoveda2da32009-04-27 15:46:32 +000029 echo $alg
30 for bufsize in $BUFSIZE; do
31 TEST=`( cat $PROG | \
Andy Polyakov79937922012-07-15 13:38:51 +000032 $PROG enc -e -k "$HASH" -$alg -bufsize $bufsize | \
33 env OPENSSL_ia32cap=~0x0200000000000000 $PROG enc -d -k "$HASH" -$alg | \
Andy Polyakoveda2da32009-04-27 15:46:32 +000034 $PROG dgst -hex ) 2>/dev/null`
35 if [ "$TEST" != "$HASH" ]; then
36 echo "-$alg/$bufsize encrypt test failed"
37 nerr=`expr $nerr + 1`
38 fi
39 done
40 for bufsize in $BUFSIZE; do
41 TEST=`( cat $PROG | \
Andy Polyakov79937922012-07-15 13:38:51 +000042 env OPENSSL_ia32cap=~0x0200000000000000 $PROG enc -e -k "$HASH" -$alg | \
43 $PROG enc -d -k "$HASH" -$alg -bufsize $bufsize | \
Andy Polyakoveda2da32009-04-27 15:46:32 +000044 $PROG dgst -hex ) 2>/dev/null`
45 if [ "$TEST" != "$HASH" ]; then
46 echo "-$alg/$bufsize decrypt test failed"
47 nerr=`expr $nerr + 1`
48 fi
49 done
50 TEST=`( cat $PROG | \
Andy Polyakov79937922012-07-15 13:38:51 +000051 $PROG enc -e -k "$HASH" -$alg | \
52 $PROG enc -d -k "$HASH" -$alg | \
Andy Polyakoveda2da32009-04-27 15:46:32 +000053 $PROG dgst -hex ) 2>/dev/null`
54 if [ "$TEST" != "$HASH" ]; then
55 echo "-$alg en/decrypt test failed"
56 nerr=`expr $nerr + 1`
57 fi
58 done
59
60 if [ $nerr -gt 0 ]; then
61 echo "AESNI engine test failed."
62 exit 1;
63 fi
64else
65 echo "AESNI engine is not available"
66fi
67
68exit 0