summaryrefslogtreecommitdiffstats
path: root/crypto/asymmetric_keys/pkcs7.asn1
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2015-07-20 22:16:33 +0200
committerDavid Howells <dhowells@redhat.com>2015-08-12 18:01:01 +0200
commit60d65cacd7c2d84a6dcad69bcb57bbf0220c8643 (patch)
tree636bda3cc9024a04edf1ae5780266fde743e7b1e /crypto/asymmetric_keys/pkcs7.asn1
parentX.509: Change recorded SKID & AKID to not include Subject or Issuer (diff)
downloadlinux-60d65cacd7c2d84a6dcad69bcb57bbf0220c8643.tar.xz
linux-60d65cacd7c2d84a6dcad69bcb57bbf0220c8643.zip
PKCS#7: Support CMS messages also [RFC5652]
Since CMS is an evolution of PKCS#7, with much of the ASN.1 being compatible, add support for CMS signed-data messages also [RFC5652 sec 5]. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-By: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'crypto/asymmetric_keys/pkcs7.asn1')
-rw-r--r--crypto/asymmetric_keys/pkcs7.asn110
1 files changed, 9 insertions, 1 deletions
diff --git a/crypto/asymmetric_keys/pkcs7.asn1 b/crypto/asymmetric_keys/pkcs7.asn1
index 05504431e1c1..6bf8ff4f7414 100644
--- a/crypto/asymmetric_keys/pkcs7.asn1
+++ b/crypto/asymmetric_keys/pkcs7.asn1
@@ -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 {