public static SSLContext setupClientSSL(String cert_path, String cert_password, boolean trustAll)
			throws SSLConfigurationException {
		SSLContext sslContext=null;
		try {
			
			kmf = KeyManagerFactory.getInstance("SunX509");
			KeyStore ks = p12ToKeyStore(cert_path, cert_password);
			kmf.init(ks, cert_password.toCharArray());
			sslContext=getSSLContext(kmf.getKeyManagers(), trustAll);
			
		} catch (NoSuchAlgorithmException e) {
			throw new SSLConfigurationException(e.getMessage(), e);
		} catch (KeyStoreException e) {
			throw new SSLConfigurationException(e.getMessage(), e);
		} catch (UnrecoverableKeyException e) {
			throw new SSLConfigurationException(e.getMessage(), e);
		} catch (CertificateException e) {
			throw new SSLConfigurationException(e.getMessage(), e);
		} catch (NoSuchProviderException e) {
			throw new SSLConfigurationException(e.getMessage(), e);
		} catch (IOException e) {
			throw new SSLConfigurationException(e.getMessage(), e);
		}
		return sslContext;
	}