mbed TLS v2.3.0
pem.h
Go to the documentation of this file.
1 
25 #ifndef MBEDTLS_PEM_H
26 #define MBEDTLS_PEM_H
27 
28 #include <stddef.h>
29 
36 #define MBEDTLS_ERR_PEM_NO_HEADER_FOOTER_PRESENT -0x1080
37 #define MBEDTLS_ERR_PEM_INVALID_DATA -0x1100
38 #define MBEDTLS_ERR_PEM_ALLOC_FAILED -0x1180
39 #define MBEDTLS_ERR_PEM_INVALID_ENC_IV -0x1200
40 #define MBEDTLS_ERR_PEM_UNKNOWN_ENC_ALG -0x1280
41 #define MBEDTLS_ERR_PEM_PASSWORD_REQUIRED -0x1300
42 #define MBEDTLS_ERR_PEM_PASSWORD_MISMATCH -0x1380
43 #define MBEDTLS_ERR_PEM_FEATURE_UNAVAILABLE -0x1400
44 #define MBEDTLS_ERR_PEM_BAD_INPUT_DATA -0x1480
45 /* \} name */
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
51 #if defined(MBEDTLS_PEM_PARSE_C)
52 
55 typedef struct
56 {
57  unsigned char *buf;
58  size_t buflen;
59  unsigned char *info;
60 }
61 mbedtls_pem_context;
62 
68 void mbedtls_pem_init( mbedtls_pem_context *ctx );
69 
92 int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const char *footer,
93  const unsigned char *data,
94  const unsigned char *pwd,
95  size_t pwdlen, size_t *use_len );
96 
102 void mbedtls_pem_free( mbedtls_pem_context *ctx );
103 #endif /* MBEDTLS_PEM_PARSE_C */
104 
105 #if defined(MBEDTLS_PEM_WRITE_C)
106 
122 int mbedtls_pem_write_buffer( const char *header, const char *footer,
123  const unsigned char *der_data, size_t der_len,
124  unsigned char *buf, size_t buf_len, size_t *olen );
125 #endif /* MBEDTLS_PEM_WRITE_C */
126 
127 #ifdef __cplusplus
128 }
129 #endif
130 
131 #endif /* pem.h */