PKCS#7: Support CMS messages also [RFC5652]
[firefly-linux-kernel-4.4.55.git] / crypto / asymmetric_keys / pkcs7.asn1
index 05504431e1c13afa15c6f438f90bb201cfaf8eb9..6bf8ff4f7414ee7bb9aa7ae833e212f6aa010178 100644 (file)
@@ -69,7 +69,7 @@ SignerInfos ::= CHOICE {
 
 SignerInfo ::= SEQUENCE {
        version                 INTEGER ({ pkcs7_note_signerinfo_version }),
-       issuerAndSerialNumber   IssuerAndSerialNumber,
+       sid                     SignerIdentifier, -- CMS variant, not PKCS#7
        digestAlgorithm         DigestAlgorithmIdentifier ({ pkcs7_sig_note_digest_algo }),
        authenticatedAttributes CHOICE {
                aaSet           [0] IMPLICIT SetOfAuthenticatedAttribute
@@ -88,6 +88,12 @@ SignerInfo ::= SEQUENCE {
        } 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 })
@@ -95,6 +101,8 @@ IssuerAndSerialNumber ::= SEQUENCE {
 
 CertificateSerialNumber ::= INTEGER
 
+SubjectKeyIdentifier ::= OCTET STRING ({ pkcs7_sig_note_skid })
+
 SetOfAuthenticatedAttribute ::= SET OF AuthenticatedAttribute
 
 AuthenticatedAttribute ::= SEQUENCE {