S
S³awo - MIR
Hi :/
I have a problem like this:
I try to open HTTPS connection to URL address. Also, I want to send my
certificate to the server during SSL Hanshake Protocol. Hmmm... and I don't
know how can I do this <cry>
Below I put mu code:
keyStore - is a certificate in object KeyStore
public String polaczHTTPS(String adres, KeyStore keyStore) {
try {
URL adresURL = new URL(adres);
String odpowiedzSerwera;
String tekst = "";
String linia;
URLConnection polaczenieURL = adresURL.openConnection();
if (!(polaczenieURL instanceof HttpsURLConnection)){
return "Adres: " + adres + " nie jest obs³ugiwany przez
HTTP/HTTPS !!!" ;
}
else{
javax.net.ssl.HttpsURLConnection polaczenie =
(HttpsURLConnection) polaczenieURL;
SSLContext kontekstSSL;
kontekstSSL = SSLContext.getInstance("SSLv3");
TrustManagerFactory zaufanyMen =
TrustManagerFactory.getInstance("SunX509");
zaufanyMen.init(keyStore);
kontekstSSL.init(null, zaufanyMen.getTrustManagers(), null);
SSLSocketFactory gniazdoSSL =
kontekstSSL.getSocketFactory();
polaczenie.setDefaultSSLSocketFactory(gniazdoSSL);
polaczenie.connect();
BufferedReader in = new BufferedReader(new
InputStreamReader(polaczenie.getInputStream()));
odpowiedzSerwera = "\n\nAdres: " +
polaczenie.getURL().toString() +
"\n\nKodowanie: " +
polaczenie.getContentEncoding() +
"\n\nD³ugo¶æ: " +
polaczenie.getContentLength() +
"\n\nTyp: " + polaczenie.getContentType();
while ((linia = in.readLine()) != null) {
tekst = tekst + linia;
}
in.close();
//polaczenie.disconnect();
tekst = tekst + "\n\n" + odpowiedzSerwera;
return tekst;
}
}
catch (IOException e){
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
catch (KeyStoreException e)
{
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
catch (NoSuchAlgorithmException e)
{
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
catch (KeyManagementException e)
{
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
}
I have a problem like this:
I try to open HTTPS connection to URL address. Also, I want to send my
certificate to the server during SSL Hanshake Protocol. Hmmm... and I don't
know how can I do this <cry>
Below I put mu code:
keyStore - is a certificate in object KeyStore
public String polaczHTTPS(String adres, KeyStore keyStore) {
try {
URL adresURL = new URL(adres);
String odpowiedzSerwera;
String tekst = "";
String linia;
URLConnection polaczenieURL = adresURL.openConnection();
if (!(polaczenieURL instanceof HttpsURLConnection)){
return "Adres: " + adres + " nie jest obs³ugiwany przez
HTTP/HTTPS !!!" ;
}
else{
javax.net.ssl.HttpsURLConnection polaczenie =
(HttpsURLConnection) polaczenieURL;
SSLContext kontekstSSL;
kontekstSSL = SSLContext.getInstance("SSLv3");
TrustManagerFactory zaufanyMen =
TrustManagerFactory.getInstance("SunX509");
zaufanyMen.init(keyStore);
kontekstSSL.init(null, zaufanyMen.getTrustManagers(), null);
SSLSocketFactory gniazdoSSL =
kontekstSSL.getSocketFactory();
polaczenie.setDefaultSSLSocketFactory(gniazdoSSL);
polaczenie.connect();
BufferedReader in = new BufferedReader(new
InputStreamReader(polaczenie.getInputStream()));
odpowiedzSerwera = "\n\nAdres: " +
polaczenie.getURL().toString() +
"\n\nKodowanie: " +
polaczenie.getContentEncoding() +
"\n\nD³ugo¶æ: " +
polaczenie.getContentLength() +
"\n\nTyp: " + polaczenie.getContentType();
while ((linia = in.readLine()) != null) {
tekst = tekst + linia;
}
in.close();
//polaczenie.disconnect();
tekst = tekst + "\n\n" + odpowiedzSerwera;
return tekst;
}
}
catch (IOException e){
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
catch (KeyStoreException e)
{
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
catch (NoSuchAlgorithmException e)
{
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
catch (KeyManagementException e)
{
return ("(Klasa PolaczenieHTTPS) Wyj±tek podczas po³±czenia z: "
+ adres + "\n\n" + e.toString());
}
}