mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
2b5e12f509
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/11529)
53 lines
1.5 KiB
Plaintext
53 lines
1.5 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
CMS_EnvelopedData_create - Create CMS envelope
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/cms.h>
|
|
|
|
CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
CMS_EnvelopedData_create() creates a B<CMS_ContentInfo> structure with
|
|
a type B<NID_pkcs7_enveloped>. B<cipher> is the symmetric cipher to use.
|
|
|
|
The algorithm passed in the B<cipher> parameter must support ASN1 encoding of
|
|
its parameters.
|
|
|
|
The recipients can be added later using L<CMS_add1_recipient_cert(3)> or
|
|
L<CMS_add0_recipient_key(3)>.
|
|
|
|
The B<CMS_ContentInfo> structure needs to be finalized using L<CMS_final(3)>
|
|
and then freed using L<CMS_ContentInfo_free(3)>.
|
|
|
|
=head1 NOTES
|
|
|
|
Although CMS_EnvelopedData_create() allocates a new B<CMS_ContentInfo>
|
|
structure it is usually not used in applications. The wrappers
|
|
L<CMS_encrypt(3)> and L<CMS_decrypt(3)> are often used instead.
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
If the allocation fails, CMS_EnvelopedData_create() returns NULL and sets
|
|
an error code that can be obtained by L<ERR_get_error(3)>.
|
|
Otherwise it returns a pointer to the newly allocated structure.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<ERR_get_error(3)>, L<CMS_encrypt(3)>, L<CMS_decrypt(3)>, L<CMS_final(3)>
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
this file except in compliance with the License. You can obtain a copy
|
|
in the file LICENSE in the source distribution or at
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
=cut
|