Mbed TLS v2.28.5
Loading...
Searching...
No Matches
pkcs5.h
Go to the documentation of this file.
1
8/*
9 * Copyright The Mbed TLS Contributors
10 * SPDX-License-Identifier: Apache-2.0
11 *
12 * Licensed under the Apache License, Version 2.0 (the "License"); you may
13 * not use this file except in compliance with the License.
14 * You may obtain a copy of the License at
15 *
16 * http://www.apache.org/licenses/LICENSE-2.0
17 *
18 * Unless required by applicable law or agreed to in writing, software
19 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
20 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 * See the License for the specific language governing permissions and
22 * limitations under the License.
23 */
24#ifndef MBEDTLS_PKCS5_H
25#define MBEDTLS_PKCS5_H
26
27#if !defined(MBEDTLS_CONFIG_FILE)
28#include "mbedtls/config.h"
29#else
30#include MBEDTLS_CONFIG_FILE
31#endif
32
33#include "mbedtls/asn1.h"
34#include "mbedtls/md.h"
35
36#include <stddef.h>
37#include <stdint.h>
38
40#define MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA -0x2f80
42#define MBEDTLS_ERR_PKCS5_INVALID_FORMAT -0x2f00
44#define MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE -0x2e80
46#define MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH -0x2e00
47
48#define MBEDTLS_PKCS5_DECRYPT 0
49#define MBEDTLS_PKCS5_ENCRYPT 1
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55#if defined(MBEDTLS_ASN1_PARSE_C)
56
93int mbedtls_pkcs5_pbes2(const mbedtls_asn1_buf *pbe_params, int mode,
94 const unsigned char *pwd, size_t pwdlen,
95 const unsigned char *data, size_t datalen,
96 unsigned char *output);
97
98#if defined(MBEDTLS_CIPHER_PADDING_PKCS7)
99
133int mbedtls_pkcs5_pbes2_ext(const mbedtls_asn1_buf *pbe_params, int mode,
134 const unsigned char *pwd, size_t pwdlen,
135 const unsigned char *data, size_t datalen,
136 unsigned char *output, size_t output_size,
137 size_t *output_len);
138
139#endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */
140
141#endif /* MBEDTLS_ASN1_PARSE_C */
142
157int mbedtls_pkcs5_pbkdf2_hmac(mbedtls_md_context_t *ctx, const unsigned char *password,
158 size_t plen, const unsigned char *salt, size_t slen,
159 unsigned int iteration_count,
160 uint32_t key_length, unsigned char *output);
161
162#if defined(MBEDTLS_SELF_TEST)
163
169int mbedtls_pkcs5_self_test(int verbose);
170
171#endif /* MBEDTLS_SELF_TEST */
172
173#ifdef __cplusplus
174}
175#endif
176
177#endif /* pkcs5.h */
Generic ASN.1 parsing.
Configuration options (set of defines)
This file contains the generic message-digest wrapper.
int mbedtls_pkcs5_pbes2_ext(const mbedtls_asn1_buf *pbe_params, int mode, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t datalen, unsigned char *output, size_t output_size, size_t *output_len)
PKCS#5 PBES2 function.
int mbedtls_pkcs5_pbkdf2_hmac(mbedtls_md_context_t *ctx, const unsigned char *password, size_t plen, const unsigned char *salt, size_t slen, unsigned int iteration_count, uint32_t key_length, unsigned char *output)
PKCS#5 PBKDF2 using HMAC.
int mbedtls_pkcs5_self_test(int verbose)
Checkup routine.
int mbedtls_pkcs5_pbes2(const mbedtls_asn1_buf *pbe_params, int mode, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t datalen, unsigned char *output)
PKCS#5 PBES2 function.