Linux Audio

Check our new training course

Loading...
v6.2
  1PKCS7ContentInfo ::= SEQUENCE {
  2	contentType	ContentType ({ pkcs7_check_content_type }),
  3	content		[0] EXPLICIT SignedData OPTIONAL
  4}
  5
  6ContentType ::= OBJECT IDENTIFIER ({ pkcs7_note_OID })
  7
  8SignedData ::= SEQUENCE {
  9	version			INTEGER ({ pkcs7_note_signeddata_version }),
 10	digestAlgorithms	DigestAlgorithmIdentifiers,
 11	contentInfo		ContentInfo ({ pkcs7_note_content }),
 12	certificates		CHOICE {
 13		certSet		[0] IMPLICIT ExtendedCertificatesAndCertificates,
 14		certSequence	[2] IMPLICIT Certificates
 15	} OPTIONAL ({ pkcs7_note_certificate_list }),
 16	crls CHOICE {
 17		crlSet		[1] IMPLICIT CertificateRevocationLists,
 18		crlSequence	[3] IMPLICIT CRLSequence
 19	} OPTIONAL,
 20	signerInfos		SignerInfos
 21}
 22
 23ContentInfo ::= SEQUENCE {
 24	contentType	ContentType ({ pkcs7_note_OID }),
 25	content		[0] EXPLICIT Data OPTIONAL
 26}
 27
 28Data ::= ANY ({ pkcs7_note_data })
 29
 30DigestAlgorithmIdentifiers ::= CHOICE {
 31	daSet			SET OF DigestAlgorithmIdentifier,
 32	daSequence		SEQUENCE OF DigestAlgorithmIdentifier
 33}
 34
 35DigestAlgorithmIdentifier ::= SEQUENCE {
 36	algorithm   OBJECT IDENTIFIER ({ pkcs7_note_OID }),
 37	parameters  ANY OPTIONAL
 38}
 39
 40--
 41-- Certificates and certificate lists
 42--
 43ExtendedCertificatesAndCertificates ::= SET OF ExtendedCertificateOrCertificate
 44
 45ExtendedCertificateOrCertificate ::= CHOICE {
 46  certificate		Certificate,				-- X.509
 47  extendedCertificate	[0] IMPLICIT ExtendedCertificate	-- PKCS#6
 48}
 49
 50ExtendedCertificate ::= Certificate -- cheating
 51
 52Certificates ::= SEQUENCE OF Certificate
 53
 54CertificateRevocationLists ::= SET OF CertificateList
 55
 56CertificateList ::= SEQUENCE OF Certificate -- This may be defined incorrectly
 57
 58CRLSequence ::= SEQUENCE OF CertificateList
 59
 60Certificate ::= ANY ({ pkcs7_extract_cert }) -- X.509
 61
 62--
 63-- Signer information
 64--
 65SignerInfos ::= CHOICE {
 66	siSet		SET OF SignerInfo,
 67	siSequence	SEQUENCE OF SignerInfo
 68}
 69
 70SignerInfo ::= SEQUENCE {
 71	version			INTEGER ({ pkcs7_note_signerinfo_version }),
 72	sid			SignerIdentifier, -- CMS variant, not PKCS#7
 73	digestAlgorithm		DigestAlgorithmIdentifier ({ pkcs7_sig_note_digest_algo }),
 74	authenticatedAttributes	CHOICE {
 75		aaSet		[0] IMPLICIT SetOfAuthenticatedAttribute
 76					({ pkcs7_sig_note_set_of_authattrs }),
 77		aaSequence	[2] EXPLICIT SEQUENCE OF AuthenticatedAttribute
 78			-- Explicit because easier to compute digest on
 79			-- sequence of attributes and then reuse encoded
 80			-- sequence in aaSequence.
 81	} OPTIONAL,
 82	digestEncryptionAlgorithm
 83				DigestEncryptionAlgorithmIdentifier ({ pkcs7_sig_note_pkey_algo }),
 84	encryptedDigest		EncryptedDigest,
 85	unauthenticatedAttributes CHOICE {
 86		uaSet		[1] IMPLICIT SET OF UnauthenticatedAttribute,
 87		uaSequence	[3] IMPLICIT SEQUENCE OF UnauthenticatedAttribute
 88	} OPTIONAL
 89} ({ pkcs7_note_signed_info })
 90
 91SignerIdentifier ::= CHOICE {
 92	-- RFC5652 sec 5.3
 93	issuerAndSerialNumber IssuerAndSerialNumber,
 94        subjectKeyIdentifier [0] IMPLICIT SubjectKeyIdentifier
 95}
 96
 97IssuerAndSerialNumber ::= SEQUENCE {
 98	issuer			Name ({ pkcs7_sig_note_issuer }),
 99	serialNumber		CertificateSerialNumber ({ pkcs7_sig_note_serial })
100}
101
102CertificateSerialNumber ::= INTEGER
103
104SubjectKeyIdentifier ::= OCTET STRING ({ pkcs7_sig_note_skid })
105
106SetOfAuthenticatedAttribute ::= SET OF AuthenticatedAttribute
107
108AuthenticatedAttribute ::= SEQUENCE {
109	type			OBJECT IDENTIFIER ({ pkcs7_note_OID }),
110	values			SET OF ANY ({ pkcs7_sig_note_authenticated_attr })
111}
112
113UnauthenticatedAttribute ::= SEQUENCE {
114	type			OBJECT IDENTIFIER,
115	values			SET OF ANY
116}
117
118DigestEncryptionAlgorithmIdentifier ::= SEQUENCE {
119	algorithm		OBJECT IDENTIFIER ({ pkcs7_note_OID }),
120	parameters		ANY OPTIONAL
121}
122
123EncryptedDigest ::= OCTET STRING ({ pkcs7_sig_note_signature })
124
125---
126--- X.500 Name
127---
128Name ::= SEQUENCE OF RelativeDistinguishedName
129
130RelativeDistinguishedName ::= SET OF AttributeValueAssertion
131
132AttributeValueAssertion ::= SEQUENCE {
133	attributeType		OBJECT IDENTIFIER ({ pkcs7_note_OID }),
134	attributeValue		ANY
135}
v5.9
  1PKCS7ContentInfo ::= SEQUENCE {
  2	contentType	ContentType ({ pkcs7_check_content_type }),
  3	content		[0] EXPLICIT SignedData OPTIONAL
  4}
  5
  6ContentType ::= OBJECT IDENTIFIER ({ pkcs7_note_OID })
  7
  8SignedData ::= SEQUENCE {
  9	version			INTEGER ({ pkcs7_note_signeddata_version }),
 10	digestAlgorithms	DigestAlgorithmIdentifiers,
 11	contentInfo		ContentInfo ({ pkcs7_note_content }),
 12	certificates		CHOICE {
 13		certSet		[0] IMPLICIT ExtendedCertificatesAndCertificates,
 14		certSequence	[2] IMPLICIT Certificates
 15	} OPTIONAL ({ pkcs7_note_certificate_list }),
 16	crls CHOICE {
 17		crlSet		[1] IMPLICIT CertificateRevocationLists,
 18		crlSequence	[3] IMPLICIT CRLSequence
 19	} OPTIONAL,
 20	signerInfos		SignerInfos
 21}
 22
 23ContentInfo ::= SEQUENCE {
 24	contentType	ContentType ({ pkcs7_note_OID }),
 25	content		[0] EXPLICIT Data OPTIONAL
 26}
 27
 28Data ::= ANY ({ pkcs7_note_data })
 29
 30DigestAlgorithmIdentifiers ::= CHOICE {
 31	daSet			SET OF DigestAlgorithmIdentifier,
 32	daSequence		SEQUENCE OF DigestAlgorithmIdentifier
 33}
 34
 35DigestAlgorithmIdentifier ::= SEQUENCE {
 36	algorithm   OBJECT IDENTIFIER ({ pkcs7_note_OID }),
 37	parameters  ANY OPTIONAL
 38}
 39
 40--
 41-- Certificates and certificate lists
 42--
 43ExtendedCertificatesAndCertificates ::= SET OF ExtendedCertificateOrCertificate
 44
 45ExtendedCertificateOrCertificate ::= CHOICE {
 46  certificate		Certificate,				-- X.509
 47  extendedCertificate	[0] IMPLICIT ExtendedCertificate	-- PKCS#6
 48}
 49
 50ExtendedCertificate ::= Certificate -- cheating
 51
 52Certificates ::= SEQUENCE OF Certificate
 53
 54CertificateRevocationLists ::= SET OF CertificateList
 55
 56CertificateList ::= SEQUENCE OF Certificate -- This may be defined incorrectly
 57
 58CRLSequence ::= SEQUENCE OF CertificateList
 59
 60Certificate ::= ANY ({ pkcs7_extract_cert }) -- X.509
 61
 62--
 63-- Signer information
 64--
 65SignerInfos ::= CHOICE {
 66	siSet		SET OF SignerInfo,
 67	siSequence	SEQUENCE OF SignerInfo
 68}
 69
 70SignerInfo ::= SEQUENCE {
 71	version			INTEGER ({ pkcs7_note_signerinfo_version }),
 72	sid			SignerIdentifier, -- CMS variant, not PKCS#7
 73	digestAlgorithm		DigestAlgorithmIdentifier ({ pkcs7_sig_note_digest_algo }),
 74	authenticatedAttributes	CHOICE {
 75		aaSet		[0] IMPLICIT SetOfAuthenticatedAttribute
 76					({ pkcs7_sig_note_set_of_authattrs }),
 77		aaSequence	[2] EXPLICIT SEQUENCE OF AuthenticatedAttribute
 78			-- Explicit because easier to compute digest on
 79			-- sequence of attributes and then reuse encoded
 80			-- sequence in aaSequence.
 81	} OPTIONAL,
 82	digestEncryptionAlgorithm
 83				DigestEncryptionAlgorithmIdentifier ({ pkcs7_sig_note_pkey_algo }),
 84	encryptedDigest		EncryptedDigest,
 85	unauthenticatedAttributes CHOICE {
 86		uaSet		[1] IMPLICIT SET OF UnauthenticatedAttribute,
 87		uaSequence	[3] IMPLICIT SEQUENCE OF UnauthenticatedAttribute
 88	} OPTIONAL
 89} ({ pkcs7_note_signed_info })
 90
 91SignerIdentifier ::= CHOICE {
 92	-- RFC5652 sec 5.3
 93	issuerAndSerialNumber IssuerAndSerialNumber,
 94        subjectKeyIdentifier [0] IMPLICIT SubjectKeyIdentifier
 95}
 96
 97IssuerAndSerialNumber ::= SEQUENCE {
 98	issuer			Name ({ pkcs7_sig_note_issuer }),
 99	serialNumber		CertificateSerialNumber ({ pkcs7_sig_note_serial })
100}
101
102CertificateSerialNumber ::= INTEGER
103
104SubjectKeyIdentifier ::= OCTET STRING ({ pkcs7_sig_note_skid })
105
106SetOfAuthenticatedAttribute ::= SET OF AuthenticatedAttribute
107
108AuthenticatedAttribute ::= SEQUENCE {
109	type			OBJECT IDENTIFIER ({ pkcs7_note_OID }),
110	values			SET OF ANY ({ pkcs7_sig_note_authenticated_attr })
111}
112
113UnauthenticatedAttribute ::= SEQUENCE {
114	type			OBJECT IDENTIFIER,
115	values			SET OF ANY
116}
117
118DigestEncryptionAlgorithmIdentifier ::= SEQUENCE {
119	algorithm		OBJECT IDENTIFIER ({ pkcs7_note_OID }),
120	parameters		ANY OPTIONAL
121}
122
123EncryptedDigest ::= OCTET STRING ({ pkcs7_sig_note_signature })
124
125---
126--- X.500 Name
127---
128Name ::= SEQUENCE OF RelativeDistinguishedName
129
130RelativeDistinguishedName ::= SET OF AttributeValueAssertion
131
132AttributeValueAssertion ::= SEQUENCE {
133	attributeType		OBJECT IDENTIFIER ({ pkcs7_note_OID }),
134	attributeValue		ANY
135}