<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic [resolved] Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269393#M47656</link>
    <description>Hi, 
&lt;BR /&gt;I developed some piece of code which implements AES-256 symetric cipher in CBC mode. I needed to replace the policy files of Java runtime. You need this to use keys bigger than 128 bits. So I did this, I configured both eclipse and talend runtime environment in the same way. But when I copy my fully functional code from Eclipse Java project into Talend Routine and try to run crypto methods with key bigger more than 128 bits, it throws an exception on Illegal key size, which means that it is using the standard policy files. But the IDE is configured to use JAVA_HOME with already updated policy files. 
&lt;BR /&gt;I will be glad for any suggestion. Of course the workaround is to use 128-bit length key instead of the 256-bit one, but it doesn't make any sence to me. Why 2 environments configured in the same way work in one case and doesn't work in the second one. 
&lt;BR /&gt;Seems like Talend has it's own library and maybe replace these library files in run-time. Could it be that case? Could Talend act like this? 
&lt;BR /&gt;Thank you very much. 
&lt;BR /&gt;This is the piece of code which test environment for Unlimited Stregth Jurisdiction&amp;gt; 
&lt;BR /&gt; 
&lt;PRE&gt;	public static void testEnvironment() &lt;BR /&gt;	throws &lt;BR /&gt;	NoSuchAlgorithmException,&lt;BR /&gt;	NoSuchPaddingException, &lt;BR /&gt;	GeneralSecurityException &lt;BR /&gt;	{&lt;BR /&gt;		&lt;BR /&gt;		// 64bits testing data block&lt;BR /&gt;		byte[] data = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };&lt;BR /&gt;		// 128bit key&lt;BR /&gt;		SecretKey key128 = new SecretKeySpec(new byte[] { 0x00, 0x01, 0x02,&lt;BR /&gt;				0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,&lt;BR /&gt;				0x0d, 0x0e, 0x0f }, ALGORITHM);&lt;BR /&gt;		// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		Cipher cipher = Cipher.getInstance(ALGORITHM + "/" + BLOCK_MODE + "/" + PADDING);&lt;BR /&gt;		cipher.init(Cipher.ENCRYPT_MODE, key128, CBC_SALT);&lt;BR /&gt;		cipher.doFinal(data);&lt;BR /&gt;		System.out.println("128-bit test: O.K.");&lt;BR /&gt;                // 192bit key&lt;BR /&gt;		// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		SecretKey key192 = new SecretKeySpec(new byte[] { 0x00, 0x01, 0x02,&lt;BR /&gt;				0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,&lt;BR /&gt;				0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,&lt;BR /&gt;				0x17 }, ALGORITHM);&lt;BR /&gt; 		// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		cipher.init(Cipher.ENCRYPT_MODE, key192, CBC_SALT);&lt;BR /&gt;		cipher.doFinal(data);&lt;BR /&gt;		System.out.println("192-bit test: O.K.");&lt;BR /&gt;                // 256key&lt;BR /&gt;		SecretKey key256 = new SecretKeySpec(new byte[] { 0x00, 0x01, 0x02,&lt;BR /&gt;				0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,&lt;BR /&gt;				0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,&lt;BR /&gt;				0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f },&lt;BR /&gt;				ALGORITHM);&lt;BR /&gt;         	// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		cipher.init(Cipher.ENCRYPT_MODE, key256, CBC_SALT);&lt;BR /&gt;		cipher.doFinal(data);&lt;BR /&gt;		System.out.println("256-bit test: O.K.");&lt;BR /&gt;		System.out.println("Testing of JCE restriction ended.");&lt;BR /&gt;		cipher = null;&lt;BR /&gt;	}&lt;/PRE&gt; 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Ladislav Jech</description>
    <pubDate>Sat, 16 Nov 2024 13:06:14 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2024-11-16T13:06:14Z</dc:date>
    <item>
      <title>[resolved] Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269393#M47656</link>
      <description>Hi, 
&lt;BR /&gt;I developed some piece of code which implements AES-256 symetric cipher in CBC mode. I needed to replace the policy files of Java runtime. You need this to use keys bigger than 128 bits. So I did this, I configured both eclipse and talend runtime environment in the same way. But when I copy my fully functional code from Eclipse Java project into Talend Routine and try to run crypto methods with key bigger more than 128 bits, it throws an exception on Illegal key size, which means that it is using the standard policy files. But the IDE is configured to use JAVA_HOME with already updated policy files. 
&lt;BR /&gt;I will be glad for any suggestion. Of course the workaround is to use 128-bit length key instead of the 256-bit one, but it doesn't make any sence to me. Why 2 environments configured in the same way work in one case and doesn't work in the second one. 
&lt;BR /&gt;Seems like Talend has it's own library and maybe replace these library files in run-time. Could it be that case? Could Talend act like this? 
&lt;BR /&gt;Thank you very much. 
&lt;BR /&gt;This is the piece of code which test environment for Unlimited Stregth Jurisdiction&amp;gt; 
&lt;BR /&gt; 
&lt;PRE&gt;	public static void testEnvironment() &lt;BR /&gt;	throws &lt;BR /&gt;	NoSuchAlgorithmException,&lt;BR /&gt;	NoSuchPaddingException, &lt;BR /&gt;	GeneralSecurityException &lt;BR /&gt;	{&lt;BR /&gt;		&lt;BR /&gt;		// 64bits testing data block&lt;BR /&gt;		byte[] data = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };&lt;BR /&gt;		// 128bit key&lt;BR /&gt;		SecretKey key128 = new SecretKeySpec(new byte[] { 0x00, 0x01, 0x02,&lt;BR /&gt;				0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,&lt;BR /&gt;				0x0d, 0x0e, 0x0f }, ALGORITHM);&lt;BR /&gt;		// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		Cipher cipher = Cipher.getInstance(ALGORITHM + "/" + BLOCK_MODE + "/" + PADDING);&lt;BR /&gt;		cipher.init(Cipher.ENCRYPT_MODE, key128, CBC_SALT);&lt;BR /&gt;		cipher.doFinal(data);&lt;BR /&gt;		System.out.println("128-bit test: O.K.");&lt;BR /&gt;                // 192bit key&lt;BR /&gt;		// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		SecretKey key192 = new SecretKeySpec(new byte[] { 0x00, 0x01, 0x02,&lt;BR /&gt;				0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,&lt;BR /&gt;				0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,&lt;BR /&gt;				0x17 }, ALGORITHM);&lt;BR /&gt; 		// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		cipher.init(Cipher.ENCRYPT_MODE, key192, CBC_SALT);&lt;BR /&gt;		cipher.doFinal(data);&lt;BR /&gt;		System.out.println("192-bit test: O.K.");&lt;BR /&gt;                // 256key&lt;BR /&gt;		SecretKey key256 = new SecretKeySpec(new byte[] { 0x00, 0x01, 0x02,&lt;BR /&gt;				0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,&lt;BR /&gt;				0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,&lt;BR /&gt;				0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f },&lt;BR /&gt;				ALGORITHM);&lt;BR /&gt;         	// sipher initialization and try to crypt data block with specified key&lt;BR /&gt;		cipher.init(Cipher.ENCRYPT_MODE, key256, CBC_SALT);&lt;BR /&gt;		cipher.doFinal(data);&lt;BR /&gt;		System.out.println("256-bit test: O.K.");&lt;BR /&gt;		System.out.println("Testing of JCE restriction ended.");&lt;BR /&gt;		cipher = null;&lt;BR /&gt;	}&lt;/PRE&gt; 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Ladislav Jech</description>
      <pubDate>Sat, 16 Nov 2024 13:06:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269393#M47656</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T13:06:14Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269394#M47657</link>
      <description>So I got deeper into this issue and found that there is also internal library in TOS at &amp;lt;TOS_DIRECTORY&amp;gt;/lib/java/ where are also loaded all required java libraries, I think this is done by talend engine. So I will try to replace the libraries here and see the result.&lt;BR /&gt;Ladislav</description>
      <pubDate>Tue, 08 Feb 2011 19:09:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269394#M47657</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-02-08T19:09:09Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269395#M47658</link>
      <description>Hmm, it seems that correct libraries are loaded into the engine as following:
&lt;BR /&gt;local_policy.jar file includes definition in default_local.policy
&lt;BR /&gt;
&lt;PRE&gt;// Country-specific policy file for countries with no limits on crypto strength.&lt;BR /&gt;grant {&lt;BR /&gt;    // There is no restriction to any algorithms.&lt;BR /&gt;    permission javax.crypto.CryptoAllPermission; &lt;BR /&gt;};&lt;/PRE&gt;
&lt;BR /&gt;and US_export_policy.jar includes definition in default_US_export.policy
&lt;BR /&gt;
&lt;PRE&gt;// Manufacturing policy file.&lt;BR /&gt;grant {&lt;BR /&gt;    // There is no restriction to any algorithms.&lt;BR /&gt;    permission javax.crypto.CryptoAllPermission; &lt;BR /&gt;};&lt;/PRE&gt;
&lt;BR /&gt;So in the engine folder correct libraries are loaded, but when I try to use keysize bigger than 128 bits, in both 32 and 64 version of TOS the result is still error:
&lt;BR /&gt;
&lt;PRE&gt;Starting job TestJCE at 20:42 08/02/2011.&lt;BR /&gt; connecting to socket on port 3700&lt;BR /&gt; connected&lt;BR /&gt;Exception in component tJava_1&lt;BR /&gt;java.security.InvalidKeyException: Illegal key size&lt;BR /&gt;	at javax.crypto.Cipher.a(DashoA13*..)&lt;BR /&gt;	at javax.crypto.Cipher.init(DashoA13*..)&lt;BR /&gt;	at javax.crypto.Cipher.init(DashoA13*..)&lt;BR /&gt;	at routines.DesifrovatHeslo.testProstredi(DesifrovatHeslo.java:270)&lt;BR /&gt;	at fnkv_ip.testjce_0_1.TestJCE.tJava_1Process(TestJCE.java:235)&lt;BR /&gt;	at fnkv_ip.testjce_0_1.TestJCE.runJobInTOS(TestJCE.java:447)&lt;BR /&gt;	at fnkv_ip.testjce_0_1.TestJCE.main(TestJCE.java:318)&lt;BR /&gt;128-bit test: O.K. - &lt;B&gt;this is ok, this always run with standard libraries&lt;/B&gt;&lt;BR /&gt; disconnected&lt;BR /&gt;Job TestJCE ended at 20:42 08/02/2011. &lt;/PRE&gt;
&lt;BR /&gt;This is really strange. I see the workaround just now only with create external jar in which I will package the required libraries directly and than this JAR include in Talend project. 
&lt;BR /&gt;Ladislav</description>
      <pubDate>Tue, 08 Feb 2011 19:47:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269395#M47658</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-02-08T19:47:27Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269396#M47659</link>
      <description>Some progress, I have now the routine in Talend which checks for JCE Unlimited Strength Jurisdictions&amp;gt; 
&lt;BR /&gt; 
&lt;PRE&gt;package routines;&lt;BR /&gt;import java.security.NoSuchAlgorithmException;&lt;BR /&gt;import java.security.Security;&lt;BR /&gt;import java.util.Set;&lt;BR /&gt;import javax.crypto.Cipher;&lt;BR /&gt;public class TestovatJCE {&lt;BR /&gt;    public static void JCE(){&lt;BR /&gt;    	try {&lt;BR /&gt;			Set&amp;lt;String&amp;gt; algorithms = Security.getAlgorithms("Cipher");&lt;BR /&gt;			for(String algorithm: algorithms) {&lt;BR /&gt;			    int max;&lt;BR /&gt;				max = Cipher.getMaxAllowedKeyLength(algorithm);&lt;BR /&gt;			    System.out.printf("%-22s: %dbit%n", algorithm, max);&lt;BR /&gt;			}&lt;BR /&gt;		} catch (NoSuchAlgorithmException e) {&lt;BR /&gt;			e.printStackTrace();&lt;BR /&gt;		}&lt;BR /&gt;    }&lt;BR /&gt;}&lt;/PRE&gt; 
&lt;BR /&gt;The result in Talend console is following&amp;gt; 
&lt;BR /&gt; 
&lt;PRE&gt;Starting job TestJCE at 09:43 09/02/2011.&lt;BR /&gt; connecting to socket on port 3384&lt;BR /&gt; connected&lt;BR /&gt;BLOWFISH              : 128bit&lt;BR /&gt;ARCFOUR               : 128bit&lt;BR /&gt;PBEWITHMD5ANDDES      : 128bit&lt;BR /&gt;RC2                   : 128bit&lt;BR /&gt;RSA                   : 2147483647bit&lt;BR /&gt;PBEWITHMD5ANDTRIPLEDES: 128bit&lt;BR /&gt;PBEWITHSHA1ANDDESEDE  : 128bit&lt;BR /&gt;DESEDE                : 2147483647bit&lt;BR /&gt;AESWRAP               : 128bit&lt;BR /&gt;AES                   : 128bit&lt;BR /&gt;DES                   : 64bit&lt;BR /&gt;DESEDEWRAP            : 128bit&lt;BR /&gt;PBEWITHSHA1ANDRC2_40  : 128bit&lt;BR /&gt; disconnected&lt;BR /&gt;Job TestJCE ended at 09:43 09/02/2011. &lt;/PRE&gt; 
&lt;BR /&gt;So this is finally the fact, that still the standard cryptography libraries are used, in my case "AES : 128bit" tells me that max key size for AES cipher is 128bits. This is good to know, so I can continue with telling the engine use new libraries. 
&lt;BR /&gt;I am going now to install new JDK 1.6.0_23 and will continue to test this functionality in new JRE. 
&lt;BR /&gt;Ladislav</description>
      <pubDate>Wed, 09 Feb 2011 08:51:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269396#M47659</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-02-09T08:51:08Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269397#M47660</link>
      <description>So, finally I got this working. It seem to be a BUG if I compare the behavior of Talend and Eclipse. Where was the root cause??? I use Ubuntu, Debian based system, where you could install for some command it's alternatives. For example it supports have installed more than one JDK, and use: 
&lt;BR /&gt;- The one JDK manually selected 
&lt;BR /&gt;- The one JDK automatically selected based on alternatives JDK 
&lt;BR /&gt;So, even If I configure manually in Talend the compilation/execution environment (/myJavaEnvironmentPath/, it seems that the compilation part of Talend uses the one which is configured as default on my system itself, where the current JVM was linked to standard debian like folder /usr/lib/jvm/sun-6-jdk/.... 
&lt;BR /&gt;So there is integrated the linux system tool called update-alternates where one could call it with --install option, etc....or to do it in some more user friendly way I installed tool called galternates (sudo apt-get install galternates) which is gnome panel based application where one could define all the system JAVA related object paths for: 
&lt;BR /&gt;- java 
&lt;BR /&gt;- java_vm - this is the one I think most important in my case, I defined the path as /development/Java/jdk1.6.0_23/jre/bin/java_vm, but I defined all here listed objects 
&lt;BR /&gt;- javac 
&lt;BR /&gt;- javadoc 
&lt;BR /&gt;- javah 
&lt;BR /&gt;- javap 
&lt;BR /&gt;- javaws 
&lt;BR /&gt;- jconsole 
&lt;BR /&gt;- jcontrol 
&lt;BR /&gt;- jdb 
&lt;BR /&gt;- jexec 
&lt;BR /&gt;- jhat 
&lt;BR /&gt;- jinfo 
&lt;BR /&gt;- jmap 
&lt;BR /&gt;- jps 
&lt;BR /&gt;- jrunscript 
&lt;BR /&gt;- jsadebugd 
&lt;BR /&gt;- jstack 
&lt;BR /&gt;- jstat 
&lt;BR /&gt;- jstatd 
&lt;BR /&gt;Well, after this, without needed any restart when I restarted the Talend, the result of my JCE Unlimited Strength Jurisdiction result is as following: 
&lt;BR /&gt; 
&lt;PRE&gt;Starting job TestJCE at 11:20 09/02/2011.&lt;BR /&gt; connecting to socket on port 3426&lt;BR /&gt; connected&lt;BR /&gt;BLOWFISH              : 2147483647bit&lt;BR /&gt;ARCFOUR               : 2147483647bit&lt;BR /&gt;PBEWITHMD5ANDDES      : 2147483647bit&lt;BR /&gt;RC2                   : 2147483647bit&lt;BR /&gt;RSA                   : 2147483647bit&lt;BR /&gt;PBEWITHMD5ANDTRIPLEDES: 2147483647bit&lt;BR /&gt;PBEWITHSHA1ANDDESEDE  : 2147483647bit&lt;BR /&gt;DESEDE                : 2147483647bit&lt;BR /&gt;AESWRAP               : 2147483647bit&lt;BR /&gt;AES                   : 2147483647bit&lt;BR /&gt;DES                   : 2147483647bit&lt;BR /&gt;DESEDEWRAP            : 2147483647bit&lt;BR /&gt;PBEWITHSHA1ANDRC2_40  : 2147483647bit&lt;BR /&gt; disconnected&lt;BR /&gt;Job TestJCE ended at 11:20 09/02/2011. &lt;/PRE&gt; 
&lt;BR /&gt;The result means that there is used the unlimited key length for all the ciphers listed...or more preciselly I could say that the max length is 2147483647bit, there is always a limit &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; 
&lt;BR /&gt;So finally I got this working in a way, and will report a bug to check the Talend behavior against Eclipse. 
&lt;BR /&gt; 
&lt;B&gt;NOTE: the bug link is at &lt;A href="http://www.talendforge.org/bugs/view.php?id=18811" rel="nofollow noopener noreferrer"&gt;http://www.talendforge.org/bugs/view.php?id=18811&lt;/A&gt;&lt;/B&gt; 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Ladislav</description>
      <pubDate>Wed, 09 Feb 2011 11:40:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269397#M47660</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-02-09T11:40:08Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269398#M47661</link>
      <description>Hm, because some other people tried to use cryptography in Talend, I will post this demonstration of AES(Rijndael) with 256-bit key in CBC mode. This code you could tailore into Talend subroutine and use on your own. Maybe something like this will be implemented in a way of Talend component and you will be able to encrypt data from the design point of view...hope it helps... 
  &lt;BR /&gt;Ladislav 
  &lt;BR /&gt; 
  &lt;PRE&gt;package org.archenroot.crypto.aes;&lt;BR /&gt;/*&lt;BR /&gt; * @(#)EncryptString.java&lt;BR /&gt; *&lt;BR /&gt; * Summary: 	Application for encrypt string variables. &lt;BR /&gt; *		AES(Rijndael) with 256-bit key in CBC mode.&lt;BR /&gt; *		This is just a demonstration piece of code.&lt;BR /&gt; *&lt;BR /&gt; * Copyright: 	(C) 2009-2011 &lt;BR /&gt; *&lt;BR /&gt; * Licence: MIT&lt;BR /&gt; * Copyright (c) 2011 Ladislav Jech&lt;BR /&gt; * &lt;BR /&gt; * Permission is hereby granted, free of charge, to any person&lt;BR /&gt; * obtaining a copy of this software and associated documentation&lt;BR /&gt; * files (the "Software"), to deal in the Software without&lt;BR /&gt; * restrictio&lt;/PRE&gt;
 &lt;BR /&gt;&lt;BR /&gt;To see the whole post, download it &lt;A href="https://community.qlik.com/legacyfs/online/tlnd_dw_files/0683p000009MdDl"&gt;here&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://community.qlik.com/legacyfs/online/tlnd_dw_files/0683p000009MdDl"&gt;OriginalPost.pdf&lt;/A&gt;</description>
      <pubDate>Thu, 01 Dec 2011 23:37:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-Java-Cryptography-Extension-JCE-Unlimited-Strength/m-p/2269398#M47661</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-12-01T23:37:32Z</dc:date>
    </item>
  </channel>
</rss>

