pkcs12.h File Reference
PKCS#12 Personal Information Exchange Syntax.
More...
#include "config.h"
#include "md.h"
#include "cipher.h"
#include "asn1.h"
#include <stddef.h>
Go to the source code of this file.
Defines |
#define | MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -0x1F80 |
#define | MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -0x1F00 |
#define | MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -0x1E80 |
#define | MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -0x1E00 |
#define | MBEDTLS_PKCS12_DERIVE_KEY 1 |
#define | MBEDTLS_PKCS12_DERIVE_IV 2 |
#define | MBEDTLS_PKCS12_DERIVE_MAC_KEY 3 |
#define | MBEDTLS_PKCS12_PBE_DECRYPT 0 |
#define | MBEDTLS_PKCS12_PBE_ENCRYPT 1 |
Functions |
int | mbedtls_pkcs12_pbe_sha1_rc4_128 (mbedtls_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 | mbedtls_pkcs12_pbe (mbedtls_asn1_buf *pbe_params, int mode, mbedtls_cipher_type_t cipher_type, mbedtls_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 mbedtls_md-based PBE's.
|
int | mbedtls_pkcs12_derivation (unsigned char *data, size_t datalen, const unsigned char *pwd, size_t pwdlen, const unsigned char *salt, size_t saltlen, mbedtls_md_type_t mbedtls_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.
Definition in file pkcs12.h.
Define Documentation
#define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -0x1F80 |
Bad input parameters to function.
Definition at line 66 of file pkcs12.h.
#define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -0x1F00 |
Feature not available, e.g. unsupported encryption scheme.
Definition at line 67 of file pkcs12.h.
#define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -0x1E00 |
Given private key password does not allow for correct decryption.
Definition at line 69 of file pkcs12.h.
#define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -0x1E80 |
PBE ASN.1 data not as expected.
Definition at line 68 of file pkcs12.h.
#define MBEDTLS_PKCS12_DERIVE_IV 2 |
initialization vector
Definition at line 72 of file pkcs12.h.
#define MBEDTLS_PKCS12_DERIVE_KEY 1 |
encryption/decryption key
Definition at line 71 of file pkcs12.h.
#define MBEDTLS_PKCS12_DERIVE_MAC_KEY 3 |
integrity / MAC key
Definition at line 73 of file pkcs12.h.
#define MBEDTLS_PKCS12_PBE_DECRYPT 0 |
#define MBEDTLS_PKCS12_PBE_ENCRYPT 1 |
Function Documentation
int mbedtls_pkcs12_derivation |
( |
unsigned char * |
data, |
|
|
size_t |
datalen, |
|
|
const unsigned char * |
pwd, |
|
|
size_t |
pwdlen, |
|
|
const unsigned char * |
salt, |
|
|
size_t |
saltlen, |
|
|
mbedtls_md_type_t |
mbedtls_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:
-
| data | buffer to store the derived data in |
| datalen | length to fill |
| pwd | password to use (may be NULL if no password is used) |
| pwdlen | length of the password (may be 0) |
| salt | salt buffer to use |
| saltlen | length of the salt |
| mbedtls_md | mbedtls_md type to use during the derivation |
| id | id that describes the purpose (can be MBEDTLS_PKCS12_DERIVE_KEY, MBEDTLS_PKCS12_DERIVE_IV or MBEDTLS_PKCS12_DERIVE_MAC_KEY) |
| iterations | number of iterations |
- Returns:
- 0 if successful, or a MD, BIGNUM type error.
PKCS12 Password Based function (encryption / decryption) for cipher-based and mbedtls_md-based PBE's.
- Parameters:
-
| pbe_params | an ASN1 buffer containing the pkcs-12PbeParams structure |
| mode | either MBEDTLS_PKCS12_PBE_ENCRYPT or MBEDTLS_PKCS12_PBE_DECRYPT |
| cipher_type | the cipher used |
| md_type | the mbedtls_md used |
| pwd | the password used (may be NULL if no password is used) |
| pwdlen | length of the password (may be 0) |
| input | the input data |
| len | data length |
| output | the output buffer |
- Returns:
- 0 if successful, or a MBEDTLS_ERR_XXX code
int mbedtls_pkcs12_pbe_sha1_rc4_128 |
( |
mbedtls_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_params | an ASN1 buffer containing the pkcs-12PbeParams structure |
| mode | either MBEDTLS_PKCS12_PBE_ENCRYPT or MBEDTLS_PKCS12_PBE_DECRYPT |
| pwd | the password used (may be NULL if no password is used) |
| pwdlen | length of the password (may be 0) |
| input | the input data |
| len | data length |
| output | the output buffer |
- Returns:
- 0 if successful, or a MBEDTLS_ERR_XXX code