|
RetroArch
|
#include "mbedtls/config.h"#include "mbedtls/pkcs12.h"#include "mbedtls/asn1.h"#include "mbedtls/cipher.h"#include <string.h>#include "mbedtls/arc4.h"#include "mbedtls/des.h"#include "arc4_alt.h"Macros | |
| #define | PKCS12_MAX_PWDLEN 128 |
Functions | |
| static int | pkcs12_parse_pbe_params (mbedtls_asn1_buf *params, mbedtls_asn1_buf *salt, int *iterations) |
| static int | pkcs12_pbe_derive_key_iv (mbedtls_asn1_buf *pbe_params, mbedtls_md_type_t md_type, const unsigned char *pwd, size_t pwdlen, unsigned char *key, size_t keylen, unsigned char *iv, size_t ivlen) |
| int | mbedtls_pkcs12_pbe_sha1_rc4_128 (mbedtls_asn1_buf *pbe_params, int mode, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t len, unsigned char *output) |
| PKCS12 Password Based function (encryption / decryption) for pbeWithSHAAnd128BitRC4. More... | |
| 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 *data, size_t len, unsigned char *output) |
| PKCS12 Password Based function (encryption / decryption) for cipher-based and mbedtls_md-based PBE's. More... | |
| static void | pkcs12_fill_buffer (unsigned char *data, size_t data_len, const unsigned char *filler, size_t fill_len) |
| 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 md_type, 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... | |
| #define PKCS12_MAX_PWDLEN 128 |
| 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 |
| 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.
| 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 |
| 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.
| 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 |
|
static |
|
static |
|
static |
1.8.15