JSSE: "no cipher suites in common"
Jeg er i gang med at bygge en lille webserver i Java, og har behov for, at den understøtter SSL.Jeg har fundet frem til og installeret JSSE. Jeg er derefter gået i gang med at køre demoen i http://www.onjava.com/pub/a/onjava/2001/05/03/java_security.html for på den måde at lære, hvordan man bruger JSSE.
Når jeg laver et self-signed certifikat som foreslået i artiklen, kører demoen fint, og den svarer på HTTPS-requests fra både IE og Netscape. Nu kommer problemet: Jeg skal have det op at køre på et "rigtigt" SSL-server-certifikat - og det kan jeg ikke få til at virke.
Flg. genererer det self-signede cert (som virker fint - er taget fra ovennævnte artikel):
keytool -genkey -keystore certs -keyalg rsa -alias jamie -storepass serverkspw -keypass serverpw
Til at importere mit Thawte-udstedte certifikat, har jeg forsøgt mig med
keytool -import -file certifikatfil.crt -keystore certs -keyalg rsa -alias certalias -storepass etpassword -keypass etpassword
hvilket kører uden fejl.
Demo-programmet kører også uden fejl, men når jeg connecter fra browser, kommer den med flg.:
javax.net.ssl.SSLException: no cipher suites in common
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.ServerHandshaker.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.ServerHandshaker.b([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.Handshaker.process_record([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.AppInputStream.read([DashoPro-V1.2-120198])
at java.io.FilterInputStream.read(FilterInputStream.java:69)
at HTTPInputStream.readLine(HTTPInputStream.java:14)
at HTTPInputStream.getRequest(HTTPInputStream.java:31)
at HTTPServerThread.run(HTTPServer.java:69)
Hvad skyldes denne fejl - og hvad er løsningen? :)
