Easy Crypt Changelog

[25-11-2023] - Version 8.2.3 Build 1
  • Added: Support for Delphi 12
  • Solved: Some minor issues
[28-11-2022] - Version 8.2.2 Build 6
  • Solved: Fixed a decryptmessage performance issue in both CSP and CNG.
[03-10-2021] - Version 8.2.1 Build 10
  • Added: Support for Delphi 11 Alexandria.
  • Solved: Some minor bugs
  • Solved: In some cases it was not possible to get the privatey key from a PFX
[31-01-2021] - Version 8.2.1 Build 1
  • New: Easy Crypt now fully supports the Microsoft CNG CryptLibrary. The TRwBCrypt record (in uRwCNG.pas) offers access to all Microsoft BCrypt features. The TRwNCrypt can be used to access all Microsoft NCrypt features. All example applications have been updated to demonstrate the new CNG features. A new AES-GMAC example has been added to demonstrate how to use AES-GCM authenticated encryption.
[01-11-2020] - Version 8.1.1 Build 41
  • Added: Support for Delphi 10.4.1 Sydney.
[01-06-2020] - Version 8.1.1 Build 35
  • Added: Support for Delphi 10.4 Sydney
  • Solved: In some cases an exception was raised when trying to read a key length.
  • Added: Easy Crypt now supports creating self signed certificates with Subject Alternative Names (both DNS and IPV4 entries).
  • Added: Subject Alternative Names can now also be specified when creating new certificates.
[31-03-2019] - Version 8.1.0 Build 9
  • Solved: Calling the CSP.Random() could cause the application to crash.
  • IMPORTANT: Windows XP is no longer supported. Easy Crypt can no longer be used on systems running Windows XP.

[25-11-2018] - Version 8.0.1 Build 10
  • Added: Delphi 10.3 Rio support
[01-06-2018] - Version 8.0.0 Build 10
  • Solved: In some cases the CertStore.VerifyMessage() did not return all the certificates.
  • Solved: A memoryleak in the CertStore.DecryptMessage().
[11-02-2018] - Version 7.3.0 Build 1
  • Added: It's now possible to import PKCS8 formatted private keys.
  • Added: The various Sign and Verify methods now support both Big Endian and Little Endian memory blocks and streams for improved OpenSSL compatibility.
  • Solved: On some 64 bit systems it was not possible to import keys.
  • Added: The TRwCertificate now has a "FriendlyName" property which can be used to read the frienly name of a certificate and/or set the friendly name of a certificate.
[21-12-2017] - Version 7.2.2 Build 28
  • Modified: The Delphi 10.2.2. libraries have been recompiled with Delphi 10.2.2. build 2004.
[16-12-2017] - Version 7.2.2 Build 24
  • Added: The TRwCSP.ImportPubKey() now also supports DER encoded public keys.
  • Solved: Decrypting large messages using DecryptMsg on Windows 7 did not always work correctly.
  • Solved: Some minor issues.
[27-08-2017] - Version 7.2.2 Build 7
  • Solved: A problem which prevented exportable private keys from being exported to a .pfx.
[13-08-2017] - Version 7.2.2 Build 1
  • Added: Delphi 10.2 packages have been recompiled with Delphi 10.2.1.
  • Solved: Some minor issues.
[07-05-2017] - Version 7.2.1 Build 11
  • Added: The TRwCSP.PBKDF2() can now be used to generate key values.
[29-03-2017] - Version 7.2.1 Build 0
  • Added: Delphi 10.2 Tokyo support
[01-01-2017] - Version 7.2.0 Build 37
  • Added: The EncryptStream() can now be used to encrypt extreme large streams.
[28-08-2016] - Version 7.1.5 Build 9
  • Added: Easy Crypt can now be used to calculate Amazon AWS Signatures.
[01-05-2016] - Version 7.1.5 Build 3
  • Added: Delphi 10.1 Berlin support
[09-04-2016] - Version 7.1.5 Build 1
  • Added: Verification of detached signatures.
  • Solved: A few minor issues.
[02-12-2015] - Version 7.1.4 Build 12
  • Added: Verification of detached signatures.
  • Solved: A few minor issues.
[14-09-2015] - Version 7.1.4 Build 1
  • Added: Delphi 10 support
[21-04-2015] - Version 7.1.3 Build 1
  • Added: Delphi XE8 support
  • Solved: A few minor issues.
[10-03-2015] - Version 7.1.2 Build 9
  • Added: Store.CreateSignature(). This method can be used to create a hash for a given source and to sign that hash using a private key. The returned signature is compatible with XMLDSIG.
  • Added: Store.VerifySignature(). This method can be used to verify signatures created with the CreateSignature() method.
[19-01-2015] - Version 7.1.2 Build 3
  • Added: The possibility to create detached signatures.
  • Added: The possibility to send signed email messages. This functionality does require Easy MAPI to be installed.
[08-09-2014] - Version 7.1.1 Build 17
  • Added: Delphi XE8 support.
[01-04-2014] - Version 7.1.1 Build 0
  • Added: Delphi XE6 support.
[01-11-2013] - Version 7.1.0 Build 1
  • Added: Delphi XE5 support.
[03-06-2013] - Version 7.0.0 Build 27
  • Added: Delphi XE4 support.
[03-03-2013] - Version 7.0.0 Build 10
  • Added: Full support for Firemonkey V2.
[01-10-2012] - Version 6.2.1 Build 4
  • Added: Delphi XE3 support.
  • Solved: Some minor issues.
[18-06-2012] - Version 6.1.1 Build 24
  • Added: function ImportKey(AAlgid: TRwAlgorithm; AKey: string; AKeyEncoding: TRwBinEncoding; AOptions: TRwKeyImportOptions = ##### []; ADecryptKey: IRwCspKey = nil): IRwCspKey; overload; This new overloaded method can be used to import a "raw" key value.
  • Added: Various TRwCSP.HMAC...() methods. With these methods it's possible to create a Hash-based Message Authentication Code (HMAC). The Hashing example application demonstrates how to create a HMAC value.
[04-06-2012] - Version 6.1.1 Build 20
  • Solved: Some minor issues
[14-05-2012] - Version 6.1.1 Build 15
  • Added: TRwMemoryCertStore.ImportFromP7S() This new method will import the certificates in a .p7s file into the memorystore.
  • Solved: Some minor issues
[01-10-2011] - Version 6.1.0 Build 3
  • Added: Delphi XE2 support.
  • Solved: Some minor issues
[12-12-2010] - Version 6.0.0 Build 29

Note: This build will break existing code as some methods had to be renamed.

  • Added: TRwMemoryCertStore.ImportFromPFX. With this method it is possible to import certificates stored in a .pfx Improved: The private key is now automatically loaded into the the TRwCertificate (when available).
  • Added: Various Sign and Verify methods. The SignHash() method has been removed. Improved: Rewritten, updated and added some example applications.
  • Added: The possibility to save and load asymmetric keys to OpenSSL compatible PEM files
  • Solved: Some minor issues
[27-10-2010] - Version 6.0.0 Build 11
  • Added: Delphi XE support
  • Added: It is now possible to export just the public key to a .PEM file (Certificate.ExportPublicKeyToPEM());
  • Solved: Some minor issues
[06-04-2010] - Version 5.0.0 Build 45
  • Added: A Logviewer component (TRwLogViewer) that can be used in combination with the Rapware logger
[23-03-2010] - Version 5.0.0 Build 43
  • Solved: In some cases a RangeCheckError was raised while signing messages.
  • Solved: In some cases a OverFlowError was raised while signing messages.
  • Added: There are now overloaded versions of the TRwCSP.ImportKey() methods that will take an Initialization Vector (IV) as argument.
  • Solved: In some cases an error was raised when signing messages on a Windows 2000 machine.
[25-02-2010] - Version 5.0.0 Build 36
  • Modified: The SignMessage method now also adds a timestamp (all three overloaded versions)
  • Added: CertStore.VerifyMessageTimeStamp() method. This method can be used to read the timestamp of the signed message
  • Solved: Some minor issues
[30-11-2009] - Version 5.0.0 Build 29
  • Solved: Some minor issues
[21-09-2009] - Version 5.0.0 Build 27
  • Added: Delphi 2010 support
[29-06-2009] - Version 5.0.0 Build 23
  • Added: CreateRootCertificate and CreateSignedCertificate. With these methods you can create your own CA Root Certificate and create certificates signed with this CA Certificate.
  • Solved: Some minor bugs
[27-04-2009] - Version 5.0.0 Build 14
  • Added: uRwBlowfish.pas. This unit contains a native Delphi BlowFish implementation.
  • Added: CertStore.ExportToPFX(). With this function it is possible to export certificates in a certificate store to a PFX file.
  • Solved: TRwStringList.AsAnsiString now always returns the data in the codepage of the system
  • Added: TRwStringList.AsMBCS property; This property gives access to the stringlist data in the codepage of the stringlist (when using a MBCS).
[02-03-2009] - Version 5.0.0 Build 8
  • Solved: Some minor bugs
[08-12-2008] - Version 5.0.0 Build 5
  • Solved: Some minor bugs
[21-09-2008] - Version 5.0.0 Beta-Build 3
  • Solved: Self-signed certificates can now be used as SSL certificate
  • Modified: The SystemStore example is now capable of showing LocalMachine certificates as well as User certificates
[26-08-2008] - Version 5.0.0 Beta-Build 2