RetroArch
|
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_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. 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 *input, size_t len, unsigned char *output) |
PKCS12 Password Based function (encryption / decryption) for cipher-based and mbedtls_md-based PBE's. More... | |
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.
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)
#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 |
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 |