mbed TLS library
Dependents: HTTPClient-SSL WS_SERVER
pem.h File Reference
Privacy Enhanced Mail (PEM) decoding. More...
Go to the source code of this file.
Data Structures | |
struct | pem_context |
PEM context structure. More... | |
Functions | |
void | pem_init (pem_context *ctx) |
PEM context setup. | |
int | pem_read_buffer (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 | pem_free (pem_context *ctx) |
PEM context memory freeing. | |
int | 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-2013, ARM Limited, All Rights Reserved
This file is part of mbed TLS (https://tls.mbed.org)
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Definition in file pem.h.
Function Documentation
void pem_free | ( | pem_context * | ctx ) |
void pem_init | ( | pem_context * | ctx ) |
int pem_read_buffer | ( | 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:
-
ctx context to use header header string to seek and expect footer footer string to seek and expect data source data to look in pwd password for decryption (can be NULL) pwdlen length of password use_len destination for total length used (set after header is correctly read, so unless you get POLARSSL_ERR_PEM_BAD_INPUT_DATA or POLARSSL_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
int 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:
-
header header string to write footer footer string to write der_data DER data to write der_len length of the DER data buf buffer to write to buf_len length of output buffer olen total length written / required (if buf_len is not enough)
- Returns:
- 0 on success, or a specific PEM or BASE64 error code. On POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL olen is the required size.
Generated on Tue Jul 12 2022 13:50:40 by 1.7.2