diff --git a/storage.go b/storage.go
index cffdf40575281932ecacb1266d1056d03bdffc98..69a7052577bc0ee0abb11c235be4f88cd9b40cc7 100644
--- a/storage.go
+++ b/storage.go
@@ -79,6 +79,14 @@ func dumpCertsAndKey(cn string, der [][]byte, key crypto.Signer) (map[string][]b
 	}
 	m[filepath.Join(cn, "cert.pem")] = data
 
+	if len(der) > 1 {
+		data, err = encodeCerts(der[1:])
+		if err != nil {
+			return nil, err
+		}
+		m[filepath.Join(cn, "chain.pem")] = data
+	}
+
 	data, err = encodePrivateKey(key)
 	if err != nil {
 		return nil, err