1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! `enveloped-data` content type [RFC 5652 § 6](https://datatracker.ietf.org/doc/html/rfc5652#section-6)
use crateContentType;
use ;
use AlgorithmIdentifierRef;
type ContentEncryptionAlgorithmIdentifier<'a> = ;
/// Encrypted content information [RFC 5652 § 6](https://datatracker.ietf.org/doc/html/rfc5652#section-6)
///
/// ```text
/// EncryptedContentInfo ::= SEQUENCE {
/// contentType ContentType,
/// contentEncryptionAlgorithm
/// ContentEncryptionAlgorithmIdentifier,
/// encryptedContent
/// [0] IMPLICIT EncryptedContent OPTIONAL }
///
/// ContentEncryptionAlgorithmIdentifier ::=
/// AlgorithmIdentifier
///
/// EncryptedContent ::= OCTET STRING
/// ```
///
/// The fields of type `EncryptedContentInfo` have the following meanings:
/// - [`content_type`](EncryptedContentInfo::content_type) indicates the type of content.
/// - [`content_encryption_algorithm`](EncryptedContentInfo::content_encryption_algorithm)
/// identifies the content-encryption algorithm (and any associated parameters) under
/// which the content is encrypted.
/// This algorithm is the same for all recipients.
/// - [`encrypted_content`](EncryptedContentInfo::encrypted_content) is the result of
/// encrypting the content. The field is optional, and if the field is not present,
/// its intended value must be supplied by other means.