summaryrefslogtreecommitdiffstats
path: root/crypto/asymmetric_keys/mscode.asn1
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2014-07-22 22:54:05 +0200
committerDavid Howells <dhowells@redhat.com>2014-07-22 22:54:05 +0200
commit6204e0025566ad3992ce649d4f44b7e8cdde2293 (patch)
treebf851c8197aa6546c12c97cb205f9c75a7cae729 /crypto/asymmetric_keys/mscode.asn1
parentMerge tag 'keys-pkcs7-20140708' into keys-next (diff)
parentpefile: Validate PKCS#7 trust chain (diff)
downloadlinux-6204e0025566ad3992ce649d4f44b7e8cdde2293.tar.xz
linux-6204e0025566ad3992ce649d4f44b7e8cdde2293.zip
Merge tag 'keys-pefile-20140709' into keys-next
Here's a set of changes that implement a PE file signature checker. This provides the following facility: (1) Extract the signature from the PE file. This is a PKCS#7 message containing, as its data, a hash of the signed parts of the file. (2) Digest the signed parts of the file. (3) Compare the digest with the one from the PKCS#7 message. (4) Validate the signatures on the PKCS#7 message and indicate whether it was matched by a trusted key. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'crypto/asymmetric_keys/mscode.asn1')
-rw-r--r--crypto/asymmetric_keys/mscode.asn128
1 files changed, 28 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/mscode.asn1 b/crypto/asymmetric_keys/mscode.asn1
new file mode 100644
index 000000000000..6d09ba48c41c
--- /dev/null
+++ b/crypto/asymmetric_keys/mscode.asn1
@@ -0,0 +1,28 @@
+--- Microsoft individual code signing data blob parser
+---
+--- Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+--- Written by David Howells (dhowells@redhat.com)
+---
+--- This program is free software; you can redistribute it and/or
+--- modify it under the terms of the GNU General Public Licence
+--- as published by the Free Software Foundation; either version
+--- 2 of the Licence, or (at your option) any later version.
+---
+
+MSCode ::= SEQUENCE {
+ type SEQUENCE {
+ contentType ContentType,
+ parameters ANY
+ },
+ content SEQUENCE {
+ digestAlgorithm DigestAlgorithmIdentifier,
+ digest OCTET STRING ({ mscode_note_digest })
+ }
+}
+
+ContentType ::= OBJECT IDENTIFIER ({ mscode_note_content_type })
+
+DigestAlgorithmIdentifier ::= SEQUENCE {
+ algorithm OBJECT IDENTIFIER ({ mscode_note_digest_algo }),
+ parameters ANY OPTIONAL
+}