CLIENT가 SSL통신시 서버인증서를 검증을 통과 시킬수 있다 (보안에서 하면 안되지만 테스트로 개발시 통과시키고 싶을때)

HttpsURLConnection.setDefaultHostnameVerifier( new HostnameVerifier(){
    public boolean verify(String string,SSLSession ssls) {
     return true;
    }
   });

이걸 기술해주면 서버인증서 검증을 하지 않고 무조건 성공으로 리턴되도록 한다 ( HTTPS hostname wrong 오류 역시 사라지지만 보안상 취약함...개발중에만 꼭필요할때 기술)
AND


public byte[] encryptAES(byte[] s, String key) throws Exception { 
         String encrypted = null; 
         try {
          Key skeySpec = new SecretKeySpec(key.getBytes(), "Rijndael");
 
             Cipher cipher = Cipher.getInstance("AES/ECB/ISO10126Padding");  //선택해서 기술하여 사용
             cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
            
             byte[] e=cipher.doFinal(s);
             
             return e; 
         } catch (Exception e) { 
             e.printStackTrace();
             throw e;
         } 
        
     } 
AND

SQL-PLUS로 시스템 로그인 한 후
 
SQL> alter system set processes=500 scope=spfile;

SQL> alter system register;

SQL> shutdown immediate

SQL> startup

스트레스 테스트 중 동접이 늘어나서 변경하니 에러가 사라짐...

AND


아래와 같이 클라이언트에서 소스를 추가해주면 된다.
ssl 인증서의 hostname 검증을 무조건 성공으로 반환함

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) {
     }
    }
  };

  // Install the all-trusting trust manager
  try {
   SSLContext sc = SSLContext.getInstance("TLS");
   sc.init(null, trustAllCerts, new java.security.SecureRandom());
   HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
  } catch (Exception e) {
  }

 

  HttpsURLConnection.setDefaultHostnameVerifier( new HostnameVerifier(){
   public boolean verify(String string,SSLSession ssls) {
    return true;
   }
  });

AND


전자금융거래 표준약관 정리 문서입니다.

AND