pkcs5.h File Reference

PKCS#5 functions. More...

`#include "mbedtls/config.h"`
`#include "mbedtls/asn1.h"`
`#include "mbedtls/md.h"`
`#include <stddef.h>`
`#include <stdint.h>`
Include dependency graph for pkcs5.h:

Go to the source code of this file.

## Macros

#define | MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA -0x2f80
#define | MBEDTLS_ERR_PKCS5_INVALID_FORMAT -0x2f00
#define | MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE -0x2e80
#define | MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH -0x2e00
#define | MBEDTLS_PKCS5_DECRYPT 0
#define | MBEDTLS_PKCS5_ENCRYPT 1

## Functions

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. More...
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. More...
int | mbedtls_pkcs5_self_test (int verbose)
| Checkup routine. More...

## Detailed Description

PKCS#5 functions.

Author
  Mathias Olsson mathi.nosp@m.as@k.nosp@m.ompet.nosp@m.ensu.nosp@m.m.com

Definition in file pkcs5.h.

## Macro Definition Documentation

## MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA

#define MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA -0x2f80

Bad input parameters to function.

Definition at line 40 of file pkcs5.h.

## MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE

#define MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE -0x2e80

Requested encryption or digest alg not available.

Definition at line 44 of file pkcs5.h.

## MBEDTLS_ERR_PKCS5_INVALID_FORMAT

#define MBEDTLS_ERR_PKCS5_INVALID_FORMAT -0x2f00

Unexpected ASN.1 data.

Definition at line 42 of file pkcs5.h.

## MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH

#define MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH -0x2e00

Given private key password does not allow for correct decryption.

Definition at line 46 of file pkcs5.h.

## MBEDTLS_PKCS5_DECRYPT

#define MBEDTLS_PKCS5_DECRYPT 0

Definition at line 48 of file pkcs5.h.

## MBEDTLS_PKCS5_ENCRYPT

#define MBEDTLS_PKCS5_ENCRYPT 1

Definition at line 49 of file pkcs5.h.

## Function Documentation

## mbedtls_pkcs5_pbes2()

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.

Parameters

  pbe_params | the ASN.1 algorithm parameters
  mode | either MBEDTLS_PKCS5_DECRYPT or MBEDTLS_PKCS5_ENCRYPT
  pwd | password to use when generating key
  pwdlen | length of password
  data | data to process
  datalen | length of data
  output | output buffer

Returns
  0 on success, or a MBEDTLS_ERR_XXX code if verification fails.

## mbedtls_pkcs5_pbkdf2_hmac()

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.

Parameters

  ctx | Generic HMAC context
  password | Password to use when generating key
  plen | Length of password
  salt | Salt to use when generating key
  slen | Length of salt
  iteration_count | Iteration count
  key_length | Length of generated key in bytes
  output | Generated key. Must be at least as big as key_length

Returns
  0 on success, or a MBEDTLS_ERR_XXX code if verification fails.

## mbedtls_pkcs5_self_test()

int mbedtls_pkcs5_self_test | ( | int | verbose | ) |

Checkup routine.

Returns
  0 if successful, or 1 if the test failed