#!/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 [ 1 ]; then HASH=`cat $PROG | $PROG dgst -hex` AES_ALGS=" aes-128-ctr aes-128-ecb aes-128-cbc aes-128-cfb aes-128-ofb \ aes-192-ctr aes-192-ecb aes-192-cbc aes-192-cfb aes-192-ofb \ aes-256-ctr aes-256-ecb aes-256-cbc aes-256-cfb aes-256-ofb" BUFSIZE="16 32 48 64 80 96 128 144 999" nerr=0 for alg in $AES_ALGS; do echo $alg for bufsize in $BUFSIZE; do TEST=`( cat $PROG | \ $PROG enc -e -k "$HASH" -$alg -bufsize $bufsize | \ env OPENSSL_ia32cap=~0x0200000000000000 $PROG enc -d -k "$HASH" -$alg | \ $PROG dgst -hex ) 2>/dev/null` if [ "$TEST" != "$HASH" ]; then echo "-$alg/$bufsize encrypt test failed" nerr=`expr $nerr + 1` fi done for bufsize in $BUFSIZE; do TEST=`( cat $PROG | \ env OPENSSL_ia32cap=~0x0200000000000000 $PROG enc -e -k "$HASH" -$alg | \ $PROG enc -d -k "$HASH" -$alg -bufsize $bufsize | \ $PROG dgst -hex ) 2>/dev/null` if [ "$TEST" != "$HASH" ]; then echo "-$alg/$bufsize decrypt test failed" nerr=`expr $nerr + 1` fi done TEST=`( cat $PROG | \ $PROG enc -e -k "$HASH" -$alg | \ $PROG enc -d -k "$HASH" -$alg | \ $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 "AESNI engine test failed." exit 1; fi else echo "AESNI engine is not available" fi exit 0