poc1015

Young-Kyoo Kim·2025년 10월 15일
import javax.net.ssl.HttpsURLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Base64;

public class SSLTestWithAuth {
    public static void main(String[] args) throws Exception {
        // 1. 시스템 속성으로 truststore 지정
        System.setProperty("javax.net.ssl.trustStore", "/path/to/truststore.jks");
        System.setProperty("javax.net.ssl.trustStorePassword", "123456");

        // 2. 서버 URL
        URL url = new URL("https://your-server:443/path");

        // 3. 연결
        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

        // ---- 필요한 경우 인증 정보 추가 ----

        // (a) HTTP Basic 인증
        String username = "myuser";
        String password = "mypassword";
        String encoded = Base64.getEncoder().encodeToString((username + ":" + password).getBytes());
        conn.setRequestProperty("Authorization", "Basic " + encoded);

        // (b) Bearer token 인증 예시
        // conn.setRequestProperty("Authorization", "Bearer YOUR_TOKEN_HERE");

        // (c) 필요시 Host header 조정
        // conn.setRequestProperty("Host", "my-service.default.svc.cluster.local");

        // -----------------------------------

        // 4. 요청 전송
        conn.setRequestMethod("GET");
        conn.connect();

        // 5. 응답 확인
        System.out.println("HTTP Response Code: " + conn.getResponseCode());
        if (conn.getErrorStream() != null) {
            BufferedReader br = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
            br.lines().forEach(System.out::println);
        }

        conn.disconnect();
    }
}

0개의 댓글