Colin Watson has proposed merging lp:~cjwatson/launchpad/new-dev-certificate 
into lp:launchpad.

Commit message:
Create a new local TLS key and self-signed certificate, since the old one had 
expired.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/new-dev-certificate/+merge/312298
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of 
lp:~cjwatson/launchpad/new-dev-certificate into lp:launchpad.
=== modified file 'configs/development/launchpad.crt'
--- configs/development/launchpad.crt	2008-10-06 08:56:28 +0000
+++ configs/development/launchpad.crt	2016-12-01 20:22:04 +0000
@@ -1,29 +1,32 @@
 -----BEGIN CERTIFICATE-----
-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
+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
+Dd+fhWdTzkejZxZi1dIOLxvIBy+C2Jtv9L0Fwiqo6DRi9Ho+4ztiK5E0yw+WF/PQ
+rPgGz3MHzI1IjCyqt5NvshdDi0+1Jy6+EEq5fUHdkTl9tqpBeeaKlfDXn7I6cwqs
+umHkFL97jGQtXvePdJrT9z3tEuSbOLqfF/s5+VhGxRhmTuoGXrrKM9aBr+MCAwEA
+AaOB4zCB4DCB3QYDVR0RBIHVMIHSgg1sYXVuY2hwYWQuZGV2ghVhbnN3ZXJzLmxh
+dW5jaHBhZC5kZXaCEWFwaS5sYXVuY2hwYWQuZGV2ghhibHVlcHJpbnRzLmxhdW5j
+aHBhZC5kZXaCEmJ1Z3MubGF1bmNocGFkLmRldoISY29kZS5sYXVuY2hwYWQuZGV2
+ghNmZWVkcy5sYXVuY2hwYWQuZGV2ghp0cmFuc2xhdGlvbnMubGF1bmNocGFkLmRl
+doIUeG1scnBjLmxhdW5jaHBhZC5kZXaCDnRlc3RvcGVuaWQuZGV2MA0GCSqGSIb3
+DQEBCwUAA4ICAQARAlq+bEja2OGKQtcnB1tw1FHw5d3rpDCs3GK8ujUUW9p3cQ8O
+zHG1NLdXI/lpNQab1iAPE2j254F0unsDt5h+bQBH6T1NJUmLO37v5Hx/RZcbsm73
+Lz4uyr4gQ9t0jW6Bo2YJzKLbXYFEpK5Ppaho/izoVNnokDuT5mhUUEWujGAtz+zN
+3GwDmOgJCt6WUh39KLtqCcodScJapL+q1wAf102PUCz9II3OANyH4/+6UBwlW0D0
+X0F+TB3jwHqYqEZKhZ5Y2TeG3MGhmZ6Aksg+gbom4WBIOJf1Cosyl0bAMcUOTMbn
+98+ssbC8CtEbmhJ45jp4ibj0O/yXg15P/VwvyYzovfEyJaso6sKRUpMr0HWRJmLE
+pCtf32nDBCsGJgJ/WJz+pS/JsmEJ3N7cCwsSjXQN2mcHViyeViLQlGAlXdTLnNnI
+Q45Jx0XWDNC0mc6ILJbOuYU7lXmxvmSV8unyOpKDRoMpcRS1Nb/LDMiUff4lMt5S
+EyaIooSsDveyS/ROW5VVQmBPbhVVBRDfCOnyYVPioH84QHqBw0jOB0oYcnJl4Tlx
+V+I+4TlrTq/Fi1iI7Atp84ol/mJ+qmZP5jk6F8E7bvgVbdH0vXRZn8eK3vfQh6ej
+w7LdOrrxMWbWoCHbFXyIqCy8dMtRKG2X+nxdfRxigBiXvZCot5imq/RVbg==
 -----END CERTIFICATE-----

=== modified file 'configs/development/launchpad.key'
--- configs/development/launchpad.key	2008-10-06 08:56:28 +0000
+++ configs/development/launchpad.key	2016-12-01 20:22:04 +0000
@@ -1,51 +1,52 @@
------BEGIN RSA PRIVATE KEY-----
-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
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+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
+te4rkNFHqt1hfZ0F+WnMeuEiICNE4zA=
+-----END PRIVATE KEY-----

=== added file 'utilities/make-dev-certificate'
--- utilities/make-dev-certificate	1970-01-01 00:00:00 +0000
+++ utilities/make-dev-certificate	2016-12-01 20:22:04 +0000
@@ -0,0 +1,69 @@
+#! /usr/bin/python
+#
+# Copyright 2016 Canonical Ltd.  This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""Make a new local development SSL certificate.
+
+This is a very occasional maintenance utility.  It writes new versions of
+configs/development/launchpad.key and configs/development/launchpad.crt, and
+these changes should be committed.
+"""
+
+from __future__ import print_function
+
+import atexit
+import os.path
+import shutil
+import subprocess
+import sys
+import tempfile
+
+
+vhosts = [
+    "launchpad.dev",
+    "answers.launchpad.dev",
+    "api.launchpad.dev",
+    "blueprints.launchpad.dev",
+    "bugs.launchpad.dev",
+    "code.launchpad.dev",
+    "feeds.launchpad.dev",
+    "translations.launchpad.dev",
+    "xmlrpc.launchpad.dev",
+    "testopenid.dev",
+    ]
+
+
+def main():
+    """Run the script."""
+    key = "configs/development/launchpad.key"
+    certificate = "configs/development/launchpad.crt"
+    tmpdir = tempfile.mkdtemp()
+    atexit.register(shutil.rmtree, tmpdir)
+    config = os.path.join(tmpdir, "launchpad.cnf")
+    shutil.copy2("/etc/ssl/openssl.cnf", config)
+    with open(config, "a") as f:
+        f.write(
+            "\n[subjectAltName]\nsubjectAltName=%s\n" %
+            ",".join("DNS:%s" % vhost for vhost in vhosts))
+    subprocess.check_call([
+        "openssl", "req",
+        "-config", config,
+        "-new",
+        "-newkey", "rsa:4096",
+        "-nodes",
+        "-sha256",
+        "-subj", "/CN=%s/" % vhosts[0],
+        "-extensions", "subjectAltName",
+        "-x509",
+        "-days", "3650",
+        "-keyout", key,
+        "-out", certificate,
+        ])
+    print("Created new local key and self-signed certificate.")
+    subprocess.check_call(["openssl", "x509", "-in", certificate, "-text"])
+    return 0
+
+
+if __name__ == '__main__':
+    sys.exit(main())

_______________________________________________
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to     : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp

Reply via email to