pkcs5.h File Reference

PKCS#5 functions. More...

`#include "asn1.h"`
`#include "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
| Bad input parameters to function. More...
#define | MBEDTLS_ERR_PKCS5_INVALID_FORMAT -0x2f00
| Unexpected ASN.1 data. More...
#define | MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE -0x2e80
| Requested encryption or digest alg not available. More...
#define | MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH -0x2e00
| Given private key password does not allow for correct decryption. More...
#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

Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

This file is part of mbed TLS (https://tls.mbed.org)

Definition in file pkcs5.h.

## Macro Definition Documentation

#define MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA -0x2f80

Bad input parameters to function.

Definition at line 34 of file pkcs5.h.

#define MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE -0x2e80

Requested encryption or digest alg not available.

Definition at line 36 of file pkcs5.h.

#define MBEDTLS_ERR_PKCS5_INVALID_FORMAT -0x2f00

Unexpected ASN.1 data.

Definition at line 35 of file pkcs5.h.

#define MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH -0x2e00

Given private key password does not allow for correct decryption.

Definition at line 37 of file pkcs5.h.

#define MBEDTLS_PKCS5_DECRYPT 0

Definition at line 39 of file pkcs5.h.

#define MBEDTLS_PKCS5_ENCRYPT 1

Definition at line 40 of file pkcs5.h.

## Function Documentation

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.

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.

int mbedtls_pkcs5_self_test | ( | int | verbose | ) |

Checkup routine.

Returns
  0 if successful, or 1 if the test failed