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 #if !defined(MBEDTLS_CONFIG_FILE)
00028 #include "config.h"
00029 #else
00030 #include MBEDTLS_CONFIG_FILE
00031 #endif
00032
00033 #include "md.h"
00034 #include "cipher.h"
00035 #include "asn1.h"
00036
00037 #include <stddef.h>
00038
00039 #define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -0x1F80
00040 #define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -0x1F00
00041 #define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -0x1E80
00042 #define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -0x1E00
00044 #define MBEDTLS_PKCS12_DERIVE_KEY 1
00045 #define MBEDTLS_PKCS12_DERIVE_IV 2
00046 #define MBEDTLS_PKCS12_DERIVE_MAC_KEY 3
00048 #define MBEDTLS_PKCS12_PBE_DECRYPT 0
00049 #define MBEDTLS_PKCS12_PBE_ENCRYPT 1
00050
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054
00055 #if defined(MBEDTLS_ASN1_PARSE_C)
00056
00071 int mbedtls_pkcs12_pbe_sha1_rc4_128( mbedtls_asn1_buf *pbe_params, int mode,
00072 const unsigned char *pwd, size_t pwdlen,
00073 const unsigned char *input, size_t len,
00074 unsigned char *output );
00075
00092 int mbedtls_pkcs12_pbe( mbedtls_asn1_buf *pbe_params, int mode,
00093 mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type,
00094 const unsigned char *pwd, size_t pwdlen,
00095 const unsigned char *input, size_t len,
00096 unsigned char *output );
00097
00098 #endif
00099
00121 int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen,
00122 const unsigned char *pwd, size_t pwdlen,
00123 const unsigned char *salt, size_t saltlen,
00124 mbedtls_md_type_t mbedtls_md, int id, int iterations );
00125
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129
00130 #endif