Digital signature format for PE files on Windows

Source: Internet
Author: User

 

Summary
Authenticode is a digital signature format used to verify the source and integrity of binary software. Authenticode is used to sign data based on the public key encryption standard (PKCS) #7, and uses the X.509 Certificate to bind a digitally issued binary program to the identity of its software publisher. This document contains the structure and technical details of the Authenticode signature.

OVERVIEW

The trusted code digital signature in the PE file is PKCS #7Signature BlockStructure. This signature ensures that:
· The software originated from a fixed software publisher.
· This software has not been modified since it was signed.
One PKCS #7 Signature BlockThe structure contains the hash value of the PE file, the signature created by the private key of the software publisher, and the signature key of the software publisher bound to a valid entity X.509 V3 certificate. One PKCS #7Signature BlockIt can contain the following optional information:
· Description of software publishers
· Links of software publishers
· Timestamp of trusted code signature
The signature timestamp is generated by the time stamp Authority (TSA) and the software publisher's signature must exist before the timestamp. This timestamp can prolong the life cycle of the signature, even if the relevant signature certificate has expired or is later abolished.
The trusted code signature can be embedded into the PE file in the PE file of windows.Optional Header Data DirectoriesStructureCertificate TablePoint. When a trusted code signature is used to sign a Windows PE file, the algorithm used to calculate the File digital signature hash value skips a specific field in the PE file structure. When embedding a digital signature into a file, the signature process can modify these fields without affecting the file's hash value.
Figure 1 shows a simple global PE file that describes how a digital signature is contained in a PE file. It contains embedded trusted code digital signatures and PE Structure fields that are omitted to calculate the hash value of the PE file.
For details about the PE file structure, see "Microsoft portable executable and common object file format specification" (PE/coff Specification ).
For details about PKCS #7 in the digital signature of trusted code, see the Abstract Syntax Notation version 1 (ASN.1) structure definition later in this document.
For details about how to calculate the hash value of a PE file using a trusted code digital signature, see "calculating the PE image hash" next to this document ".

 

Apply for a free digital certificate

Log on to www.ca365.com and click the "apply for Certificate in table" link in the "free certificate" column. Enter the required information on the page to apply for a free certificate.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.