@@ -48,20 +48,20 @@ chown -R openldap.openldap /var/lib/ldap
4848rm -rf $TMPDIR
4949
5050# SSL
51+ export CA_CERT=" /etc/ssl/certs/cacert.pem"
52+ export CA_KEY=" /etc/ssl/private/cakey.pem"
53+ export CA_INFO=" /etc/ssl/ca.info"
5154
52- sh -c " certtool --generate-privkey > /etc/ssl/private/cakey.pem"
55+ # If you ever need to regenerate these...
56+ # certtool --generate-privkey > /path/to/cakey.pem
57+ # certtool --generate-self-signed \
58+ # --load-privkey /path/to/cakey.pem
59+ # --template /path/to/ca.info
60+ # --outfile /path/to/cacert.pem
5361
54- sh -c " cat > /etc/ssl/ca.info <<EOF
55- cn = rubyldap
56- ca
57- cert_signing_key
58- EOF"
59-
60- # Create the self-signed CA certificate:
61- certtool --generate-self-signed \
62- --load-privkey /etc/ssl/private/cakey.pem \
63- --template /etc/ssl/ca.info \
64- --outfile /etc/ssl/certs/cacert.pem
62+ cp " ${SEED_PATH} /ca/cacert.pem" " ${CA_CERT} "
63+ cp " ${SEED_PATH} /ca/cakey.pem" " ${CA_KEY} "
64+ cp " ${SEED_PATH} /ca/ca.info" " ${CA_INFO} "
6565
6666# Make a private key for the server:
6767certtool --generate-privkey \
@@ -71,6 +71,8 @@ certtool --generate-privkey \
7171sh -c " cat > /etc/ssl/ldap01.info <<EOF
7272organization = Example Company
7373cn = ldap01.example.com
74+ dns_name = ldap01.example.com
75+ dns_name = ldap02.example.com
7476tls_www_server
7577encryption_key
7678signing_key
8082# Create the server certificate
8183certtool --generate-certificate \
8284 --load-privkey /etc/ssl/private/ldap01_slapd_key.pem \
83- --load-ca-certificate /etc/ssl/certs/cacert.pem \
84- --load-ca-privkey /etc/ssl/private/cakey.pem \
85+ --load-ca-certificate " ${CA_CERT} " \
86+ --load-ca-privkey " ${CA_KEY} " \
8587 --template /etc/ssl/ldap01.info \
8688 --outfile /etc/ssl/certs/ldap01_slapd_cert.pem
8789
8890ldapmodify -Y EXTERNAL -H ldapi:/// << EOF | true
8991dn: cn=config
9092add: olcTLSCACertificateFile
91- olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
93+ olcTLSCACertificateFile: ${CA_CERT}
9294-
9395add: olcTLSCertificateFile
9496olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
@@ -112,4 +114,9 @@ chmod o-r /etc/ssl/private/ldap01_slapd_key.pem
112114# Drop packets on a secondary port used to specific timeout tests
113115iptables -A INPUT -p tcp -j DROP --dport 8389
114116
117+ # fix up /etc/hosts for cert validation
118+ grep ldap01 /etc/hosts || echo " 127.0.0.1 ldap01.example.com" >> /etc/hosts
119+ grep ldap02 /etc/hosts || echo " 127.0.0.1 ldap02.example.com" >> /etc/hosts
120+ grep bogus /etc/hosts || echo " 127.0.0.1 bogus.example.com" >> /etc/hosts
121+
115122service slapd restart
0 commit comments