diff --git a/library/pem.c b/library/pem.c
index 9500ffc..7c0c447 100644
--- a/library/pem.c
+++ b/library/pem.c
@@ -473,7 +473,10 @@
     size_t len = 0, use_len, add_len = 0;
 
     mbedtls_base64_encode(NULL, 0, &use_len, der_data, der_len);
-    add_len = strlen(header) + strlen(footer) + (((use_len > 2) ? (use_len - 2) : 0) / 64) + 1;
+    /* Newlines are appended to the end of both header and footer, so we
+     * account for an extra +2. */
+    add_len = strlen(header) + strlen(footer) + 2 + \
+              (((use_len > 2) ? (use_len - 2) : 0) / 64) + 1;
 
     if (use_len + add_len > buf_len) {
         *olen = use_len + add_len;
@@ -493,6 +496,7 @@
 
     memcpy(p, header, strlen(header));
     p += strlen(header);
+    *p++ = '\n';
     c = encode_buf;
 
     while (use_len) {
@@ -506,6 +510,7 @@
 
     memcpy(p, footer, strlen(footer));
     p += strlen(footer);
+    *p++ = '\n';
 
     *p++ = '\0';
     *olen = p - buf;
diff --git a/library/x509write_crt.c b/library/x509write_crt.c
index 4c019ee..8d920f2 100644
--- a/library/x509write_crt.c
+++ b/library/x509write_crt.c
@@ -651,8 +651,8 @@
     return (int) len;
 }
 
-#define PEM_BEGIN_CRT           "-----BEGIN CERTIFICATE-----\n"
-#define PEM_END_CRT             "-----END CERTIFICATE-----\n"
+#define PEM_BEGIN_CRT           "-----BEGIN CERTIFICATE-----"
+#define PEM_END_CRT             "-----END CERTIFICATE-----"
 
 #if defined(MBEDTLS_PEM_WRITE_C)
 int mbedtls_x509write_crt_pem(mbedtls_x509write_cert *crt,
diff --git a/library/x509write_csr.c b/library/x509write_csr.c
index 4e39755..5ee683f 100644
--- a/library/x509write_csr.c
+++ b/library/x509write_csr.c
@@ -302,8 +302,8 @@
     return ret;
 }
 
-#define PEM_BEGIN_CSR           "-----BEGIN CERTIFICATE REQUEST-----\n"
-#define PEM_END_CSR             "-----END CERTIFICATE REQUEST-----\n"
+#define PEM_BEGIN_CSR           "-----BEGIN CERTIFICATE REQUEST-----"
+#define PEM_END_CSR             "-----END CERTIFICATE REQUEST-----"
 
 #if defined(MBEDTLS_PEM_WRITE_C)
 int mbedtls_x509write_csr_pem(mbedtls_x509write_csr *ctx, unsigned char *buf, size_t size,
