Programming/Java 18

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 조치 방법

Tomcat이나 Java 애플리케이션이 CA 인증기관의 인증서를 인식하지 못하는 것이 원인입니다.여러가지 조치방법이 있겠으나, 아래와 같이 빠르게 조치 가능합니다. 1. 웹 브라우저(Chrome, Edge, Firefox 등)에서 해당 사이트의 인증서를 다운로드하세요.[브라우저에서 URL 접속  →  🔒 아이콘 클릭 → "연결이 안전합니다." 클릭  →  인증서 아이콘클릭 → 세부정보 내보내기  →  DER 형식으로 내보내기] 2. 관리자 권한으로 cmd 창을 띄운 뒤 아래 명령어로 다운로드한 .der 파일을 Java의 신뢰 저장소(cacerts)에 추가합니다. (jdk 경로 및 der 파일 경로는 상황에 맞게 수정)keytool -import -trustcacerts -keystore "C:\Prog..

Programming/Java 2025.02.24

SSL/TLS handshake 테스트

$ javac SSL.java$ java SSL 아래 코드를 SSL.java 로 저장 후, 위와 같이 테스트합니다.(JDK/JRE 등에서 정상 연결 여부를 보고 싶을 때 사용 가능)import javax.net.ssl.SSLSocket;import javax.net.ssl.SSLSocketFactory;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStream;import java.util.Arrays;public class SSL { public static void main(String[] args) { String host = "lawmin.tistory.com"; ..

Programming/Java 2025.02.24

JDK/JRE 6 + TLS 1.2 / javax.net.ssl.SSLException: Received fatal alert: protocol_version 조치

JDK/JRE 6 버전은 기본적으로 TLS 1.2 버전을 지원하지 않아 업그레이드가 필요하지만,당장 작업이 여의치 않을 경우, JCE 및 BouncyCastle를 설치하여 사용 가능합니다. 1. 사이트에서 허용하는 Cipher와 내 서버에 설치된 JDK/JRE에서 지원하는 cipher 목록을 비교맞는 cipher가 없는 경우 handshake 오류가 발생합니다. 1) 사이트 허용 TLS, Cipher 정보 확인https://www.ssllabs.com/위 사이트에서 URL 조회 후, Cipher Suites 항목의 # TLS 1.2 (suites in server-preferred order) 목록에 나옵니다. 2) 설치된 JDK/JRE 의 Supported Cipher 확인 (샘플 코드)import j..

Programming/Java 2024.05.03

[JDBC] 간단한 DB 매니저

VO 쓰기 귀찮을 때...String으로만 처리하는 단점이 있으니필요한 경우, jdbc type - java type 매핑테이블에 따라 바꿔야 할 듯 package com.manager; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; import javax.naming.I..

Programming/Java 2014.08.05