xref: /minix3/external/bsd/bind/dist/bin/tests/system/testcrypto.sh (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1#!/bin/sh
2#
3# Copyright (C) 2014  Internet Systems Consortium, Inc. ("ISC")
4#
5# Permission to use, copy, modify, and/or distribute this software for any
6# purpose with or without fee is hereby granted, provided that the above
7# copyright notice and this permission notice appear in all copies.
8#
9# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15# PERFORMANCE OF THIS SOFTWARE.
16
17SYSTEMTESTTOP=${SYSTEMTESTTOP:=..}
18. $SYSTEMTESTTOP/conf.sh
19
20test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
21
22prog=$0
23
24args="-r $RANDFILE"
25alg="-a RSAMD5 -b 512"
26quiet=0
27
28msg1="cryptography"
29msg2="--with-openssl, or --enable-native-pkcs11 --with-pkcs11"
30while test "$#" -gt 0; do
31        case $1 in
32        -q)
33                args="$args -q"
34                quiet=1
35                ;;
36        rsa|RSA)
37                alg=""
38                msg1="RSA cryptography"
39                ;;
40        gost|GOST)
41                alg="-a eccgost"
42                msg1="GOST cryptography"
43                msg2="--with-gost"
44                ;;
45        ecdsa|ECDSA)
46                alg="-a ecdsap256sha256"
47                msg1="ECDSA cryptography"
48                msg2="--with-ecdsa"
49                ;;
50        *)
51                echo "${prog}: unknown argument"
52                exit 1
53                ;;
54        esac
55        shift
56done
57
58
59if $KEYGEN $args $alg foo > /dev/null 2>&1
60then
61    rm -f Kfoo*
62else
63    if test $quiet -eq 0; then
64        echo "I:This test requires support for $msg1" >&2
65        echo "I:configure with $msg2" >&2
66    fi
67    exit 255
68fi
69