Mbed TLS v2.28.10
pkcs12.h
Go to the documentation of this file.
1 
6 /*
7  * Copyright The Mbed TLS Contributors
8  * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9  */
10 #ifndef MBEDTLS_PKCS12_H
11 #define MBEDTLS_PKCS12_H
12 
13 #if !defined(MBEDTLS_CONFIG_FILE)
14 #include "mbedtls/config.h"
15 #else
16 #include MBEDTLS_CONFIG_FILE
17 #endif
18 
19 #include "mbedtls/md.h"
20 #include "mbedtls/cipher.h"
21 #include "mbedtls/asn1.h"
22 
23 #include <stddef.h>
24 
26 #define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -0x1F80
27 
28 #define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -0x1F00
29 
30 #define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -0x1E80
31 
32 #define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -0x1E00
33 
34 #define MBEDTLS_PKCS12_DERIVE_KEY 1
35 #define MBEDTLS_PKCS12_DERIVE_IV 2
36 #define MBEDTLS_PKCS12_DERIVE_MAC_KEY 3
38 #define MBEDTLS_PKCS12_PBE_DECRYPT 0
39 #define MBEDTLS_PKCS12_PBE_ENCRYPT 1
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
45 #if defined(MBEDTLS_ASN1_PARSE_C)
46 
61 int mbedtls_pkcs12_pbe_sha1_rc4_128(mbedtls_asn1_buf *pbe_params, int mode,
62  const unsigned char *pwd, size_t pwdlen,
63  const unsigned char *input, size_t len,
64  unsigned char *output);
65 
107 int mbedtls_pkcs12_pbe(mbedtls_asn1_buf *pbe_params, int mode,
108  mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type,
109  const unsigned char *pwd, size_t pwdlen,
110  const unsigned char *data, size_t len,
111  unsigned char *output);
112 
113 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7)
114 
155 int mbedtls_pkcs12_pbe_ext(mbedtls_asn1_buf *pbe_params, int mode,
156  mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type,
157  const unsigned char *pwd, size_t pwdlen,
158  const unsigned char *data, size_t len,
159  unsigned char *output, size_t output_size,
160  size_t *output_len);
161 
162 #endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */
163 
164 #endif /* MBEDTLS_ASN1_PARSE_C */
165 
193 int mbedtls_pkcs12_derivation(unsigned char *data, size_t datalen,
194  const unsigned char *pwd, size_t pwdlen,
195  const unsigned char *salt, size_t saltlen,
196  mbedtls_md_type_t mbedtls_md, int id, int iterations);
197 
198 #ifdef __cplusplus
199 }
200 #endif
201 
202 #endif /* pkcs12.h */
int mbedtls_pkcs12_pbe_ext(mbedtls_asn1_buf *pbe_params, int mode, mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t len, unsigned char *output, size_t output_size, size_t *output_len)
PKCS12 Password Based function (encryption / decryption) for cipher-based and mbedtls_md-based PBE's...
Configuration options (set of defines)
int mbedtls_pkcs12_pbe(mbedtls_asn1_buf *pbe_params, int mode, mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t len, unsigned char *output)
PKCS12 Password Based function (encryption / decryption) for cipher-based and mbedtls_md-based PBE's...
mbedtls_cipher_type_t
Supported {cipher type, cipher mode} pairs.
Definition: cipher.h:98
Generic ASN.1 parsing.
int mbedtls_pkcs12_derivation(unsigned char *data, size_t datalen, const unsigned char *pwd, size_t pwdlen, const unsigned char *salt, size_t saltlen, mbedtls_md_type_t mbedtls_md, int id, int iterations)
The PKCS#12 derivation function uses a password and a salt to produce pseudo-random bits for a partic...
int mbedtls_md(const mbedtls_md_info_t *md_info, const unsigned char *input, size_t ilen, unsigned char *output)
This function calculates the message-digest of a buffer, with respect to a configurable message-diges...
This file contains an abstraction interface for use with the cipher primitives provided by the librar...
This file contains the generic message-digest wrapper.
int mbedtls_pkcs12_pbe_sha1_rc4_128(mbedtls_asn1_buf *pbe_params, int mode, const unsigned char *pwd, size_t pwdlen, const unsigned char *input, size_t len, unsigned char *output)
PKCS12 Password Based function (encryption / decryption) for pbeWithSHAAnd128BitRC4.
mbedtls_md_type_t
Supported message digests.
Definition: md.h:50