JAVA (12) 썸네일형 리스트형 [JAVA] HTTPS 통신시 Java Cacerts 파일에 인증서 목록이 없어 SSLHandshakeException 발생 Java를 이용하여 외부 서비스와 HTTPS 통신시 Java Cacerts 파일 내 외부 서비스에서 사용하는 SSL 인증서 목록이 없을 경우 아래와 같은 에러가 발생할 수 있습니다. javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: java.security.cert.CertPathValidatorException: The certificate issued by CN=DigiCert Gl.. [JAVA] HTTP 통신간 지원하는 기본 TLS 버전 Java 어플리케이션은 HTTP 통신간 지원하는 기본 TLS 버전이 Java 버전 마다 다름 Java Version SSL/TLS Default Other Supported Versions Java 6 TLS 1.0 TLS 1.1(update 111 and later), SSLv3.0 Java 7 TLS 1.0 TLS 1.2, TLS 1.1, SSLv3.0 Java 8 TLS 1.2 TLS 1.1, TLS 1.0, SSLv3.0 HTTPS 통신시 Java 어플리케이션과 Default TLS 버전이 맞지 않을 경우 아래와 같은 방법을 통해 해결 1. WAS 옵션 설정 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 2. 프레임워크 초기화 클래스 설정 System.setProperty.. [JAVA] java.io.IOException: User limit of inotify instances reached or too many open files 1. 오류 메시지 java.io.IOException: User limit of inotify instances reached or too many open files 2. 오류 발생 원인 "java.io.IOException: User limit of inotify instances reached or too many open files" 오류 메시지는 일반적으로 시스템이 동시에 모니터링할 수 있는 Inotify 인스턴스 또는 열린 파일 수에 대한 한도에 도달했음을 나타냅니다. 3. 해결 방안 inotify 파라미터 값 수정 $ vi /etc/sysctl.conf fs.inotify.max_user_instances = 256 ### default 128 ### $ sysctl -p $ sysctl -.. [JAVA] Find the jar file where the class file is used 어플리케이션 배포 위치에 아래 소스 코드를 jarcheck.jsp 파일로 만들어서 저장한다. class 파일이 어떤 jar 파일에서 사용되는지 확인이 가능하다. [Example] Document Builder Factory - org.apache.xerces.jaxp.DocumentBuilderFactoryImpl SAX Parser Factory - org.apache.xerces.jaxp.SAXParserFactoryImpl Transformer Factory - org.apache.xalan.processor.TransformerFactoryImpl (ex) org.apache.xerces.jaxp.DocumentBuilderFactoryImpl [Search Result] [JAVA] JAR, WAR, EAR 정리 J2EE 어플리케이션에서 모듈은 기능에 따라 JAR, WAR, EAR 로 패키지 된다. 1. JAR(Java ARchive) - Java 프로그램의 실행에 필요한 클래스 파일이나 설정 파일이 정리되어 있는 아카이브 - Java로 작성한 어플리케이션을 배포할 때에 관련 파일을 1개에 패키징할 때에 이용되고 실제로는 많은 클래스 라이브러리는 이 형식으로 배포되고 있다. - 클래스 파일과 각 클래스들이 사용하는 관련 리소스 파일 및 메타 데이터를 압축한 파일 - 실제로는 zip 파일 포맷으로 압축이 된다. - JRE(JAVA Runtime Environment)가 있으면 실행된다. java -jar {project_name}.jar - JAR 내 파일 확인 방법 jar tf [파일명] jar -tf [파일명].. [JAVA] JAR(JAVA Archive) 정리 JAR(JAVA Archive) 이란? JAR(JAVA Archive) 파일은 Java 프로그램이나 라이브러리, 리소스 등을 포함하는 압축 파일 형식입니다. JAR 파일은 일반적으로 자바 애플리케이션을 패키징하고 배포하는 데 사용됩니다. JAR 파일은 ZIP 형식으로 압축되며, 확장자는 ".jar"로 끝납니다. JAR 파일은 여러 개의 파일과 디렉토리로 구성될 수 있으며, 다음과 같은 주요 구성 요소를 포함할 수 있습니다: 1. 클래스 파일: - JAR 파일은 자바 클래스 파일을 포함할 수 있습니다. 클래스 파일은 자바 소스 코드가 컴파일되어 생성된 실행 가능한 형식의 파일로, JVM에서 실행됩니다. 2. 리소스 파일: - JAR 파일은 프로그램에 필요한 이미지, 사운드, 텍스트 파일 등의 리소스를 포함.. [JAVA] JVM(Java Virtual Machine) 정리 JVM 이란? JVM은 "Java Virtual Machine"의 약자로, 자바 프로그램을 실행하기 위한 가상 머신입니다. JVM은 자바 바이트 코드(Java bytecode)를 해석하고 실행하는 역할을 담당합니다. 다양한 운영 체제와 하드웨어에서 동일한 방식으로 자바 프로그램을 실행할 수 있도록 합니다. JVM 주요 특징과 기능 1. 자바 바이트 코드 실행: - 자바 컴파일러는 소스 코드를 바이트 코드로 변환하는데, 이 바이트 코드는 JVM에서 실행됩니다. JVM은 바이트 코드를 해석하고 실행하여 프로그램을 구동합니다. 2. 운영 체제와 하드웨어 독립성: - JVM은 운영 체제나 하드웨어와는 독립적으로 동작합니다. 자바 프로그램은 한 번 컴파일된 후 어떤 운영 체제에서도 실행될 수 있습니다. JVM은 .. [JAVA] Java Cipher Suites 리스트 확인 1. Ciphers.java 파일을 서버내 임의 위치에 저장 https://confluence.atlassian.com/stashkb/files/679609085/679772359/2/1648624258064/Ciphers.java import java.util.Iterator; import java.util.Map; import java.util.TreeMap; import javax.net.ssl.SSLServerSocketFactory; public class Ciphers { public static void main(String[] args) throws Exception { SSLServerSocketFactory ssf = (SSLServerSocketFactory)SSLServerSocke.. 이전 1 2 다음