<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/jackcessencrypt/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/jackcessencrypt/bugs/</id><updated>2025-11-20T23:36:02.118000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>#9 Update OfficeCryptCodecHandler encodingKey comments</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/9/?limit=25#835d" rel="alternate"/><published>2025-11-20T23:36:02.118000Z</published><updated>2025-11-20T23:36:02.118000Z</updated><author><name>James Ahlborn</name><uri>https://sourceforge.net/u/jahlborn/</uri></author><id>https://sourceforge.net696fc482a8a243d9c46fcb7d879cb0471f738b09</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>Update OfficeCryptCodecHandler encodingKey comments</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/9/" rel="alternate"/><published>2025-11-19T23:51:51.678000Z</published><updated>2025-11-19T23:51:51.678000Z</updated><author><name>Yingtong Li</name><uri>https://sourceforge.net/u/runassudo/</uri></author><id>https://sourceforge.netf0605f489b09b870fd77970d126684c008e35954</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;As discussed at &lt;a href="https://sourceforge.net/p/jackcessencrypt/discussion/general/thread/833fd8bfea/"&gt;https://sourceforge.net/p/jackcessencrypt/discussion/general/thread/833fd8bfea/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This patch updates the comment in OfficeCryptCodecHandler to note that the value of the encoding key is used in encryption. This patch also updates the comment in AgileEncryptionProvider to note that this behaviour is different to what is described in the official Microsoft docs.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="gh"&gt;Index: src/main/java/com/healthmarketscience/jackcess/crypt/impl/OfficeCryptCodecHandler.java&lt;/span&gt;
&lt;span class="gh"&gt;===================================================================&lt;/span&gt;
&lt;span class="gd"&gt;--- src/main/java/com/healthmarketscience/jackcess/crypt/impl/OfficeCryptCodecHandler.java  (revision 199)&lt;/span&gt;
&lt;span class="gi"&gt;+++ src/main/java/com/healthmarketscience/jackcess/crypt/impl/OfficeCryptCodecHandler.java  (working copy)&lt;/span&gt;
&lt;span class="gu"&gt;@@ -65,8 +65,8 @@&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;    ByteBuffer buffer = readHeaderPage(channel);
&lt;span class="w"&gt; &lt;/span&gt;    JetFormat format = channel.getFormat();

&lt;span class="gd"&gt;-    // the encoding key indicates whether or not the db is encoded (but is&lt;/span&gt;
&lt;span class="gd"&gt;-    // otherwise meaningless?)&lt;/span&gt;
&lt;span class="gi"&gt;+    // a non-zero encoding key indicates the db is encoded - will be passed to&lt;/span&gt;
&lt;span class="gi"&gt;+    // BaseCryptCodecHandler constructor for use in encryption&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;    byte[] encodingKey = ByteUtil.getBytes(
&lt;span class="w"&gt; &lt;/span&gt;        buffer, format.OFFSET_ENCODING_KEY,
&lt;span class="w"&gt; &lt;/span&gt;        JetCryptCodecHandler.ENCODING_KEY_LENGTH);
&lt;span class="gh"&gt;Index: src/main/java/com/healthmarketscience/jackcess/crypt/impl/office/AgileEncryptionProvider.java&lt;/span&gt;
&lt;span class="gh"&gt;===================================================================&lt;/span&gt;
&lt;span class="gd"&gt;--- src/main/java/com/healthmarketscience/jackcess/crypt/impl/office/AgileEncryptionProvider.java   (revision 199)&lt;/span&gt;
&lt;span class="gi"&gt;+++ src/main/java/com/healthmarketscience/jackcess/crypt/impl/office/AgileEncryptionProvider.java   (working copy)&lt;/span&gt;
&lt;span class="gu"&gt;@@ -132,7 +132,9 @@&lt;/span&gt;

&lt;span class="w"&gt; &lt;/span&gt;  @Override
&lt;span class="w"&gt; &lt;/span&gt;  protected ParametersWithIV computeCipherParams(int pageNumber) {
&lt;span class="gd"&gt;-    // when actually decrypting pages, we incorporate the "encoding key"&lt;/span&gt;
&lt;span class="gi"&gt;+    // OC: 2.3.4.15 says to use the zero-based segment number alone as block&lt;/span&gt;
&lt;span class="gi"&gt;+    // key, but this is incorrect for MS Access - when actually decrypting&lt;/span&gt;
&lt;span class="gi"&gt;+    // pages, we also incorporate the "encoding key"&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;    byte[] blockBytes = getEncodingKey(pageNumber);

&lt;span class="w"&gt; &lt;/span&gt;    CTKeyData keyData = _encryptDesc.getKeyData();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</summary></entry><entry><title>Update OfficeCryptCodecHandler encodingKey comments</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/9/" rel="alternate"/><published>2025-11-19T23:51:51.678000Z</published><updated>2025-11-19T23:51:51.678000Z</updated><author><name>Yingtong Li</name><uri>https://sourceforge.net/u/runassudo/</uri></author><id>https://sourceforge.net850f91682da2f3901428134934332474959e2288</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 9 has been modified: Update OfficeCryptCodecHandler encodingKey comments&lt;br/&gt;
Edited By: James Ahlborn (jahlborn)&lt;br/&gt;
Status updated: 'open' =&amp;gt; 'closed'&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#8 Using Jackcess Encrypt in OSGi fails due to not exported .impl</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/8/?limit=25#3c3a" rel="alternate"/><published>2017-10-03T01:25:26.907000Z</published><updated>2017-10-03T01:25:26.907000Z</updated><author><name>James Ahlborn</name><uri>https://sourceforge.net/u/jahlborn/</uri></author><id>https://sourceforge.net8cd35c725746dbda880bfd1f9e648f36b0f92187</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;: Unassigned --&amp;gt; 2.1.4&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#8 Using Jackcess Encrypt in OSGi fails due to not exported .impl</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/8/?limit=25#6a60/96eb/e308/1547" rel="alternate"/><published>2017-10-03T01:10:01.188000Z</published><updated>2017-10-03T01:10:01.188000Z</updated><author><name>James Ahlborn</name><uri>https://sourceforge.net/u/jahlborn/</uri></author><id>https://sourceforge.net4d93e1e4185db9b2773c460dd317924b9544f803</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;So here's my plan:&lt;br/&gt;
&lt;em&gt; remove some of the unneeded cruft from the Export-Package (only needs the "main" package)&lt;br/&gt;
&lt;/em&gt; add a Fragment-Host with the value of "com.healthmarketscience.jackcess"&lt;br/&gt;
* add the util class i described in an earlier comment to the com.healthmarketscience.jackcess package&lt;/p&gt;
&lt;p&gt;i have no idea how java 9 plays into all of this.  a quck read of that link makes it sound like everything on the classpath is a single module, so no problems.  i guess if you embrace modules, though, there could be problems.  java 9 is going to be a migration nightmare for everyone.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#8 Using Jackcess Encrypt in OSGi fails due to not exported .impl</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/8/?limit=25#7089" rel="alternate"/><published>2017-10-02T13:34:54.532000Z</published><updated>2017-10-02T13:34:54.532000Z</updated><author><name>James Ahlborn</name><uri>https://sourceforge.net/u/jahlborn/</uri></author><id>https://sourceforge.net38674f845c55c788bbad8a48f68f337e43188b98</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket moved from /p/jackcess/bugs/140/&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#7 ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/7/?limit=25#488d" rel="alternate"/><published>2017-08-14T20:00:34.091000Z</published><updated>2017-08-14T20:00:34.091000Z</updated><author><name>David</name><uri>https://sourceforge.net/u/dvandegr/</uri></author><id>https://sourceforge.netbc0083e08190c2cc692c9a46f6a3383964cb14b0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;That did the trick. Thanks for the quick turn around!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#7 ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/7/?limit=25#a30a" rel="alternate"/><published>2017-08-11T13:43:56.985000Z</published><updated>2017-08-11T13:43:56.985000Z</updated><author><name>James Ahlborn</name><uri>https://sourceforge.net/u/jahlborn/</uri></author><id>https://sourceforge.net2b2cbfe5b3c0dcb8d5354ec0893adc99eb005e3b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;: Unassigned --&amp;gt; 2.1.3&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#7 ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/7/?limit=25#25aa" rel="alternate"/><published>2017-08-11T12:42:29.697000Z</published><updated>2017-08-11T12:42:29.697000Z</updated><author><name>James Ahlborn</name><uri>https://sourceforge.net/u/jahlborn/</uri></author><id>https://sourceforge.net0f7cd217cb87e933db90f8a4db256cb09af112c3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hmm, must have been a bad release!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector</title><link href="https://sourceforge.net/p/jackcessencrypt/bugs/7/" rel="alternate"/><published>2017-08-10T20:25:37.410000Z</published><updated>2017-08-10T20:25:37.410000Z</updated><author><name>David</name><uri>https://sourceforge.net/u/dvandegr/</uri></author><id>https://sourceforge.net0d2c62c63fcf77567d7831dae99798c879c7d0c1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 7 has been modified: ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector&lt;br/&gt;
Edited By: James Ahlborn (jahlborn)&lt;br/&gt;
Status updated: u'open' =&amp;gt; u'closed'&lt;br/&gt;
_milestone updated: u'Unassigned' =&amp;gt; u'2.1.3'&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>