Class KJUR.asn1.cms.CMSParser
				
				
			
				CMS SignedData parser class
				
				
					
Defined in:  asn1cms-1.0.js.
				
			
| Constructor Attributes | Constructor Name and Description | 
|---|---|
| class for parsing CMS SignedData This is an ASN.1 parser for CMS SignedData defined in RFC 5652 Cryptographic Message Syntax (CMS). | 
| Method Attributes | Method Name and Description | 
|---|---|
| getAttribute(h)
								 parse ASN.1 Attributes This method parses ASN.1 Attribute defined in RFC 5652 section 5. | |
| parse ASN.1 SET OF Attributes This method parses ASN.1 SET OF Attribute defined in RFC 5652 section 5. | |
| parse ASN.1 CertificateSet This method parses ASN.1 IssuerSerial defined in RFC 5652 CMS section 10.2.3 and section 10.2.2. | |
| getEContent(h)
								 parse ASN.1 EncapsulatedContentInfo This method parses ASN.1 SignedData defined in RFC 5652 section 5. | |
| getESSCertID(h)
								 parse ASN.1 ESSCertID This method parses ASN.1 ESSCertID defined in RFC 5035 section 6. | |
| parse ASN.1 ESSCertIDv2 This method parses ASN.1 ESSCertIDv2 defined in RFC 5035 section 4. | |
| parse ASN.1 DigestAlgorithmIdentifiers This method parses ASN.1 SignedData defined in RFC 5652 section 5.1. | |
| parse ASN.1 IssuerAndSerialNumber This method parses ASN.1 IssuerAndSerialNumber defined in RFC 5652 section 5. | |
| parse ASN.1 IssuerSerial This method parses ASN.1 IssuerSerial defined in RFC 5035 section 6. | |
| parse ASN.1 SignedData This method parses ASN.1 SignedData defined in RFC 5652 section 5. | |
| parse ASN.1 SignerIdentifier This method parses ASN.1 SignerIdentifier defined in RFC 5652 section 5. | |
| parse ASN.1 SignerInfo This method parses ASN.1 SignerInfos defined in RFC 5652 section 5. | |
| parse ASN.1 SignerInfos This method parses ASN.1 SignerInfos defined in RFC 5652 section 5. | |
| setContentType(pAttr)
								 set ContentType attribute This sets an attribute as ContentType defined in RFC 5652 section 5. | |
| setMessageDigest(pAttr)
								 set MessageDigest attribute This sets an attribute as SigningTime defined in RFC 5652 section 5. | |
| setSignaturePolicyIdentifier(pAttr)
								 set SignaturePolicyIdentifier attribute This sets an attribute as SignaturePolicyIdentifier defined in RFC 5126 CAdES section 5.8.1. | |
| setSigningCertificate(pAttr)
								 set SigningCertificate attribute This sets an attribute as SigningCertificate defined in RFC 5035 section 5. | |
| setSigningCertificateV2(pAttr)
								 set SigningCertificateV2 attribute This sets an attribute as SigningCertificateV2 defined in RFC 5035 section 3. | |
| setSigningTime(pAttr)
								 set SigningTime attribute This sets an attribute as SigningTime defined in RFC 5652 section 5. | 
					Class Detail
				
				
				
						KJUR.asn1.cms.CMSParser()
				
				
				
					class for parsing CMS SignedData
This is an ASN.1 parser for CMS SignedData defined in RFC 5652 Cryptographic Message Syntax (CMS).
				
				
				
				
					
					
					
						This is an ASN.1 parser for CMS SignedData defined in RFC 5652 Cryptographic Message Syntax (CMS).
ContentInfo ::= SEQUENCE {
   contentType ContentType,
   content [0] EXPLICIT ANY DEFINED BY contentType }
ContentType ::= OBJECT IDENTIFIER
SignedData ::= SEQUENCE {
   version CMSVersion,
   digestAlgorithms DigestAlgorithmIdentifiers,
   encapContentInfo EncapsulatedContentInfo,
   certificates [0] IMPLICIT CertificateSet OPTIONAL,
   crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
   signerInfos SignerInfos }
SignerInfos ::= SET OF SignerInfo
CertificateSet ::= SET OF CertificateChoices
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
CertificateSet ::= SET OF CertificateChoices
RevocationInfoChoices ::= SET OF RevocationInfoChoice
					
				- Since:
- jsrsasign 10.1.0 asn1cms 2.0.1
					Method Detail
				
				
					 
					
					
					{Array}
					getAttribute(h)
					
					
					
						parse ASN.1 Attributes
This method parses ASN.1 Attribute defined in RFC 5652 section 5. Following attribute type are supported in the latest version:
					
					
					
					This method parses ASN.1 Attribute defined in RFC 5652 section 5. Following attribute type are supported in the latest version:
- contentType - KJUR.asn1.cms.CMSParser.setContentType
- messageDigest - KJUR.asn1.cms.CMSParser.setMessageDigest
- signingTime - KJUR.asn1.cms.CMSParser.setSigningTime
- signingCertificate - KJUR.asn1.cms.CMSParser.setSigningCertificate
- signingCertificateV2 - KJUR.asn1.cms.CMSParser.setSigningCertificateV2
parser = new KJUR.asn1.cms.CMSParser();
parser.getAttribute("30...") →
{attr: "contentType", type: "tstinfo"}
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 Attribute
- Returns:
- {Array} array of JSON object of Attribute parameter
					
					{Array}
					getAttributeList(h)
					
					
					
						parse ASN.1 SET OF Attributes
This method parses ASN.1 SET OF Attribute defined in RFC 5652 section 5. This can be used for SignedAttributes and UnsignedAttributes.
					
					
					
					This method parses ASN.1 SET OF Attribute defined in RFC 5652 section 5. This can be used for SignedAttributes and UnsignedAttributes.
parser = new KJUR.asn1.cms.CMSParser();
parser.getAttributeList("30...") →
[{attr: "contentType", type: "tstinfo"},
 {attr: "messageDigest", hex: "1234abcd..."}]
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 SET OF Attribute
- Returns:
- {Array} array of JSON object of Attribute parameter
					
					{Array}
					getCertificateSet(h)
					
					
					
						parse ASN.1 CertificateSet
This method parses ASN.1 IssuerSerial defined in RFC 5652 CMS section 10.2.3 and section 10.2.2.
					
					
					
					This method parses ASN.1 IssuerSerial defined in RFC 5652 CMS section 10.2.3 and section 10.2.2.
CertificateSet ::= SET OF CertificateChoices
CertificateChoices ::= CHOICE {
  certificate Certificate,
  extendedCertificate [0] IMPLICIT ExtendedCertificate, -- Obsolete
  v1AttrCert [1] IMPLICIT AttributeCertificateV1,       -- Obsolete
  v2AttrCert [2] IMPLICIT AttributeCertificateV2,
  other [3] IMPLICIT OtherCertificateFormat }
OtherCertificateFormat ::= SEQUENCE {
  otherCertFormat OBJECT IDENTIFIER,
  otherCert ANY DEFINED BY otherCertFormat }
Currently only "certificate" is supported in
CertificateChoices.
						
						
					parser = new KJUR.asn1.cms.CMSParser();
parser.getCertificateSet("a0...") →
[ "-----BEGIN CERTIFICATE...", ... ]
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 CertificateSet
- Returns:
- {Array} array of JSON object of CertificateSet parameter
					
					{Array}
					getCMSSignedData(h)
					
					
					
						parse ASN.1 ContentInfo with SignedData
This method parses ASN.1 ContentInfo with SignedData defined in RFC 5652 section 3 and section 5. The result parameter can be passed to KJUR.asn1.cms.SignedData constructor.
					
					
					
					This method parses ASN.1 ContentInfo with SignedData defined in RFC 5652 section 3 and section 5. The result parameter can be passed to KJUR.asn1.cms.SignedData constructor.
parser = new KJUR.asn1.cms.CMSParser();
parser.getCMSSignedData("30...") →
{
  version: 1,
  hashalgs: ["sha1"],
  econtent: {
    type: "data",
    content: {hex:"616161"}
  },
  certs: [PEM1,...],
  sinfos: [{
    version: 1,
    id: {type:'isssn',issuer:{str:'/C=US/O=T1'},serial:{int: 1}},
    hashalg: "sha1",
    sattrs: {array: [{
      attr: "contentType",
      type: '1.2.840.113549.1.7.1'
    },{
      attr: "messageDigest",
      hex: 'abcd'
    }]},
    sigalg: "SHA1withRSA",
    sighex: "1234abcd..."
  }]
}
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 ContentInfo with SignedData
- Returns:
- {Array} array of JSON object of SignedData parameter
					
					{Array}
					getEContent(h)
					
					
					
						parse ASN.1 EncapsulatedContentInfo
This method parses ASN.1 SignedData defined in RFC 5652 section 5. The result parameter can be passed to KJUR.asn1.cms.EncapsulatedContentInfo constructor.
					
					
					
					This method parses ASN.1 SignedData defined in RFC 5652 section 5. The result parameter can be passed to KJUR.asn1.cms.EncapsulatedContentInfo constructor.
parser = new KJUR.asn1.cms.CMSParser();
parser.getEContent("30...") →
{type: "tstinfo", content: {hex: "30..."}}
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 EncapsulatedContentInfo
- Returns:
- {Array} array of JSON object of EncapsulatedContentInfo parameter
					
					{Array}
					getESSCertID(h)
					
					
					
						parse ASN.1 ESSCertID
This method parses ASN.1 ESSCertID defined in RFC 5035 section 6.
					
					
					
					This method parses ASN.1 ESSCertID defined in RFC 5035 section 6.
ESSCertID ::= SEQUENCE {
   certHash Hash,
   issuerSerial IssuerSerial OPTIONAL }
IssuerSerial ::= SEQUENCE {
   issuer GeneralNames,
   serialNumber CertificateSerialNumber }
						
						
					parser = new KJUR.asn1.cms.CMSParser();
parser.getESSCertID("30...") →
{ hash: "12ab...",
  issuer: {
    array: [[{type:"C",value:"JP",ds:"prn"}],...],
    str: "/C=JP/O=T1"
  },
  serial: {hex: "12ab..."} }
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 ESSCertID
- Returns:
- {Array} array of JSON object of ESSCertID parameter
					
					{Array}
					getESSCertIDv2(h)
					
					
					
						parse ASN.1 ESSCertIDv2
This method parses ASN.1 ESSCertIDv2 defined in RFC 5035 section 4.
					
					
					
					This method parses ASN.1 ESSCertIDv2 defined in RFC 5035 section 4.
ESSCertIDv2 ::=  SEQUENCE {
   hashAlgorithm           AlgorithmIdentifier
                           DEFAULT {algorithm id-sha256},
   certHash                Hash,
   issuerSerial            IssuerSerial OPTIONAL }
Hash ::= OCTET STRING
IssuerSerial ::= SEQUENCE {
   issuer                  GeneralNames,
   serialNumber            CertificateSerialNumber }
						
						
					parser = new KJUR.asn1.cms.CMSParser();
parser.getESSCertID("30...") →
{
  hash: "3f2d...",
  alg: "sha512",
  issuer: {str: "/C=JP/O=T1"},
  serial: {hex: "12ab..."}
}
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 ESSCertIDv2
- Since:
- jsrsasign 10.1.2 asn1cms 2.0.3
- Returns:
- {Array} array of JSON object of ESSCertIDv2 parameter
- See:
- KJUR.asn1.cms.ESSCertIDv2
- KJUR.asn1.cms.CMSParser.getESSCertID
					
					{Array}
					getHashAlgArray(h)
					
					
					
						parse ASN.1 DigestAlgorithmIdentifiers
This method parses ASN.1 SignedData defined in RFC 5652 section 5.1.
					
					
					
					This method parses ASN.1 SignedData defined in RFC 5652 section 5.1.
parser = new KJUR.asn1.cms.CMSParser();
parser.getHashAlgArray("30...") → ["sha256"]
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 DigestAlgorithmIdentifiers
- Returns:
- {Array} array of JSON object of digest algorithm names
					
					{Array}
					getIssuerAndSerialNumber(h)
					
					
					
						parse ASN.1 IssuerAndSerialNumber
This method parses ASN.1 IssuerAndSerialNumber defined in RFC 5652 section 5.
					
					
					
					This method parses ASN.1 IssuerAndSerialNumber defined in RFC 5652 section 5.
parser = new KJUR.asn1.cms.CMSParser();
parser.getIssuerAndSerialNumber("30...") →
{ type: "isssn",
  issuer: {
    array: [[{type:"C",value:"JP",ds:"prn"},...]]
    str: '/C=US/O=T1'
  },
  serial: {int: 1} }
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 IssuerAndSerialNumber
- Returns:
- {Array} array of JSON object of IssuerAndSerialNumber parameter
					
					{Array}
					getIssuerSerial(h)
					
					
					
						parse ASN.1 IssuerSerial
This method parses ASN.1 IssuerSerial defined in RFC 5035 section 6.
					
					
					
					This method parses ASN.1 IssuerSerial defined in RFC 5035 section 6.
IssuerSerial ::= SEQUENCE {
   issuer GeneralNames,
   serialNumber CertificateSerialNumber }
						
						
					parser = new KJUR.asn1.cms.CMSParser();
parser.getIssuerSerial("30...") →
{ issuer: {
    array: [[{type:"C",value:"JP",ds:"prn"}],...],
    str: "/C=JP/O=T1",
  },
  serial: {hex: "12ab..."} }
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 IssuerSerial
- Returns:
- {Array} array of JSON object of IssuerSerial parameter
					
					{Array}
					getSignedData(h)
					
					
					
						parse ASN.1 SignedData
This method parses ASN.1 SignedData defined in RFC 5652 section 5. The result parameter can be passed to KJUR.asn1.cms.SignedData constructor.
					
					
					
					This method parses ASN.1 SignedData defined in RFC 5652 section 5. The result parameter can be passed to KJUR.asn1.cms.SignedData constructor.
parser = new KJUR.asn1.cms.CMSParser();
parser.getSignedData("30...")
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 SignedData
- Returns:
- {Array} array of JSON object of SignedData parameter
					
					{Array}
					getSignerIdentifier(h)
					
					
					
						parse ASN.1 SignerIdentifier
This method parses ASN.1 SignerIdentifier defined in RFC 5652 section 5.
					
					
					
					This method parses ASN.1 SignerIdentifier defined in RFC 5652 section 5.
parser = new KJUR.asn1.cms.CMSParser();
parser.getSignerIdentifier("30...") →
{ type: "isssn",
  issuer: {
    array: [[{type:"C",value:"JP",ds:"prn"},...]]
    str: '/C=US/O=T1'
  },
  serial: {int: 1} }
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 SignerIdentifier
- Returns:
- {Array} array of JSON object of SignerIdentifier parameter
					
					{Array}
					getSignerInfo(h)
					
					
					
						parse ASN.1 SignerInfo
This method parses ASN.1 SignerInfos defined in RFC 5652 section 5.
					
					
					
					This method parses ASN.1 SignerInfos defined in RFC 5652 section 5.
SignerInfo ::= SEQUENCE {
   version CMSVersion,
   sid SignerIdentifier,
   digestAlgorithm DigestAlgorithmIdentifier,
   signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
   signatureAlgorithm SignatureAlgorithmIdentifier,
   signature SignatureValue,
   unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }
The result parameter can be passed to
KJUR.asn1.cms.SignerInfo constructor.
						
						
					parser = new KJUR.asn1.cms.CMSParser();
parser.getSignerInfos("30...") →
[{
  version: 1,
  id: {type: 'isssn', issuer: {str: '/C=US/O=T1'}, serial: {int: 1}},
  hashalg: "sha1",
  sattrs: {array: [{
    attr: "contentType",
    type: '1.2.840.113549.1.7.1'
  },{
    attr: "messageDigest",
    hex: 'a1a2a3a4a5a6a7a8a9a0a1a2a3a4a5a6a7a8a9a0'
  }]},
  sigalg: "SHA1withRSA",
  sighex: 'b1b2b...'
}]
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 SignerInfo
- Returns:
- {Array} array of JSON object of SignerInfo parameter
					
					{Array}
					getSignerInfos(h)
					
					
					
						parse ASN.1 SignerInfos
This method parses ASN.1 SignerInfos defined in RFC 5652 section 5.
					
					
					
					This method parses ASN.1 SignerInfos defined in RFC 5652 section 5.
parser = new KJUR.asn1.cms.CMSParser();
parser.getSignerInfos("30...") →
[{
  version: 1,
  id: {type: 'isssn', issuer: {str: '/C=US/O=T1'}, serial: {int: 1}},
  hashalg: "sha1",
  sattrs: {array: [{
    attr: "contentType",
    type: '1.2.840.113549.1.7.1'
  },{
    attr: "messageDigest",
    hex: 'a1a2a3a4a5a6a7a8a9a0a1a2a3a4a5a6a7a8a9a0'
  }]},
  sigalg: "SHA1withRSA",
  sighex: 'b1b2b...'
}]
					
					
					
						
							- Parameters:
- {String} h
- hexadecimal string of ASN.1 SignerInfos
- Returns:
- {Array} array of JSON object of SignerInfos parameter
- See:
- KJUR.asn1.cms.SignerInfos
- KJUR.asn1.cms.CMSParser#getSignedData
					
					
					setContentType(pAttr)
					
					
					
						set ContentType attribute
This sets an attribute as ContentType defined in RFC 5652 section 5.
					
					
					
					This sets an attribute as ContentType defined in RFC 5652 section 5.
parser = new KJUR.asn1.cms.CMSParser();
pAttr = {
  attr: "contentType"
  valhex: '060b2a864886f70d0109100104'
};
parser.setContentInfo(pAttr);
pAttr → {
  attr: "contentType"
  type: "tstinfo"
}
					
					
					
						
							- Parameters:
- {Array} pAttr
- JSON object of attribute parameter
					
					
					setMessageDigest(pAttr)
					
					
					
						set MessageDigest attribute
This sets an attribute as SigningTime defined in RFC 5652 section 5.
					
					
					
					This sets an attribute as SigningTime defined in RFC 5652 section 5.
parser = new KJUR.asn1.cms.CMSParser();
pAttr = {
  attr: "messageDigest"
  valhex: '0403123456'
};
parser.setMessageDigest(pAttr);
pAttr → {
  attr: "messageDigest",
  hex: "123456"
}
					
					
					
						
							- Parameters:
- {Array} pAttr
- JSON object of attribute parameter
					
					
					setSignaturePolicyIdentifier(pAttr)
					
					
					
						set SignaturePolicyIdentifier attribute
This sets an attribute as SignaturePolicyIdentifier defined in RFC 5126 CAdES section 5.8.1.
					
					
					
					This sets an attribute as SignaturePolicyIdentifier defined in RFC 5126 CAdES section 5.8.1.
parser = new KJUR.asn1.cms.CMSParser();
pAttr = {
  attr: "signaturePolicyIdentifier"
  valhex: '...'
};
parser.setSignaturePolicyIdentifier(pAttr);
pAttr → {
  attr: "signaturePolicyIdentifier",
  oid: "1.2.3.4.5",
  alg: "sha1",
  hash: "1a2b..."
}
					
					
					
						
							- Parameters:
- {Array} pAttr
- JSON object of attribute parameter
- Since:
- jsrsasign 10.1.5 asn1cms 2.0.4
					
					
					setSigningCertificate(pAttr)
					
					
					
						set SigningCertificate attribute
This sets an attribute as SigningCertificate defined in RFC 5035 section 5.
					
					
					
					This sets an attribute as SigningCertificate defined in RFC 5035 section 5.
parser = new KJUR.asn1.cms.CMSParser();
pAttr = {
  attr: "signingCertificate"
  valhex: '...'
};
parser.setSigningCertificate(pAttr);
pAttr → {
  attr: "signingCertificate",
  array: [{
    hash: "123456...",
    issuer: {
      array: [[{type:"C",value:"JP",ds:"prn"},...]],
      str: "/C=JP/O=T1"
    },
    serial: {hex: "123456..."}
  }]
}
					
					
					
						
							- Parameters:
- {Array} pAttr
- JSON object of attribute parameter
					
					
					setSigningCertificateV2(pAttr)
					
					
					
						set SigningCertificateV2 attribute
This sets an attribute as SigningCertificateV2 defined in RFC 5035 section 3.
					
					
					
					This sets an attribute as SigningCertificateV2 defined in RFC 5035 section 3.
parser = new KJUR.asn1.cms.CMSParser();
pAttr = {
  attr: "signingCertificateV2"
  valhex: '...'
};
parser.setSigningCertificateV2(pAttr);
pAttr → {
  attr: "signingCertificateV2",
  array: [{
    hash: "123456...",
    alg: "sha256",
    issuer: {
      array: [[{type:"C",value:"JP",ds:"prn"},...]],
      str: "/C=JP/O=T1"
    },
    serial: {hex: "123456..."}
  }]
}
					
					
					
						
							- Parameters:
- {Array} pAttr
- JSON object of attribute parameter
- Since:
- jsrsasign 10.1.2 asn1cms 2.0.3
- See:
- KJUR.asn1.cms.CMSParser#getAttribute
- KJUR.asn1.cms.CMSParser#getESSCertIDv2
- KJUR.asn1.cms.SigningCertificateV2
- KJUR.asn1.cms.ESSCertIDv2
					
					
					setSigningTime(pAttr)
					
					
					
						set SigningTime attribute
This sets an attribute as SigningTime defined in RFC 5652 section 5.
					
					
					
					This sets an attribute as SigningTime defined in RFC 5652 section 5.
parser = new KJUR.asn1.cms.CMSParser();
pAttr = {
  attr: "signingTime"
  valhex: '170d3230313233313233353935395a'
};
parser.setSigningTime(pAttr);
pAttr → {
  attr: "signingTime",
  str: "2012315959Z"
}
					
					
					
						
							- Parameters:
- {Array} pAttr
- JSON object of attribute parameter