Embed: (wiki syntax)

« Back to documentation index

pem.h File Reference

pem.h File Reference

Privacy Enhanced Mail (PEM) decoding. More...

Go to the source code of this file.

Data Structures

struct  mbedtls_pem_context
 PEM context structure. More...

Functions

void mbedtls_pem_init (mbedtls_pem_context *ctx)
 PEM context setup.
int mbedtls_pem_read_buffer (mbedtls_pem_context *ctx, const char *header, const char *footer, const unsigned char *data, const unsigned char *pwd, size_t pwdlen, size_t *use_len)
 Read a buffer for PEM information and store the resulting data into the specified context buffers.
void mbedtls_pem_free (mbedtls_pem_context *ctx)
 PEM context memory freeing.
int mbedtls_pem_write_buffer (const char *header, const char *footer, const unsigned char *der_data, size_t der_len, unsigned char *buf, size_t buf_len, size_t *olen)
 Write a buffer of PEM information from a DER encoded buffer.

Detailed Description

Privacy Enhanced Mail (PEM) decoding.

Definition in file pem.h.


Function Documentation

void mbedtls_pem_free ( mbedtls_pem_context ctx )

PEM context memory freeing.

Parameters:
ctxcontext to be freed

Definition at line 428 of file pem.c.

void mbedtls_pem_init ( mbedtls_pem_context ctx )

PEM context setup.

Parameters:
ctxcontext to be initialized

Definition at line 53 of file pem.c.

int mbedtls_pem_read_buffer ( mbedtls_pem_context ctx,
const char *  header,
const char *  footer,
const unsigned char *  data,
const unsigned char *  pwd,
size_t  pwdlen,
size_t *  use_len 
)

Read a buffer for PEM information and store the resulting data into the specified context buffers.

Parameters:
ctxcontext to use
headerheader string to seek and expect
footerfooter string to seek and expect
datasource data to look in (must be nul-terminated)
pwdpassword for decryption (can be NULL)
pwdlenlength of password
use_lendestination for total length used (set after header is correctly read, so unless you get MBEDTLS_ERR_PEM_BAD_INPUT_DATA or MBEDTLS_ERR_PEM_NO_HEADER_FOOTER_PRESENT, use_len is the length to skip)
Note:
Attempts to check password correctness by verifying if the decrypted text starts with an ASN.1 sequence of appropriate length
Returns:
0 on success, or a specific PEM error code

Definition at line 234 of file pem.c.

int mbedtls_pem_write_buffer ( const char *  header,
const char *  footer,
const unsigned char *  der_data,
size_t  der_len,
unsigned char *  buf,
size_t  buf_len,
size_t *  olen 
)

Write a buffer of PEM information from a DER encoded buffer.

Parameters:
headerheader string to write
footerfooter string to write
der_dataDER data to write
der_lenlength of the DER data
bufbuffer to write to
buf_lenlength of output buffer
olentotal length written / required (if buf_len is not enough)
Returns:
0 on success, or a specific PEM or BASE64 error code. On MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL olen is the required size.

Definition at line 440 of file pem.c.