기본 콘텐츠로 건너뛰기

1월, 2022의 게시물 표시

keytool 사용법

keytool.exe -genkey -alias juheon -keyalg RSA -keypass 1234qwer -storepass 1234qwer -keystore juheon.jks  keytool.exe -export -alias juheon -storepass 1234qwer -file juheon.cer -keystore juheon.jks  keytool.exe -importkeystore -srckeystore juheon.jks -destkeystore juheon.key.p12 -deststoretype PKCS12  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert  D:\Java\32bit\jdk1.5.0_22\bin\keytool.exe -import -alias tsasample -keystore  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert -file D:\workspace\Servers\tsa-server-web-config\tomcat.cer  keytool -import -alias somansa -keystore C:\Program Files\Java\jdk1.8.0_102\jre\lib\security\cacert -file c:\somansa.cer #인증서 생성  keytool -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit –validity 9999 -keystore keystore.jks  keytool -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks  keytool -import -v -trustcacerts -alias keyAlias -file server.cer -keystore cacerts.jks -keypass changeit

HTTP Authentication Header types

  HTTP Authentication Header types Basic client 인증받기 위한 정보, 아이디와 암호를 Base64로 인코딩한 값(base64(id:pw))을 토큰으로 사용. (RFC 2617) Bearer 인증이 이미 완료된 사용자에 의해 정보를 획득하기 위한 토큰으로 사용. JWT, OAuth등에서 정보 요청 시 사용. (RFC 6750) Digest nonce를 이용해 relay attack을 방지하기 위한 인증. 서버에서 난수 데이터 문자열을 클라이언트에 보낸다. 클라이언트는 사용자 정보와 nonce를 포함하는 해시값을 사용하여 응답한다 (RFC 7616) (참고: https://en.wikipedia.org/wiki/Digest_access_authentication) HOBA 전자 서명 기반 인증 (RFC 7486)

JDBC driver statement timeout

 JDBC Driver의 socket timeout은 DBMS 비정상 종료, network 장애 발생 시 무한정 대기하지 않기 위해 설정하는 값임. statement의 timeout보다는 길게 설정해야함. driver timeout을 설정하지 않는 경우 os timeout 시간까지 대기함. Oracle, Mssql 가 유사. mysql, driver 가 유사. 1. Oracle JDBC driver query timeout. - Statement 객체 생성 - Statement 객체에서 쿼리 실행 - Timer thread에 statement 객체 등록(classloader당 하나의 timer thread) - 등록된 Statement timeout 발생 - 등록된 Statement의 cancel() 호출 2. MySql JDBC driver query timeout. - Statement 객체 생성 - Statement 객체에서 쿼리 실행 - Timer thread에 statement 객체 등록(connection당 하나의 timer thread) - 등록된 Statement timeout 발생 - Timer thread에서 쿼리 실행 취소요청을 위한 connection 생성 하여 DB에 쿼리 취소요청 * 출처:  JDBC Internal - 타임아웃의 이해