mbedtls ported to mbed-classic

Fork of mbedtls by Christopher Haster

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.

Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

This file is part of mbed TLS (https://tls.mbed.org)

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 386 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 206 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 396 of file pem.c.