Monday, December 22, 2008

Creating SSH Tunnel

ssh userName@ssh-server.example.com -N -f -L 3689:daap-server.example.com:3689

Wednesday, December 17, 2008

Java SSL

package com.thewoodiefamily.sslconn;

import java.io.*;
import java.net.URL;
import java.security.KeyStore;
import java.security.SecureRandom;

import javax.net.ssl.*;

public class SSLTest {

public static SSLSocketFactory getFactory(File pKeyFile, String pKeyPassword) {
SSLContext context = null;
try {

TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}

public void checkClientTrusted(
java.security.cert.X509Certificate[] certs,
String authType) {
}

public void checkServerTrusted(
java.security.cert.X509Certificate[] certs,
String authType) {
}
} };

KeyManagerFactory keyManagerFactory = KeyManagerFactory
.getInstance("SunX509");
KeyStore keyStore = KeyStore.getInstance("PKCS12");

InputStream keyInput = new FileInputStream(pKeyFile);
keyStore.load(keyInput, pKeyPassword.toCharArray());
keyInput.close();

keyManagerFactory.init(keyStore, pKeyPassword.toCharArray());

context = SSLContext.getInstance("TLS");
context.init(keyManagerFactory.getKeyManagers(), trustAllCerts,
new SecureRandom());
} catch (Exception e) {
e.printStackTrace();
}

return context.getSocketFactory();
}

/**
* @param args
*/
public static void main(String[] args) {
try {
URL url = new URL("");
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
con.setSSLSocketFactory(getFactory(new File(
"C:\\bundle-username.p12"), ""));
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(con
.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();
System.out.println(sb);
} catch (Exception e) {
e.printStackTrace();
}

}

}