Commit 4a740337 authored by Julien Muchembled's avatar Julien Muchembled

demo: generate missing certs automatically

parent b1b5ec77
...@@ -4,6 +4,7 @@ from collections import defaultdict ...@@ -4,6 +4,7 @@ from collections import defaultdict
IPTABLES = 'iptables' IPTABLES = 'iptables'
SCREEN = 'screen' SCREEN = 'screen'
VERBOSE = 4 VERBOSE = 4
REGISTRY='10.0.0.2'
# registry # registry
# |.2 # |.2
...@@ -20,19 +21,6 @@ VERBOSE = 4 ...@@ -20,19 +21,6 @@ VERBOSE = 4
# m1 m2 m3 m4 m5 # m1 m2 m3 m4 m5
# #
registry = 'registry/registry.db'
if not os.path.exists(registry):
import sqlite3
sql = open('registry/registry.sql').read()
db = sqlite3.connect(registry)
db.executescript(sql)
for prefix, cert in db.execute("SELECT prefix, cert FROM cert"
" WHERE cert IS NOT NULL"):
i = int(prefix, 2)
with open(("m%u" % i if i else "registry") + "/cert.crt", 'w') as f:
f.write(cert)
db.close()
def disable_signal_on_children(sig): def disable_signal_on_children(sig):
pid = os.getpid() pid = os.getpid()
sigint = signal.signal(sig, lambda *x: os.getpid() == pid and sigint(*x)) sigint = signal.signal(sig, lambda *x: os.getpid() == pid and sigint(*x))
...@@ -102,7 +90,7 @@ re_if_0.up = in_if_0.up = in_if_1.up = g1_if_0.up = in_if_2.up = g2_if_0.up = Tr ...@@ -102,7 +90,7 @@ re_if_0.up = in_if_0.up = in_if_1.up = g1_if_0.up = in_if_2.up = g2_if_0.up = Tr
in_if_3.up = g1_if_1.up = g2_if_1.up = m1_if_0.up = m2_if_0.up = m3_if_0.up = m4_if_0.up = m5_if_0.up = m6_if_0.up = m7_if_0.up = m8_if_0.up = True in_if_3.up = g1_if_1.up = g2_if_1.up = m1_if_0.up = m2_if_0.up = m3_if_0.up = m4_if_0.up = m5_if_0.up = m6_if_0.up = m7_if_0.up = m8_if_0.up = True
# Add IPv4 addresses # Add IPv4 addresses
re_if_0.add_v4_address(address='10.0.0.2', prefix_len=24) re_if_0.add_v4_address(address=REGISTRY, prefix_len=24)
in_if_0.add_v4_address(address='10.0.0.1', prefix_len=24) in_if_0.add_v4_address(address='10.0.0.1', prefix_len=24)
in_if_1.add_v4_address(address='10.1.0.1', prefix_len=24) in_if_1.add_v4_address(address='10.1.0.1', prefix_len=24)
in_if_2.add_v4_address(address='10.2.0.1', prefix_len=24) in_if_2.add_v4_address(address='10.2.0.1', prefix_len=24)
...@@ -143,23 +131,59 @@ for ip in '10.1.1.2', '10.1.1.3', '10.2.1.2', '10.2.1.3': ...@@ -143,23 +131,59 @@ for ip in '10.1.1.2', '10.1.1.3', '10.2.1.2', '10.2.1.3':
else: else:
print "Connectivity IPv4 OK!" print "Connectivity IPv4 OK!"
nodes = []
gateway1.screen('miniupnpd -d -f miniupnpd.conf -P miniupnpd.pid -a 10.1.1.1' gateway1.screen('miniupnpd -d -f miniupnpd.conf -P miniupnpd.pid -a 10.1.1.1'
' -i %s' % g1_if_0_name) ' -i %s' % g1_if_0_name)
if 1: if 1:
registry.screen('../re6stnet @registry/re6stnet.conf --ip 10.0.0.2 -v%u' % VERBOSE, import sqlite3
'../re6st-registry @registry/re6st-registry.conf -v%u' db_path = 'registry/registry.db'
' --mailhost %s' % (VERBOSE, os.path.abspath('mbox'))) registry.screen('../re6st-registry @registry/re6st-registry.conf --db %s'
machine1.screen('../re6stnet @m1/re6stnet.conf -v%u -I%s' % (VERBOSE, m1_if_0.name)) ' --mailhost %s -v%u' % (db_path, os.path.abspath('mbox'), VERBOSE))
machine2.screen('../re6stnet @m2/re6stnet.conf -v%u' % VERBOSE) registry_url = 'http://%s/' % REGISTRY
machine3.screen('../re6stnet @m3/re6stnet.conf -v%u -i%s' % (VERBOSE, m3_if_0.name)) registry.Popen(('python', '-c', """if 1:
machine4.screen('../re6stnet @m4/re6stnet.conf -v%u -i%s' % (VERBOSE, m4_if_0.name)) import socket, time
machine5.screen('../re6stnet @m5/re6stnet.conf -v%u -i%s' % (VERBOSE, m5_if_0.name)) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
machine6.screen('../re6stnet @m6/re6stnet.conf -v%u' % VERBOSE) while True:
machine7.screen('../re6stnet @m7/re6stnet.conf -v%u' % VERBOSE) try:
machine8.screen('../re6stnet @m8/re6stnet.conf -v%u' % VERBOSE) s.connect(('localhost', 80))
break
except socket.error:
time.sleep(.1)
""")).wait()
db = sqlite3.connect(db_path, isolation_level=None)
def re6stnet(node, folder, args='', prefix_len=None, registry=registry_url):
nodes.append(node)
if not os.path.exists(folder + '/cert.crt'):
dh_path = folder + '/dh2048.pem'
if not os.path.exists(dh_path):
os.symlink('../dh2048.pem', dh_path)
email = node.name + '@example.com'
p = node.Popen(('../../re6st-conf', '--registry', registry,
'--email', email), stdin=subprocess.PIPE, cwd=folder)
token = None
while not token:
time.sleep(.1)
token = db.execute("SELECT token FROM token WHERE email=?",
(email,)).fetchone()
if prefix_len:
db.execute("UPDATE token SET prefix_len=? WHERE token=?",
(prefix_len, token[0]))
p.communicate(str(token[0]))
os.remove(dh_path)
os.remove(folder + '/ca.crt')
node.screen('../re6stnet @%s/re6stnet.conf -v%u --registry %s %s'
% (folder, VERBOSE, registry, args))
re6stnet(registry, 'registry', '--ip ' + REGISTRY, registry='http://localhost/')
re6stnet(machine1, 'm1', '-I%s' % m1_if_0.name)
re6stnet(machine2, 'm2')
re6stnet(machine3, 'm3', '-i%s' % m3_if_0.name)
re6stnet(machine4, 'm4', '-i%s' % m4_if_0.name)
re6stnet(machine5, 'm5', '-i%s' % m5_if_0.name)
re6stnet(machine6, 'm6')
re6stnet(machine7, 'm7')
re6stnet(machine8, 'm8')
db.close()
nodes = registry, machine1, machine2, machine3, machine4, \
machine5, machine6, machine7, machine8
_ll = {} _ll = {}
def node_by_ll(addr): def node_by_ll(addr):
try: try:
......
...@@ -9,4 +9,3 @@ cert m1/cert.crt ...@@ -9,4 +9,3 @@ cert m1/cert.crt
key m1/cert.key key m1/cert.key
client-count 2 client-count 2
tunnel-refresh 100 tunnel-refresh 100
registry http://10.0.0.2:80
...@@ -9,4 +9,3 @@ cert m2/cert.crt ...@@ -9,4 +9,3 @@ cert m2/cert.crt
key m2/cert.key key m2/cert.key
client-count 2 client-count 2
tunnel-refresh 100 tunnel-refresh 100
registry http://10.0.0.2:80
...@@ -9,4 +9,3 @@ cert m3/cert.crt ...@@ -9,4 +9,3 @@ cert m3/cert.crt
key m3/cert.key key m3/cert.key
client-count 2 client-count 2
tunnel-refresh 100 tunnel-refresh 100
registry http://10.0.0.2:80
...@@ -9,4 +9,3 @@ cert m4/cert.crt ...@@ -9,4 +9,3 @@ cert m4/cert.crt
key m4/cert.key key m4/cert.key
client-count 2 client-count 2
tunnel-refresh 100 tunnel-refresh 100
registry http://10.0.0.2:80
...@@ -9,4 +9,3 @@ cert m6/cert.crt ...@@ -9,4 +9,3 @@ cert m6/cert.crt
key m6/cert.key key m6/cert.key
client-count 2 client-count 2
tunnel-refresh 100 tunnel-refresh 100
registry http://10.0.0.2:80
...@@ -9,4 +9,3 @@ cert m7/cert.crt ...@@ -9,4 +9,3 @@ cert m7/cert.crt
key m7/cert.key key m7/cert.key
client-count 2 client-count 2
tunnel-refresh 100 tunnel-refresh 100
registry http://10.0.0.2:80
db registry/registry.db
ca ca.crt ca ca.crt
key registry/ca.key key registry/ca.key
private 2001:db8:42::1 private 2001:db8:42::1
......
...@@ -8,4 +8,3 @@ cert registry/cert.crt ...@@ -8,4 +8,3 @@ cert registry/cert.crt
key registry/cert.key key registry/cert.key
client-count 2 client-count 2
tunnel-refresh 100 tunnel-refresh 100
registry http://localhost/
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE token (
token text primary key not null,
email text not null,
prefix_len integer not null,
date integer not null);
CREATE TABLE cert (
prefix text primary key not null,
email text,
cert text);
INSERT INTO "cert" VALUES('1',NULL,NULL);
INSERT INTO "cert" VALUES('01',NULL,NULL);
INSERT INTO "cert" VALUES('001',NULL,NULL);
INSERT INTO "cert" VALUES('0001',NULL,NULL);
INSERT INTO "cert" VALUES('00001',NULL,NULL);
INSERT INTO "cert" VALUES('000001',NULL,NULL);
INSERT INTO "cert" VALUES('0000001',NULL,NULL);
INSERT INTO "cert" VALUES('00000001',NULL,NULL);
INSERT INTO "cert" VALUES('000000001',NULL,NULL);
INSERT INTO "cert" VALUES('0000000001',NULL,NULL);
INSERT INTO "cert" VALUES('00000000001',NULL,NULL);
INSERT INTO "cert" VALUES('000000000001',NULL,NULL);
INSERT INTO "cert" VALUES('00000000000011',NULL,NULL);
INSERT INTO "cert" VALUES('000000000000101',NULL,NULL);
INSERT INTO "cert" VALUES('0000000000001001',NULL,NULL);
INSERT INTO "cert" VALUES('0000000000000000','re6st@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNjEyNDU0NloXDTEzMDkwNjEyNDU0NlowDzENMAsGA1UEAxMEMC8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKrSdByupjlYwmw+OEcqHkZ9kNf4
NFZjwxOojfJcPoC+pelK/IRxDPnZD5nLgxfFSTzQfLBnQzzMzexzWmPj2ux3p2nh
jT5/Sot40zJa6cJycLg3/g9nOZpFlhDEpyqF92KNIuY2/r4gMZiDiRZNeyY52lnW
VTjehGmYizpBU0KoSSVVSTbUJ5tA7l4bbqitb1nv9m6lfKF/y1C7TfIbHKDRYOk6
nnhOEdJxDkvPfSg61qF9UHM3EyPOZ7gq73gPOct59ccL0v8+tENGtg49X2W/Hlx2
OMd+XJHW2nmyvoWlDq9Z1bavuupwlI2bOhOIL309+BpTJStHWyWE6Sv4088CAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEABWrPo8k4BCbRoZnGTZtlO5fyeDDK97u7gyjZ
RXVP0bxk3FrCRXW3cWtqkZQjlxOxQ99doT6stnJiaRiLwBlI6JSjfRS2/xb4aS8h
12PhehzrrQhF33/JVV378JptCjPV70goKct3PB3g4lxQDNmpS2bHnpZjdfQkR33q
RWdYdUtEyF4Kmi0D0fzTQEwcVWpSwjpyxW1nVBSstIlg/qLpzXQYkfYu4/2M/17z
n0w5o4DuuDEr2cOSbqa1rp06IJkHc0B2bjeCbnkQXp2x5HBrZHel12AzujGHE83R
7yTyU7SkjpQJs0DH2uw2admvCaduf8tszZ2UXrbO9r+frK44PQ==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000000001','foo@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNjEyNDY1OVoXDTEzMDkwNjEyNDY1OVowDzENMAsGA1UEAxMEMS8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMBm39B1mHqMnb31Eig/FhcWJOva
AMfYwrxcuLWfM0orX+4M0Qj3Loqpg7Cktzj7TOMCxhdw7cTyoVTAQX0RVFk+jmsY
OD7RGZGUB7Wa3+DG/vhEbPcq5SuQMls/VhNOhw1clgBGDg6bprdNyTJGVlxAzioZ
h9m20RHjEiZFiFjd5EZrUUnV6PNAXS4SNF9GQ360Pfh+/agGliCM9XBRq2zqD0+b
my5RwYKMGvQeeQsK5K4O2PAivel87YGtGQtqfXaKDpVXRxCUPyBj/irSE2xv/IL3
BiMTR2FEUegzPtGs1ryBXx9bls6D6Y6v9+KtKHs4icADtKRyUN/AKhUOafcCAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEAE66CsCulIbugAKWTKCACnvDvcbBBjRZooPnQ
JYnqVrNUFFvpuwpdAD1ke5mfvjCwDhE+eFPuWAFJfy7HHdRtA+aK8lMQld8hr0sh
enfwlpOuxNSbxqHMlnZ9vKVE2Zrw87dl6W4fDqpDlWSvtoKfiYBa6MRg3IdAMoDI
4+fA6AIbxdiNNXw7BvNwma4PGEpsqD3wE4/xNrVpbXc+d20N8Xhexf6NFtTlwwQh
XNayeySHlZMk41CMnjbk9tMSr1HAQVYYA/Wf1Ryy3Nz46nawYFMtdafRTj/Xzs6A
tDtF1kiAUNECGbjLY0xTKm5kWCyl1bIFFcXQu8z3aHZk9UzBRQ==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000000010','foo@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNjEyNDcxMVoXDTEzMDkwNjEyNDcxMVowDzENMAsGA1UEAxMEMi8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPfcxv4aS8vmvC5hgXQx/51lviKt
9BaBDUr9EPwxvJoyWwDjINRhcxhXg1OhUALJu4fCGOGroE9pEvoWZRp+GOTBrTXx
f3cEN5OChyhMr0qnZZbDAeFZOtaN4rjTuIH7nONDKkC2DszWuwTBPJ+p8048Qq8M
aAjM08s5sUmvmiWA7zZbtk4RY0coci5W/uf4pnjjB0A/ZfcpBQIuSxFacAD8aDOv
8SEb/OQtX1oAlptGcUTpNS12xgs/sOhF3qqqXg3/OX6IVK1ffvc2GQd3Ovmu82e7
WgFkt031foVPe0kuj0W9zPYvjiLFL2xCBxP6TGn1iLDIDOMocZTRVFDZP+8CAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEAGeF6uzYKGErAHqFNLwP+kBuMiNBtsprrw3q/
ZGzuf19KO+6kKdL0ruxr1A82QVuoJTndJF13xuqocBIy4xKxNYR2IkK2NJuNh+XS
GAXekoO3WJFaIkuYL65td0hBpNGrxhkh67lEx8hvJU0aCoLJsvBg28T4+PHXczHN
3bJ8zWpKUSbK56PJkj8p0r05I2HnGzXFcg06rb+lbLQqRLls+oLnL94094t/mQJi
VpUFjfMgz3kQfFHDo32R2+6nn5lq7Vx33Gdj9ts9bER1ckoD5Z0mZ3soDM3am/RC
XJwpfQom2qGZNH2dBbI/8eHkZ8Zj7RQgAR2PU+6jfz9Ut9lYLg==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000000011','bar@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNjEyNDc1MloXDTEzMDkwNjEyNDc1MlowDzENMAsGA1UEAxMEMy8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKqbrhL/yPlfnh+floUyX9yjk61f
XzQD/FymcypFcs+6cNyOxzx2o1JiLOh9ETb9tXrsZ+ZCpj21Sy/+aEWtAbrRwtLe
omU+AbOKB3r3Ln5TnCXc4YFOVuul+yNz6pRrO0qtV5FxvmHFynpojPnWOPkIhEXY
gnBvpHouDvM/u3Ljs0aGGNgb2BNwnZfncQwtmsaoekCeV0aao3cxbkg6OmQKVbjf
dUb9ditHhv8T4ssNo89UVwfnOsdM60kLhqMNbyI0b51Xs5/TwRxHzNr3i15DeAMK
Um534zrnU99z6ba6WnSmLANPR43h3otsljJtU7XHUt3QJ6CkynVfHclUhvECAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEAV/YApyKcnlWGUZl+RJxyT58Db3Wzgj223GVb
zXwx2e5cGl1ENIouDriLks9CydRifNhL2oU1SVuwHYRcQfhXukRuUXQHUjmILhSy
t+lhgQabanZ89swEEdefQi7LQ1f2N/gwe9PHmazerllW8VAf/Vgb8jukhSWObve7
JeTlfkcvKdfqTOFHHnrHSUNiCkIIEbHL4jKP8DFZb3UCFG0shoLrJz7ve68hzoKq
u7yAYtNg3W90rwUJ5Djs03BGDVTQm/GnNIpeBzbnyaoyq7nkvnurRkgKGS98dbhQ
qS36+1DwuPlUl9IJsAW3kwvxEgu/lZbwXf+30oaVzJVRAjGx4A==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000000100','bar@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNjEyNDgwM1oXDTEzMDkwNjEyNDgwM1owDzENMAsGA1UEAxMENC8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANtC8H6aSr79bS+kg8UtNLoQy/mS
GjfMMvA8k069mTzzYQ1+0SUadVN00sdEjOEz+HoyhM55ipBjFhTUCe9A5RSGiMwa
axB9v/dsDqBpuUSXE8APPlEQkhFlGLjlE6OsmGI5mbiZVL/gRZ/jigxjcYuekNkB
0Vc2HLu1Mka6UksprVk/C0jMSowqRheMQtqH5BmjgLiBTCx24on8eysPRwuAZ2gI
OEs6z0k13jhzoDyp3GGBV1JbREE1GBiN97h9bTeC/ivVf1kqqioAG6QwdlZvhwo5
Q9sVWmHIw/qDgXWYV1CCIsMFsIdmNVejaSiYUI3hm9/ot9uCAMSlpSIFzY0CAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEAXeroStBs1o805hh8ICakCxdxqPXRTtSoXK4z
590x7epWsGMC0NeMVi+UxMrs0GgrYCPATBj3/dFX/utbk/qL4rRwlCJOqBRgSxqQ
QGRbIQ/5Dj/9kVxkSnWLynSjur3VUHtlG7XRU9mxHP9sUJYj+nm7ZDzJcBO0A8fH
NU08pm0RvtkqiS+MYR1VjeHpaXbLPn3kMXZjogPRCbyJ8/oY8uAjPN7DCMjc1cuz
jMzpA8nGWSXfDKfgtsFRNFcHEf1ozGH9aqtBUtWTNysb2zyMV4NpQ8R0R6UjgJpf
8eW1huxWm9bSD8PzCzaCApThGN89dvayTVibXaZVtNT0sZaBrw==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000000101','bar@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNjEyNDgxOVoXDTEzMDkwNjEyNDgxOVowDzENMAsGA1UEAxMENS8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOXp2VvOsIpiLl6da9dRvuxjfDHY
5yQOlj4DrN/zrVwVM5Wl+4mwafbORmY5d6vLNSLgvu1sjdlRe0herBzs707YcN/z
9XTk+mfxyy1vhWVl9LeqBRLMgoTGYHMLyuKIT6xVFlHdECfsC2vjLBzKPjmMSduT
jsxkAjm72dfOw51+KJ7Nd0kAeevR7H882Z6yPfvUOuPCzEQhqAurV0ujuUqjVFzx
1OkZNS1yme3cMJWXfg11JpFYIwc9G641vzrAfiOtQnjdgq0v2eHJMmphLB0cXvf5
wop41r5ClxEi/YgZfak5FLNjh5G0uJSG3si1rl4CCTncHz6G1YMCnto8FMkCAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEAoMxpg9CQYFTv6aOaNmblgy/etBQDSZK5bDhp
j33e/xoEPTNxGvkZ+966uXF9pxVz21uUcTJjlOdSzWnN8xIBXjkubOLX9khJoZc7
yhTMBOhyurtti5/keIR1LMypgz/Fsk72DnX01kkmzhp/C5m+cQIX+Y7uio7xIWTJ
516yftcDHIJgmzn7a6nu8G6oCuU1uhWwnUQCyniwodBGAOkhXptBp2CX9S6itz/4
SJT7estAjJYmkPGiZIsZg8z6VquHGEmG+TDP9qmbdlGrPshI11dnqF8B0ozeSNWN
o1taiYL3UMPOORzgdDrPNe+W4l7BxHAF3ctJLa88PjbK39hhbw==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000000110','baz@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNjEyNDk1N1oXDTEzMDkwNjEyNDk1N1owDzENMAsGA1UEAxMENi8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/J8RTgKmHHsrhx70VJUHQx+tlw
oRT9glnSUeFquJwN0sfRs/u9ZaPnwDhwBNOEKBXw1ictHCqnVJ4DxxgkOcdTftib
FEXIdUdtMLEehrfbzZ7jJhbNHzkBsP2DfdISNP/tH09OEYuNfvfkL8BdJqi2Yc6F
i+V4DpYX9ByjJZQdAFh8ROG71eyheWImw/XJ7Bpu3FLjxyAMDl7+aLNgj8VCHlxI
ha5PSEpYyQqhyUXKM4bFI6KrT/1Zx+rkzJ0uP6j6iBPIUWqktTCvOfyjUYHNv8Gj
sKT/6bWimj3rPOoPaEDcmIqhA0GdPLuOUkh1lm+PjM0N7If0U7Hy4ZlBLLUCAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEAF05gZ8FLUoGhWHKtcsNfeAvxCd7iEGi3ilze
GikZJVUOddgaMJO/WcCcusMmdl4vsXFNzitBv+ueIxCcIMLnjBOcvtOulq+H5aok
ijt5SBfHOOmpKfzdOcg/Phhl0/oFiJtYAaYIZGGrEAAiG1iY6X/PJEWiiPgEaUKQ
F/y/sxy3syV9A1zZiVcEv1ju4adrXtJCyZN5giuR0VvEcyuA5PPpkTU1S8GaBf19
ZHyZtobDw/6U+U64dYBfWpDdZ8bSJnaueufbgGsPIIteOBeZJJzPBHYivi6rq6rR
syCrauaY43bjqe5i8ydsxVuW5CjBC4Us1/IVA7Ju7p7O9H6EeA==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000000111','qux@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNzEzMTkwMFoXDTEzMDkwNzEzMTkwMFowDzENMAsGA1UEAxMENy8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ+bhdSvwxNXMkB/lUUCtFy9lwaC
4TUEW+7oxq6g39d0n3YSGDESVtXjdBldW1SWnrv4eqJSut5vM6mwEn4xhZI24zrc
WC5TFkcykMV9idOm/+/IlVnt7aBIrIdgMcAQcSVWRzJ9VaJ+aiZkBHVfslN7LQgr
W+epL6tzitJFKK4y+qhEeR3O66W01mB75M+Rfmma+Y/BeLd8odK38s678TLF/Tt5
MHDROyXp5Th27oGxZD7KdLwQkrONSdoswLogI+z7BL08FPIkgiZn3ZCuLazXhj5+
w3/A8P1mIqeOaLrHm/2dk3F/MW6ekISA8vsniyWHu2k0QQ04yhvjuBNv7hsCAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEATTEvWndEObmFBiu+eZlwt8twcbA6r5Qgq/0v
JIl/TyvGqGa4wWmt/zIHU5rgZe/QC1BfVzB5pSk3TtgCfUQK+eORjowxIaz6BKD4
U4vxC6cmJhuPwHHaq0z1xgQD6Jha0zkPLWb3FbrcquH/F/hRbA+uIG+sYJLhJC1p
gtXwzXiA+IcSmWxL4tIynFbsxSpEKyUbgNp8d//AxB08SA62Sx5JtG6lZiLtHrhE
eOcXdpAmZOs+jsdfax3MhEe8BpaZ8WIx5Au+ddkYAB+8Y/D/17CAl3QJUR6l2JlO
YmyreTZ8FIIuw8mUoaFgz7lz8qAC7PLklLz81VTgDcq3pCKdJw==
-----END CERTIFICATE-----
');
INSERT INTO "cert" VALUES('0000000000001000','qux@example.com','-----BEGIN CERTIFICATE-----
MIICwTCCAakCAQAwDQYJKoZIhvcNAQEFBQAwPjEaMBgGA1UEAwwRcmU2c3QuZXhh
bXBsZS5jb20xIDAeBgkqhkiG9w0BCQEWEXJlNnN0QGV4YW1wbGUuY29tMB4XDTEy
MDkwNzEzMzgyN1oXDTEzMDkwNzEzMzgyN1owDzENMAsGA1UEAxMEOC8xNjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKldLj4pDTK5oZv7GTLmAqCzmVP
8OEzdBC/vwZQaD/hrx4JooUbEnI5nCvIi9WXBBAzYb0189Kv1trB9H/23sQhxqo+
BW1S/NJETl5OHnaQudcCYJHheIo78fFi9neZMPPbQ405yZ+iELExw75LmusMNSjF
3qpJRZNKHpMuzwVsdVHH3OFbTyRGOlAnYD9s7CkemxR5U5S/W9XRsqI7+AV+hmRE
A8k4sG3GqlbLw48tRYOTzrK1r2VcCcbw6sb2mXVCpyHrpqOylwspJWtqi0o9q7+X
C51ZwSRuG6LApa3VCN4VkNjZApd665xdu66ZsM/I6xfCwh2+uxYipskC36UCAwEA
ATANBgkqhkiG9w0BAQUFAAOCAQEAPjQhnmYiTuKcxXmVOQBMHwEe1TAZIgCMdiGI
B3asRz8OV9LADi9otg3ikNyaKjMJ2RzbBVsy7SBggJcW6ah6GTAoCFeIFy38kz9G
qZnWyZz2NfI1VXfIIzrvCQQERPjp+c3U5LaPwti6FD0YQ+8u0oydiV+LG/ZtPlv0
pvyQ0E3VIOZ9u4OJ8cDPmx7CjDEKxg3bpeP6pXJkyXBmyBGvtPUhq7p4hX7f7gUM
XUqGjnQEt2DbNHB33Z+tL/LP8bsXsiUkNaTRghYSk0PTmFwJbGkTA97AC+QpjpE1
+WUd86Z9FRRR37t/nFQNvm6wZqemsT2Wal1cVv6YVFeEZOvrFw==
-----END CERTIFICATE-----
');
COMMIT;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment