pkcs12.h File Reference

PKCS#12 Personal Information Exchange Syntax. More...

#include "config.h"
#include "md.h"
#include "cipher.h"
#include "asn1.h"
#include <stddef.h>
Include dependency graph for pkcs12.h:

Go to the source code of this file.

Defines

#define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA   -0x1F80
#define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE   -0x1F00
#define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT   -0x1E80
#define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH   -0x1E00
#define MBEDTLS_PKCS12_DERIVE_KEY   1
#define MBEDTLS_PKCS12_DERIVE_IV   2
#define MBEDTLS_PKCS12_DERIVE_MAC_KEY   3
#define MBEDTLS_PKCS12_PBE_DECRYPT   0
#define MBEDTLS_PKCS12_PBE_ENCRYPT   1

Functions

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.
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 *input, size_t len, unsigned char *output)
 PKCS12 Password Based function (encryption / decryption) for cipher-based and mbedtls_md-based PBE's.
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 particular "purpose".

Detailed Description

PKCS#12 Personal Information Exchange Syntax.

Definition in file pkcs12.h.


Define Documentation

#define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA   -0x1F80

Bad input parameters to function.

Definition at line 66 of file pkcs12.h.

#define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE   -0x1F00

Feature not available, e.g. unsupported encryption scheme.

Definition at line 67 of file pkcs12.h.

#define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH   -0x1E00

Given private key password does not allow for correct decryption.

Definition at line 69 of file pkcs12.h.

#define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT   -0x1E80

PBE ASN.1 data not as expected.

Definition at line 68 of file pkcs12.h.

#define MBEDTLS_PKCS12_DERIVE_IV   2

initialization vector

Definition at line 72 of file pkcs12.h.

#define MBEDTLS_PKCS12_DERIVE_KEY   1

encryption/decryption key

Definition at line 71 of file pkcs12.h.

#define MBEDTLS_PKCS12_DERIVE_MAC_KEY   3

integrity / MAC key

Definition at line 73 of file pkcs12.h.

#define MBEDTLS_PKCS12_PBE_DECRYPT   0

Definition at line 75 of file pkcs12.h.

#define MBEDTLS_PKCS12_PBE_ENCRYPT   1

Definition at line 76 of file pkcs12.h.


Function Documentation

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 particular "purpose".

Depending on the given id, this function can produce an encryption/decryption key, an nitialization vector or an integrity key.

Parameters:
data buffer to store the derived data in
datalen length to fill
pwd password to use (may be NULL if no password is used)
pwdlen length of the password (may be 0)
salt salt buffer to use
saltlen length of the salt
mbedtls_md mbedtls_md type to use during the derivation
id id that describes the purpose (can be MBEDTLS_PKCS12_DERIVE_KEY, MBEDTLS_PKCS12_DERIVE_IV or MBEDTLS_PKCS12_DERIVE_MAC_KEY)
iterations number of iterations
Returns:
0 if successful, or a MD, BIGNUM type error.
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 *  input,
size_t  len,
unsigned char *  output 
)

PKCS12 Password Based function (encryption / decryption) for cipher-based and mbedtls_md-based PBE's.

Parameters:
pbe_params an ASN1 buffer containing the pkcs-12PbeParams structure
mode either MBEDTLS_PKCS12_PBE_ENCRYPT or MBEDTLS_PKCS12_PBE_DECRYPT
cipher_type the cipher used
md_type the mbedtls_md used
pwd the password used (may be NULL if no password is used)
pwdlen length of the password (may be 0)
input the input data
len data length
output the output buffer
Returns:
0 if successful, or a MBEDTLS_ERR_XXX code
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.

Parameters:
pbe_params an ASN1 buffer containing the pkcs-12PbeParams structure
mode either MBEDTLS_PKCS12_PBE_ENCRYPT or MBEDTLS_PKCS12_PBE_DECRYPT
pwd the password used (may be NULL if no password is used)
pwdlen length of the password (may be 0)
input the input data
len data length
output the output buffer
Returns:
0 if successful, or a MBEDTLS_ERR_XXX code

Generated on 10 Aug 2020 for mbed TLS v2.7.16 by  doxygen 1.6.1