mbed TLS library

Dependents:   HTTPClient-SSL WS_SERVER

Embed: (wiki syntax)

« Back to documentation index

pkcs12.h File Reference

pkcs12.h File Reference

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

Go to the source code of this file.

Functions

int pkcs12_pbe_sha1_rc4_128 (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 pkcs12_pbe (asn1_buf *pbe_params, int mode, cipher_type_t cipher_type, 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 md-based PBE's.
int pkcs12_derivation (unsigned char *data, size_t datalen, const unsigned char *pwd, size_t pwdlen, const unsigned char *salt, size_t saltlen, md_type_t 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.

Copyright (C) 2006-2013, ARM Limited, All Rights Reserved

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

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Definition in file pkcs12.h.


Function Documentation

int pkcs12_derivation ( unsigned char *  data,
size_t  datalen,
const unsigned char *  pwd,
size_t  pwdlen,
const unsigned char *  salt,
size_t  saltlen,
md_type_t  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:
databuffer to store the derived data in
datalenlength to fill
pwdpassword to use (may be NULL if no password is used)
pwdlenlength of the password (may be 0)
saltsalt buffer to use
saltlenlength of the salt
mdmd type to use during the derivation
idid that describes the purpose (can be PKCS12_DERIVE_KEY, PKCS12_DERIVE_IV or PKCS12_DERIVE_MAC_KEY)
iterationsnumber of iterations
Returns:
0 if successful, or a MD, BIGNUM type error.

Definition at line 242 of file pkcs12.c.

int pkcs12_pbe ( asn1_buf pbe_params,
int  mode,
cipher_type_t  cipher_type,
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 md-based PBE's.

Parameters:
pbe_paramsan ASN1 buffer containing the pkcs-12PbeParams structure
modeeither PKCS12_PBE_ENCRYPT or PKCS12_PBE_DECRYPT
cipher_typethe cipher used
md_typethe md used
pwdthe password used (may be NULL if no password is used)
pwdlenlength of the password (may be 0)
inputthe input data
lendata length
outputthe output buffer
Returns:
0 if successful, or a POLARSSL_ERR_xxx code

Definition at line 170 of file pkcs12.c.

int pkcs12_pbe_sha1_rc4_128 ( 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_paramsan ASN1 buffer containing the pkcs-12PbeParams structure
modeeither PKCS12_PBE_ENCRYPT or PKCS12_PBE_DECRYPT
pwdthe password used (may be NULL if no password is used)
pwdlenlength of the password (may be 0)
inputthe input data
lendata length
outputthe output buffer
Returns:
0 if successful, or a POLARSSL_ERR_xxx code

Definition at line 129 of file pkcs12.c.