| Home » Language IDEs » Java Development Tools (JDT) » Algorithm PBEWithMD5AndDES not available.
 Goto Forum:| 
| Algorithm PBEWithMD5AndDES not available. [message #104897] | Wed, 15 October 2003 00:28  |  | 
| Eclipse User  |  |  |  |  | Originally posted by: sordell.financialengines.com 
 I give up.
 
 None of the articles in the newgroups seem to help. And none of the articles
 on the web seem to help either.
 
 Here is my environemnt:
 
 jdk1.4.1_02
 Eclipse 2.1.0
 JRun 3.1
 W2K SP4
 US_export_policy.jar (strong encryption)
 local_policy.jar (strong encryption)
 java.security (security.provider.4=com.sun.crypto.provider.SunJCE)
 java.policy (unmodified)
 
 The following program works fine from the command line:
 
 import java.security.spec.KeySpec;
 
 import javax.crypto.spec.PBEKeySpec;
 
 import javax.crypto.SecretKey;
 import javax.crypto.SecretKeyFactory;
 
 public class FeCreateSessionKey
 {
 private static final String PBE_ALG = "PBEWithMD5AndDES";
 
 public static void main(String[] args)
 {
 try
 {
 KeySpec ks = new PBEKeySpec("fepassword".toCharArray());
 SecretKeyFactory skf = SecretKeyFactory.getInstance(PBE_ALG); <=
 This is the line that fails where PBE_ALG is set to PBEWithMD5AndDES (PBE
 alone also did not work) ...
 SecretKey sk = skf.generateSecret(ks);
 }
 catch(Exception e)
 {
 e.printStackTrace();
 }
 }
 }
 
 The same three lines in our application which is configured to run as a JRun
 server inside of Eclipse throws an exception each and every time:
 
 Algorithm PBEWithMD5AndDES not available.
 
 Dumping the system properties during runtime shows:
 
 java.class.path=d:\workspace\esprit\classes;d:\workspace\esp rit\lib\BO3rdPar
 ty.zip;d:\workspace\esprit\lib\BLC.zip;d:\workspace\esprit\l ib\Jama-1.0.1.ja
 r;d:\workspace\esprit\lib\jdom.jar;d:\workspace\esprit\lib\j Driver.jar;d:\wo
 rkspace\esprit\lib\opljni.jar;d:\workspace\esprit\lib\Phaos_ JCE_Provider.jar
 ;d:\workspace\esprit\lib\WS.zip;d:\workspace\esprit\lib\xerc es.jar;d:\worksp
 ace\esprit\lib\servlet.jar;D:\Program
 Files\Allaire\JRun\lib\xt.jar;D:\Program
 Files\Allaire\JRun\lib\default_objects.jar;D:\Program
 Files\Allaire\JRun\lib\ejipt.jar;D:\Program
 Files\Allaire\JRun\lib\ejipt_client.jar;D:\Program
 Files\Allaire\JRun\lib\ejipt_ejbeans.jar;D:\Program
 Files\Allaire\JRun\lib\ejipt_jms_client.jar;D:\Program
 Files\Allaire\JRun\lib\ejipt_tools.jar;D:\Program
 Files\Allaire\JRun\lib\install.jar;D:\Program
 Files\Allaire\JRun\lib\jrun.jar;D:\Program
 Files\Allaire\JRun\lib\jrun_ejbeans.jar;D:\Program
 Files\Allaire\JRun\lib\jrun_exports.jar;D:\Program
 Files\Allaire\JRun\lib\jrun_objects.jar;D:\Program
 Files\Allaire\JRun\lib\jsp.jar;D:\Program
 Files\Allaire\JRun\lib\rhino.jar;D:\Program
 Files\Allaire\JRun\lib\ssi.jar;D:\Program
 Files\Allaire\JRun\lib\wddx.jar;D:\Program
 Files\Allaire\JRun\lib\default_exports.jar;D:\Program
 Files\Allaire\JRun\lib\ext\US_export_policy.jar;D:\Program
 Files\Allaire\JRun\lib\ext\ejb.jar;D:\Program
 Files\Allaire\JRun\lib\ext\iioprt.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jaxp.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jce1_2_1.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jcert.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jdbc.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jms.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jndi.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jnet.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jsse.jar;D:\Program
 Files\Allaire\JRun\lib\ext\jta.jar;D:\Program
 Files\Allaire\JRun\lib\ext\local_policy.jar;D:\Program
 Files\Allaire\JRun\lib\ext\mail.jar;D:\Program
 Files\Allaire\JRun\lib\ext\parser.jar;D:\Program
 Files\Allaire\JRun\lib\ext\pop3.jar;D:\Program
 Files\Allaire\JRun\lib\ext\servlet.jar;D:\Program
 Files\Allaire\JRun\lib\ext\sunjce_provider.jar;D:\Program
 Files\Allaire\JRun\lib\ext\activation.jar;D:\Program
 Files\Allaire\JRun\servers\esprit-content-server\esprit-cont ent-app\web-inf\
 jsp\bin
 
 sun.boot.class.path=D:\downloads\jvm\1.4.1_02\jre\lib\rt.jar ;D:\downloads\jv
 m\1.4.1_02\jre\lib\sunrsasign.jar;D:\downloads\jvm\1.4.1_02\ jre\lib\jsse.jar
 ;D:\downloads\jvm\1.4.1_02\jre\lib\jce.jar;D:\downloads\jvm\ 1.4.1_02\jre\lib
 \charsets.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\dnsns.ja r;D:\downloads\j
 vm\1.4.1_02\jre\lib\ext\ldapsec.jar;D:\downloads\jvm\1.4.1_0 2\jre\lib\ext\lo
 caledata.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\sunjce_pr ovider.jar
 
 java.ext.dirs=D:\Downloads\JVM\1.4.1_02\jre\lib\ext
 
 java.security.policy=D:\Program Files\Allaire\JRun\lib\jrun.policy
 
 I only mention the java.security.policy because from the command line the
 program above did not have it set (and
 setting -Djava.security.policy=<nothing> from Eclipse did not help).
 
 My java.ext.dirs directory contains:
 
 dnsns.jar
 ldapsec.jar
 localedata.jar
 sunjce_provider.jar (which seems to be the important one)
 
 A search for installed JREs from Eclipse | Windows | Preferences | Java |
 Installed JREs | Search finds nothing on C or D even though I have the JRE
 installed under D:\Downloads\JVM\1.4.1_02.
 
 I'm running my program in Eclipse in debug mode.
 
 I have since renamed US_export_policy.jar, local_policy.jar, jce1_2_1.jar,
 jsse.jar, and sunjce_provider.jar found in the JRun lib\ext directory since
 these files can be found in D:\Downloads\JVM\1.4.1_02\lib and ext, which
 also did not work.
 
 There are no other version of US_export_policy.jar and/or local_policy.jar
 on my machine except for the versions found under
 D:\Downloads\JVM\1.4.1_02\jre\lib\security which are the strong envryption
 version (after the versions were renamed above).
 
 As a test within Eclipse I added the following right before the problem
 lines:
 
 java.security.Provider[] providers = java.security.Security.getProviders();
 
 for (int i = 0; i < providers.length; i++)
 {
 System.out.println(providers[i].getInfo());
 
 String name = providers[i].getName();
 
 if ("SunJCE".equals(name))
 {
 try
 {
 javax.crypto.SecretKeyFactory skf =
 javax.crypto.SecretKeyFactory.getInstance(PBE_ALG, providers[i]);
 }
 catch(Exception e)
 {
 e.printStackTrace();
 }
 }
 }
 
 Which threw a SecurityException:
 
 java.lang.SecurityException: The provider SunJCE may not be signed by a
 trusted party
 
 
 which I don't think is relevant but what is is the fact that the SunJCE
 provider is found and the Provider.getInfo for it returns:
 
 SunJCE Provider (implements DES, Triple DES, Blowfish, PBE, Diffie-Hellman,
 HMAC-MD5, HMAC-SHA1)
 
 Also returned were:
 
 Sun (Kerberos v5)
 Phaos Security Provider 1.0
 SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests;
 SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX
 CertPathBuilder; LDAP, Collection CertStores)
 Sun JSSE provider(implements RSA Signatures, PKCS12, SunX509 key/trust
 factories, SSLv3, TLSv1)
 SUN's provider for RSA signatures
 |  |  |  |  | 
| Re: Algorithm PBEWithMD5AndDES not available. [message #105463 is a reply to message #104897] | Wed, 15 October 2003 12:03   |  | 
| Eclipse User  |  |  |  |  | This is a bug - I simple did a search for "SunJCE". 
 https://bugs.eclipse.org/bugs/show_bug.cgi?id=38370
 
 Darin
 
 "Shance Ordell" <sordell@financialengines.com> wrote in message
 news:bmii3j$5lk$1@eclipse.org...
 > I give up.
 >
 > None of the articles in the newgroups seem to help. And none of the
 articles
 > on the web seem to help either.
 >
 > Here is my environemnt:
 >
 > jdk1.4.1_02
 > Eclipse 2.1.0
 > JRun 3.1
 > W2K SP4
 > US_export_policy.jar (strong encryption)
 > local_policy.jar (strong encryption)
 > java.security (security.provider.4=com.sun.crypto.provider.SunJCE)
 > java.policy (unmodified)
 >
 > The following program works fine from the command line:
 >
 > import java.security.spec.KeySpec;
 >
 > import javax.crypto.spec.PBEKeySpec;
 >
 > import javax.crypto.SecretKey;
 > import javax.crypto.SecretKeyFactory;
 >
 > public class FeCreateSessionKey
 > {
 >     private static final String PBE_ALG = "PBEWithMD5AndDES";
 >
 >     public static void main(String[] args)
 >     {
 >         try
 >         {
 >             KeySpec ks = new PBEKeySpec("fepassword".toCharArray());
 >             SecretKeyFactory skf = SecretKeyFactory.getInstance(PBE_ALG);
 <=
 > This is the line that fails where PBE_ALG is set to PBEWithMD5AndDES (PBE
 > alone also did not work) ...
 >             SecretKey sk = skf.generateSecret(ks);
 >         }
 >         catch(Exception e)
 >         {
 >             e.printStackTrace();
 >         }
 >     }
 > }
 >
 > The same three lines in our application which is configured to run as a
 JRun
 > server inside of Eclipse throws an exception each and every time:
 >
 > Algorithm PBEWithMD5AndDES not available.
 >
 > Dumping the system properties during runtime shows:
 >
 >
 java.class.path=d:\workspace\esprit\classes;d:\workspace\esp rit\lib\BO3rdPar
 >
 ty.zip;d:\workspace\esprit\lib\BLC.zip;d:\workspace\esprit\l ib\Jama-1.0.1.ja
 >
 r;d:\workspace\esprit\lib\jdom.jar;d:\workspace\esprit\lib\j Driver.jar;d:\wo
 >
 rkspace\esprit\lib\opljni.jar;d:\workspace\esprit\lib\Phaos_ JCE_Provider.jar
 >
 ;d:\workspace\esprit\lib\WS.zip;d:\workspace\esprit\lib\xerc es.jar;d:\worksp
 > ace\esprit\lib\servlet.jar;D:\Program
 > Files\Allaire\JRun\lib\xt.jar;D:\Program
 > Files\Allaire\JRun\lib\default_objects.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_client.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_ejbeans.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_jms_client.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_tools.jar;D:\Program
 > Files\Allaire\JRun\lib\install.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_ejbeans.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_exports.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_objects.jar;D:\Program
 > Files\Allaire\JRun\lib\jsp.jar;D:\Program
 > Files\Allaire\JRun\lib\rhino.jar;D:\Program
 > Files\Allaire\JRun\lib\ssi.jar;D:\Program
 > Files\Allaire\JRun\lib\wddx.jar;D:\Program
 > Files\Allaire\JRun\lib\default_exports.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\US_export_policy.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\ejb.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\iioprt.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jaxp.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jce1_2_1.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jcert.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jdbc.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jms.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jndi.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jnet.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jsse.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jta.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\local_policy.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\mail.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\parser.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\pop3.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\servlet.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\sunjce_provider.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\activation.jar;D:\Program
 >
 Files\Allaire\JRun\servers\esprit-content-server\esprit-cont ent-app\web-inf\
 > jsp\bin
 >
 >
 sun.boot.class.path=D:\downloads\jvm\1.4.1_02\jre\lib\rt.jar ;D:\downloads\jv
 >
 m\1.4.1_02\jre\lib\sunrsasign.jar;D:\downloads\jvm\1.4.1_02\ jre\lib\jsse.jar
 >
 ;D:\downloads\jvm\1.4.1_02\jre\lib\jce.jar;D:\downloads\jvm\ 1.4.1_02\jre\lib
 >
 \charsets.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\dnsns.ja r;D:\downloads\j
 >
 vm\1.4.1_02\jre\lib\ext\ldapsec.jar;D:\downloads\jvm\1.4.1_0 2\jre\lib\ext\lo
 >  caledata.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\sunjce_pr ovider.jar
 >
 > java.ext.dirs=D:\Downloads\JVM\1.4.1_02\jre\lib\ext
 >
 > java.security.policy=D:\Program Files\Allaire\JRun\lib\jrun.policy
 >
 > I only mention the java.security.policy because from the command line the
 > program above did not have it set (and
 > setting -Djava.security.policy=<nothing> from Eclipse did not help).
 >
 > My java.ext.dirs directory contains:
 >
 > dnsns.jar
 > ldapsec.jar
 > localedata.jar
 > sunjce_provider.jar (which seems to be the important one)
 >
 > A search for installed JREs from Eclipse | Windows | Preferences | Java |
 > Installed JREs | Search finds nothing on C or D even though I have the JRE
 > installed under D:\Downloads\JVM\1.4.1_02.
 >
 > I'm running my program in Eclipse in debug mode.
 >
 > I have since renamed US_export_policy.jar, local_policy.jar, jce1_2_1.jar,
 > jsse.jar, and sunjce_provider.jar found in the JRun lib\ext directory
 since
 > these files can be found in D:\Downloads\JVM\1.4.1_02\lib and ext, which
 > also did not work.
 >
 > There are no other version of US_export_policy.jar and/or local_policy.jar
 > on my machine except for the versions found under
 > D:\Downloads\JVM\1.4.1_02\jre\lib\security which are the strong envryption
 > version (after the versions were renamed above).
 >
 > As a test within Eclipse I added the following right before the problem
 > lines:
 >
 > java.security.Provider[] providers =
 java.security.Security.getProviders();
 >
 > for (int i = 0; i < providers.length; i++)
 > {
 >     System.out.println(providers[i].getInfo());
 >
 >     String name = providers[i].getName();
 >
 >     if ("SunJCE".equals(name))
 >     {
 >         try
 >         {
 >             javax.crypto.SecretKeyFactory skf =
 > javax.crypto.SecretKeyFactory.getInstance(PBE_ALG, providers[i]);
 >         }
 >         catch(Exception e)
 >         {
 >             e.printStackTrace();
 >         }
 >     }
 > }
 >
 > Which threw a SecurityException:
 >
 > java.lang.SecurityException: The provider SunJCE may not be signed by a
 > trusted party
 >
 >
 > which I don't think is relevant but what is is the fact that the SunJCE
 > provider is found and the Provider.getInfo for it returns:
 >
 > SunJCE Provider (implements DES, Triple DES, Blowfish, PBE,
 Diffie-Hellman,
 > HMAC-MD5, HMAC-SHA1)
 >
 > Also returned were:
 >
 > Sun (Kerberos v5)
 > Phaos Security Provider 1.0
 > SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests;
 > SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator;
 PKIX
 > CertPathBuilder; LDAP, Collection CertStores)
 > Sun JSSE provider(implements RSA Signatures, PKCS12, SunX509 key/trust
 > factories, SSLv3, TLSv1)
 > SUN's provider for RSA signatures
 >
 >
 >
 >
 >
 >
 |  |  |  |  | 
| Re: Algorithm PBEWithMD5AndDES not available. [message #105477 is a reply to message #104897] | Wed, 15 October 2003 12:07   |  | 
| Eclipse User  |  |  |  |  | I agree. 
 I am seeing the same thing with the Diffie-Hellman key exchange as I
 posted a couple of days ago  "Algorithm DH not available".
 
 Eclipse gurus : is this our config, or do we need to post a bug?
 
 Chris
 
 Shance Ordell wrote:
 > I give up.
 >
 > None of the articles in the newgroups seem to help. And none of the articles
 > on the web seem to help either.
 >
 > Here is my environemnt:
 >
 > jdk1.4.1_02
 > Eclipse 2.1.0
 > JRun 3.1
 > W2K SP4
 > US_export_policy.jar (strong encryption)
 > local_policy.jar (strong encryption)
 > java.security (security.provider.4=com.sun.crypto.provider.SunJCE)
 > java.policy (unmodified)
 >
 > The following program works fine from the command line:
 >
 > import java.security.spec.KeySpec;
 >
 > import javax.crypto.spec.PBEKeySpec;
 >
 > import javax.crypto.SecretKey;
 > import javax.crypto.SecretKeyFactory;
 >
 > public class FeCreateSessionKey
 > {
 >     private static final String PBE_ALG = "PBEWithMD5AndDES";
 >
 >     public static void main(String[] args)
 >     {
 >         try
 >         {
 >             KeySpec ks = new PBEKeySpec("fepassword".toCharArray());
 >             SecretKeyFactory skf = SecretKeyFactory.getInstance(PBE_ALG); <=
 > This is the line that fails where PBE_ALG is set to PBEWithMD5AndDES (PBE
 > alone also did not work) ...
 >             SecretKey sk = skf.generateSecret(ks);
 >         }
 >         catch(Exception e)
 >         {
 >             e.printStackTrace();
 >         }
 >     }
 > }
 >
 > The same three lines in our application which is configured to run as a JRun
 > server inside of Eclipse throws an exception each and every time:
 >
 > Algorithm PBEWithMD5AndDES not available.
 >
 > Dumping the system properties during runtime shows:
 >
 >  java.class.path=d:\workspace\esprit\classes;d:\workspace\esp rit\lib\BO3rdPar
 >  ty.zip;d:\workspace\esprit\lib\BLC.zip;d:\workspace\esprit\l ib\Jama-1.0.1.ja
 >  r;d:\workspace\esprit\lib\jdom.jar;d:\workspace\esprit\lib\j Driver.jar;d:\wo
 >  rkspace\esprit\lib\opljni.jar;d:\workspace\esprit\lib\Phaos_ JCE_Provider.jar
 >  ;d:\workspace\esprit\lib\WS.zip;d:\workspace\esprit\lib\xerc es.jar;d:\worksp
 > ace\esprit\lib\servlet.jar;D:\Program
 > Files\Allaire\JRun\lib\xt.jar;D:\Program
 > Files\Allaire\JRun\lib\default_objects.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_client.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_ejbeans.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_jms_client.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_tools.jar;D:\Program
 > Files\Allaire\JRun\lib\install.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_ejbeans.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_exports.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_objects.jar;D:\Program
 > Files\Allaire\JRun\lib\jsp.jar;D:\Program
 > Files\Allaire\JRun\lib\rhino.jar;D:\Program
 > Files\Allaire\JRun\lib\ssi.jar;D:\Program
 > Files\Allaire\JRun\lib\wddx.jar;D:\Program
 > Files\Allaire\JRun\lib\default_exports.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\US_export_policy.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\ejb.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\iioprt.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jaxp.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jce1_2_1.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jcert.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jdbc.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jms.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jndi.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jnet.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jsse.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jta.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\local_policy.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\mail.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\parser.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\pop3.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\servlet.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\sunjce_provider.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\activation.jar;D:\Program
 >  Files\Allaire\JRun\servers\esprit-content-server\esprit-cont ent-app\web-inf\
 > jsp\bin
 >
 >  sun.boot.class.path=D:\downloads\jvm\1.4.1_02\jre\lib\rt.jar ;D:\downloads\jv
 >  m\1.4.1_02\jre\lib\sunrsasign.jar;D:\downloads\jvm\1.4.1_02\ jre\lib\jsse.jar
 >  ;D:\downloads\jvm\1.4.1_02\jre\lib\jce.jar;D:\downloads\jvm\ 1.4.1_02\jre\lib
 >  \charsets.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\dnsns.ja r;D:\downloads\j
 >  vm\1.4.1_02\jre\lib\ext\ldapsec.jar;D:\downloads\jvm\1.4.1_0 2\jre\lib\ext\lo
 >  caledata.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\sunjce_pr ovider.jar
 >
 > java.ext.dirs=D:\Downloads\JVM\1.4.1_02\jre\lib\ext
 >
 > java.security.policy=D:\Program Files\Allaire\JRun\lib\jrun.policy
 >
 > I only mention the java.security.policy because from the command line the
 > program above did not have it set (and
 > setting -Djava.security.policy=<nothing> from Eclipse did not help).
 >
 > My java.ext.dirs directory contains:
 >
 > dnsns.jar
 > ldapsec.jar
 > localedata.jar
 > sunjce_provider.jar (which seems to be the important one)
 >
 > A search for installed JREs from Eclipse | Windows | Preferences | Java |
 > Installed JREs | Search finds nothing on C or D even though I have the JRE
 > installed under D:\Downloads\JVM\1.4.1_02.
 >
 > I'm running my program in Eclipse in debug mode.
 >
 > I have since renamed US_export_policy.jar, local_policy.jar, jce1_2_1.jar,
 > jsse.jar, and sunjce_provider.jar found in the JRun lib\ext directory since
 > these files can be found in D:\Downloads\JVM\1.4.1_02\lib and ext, which
 > also did not work.
 >
 > There are no other version of US_export_policy.jar and/or local_policy.jar
 > on my machine except for the versions found under
 > D:\Downloads\JVM\1.4.1_02\jre\lib\security which are the strong envryption
 > version (after the versions were renamed above).
 >
 > As a test within Eclipse I added the following right before the problem
 > lines:
 >
 > java.security.Provider[] providers = java.security.Security.getProviders();
 >
 > for (int i = 0; i < providers.length; i++)
 > {
 >     System.out.println(providers[i].getInfo());
 >
 >     String name = providers[i].getName();
 >
 >     if ("SunJCE".equals(name))
 >     {
 >         try
 >         {
 >             javax.crypto.SecretKeyFactory skf =
 > javax.crypto.SecretKeyFactory.getInstance(PBE_ALG, providers[i]);
 >         }
 >         catch(Exception e)
 >         {
 >             e.printStackTrace();
 >         }
 >     }
 > }
 >
 > Which threw a SecurityException:
 >
 > java.lang.SecurityException: The provider SunJCE may not be signed by a
 > trusted party
 >
 >
 > which I don't think is relevant but what is is the fact that the SunJCE
 > provider is found and the Provider.getInfo for it returns:
 >
 > SunJCE Provider (implements DES, Triple DES, Blowfish, PBE, Diffie-Hellman,
 > HMAC-MD5, HMAC-SHA1)
 >
 > Also returned were:
 >
 > Sun (Kerberos v5)
 > Phaos Security Provider 1.0
 > SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests;
 > SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX
 > CertPathBuilder; LDAP, Collection CertStores)
 > Sun JSSE provider(implements RSA Signatures, PKCS12, SunX509 key/trust
 > factories, SSLv3, TLSv1)
 > SUN's provider for RSA signatures
 >
 >
 >
 >
 >
 >
 |  |  |  |  | 
| Re: Algorithm PBEWithMD5AndDES not available. [message #105634 is a reply to message #104897] | Wed, 15 October 2003 13:49  |  | 
| Eclipse User  |  |  |  |  | Originally posted by: sordell.financialengines.com 
 I'm going to add the following info to my post, but I found an article that
 was able to help me.
 
 It is an internal document so there are some reference to our products.
 Hopefully, this won't
 
 confuse things.
 
 ============================================================ ================
 ====================
 
 Click next on the v1login page for Data Aggregation (a.k.a., DataAgg or DA)
 results in the following exception in the content log:
 
 fei.crypto.common.FeCryptoException: could not process key:
 fei.crypto.common.FeCryptoException: could not create session key:
 java.security.NoSuchAlgorithmException: Algorithm PBEWithMD5AndDES not
 available
 fei.crypto.common.FeCryptoException: could not process key:
 fei.crypto.common.FeCryptoException: could not create session key:
 java.security.NoSuchAlgorithmException: Algorithm PBEWithMD5AndDES not
 available
 at fei.crypto.common.FeKeyStore.getSecretKey
 at fei.crypto.remauth.FeRemAuthUtil.encipherToken
 at domain.link.FeAccountLinkManager._encryptAndFormatPassword
 at domain.link.FeAccountLinkManager._link
 at domain.link.FeAccountLinkManager.link
 at content.bean.v1.FeV1LoginBean.$saveObject
 at content.bean.edit.FeEditBean.stdUpdateProcessing
 at content.bean.edit.FeEditBean.process
 at jrun__esprit__screenscrape__FeV1Login2ejsp22._jspService
 at allaire.jrun.jsp.HttpJSPServlet.service
 at allaire.jrun.jsp.JSPServlet.service
 at allaire.jrun.jsp.JSPServlet.service
 at allaire.jrun.servlet.JRunSE.service
 at allaire.jrun.session.JRunSessionService.service
 at allaire.jrun.debug.StackManager.service
 at allaire.jrun.servlet.JRunSE.runServlet
 at allaire.jrun.servlet.JRunRequestDispatcher.forward
 at content.http.FeContentServlet._forward
 at content.http.FeContentServlet._forward
 at content.http.FeContentServlet.doGet
 at content.http.FeContentServlet.doPost
 at javax.servlet.http.HttpServlet.service
 at javax.servlet.http.HttpServlet.service
 at allaire.jrun.servlet.JRunSE.service
 at allaire.jrun.session.JRunSessionService.service
 at allaire.jrun.debug.StackManager.service
 at allaire.jrun.servlet.JRunSE.runServlet
 at allaire.jrun.servlet.JRunRequestDispatcher.forward
 at allaire.jrun.servlet.JRunSE.service
 at allaire.jrun.servlet.JRunSE.service
 at allaire.jrun.servlet.JvmContext.dispatch
 at allaire.jrun.http.WebEndpoint.run
 at allaire.jrun.ThreadPool.run
 at allaire.jrun.WorkerThread.run
 
 This is an Eclipse only problem. When running the content server outside of
 Eclipse the problem does not occur.
 
 The following article
 ( http://forum.java.sun.com/thread.jsp?thread=430078&forum =9&message=1964890)
 documents what the fix is.
 
 Here are the steps from Eclipse:
 
 1. Click on 'Window'.
 2. Click on 'Open Perspective'.
 3. Click on 'Debug'.
 4. Click on 'Run'.
 5. Click on 'Debug'.
 6. Click on 'Java Application'.
 7. Click on 'esprit-content-server'.
 8. Click on 'Classpath'.
 9. Click on 'Bootstrap classes'.
 10. Click on 'JRE System Library [1.4.1_02]'.
 11. Click on 'Remove'.
 12. Click on 'Add External JARs'.
 13. Click on 'jce.jar'.
 14. Click on 'jsse.jar'.
 15. Click on 'rt.jar'.
 16. Click on 'Open'.
 17. Click on 'Apply'.
 18. Click on 'Close'.
 
 Note, the jar files in steps 13, 14, and 15 are located in your
 %JAVA_HOME%\jre\lib directory.
 
 Note, when the BO server starts it also attempts to create a
 PBEWithMD5AndDES secret key factory so you need to make the same change to
 the debug configuration of your BO server in Eclipse. Although, in this case
 the exception is ignored and an innocuous error is written to the bo.log
 (i.e., Error getting key- see FeDOBOServer._configureDecryptionSupport).
 
 ============================================================ ================
 ====================
 
 Let me know if this helps you.
 
 Also, know I have the knowledge to fix the issue, without the understanding
 of why it worked- do you know why it worked?
 
 
 
 "Shance Ordell" <sordell@financialengines.com> wrote in message
 news:bmii3j$5lk$1@eclipse.org...
 > I give up.
 >
 > None of the articles in the newgroups seem to help. And none of the
 articles
 > on the web seem to help either.
 >
 > Here is my environemnt:
 >
 > jdk1.4.1_02
 > Eclipse 2.1.0
 > JRun 3.1
 > W2K SP4
 > US_export_policy.jar (strong encryption)
 > local_policy.jar (strong encryption)
 > java.security (security.provider.4=com.sun.crypto.provider.SunJCE)
 > java.policy (unmodified)
 >
 > The following program works fine from the command line:
 >
 > import java.security.spec.KeySpec;
 >
 > import javax.crypto.spec.PBEKeySpec;
 >
 > import javax.crypto.SecretKey;
 > import javax.crypto.SecretKeyFactory;
 >
 > public class FeCreateSessionKey
 > {
 >     private static final String PBE_ALG = "PBEWithMD5AndDES";
 >
 >     public static void main(String[] args)
 >     {
 >         try
 >         {
 >             KeySpec ks = new PBEKeySpec("fepassword".toCharArray());
 >             SecretKeyFactory skf = SecretKeyFactory.getInstance(PBE_ALG);
 <=
 > This is the line that fails where PBE_ALG is set to PBEWithMD5AndDES (PBE
 > alone also did not work) ...
 >             SecretKey sk = skf.generateSecret(ks);
 >         }
 >         catch(Exception e)
 >         {
 >             e.printStackTrace();
 >         }
 >     }
 > }
 >
 > The same three lines in our application which is configured to run as a
 JRun
 > server inside of Eclipse throws an exception each and every time:
 >
 > Algorithm PBEWithMD5AndDES not available.
 >
 > Dumping the system properties during runtime shows:
 >
 >
 java.class.path=d:\workspace\esprit\classes;d:\workspace\esp rit\lib\BO3rdPar
 >
 ty.zip;d:\workspace\esprit\lib\BLC.zip;d:\workspace\esprit\l ib\Jama-1.0.1.ja
 >
 r;d:\workspace\esprit\lib\jdom.jar;d:\workspace\esprit\lib\j Driver.jar;d:\wo
 >
 rkspace\esprit\lib\opljni.jar;d:\workspace\esprit\lib\Phaos_ JCE_Provider.jar
 >
 ;d:\workspace\esprit\lib\WS.zip;d:\workspace\esprit\lib\xerc es.jar;d:\worksp
 > ace\esprit\lib\servlet.jar;D:\Program
 > Files\Allaire\JRun\lib\xt.jar;D:\Program
 > Files\Allaire\JRun\lib\default_objects.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_client.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_ejbeans.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_jms_client.jar;D:\Program
 > Files\Allaire\JRun\lib\ejipt_tools.jar;D:\Program
 > Files\Allaire\JRun\lib\install.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_ejbeans.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_exports.jar;D:\Program
 > Files\Allaire\JRun\lib\jrun_objects.jar;D:\Program
 > Files\Allaire\JRun\lib\jsp.jar;D:\Program
 > Files\Allaire\JRun\lib\rhino.jar;D:\Program
 > Files\Allaire\JRun\lib\ssi.jar;D:\Program
 > Files\Allaire\JRun\lib\wddx.jar;D:\Program
 > Files\Allaire\JRun\lib\default_exports.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\US_export_policy.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\ejb.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\iioprt.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jaxp.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jce1_2_1.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jcert.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jdbc.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jms.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jndi.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jnet.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jsse.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\jta.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\local_policy.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\mail.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\parser.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\pop3.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\servlet.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\sunjce_provider.jar;D:\Program
 > Files\Allaire\JRun\lib\ext\activation.jar;D:\Program
 >
 Files\Allaire\JRun\servers\esprit-content-server\esprit-cont ent-app\web-inf\
 > jsp\bin
 >
 >
 sun.boot.class.path=D:\downloads\jvm\1.4.1_02\jre\lib\rt.jar ;D:\downloads\jv
 >
 m\1.4.1_02\jre\lib\sunrsasign.jar;D:\downloads\jvm\1.4.1_02\ jre\lib\jsse.jar
 >
 ;D:\downloads\jvm\1.4.1_02\jre\lib\jce.jar;D:\downloads\jvm\ 1.4.1_02\jre\lib
 >
 \charsets.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\dnsns.ja r;D:\downloads\j
 >
 vm\1.4.1_02\jre\lib\ext\ldapsec.jar;D:\downloads\jvm\1.4.1_0 2\jre\lib\ext\lo
 >  caledata.jar;D:\downloads\jvm\1.4.1_02\jre\lib\ext\sunjce_pr ovider.jar
 >
 > java.ext.dirs=D:\Downloads\JVM\1.4.1_02\jre\lib\ext
 >
 > java.security.policy=D:\Program Files\Allaire\JRun\lib\jrun.policy
 >
 > I only mention the java.security.policy because from the command line the
 > program above did not have it set (and
 > setting -Djava.security.policy=<nothing> from Eclipse did not help).
 >
 > My java.ext.dirs directory contains:
 >
 > dnsns.jar
 > ldapsec.jar
 > localedata.jar
 > sunjce_provider.jar (which seems to be the important one)
 >
 > A search for installed JREs from Eclipse | Windows | Preferences | Java |
 > Installed JREs | Search finds nothing on C or D even though I have the JRE
 > installed under D:\Downloads\JVM\1.4.1_02.
 >
 > I'm running my program in Eclipse in debug mode.
 >
 > I have since renamed US_export_policy.jar, local_policy.jar, jce1_2_1.jar,
 > jsse.jar, and sunjce_provider.jar found in the JRun lib\ext directory
 since
 > these files can be found in D:\Downloads\JVM\1.4.1_02\lib and ext, which
 > also did not work.
 >
 > There are no other version of US_export_policy.jar and/or local_policy.jar
 > on my machine except for the versions found under
 > D:\Downloads\JVM\1.4.1_02\jre\lib\security which are the strong envryption
 > version (after the versions were renamed above).
 >
 > As a test within Eclipse I added the following right before the problem
 > lines:
 >
 > java.security.Provider[] providers =
 java.security.Security.getProviders();
 >
 > for (int i = 0; i < providers.length; i++)
 > {
 >     System.out.println(providers[i].getInfo());
 >
 >     String name = providers[i].getName();
 >
 >     if ("SunJCE".equals(name))
 >     {
 >         try
 >         {
 >             javax.crypto.SecretKeyFactory skf =
 > javax.crypto.SecretKeyFactory.getInstance(PBE_ALG, providers[i]);
 >         }
 >         catch(Exception e)
 >         {
 >             e.printStackTrace();
 >         }
 >     }
 > }
 >
 > Which threw a SecurityException:
 >
 > java.lang.SecurityException: The provider SunJCE may not be signed by a
 > trusted party
 >
 >
 > which I don't think is relevant but what is is the fact that the SunJCE
 > provider is found and the Provider.getInfo for it returns:
 >
 > SunJCE Provider (implements DES, Triple DES, Blowfish, PBE,
 Diffie-Hellman,
 > HMAC-MD5, HMAC-SHA1)
 >
 > Also returned were:
 >
 > Sun (Kerberos v5)
 > Phaos Security Provider 1.0
 > SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests;
 > SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator;
 PKIX
 > CertPathBuilder; LDAP, Collection CertStores)
 > Sun JSSE provider(implements RSA Signatures, PKCS12, SunX509 key/trust
 > factories, SSLv3, TLSv1)
 > SUN's provider for RSA signatures
 >
 >
 >
 >
 >
 >
 |  |  |  | 
 
 
 Current Time: Thu Oct 30 20:30:50 EDT 2025 
 Powered by FUDForum . Page generated in 0.10590 seconds |