123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- 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
- }
|