]>
Commit | Line | Data |
---|---|---|
dda4e259 SL |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
d8652be0 | 5 | CMS_EncryptedData_encrypt_ex, CMS_EncryptedData_encrypt |
dda4e259 SL |
6 | - Create CMS EncryptedData |
7 | ||
8 | =head1 SYNOPSIS | |
9 | ||
10 | #include <openssl/cms.h> | |
11 | ||
d8652be0 MC |
12 | CMS_ContentInfo *CMS_EncryptedData_encrypt_ex(BIO *in, |
13 | const EVP_CIPHER *cipher, | |
14 | const unsigned char *key, | |
15 | size_t keylen, | |
16 | unsigned int flags, | |
17 | OPENSSL_CTX *ctx, | |
18 | const char *propq); | |
dda4e259 SL |
19 | |
20 | CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, | |
21 | const EVP_CIPHER *cipher, const unsigned char *key, size_t keylen, | |
22 | unsigned int flags); | |
23 | ||
24 | =head1 DESCRIPTION | |
25 | ||
d8652be0 | 26 | CMS_EncryptedData_encrypt_ex() creates a B<CMS_ContentInfo> structure |
dda4e259 SL |
27 | with a type B<NID_pkcs7_encrypted>. I<in> is a BIO containing the data to |
28 | encrypt using I<cipher> and the encryption key I<key> of size I<keylen> bytes. | |
29 | The library context I<libctx> and the property query I<propq> are used when | |
30 | retrieving algorithms from providers. I<flags> is a set of optional flags. | |
31 | ||
32 | The I<flags> field supports the options B<CMS_DETACHED>, B<CMS_STREAM> and | |
33 | B<CMS_PARTIAL>. Internally CMS_final() is called unless B<CMS_STREAM> and/or | |
34 | B<CMS_PARTIAL> is specified. | |
35 | ||
36 | The algorithm passed in the I<cipher> parameter must support ASN1 encoding of | |
37 | its parameters. | |
38 | ||
39 | The B<CMS_ContentInfo> structure can be freed using L<CMS_ContentInfo_free(3)>. | |
40 | ||
d8652be0 | 41 | CMS_EncryptedData_encrypt() is similar to CMS_EncryptedData_encrypt_ex() |
dda4e259 SL |
42 | but uses default values of NULL for the library context I<libctx> and the |
43 | property query I<propq>. | |
44 | ||
45 | =head1 RETURN VALUES | |
46 | ||
d8652be0 | 47 | If the allocation fails, CMS_EncryptedData_encrypt_ex() and |
dda4e259 SL |
48 | CMS_EncryptedData_encrypt() return NULL and set an error code that can be |
49 | obtained by L<ERR_get_error(3)>. Otherwise they return a pointer to the newly | |
50 | allocated structure. | |
51 | ||
52 | =head1 SEE ALSO | |
53 | ||
54 | L<ERR_get_error(3)>, L<CMS_final(3)>, L<CMS_EncryptedData_decrypt(3)> | |
55 | ||
56 | head1 HISTORY | |
57 | ||
d8652be0 | 58 | The CMS_EncryptedData_encrypt_ex() method was added in OpenSSL 3.0. |
dda4e259 SL |
59 | |
60 | =head1 COPYRIGHT | |
61 | ||
62 | Copyright 2020 The OpenSSL Project Authors. All Rights Reserved. | |
63 | ||
64 | Licensed under the Apache License 2.0 (the "License"). You may not use | |
65 | this file except in compliance with the License. You can obtain a copy | |
66 | in the file LICENSE in the source distribution or at | |
67 | L<https://www.openssl.org/source/license.html>. | |
68 | ||
69 | =cut |