There's really no need to use $ENV::HOME
[openssl.git] / test / test_aesni
1 #!/bin/sh
2
3 PROG=$1
4
5 if [ -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
12 else
13     echo "$PROG is not executable"
14     exit 1;
15 fi
16
17 if $PROG engine aesni | grep -v no-aesni; then
18
19     HASH=`cat $PROG | $PROG dgst -hex`
20
21     AES_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     BUFSIZE="16 32 48 64 80 96 128 144 999"
26
27     nerr=0
28
29     for alg in $AES_ALGS; do
30         echo $alg
31         for bufsize in $BUFSIZE; do
32             TEST=`(     cat $PROG | \
33                 $PROG enc -e -k "$HASH" -$alg -bufsize $bufsize -engine aesni | \
34                 $PROG enc -d -k "$HASH" -$alg | \
35                 $PROG dgst -hex ) 2>/dev/null`
36             if [ "$TEST" != "$HASH" ]; then
37                 echo "-$alg/$bufsize encrypt test failed"
38                 nerr=`expr $nerr + 1`
39             fi
40         done
41         for bufsize in $BUFSIZE; do 
42             TEST=`(     cat $PROG | \
43                 $PROG enc -e -k "$HASH" -$alg | \
44                 $PROG enc -d -k "$HASH" -$alg -bufsize $bufsize -engine aesni | \
45                 $PROG dgst -hex ) 2>/dev/null`
46             if [ "$TEST" != "$HASH" ]; then
47                 echo "-$alg/$bufsize decrypt test failed"
48                 nerr=`expr $nerr + 1`
49             fi
50         done
51         TEST=`( cat $PROG | \
52                 $PROG enc -e -k "$HASH" -$alg -engine aesni | \
53                 $PROG enc -d -k "$HASH" -$alg -engine aesni | \
54                 $PROG dgst -hex ) 2>/dev/null`
55         if [ "$TEST" != "$HASH" ]; then
56                 echo "-$alg en/decrypt test failed"
57                 nerr=`expr $nerr + 1`
58         fi
59     done
60
61     if [ $nerr -gt 0 ]; then
62         echo "AESNI engine test failed."
63         exit 1;
64     fi
65 else
66     echo "AESNI engine is not available"
67 fi
68
69 exit 0