OPTIGA Trust M  1.1.0
C++ library for Optiga Trust M Chip Security Controller
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
 
#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_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

Macro Definition Documentation

◆ MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA

#define MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA   -0x2f80

Bad input parameters to function.

◆ MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE

#define MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE   -0x2e80

Requested encryption or digest alg not available.

◆ MBEDTLS_ERR_PKCS5_INVALID_FORMAT

#define MBEDTLS_ERR_PKCS5_INVALID_FORMAT   -0x2f00

Unexpected ASN.1 data.

◆ MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH

#define MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH   -0x2e00

Given private key password does not allow for correct decryption.

◆ MBEDTLS_PKCS5_DECRYPT

#define MBEDTLS_PKCS5_DECRYPT   0

◆ MBEDTLS_PKCS5_ENCRYPT

#define MBEDTLS_PKCS5_ENCRYPT   1

Function Documentation

◆ 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
ctxGeneric HMAC context
passwordPassword to use when generating key
plenLength of password
saltSalt to use when generating key
slenLength of salt
iteration_countIteration count
key_lengthLength of generated key in bytes
outputGenerated 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