OpenPGP Library for .NET 1.7.2 is available
November 10th, 2011
We are happy to announce that version 1.7.2 of OpenPGP Library for .NET is available for download.
Existing customers can download the new version from our customers’ section located at http://didisoft.com/customers/
Below is a list describing the changes in this release. As always the new version is fully backward compatible with the previous one, so you can safely update your current version.
Version 1.7.2
Release date: November 09, 2011
Legend:
[*] : Bug
[+] : New
[-] : Removed
[!] : Modification
List of changes in version 1.7.2
[*] Fixed bug in PGPLib when encrypting with no compression!
[+] Added new exception DidiSoft.Pgp.Exceptions.NonPGPDataException, that indicates that the input is not a valid OpenPGP message
Modified methods that throw NonPGPDataException :
[!] PGPLib.DecryptAndVerifyFile – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptAndVerifyFilePBE – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptAndVerifyString – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input string is not a valid OpenPGP message
[!] PGPLib.DecryptFile – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptStream – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptBytes – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptString – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptTo – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptFilePBE – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptStreamInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptFileInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptStreamPBEInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptFilePBEInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.VerifyString – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.VerifyFile – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.VerifyStream – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptPBETo – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
DidiSoft.Pgp.KeyPairInformation changes:
[+] Added method KeyPairInformation.CheckPassword(password) – checks if a password for a private key is correct
[+] Added property KeyPairInformation.IsExpired – returns if this key is expired
[+] Added method KeyPairInformation.IsExpiredOnDate(date) – returns whether this key will be expired on a given date
DidiSoft.Pgp.KeyStore changes:
[+] Added static method KeyStore.OpenInMemory() – creates an in memory KeyStore
[+] Added static method KeyStore.OpenFile(file, password) – equivalent to the constructor KeyStore(file, password)
[+] Added method KeyStore.IsInMemory – checks if this KeyStore is located in memory
[+] Added method KeyStore.GetSecretKeysData() – returns the private keys containing in this KeyStore serialized as bytes
[+] Added method KeyStore.GetPublicKeysData() – returns the public keys containing in this KeyStore serialized as bytes
[+] Added method KeyStore.GetPublicKeysWithUserId(userId) – returns the public keys with the specified userId serialized as bytes
[+] Added method KeyStore.GetPublicKeyWithKeyId(keyId) – returns the public keys with the specified keyId serialized as bytes
[!] KeyStore.ImportPublicKey now throws a WrongPublicKeyException if there is no public key in the input file
[!] KeyStore.ImportPrivateKey now throws a WrongPrivateKeyException if there is no private key in the input file
[+] Added overloaded method KeyStore.ImportPrivateKey(file)
[+] Added overloaded method KeyStore.ImportPrivateKey(file)
[+] Added method KeyStore.ExportPublicKeyStream(userId) – exports a public key into a Stream
[+] Added method KeyStore.ExportPublicKeyStream(keyId) – exports a public key into a Stream
[+] Added method KeyStore.LoadFromStream(stream) – suitable for loading a previously serialized in memory Keystore
[+] Added method KeyStore.SaveToStream(stream) – suitable for storing an in memory Keystore
[+] Added method KeyStore.CheckPassword(file, password) – checks if a password for a KeyStore is correct
[*] Fixed bug in PGPLib when encrypting with no compression!
[+] Added new exception DidiSoft.Pgp.Exceptions.NonPGPDataException, that indicates that the input is not a valid OpenPGP message
Modified methods that throw NonPGPDataException :
[!] PGPLib.DecryptAndVerifyFile – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptAndVerifyFilePBE – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptAndVerifyString – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input string is not a valid OpenPGP message
[!] PGPLib.DecryptFile – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptStream – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptBytes – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptString – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptTo – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptFilePBE – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptStreamInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptFileInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptStreamPBEInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.DecryptFilePBEInFolder – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.VerifyString – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.VerifyFile – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file
[!] PGPLib.VerifyStream – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message
[!] PGPLib.DecryptPBETo – throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file