1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/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 aesni | grep -v no-aesni; 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 -engine aesni | \
- $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 | \
- $PROG enc -e -k "$HASH" -$alg | \
- $PROG enc -d -k "$HASH" -$alg -bufsize $bufsize -engine aesni | \
- $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 -engine aesni | \
- $PROG enc -d -k "$HASH" -$alg -engine aesni | \
- $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
|