2008-05-16  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeFormatter.cs: Throw an NotSupportedException if we're
	trying to sign a non-PE (portable executable) file. We do not support
	signing CAB and MSI files (nor does mono generates them).
	[Partial fix for #388602, kept open as Enhancement]

2008-01-10  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeDeformatter.cs: Use RSAManaged and the new overloaded
	PKCS1.Verify_v15 with tryNonStandardEncoding == true when verifying
	timestamping certificate signatures. Fix for #350958

2007-11-01  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeFormatter.cs: Allow signature of very big files (e.g. a
	1.5Gb EXE). Original patch from Ondrej Kelle;

2007-04-26  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeDeformatter.cs: Don't reset an existing reason inside
	IsTrusted.

2007-01-12  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeFormatter.cs: The ASN.1 structure must be padded to a
	multiple of 8 bytes, else the signature is invalid - even if the hash 
	is correct!

2006-12-14  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeBase.cs: Support (strip) COFF symbol table when 
	calculating the hash value of a PE file.
	* AuthenticodeDeformatter.cs: Adapt to changes in base class.
	* AuthenticodeFormatter.cs: Reuse more code from base class. Strip
	COFF symbol table (if present). Fix alignment (on 8 bytes) for the
	signature location.

2006-11-08  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeDeformatter.cs: Return (find) the SigningCertificate 
	even if the signature isn't verifiable. This is the behaviour required
	for 2.0.

2006-06-14  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeBase.cs: Fix destination offset. Note that this works 
	under MS but not under Mono.
	* AuthenticodeDeformatter.cs: Report a more useful error if the file
	hash doesn't match the signed hash.
	* AuthenticodeFormatter.cs: Implemented support for Timestamp method.

2005-04-18  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeFormatter.cs: Commented unused private constants to 
	remove compiler warnings.

2005-04-08  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeDeformatter.cs: In synch with corlib version.

2004-11-05  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeFormatter.cs: Now use BitConverterLE for explicit 
	little-endian convertion.
	* PrivateKey.cs: Now use BitConverterLE for explicit little-endian
	convertion for PVK files.

2004-10-29  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeFormatter.cs: Fixed spcSpOpusInfo attribute (it wasn't 
	added) and contentType attribute (was added 2 times). Also fixed the
	case where we signed an already Authenticode signed file (re-signing).
	* SoftwarePublisherCertificate.cs: Support for base64 encoded ASN.1 
	files (either Unicode or ASCII).

2004-10-22  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeFormatter.cs: Fixed case where Url is null (broken since
	we switched from string to Uri). Now use "using" for FileStream.

2004-09-17  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeDeformatter.cs: In synch with corlib version. Fixed all 
	level 4 compilation warnings.
	* AuthenticodeFormatter.cs: Fixed all level 4 compilation warnings.
	* PrivateKey.cs: Fixed all level 4 compilation warnings.

2004-09-07  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeBase.cs: Reworked not to load the entire file into 
	memory before hashing it (now in 4kb blocks). Splitted code in many
	methods to allow "lighter" use by the deformatter.
	* AuthenticodeDeformatter.cs: Less memory hungry so it can be used to
	create Publisher evidences. No hash instance are created if the file
	isn't signed.
	* AuthenticodeFormatter.cs: Adapted to API changes.

2004-05-11  Sebastien Pouliot  <sebastien@ximian.com>

	* PrivateKey.cs: Better exception reporting. Added globalization to 
	exceptions.
	* SoftwarePublisherCertificate.cs: Better exception reporting. Added 
	globalization to exceptions. 

2004-04-28  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeBase.cs: Added missing (overwritten) #if INSIDE_CORLIB
	directives to hides type and enum in corlib.

2004-04-22  Sebastien Pouliot  <sebastien@ximian.com>

	* AuthenticodeBase.cs: FxCop-ized. CLS compliance. Also includes
	endian fixes from Bernie Solomon.
	* AuthenticodeDeformatter.cs: FxCop-ized. CLS compliance.
	* AuthenticodeFormatter.cs: FxCop-ized. CLS compliance.
	* PrivateKey.cs: Replaced Array.Copy with Buffer.BlockCopy.
	* SoftwarePublisherCertificate.cs: FxCop-ized.

2004-02-23  Sebastien Pouliot  <sebastien@ximian.com>	

	* PrivateKey.cs: Adjusted to catch exceptions from CryptoConvert.
	FromCapiPrivateKeyBlob when dealing with weakly encrypted keys.

2004-02-20  Sebastien Pouliot  <sebastien@ximian.com>	

	* AuthenticodeDeformatter.cs: Updated to use the new X509Chain syntax. 

2003-12-15  Sebastien Pouliot  <spouliot@videotron.ca>	

	* AuthenticodeDeformatter.cs: Now throw a COMException for invalid 
	signature. Added a SigningCertificate property (to be independant of
	the certificate collection ordering).

2003-09-01  Sebastien Pouliot  <spouliot@videotron.ca>	

	* AuthenticodeBase.cs: New. Base class including how to hash a
	PE file.
	* AuthenticodeDeformatter.cs: New. Class to decode Authenticode(tm)
	signatures.
	* AuthenticodeFormatter.cs: New. Class to encode a Authenticode(tm)
	signature, and optionally a timestamp, into a PE file.
	* SoftwarePublisherCertificate.cs: Now use Mono.Security.X509.
	X509Certificate class.

2003-06-19  Nick Drochak <ndrochak@gol.com>

	* PrivateKey.cs: Work around for mcs? bug 45127.

2003-03-15  Sebastien Pouliot  <spouliot@videotron.ca>

	* PrivateKey.cs: New. Class to load or create PVK (PriVate Key)
	files (a Microsoft specific file format for private keys).

2003-03-06  Sebastien Pouliot  <spouliot@videotron.ca>

	* SoftwarePublisherCertificate.cs: New. Class to load or create
	SPC files (which are PKCS#7 files containing only certificates 
	and CRL).

