[kaffe] issue with https, kaffe 1.1.3, and jessie 0.9.6

Mark Maxham mark@maxham.com
Wed Feb 4 16:10:02 2004


I have a very simple little program:

I'm running kaffe 1.1.3 on Debian, and I have built the GNU Crypto from 
the latest CVS, as well as Jessie, also from the latest CVS.  Here's my 
little test app:

-----

import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.security.Security;

/**
  * @author max
  *
  */
public class HttpsTest
{
     public static void main(String[] args) throws Exception
     {
         System.setProperty(
             "java.protocol.handler.pkgs",
             "org.metastatic.jessie");
         Security.addProvider(new gnu.crypto.jce.GnuCrypto());
	Security.addProvider(new org.metastatic.jessie.provider.Jessie());
	URL url = new URL("https://www.foo.com");
         URLConnection uc = url.openConnection();
         InputStream is = uc.getInputStream();
         is.close();
     }
}

-----

Here's my invocation:

java -classpath .:/data/workdir/source/gnu-crypto.jar:
  /data/workdir/jce/javax-crypto.jar:
  /data/workdir/security/javax-security.jar:
  /data/jessie-0.9.6/lib/javax-net.jar:
  /data/jessie-0.9.6/lib/javax-security-cert.jar:
  /data/jessie-0.9.6/lib/org-metastatic-jessie.jar HttpsTest

I looked in the jessie.jar file and everything looks like it's there to 
provide HTTPS, and I get this:

java.net.MalformedURLException: Protocol handler not found: https
    at java.net.URL.<init> (URL.java:430)
    at java.net.URL.<init> (URL.java:311)
    at HttpsTest.main (HttpsTest.java:17)

I tried moving the jessie.jar into the BOOTCLASSPATH and got a whole new 
raft of exceptions, because jessie wants to load some classes by name. 
But to do so, it has to call [some object].class.getClassLoader().  But 
if the calling class was loaded by the bootloader, getClassLoader() 
returns null.  Argh!  It's like I'm stuck in a catch-22 here.

Has anybody else made https work with jessie under kaffe?  If so, what's 
the trick?

thanks
max