1 2008-12-23 Sebastien Pouliot <sebastien@ximian.com>
3 * SoftwarePublisherCertificate.cs: Support PKCS7 files that with
4 PEM headers around the base64 content.
7 2008-05-16 Sebastien Pouliot <sebastien@ximian.com>
9 * AuthenticodeFormatter.cs: Throw an NotSupportedException if we're
10 trying to sign a non-PE (portable executable) file. We do not support
11 signing CAB and MSI files (nor does mono generates them).
12 [Partial fix for #388602, kept open as Enhancement]
14 2008-01-10 Sebastien Pouliot <sebastien@ximian.com>
16 * AuthenticodeDeformatter.cs: Use RSAManaged and the new overloaded
17 PKCS1.Verify_v15 with tryNonStandardEncoding == true when verifying
18 timestamping certificate signatures. Fix for #350958
20 2007-11-01 Sebastien Pouliot <sebastien@ximian.com>
22 * AuthenticodeFormatter.cs: Allow signature of very big files (e.g. a
23 1.5Gb EXE). Original patch from Ondrej Kelle;
25 2007-04-26 Sebastien Pouliot <sebastien@ximian.com>
27 * AuthenticodeDeformatter.cs: Don't reset an existing reason inside
30 2007-01-12 Sebastien Pouliot <sebastien@ximian.com>
32 * AuthenticodeFormatter.cs: The ASN.1 structure must be padded to a
33 multiple of 8 bytes, else the signature is invalid - even if the hash
36 2006-12-14 Sebastien Pouliot <sebastien@ximian.com>
38 * AuthenticodeBase.cs: Support (strip) COFF symbol table when
39 calculating the hash value of a PE file.
40 * AuthenticodeDeformatter.cs: Adapt to changes in base class.
41 * AuthenticodeFormatter.cs: Reuse more code from base class. Strip
42 COFF symbol table (if present). Fix alignment (on 8 bytes) for the
45 2006-11-08 Sebastien Pouliot <sebastien@ximian.com>
47 * AuthenticodeDeformatter.cs: Return (find) the SigningCertificate
48 even if the signature isn't verifiable. This is the behaviour required
51 2006-06-14 Sebastien Pouliot <sebastien@ximian.com>
53 * AuthenticodeBase.cs: Fix destination offset. Note that this works
54 under MS but not under Mono.
55 * AuthenticodeDeformatter.cs: Report a more useful error if the file
56 hash doesn't match the signed hash.
57 * AuthenticodeFormatter.cs: Implemented support for Timestamp method.
59 2005-04-18 Sebastien Pouliot <sebastien@ximian.com>
61 * AuthenticodeFormatter.cs: Commented unused private constants to
62 remove compiler warnings.
64 2005-04-08 Sebastien Pouliot <sebastien@ximian.com>
66 * AuthenticodeDeformatter.cs: In synch with corlib version.
68 2004-11-05 Sebastien Pouliot <sebastien@ximian.com>
70 * AuthenticodeFormatter.cs: Now use BitConverterLE for explicit
71 little-endian convertion.
72 * PrivateKey.cs: Now use BitConverterLE for explicit little-endian
73 convertion for PVK files.
75 2004-10-29 Sebastien Pouliot <sebastien@ximian.com>
77 * AuthenticodeFormatter.cs: Fixed spcSpOpusInfo attribute (it wasn't
78 added) and contentType attribute (was added 2 times). Also fixed the
79 case where we signed an already Authenticode signed file (re-signing).
80 * SoftwarePublisherCertificate.cs: Support for base64 encoded ASN.1
81 files (either Unicode or ASCII).
83 2004-10-22 Sebastien Pouliot <sebastien@ximian.com>
85 * AuthenticodeFormatter.cs: Fixed case where Url is null (broken since
86 we switched from string to Uri). Now use "using" for FileStream.
88 2004-09-17 Sebastien Pouliot <sebastien@ximian.com>
90 * AuthenticodeDeformatter.cs: In synch with corlib version. Fixed all
91 level 4 compilation warnings.
92 * AuthenticodeFormatter.cs: Fixed all level 4 compilation warnings.
93 * PrivateKey.cs: Fixed all level 4 compilation warnings.
95 2004-09-07 Sebastien Pouliot <sebastien@ximian.com>
97 * AuthenticodeBase.cs: Reworked not to load the entire file into
98 memory before hashing it (now in 4kb blocks). Splitted code in many
99 methods to allow "lighter" use by the deformatter.
100 * AuthenticodeDeformatter.cs: Less memory hungry so it can be used to
101 create Publisher evidences. No hash instance are created if the file
103 * AuthenticodeFormatter.cs: Adapted to API changes.
105 2004-05-11 Sebastien Pouliot <sebastien@ximian.com>
107 * PrivateKey.cs: Better exception reporting. Added globalization to
109 * SoftwarePublisherCertificate.cs: Better exception reporting. Added
110 globalization to exceptions.
112 2004-04-28 Sebastien Pouliot <sebastien@ximian.com>
114 * AuthenticodeBase.cs: Added missing (overwritten) #if INSIDE_CORLIB
115 directives to hides type and enum in corlib.
117 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
119 * AuthenticodeBase.cs: FxCop-ized. CLS compliance. Also includes
120 endian fixes from Bernie Solomon.
121 * AuthenticodeDeformatter.cs: FxCop-ized. CLS compliance.
122 * AuthenticodeFormatter.cs: FxCop-ized. CLS compliance.
123 * PrivateKey.cs: Replaced Array.Copy with Buffer.BlockCopy.
124 * SoftwarePublisherCertificate.cs: FxCop-ized.
126 2004-02-23 Sebastien Pouliot <sebastien@ximian.com>
128 * PrivateKey.cs: Adjusted to catch exceptions from CryptoConvert.
129 FromCapiPrivateKeyBlob when dealing with weakly encrypted keys.
131 2004-02-20 Sebastien Pouliot <sebastien@ximian.com>
133 * AuthenticodeDeformatter.cs: Updated to use the new X509Chain syntax.
135 2003-12-15 Sebastien Pouliot <spouliot@videotron.ca>
137 * AuthenticodeDeformatter.cs: Now throw a COMException for invalid
138 signature. Added a SigningCertificate property (to be independant of
139 the certificate collection ordering).
141 2003-09-01 Sebastien Pouliot <spouliot@videotron.ca>
143 * AuthenticodeBase.cs: New. Base class including how to hash a
145 * AuthenticodeDeformatter.cs: New. Class to decode Authenticode(tm)
147 * AuthenticodeFormatter.cs: New. Class to encode a Authenticode(tm)
148 signature, and optionally a timestamp, into a PE file.
149 * SoftwarePublisherCertificate.cs: Now use Mono.Security.X509.
150 X509Certificate class.
152 2003-06-19 Nick Drochak <ndrochak@gol.com>
154 * PrivateKey.cs: Work around for mcs? bug 45127.
156 2003-03-15 Sebastien Pouliot <spouliot@videotron.ca>
158 * PrivateKey.cs: New. Class to load or create PVK (PriVate Key)
159 files (a Microsoft specific file format for private keys).
161 2003-03-06 Sebastien Pouliot <spouliot@videotron.ca>
163 * SoftwarePublisherCertificate.cs: New. Class to load or create
164 SPC files (which are PKCS#7 files containing only certificates