|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2008
Messaggi: 35
|
[java] Client TLS - Urgente
Ciao a tutti,sto letteralmente impazzendo con questo problema e scrivo qui sperando di trovare qualche anima pia disposta ad illuminarmi.
Devo connettermi ad un server e di tale server dispongo di un file .key,che immagino sia la sua chiave privata(e quindi inutile per me) e del suo certificato .pem che dovrebbe essere la sua chiave pubblica. Supponendo che il server si accontenti dell'autenticazione solo dal suo lato dovrei adattare il mio client a comunicarvi. Ho letto un po' la documentazione e girato per vari siti,ma sembra che tutto sia orientato perlopiù al lato server,mentre non riesco a trovare neanche un esempio di codice lato client in TLS. Ho provato a creare un keystore,tramite keytool,utilizzando il certificato pubblico self-signed del server(un export insomma),dandogli anche una password. L'ho poi aperto in java: Codice:
InputStream keystoreSource=new FileInputStream("path");
char[] keystorePass="mia_password".toCharArray();
KeyStore keystore=KeyStore.getInstance("JKS");
keystore.load(keystoreSource,keystorePass);
Codice:
KeyManagerFactory kmf=KeyManagerFactory.getInstance("SunX509");
kmf.init(ksKeys, keystorePass);
Infine ho creato un context da cui ho ricavato la ssl socket factory e poi la sslsocket corrispondente. Codice:
SSLContext context=SSLContext.getInstance("TLS");
context.init(kmf.getKeyManagers(),null,null);
SSLSocketFactory sf=context.getSocketFactory();
(ho appena iniziato a prendere confidenza con tls quindi abbiate pazienza se sto facendo domande stupide o ho detto qualche boiata). Ultima modifica di Dark867 : 13-12-2009 alle 01:38. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Mar 2008
Messaggi: 35
|
Niente?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:53.



















