WebCrypto GOST Class: SafeContents

GostASN1. SafeContents


new SafeContents()

The SafeContents Type

The sixth type of bag that can be held in a SafeBag is a SafeContents. This recursive structure allows for arbitrary nesting of multiple KeyBags, PKCS8ShroudedKeyBags, CertBags, CRLBags, and SecretBags within the top-level SafeContents.
 SafeContents ::= SEQUENCE OF SafeBag
  SafeBag ::= SEQUENCE {
      bagId BAG-TYPE.&id ({PKCS12BagSet})
      bagValue [0] EXPLICIT BAG-TYPE.&Type({PKCS12BagSet}{@bagId}),
      bagAttributes SET OF PKCS12Attribute OPTIONAL
  PKCS12Attribute ::= SEQUENCE {
      attrId ATTRIBUTE.&id ({PKCS12AttrSet}),
      attrValues SET OF ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId})
  } -- This type is compatible with the X.500 type ’Attribute’
  PKCS12AttrSet ATTRIBUTE ::= {
      friendlyName | -- from PKCS #9 [23]
      localKeyId, -- from PKCS #9
      ... -- Other attributes are allowed
The SafeContents type is made up of SafeBags. Each SafeBag holds one piece of information -- a key, a certificate, etc. -- which is identified by an object identifier.

See GostASN1.ContentInfo and GostASN1.PFX

RFC 7292 references http://tools.ietf.org/html/rfc7292