WebCrypto GOST Class: PFX

GostASN1. PFX

Constructor

new PFX()

PFX format syntax

This format corresponds to the data model presented above, with wrappers for privacy and integrity. This section makes free reference to PKCS #7 GostASN1.ContentInfo
All modes of direct exchange use the same PDU format. ASN.1 and BER- encoding ensure platform independence.
This standard has one ASN.1 export: PFX. This is the outer integrity wrapper.

Instances of PFX contain:
  1. A version indicator. The version shall be v3 for this version of this document.
  2. A PKCS #7 ContentInfo, whose contentType is signedData in public- key integrity mode and data in password integrity mode.
  3. An optional instance of MacData, present only in password integrity. This object, if present, contains a PKCS #7 DigestInfo, which holds the MAC value, a macSalt, and an iterationCount. As described in Appendix B, the MAC key is derived from the password, the macSalt, and the iterationCount; the MAC is computed from the authSafe value and the MAC key via HMAC. The password and the MAC key are not actually present anywhere in the PFX. The salt and (to a certain extent) the iteration count thwarts dictionary attacks against the integrity password.
 PFX ::= SEQUENCE {
     version     INTEGER {v3(3)}(v3,...),
     authSafe    ContentInfo,
     macData     MacData OPTIONAL
 }

 MacData ::= SEQUENCE {
     mac         DigestInfo,
     macSalt     OCTET STRING,
     iterations  INTEGER DEFAULT 1
     -- Note: The default is for historical reasons and its
     --       use is deprecated.
 }
 
See GostASN1.ContentInfo

RFC 7292 references http://tools.ietf.org/html/rfc7292
Properties:
Name Type Description
version number Encoded version number
authSafe GostASN1.ContentInfo ContentInfo with GostASN1.AuthenticatedSafe content
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