testcrypto.sh revision d58e33bfabfee19a035031dac633d36659738d56
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews#!/bin/sh
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Permission to use, copy, modify, and/or distribute this software for any
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# purpose with or without fee is hereby granted, provided that the above
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# copyright notice and this permission notice appear in all copies.
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews#
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
fce704e7515fbd1ed70cb3781ff8d5b50ae87b8aMark Andrews# PERFORMANCE OF THIS SOFTWARE.
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark AndrewsSYSTEMTESTTOP=${SYSTEMTESTTOP:=..}
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews. $SYSTEMTESTTOP/conf.sh
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrewstest -e $RANDFILE || $GENRANDOM 400 $RANDFILE
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrewsprog=$0
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrewsargs="-r $RANDFILE"
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrewsalg="-a RSAMD5 -b 512"
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrewsquiet=0
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews
msg1="cryptography"
msg2="--with-openssl, or --enable-native-pkcs11 --with-pkcs11"
while test "$#" -gt 0; do
case $1 in
-q)
args="$args -q"
quiet=1
;;
rsa|RSA)
alg=""
msg1="RSA cryptography"
;;
gost|GOST)
alg="-a eccgost"
msg1="GOST cryptography"
msg2="--with-gost"
;;
ecdsa|ECDSA)
alg="-a ecdsap256sha256"
msg1="ECDSA cryptography"
msg2="--with-ecdsa"
;;
*)
echo "${prog}: unknown argument"
exit 1
;;
esac
shift
done
if $KEYGEN $args $alg foo > /dev/null 2>&1
then
rm -f Kfoo*
else
if test $quiet -eq 0; then
echo "I:This test requires support for $msg1" >&2
echo "I:configure with $msg2" >&2
fi
exit 255
fi