Nytro Posted February 19, 2009 Report Posted February 19, 2009 Authenticode® is a digital signature format that is used to determine the origin and integrity of software binaries. Authenticode is based on Public-Key Cryptography Standards (PKCS) #7 signed data and X.509 certificates to bind an Authenticode-signed binary to the identity of a software publisher. This paper contains the structure and technical details of the Authenticode signature format.This paper does not discuss issuing or processing X.509 code signing certificates, use of Windows Software Development Kit tools to sign binaries, deployment of a code signing infrastructure, or related Windows® APIs. Information on these topics is available in ”Resources” at the end of this paper.This information applies for the following operating systems: Windows Server® 2008 Windows Vista® Windows Server 2003 Windows® XP Windows 2000References and resources discussed here are listed at the end of this paper.For the latest information, see: http://www.microsoft.com/whdc/winlogo/drvsign/Authenticode_PE.mspxContentsIntroduction 4Overview 4Authenticode Profile of PKCS #7 SignedData 7SignedData 7SignerInfo 8Authenticode-Specific Structures 9Authenticode-Specific Structures in ContentInfo 9SpcIndirectDataContent 9SpcPeImageData 10SpcSerializedObject 11Authenticode-Specific SignerInfo UnauthenticatedAttributes Structures 12SpcSpOpusInfo 12Authenticode-Specific SignerInfo UnsignedAttrs Structures 12Authenticode Timestamp 12Authenticode Signature Verification 13Extracting and Verifying PKCS #7 13Certificate Processing 13Timestamp Processing 14Timestamp Processing with Lifetime Signing Semantics 15Calculating the PE Image Hash 15Resources 17Applicable Standards 17Authenticode PE Signature Format References 17General Code Signing References 17Download:http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Authenticode_PE.docx Quote