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