code: function _decodePkcs7Data(data) {
    // handle special case of "chunked" data content: an octet string composed
    // of other octet strings
    if(data.composed || data.constructed) {
      var value = forge.util.createBuffer();
      for(var i = 0; i < data.value.length; ++i) {
        value.putBytes(data.value[i].value);
      }
      data.composed = data.constructed = false;
      data.value = value.getBytes();
    }
    return data;
  }
docs: Decodes PKCS#7 Data. PKCS#7 (RFC 2315) defines "Data" as an OCTET STRING,
  but it is sometimes an OCTET STRING that is composed/constructed of chunks,
  each its own OCTET STRING. This is BER-encoding vs. DER-encoding. This
  function transforms this corner-case into the usual simple,
  non-composed/constructed OCTET STRING.
  
  This function may be moved to ASN.1 at some point to better deal with
  more BER-encoding issues, should they arise.
  
  @param data the ASN.1 Data object to transform.