Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

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...

Typedefs

typedef struct mbedtls_pem_context mbedtls_pem_context
 PEM context structure.

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.


Typedef Documentation

PEM context structure.


Function Documentation

void mbedtls_pem_free ( mbedtls_pem_context ctx )

PEM context memory freeing.

Parameters:
ctxcontext to be freed

Definition at line 424 of file pem.c.

void mbedtls_pem_init ( mbedtls_pem_context ctx )

PEM context setup.

Parameters:
ctxcontext to be initialized

Definition at line 49 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 230 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:
headerThe header string to write.
footerThe footer string to write.
der_dataThe DER data to encode.
der_lenThe length of the DER data der_data in Bytes.
bufThe buffer to write to.
buf_lenThe length of the output buffer buf in Bytes.
olenThe address at which to store the total length written or required (if buf_len is not enough).
Note:
You may pass NULL for buf and 0 for buf_len to request the length of the resulting PEM buffer in `*olen`.
This function may be called with overlapping der_data and buf buffers.
Returns:
0 on success.
MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL if buf isn't large enough to hold the PEM buffer. In this case, `*olen` holds the required minimum size of buf.
Another PEM or BASE64 error code on other kinds of failure.

Definition at line 438 of file pem.c.