2013-04-02 2 views
0

매일 루틴을 수행하고 원격 주소에 연결하고 스마트 카드로 인증 한 다음이 원격 주소에서 내 사용자 이름에 대한 새로운 정보를 확인해야합니다.스마트 카드가있는 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); 

있습니까? 나는 많은 검색,하지만 내 나쁜 영어에 대한 미안 사전에 ... 스마트 카드를 사용하여

감사를 연결할 수 미안하지.

답변

1

스마트 카드 리더에 대한 코드가 표시되지 않습니다. 처음으로 스마트 카드에서 정보를 얻어야합니다. smartcardio 라이브러리 사용 방법을 확인해보십시오. 그런 다음 애플리케이션의 모든 정보를 웹으로 보내십시오.

귀하의 문제를 이해하면 귀하를 도울 수 있다고 생각합니다.