<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DidiSoft Ltd. Software solutions</title>
	<atom:link href="http://www.didisoft.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.didisoft.com</link>
	<description>Java OpenPGP, .NET OpenPGP, Software Libraries and tools</description>
	<lastBuildDate>Tue, 07 Feb 2012 16:22:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>OpenPGP Library for .NET Roadmap 2012</title>
		<link>http://www.didisoft.com/net-openpgp-library/openpgp-library-for-net-roadmap-2012/</link>
		<comments>http://www.didisoft.com/net-openpgp-library/openpgp-library-for-net-roadmap-2012/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 15:05:33 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[OpenPGP Library for .NET]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1576</guid>
		<description><![CDATA[This is our official roadmap for DidiSoft OpenPGP Library for .NET for year 2012. As always there can be slight changes during the year but we are going to inform you when a new feature set is ready. Sign up for our newsletter if you haven’t done so yet and stay tuned. Upcoming features this [...]]]></description>
			<content:encoded><![CDATA[<p><strong><img class="alignnone size-full wp-image-1169" style="float: left;" title="OpenPGP Library for .NET" src="http://www.didisoft.com/wp-content/uploads/netopenpgpbox3small.gif" alt="C# and VB.NET PGP Library" width="151" height="182" /></strong></p>
<p>This is our official roadmap for DidiSoft <a href="/net-openpgp/">OpenPGP Library for .NET</a> for year 2012. As always there can be slight changes during the year but we are going to inform you when a new feature set is ready. Sign up for our <a href="http://eepurl.com/bxRhD">newsletter</a> if you haven’t done so yet and stay tuned.</p>
<p><strong>Upcoming features this year</strong></p>
<ul>
<li>Print diagnostics information (planned for Q1)</li>
<li>Check is a key revoked or expired before usage (planned for Q2)</li>
<li>Analyzing the contents of an OpenPGP archive prior decrypting (planned for Q3)</li>
<li>Ability to use directly X.509 certificates as keys and ADK (additional decryption keys) support (planned for Q4)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/net-openpgp-library/openpgp-library-for-net-roadmap-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenPGP Library for Java Roadmap 2012</title>
		<link>http://www.didisoft.com/java-openpgp-library/openpgp-library-for-java-roadmap-2012/</link>
		<comments>http://www.didisoft.com/java-openpgp-library/openpgp-library-for-java-roadmap-2012/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 14:57:18 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[OpenPGP Library for Java]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1572</guid>
		<description><![CDATA[Happy New Year 2012 This year we have planned a few new features to be added to DidiSoft OpenPGP Library for Java. Some of them may appear upfront from the schedule, but as always we give a high priority to features that have been requested by our customers. We are going to keep you posted [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Happy New Year 2012</strong></p>
<p>This year we have planned a few new features to be added to DidiSoft <a href="/java-openpgp/">OpenPGP Library for Java</a>. Some of them may appear upfront from the schedule, but as always we give a high priority to features that have been requested by our customers. We are going to keep you posted through our official <a href="http://eepurl.com/bSmPr">newsletter for OpenPGP Library for Java</a>.</p>
<p><a href="http://www.didisoft.com/wp-content/uploads/javaopenpgpbox3small.gif"><img class="alignnone size-full wp-image-1168" style="float: left;" title="Java OpenPGP Library" src="http://www.didisoft.com/wp-content/uploads/javaopenpgpbox3small.gif" alt="Java PGP Library" width="150" height="181" /></a>New features planned for this year:</p>
<ul>
<li>Logging through java.logging (planned for Q1)</li>
<li>Analyzing the contents of an OpenPGP archive prior decrypting (planned for Q3)</li>
<li>Ability to use directly X.509 certificates as keys (planned for Q3)</li>
</ul>
<p>At the end of the year (Q4) we are planning a release that will migrate to Bouncy Castle version 1.46 and will have separate jars for Java 5 and Java 6.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/java-openpgp-library/openpgp-library-for-java-roadmap-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Winter holidays 2011</title>
		<link>http://www.didisoft.com/didisoft/winter-holidays-2011/</link>
		<comments>http://www.didisoft.com/didisoft/winter-holidays-2011/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 19:32:52 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[DidiSoft]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1567</guid>
		<description><![CDATA[Greetings! As we close out the 2011 year, we want to annouce the official holidays when our support and sales departments will not be available. Our office will be closed on Monday 26th of December 2011 and on the 2nd of January 2011. We&#8217;ll be back on the 3rd of January! Happy Holidays from DidiSoft!]]></description>
			<content:encoded><![CDATA[<p>Greetings! As we close out the 2011 year, we want to annouce the official holidays when our support and sales departments will not be available.</p>
<p>Our office will be closed on Monday 26<sub>th</sub> of December 2011 and on the 2<sub>nd</sub> of January 2011.<br />
We&#8217;ll be back on the 3<sub>rd</sub> of January!</p>
<h2>Happy Holidays from DidiSoft!</h2>
<p><img class="alignnone size-full wp-image-1568" title="Happy New Year 2012 " src="http://www.didisoft.com/wp-content/uploads/snow1.jpg" alt="" width="200" height="150" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/didisoft/winter-holidays-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unknown object in stream 21</title>
		<link>http://www.didisoft.com/kb/unknown-object-in-stream-21/</link>
		<comments>http://www.didisoft.com/kb/unknown-object-in-stream-21/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 08:27:13 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[.NET PGP]]></category>
		<category><![CDATA[Knowledge Base]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1358</guid>
		<description><![CDATA[We have received recently an email from one of our customers that have encountered an exception with message &#8220;Unknown object in stream 21&#8220;. The scenario when this exception occurred was: she tried to encrypt with an ASCII armored public key received from a partner with different operating system. The reason for the above exception was [...]]]></description>
			<content:encoded><![CDATA[<p>We have received recently an email from one of our customers that have encountered an exception with message &#8220;<strong>Unknown object in stream 21</strong>&#8220;.</p>
<p>The scenario when this exception occurred was: she tried to encrypt with an ASCII armored public key received from a partner with different operating system. The reason for the above exception was a strange line ending in the public key file.</p>
<p>We have updated <a title="PGP Library for .NET" href="/net-openpgp/">OpenPGP Library for .NET</a> to correct in memory the line ending of the public key file and if you encounter the same exception please update your production copy of the library through the Customers&#8217; section.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/kb/unknown-object-in-stream-21/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenPGP Library for .NET 1.7.2 is available</title>
		<link>http://www.didisoft.com/net-openpgp-library/openpgp-library-for-net-1-7-2-is-available/</link>
		<comments>http://www.didisoft.com/net-openpgp-library/openpgp-library-for-net-1-7-2-is-available/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 09:01:30 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[OpenPGP Library for .NET]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1343</guid>
		<description><![CDATA[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&#8217; 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 [...]]]></description>
			<content:encoded><![CDATA[<p><a title="OpenPGP Library for .NET" href="http://www.didisoft.com/net-openpgp/"><img class="alignnone size-full wp-image-1169" style="float: right;" title="OpenPGP Library for .NET" src="http://www.didisoft.com/wp-content/uploads/netopenpgpbox3small.gif" alt="C# and VB.NET PGP Library" width="151" height="182" /></a>We are happy to announce that <strong>version 1.7.2</strong> of <a title="OpenPGP Library for .NET" href="http://www.didisoft.com/net-openpgp/">OpenPGP Library for .NET</a> is available for download.</p>
<p>Existing customers can download the new version from our customers&#8217; section located at <a href="http://didisoft.com/customers/">http://didisoft.com/customers/</a></p>
<p>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.</p>
<p> Version 1.7.2<br />
  Release date: November 09, 2011</p>
<p><span style="text-decoration: underline;">Legend:</span></p>
<p><em> [*] : Bug</em><br />
 <em>  [+] : New</em><br />
 <em>  [-] : Removed</em><br />
 <em>  [!] : Modification</em></p>
<p><span style="text-decoration: underline;">List of changes in version 1.7.2</span></p>
<p> [*] Fixed bug in <strong>PGPLib</strong> when encrypting with no compression!</p>
<p> [+] Added new exception DidiSoft.Pgp.Exceptions.<strong>NonPGPDataException</strong>, that indicates that the input is not a valid OpenPGP message</p>
<p> Modified methods that throw <strong>NonPGPDataException</strong> :</p>
<p> [!] PGPLib.DecryptAndVerifyFile &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file    <br />
  [!] PGPLib.DecryptAndVerifyFilePBE &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.DecryptAndVerifyString &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input string is not a valid OpenPGP message<br />
  [!] PGPLib.DecryptFile &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.DecryptStream &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
  [!] PGPLib.DecryptBytes &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
  [!] PGPLib.DecryptString &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
  [!] PGPLib.DecryptTo &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.DecryptFilePBE &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.DecryptStreamInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.DecryptFileInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.DecryptStreamPBEInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.DecryptFilePBEInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.VerifyString &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
  [!] PGPLib.VerifyFile &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
  [!] PGPLib.VerifyStream &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
  [!] PGPLib.DecryptPBETo &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file</p>
<p> DidiSoft.Pgp.<strong>KeyPairInformation</strong> changes:<br />
  <br />
  [+] Added method KeyPairInformation.CheckPassword(password) &#8211;  checks if a password for a private key is correct<br />
  [+] Added property KeyPairInformation.IsExpired &#8211; returns if this key is expired<br />
  [+] Added method KeyPairInformation.IsExpiredOnDate(date) &#8211; returns whether this key will be expired on a given date</p>
<p> DidiSoft.Pgp.<strong>KeyStore</strong> changes:</p>
<p> [+] Added static method KeyStore.OpenInMemory() &#8211; creates an in memory KeyStore<br />
  [+] Added static method KeyStore.OpenFile(file, password) &#8211; equivalent to the constructor KeyStore(file, password) <br />
  [+] Added method KeyStore.IsInMemory &#8211; checks if this KeyStore is located in memory<br />
  [+] Added method KeyStore.GetSecretKeysData() &#8211; returns the private keys containing in this KeyStore serialized as bytes<br />
  [+] Added method KeyStore.GetPublicKeysData() &#8211; returns the public keys containing in this KeyStore serialized as bytes<br />
  [+] Added method KeyStore.GetPublicKeysWithUserId(userId) &#8211; returns the public keys with the specified userId serialized as bytes<br />
  [+] Added method KeyStore.GetPublicKeyWithKeyId(keyId) &#8211; returns the public keys with the specified keyId serialized as bytes<br />
  [!] KeyStore.ImportPublicKey now throws a WrongPublicKeyException if there is no public key in the input file<br />
  [!] KeyStore.ImportPrivateKey now throws a WrongPrivateKeyException if there is no private key in the input file<br />
  [+] Added overloaded method KeyStore.ImportPrivateKey(file)<br />
  [+] Added overloaded method KeyStore.ImportPrivateKey(file)<br />
  [+] Added method KeyStore.ExportPublicKeyStream(userId) &#8211; exports a public key into a Stream <br />
  [+] Added method KeyStore.ExportPublicKeyStream(keyId) &#8211; exports a public key into a Stream <br />
  [+] Added method KeyStore.LoadFromStream(stream) &#8211; suitable for loading a previously serialized in memory Keystore<br />
  [+] Added method KeyStore.SaveToStream(stream) &#8211; suitable for storing an in memory Keystore<br />
  [+] Added method KeyStore.CheckPassword(file, password) &#8211; checks if a password for a KeyStore is correct</p>
<p>[*] Fixed bug in PGPLib when encrypting with no compression!</p>
<p>[+] Added new exception DidiSoft.Pgp.Exceptions.NonPGPDataException, that indicates that the input is not a valid OpenPGP message</p>
<p>Modified methods that throw <em>NonPGPDataException</em> :</p>
<p>[!] PGPLib.DecryptAndVerifyFile &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file    <br />
 [!] PGPLib.DecryptAndVerifyFilePBE &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.DecryptAndVerifyString &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input string is not a valid OpenPGP message<br />
 [!] PGPLib.DecryptFile &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.DecryptStream &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
 [!] PGPLib.DecryptBytes &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
 [!] PGPLib.DecryptString &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
 [!] PGPLib.DecryptTo &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.DecryptFilePBE &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.DecryptStreamInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.DecryptFileInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.DecryptStreamPBEInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.DecryptFilePBEInFolder &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.VerifyString &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
 [!] PGPLib.VerifyFile &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file<br />
 [!] PGPLib.VerifyStream &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input data is not a valid OpenPGP message<br />
 [!] PGPLib.DecryptPBETo &#8211; throws DidiSoft.Pgp.Exceptions.NonPGPDataException if the input file is not a valid OpenPGP file</p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/net-openpgp-library/openpgp-library-for-net-1-7-2-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unknown KeySpec type ElGamalPrivateKeySpec</title>
		<link>http://www.didisoft.com/kb/unknown-keyspec-type-elgamalprivatekeyspec/</link>
		<comments>http://www.didisoft.com/kb/unknown-keyspec-type-elgamalprivatekeyspec/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 19:34:55 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[Java PGP]]></category>
		<category><![CDATA[Knowledge Base]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1335</guid>
		<description><![CDATA[Some customers that have deployed DidiSoft OpenPGP Library for Java as part of a web application, have noticed that the exception below is thrown when they perform a hot deploy on the application server: org.bouncycastle.openpgp.PGPException: Exception constructing key    at org.bouncycastle.openpgp.PGPSecretKey.extractPrivateKey(Unknown Source)    at org.bouncycastle.openpgp.PGPSecretKey.extractPrivateKey(Unknown Source) &#8230; Caused by: java.security.spec.InvalidKeySpecException: Unknown KeySpec type: org.bouncycastle.jce.spec.ElGamalPrivateKeySpec    [...]]]></description>
			<content:encoded><![CDATA[<p>Some customers that have deployed DidiSoft <a title="OpenPGP Library for Java" href="/products/java-openpgp-library/">OpenPGP Library for Java</a> as part of a web application, have noticed that the exception below is thrown when they perform a hot deploy on the application server:</p>
<p>org.bouncycastle.openpgp.PGPException: <strong>Exception constructing key</strong><br />
    at org.bouncycastle.openpgp.PGPSecretKey.extractPrivateKey(Unknown Source)<br />
    at org.bouncycastle.openpgp.PGPSecretKey.extractPrivateKey(Unknown Source)<br />
 &#8230;<br />
 Caused by: java.security.spec.InvalidKeySpecException: <strong>Unknown</strong> <strong>KeySpec type: org.bouncycastle.jce.spec.ElGamalPrivateKeySpec</strong><br />
    at org.bouncycastle.jce.provider.JDKKeyFactory.engineGeneratePrivate(Unknown Source)<br />
    at org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal.engineGeneratePrivate(Unknown Source)</p>
<p><strong><br />
 The reason</strong> for the above exceptions is that the library JAR files are bundled with the web application. Hence after an application is stopped/started, they are loaded in another class loader, while the BouncyCastle security provider is already registered with a class loader that is now unavailable (<em>has been destroyed after the web application has stopped</em>).</p>
<p><strong>The solution</strong> to this situation is to ship the application without the library JAR files.<br />
 They must be placed in a folder shared for all applications running on the Application server.</p>
<p> Below are listed the shared folders for some application servers.</p>
<p>Tomcat 5.x<br />
 &lt;tomcat folder&gt;/shared/lib/</p>
<p>Tomcat 6.x<br />
 $CATALINA_BASE/lib/</p>
<p>Web Sphere<br />
 &lt;was folder&gt;/lib</p>
<p>WebLogic<br />
 &lt;weblogic folder&gt;/common/lib</p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/kb/unknown-keyspec-type-elgamalprivatekeyspec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unknown object in stream 9</title>
		<link>http://www.didisoft.com/kb/unknown-object-in-stream-9/</link>
		<comments>http://www.didisoft.com/kb/unknown-object-in-stream-9/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 19:39:11 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[Java PGP]]></category>
		<category><![CDATA[Knowledge Base]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1320</guid>
		<description><![CDATA[This exception is equivalent to unknown object in stream SymmetricKeyEncrypted. Usually occurs when we try to decrypt a conventionally OpenPGP encrypted file (also known as password encrypted or PBE) that was created with PGP 2.x or McAfee E-Business Server 7.x. This issue has been addressed in OpenPGP Library for Java version 2.5.6 and upper and [...]]]></description>
			<content:encoded><![CDATA[<p>This exception is equivalent to <strong id="mf14"></strong><a href="/kb/unknown-object-in-stream-symmetrickeyencrypted/"><strong id="mf14">unknown object in stream SymmetricKeyEncrypted</strong></a>. Usually occurs when we try to decrypt a conventionally OpenPGP encrypted file (also known as password encrypted or PBE) that was created with PGP 2.x or McAfee E-Business Server 7.x.</p>
<p>This issue has been addressed in <a title="Java pgp sdk library" href="/products/java-openpgp-library/">OpenPGP Library for Java</a> version 2.5.6 and upper and <a title="c# and vb.net pgp api" href="/net-openpgp/">OpenPGP Library for .NET</a> 1.7.1 and upper versions. Please update your version in order to resolve this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/kb/unknown-object-in-stream-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Private key not compatible with PGP 6.5 and McAfee E-Business Server 7.1</title>
		<link>http://www.didisoft.com/kb/private-key-not-compatible-with-pgp-6-5-and-mcafee-e-busines/</link>
		<comments>http://www.didisoft.com/kb/private-key-not-compatible-with-pgp-6-5-and-mcafee-e-busines/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 11:36:00 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[Knowledge Base]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1263</guid>
		<description><![CDATA[DH/DSS Private keys created with new implementations of the OpenPGP specification like PGP Desktop 9 (r) and newer, and DidiSoft OpenPGP Library for Java and OpenPGP Library for .NET as well may raise exceptions. Such private key imports successfully in PGP Freeware 6.5.8, but when we try to decrypt a file with it the following [...]]]></description>
			<content:encoded><![CDATA[<p>DH/DSS Private keys created with new implementations of the OpenPGP specification like PGP Desktop 9 (r) and newer, and DidiSoft <a title="Java PGP Library" href="/products/java-openpgp-library/">OpenPGP Library for Java</a> and <a title=".NET pgp library" href="/net-openpgp/">OpenPGP Library for .NET</a> as well may raise exceptions.</p>
<p>Such private key imports successfully in <strong>PGP Freeware 6.5.8</strong>, but when we try to decrypt a file with it the following error message box is shows:</p>
<p><em>&#8220;PGP Error&#8221;</em><br />
 <em>&#8220;The passphrase you entered does not match any of the usable listed keys.&#8221;</em></p>
<p>The same key is imported within the <strong>McAfee E-Business Server 7.1</strong> key store but the following errors appear when we try to list the keys:</p>
<p><em>Internal error #896 in key list, could not read shared property -11418.</em><br />
 <em>Internal error #4548 in key list, could not set property -11418.</em></p>
<p>The simplest solution to the above situation is to generate the keys with the elder system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/kb/private-key-not-compatible-with-pgp-6-5-and-mcafee-e-busines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenPGP Library for Java 2.5.7 is ready</title>
		<link>http://www.didisoft.com/java-openpgp-library/openpgp-library-for-java-2-5-7-is-ready/</link>
		<comments>http://www.didisoft.com/java-openpgp-library/openpgp-library-for-java-2-5-7-is-ready/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 06:24:30 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[OpenPGP Library for Java]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1256</guid>
		<description><![CDATA[Version 2.5.7 of DidiSoft OpenPGP Library for Java is available for download. Existing customers can download the updated production version from our Customers&#8217; Service portal located at: http://www.didisoft.com/customers/ A key change in this release is that by default expired and revoked public keys are not accepted for encryption. If you still wish to use such [...]]]></description>
			<content:encoded><![CDATA[<p>Version 2.5.7 of DidiSoft <a title="Java PGP Library" href="/products/java-openpgp-library/">OpenPGP Library for Java</a> is available for download.</p>
<p>Existing customers can download the updated production version from our Customers&#8217; Service portal located at:<br />
<a href="http://www.didisoft.com/customers/">http://www.didisoft.com/customers/</a></p>
<p>A key change in this release is that by default expired and revoked public keys are not accepted for encryption. If you still wish to use such keys you will have to enable them by calling <strong>PGPLib.setUseExpiredKeys</strong>(true) and <strong>PGPLib.setUseRevokedKeys</strong>(true)</p>
<p>Below is the list of all changes in this release:</p>
<p> [*] : Bug<br />
 [+] : New<br />
 [-] : Removed<br />
 [!] : Modification</p>
<p>&#8212;&#8212;&#8211;</p>
<p>CHANGES:</p>
<p>
 [*] Fixed cleanup of half encrypted files after an exception for all methods. <br />
 [*] Fixed bug when importing keys from PGP 6.5 into a KeyStore</p>
<p> [!] KeyStore.importPrivateKey now throws also NoPrivateKeyFoundException (extends PGPException) <br />
    if the specified file does not contain a private key.</p>
<p> [+] Added method static KeyStore.checkPassword(keystoreFile, password) &#8211; checks is a given password for a keystore file correct.</p>
<p> [+] Added method PGPLib.decryptAndVerifyFileTo &#8211; decrypts a file content with its original name(s) into a folder<br />
 [+] Added method PGPLib.decryptAndVerifyStreamTo &#8211; decrypts a stream content with its original name(s) into a folder<br />
 [+] Added method PGPLib.setUseExpiredKeys(true) &#8211; switches on/off the check are the encryption keys expired<br />
 [+] Added method PGPLib.setUseRevokedKeys(true) &#8211; switches on/off the check are the encryption keys revoked<br />
 [+] Added method PGPLib.isUseExpiredKeys() &#8211; returns the state of the check are the encryption keys expired<br />
 [+] Added method PGPLib.isUseRevokedKeys() &#8211; returns the state of the check are the encryption keys revoked</p>
<p> [+] Added method KeyPairInformation.checkPassword(password) &#8211; checks is a given password for a private key correct.<br />
 [+] Added method KeyPairInformation.hasPrivateKey() &#8211; returns is there a private key in this key pair.<br />
 [+] Added method KeyPairInformation.isExpired() &#8211; indicates is the public key expired<br />
 [+] Added method KeyPairInformation.isExpiredOnDate(java.util.Date) &#8211; checks will the key be expired on a given date     </p>
<p> New Exceptions:</p>
<p> [+] Added class com.didisoft.pgp.exceptions.NonPGPDataException (extends PGPException)  <br />
    thrown from all decrypt and decryptAndVerify methods when the supplied for decryption data is not an OpenPGP message. </p>
<p> [+] Added class com.didisoft.pgp.exceptions.KeyIsExpiredException (extends PGPException)  <br />
    thrown from all encrypt and signAndEncrypt methods when the supplied public key is expired. <br />
    Can be suppressed with PGPLib.setUseExpiredKeys(true)</p>
<p> [+] Added class com.didisoft.pgp.exceptions.KeyIsRevokedException (extends PGPException)  <br />
    thrown from all encrypt and signAndEncrypt methods when the supplied public key is revoked. <br />
    Can be suppressed with PGPLib.setUseRevokedKeys(true)</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/java-openpgp-library/openpgp-library-for-java-2-5-7-is-ready/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>McAfee EBusiness Server 7.1 error -11391</title>
		<link>http://www.didisoft.com/kb/mcafee-ebusiness-server-7-1-error-11391/</link>
		<comments>http://www.didisoft.com/kb/mcafee-ebusiness-server-7-1-error-11391/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 10:06:32 +0000</pubDate>
		<dc:creator>nasko</dc:creator>
				<category><![CDATA[.NET PGP]]></category>
		<category><![CDATA[Java PGP]]></category>
		<category><![CDATA[Knowledge Base]]></category>

		<guid isPermaLink="false">http://www.didisoft.com/?p=1250</guid>
		<description><![CDATA[If you encrypt data for recipients that use McAfee EBusiness Server 7.1 you may receive complaints that they cannot decrypt the file. Below is a common log if the other party uses info level VERBOSE (with command line parameter &#8211;info VERBOSE or in the pgp.cfg file): Enter pass phrase: event 23: Decryption symmetric cipher used: [...]]]></description>
			<content:encoded><![CDATA[<p>If you encrypt data for recipients that use <strong>McAfee EBusiness Server 7.1</strong> you may receive complaints that they cannot decrypt the file. Below is a common log if the other party uses info level VERBOSE (<em>with command line parameter &#8211;info VERBOSE or in the pgp.cfg file</em>):</p>
<p><em>Enter pass phrase:</em><br />
 <em>event 23: Decryption</em></p>
<p><em>symmetric cipher used: CAST5</em><br />
 <em>event 3: <strong>error -11391</strong></em><br />
 <em>event 2: final</em><br />
 <em>Error decrypting file &#8216;test.pgp&#8217;.</em><br />
 <em>Corrupt data.</em><br />
 <em>bad packet</em></p>
<p><em>exitcode = 32</em></p>
<p>In order to create compatible encrypted messages with DidiSoft <a title="PGP for C# and VB.NET" href="/net-openpgp/">OpenPGP Library for .NET</a> and <a title="Java PGP Library" href="/products/java-openpgp-library/">OpenPGP Library for Java</a>, please set explicitly the <strong><em>PGPLib</em></strong> class to use  <strong>ZIP compression</strong><em></em> before encrypting (<em>if you have changed it to something else</em>). Refer to the online documentation below for examples how to do it:</p>
<p><a href="/examples/set-compression/">Set compression in OpenPGP Library for Java</a></p>
<p><a href="/net-openpgp/set-compression/">Set compression in OpenPGP Library for .NET</a></p>
<p><a title="Contact DidiSoft" href="/support/">Drop us a line</a> if your recipients have trouble decrypting a file that you have encrypted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.didisoft.com/kb/mcafee-ebusiness-server-7-1-error-11391/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

