Skip to content

Commit 0564fd7

Browse files
committed
Update test to ignore OS specific flag
Due to internal changes of the JDK the OS flag value of the gzip header changed. This caused an unexpected base64 to be generated. This fix ignores the OS specific flag when verifying the signature. DEVSIX-7177
1 parent 106688f commit 0564fd7

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

commons/src/test/java/com/itextpdf/commons/utils/Base64Test.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,30 @@ public void testEncodeObjectForNullObject() {
3939

4040
@Test
4141
public void testDecodeForSourceIsEmptyArray() {
42-
Assert.assertEquals("", Base64.encodeBytes(new byte[]{}));
42+
Assert.assertEquals("", Base64.encodeBytes(new byte[] {}));
4343
}
4444

4545
@Test
4646
public void testDecodeForSourceIsEmptyArrayGzip() {
47-
Assert.assertEquals("H4sIAAAAAAAAAAMAAAAAAAAAAAA=", Base64.encodeBytes(new byte[]{}, Base64.GZIP));
47+
//HEADER FOOTER example of signatures that can be generated
48+
//H4sIAAAAAAAAAAMAAAAAAAAAAAA= 1f 8b 08 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 // windows
49+
//H4sIAAAAAAAA/wMAAAAAAAAAAAA= 1f 8b 08 00 00 00 00 00 00 ff 03 00 00 00 00 00 00 00 00 00 // unknown
50+
//H4sIAAAAAAAAAwMAAAAAAAAAAAA= 1f 8b 08 00 00 00 00 00 00 03 03 00 00 00 00 00 00 00 00 00 // linux
51+
//H4sIAAAAAAAAAgMAAAAAAAAAAAA= 1f 8b 08 00 00 00 00 00 00 02 03 00 00 00 00 00 00 00 00 00 // vms
52+
final String expectedHeaderWithoutOsFlag = "H4sIAAAAAAAA";
53+
final String expectedFooter = "MAAAAAAAAAAAA=";
54+
final int startIndexHeader = 0;
55+
final int endIndexHeaderWithoutOsFlag = 12;
56+
final int startIndexFooter = 14;
57+
final int endIndexFooter = 28;
58+
59+
String generatedBase64 = Base64.encodeBytes(new byte[] {}, Base64.GZIP);
60+
61+
String generatedHeader = generatedBase64.substring(startIndexHeader, endIndexHeaderWithoutOsFlag);
62+
String generatedFooter = generatedBase64.substring(startIndexFooter, endIndexFooter);
63+
64+
Assert.assertEquals(expectedHeaderWithoutOsFlag, generatedHeader);
65+
Assert.assertEquals(expectedFooter, generatedFooter);
4866
}
4967

5068
}

0 commit comments

Comments
 (0)