WebCrypto GOST Class: EnvelopedData

GostASN1. EnvelopedData

Constructor

new EnvelopedData()

The enveloped-data content type consists of an encrypted content of any type and encrypted content-encryption keys for one or more recipients. The combination of the encrypted content and one encrypted content-encryption key for a recipient is a "digital envelope" for that recipient. Any type of content can be enveloped for an arbitrary number of recipients using any of the supported key management techniques for each recipient.

The typical application of the enveloped-data content type will represent one or more recipients' digital envelopes on content of the data or signed-data content types.


     EnvelopedData ::= SEQUENCE {
       version CMSVersion,
       originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
       recipientInfos RecipientInfos,
       encryptedContentInfo EncryptedContentInfo,
       unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }

     OriginatorInfo ::= SEQUENCE {
       certs [0] IMPLICIT CertificateSet OPTIONAL,
       crls [1] IMPLICIT RevocationInfoChoices OPTIONAL }

     RecipientInfos ::= SET SIZE (1..MAX) OF RecipientInfo

     EncryptedContentInfo ::= SEQUENCE {
       contentType ContentType,
       contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
       encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL }

     EncryptedContent ::= OCTET STRING

     UnprotectedAttributes ::= SET SIZE (1..MAX) OF Attribute
     
Properties:
Name Type Description
version number The syntax version number
originatorInfo GostASN1.Sequence Optionally provides information about the originator.
recipientInfos Array.<GostASN1.Sequence> Collection of per-recipient information.
encryptedContentInfo GostASN1.Sequence The content is represented in the type EncryptedContentInfo
unprotectedAttrs Attributes The unprotected attributes
Source:

Extends

Methods

check()

Check the object structure
Inherited From:
Source:

decode(source)

Decode the source to self object
Parameters:
Name Type Description
source FormatedData Encoded data
Inherited From:
Source:

encode(format) → {FormatedData}

Encode the object
Parameters:
Name Type Description
format string Encoding format 'DER', 'CER' or 'PEM'
Inherited From:
Source:
Returns:
Type
FormatedData