Hallo zusammen,
ich bin grade dabei eine Beispielimplementierung von Sun (klick mich) zum laufen zu bringen. ( Das RMI Beispiel )
Ich bin wie folgt vorgegangen:
Da alles in einem Ordner liegt hab ich es erstmal auseinandergepflückt.
Hallo.java
HalloImpl.java
testkeys
policy
RMISSLClientSocketFactory.java
RMISSLServerSocketFactory.java
liegen nun im Ordner rmiServer\rmi\test (Package: rmi.test)
Hello.java
HelloClient.java
RMISSLClientSocketFactory.java
liegen im Ordner rmiClient\rmi\test (Package: rmi.test)
Nachdem ich
in
geändert habe, war es der Beispielimplementierung auch möglich zu starten. (Vorher gabs eine FileNotFound bzw. Secrurity Exception)
Nur leider hab ich beim Client immer noch probleme.
Hier die Exception:
Hat jemand eine Ahnung wodran das liegen mag?
ich bin grade dabei eine Beispielimplementierung von Sun (klick mich) zum laufen zu bringen. ( Das RMI Beispiel )
Ich bin wie folgt vorgegangen:
Da alles in einem Ordner liegt hab ich es erstmal auseinandergepflückt.
Hallo.java
HalloImpl.java
testkeys
policy
RMISSLClientSocketFactory.java
RMISSLServerSocketFactory.java
liegen nun im Ordner rmiServer\rmi\test (Package: rmi.test)
Hello.java
HelloClient.java
RMISSLClientSocketFactory.java
liegen im Ordner rmiClient\rmi\test (Package: rmi.test)
Nachdem ich
Code:
ks.load(new FileInputStream("testkeys"), passphrase);
in
Code:
ks.load( getClass().getResourceAsStream("testkeys"), passphrase);
geändert habe, war es der Beispielimplementierung auch möglich zu starten. (Vorher gabs eine FileNotFound bzw. Secrurity Exception)
Nur leider hab ich beim Client immer noch probleme.
Hier die Exception:
Code:
HelloClient exception: error during JRMP connection establishment; nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:286)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at rmi.test.HelloClient.main(HelloClient.java:61)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1520)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:182)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:176)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:975)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:123)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:511)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:449)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:817)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1029)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:621)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.DataOutputStream.flush(DataOutputStream.java:106)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:211)
... 4 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
... 15 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
... 21 more
BUILD SUCCESSFUL (total time: 5 seconds)
Hat jemand eine Ahnung wodran das liegen mag?