Skip to content

Commit f6efcd3

Browse files
author
Jerry Cheung
committed
configure openldap tls
1 parent 8d9568d commit f6efcd3

File tree

1 file changed

+58
-1
lines changed

1 file changed

+58
-1
lines changed

script/install-openldap

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -x
55
BASE_PATH="$( cd `dirname $0`/../test/fixtures/openldap && pwd )"
66
SEED_PATH="$( cd `dirname $0`/../test/fixtures && pwd )"
77

8-
dpkg -s slapd time ldap-utils ||\
8+
dpkg -s slapd time ldap-utils gnutls-bin ssl-cert > /dev/null ||\
99
DEBIAN_FRONTEND=noninteractive sudo -E apt-get install -y --force-yes slapd time ldap-utils
1010

1111
sudo /etc/init.d/slapd stop
@@ -45,3 +45,60 @@ sudo /etc/init.d/slapd start
4545
-f $SEED_PATH/seed.ldif
4646

4747
sudo rm -rf $TMPDIR
48+
49+
# SSL
50+
51+
sudo sh -c "certtool --generate-privkey > /etc/ssl/private/cakey.pem"
52+
53+
sudo sh -c "cat > /etc/ssl/ca.info <<EOF
54+
cn = rubyldap
55+
ca
56+
cert_signing_key
57+
EOF"
58+
59+
# Create the self-signed CA certificate:
60+
sudo certtool --generate-self-signed \
61+
--load-privkey /etc/ssl/private/cakey.pem \
62+
--template /etc/ssl/ca.info \
63+
--outfile /etc/ssl/certs/cacert.pem
64+
65+
# Make a private key for the server:
66+
sudo certtool --generate-privkey \
67+
--bits 1024 \
68+
--outfile /etc/ssl/private/ldap01_slapd_key.pem
69+
70+
sudo sh -c "cat > /etc/ssl/ldap01.info <<EOF
71+
organization = Example Company
72+
cn = ldap01.example.com
73+
tls_www_server
74+
encryption_key
75+
signing_key
76+
expiration_days = 3650
77+
EOF"
78+
79+
# Create the server certificate
80+
sudo certtool --generate-certificate \
81+
--load-privkey /etc/ssl/private/ldap01_slapd_key.pem \
82+
--load-ca-certificate /etc/ssl/certs/cacert.pem \
83+
--load-ca-privkey /etc/ssl/private/cakey.pem \
84+
--template /etc/ssl/ldap01.info \
85+
--outfile /etc/ssl/certs/ldap01_slapd_cert.pem
86+
87+
sudo ldapmodify -Y EXTERNAL -H ldapi:/// <<EOF | true
88+
dn: cn=config
89+
add: olcTLSCACertificateFile
90+
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
91+
-
92+
add: olcTLSCertificateFile
93+
olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
94+
-
95+
add: olcTLSCertificateKeyFile
96+
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem
97+
EOF
98+
99+
sudo adduser openldap ssl-cert
100+
sudo chgrp ssl-cert /etc/ssl/private/ldap01_slapd_key.pem
101+
sudo chmod g+r /etc/ssl/private/ldap01_slapd_key.pem
102+
sudo chmod o-r /etc/ssl/private/ldap01_slapd_key.pem
103+
104+
sudo service slapd restart

0 commit comments

Comments
 (0)