Mbed TLS v2.28.9
pkcs5.h
Go to the documentation of this file.
1 
8 /*
9  * Copyright The Mbed TLS Contributors
10  * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
11  */
12 #ifndef MBEDTLS_PKCS5_H
13 #define MBEDTLS_PKCS5_H
14 
15 #if !defined(MBEDTLS_CONFIG_FILE)
16 #include "mbedtls/config.h"
17 #else
18 #include MBEDTLS_CONFIG_FILE
19 #endif
20 
21 #include "mbedtls/asn1.h"
22 #include "mbedtls/md.h"
23 
24 #include <stddef.h>
25 #include <stdint.h>
26 
28 #define MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA -0x2f80
30 #define MBEDTLS_ERR_PKCS5_INVALID_FORMAT -0x2f00
32 #define MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE -0x2e80
34 #define MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH -0x2e00
35 
36 #define MBEDTLS_PKCS5_DECRYPT 0
37 #define MBEDTLS_PKCS5_ENCRYPT 1
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 #if defined(MBEDTLS_ASN1_PARSE_C)
44 
81 int mbedtls_pkcs5_pbes2(const mbedtls_asn1_buf *pbe_params, int mode,
82  const unsigned char *pwd, size_t pwdlen,
83  const unsigned char *data, size_t datalen,
84  unsigned char *output);
85 
86 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7)
87 
121 int mbedtls_pkcs5_pbes2_ext(const mbedtls_asn1_buf *pbe_params, int mode,
122  const unsigned char *pwd, size_t pwdlen,
123  const unsigned char *data, size_t datalen,
124  unsigned char *output, size_t output_size,
125  size_t *output_len);
126 
127 #endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */
128 
129 #endif /* MBEDTLS_ASN1_PARSE_C */
130 
145 int mbedtls_pkcs5_pbkdf2_hmac(mbedtls_md_context_t *ctx, const unsigned char *password,
146  size_t plen, const unsigned char *salt, size_t slen,
147  unsigned int iteration_count,
148  uint32_t key_length, unsigned char *output);
149 
150 #if defined(MBEDTLS_SELF_TEST)
151 
157 int mbedtls_pkcs5_self_test(int verbose);
158 
159 #endif /* MBEDTLS_SELF_TEST */
160 
161 #ifdef __cplusplus
162 }
163 #endif
164 
165 #endif /* pkcs5.h */
Generic ASN.1 parsing.
Configuration options (set of defines)
This file contains the generic message-digest wrapper.
int mbedtls_pkcs5_pbes2_ext(const mbedtls_asn1_buf *pbe_params, int mode, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t datalen, unsigned char *output, size_t output_size, size_t *output_len)
PKCS#5 PBES2 function.
int mbedtls_pkcs5_pbkdf2_hmac(mbedtls_md_context_t *ctx, const unsigned char *password, size_t plen, const unsigned char *salt, size_t slen, unsigned int iteration_count, uint32_t key_length, unsigned char *output)
PKCS#5 PBKDF2 using HMAC.
int mbedtls_pkcs5_self_test(int verbose)
Checkup routine.
int mbedtls_pkcs5_pbes2(const mbedtls_asn1_buf *pbe_params, int mode, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t datalen, unsigned char *output)
PKCS#5 PBES2 function.