00001
00023 #ifndef MBEDTLS_PKCS12_H
00024 #define MBEDTLS_PKCS12_H
00025
00026 #include "md.h"
00027 #include "cipher.h"
00028 #include "asn1.h"
00029
00030 #include <stddef.h>
00031
00032 #define MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -0x1F80
00033 #define MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -0x1F00
00034 #define MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -0x1E80
00035 #define MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -0x1E00
00037 #define MBEDTLS_PKCS12_DERIVE_KEY 1
00038 #define MBEDTLS_PKCS12_DERIVE_IV 2
00039 #define MBEDTLS_PKCS12_DERIVE_MAC_KEY 3
00041 #define MBEDTLS_PKCS12_PBE_DECRYPT 0
00042 #define MBEDTLS_PKCS12_PBE_ENCRYPT 1
00043
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047
00062 int mbedtls_pkcs12_pbe_sha1_rc4_128( mbedtls_asn1_buf *pbe_params, int mode,
00063 const unsigned char *pwd, size_t pwdlen,
00064 const unsigned char *input, size_t len,
00065 unsigned char *output );
00066
00083 int mbedtls_pkcs12_pbe( mbedtls_asn1_buf *pbe_params, int mode,
00084 mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type,
00085 const unsigned char *pwd, size_t pwdlen,
00086 const unsigned char *input, size_t len,
00087 unsigned char *output );
00088
00110 int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen,
00111 const unsigned char *pwd, size_t pwdlen,
00112 const unsigned char *salt, size_t saltlen,
00113 mbedtls_md_type_t mbedtls_md, int id, int iterations );
00114
00115 #ifdef __cplusplus
00116 }
00117 #endif
00118
00119 #endif