Java/Java

    JUL (java.util.logging) vs Log4j2 vs SLfj2 비교하기.

    JUL (java.util.logging) vs Log4j2 vs SLfj2 비교하기.

    java.util.logging, log4j2, 그리고 Slf4j는 Java 언어에서 로깅을 위한 여러 라이브러리 및 프레임워크입니다. ● java.util.logging (JUL) Java 표준 로깅 API: JDK에 내장된 기본 로깅 프레임워크입니다. 장점: 표준 Java API이기 때문에 JDK에 내장되어 있어 추가적인 라이브러리의 의존성이 없습니다. 자바 표준이므로 Java SE 환경에서 쉽게 사용할 수 있습니다. 단점: 유연성이 부족하며, 고급 로깅 설정이 제한적입니다. 포맷팅과 필터링 등의 기능이 다른 라이브러리에 비해 부족합니다. ● Log4j2 강력하고 유연한 로깅 프레임워크: Apache Software Foundation에서 개발한 로깅 라이브러리로, 많은 고급 기능을 제공합니다. 장점..

    [Java] InvalidKeyException AES 256 암호화 에러

    [Java] InvalidKeyException AES 256 암호화 에러

    ● Java 암호화 키 길이 정책 Java에서 AES 256 암호화 복호화 방식을 구현하다 보면 java.security.InvalidKeyException: Illegal key size예외가 발생하는 경우가 있다. Java에서는 기본적으로 128bit (16byte)로 키 길이를 제한해뒀고, 기본 키 길이를 초과하는 경우 예외가 발생한다. 컴퓨터 세팅을 하면서 Java JDK 설치 후 환경설정을 하는데 JDK안에 해당 버전의 Java 정책이 포함되어있다. Java는 기본적으로 JCE (Java Cryptography Extension) 암호화 정책을 제공한다. /jre/lib/security/local_policy.jar안에 default_local.policy 파일 안에서 확인할 수 있다. gran..

    [Java] Log4j 원격코드실행 이슈 JNDI injection

    [Java] Log4j 원격코드실행 이슈 JNDI injection

    2021-12-12일 갑작스럽게 뉴스에 "역사상 최대의 취약점 발견"이라는 문장으로 혼란스러운 소식이 들렸다. 어떤 이슈인가 알아보니 Log4j 에드온에서 원격코드를 실행할 수 있는 이슈였다.... log4j 에드온은 현시점에 JAVA를 사용하고 있는 인터넷 서비스 중 대부분이 사용하는 에드온이다. 그 말은 즉 모든 서비스에서 취약점이 발생할 수 있다는 점.. ● Log4j 란? Log4j는 Apache Software Foundation에서 개발한 인기 있는 Java 로깅 프레임 워크이다. ● 이슈 Apache Log4j 2.x ver에서 발생하는 취약점 (CVE-2021-44228)을 통해서 원격코드 실행이 가능한 이슈. CVE-2021-44228 취약점은 CVSS Score 10으로 가장 높은 취약..

    [Java] CheckedException과 UncheckedException이야기

    [Java] CheckedException과 UncheckedException이야기

    이번 포스트에서는 Exception에 대한 이야기를 써보려고 한다. 요즘 프로그래밍을 배우는 개발자들을 보면 Exception의 처리를 중요시하지 않는 경우가 많다. 또 Exception이 무엇인지 질문하게 되면 제대로 대답하는 이들이 적다. 단순히 Exception 암기 방식으로 몇가지 예외를 외우고 해당 서비스를 구현할 때 try/catch문을 사용하는 공식적인 공부를 하는 것 같다. 이 포스트를 통해 Exception에 대해 알아보자. 먼저 Error와 Exception이 무엇이 다른지를 알아야 한다. ● Error와 Exception는 어떻게 다를까? 오류(Error)는 시스템 레벨에서 발생하며 심각한 수준의 오류이다. 시스템에 비정상적인 상황이 발생한 경우이며, 개발자가 미리 예측하여 대비할 수..