We are happy to announce that version 1.7.4 of DidiSoft OpenPGP Library for .NET has been released.
Among the new features provided with this version is support for Silverlight and methods for inspecting the type of an arbitrary OpenPGP archive.
Unfortunately in this version we had to make obsolete the PGPLib class method EncryptStream that has no file name label parameter. This is due to the great misunderstanding and problems that some of our existing customers have faced when encrypting large files with it. The problem is that for example McAfee E-Business server cannot decrypt large files encrypted with this method, because it encrypts the data ‘just for reading’ (‘for your eyes only’).
To achieve the same functionality (encrypt ‘for your eyes only’) please use the overloaded methods that accept a second file name label parameter where you can pass the new constant PGPLib.CONSOLE.
Below is the complete list of the changes in this version:
[*] : Bug
[+] : New
[-] : Removed
[!] : Modification
June 20, 2012
I. Fixed bugs
[*] Fixed a bug when encrypting large files
[!] PGPLib.EncryptStream without a file name label is now obsolete
[!] PGPLib.EncryptStreamPBE without a file name label is now obsolete
Note: They can be replaced directly by passing PGPLib.CONSOLE as a file name label parameter to the equivalent overloaded versions
II. DidiSoft.Pgp.PGPLib class changes
[+] Added property AsciiVersionHeader – that can be used to see/modify the Version: BCPG C# v18.104.22.168 header line in ASCII armored output
[+] Added constant PGPLib.CONSOLE – indicates that the encrypted data is ‘for your eyes only’
[+] Added method EncryptStreamPBE – overloaded version that accepts both a public key and a password
III. DidiSoft.Pgp.KeyStore class changes
[+] Added method KeyStore.ImportPublicKey – overloaded version that accepts stream source
[+] Added method KeyStore.ImportPrivateKey – overloaded version that accepts stream source
[+] Added method KeyStore.ImportKeyRing – overloaded version that accepts stream source
[+] Added method KeyStore.ImportKeyStore – can be used to import the contents of another KeyStore instance
[+] Added method KeyStore.ExportKeyRing – overloaded version that accepts stream as destination
IV. DidiSoft.Pgp.Inspect.PGPInspectLib class changes
[+] Added method IsPublicKeyEncrypted – tells is an OpenPGP archive encrypted with a public key
[+] Added method IsPBEEncrypted – tells is an OpenPGP archive encrypted with a password
[+] Added method IsSignedOnly – tells is an OpenPGP archive only digitally signed without encryption
[+] Added method ListEncryptionKeyIds – returns the Key Id’s of the keys that have encrypted a given OpenPGP archive
[+] Added method ListSigningKeyIds – returns the Key Id’s of the keys that have signed a given OpenPGP archive
V. DidiSoft.Pgp.KeyPairInformation interface changes
[+] Added property PreferredCompressions – that shows the preferred compression algorithms supported by this key
[+] Added property PreferredCyphers – that shows the preferred cypher algorithms supported by this key.
[+] Added static method KeyIdToHex – that converts a 64 bit Key ID into a hexadecimal Key Id string
VI. Silverlight support
A separate DLL files Build for Silverlight are now available under the /Bin/Silverlight folder
Supported Silverlight versions : 3, 4, 5
Please let us know if you have any comments or ideas related to this release.