Home | History | Annotate | Line # | Download | only in scripts
test021-certificate revision 1.1.1.3
      1      1.1  lukem #! /bin/sh
      2  1.1.1.3   adam # OpenLDAP: pkg/ldap/tests/scripts/test021-certificate,v 1.19.2.6 2010/04/19 19:14:34 quanah Exp
      3      1.1  lukem ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
      4      1.1  lukem ##
      5  1.1.1.3   adam ## Copyright 1998-2010 The OpenLDAP Foundation.
      6      1.1  lukem ## All rights reserved.
      7      1.1  lukem ##
      8      1.1  lukem ## Redistribution and use in source and binary forms, with or without
      9      1.1  lukem ## modification, are permitted only as authorized by the OpenLDAP
     10      1.1  lukem ## Public License.
     11      1.1  lukem ##
     12      1.1  lukem ## A copy of this license is available in the file LICENSE in the
     13      1.1  lukem ## top-level directory of the distribution or, alternatively, at
     14      1.1  lukem ## <http://www.OpenLDAP.org/license.html>.
     15      1.1  lukem 
     16      1.1  lukem echo "running defines.sh"
     17      1.1  lukem . $SRCDIR/scripts/defines.sh
     18      1.1  lukem 
     19      1.1  lukem mkdir -p $TESTDIR $DBDIR1
     20      1.1  lukem 
     21      1.1  lukem echo "Running slapadd to build slapd database..."
     22      1.1  lukem . $CONFFILTER $BACKEND $MONITORDB < $CONF > $CONF1
     23      1.1  lukem #echo $SLAPADD -f $CONF1 -l $LDIFORDERED
     24      1.1  lukem $SLAPADD -f $CONF1 -l $LDIFORDERED
     25      1.1  lukem RC=$?
     26      1.1  lukem if test $RC != 0 ; then
     27      1.1  lukem 	echo "slapadd failed ($RC)!"
     28      1.1  lukem 	exit $RC
     29      1.1  lukem fi
     30      1.1  lukem 
     31      1.1  lukem echo "Starting slapd on TCP/IP port $PORT1..."
     32      1.1  lukem #valgrind -v --gdb-attach=yes --logfile=info --num-callers=16 --leak-check=yes --leak-resolution=high $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING </dev/tty > $LOG1 2>&1 &
     33      1.1  lukem $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
     34      1.1  lukem PID=$!
     35      1.1  lukem if test $WAIT != 0 ; then
     36      1.1  lukem     echo PID $PID
     37      1.1  lukem     read foo
     38      1.1  lukem fi
     39      1.1  lukem KILLPIDS="$PID"
     40      1.1  lukem 
     41      1.1  lukem echo "Testing certificate handling..."
     42      1.1  lukem 
     43      1.1  lukem sleep 1
     44      1.1  lukem 
     45      1.1  lukem for i in 0 1 2 3 4 5; do
     46      1.1  lukem 	$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
     47      1.1  lukem 		'objectclass=*' > /dev/null 2>&1
     48      1.1  lukem 	RC=$?
     49      1.1  lukem 	if test $RC = 0 ; then
     50      1.1  lukem 		break
     51      1.1  lukem 	fi
     52      1.1  lukem 	echo "Waiting 5 seconds for slapd to start..."
     53      1.1  lukem 	sleep 5
     54      1.1  lukem done
     55      1.1  lukem 
     56      1.1  lukem if test $RC != 0 ; then
     57      1.1  lukem 	echo "ldapsearch failed ($RC)!"
     58      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
     59      1.1  lukem 	exit $RC
     60      1.1  lukem fi
     61      1.1  lukem 
     62      1.1  lukem echo "Add certificates..."
     63      1.1  lukem $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \
     64      1.1  lukem 	$TESTOUT 2>&1 << EOMODS
     65      1.1  lukem version: 1
     66      1.1  lukem 
     67      1.1  lukem # LEADING COMMENT AND WHITE SPACE
     68      1.1  lukem 
     69      1.1  lukem # should use certificationAuthority instead of extensibleObject
     70      1.1  lukem dn: dc=example,dc=com
     71      1.1  lukem changetype: modify
     72      1.1  lukem add: objectClass
     73      1.1  lukem objectClass: extensibleObject
     74      1.1  lukem -
     75      1.1  lukem add: cAcertificate;binary
     76      1.1  lukem cAcertificate;binary::
     77      1.1  lukem  MIIDVDCCAr2gAwIBAgIBADANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
     78      1.1  lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
     79      1.1  lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
     80      1.1  lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMDQxWhcNMDQxMDE2MTYzMDQxWjB3MQswCQYD
     81      1.1  lukem  VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAg
     82      1.1  lukem  RXhhbXBsZSwgTHRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJ
     83      1.1  lukem  ARYOY2FAZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANlj
     84      1.1  lukem  UGxiisAzEiALukzt3Gj/24MRw1J0AZx6GncXLhpNJsAFyA0bYZdAzgvydKeq/uX0
     85      1.1  lukem  i5o/4Byc3G71XAAcbJZxDPtrLwpDAdMNOBvKV2r67yTgnpatFLfGRt/FWazj5EbF
     86      1.1  lukem  YkorWWTe+4eEBd9VPzebHdIm+DPHipUfIAzRoNejAgMBAAGjge8wgewwHQYDVR0O
     87      1.1  lukem  BBYEFEtvIRo2JNKQ+UOwU0ctfeHA5pgjMIGhBgNVHSMEgZkwgZaAFEtvIRo2JNKQ
     88      1.1  lukem  +UOwU0ctfeHA5pgjoXukeTB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv
     89      1.1  lukem  cm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwgTHRkLjETMBEGA1UEAxMK
     90      1.1  lukem  RXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb22CAQAwDAYD
     91      1.1  lukem  VR0TBAUwAwEB/zAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0B
     92      1.1  lukem  AQQFAAOBgQCgXD/+28El3GXi/uxMNEKqtnIhQdTnNU4il0fZ6pcmHPFC+61Bddow
     93      1.1  lukem  90ZZZh5Gbg5ZBxFRhDXN8K/fix3ewRSjASt40dGlEODkE+FsLMt04sYl6kX7RGKg
     94      1.1  lukem  9a46DkeG+uzZnN/3252uCgh+rjNMFAglueUTERv3EtUB1iXEoU3GyA==
     95      1.1  lukem 
     96      1.1  lukem dn: cn=Ursula Hampster,ou=Alumni Association,ou=People,dc=example,dc=com
     97      1.1  lukem changetype: modify
     98      1.1  lukem add: objectClass
     99      1.1  lukem objectClass: strongAuthenticationUser
    100      1.1  lukem -
    101      1.1  lukem add: userCertificate;binary
    102      1.1  lukem userCertificate;binary::
    103      1.1  lukem  MIIDazCCAtSgAwIBAgIBAjANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    104      1.1  lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    105      1.1  lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    106      1.1  lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMzE5WhcNMDQxMDE2MTYzMzE5WjB+MQswCQYD
    107      1.1  lukem  VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAg
    108      1.1  lukem  RXhhbXBsZSwgTHRkLjEYMBYGA1UEAxMPVXJzdWxhIEhhbXBzdGVyMR8wHQYJKoZI
    109      1.1  lukem  hvcNAQkBFhB1aGFtQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
    110      1.1  lukem  iQKBgQDuxgp5ELV9LmhxWMpV7qc4028QQT3+zzFDXhruuXE7ji2n3S3ea8bOwDtJ
    111      1.1  lukem  h+qnsDe561DhHHHlgIjMKCiDEizYMpxvJPYEXmvp0huRkMgpKZgmel95BSkt6TYm
    112      1.1  lukem  J0erS3aoimOHLEFimmnTLolNRMiWqNBvqwobx940PGwUWEePKQIDAQABo4H/MIH8
    113      1.1  lukem  MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENl
    114      1.1  lukem  cnRpZmljYXRlMB0GA1UdDgQWBBSjI94TbBmuDEeUUOiC37EK0Uf0XjCBoQYDVR0j
    115      1.1  lukem  BIGZMIGWgBRLbyEaNiTSkPlDsFNHLX3hwOaYI6F7pHkwdzELMAkGA1UEBhMCVVMx
    116      1.1  lukem  EzARBgNVBAgTCkNhbGlmb3JuaWExHzAdBgNVBAoTFk9wZW5MREFQIEV4YW1wbGUs
    117      1.1  lukem  IEx0ZC4xEzARBgNVBAMTCkV4YW1wbGUgQ0ExHTAbBgkqhkiG9w0BCQEWDmNhQGV4
    118      1.1  lukem  YW1wbGUuY29tggEAMA0GCSqGSIb3DQEBBAUAA4GBAIgUcARb3OlWYNbmr1nmqESu
    119      1.1  lukem  xLn16uqI1Ot6WkcICvpkdQ+Bo+R9AP05xpoXocZtKdNvBu3FNxB/jFkiOcLU2lX7
    120      1.1  lukem  Px1Ijnsjh60qVRy9HOsHCungIKlGcnXLKHmKu0y//5jds/HnaJsGcHI5JRG7CBJb
    121      1.1  lukem  W+wrwge3trJ1xHJI8prN
    122      1.1  lukem 
    123      1.1  lukem dn: cn=Jennifer Smith,ou=Alumni Association,ou=People,dc=example,dc=com
    124      1.1  lukem changetype: modify
    125      1.1  lukem add: objectClass
    126      1.1  lukem objectClass: strongAuthenticationUser
    127      1.1  lukem -
    128      1.1  lukem add: userCertificate;binary
    129      1.1  lukem userCertificate;binary::
    130      1.1  lukem  MIIDcDCCAtmgAwIBAgIBATANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    131      1.1  lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    132      1.1  lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    133      1.1  lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMTQwWhcNMDQxMDE2MTYzMTQwWjCBgjELMAkG
    134      1.1  lukem  A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExHzAdBgNVBAoTFk9wZW5MREFQ
    135      1.1  lukem  IEV4YW1wbGUsIEx0ZC4xHTAbBgNVBAMUFEplbm5pZmVyICJKZW4iIFNtaXRoMR4w
    136      1.1  lukem  HAYJKoZIhvcNAQkBFg9qZW5AZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
    137      1.1  lukem  gY0AMIGJAoGBANUgO8cP/SjqgCVxxsRYv36AP0+QL81iEkGvR4gG6jbtDDBdVYDC
    138      1.1  lukem  YbS2oKKNJ5e99NxGMIjOYfmKcAwmkV46IhdzUtkutgjHEG9vl5ajSwc1KSsbTMTy
    139      1.1  lukem  NtuG3k5k02JYFbP+FrGyUE8iPqK4+i7mVjW4bh/MBCHW88FptnpDJiuHAgMBAAGj
    140      1.1  lukem  gf8wgfwwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0
    141      1.1  lukem  ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEdo4jpxCQXJ1sh/E1O3ZBkLTbHkMIGh
    142      1.1  lukem  BgNVHSMEgZkwgZaAFEtvIRo2JNKQ+UOwU0ctfeHA5pgjoXukeTB3MQswCQYDVQQG
    143      1.1  lukem  EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhh
    144      1.1  lukem  bXBsZSwgTHRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYO
    145      1.1  lukem  Y2FAZXhhbXBsZS5jb22CAQAwDQYJKoZIhvcNAQEEBQADgYEAFpHsQUtSZQzmm9k2
    146      1.1  lukem  Vrfs0h7tdkWF3LcHzHk4a/t3k4EXcqlHBxh4f0tmb4XNP9QupRgm6ggr8t3Rq0Vt
    147      1.1  lukem  T8k50x4C7oE8HwZuEEB4FM7S1Zig3dfeJ8MJgdaLqt5/U9Ip/hZdzG2dsUsIceH/
    148      1.1  lukem  5MCKLu9bGJUjsKnGdm/KpaNwaNo=
    149      1.1  lukem 
    150      1.1  lukem dn: cn=Jennifer Smith,ou=Alumni Association,ou=People,dc=example,dc=com
    151      1.1  lukem changetype: modify
    152      1.1  lukem add: userCertificate;binary
    153      1.1  lukem userCertificate;binary::
    154      1.1  lukem  MIIDjDCCAvWgAwIBAgIBAzANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    155      1.1  lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    156      1.1  lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    157      1.1  lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzNTM1WhcNMDQxMDE2MTYzNTM1WjCBnjELMAkG
    158      1.1  lukem  A1UEBhMCVVMxETAPBgNVBAgTCE1pY2hpZ2FuMR8wHQYDVQQKExZPcGVuTERBUCBF
    159      1.1  lukem  eGFtcGxlLCBMdGQuMRswGQYDVQQLExJBbHVtbmkgQXNzb2ljYXRpb24xEjAQBgNV
    160      1.1  lukem  BAMTCUplbiBTbWl0aDEqMCgGCSqGSIb3DQEJARYbamVuQG1haWwuYWx1bW5pLmV4
    161      1.1  lukem  YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpnXWAL0VkROGO
    162      1.1  lukem  1Rg8J3u6F4F7yMqQCbUMsV9rxQisYj45+pmqiHV5urogvT4MGD6eLNFZKBn+0KRn
    163      1.1  lukem  i++uu7gbartzpmBaHOlzRII9ZdVMFfrT2xYNgAlkne6pb6IZIN9UONuH/httENCD
    164      1.1  lukem  J5WEpjZ48D1Lrml/HYO/W+SAMkpEqQIDAQABo4H/MIH8MAkGA1UdEwQCMAAwLAYJ
    165      1.1  lukem  YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
    166      1.1  lukem  DgQWBBTB2saht/od/nis76b9m+pjxfhSPjCBoQYDVR0jBIGZMIGWgBRLbyEaNiTS
    167      1.1  lukem  kPlDsFNHLX3hwOaYI6F7pHkwdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
    168      1.1  lukem  b3JuaWExHzAdBgNVBAoTFk9wZW5MREFQIEV4YW1wbGUsIEx0ZC4xEzARBgNVBAMT
    169      1.1  lukem  CkV4YW1wbGUgQ0ExHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tggEAMA0G
    170      1.1  lukem  CSqGSIb3DQEBBAUAA4GBAIoGPc/AS0cNkMRDNoMIzcFdF9lONMduKBiSuFvv+x8n
    171      1.1  lukem  Cek+LUdXxF59V2NPKh2V5gFh5xbAchyv6FVBnpVtPdB5akCr5tdFQhuBLUXXDk/t
    172      1.1  lukem  THGpIWt7OAjEmpuMzsz3GUB8Zf9rioHOs1DMw+GpzWdnFITxXhAqEDc3quqPrpxZ
    173      1.1  lukem -
    174      1.1  lukem delete: userCertificate;binary
    175      1.1  lukem userCertificate;binary::
    176      1.1  lukem  MIIDcDCCAtmgAwIBAgIBATANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    177      1.1  lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    178      1.1  lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    179      1.1  lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMTQwWhcNMDQxMDE2MTYzMTQwWjCBgjELMAkG
    180      1.1  lukem  A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExHzAdBgNVBAoTFk9wZW5MREFQ
    181      1.1  lukem  IEV4YW1wbGUsIEx0ZC4xHTAbBgNVBAMUFEplbm5pZmVyICJKZW4iIFNtaXRoMR4w
    182      1.1  lukem  HAYJKoZIhvcNAQkBFg9qZW5AZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
    183      1.1  lukem  gY0AMIGJAoGBANUgO8cP/SjqgCVxxsRYv36AP0+QL81iEkGvR4gG6jbtDDBdVYDC
    184      1.1  lukem  YbS2oKKNJ5e99NxGMIjOYfmKcAwmkV46IhdzUtkutgjHEG9vl5ajSwc1KSsbTMTy
    185      1.1  lukem  NtuG3k5k02JYFbP+FrGyUE8iPqK4+i7mVjW4bh/MBCHW88FptnpDJiuHAgMBAAGj
    186      1.1  lukem  gf8wgfwwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0
    187      1.1  lukem  ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEdo4jpxCQXJ1sh/E1O3ZBkLTbHkMIGh
    188      1.1  lukem  BgNVHSMEgZkwgZaAFEtvIRo2JNKQ+UOwU0ctfeHA5pgjoXukeTB3MQswCQYDVQQG
    189      1.1  lukem  EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhh
    190      1.1  lukem  bXBsZSwgTHRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYO
    191      1.1  lukem  Y2FAZXhhbXBsZS5jb22CAQAwDQYJKoZIhvcNAQEEBQADgYEAFpHsQUtSZQzmm9k2
    192      1.1  lukem  Vrfs0h7tdkWF3LcHzHk4a/t3k4EXcqlHBxh4f0tmb4XNP9QupRgm6ggr8t3Rq0Vt
    193      1.1  lukem  T8k50x4C7oE8HwZuEEB4FM7S1Zig3dfeJ8MJgdaLqt5/U9Ip/hZdzG2dsUsIceH/
    194      1.1  lukem  5MCKLu9bGJUjsKnGdm/KpaNwaNo=
    195      1.1  lukem 
    196      1.1  lukem dn: cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com
    197      1.1  lukem changetype: modify
    198      1.1  lukem replace: userCertificate;binary
    199      1.1  lukem userCertificate;binary::
    200      1.1  lukem  MIIDjDCCAvWgAwIBAgIBAzANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    201      1.1  lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    202      1.1  lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    203      1.1  lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzNTM1WhcNMDQxMDE2MTYzNTM1WjCBnjELMAkG
    204      1.1  lukem  A1UEBhMCVVMxETAPBgNVBAgTCE1pY2hpZ2FuMR8wHQYDVQQKExZPcGVuTERBUCBF
    205      1.1  lukem  eGFtcGxlLCBMdGQuMRswGQYDVQQLExJBbHVtbmkgQXNzb2ljYXRpb24xEjAQBgNV
    206      1.1  lukem  BAMTCUplbiBTbWl0aDEqMCgGCSqGSIb3DQEJARYbamVuQG1haWwuYWx1bW5pLmV4
    207      1.1  lukem  YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpnXWAL0VkROGO
    208      1.1  lukem  1Rg8J3u6F4F7yMqQCbUMsV9rxQisYj45+pmqiHV5urogvT4MGD6eLNFZKBn+0KRn
    209      1.1  lukem  i++uu7gbartzpmBaHOlzRII9ZdVMFfrT2xYNgAlkne6pb6IZIN9UONuH/httENCD
    210      1.1  lukem  J5WEpjZ48D1Lrml/HYO/W+SAMkpEqQIDAQABo4H/MIH8MAkGA1UdEwQCMAAwLAYJ
    211      1.1  lukem  YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
    212      1.1  lukem  DgQWBBTB2saht/od/nis76b9m+pjxfhSPjCBoQYDVR0jBIGZMIGWgBRLbyEaNiTS
    213      1.1  lukem  kPlDsFNHLX3hwOaYI6F7pHkwdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
    214      1.1  lukem  b3JuaWExHzAdBgNVBAoTFk9wZW5MREFQIEV4YW1wbGUsIEx0ZC4xEzARBgNVBAMT
    215      1.1  lukem  CkV4YW1wbGUgQ0ExHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tggEAMA0G
    216      1.1  lukem  CSqGSIb3DQEBBAUAA4GBAIoGPc/AS0cNkMRDNoMIzcFdF9lONMduKBiSuFvv+x8n
    217      1.1  lukem  Cek+LUdXxF59V2NPKh2V5gFh5xbAchyv6FVBnpVtPdB5akCr5tdFQhuBLUXXDk/t
    218      1.1  lukem  THGpIWt7OAjEmpuMzsz3GUB8Zf9rioHOs1DMw+GpzWdnFITxXhAqEDc3quqPrpxZ
    219      1.1  lukem -
    220      1.1  lukem delete: userCertificate;binary
    221      1.1  lukem 
    222      1.1  lukem EOMODS
    223      1.1  lukem 
    224      1.1  lukem RC=$?
    225      1.1  lukem if test $RC != 0 ; then
    226      1.1  lukem 	echo "ldapmodify failed ($RC)!"
    227      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    228      1.1  lukem 	exit $RC
    229      1.1  lukem fi
    230      1.1  lukem 
    231      1.1  lukem echo 'Using ldapsearch to retrieve (userCertificate;binary=*) ...'
    232      1.1  lukem echo "# (userCertificate;binary=*)" > $SEARCHOUT
    233      1.1  lukem $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
    234      1.1  lukem     '(userCertificate;binary=*)' >> $SEARCHOUT 2>&1
    235      1.1  lukem RC=$?
    236      1.1  lukem if test $RC != 0 ; then
    237      1.1  lukem 	echo "ldapsearch failed ($RC)!"
    238      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    239      1.1  lukem 	exit $RC
    240      1.1  lukem fi
    241      1.1  lukem 
    242      1.1  lukem echo 'Using ldapsearch to retrieve (cAcertificate=*) ...'
    243      1.1  lukem echo "# (cAcertificate=*)" >> $SEARCHOUT
    244      1.1  lukem $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
    245      1.1  lukem     '(cAcertificate=*)' >> $SEARCHOUT 2>&1
    246      1.1  lukem RC=$?
    247      1.1  lukem if test $RC != 0 ; then
    248      1.1  lukem 	echo "ldapsearch failed ($RC)!"
    249      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    250      1.1  lukem 	exit $RC
    251      1.1  lukem fi
    252      1.1  lukem 
    253      1.1  lukem SNAI='2$EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US'
    254      1.1  lukem 
    255      1.1  lukem echo 'Using ldapsearch to retrieve (userCertificate=serialNumberAndIssuer) [old format] ...'
    256      1.1  lukem echo "# (userCertificate=$SNAI)" >> $SEARCHOUT
    257      1.1  lukem $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
    258      1.1  lukem     "(userCertificate=$SNAI)" >> $SEARCHOUT 2>&1
    259      1.1  lukem RC=$?
    260      1.1  lukem if test $RC != 0 ; then
    261      1.1  lukem 	echo "ldapsearch failed ($RC)!"
    262      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    263      1.1  lukem 	exit $RC
    264      1.1  lukem fi
    265      1.1  lukem 
    266      1.1  lukem SNAI='{ serialNumber 2, issuer "EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US" }'
    267      1.1  lukem 
    268      1.1  lukem echo 'Using ldapsearch to retrieve (userCertificate=serialNumberAndIssuer) [new format] ...'
    269      1.1  lukem echo "# (userCertificate=$SNAI)" >> $SEARCHOUT
    270      1.1  lukem $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
    271      1.1  lukem     "(userCertificate=$SNAI)" >> $SEARCHOUT 2>&1
    272      1.1  lukem RC=$?
    273      1.1  lukem if test $RC != 0 ; then
    274      1.1  lukem 	echo "ldapsearch failed ($RC)!"
    275      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    276      1.1  lukem 	exit $RC
    277      1.1  lukem fi
    278      1.1  lukem 
    279      1.1  lukem SNAI='3$EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US'
    280      1.1  lukem 
    281      1.1  lukem echo 'Using ldapsearch to retrieve (userCertificate:certificateExactMatch:=serialNumberAndIssuer) [old format] ...'
    282      1.1  lukem echo "# (userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT
    283      1.1  lukem $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
    284      1.1  lukem     "(userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT 2>&1
    285      1.1  lukem RC=$?
    286      1.1  lukem if test $RC != 0 ; then
    287      1.1  lukem 	echo "ldapsearch failed ($RC)!"
    288      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    289      1.1  lukem 	exit $RC
    290      1.1  lukem fi
    291      1.1  lukem 
    292      1.1  lukem SNAI='{ issuer "EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US", serialNumber 3 }'
    293      1.1  lukem 
    294      1.1  lukem echo 'Using ldapsearch to retrieve (userCertificate:certificateExactMatch:=serialNumberAndIssuer) [new format]...'
    295      1.1  lukem echo "# (userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT
    296      1.1  lukem $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
    297      1.1  lukem     "(userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT 2>&1
    298      1.1  lukem RC=$?
    299      1.1  lukem if test $RC != 0 ; then
    300      1.1  lukem 	echo "ldapsearch failed ($RC)!"
    301      1.1  lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    302      1.1  lukem 	exit $RC
    303      1.1  lukem fi
    304      1.1  lukem 
    305      1.1  lukem test $KILLSERVERS != no && kill -HUP $KILLPIDS
    306      1.1  lukem 
    307      1.1  lukem LDIF=$CERTIFICATETLS
    308      1.1  lukem 
    309      1.1  lukem echo "Filtering ldapsearch results..."
    310  1.1.1.3   adam $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
    311      1.1  lukem echo "Filtering original ldif used to create database..."
    312  1.1.1.3   adam $LDIFFILTER < $LDIF > $LDIFFLT
    313      1.1  lukem echo "Comparing filter output..."
    314      1.1  lukem $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
    315      1.1  lukem 
    316      1.1  lukem if test $? != 0 ; then
    317      1.1  lukem 	echo "comparison failed - certificate operations did not complete correctly"
    318      1.1  lukem 	exit 1
    319      1.1  lukem fi
    320      1.1  lukem 
    321      1.1  lukem echo ">>>>> Test succeeded"
    322      1.1  lukem 
    323      1.1  lukem test $KILLSERVERS != no && wait
    324      1.1  lukem 
    325      1.1  lukem exit 0
    326