136 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| PKCS7ContentInfo ::= SEQUENCE {
 | |
| 	contentType	ContentType ({ pkcs7_check_content_type }),
 | |
| 	content		[0] EXPLICIT SignedData OPTIONAL
 | |
| }
 | |
| 
 | |
| ContentType ::= OBJECT IDENTIFIER ({ pkcs7_note_OID })
 | |
| 
 | |
| SignedData ::= SEQUENCE {
 | |
| 	version			INTEGER ({ pkcs7_note_signeddata_version }),
 | |
| 	digestAlgorithms	DigestAlgorithmIdentifiers,
 | |
| 	contentInfo		ContentInfo ({ pkcs7_note_content }),
 | |
| 	certificates		CHOICE {
 | |
| 		certSet		[0] IMPLICIT ExtendedCertificatesAndCertificates,
 | |
| 		certSequence	[2] IMPLICIT Certificates
 | |
| 	} OPTIONAL ({ pkcs7_note_certificate_list }),
 | |
| 	crls CHOICE {
 | |
| 		crlSet		[1] IMPLICIT CertificateRevocationLists,
 | |
| 		crlSequence	[3] IMPLICIT CRLSequence
 | |
| 	} OPTIONAL,
 | |
| 	signerInfos		SignerInfos
 | |
| }
 | |
| 
 | |
| ContentInfo ::= SEQUENCE {
 | |
| 	contentType	ContentType ({ pkcs7_note_OID }),
 | |
| 	content		[0] EXPLICIT Data OPTIONAL
 | |
| }
 | |
| 
 | |
| Data ::= ANY ({ pkcs7_note_data })
 | |
| 
 | |
| DigestAlgorithmIdentifiers ::= CHOICE {
 | |
| 	daSet			SET OF DigestAlgorithmIdentifier,
 | |
| 	daSequence		SEQUENCE OF DigestAlgorithmIdentifier
 | |
| }
 | |
| 
 | |
| DigestAlgorithmIdentifier ::= SEQUENCE {
 | |
| 	algorithm   OBJECT IDENTIFIER ({ pkcs7_note_OID }),
 | |
| 	parameters  ANY OPTIONAL
 | |
| }
 | |
| 
 | |
| --
 | |
| -- Certificates and certificate lists
 | |
| --
 | |
| ExtendedCertificatesAndCertificates ::= SET OF ExtendedCertificateOrCertificate
 | |
| 
 | |
| ExtendedCertificateOrCertificate ::= CHOICE {
 | |
|   certificate		Certificate,				-- X.509
 | |
|   extendedCertificate	[0] IMPLICIT ExtendedCertificate	-- PKCS#6
 | |
| }
 | |
| 
 | |
| ExtendedCertificate ::= Certificate -- cheating
 | |
| 
 | |
| Certificates ::= SEQUENCE OF Certificate
 | |
| 
 | |
| CertificateRevocationLists ::= SET OF CertificateList
 | |
| 
 | |
| CertificateList ::= SEQUENCE OF Certificate -- This may be defined incorrectly
 | |
| 
 | |
| CRLSequence ::= SEQUENCE OF CertificateList
 | |
| 
 | |
| Certificate ::= ANY ({ pkcs7_extract_cert }) -- X.509
 | |
| 
 | |
| --
 | |
| -- Signer information
 | |
| --
 | |
| SignerInfos ::= CHOICE {
 | |
| 	siSet		SET OF SignerInfo,
 | |
| 	siSequence	SEQUENCE OF SignerInfo
 | |
| }
 | |
| 
 | |
| SignerInfo ::= SEQUENCE {
 | |
| 	version			INTEGER ({ pkcs7_note_signerinfo_version }),
 | |
| 	sid			SignerIdentifier, -- CMS variant, not PKCS#7
 | |
| 	digestAlgorithm		DigestAlgorithmIdentifier ({ pkcs7_sig_note_digest_algo }),
 | |
| 	authenticatedAttributes	CHOICE {
 | |
| 		aaSet		[0] IMPLICIT SetOfAuthenticatedAttribute
 | |
| 					({ pkcs7_sig_note_set_of_authattrs }),
 | |
| 		aaSequence	[2] EXPLICIT SEQUENCE OF AuthenticatedAttribute
 | |
| 			-- Explicit because easier to compute digest on
 | |
| 			-- sequence of attributes and then reuse encoded
 | |
| 			-- sequence in aaSequence.
 | |
| 	} OPTIONAL,
 | |
| 	digestEncryptionAlgorithm
 | |
| 				DigestEncryptionAlgorithmIdentifier ({ pkcs7_sig_note_pkey_algo }),
 | |
| 	encryptedDigest		EncryptedDigest,
 | |
| 	unauthenticatedAttributes CHOICE {
 | |
| 		uaSet		[1] IMPLICIT SET OF UnauthenticatedAttribute,
 | |
| 		uaSequence	[3] IMPLICIT SEQUENCE OF UnauthenticatedAttribute
 | |
| 	} OPTIONAL
 | |
| } ({ pkcs7_note_signed_info })
 | |
| 
 | |
| SignerIdentifier ::= CHOICE {
 | |
| 	-- RFC5652 sec 5.3
 | |
| 	issuerAndSerialNumber IssuerAndSerialNumber,
 | |
|         subjectKeyIdentifier [0] IMPLICIT SubjectKeyIdentifier
 | |
| }
 | |
| 
 | |
| IssuerAndSerialNumber ::= SEQUENCE {
 | |
| 	issuer			Name ({ pkcs7_sig_note_issuer }),
 | |
| 	serialNumber		CertificateSerialNumber ({ pkcs7_sig_note_serial })
 | |
| }
 | |
| 
 | |
| CertificateSerialNumber ::= INTEGER
 | |
| 
 | |
| SubjectKeyIdentifier ::= OCTET STRING ({ pkcs7_sig_note_skid })
 | |
| 
 | |
| SetOfAuthenticatedAttribute ::= SET OF AuthenticatedAttribute
 | |
| 
 | |
| AuthenticatedAttribute ::= SEQUENCE {
 | |
| 	type			OBJECT IDENTIFIER ({ pkcs7_note_OID }),
 | |
| 	values			SET OF ANY ({ pkcs7_sig_note_authenticated_attr })
 | |
| }
 | |
| 
 | |
| UnauthenticatedAttribute ::= SEQUENCE {
 | |
| 	type			OBJECT IDENTIFIER,
 | |
| 	values			SET OF ANY
 | |
| }
 | |
| 
 | |
| DigestEncryptionAlgorithmIdentifier ::= SEQUENCE {
 | |
| 	algorithm		OBJECT IDENTIFIER ({ pkcs7_note_OID }),
 | |
| 	parameters		ANY OPTIONAL
 | |
| }
 | |
| 
 | |
| EncryptedDigest ::= OCTET STRING ({ pkcs7_sig_note_signature })
 | |
| 
 | |
| ---
 | |
| --- X.500 Name
 | |
| ---
 | |
| Name ::= SEQUENCE OF RelativeDistinguishedName
 | |
| 
 | |
| RelativeDistinguishedName ::= SET OF AttributeValueAssertion
 | |
| 
 | |
| AttributeValueAssertion ::= SEQUENCE {
 | |
| 	attributeType		OBJECT IDENTIFIER ({ pkcs7_note_OID }),
 | |
| 	attributeValue		ANY
 | |
| }
 | 
