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

Go to the source code of this file.
Macros | |
| #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_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". More... | |
PKCS#12 Personal Information Exchange Syntax.
| #define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -0x1F80 |
Bad input parameters to function.
| #define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -0x1F00 |
Feature not available, e.g. unsupported encryption scheme.
| #define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -0x1E00 |
Given private key password does not allow for correct decryption.
| #define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -0x1E80 |
PBE ASN.1 data not as expected.
| #define MBEDTLS_PKCS12_DERIVE_IV 2 |
initialization vector
| #define MBEDTLS_PKCS12_DERIVE_KEY 1 |
encryption/decryption key
| #define MBEDTLS_PKCS12_DERIVE_MAC_KEY 3 |
integrity / MAC key
| #define MBEDTLS_PKCS12_PBE_DECRYPT 0 |
| #define MBEDTLS_PKCS12_PBE_ENCRYPT 1 |
| 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.
| 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 |