매일 루틴을 수행하고 원격 주소에 연결하고 스마트 카드로 인증 한 다음이 원격 주소에서 내 사용자 이름에 대한 새로운 정보를 확인해야합니다.스마트 카드가있는 Java HttpClient 인증
나는,이 루틴을 자동으로 할 새로운 정보가 있는지 확인 후 주소로 연결 스마트 카드 인증 및 것 Java 응용 프로그램을 작성하고 싶습니다.
tryed,하지만 스마트 카드로 HttpClient 환경 설정에 성공하지 못했습니다. 내 컴퓨터에 카드를 꽂고 Cronjob을 실행하도록 설정했지만 카드가 삽입되지 않았다는 경고를 반환합니다.
코드는 다음과 같습니다 : 그것으로 어떤 도움
HttpClient httpClient = new DefaultHttpClient();
// Secure Protocol implementation.
SSLContext ctx = SSLContext.getInstance("SSL");
// Implementation of a trust manager for X509 certificates
X509TrustManager tm = new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException {
// TODO Auto-generated method stub
}
@Override
public void checkServerTrusted(
java.security.cert.X509Certificate[] arg0, String arg1)
throws java.security.cert.CertificateException {
// TODO Auto-generated method stub
}
};
ctx.init(null, new TrustManager[] { tm }, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx);
ClientConnectionManager ccm = httpClient.getConnectionManager();
// register https protocol in httpclient's scheme registry
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(new Scheme("https", 443, ssf));
HttpGet httpget = new HttpGet("http://remoteserver.com/login.seam");
HttpParams params = httpclient.getParams();
params.setParameter("param1", "paramValue1");
httpget.setParams(params);
System.out.println("REQUEST:" + httpget.getURI());
ResponseHandler responseHandler = new BasicResponseHandler();
String responseBody;
responseBody = httpclient.execute(httpget, responseHandler);
System.out.println(responseBody);
있습니까? 나는 많은 검색,하지만 내 나쁜 영어에 대한 미안 사전에 ... 스마트 카드를 사용하여
감사를 연결할 수 미안하지.