From 6a5c5964604124bfc0d5caf625c837c94c5fd123 Mon Sep 17 00:00:00 2001
From: Ralf Jung <post@ralfj.de>
Date: Sun, 13 Dec 2015 16:08:12 +0100
Subject: [PATCH] add support for generating crt+chain files

---
 letsencrypt-tiny             | 12 ++++++++++++
 letsencrypt-tiny.conf.sample |  1 +
 2 files changed, 13 insertions(+)

diff --git a/letsencrypt-tiny b/letsencrypt-tiny
index 663faa3..033887e 100755
--- a/letsencrypt-tiny
+++ b/letsencrypt-tiny
@@ -73,6 +73,14 @@ def acme(name, domains):
         with open(certfile(name, 'dh'), 'wb') as f:
             f.write(signed_crt)
             f.write(dh)
+    # append chain
+    chainfile = config['DEFAULT'].get('chain')
+    if chainfile is not None:
+        with open(chainfile, 'rb') as f:
+            chain = f.read()
+        with open(certfile(name, 'chain'), 'wb') as f:
+            f.write(signed_crt)
+            f.write(chain)
 
 def request_cert(name):
     global config
@@ -115,6 +123,10 @@ def check_staging():
         os.rename(src = certfile(staging, 'dh'), dst = certfile(live, 'dh'))
     except FileNotFoundError:
         pass
+    try:
+        os.rename(src = certfile(staging, 'chain'), dst = certfile(live, 'chain'))
+    except FileNotFoundError:
+        pass
     return 2
 
 def auto_renewal():
diff --git a/letsencrypt-tiny.conf.sample b/letsencrypt-tiny.conf.sample
index f195128..55c4f0f 100644
--- a/letsencrypt-tiny.conf.sample
+++ b/letsencrypt-tiny.conf.sample
@@ -10,6 +10,7 @@ key-length = 4096
 
 # File containing the DH parameters, as generated by openssl (optional)
 dh-params = /etc/ssl/dh2048.pem
+chain = /etc/ssl/chains/letsencrypt-x1.crt
 
 [timing]
 # After how many days should the private key be re-generated?
-- 
2.39.5