EJBCA Web Service
import java.net.MalformedURLException;
import java.net.URL;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.xml.namespace.QName;
import org.ejbca.core.protocol.ws.client.gen.EjbcaWS;
import org.ejbca.core.protocol.ws.client.gen.EjbcaWSService;
public class Program {
public static void main(String[] args) {
EjbcaWS ejbcaws = null; // A single instance is enough
//CryptoProviderTools.installBCProvider();
// TODO Auto-generated method stub
System.setProperty ("javax.net.ssl.trustStore", "c:\\temp\\truststore.jks");
System.setProperty ("javax.net.ssl.trustStorePassword", "changeit");
System.setProperty ("javax.net.ssl.keyStore", "c:\\temp\\superadmin.p12");
System.setProperty ("javax.net.ssl.keyStorePassword", "ejbca");
QName qname = new QName ("http://ws.protocol.core.ejbca.org/", "EjbcaWSService");
EjbcaWSService service;
try {
//disableSslVerification();
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
new javax.net.ssl.HostnameVerifier(){
public boolean verify(String hostname,
javax.net.ssl.SSLSession sslSession) {
if (hostname.equals("linux")) {
return true;
}
return false;
}
});
service = new EjbcaWSService (new URL ("https://linux:8443/ejbca/ejbcaws/ejbcaws?wsdl"), qname);
ejbcaws = service.getEjbcaWSPort ();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("성공");
System.exit(0);
}
/*private static void disableSslVerification() {
try
{
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
}*/
}
import java.net.URL;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.xml.namespace.QName;
import org.ejbca.core.protocol.ws.client.gen.EjbcaWS;
import org.ejbca.core.protocol.ws.client.gen.EjbcaWSService;
public class Program {
public static void main(String[] args) {
EjbcaWS ejbcaws = null; // A single instance is enough
//CryptoProviderTools.installBCProvider();
// TODO Auto-generated method stub
System.setProperty ("javax.net.ssl.trustStore", "c:\\temp\\truststore.jks");
System.setProperty ("javax.net.ssl.trustStorePassword", "changeit");
System.setProperty ("javax.net.ssl.keyStore", "c:\\temp\\superadmin.p12");
System.setProperty ("javax.net.ssl.keyStorePassword", "ejbca");
QName qname = new QName ("http://ws.protocol.core.ejbca.org/", "EjbcaWSService");
EjbcaWSService service;
try {
//disableSslVerification();
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
new javax.net.ssl.HostnameVerifier(){
public boolean verify(String hostname,
javax.net.ssl.SSLSession sslSession) {
if (hostname.equals("linux")) {
return true;
}
return false;
}
});
service = new EjbcaWSService (new URL ("https://linux:8443/ejbca/ejbcaws/ejbcaws?wsdl"), qname);
ejbcaws = service.getEjbcaWSPort ();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("성공");
System.exit(0);
}
/*private static void disableSslVerification() {
try
{
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
}*/
}
//http://stackoverflow.com/questions/19540289/how-to-fix-the-java-security-cert-certificateexception-no-subject-alternative
댓글
댓글 쓰기