mbed TLS v2.2.0
Macros | Functions
pkcs5.h File Reference

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.

#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...
 

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_paramsthe ASN.1 algorithm parameters
modeeither MBEDTLS_PKCS5_DECRYPT or MBEDTLS_PKCS5_ENCRYPT
pwdpassword to use when generating key
pwdlenlength of password
datadata to process
datalenlength of data
outputoutput 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
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.
int mbedtls_pkcs5_self_test ( int  verbose)

Checkup routine.

Returns
0 if successful, or 1 if the test failed