1 1.1 elric #!/bin/sh 2 1.1 elric # 3 1.1 elric # Copyright (c) 2007 Kungliga Tekniska Hgskolan 4 1.1 elric # (Royal Institute of Technology, Stockholm, Sweden). 5 1.1 elric # All rights reserved. 6 1.1 elric # 7 1.1 elric # Redistribution and use in source and binary forms, with or without 8 1.1 elric # modification, are permitted provided that the following conditions 9 1.1 elric # are met: 10 1.1 elric # 11 1.1 elric # 1. Redistributions of source code must retain the above copyright 12 1.1 elric # notice, this list of conditions and the following disclaimer. 13 1.1 elric # 14 1.1 elric # 2. Redistributions in binary form must reproduce the above copyright 15 1.1 elric # notice, this list of conditions and the following disclaimer in the 16 1.1 elric # documentation and/or other materials provided with the distribution. 17 1.1 elric # 18 1.1 elric # 3. Neither the name of the Institute nor the names of its contributors 19 1.1 elric # may be used to endorse or promote products derived from this software 20 1.1 elric # without specific prior written permission. 21 1.1 elric # 22 1.1 elric # THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 23 1.1 elric # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24 1.1 elric # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 1.1 elric # ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 26 1.1 elric # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27 1.1 elric # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28 1.1 elric # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 1.1 elric # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 1.1 elric # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31 1.1 elric # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32 1.1 elric # SUCH DAMAGE. 33 1.1 elric # 34 1.1.1.2 elric # Id: test_chain.in 20809 2007-06-03 03:19:06Z lha 35 1.1 elric # 36 1.1 elric 37 1.1 elric srcdir="@srcdir@" 38 1.1 elric objdir="@objdir@" 39 1.1 elric 40 1.1 elric hxtool="${TESTS_ENVIRONMENT} ./hxtool ${stat}" 41 1.1 elric if ${hxtool} info | grep 'rsa: hcrypto null RSA' > /dev/null ; then 42 1.1 elric exit 77 43 1.1 elric fi 44 1.1 elric if ${hxtool} info | grep 'rand: not available' > /dev/null ; then 45 1.1 elric exit 77 46 1.1 elric fi 47 1.1 elric 48 1.1 elric echo "print DIR" 49 1.1.1.3 christos ${hxtool} print --content DIR:$srcdir/data > /dev/null 2>/dev/null || exit 1 50 1.1 elric 51 1.1 elric echo "print FILE" 52 1.1 elric for a in $srcdir/data/*.crt; do 53 1.1 elric ${hxtool} print --content FILE:"$a" > /dev/null 2>/dev/null 54 1.1 elric done 55 1.1 elric 56 1.1 elric echo "print NULL" 57 1.1 elric ${hxtool} print --content NULL: > /dev/null || exit 1 58 1.1 elric 59 1.1 elric echo "copy dance" 60 1.1 elric ${hxtool} certificate-copy \ 61 1.1 elric FILE:${srcdir}/data/test.crt PEM-FILE:cert-pem.tmp || exit 1 62 1.1 elric 63 1.1 elric ${hxtool} certificate-copy PEM-FILE:cert-pem.tmp DER-FILE:cert-der.tmp || exit 1 64 1.1 elric ${hxtool} certificate-copy DER-FILE:cert-der.tmp PEM-FILE:cert-pem2.tmp || exit 1 65 1.1 elric 66 1.1 elric cmp cert-pem.tmp cert-pem2.tmp || exit 1 67 1.1 elric 68 1.1 elric echo "verify n0ll cert (fail)" 69 1.1 elric ${hxtool} verify --missing-revoke \ 70 1.1 elric --hostname=foo.com \ 71 1.1 elric cert:FILE:$srcdir/data/n0ll.pem \ 72 1.1 elric anchor:FILE:$srcdir/data/n0ll.pem && exit 1 73 1.1 elric 74 1.1 elric echo "verify n0ll cert (fail)" 75 1.1 elric ${hxtool} verify --missing-revoke \ 76 1.1 elric cert:FILE:$srcdir/data/n0ll.pem \ 77 1.1 elric anchor:FILE:$srcdir/data/n0ll.pem && exit 1 78 1.1 elric 79 1.1 elric echo "check that windows cert with utf16 in printable string works" 80 1.1 elric ${hxtool} verify --missing-revoke \ 81 1.1 elric cert:FILE:$srcdir/data/win-u16-in-printablestring.der \ 82 1.1 elric anchor:FILE:$srcdir/data/win-u16-in-printablestring.der || exit 1 83 1.1 elric 84 1.1 elric exit 0 85