JDK-4292307 : java.lang.InternalError: internal error: SHA-1 not available.
  • Type: Bug
  • Component: security-libs
  • Sub-Component: javax.net.ssl
  • Affected Version: 1.0
  • Priority: P3
  • Status: Closed
  • Resolution: Not an Issue
  • OS: windows_nt
  • CPU: x86
  • Submitted: 1999-11-17
  • Updated: 2000-01-25
  • Resolved: 2000-01-25
Description

Name: sg39081			Date: 11/17/99


java version "1.2.2"
Classic VM (build JDK-1.2.2-001, native threads, symcjit)
The following simple code generates an internal error SHA-1 not availalbe..


import javax.net.*;
import javax.net.ssl.*;
import java.net.*;
import java.io.*;

public class JSSE_Client {

  public JSSE_Client() {
  }

  public static void main(String[] args) {
    try {
      SocketFactory sf = SSLSocketFactory.getDefault();
      Socket s = sf.createSocket("127.0.0.1", 80);
      System.out.println("socket created");
    }
    catch (Exception e) {
      System.out.println("Error:"+e.getMessage());
    }
  }

D:\JBuilder3\java\bin\javaw.exe -classpath "D:\JBuilder3\myclasses;E:\jdk1.2.2
\jsse1.0\classes;D:\JBuilder3\dependency\~JExtSocket;D:\JBuilder3
\java\lib\jdkdep.jar;D:\JBuilder3\java\jre\lib\rt.jar;D:\JBuilder3
\java\lib\dt.jar;D:\JBuilder3\java\jre\lib\i18n.jar;D:\JBuilder3
\java\lib\tools.jar" untitled17.JSSE_Client
AppAccelerator(tm) 1.2.010 for Java (JDK 1.2), x86 version.
Copyright (c) 1997-1999 Inprise Corporation. All Rights Reserved.
java.lang.InternalError: internal error: SHA-1 not available.
	at sun.security.provider.SecureRandom.init(SecureRandom.java:93)
	at sun.security.provider.SecureRandom.<init>(SecureRandom.java:72)
	at java.security.SecureRandom.<init>(SecureRandom.java:132)
	at com.sun.net.ssl.internal.ssl.SSLContextImpl.engineInit([DashoPro-V1.2-120198])
	at com.sun.net.ssl.SSLContext.init([DashoPro-V1.2-120198])
	at javax.net.ssl.SSLSocketFactory.getDefault([DashoPro-V1.2-120198])
	at untitled17.JSSE_Client.main(JSSE_Client.java:14)
Exception in thread "main"
(Review ID: 97456) 
======================================================================

Comments
EVALUATION mayank.upadhyay@eng 2000-01-24 This is not a JSSE bug. Make sure that the customer has some provider that supports the SHA-1 message digest algorithm. If using the sun security provider, in addition to the JSSE provider, that list -- stored in <JRE>/lib/security/java.security -- in would look something like this: security.provider.1=sun.security.provider.Sun security.provider.2=com.sun.net.ssl.internal.ssl.Provider Here's a simple program that does not use JSSE to determine if they have a SHA-1 provider installed. If it throws a java.security.NoSuchAlgorithmException, then the required provider is missing. import java.security.MessageDigest; public class Sha { public static void main(String[] args) throws Exception { MessageDigest md = MessageDigest.getInstance("SHA"); } }
02-09-2004

WORK AROUND Name: sg39081 Date: 11/17/99 None ======================================================================
02-09-2004