Avatar billede kkaen Nybegynder
24. maj 2010 - 13:40 Der er 1 kommentar og
1 løsning

Sende data til en SSL-form

Jeg forsøger at oprette en javafil, som åbner en forbindelse til en form med ssl.

Forsøgskoden er hentet her:
http://www.devx.com/Java/Article/17679/1954
http://www.java2s.com/Tutorial/Java/0490__Security/SSLClientwithjavaxnetssltrustStoresetting.htm
http://www.exampledepot.com/egs/javax.net.ssl/client.html

Jeg har hentet certifikatet fra pågældende form, konverteret den, og tilføjet den til mit system.

Løsningerne giver forskellige fejl. Den sidste implementering giver: "password tampered with".
Den føste og oprindelige løsning giver: "the trustAnchors parameter must be non-empty".

Kender nogle en løsning på problemet?

Jeg har forsøgt de følgende 3 måder:

String filename = System.getProperty("java.home")
            + "/lib/security/cacerts".replace('/', File.separatorChar);
System.out.println("Filename= "+filename);            System.setProperty("javax.net.ssl.trustStore",filename);
System.setProperty("javax.net.ssl.trustStorePassword","kode");
           
System.out.println("Url= "+loginUrl+"?name="+loginName+"&password="+loginPassword);
String newUrl= loginUrl+"?name="+loginName+"&password="+loginPassword;
                        System.setProperty("javax.net.ssl.trustStore", newUrl);            
//Create streams to securely send and receive data to the server InputStream
InputStream is = new
URL(loginUrl+"?"+ServersLoginName+"="+loginName+"&"+ServersLoginPassword+"="+loginPassword).openStream();
URL(loginUrl+"?"+ServersLoginName+"="+loginName+"&"+ServersLoginPassword+"="+loginPassword).openConnection();

System.out.println("Attempt2:");
int port = 8080;
String hostname = loginUrl;
SocketFactory socketFactory = SSLSocketFactory.getDefault();
Socket socket = socketFactory.createSocket(hostname, port);
// Create streams to securely send and receive data to the server
InputStream in = socket.getInputStream();
OutputStream out2 = socket.getOutputStream();
// Read from in and write to out...
// Close the socket
in.close();
out2.close();
           
System.out.println("Attempt3:");           
SSLSocketFactory ssf = (SSLSocketFactory) SSLSocketFactory.getDefault();
Socket s = ssf.createSocket(loginUrl, 8080);
BufferedReader in2 = new BufferedReader(new InputStreamReader(s.getInputStream()));
String x = in2.readLine();
System.out.println(x);
in2.close();
Avatar billede kkaen Nybegynder
24. maj 2010 - 20:49 #1
Grundet manglende aktivitet er spørgsmålet flyttet til jsp.
Avatar billede arne_v Ekspert
25. maj 2010 - 03:45 #2
Det er nu nok mere Java end JSP.

Men det er ikke noget simpelt spørgsmål.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester