00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef MBEDTLS_PKCS12_H
00025 #define MBEDTLS_PKCS12_H
00026
00027 #include "md.h"
00028 #include "cipher.h"
00029 #include "asn1.h"
00030
00031 #include <stddef.h>
00032
00033 #define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -0x1F80
00034 #define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -0x1F00
00035 #define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -0x1E80
00036 #define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -0x1E00
00038 #define MBEDTLS_PKCS12_DERIVE_KEY 1
00039 #define MBEDTLS_PKCS12_DERIVE_IV 2
00040 #define MBEDTLS_PKCS12_DERIVE_MAC_KEY 3
00042 #define MBEDTLS_PKCS12_PBE_DECRYPT 0
00043 #define MBEDTLS_PKCS12_PBE_ENCRYPT 1
00044
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048
00049 #if defined(MBEDTLS_ASN1_PARSE_C)
00050
00065 int mbedtls_pkcs12_pbe_sha1_rc4_128( mbedtls_asn1_buf *pbe_params, int mode,
00066 const unsigned char *pwd, size_t pwdlen,
00067 const unsigned char *input, size_t len,
00068 unsigned char *output );
00069
00086 int mbedtls_pkcs12_pbe( mbedtls_asn1_buf *pbe_params, int mode,
00087 mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type,
00088 const unsigned char *pwd, size_t pwdlen,
00089 const unsigned char *input, size_t len,
00090 unsigned char *output );
00091
00092 #endif
00093
00115 int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen,
00116 const unsigned char *pwd, size_t pwdlen,
00117 const unsigned char *salt, size_t saltlen,
00118 mbedtls_md_type_t mbedtls_md, int id, int iterations );
00119
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123
00124 #endif