1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

pem: auto add newlines to header/footer in mbedtls_pem_write_buffer()

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti
2023-11-28 08:37:06 +01:00
parent 2e342f6938
commit 180915018d
6 changed files with 22 additions and 14 deletions

View File

@ -473,7 +473,10 @@ int mbedtls_pem_write_buffer(const char *header, const char *footer,
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 @@ int mbedtls_pem_write_buffer(const char *header, const char *footer,
memcpy(p, header, strlen(header));
p += strlen(header);
*p++ = '\n';
c = encode_buf;
while (use_len) {
@ -506,6 +510,7 @@ int mbedtls_pem_write_buffer(const char *header, const char *footer,
memcpy(p, footer, strlen(footer));
p += strlen(footer);
*p++ = '\n';
*p++ = '\0';
*olen = p - buf;

View File

@ -651,8 +651,8 @@ int mbedtls_x509write_crt_der(mbedtls_x509write_cert *ctx,
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,

View File

@ -302,8 +302,8 @@ int mbedtls_x509write_csr_der(mbedtls_x509write_csr *ctx, unsigned char *buf,
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,