I'm having trouble getting an HttpsURLConnection to work as expected.
I suspect I am missing something (possibly a great many things) and
would appreciate any insight that anyone could provide.
I have a simple servlet running in Tomcat that does nothing more than
report back that it is alive. Additionally I have a simple client app
that calls the servlet with a POST. The client can run on either the
same machine as the server or a different machine.
1. Using an HttpURLConnection in the client app works fine. I can call
the servlet on either port 8080 (http) or 8443 (https). This works
from either client machine.
2. If I do nothing other than the change the HttpURLConnection to an
HttpsURLConnection then everything falls apart immediately and I don't
understand why. From everything I can tell I should be able to replace
the one with the other.
3. Keystores & certificates: I have generated certificates for both
machines using keytool and have imported the client machine
certificate into the trustedcerts file on the server machine. I have
NOT had any of these certificates signed by a certificate authority
(and due to complexities I won't go into here that isn't likely to
happen). Do the certificates need to be signed by a CA in order for
HttpsURLConnection to work?
4. The result of calling the method url.openConnection() is to print
"null" to the screen then program execution simply stops. No Exception
seems to be thrown everything just stops
Why?
HttpsURLConnection conn = (HttpsURLConnection) myurl.openConnection();
Ultimately I would like to get Client-Certification working but
haven't been able to find a good guide out there for doing so. Again,
any help would be greatly appreciated.
BTW: I am using Java v 1.4.2_02-b03
Tomcat v 4.1.29
-- Thanks in advance!
Got the answer to my problem here from another group. Will post it in
case anyone else is having the same trouble and wants to know how to
fix it...
--------------------------------------------
John,
I found a solution.
Add the line below to force it to use the correct libraries:
System.setProperty("java.protocol.handler.pkgs","javax.net.ssl");
This one falls into the inexplicable category of problems that lots
of people must have dealt with, yet Google shows up almost nothing,
and you never get a reply about it in the mail-group.
Mike
--------------------------------------------
> I'm having trouble getting an HttpsURLConnection to work as expected.
> I suspect I am missing something (possibly a great many things) and
[quoted text clipped - 36 lines]
>
> -- Thanks in advance!