Skip to content

Commit 7b2bb02

Browse files
author
Tom Maher
committed
new fixture CA, now with private key
1 parent 84ab4c2 commit 7b2bb02

File tree

4 files changed

+71
-15
lines changed

4 files changed

+71
-15
lines changed

script/install-openldap

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,20 @@ chown -R openldap.openldap /var/lib/ldap
4848
rm -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:
6767
certtool --generate-privkey \
@@ -71,6 +71,8 @@ certtool --generate-privkey \
7171
sh -c "cat > /etc/ssl/ldap01.info <<EOF
7272
organization = Example Company
7373
cn = ldap01.example.com
74+
dns_name = ldap01.example.com
75+
dns_name = ldap02.example.com
7476
tls_www_server
7577
encryption_key
7678
signing_key
@@ -80,15 +82,15 @@ EOF"
8082
# Create the server certificate
8183
certtool --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

8890
ldapmodify -Y EXTERNAL -H ldapi:/// <<EOF | true
8991
dn: cn=config
9092
add: olcTLSCACertificateFile
91-
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
93+
olcTLSCACertificateFile: ${CA_CERT}
9294
-
9395
add: olcTLSCertificateFile
9496
olcTLSCertificateFile: /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
113115
iptables -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+
115122
service slapd restart

test/fixtures/ca/ca.info

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
cn = rubyldap
2+
ca
3+
cert_signing_key
4+
expiration_days = 7200

test/fixtures/ca/cacert.pem

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIC7zCCAdegAwIBAgIMV7ur2wQbbBBUX/gBMA0GCSqGSIb3DQEBCwUAMBMxETAP
3+
BgNVBAMTCHJ1YnlsZGFwMB4XDTE2MDgyMzAxNTAxOVoXDTM2MDUxMDAxNTAxOVow
4+
EzERMA8GA1UEAxMIcnVieWxkYXAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
5+
AoIBAQDIXIIUk/PJ8UnmthzX1ZC5pej7qwQDILA/o4/EkU1rBfGkHNhJihzOoW+1
6+
QjixcxjVM8pZXM0+bkOr/UY4ymqQnnW7a8U6Rc1+4Mhz7jKtjChfjWkAX857alL7
7+
2F5M1pUBvQ1WdXXFOwO0vyDT54UzkFMr/lvKXrd4/kNJYQE87+B0igICEDocFLO3
8+
SchtH0YpSzE80b0Fn1O1noS3LU9Eo+XsMoBMHVVrKOb/Yzs5Z1hfPrHOpB+z3VTe
9+
4/LcbbcMoc20Ypjq+kamuYo6uGoy0lzgmgwQgJtmxl8EhsIrZuUw80yJZqi3bLht
10+
8UZbVM1dV1/Hh7danmlWqZnI579FAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8w
11+
DwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUZ4HlXJgf2tIxLhDOB07SC200XG8w
12+
DQYJKoZIhvcNAQELBQADggEBAIee6oT01p6e300scQTo/VPELf14ebrZXDqtJ7HR
13+
egHZRrSzyQgxnnyFfoazG9bmgX/xgDvH8CxW4Q7OHH2ybGA5z2FfK+uSAjKHPR2y
14+
8EjAKfQUDo0CBlcU0otvk8KhyNmu3sbCO6QGlnDDnWo78UDOdfeflvCp4HH+wdnU
15+
ZSKTxaJe7BbBPMm6VZGhqa4O7MOOiupcGUt0emsyA1mVixkhr+6/aO2FLdiXwclX
16+
GhYBZg5xxbM5Hn8LbjfRsaqCjBpOXLKnuUGDQSQj1TtRFzRuiGU4tHpoBnQGCYNa
17+
bhFP7hjfwcjKUSizHM89KugrVgpnDh6oKn+xrhSdcKTmlag=
18+
-----END CERTIFICATE-----

test/fixtures/ca/cakey.pem

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEowIBAAKCAQEAyFyCFJPzyfFJ5rYc19WQuaXo+6sEAyCwP6OPxJFNawXxpBzY
3+
SYoczqFvtUI4sXMY1TPKWVzNPm5Dq/1GOMpqkJ51u2vFOkXNfuDIc+4yrYwoX41p
4+
AF/Oe2pS+9heTNaVAb0NVnV1xTsDtL8g0+eFM5BTK/5byl63eP5DSWEBPO/gdIoC
5+
AhA6HBSzt0nIbR9GKUsxPNG9BZ9TtZ6Ety1PRKPl7DKATB1Vayjm/2M7OWdYXz6x
6+
zqQfs91U3uPy3G23DKHNtGKY6vpGprmKOrhqMtJc4JoMEICbZsZfBIbCK2blMPNM
7+
iWaot2y4bfFGW1TNXVdfx4e3Wp5pVqmZyOe/RQIDAQABAoIBAALhQYVmMwTeEP/d
8+
8kAv86qXdefYJ3CcEax4f2KF7CTzqut+9qTn9U4LB/4E+6ehTeQSoH/0U4boMtTQ
9+
CShb0HhPrsWI4QbbZf7C4F66N8RC1Xm6IJ4+wksH1jWEgKZ+Fxo1S3HIsm6pUH5S
10+
mPgyxbleA7QILe2UuvJkRTdSy5/ClGROTXAZfA7NE/yL+cUjAOyQfxs/SxcMwnxK
11+
phGZaAfYRpvExtRO9CAdlmkC9RgYWOdC/r7wHehpY7fi/FqBd46w+AV3ougKGt9r
12+
yOEcXVrJRQtDR5UWivUOs34MCPQa2T+XHn/WLgeWE6bNaw5SyLr4oolb10Iue+Hw
13+
v23W5oECgYEA7rEE7/6rTkHodVI9wrYg007WDQmeR6Y0gwiX6oGQpftXExfHjHio
14+
yr0qwbL/UOFkWfJ8ORNXa6hHIDfxI2Kkg7vgt8SaLK8c0zhszJpcYmAx63Kk+BUO
15+
/S863Ptz28rGmXJxjo5GYUHR7rjvRefauV6SSUo9rbocFcyeV/UlXpUCgYEA1uPx
16+
TSXt2MBRiGp+E4tNPj+16QaF+4ety3+a4vlsY2ALejkjC3I5Lf1s4b0SW6eEn/U2
17+
PYFzm3FqsDqYhSas64b2s3Cw8x2yQ7rCD3SKGoiJqUSPwLkZjgUXC1gDaMkJXzEX
18+
L9yBEBVfNRYCCk4EY/Wz1C5gJ4PFtLb8NbXGofECgYEAr506PsEmlItVVoxNuGZ7
19+
vDxyrGD5PUoBtK6r5vOw0w4bQIbsYGOd/Jw1SxJBWuaaCLupveyHE0RaIFBIcHpx
20+
BCNE8LALpvinwpfvJJIlipOv5sUQrx3/SzRmoJO46GtGtztGZVY0XfYpWPRjxxER
21+
EfWMt7ORsbIOW9OSZLCO8AkCgYA1c/HcDOlDF2OwmTzPQ8FtEJABbPv6+18B1bYD
22+
a6PIfGWee4P6HumWRQnGhS+B2QOmfmqFliPZsLanK4ww4tP0qlfHfuqlLufe7R/E
23+
lGqd+wSzNDjF6cUvjJiU28nNUOSh5yYrY6A/DfHm1JihU5LIAqA+0WJdseuF7laC
24+
TbshIQKBgGhwjXS/A0twYMTZwc/H/JGik8yBXK/GZ4BAlIv5hryRmKMbik8sLtEF
25+
Lq/Jt9qsQ6Zob2XZFAi+vZJykvX0ySxngHEOkiHxwyQNQTEfBPifFPkOIKhVKt9t
26+
D4w2FfF4Bai36Wdaa97VXiBBgafIe7z5VDJXRS2HK9SHuYH3kmJu
27+
-----END RSA PRIVATE KEY-----

0 commit comments

Comments
 (0)