Java 8 릴리스 주요 기능


Dit artikel is van toepassing op:
  • Platform(s): 없음
  • Browser(s) 없음
  • Java-versie(s): 8.0

이 페이지에서는 각 Java 릴리스 일반 사용자에게 영향을 주는 변경사항에 대해 설명합니다. 변경사항에 대한 자세한 내용은 각 릴리스의 릴리스 노트에서 찾을 수 있습니다.
» Java 릴리스 날짜


Java 8 Update 441(8u441)

릴리스 주요 기능
  • JDK 8u441에는 IANA 시간대 데이터 2024b가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • JavaFX가 더 이상 JDK/JRE 8에 포함되지 않음
    이 릴리스인 JDK 및 JRE 8 업데이트 441은 JavaFX 번들의 마지막 릴리스입니다. 2020년 발표된 대로, 오라클에서 상업적으로 지원하는 마지막 JavaFX 버전인 JDK 8에서 JavaFX 지원은 2025년 3월에 종료됩니다. 이에 따라 JDK 8 업데이트 441은 JavaFX와 함께한 마지막 JDK/JRE 8 업그레이드입니다. 오라클은 최신 버전의 Java에 대해서만 OpenJFX 프로젝트를 통해 독립형 모듈로 JavaFX를 계속 개발하고 릴리스합니다. 자세한 내용은 Java SE Spring 2024 로드맵 업데이트를 참조하십시오.
  • 기타 참고사항: 시간대 데이터베이스 2024b 지원
    IANA 시간대 데이터베이스가 2024b로 업그레이드되었습니다. 이 버전에는 주로 멕시코, 몽골, 포르투갈의 과거 데이터를 개선하기 위한 변경사항이 포함됩니다. 시간대 'MET'의 시간기록 약어도 하나 변경됩니다. 또한 아시아/초이발산은 이제 아시아/울란바토르의 별칭이 됩니다.
    JDK-8339637을 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u441)는 2025년 4월 15일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

모든 사용자가 이용할 수 있는 Java Management Service를 통해 시스템에서 취약한 Java 버전을 찾을 수 있습니다. Java SE 구독자와 Oracle Cloud를 실행 중인 고객은 Java Management Service를 사용하여 Java 런타임을 업데이트하고 Java 프로그램에서 사용된 잠재적으로 취약한 타사 라이브러리를 식별하는 등 추가 보안 검토를 수행할 수 있습니다. 기존 Java Management Service 사용자는 여기를 눌러 대시보드에 로그인하십시오. Java Management Service 설명서는 모든 사람에게 제공되는 기능과 고객에게만 제공되는 기능 목록을 제공합니다. Java Management Service를 사용하여 Java 설치를 모니터링하고 보안하는 방법을 자세히 알아보십시오.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2025년 05월 15일에 이 JRE(버전 8u441)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u441 릴리스 노트를 참조하십시오.


Java 8 Update 431(8u431)

릴리스 주요 기능
  • JDK 8u431에는 IANA 시간대 데이터 2024a가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 해결된 중요 문제: JDK RPM 업그레이드 시 대안 항목 고립 발생
    RPM 업그레이드 시 "java" 및 "javac" 그룹이 올바르게 관리되지 않는 문제가 해결되었습니다.
    공유 디렉토리(/usr/lib/jvm/jdk-${FEATURE}-oracle-${ARCH})에 설치된 이전 Java RPM에서 버전별 디렉토리(/usr/lib/jvm/jdk-${VERSION}-oracle-${ARCH})에 설치 중인 Java RPM으로 업그레이드하면 "java" 및 "javac" 그룹의 이전 Java 항목이 삭제되지 않습니다.
    JDK-8336107(비공개)
  • 기타 참고사항: JDK HTTP 구현의 새로운 기본 제한
    JDK의 HTTP에 새로운 기본 제한이 추가되었습니다.
    HTTP(HttpURLConnection)에 대해 JDK에서 기본 제공되는 URL 프로토콜 처리기의 구현에 원격 상대방이 수락하는 최대 응답 헤더 크기에 대한 기본 제한이 포함됩니다. 이 제한은 기본적으로 384kB(393216바이트)로 설정되며 모든 헤더 이름과 헤더 값은 물론 헤더 이름 값 쌍별 32바이트 오버헤드를 포함한 누적 크기로 계산됩니다
    JDK-8328286(비공개)
  • 기타 참고사항: 2022년 발급된 SSL.com TLS 루트 CA 인증서 추가
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    + SSL.com
    + ssltlsrootecc2022
    DN: CN=SSL.com TLS ECC Root CA 2022, O=SSL Corporation, C=US
    + SSL.com
    + ssltlsrootrsa2022
    DN: CN=SSL.com TLS RSA Root CA 2022, O=SSL Corporation, C=US
    JDK-8341057을 참조하십시오.
  • 기타 참고사항: 2024년 11월 11일 이후 발급되고 Entrust 루트 인증서로 고정된 TLS 서버 인증서 신뢰 중지
    Google 및 Mozilla에서 최근 발표된 비슷한 계획들에 따라 2024년 11월 11일 이후 발급된 TLS 서버 인증서에 대한 신뢰가 JDK에서 정지됩니다. 영향을 받는 인증서 목록에는 Entrust에서 관리되는 AffirmTrust 브랜딩 인증서가 포함됩니다.
    JDK-8337664를 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u431)는 2025년 1월 21일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

모든 사용자가 이용할 수 있는 Java Management Service를 통해 시스템에서 취약한 Java 버전을 찾을 수 있습니다. Java SE 구독자와 Oracle Cloud를 실행 중인 고객은 Java Management Service를 사용하여 Java 런타임을 업데이트하고 Java 프로그램에서 사용된 잠재적으로 취약한 타사 라이브러리를 식별하는 등 추가 보안 검토를 수행할 수 있습니다. 기존 Java Management Service 사용자는 여기를 눌러 대시보드에 로그인하십시오. Java Management Service 설명서는 모든 사람에게 제공되는 기능과 고객에게만 제공되는 기능 목록을 제공합니다. Java Management Service를 사용하여 Java 설치를 모니터링하고 보안하는 방법을 자세히 알아보십시오.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2025년 2월 21일에 이 JRE(버전 8u431)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u431 릴리스 노트를 참조하십시오.


Java 8 Update 421(8u421)

릴리스 주요 기능
  • JDK 8u421에는 IANA 시간대 데이터 2024a가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 알려진 문제: Windows에서 브라우저 키 저장소 사용
    Windows에서 “브라우저 키 저장소에서 인증서 및 키 사용” 기능이 사용으로 설정되면(기본적으로 사용) Java WebStart 및 Java 플러그인은 현재 로컬 시스템에서 신뢰하는 인증서에 액세스할 수 있습니다. 인증서는 동적으로 로드되므로 전체 신뢰 인증서 목록이 사용 가능하다는 보장은 없습니다. 결과적으로 배치 프레임워크는 애플리케이션 실행 시점에 '활성'인 인증서에만 액세스할 수 있으므로 Java 애플릿 및 Java WebStart 애플리케이션에서 관련 인증서 부재로 인한 서명 검증 및 보안 접속 문제가 발생할 수 있습니다.
    JDK-8330728(비공개)
  • 기타 참고사항: JRE 설치 프로그램에 STATIC=1 인수 추가
    이 수정에 따라 STATIC=1 설치 프로그램 인수가 추가되고 RETAIN_ALL_VERSIONS=1 설치 프로그램 인수는 지원 중단됩니다. STATIC=1을 전달하면 수동 업그레이드나 자동 업데이트 중에 이전 JRE 8 버전이 제거되지 않도록 보호합니다.
    JDK-8313223(비공개)
  • 기타 참고사항: GlobalSign R46 및 E46 루트 CA 인증서가 추가됨
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    + GlobalSign
    + globalsignr46
    DN: CN=GlobalSign Root R46, O=GlobalSign nv-sa, C=BE

    + GlobalSign
    + globalsigne46
    DN: CN=GlobalSign Root E46, O=GlobalSign nv-sa, C=BE

    JDK-8316138을 참조하십시오.
  • 기타 참고사항: 설치 프로그램이 새 위치에 접점 디렉토리 생성
    다음 위치에 JRE가 설치됩니다. C:\Program Files\Java\latest\jre-$fullversion, 여기서 $fullversion은 JRE의 기술 버전입니다. 예를 들어, 8u421은 C:\Program Files\Java\latest\jre-1.8.0_421에 설치됩니다.

    32비트 Java의 경우 "C:\Program Files""C:\Program Files (x86)"로 조정됩니다.

    C:\Program Files\Java\latest\jre-1.8에 접점이 생성됩니다. 이는 최신 JRE 8 제품군을 가리킵니다.
    JDK-8329700(비공개)
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u421)는 2024년 10월 15일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

모든 사용자가 이용할 수 있는 Java Management Service를 통해 시스템에서 취약한 Java 버전을 찾을 수 있습니다. Java SE 구독자와 Oracle Cloud를 실행 중인 고객은 Java Management Service를 사용하여 Java 런타임을 업데이트하고 Java 프로그램에서 사용된 잠재적으로 취약한 타사 라이브러리를 식별하는 등 추가 보안 검토를 수행할 수 있습니다. 기존 Java Management Service 사용자는 여기를 눌러 대시보드에 로그인하십시오. Java Management Service 설명서는 모든 사람에게 제공되는 기능과 고객에게만 제공되는 기능 목록을 제공합니다. Java Management Service를 사용하여 Java 설치를 모니터링하고 보안하는 방법을 자세히 알아보십시오.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2024년 11월 15일에 이 JRE(버전 8u421)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u421 릴리스 노트를 참조하십시오.


Java 8 Update 411(8u411)

릴리스 주요 기능
  • JDK 8u411에는 IANA 시간대 데이터 2024a가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: Certainly R1 및 E1 루트 인증서가 추가됨
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.+ Certainly
    + certainlyrootr1
    DN: CN=Certainly Root R1, O=Certainly, C=US
    + Certainly
    + certainlyroote1
    DN: CN=Certainly Root E1, O=Certainly, C=US

    JDK-8321408을 참조하십시오.
  • 새로운 기능: 기본값으로 XML 서명 보안 검증 모드 사용
    기본값으로 XML 서명 보안 검증 모드가 사용으로 설정되었습니다(이전에는 보안 관리자를 사용하여 실행하지 않은 경우 기본값으로 사용하도록 설정되지 않음). 사용으로 설정된 경우 XML 서명 검증은 jdk.xml.dsig.secureValidationPolicy 보안 속성에 지정된 대로 알고리즘 및 기타 제약 조건에 대해 더 엄격한 검사를 따릅니다.
    필요한 경우 사용자 재량에 따라 DOMValidateContext.setProperty() API를 사용하여 org.jcp.xml.dsig.secureValidation 속성을 Boolean.FALSE로 설정하여 애플리케이션에서 이 모드를 사용 안함으로 설정할 수 있습니다.
    JDK-8259801을 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u411)는 2024년 7월 16일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2024년 08월 16일에 이 JRE(버전 8u411)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u411 릴리스 노트를 참조하십시오.


Java 8 Update 401(8u401)

릴리스 주요 기능
  • JDK 8u401에는 IANA 시간대 데이터 2023c가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: XML 서명 보안 검증 모드를 토글하는 새 시스템 속성
    이름이 org.jcp.xml.dsig.secureValidation인 새 시스템 속성이 추가되었습니다. XML 서명 보안 검증 모드를 사용 또는 사용 안함으로 설정하는 데 사용할 수 있습니다. 사용으로 설정하려면 시스템 속성을 "true"로, 사용 안함으로 설정하려면 "false"로 설정해야 합니다. 시스템 속성에 대한 기타 모든 값은 "false"로 처리됩니다. 시스템 속성이 설정되면 XMLCryptoContext 속성 값을 대체합니다. SecurityManager를 사용하여 코드를 실행하는 경우 보안 검증 모드가 기본적으로 사용으로 설정되고, 그렇지 않은 경우 기본적으로 사용 안함으로 설정됩니다.
    JDK-8301260을 참조하십시오.
  • 새로운 기능: JDK Flight Recorder 역직렬화 이벤트
    객체 역직렬화 모니터링을 위해 새 JFR(JDK Flight Recorder) 이벤트가 추가되었습니다. JFR이 사용으로 설정되고 JFR 구성에 역직렬화 이벤트가 포함되는 경우 실행 중인 프로그램이 객체 역직렬화를 시도할 때마다 JFR이 이벤트를 내보냅니다. 역직렬화 이벤트는 이름이 java/deserialization이며 기본적으로 사용 안함으로 설정되어 있습니다. 역직렬화 이벤트에는 직렬화 필터 방식에 사용되는 정보가 포함됩니다. 추가적으로 필터가 사용으로 설정되면 JFR 이벤트는 필터가 객체 역직렬화를 수락 또는 거부했는지 여부를 나타냅니다.
    JDK-8261160을 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u401)는 2024년 4월 16일 예정된 다음 중요 패치 업데이트 후에 사용하는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 제품 고객은 JMS(Java Management Service) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2024년 05월 16일에 이 JRE(버전 8u401)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u401 릴리스 노트를 참조하십시오.


Java 8 Update 391(8u391)

릴리스 주요 기능
  • JDK 8u391에는 IANA 시간대 데이터 2023c가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: 새 JFR 이벤트: jdk.SecurityProviderService
    새로운 JFR(Java Flight Recorder) 이벤트가 java.security.Provider.getService(String type, String algorithm) 호출의 레코드 세부정보에 추가되었습니다.
    JDK-8254711을 참조하십시오.
  • 제거된 기능: SECOM Trust Systems RootCA1 루트 인증서가 제거됨
    SECOM Trust System의 다음 루트 인증서가 cacerts 키 저장소에서 제거되었습니다.
    + alias name "secomscrootca1 [jdk]"
    Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP

    JDK-8295894를 참조하십시오.
  • 제거된 기능: JDK 8의 Linux ARM32 지원 제거
    JDK 8에서 Linux ARM32 플랫폼 지원이 제거되었습니다. 그 결과 ARM32 Hard Float ABI 다운로드를 사용할 수 없습니다. ARM32를 지원한 운영체제의 수명이 종료되었으므로 사용 가능한 알려진 OS 지원이 없습니다.
    JDK-8305927(비공개)
  • 기타 참고사항: Certigna 루트 CA 인증서가 추가됨
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    + Certigna (Dhimyotis)
    + certignarootca
    DN: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR

    JDK-8314960을 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u391)는 2024년 1월 16일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2024년 02월 16일에 이 JRE(버전 8u391)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u391 릴리스 노트를 참조하십시오.


Java 8 Update 381(8u381)

릴리스 주요 기능
  • JDK 8u381에는 IANA 시간대 데이터 2023c가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: GB18030-2022 지원을 위한 추가 문자 허용
    중국 국가 표준 기구(CESI)는 최근에 GB18030 표준의 업데이트 버전인 GB18030-2022를 발표했습니다. 이는 GB18030을 유니코드 버전 11.0과 동기화합니다. 이 새로운 표준의 문자집합 구현으로 이제 이전 2000 표준이 대체되었습니다. 그러나 이 새로운 표준에는 이전 구현과 호환되지 않는 몇 가지 변경사항이 있습니다. 기존 매핑을 사용해야 하는 사용자를 위해 새로운 시스템 속성인 jdk.charset.GB18030이 도입되었습니다. 이 값을 2000으로 설정하면 GB18030 문자집합에 대해 2000 표준에 기반한 이전 JDK 릴리스의 매핑이 사용됩니다.
    JDK-8307229를 참조하십시오.
  • 이제 JDK에서 PKCS#1 형식의 RSA 키 허용
    이제 SunRsaSign 제공자의 RSA KeyFactory.impl과 같은 PKCS#1 형식의 RSA 프라이빗 및 퍼블릭 키를 JDK 제공자가 수락할 수 있습니다. RSA 프라이빗 또는 퍼블릭 키 객체는 PKCS#1 형식이어야 하고 PKCS#1 RSA 프라이빗 키 및 퍼블릭 키에는 ASN.1 구문과 일치하는 인코딩을 사용해야 합니다.
    JDK-8023980을 참조하십시오.
  • 기타 참고사항: 8u381에서 Cgroup v2 지원 및 개선사항
    JDK 8u381에는 컨테이너에 대한 cgroup v1 및 v2 지원을 강화하는 여러 개선사항 및 수정사항이 포함됩니다. 개선사항에 따라 컨테이너의 리소스 제한을 정확히 감지하고, 수집된 컨테이너 측정항목을 올바로 보고하고, 추가 컨테이너 정보를 인쇄하고, 컨테이너화된 환경에서 애플리케이션 안정성을 개선할 수 있습니다.
    JDK-8307634를 참조하십시오.
  • 기타 참고사항: TWCA 루트 CA 인증서가 추가됨
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    + TWCA
    + twcaglobalrootca
    DN: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW

    JDK-8305975를 참조하십시오.
  • 기타 참고사항: GTS 루트 CA 인증서가 4개 추가됨
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    + Google Trust Services LLC
    + gtsrootcar1
    DN: CN=GTS Root R1, O=Google Trust Services LLC, C=US
    + Google Trust Services LLC
    + gtsrootcar2
    DN: CN=GTS Root R2, O=Google Trust Services LLC, C=US
    + Google Trust Services LLC
    + gtsrootecccar3
    DN: CN=GTS Root R3, O=Google Trust Services LLC, C=US
    + Google Trust Services LLC
    + gtsrootecccar4
    DN: CN=GTS Root R4, O=Google Trust Services LLC, C=US

    JDK-8307134를 참조하십시오.
  • 기타 참고사항: Microsoft Corporation의 TLS 루트 CA 인증서가 2개 추가됨
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    + Microsoft Corporation
    + microsoftecc2017
    DN: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
    + Microsoft Corporation
    + microsoftrsa2017
    DN: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US

    JDK-8304760을 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u381)는 2023년 10월 17일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2023년 11월 17일에 이 JRE(버전 8u381)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u381 릴리스 노트를 참조하십시오.


Java 8 Update 371(8u371)

릴리스 주요 기능
  • JDK 8u371에는 IANA 시간대 데이터 2022g가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: Windows에서 기본 고유 GSS-API 라이브러리가 추가됨
    Windows 플랫폼에서 고유 GSS-API 라이브러리가 JDK에 추가되었습니다. 라이브러리는 클라이언트측 전용이며 기본 인증서를 사용합니다. sun.security.jgss.native 시스템 속성이 "true"로 설정될 때 로드됩니다. 사용자는 여전히 시스템 속성 sun.security.jgss.lib를 해당 경로로 설정하여 타사 고유 GSS-API 라이브러리를 로드할 수 있습니다.
    JDK-6722928을 참조하십시오.
  • 제거된 기능 및 옵션: javax.script 엔진 구현 및 com.apple.concurrent.Dispatch가 macOS AArch64에서 제거됨
    javax.script 엔진 API를 구현하는 AppleScript 엔진이 교체 없이 제거되었습니다. AppleScript 엔진은 일관되지 않게 작동했습니다. 서비스 구성 (META-INF/services) 파일이 누락되었고 Apple의 AppleScriptEngine.jar 버전이 이미 있는 시스템에 JDK 7 또는 JDK 8을 설치할 때만 우연히 작동했습니다.
    com.apple.concurrent.Dispatch API는 Mac 전용 API입니다. Apple의 JDK 6 코드를 이식하여 JDK 7u4로 이관되었습니다. 개발자는 대신 표준 java.util.concurrent.Executorjava.util.concurrent.ExecutorService API를 사용하는 것이 좋습니다.
    JDK-8297475를 참조하십시오.
  • 기타 참고사항: Certigna(Dhimyotis) 루트 CA 인증서가 추가됨
    다음 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    + Certigna (Dhimyotis)
    + certignarootca
    DN: CN=Certigna, O=Dhimyotis, C=FR

    JDK-8245654를 참조하십시오.
  • 기타 참고사항: 기본적으로 사용으로 설정된 TLS 프로토콜에서 SSLv2Hello 및 SSLv3가 제거됨
    기본적으로 사용으로 설정된 TLS 프로토콜에서 SSLv2Hello 및 SSLv3가 제거되었습니다.

    이 업데이트 후에 SSLv3가 jdk.tls.disabledAlgorithms 보안 속성에서 제거되면 SSLSocket.getEnabledProtocols(), SSLServerSocket.getEnabledProtocols(), SSLEngine.getEnabledProtocols(), SSLParameters.getProtocols() API는 "TLSv1.3, TLSv1.2, TLSv1.1, TLSv1"을 반환합니다. "SSLv3"는 이 목록에 반환되지 않습니다.
    클라이언트나 서버가 여전히 SSLv3 프로토콜을 사용해야 하는 경우 jdk.tls.client.protocols 또는 jdk.tls.server.protocols 시스템 속성을 통해 사용으로 설정하거나 SSLSocket.setEnabledProtocols(), SSLServerSocket.setEnabledProtocols(), SSLEngine.setEnabledProtocols() API로 이를 수행할 수 있습니다.
    JDK-8190492를 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 2023년 7월 18일 예정된 다음 중요 패치 업데이트 릴리스 후에는 이 JDK(버전 8u371)를 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2023년 08월 18일에 이 JRE(버전 8u371)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u371 릴리스 노트를 참조하십시오.


Java 8 Update 361(8u361)

릴리스 주요 기능
  • JDK 8u361에는 IANA 시간대 데이터 2022d, 2022e, 2022f가 포함됩니다.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: OCSP 응답에서 RSASSA-PSS 지원
    이제 RSASSA-PSS 알고리즘으로 서명된 OCSP 응답이 지원됩니다.
    JDK-8274471을 참조하십시오.
  • 기타 참고사항: FXML JavaScript 엔진이 기본적으로 사용 안함으로 설정됨
    이제 FXML용 “JavaScript 스크립트 엔진”이 기본적으로 사용 안함으로 설정됩니다. "javascript" 처리 명령(PI)이 있는 .fxml 파일은 기본적으로 더 이상 로드되지 않으며 예외사항이 발생합니다.
    시스템 속성 -Djavafx.allowjs=true를 지정하여 사용으로 설정할 수 있습니다.
    JDK-8294779(비공개)
  • 기타 참고사항: ProcessBuilder에서 따옴표가 붙은 인수의 잘못된 처리
    Windows의 ProcessBuilder가 JDK-8250568로 인한 회귀를 처리하도록 복원되었습니다. 이전에는 큰 따옴표로 시작해 백슬래시에 이어서 큰 따옴표로 끝나는 ProcessBuilder 인수가 명령에 잘못 전달되었고 명령이 실패할 수 있었습니다. 예를 들어 "C:\\Program Files\" 인수는 여분의 큰 따옴표가 있다고 명령에 표시됩니다. 이 업데이트는 마지막 큰 따옴표 앞의 백슬래시를 특별히 취급하지 않는 오래된 동작을 복원합니다.
    JDK-8282008을 참조하십시오.
  • 기타 참고사항: HttpURLConnection의 기본 Keep-Alive 시간 초과를 구성할 수 있음
    서버가 keep-alive 시간을 지정하지 않은 경우 HttpURLConnection의 keep-alive 동작을 제어하는 두 개의 시스템 속성이 추가되었습니다. 서버와 프록시에 대한 접속을 개별적으로 제어하기 위해 두 개의 속성이 정의됩니다. 각각 http.keepAlive.time.serverhttp.keepAlive.time.proxy입니다. 자세한 내용은 네트워킹 속성에서 찾을 수 있습니다.
    JDK-8278067을 참조하십시오.
  • 기타 참고사항: VisualVM 툴이 더 이상 번들로 제공되지 않음
    이 버전의 JDK에는 더 이상 Java VisualVM 사본이 포함되지 않습니다. VisualVM은 이제 https://visualvm.github.io.에서 별도로 다운로드할 수 있습니다.
    JDK-8294184를 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u361)는 2023년 4월 18일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2023년 05월 18일에 이 JRE(버전 8u361)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 8u361 릴리스 노트를 참조하십시오.


Java 8 Update 351(8u351)

릴리스 주요 기능
  • IANA 시간대 데이터 2022b, 2022c.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 기타 참고사항: 기본 PKCS12 MAC 알고리즘 업그레이드
    PKCS #12 키 저장소에 사용되는 기본 MAC 알고리즘이 업데이트되었습니다. 새 알고리즘은 SHA-256에 기반하며 SHA-1 기반의 이전 알고리즘보다 강력합니다. 자세한 내용은 java.security 파일에서 keystore.pkcs12로 시작하는 보안 속성을 참조하십시오.
    JDK-8267880을 참조하십시오.
  • 기타 참고사항: SHA-1로 서명된 JAR 사용 안함
    이제 SHA-1 알고리즘으로 서명된 JAR이 기본적으로 제한되며 서명되지 않은 것으로 취급됩니다. 이는 JAR의 다이제스트, 서명 및 선택적 시간기록에 사용되는 알고리즘에 적용됩니다. 또한 코드 서명자 및 시간기록 기관의 인증서 체인에 있는 인증서의 서명 및 다이제스트 알고리즘에 적용되고, 이 인증서가 취소되었는지 확인하는 데 사용되는 CRL 또는 OCSP 응답에도 적용됩니다. 이 제한사항은 서명된 JCE 제공자에도 적용됩니다.
    JDK-8269039를 참조하십시오.
  • 기타 참고사항: Kerberos에서 3DES 및 RC4 지원 중단
    이제 des3-hmac-sha1rc4-hmac Kerberos 암호화 유형(etypes)이 지원 중단되고 기본적으로 사용 안함으로 설정됩니다. 사용자는 재량에 따라 krb5.conf 구성 파일에서 allow_weak_crypto = true를 설정하여 (des-cbc-crcdes-cbc-md5를 포함한 다른 약한 etypes와 함께) 다시 사용으로 설정할 수 있습니다. 약한 etypes의 부분 집합을 사용 안함으로 설정하려면 사용자가 default_tkt_enctypes, default_tgs_enctypes 또는 permitted_enctypes 설정에서 명시적으로 선호 etypes를 나열할 수 있습니다.
    JDK-8139348을 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u351)는 2023년 1월 17일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2023년 02월 17일에 이 JRE(버전 8u351)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u351 버그 수정 페이지를 참조하십시오.

» 8u351 릴리스 노트


Java 8 Update 341(8u341)

릴리스 주요 기능
  • IANA 시간대 데이터 2022a.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새 기능: Java GSS/Kerberos에 대한 HTTPS 채널 바인딩 지원

    javax.net.HttpsURLConnection을 통해 HTTPS를 사용하는 Negotiate/Kerberos 인증에 대한 TLS 채널 바인딩 토큰 지원이 추가되었습니다.

    향상된 보안 형식의 채널 바인딩 토큰에 대한 요구가 점차 늘어나고 있습니다. 이러한 토큰은 접속 보안(TLS 서버 인증서로 표현됨)과 더 높은 인증 자격 증명(사용자 이름 및 비밀번호 등) 사이의 바인딩에 대해 클라이언트에서 확인된 정보를 클라이언트에서 서버로 전달하는 방식으로 작동합니다. 그런 후 서버는 클라이언트가 MITM에 의해 속았는지 탐지하고 세션/접속을 종료할 수 있습니다.

    JDK-8279842를 참조하십시오.
  • 새 기능: 클라이언트 롤에 대해 JDK 8u에서 기본적으로 TLSv1.3을 사용으로 설정합니다.

    TLSv1.3 구현은 8u261의 JDK 8u에서 사용할 수 있으며 서버 롤에는 기본적으로 사용으로 설정되지만 클라이언트 롤에는 기본적으로 사용 안함으로 설정됩니다. 이 릴리스부터는 이제 TLSv1.3도 클라이언트 롤에 대해 기본적으로 사용으로 설정됩니다. 자세한 내용은 Oracle JRE 및 JDK 암호화 로드맵추가 정보 섹션에서 찾아볼 수 있습니다.

    JDK-8245263을 참조하십시오.
  • 기타 참고사항:모호한 IPv4 주소 리터럴을 감지하려면 java.net.InetAddress를 업데이트하십시오.

    java.net.InetAddress 클래스는 IPv4 주소 리터럴을 10진수 쿼드 표기법으로 엄격하게 허용하도록 업데이트되었습니다. InetAddress 클래스 메소드는 부적합한 IPv4 주소 리터럴에 대해 java.net.UnknownHostException을 발생시키도록 업데이트되었습니다. 이 검사를 사용 안함으로 설정하기 위해서는 새 "jdk.net.allowAmbiguousIPAddressLiterals" 시스템 속성을 "true"로 설정할 수 있습니다.

    JDK-8277608(비공개) 참조
  • 기타 참고사항:Firefox 102를 사용하여 다운로드할 때 JDK 번들 확장자가 잘림

    oracle.com 및 java.com에서 Firefox 버전 102를 사용하여 다운로드할 때 특정 JDK 번들 확장자가 잘립니다. 다운로드한 번들에 ".exe", ".rpm", ".deb"와 같은 파일 확장자가 없습니다. 출시된 Firefox ESR 102.0.1 또는 Firefox 103으로 업그레이드할 수 없는 경우 임시해결책으로 다음을 수행할 수 있습니다.
        ‐다운로드 후 파일 이름에 파일 확장자를 수동으로 추가하십시오.
        ‐다른 브라우저를 사용하십시오.
    JDK-8277093을 참조하십시오.

JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u341)는 2022년 10월 18일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2022년 11월 18일에 이 JRE(버전 8u341)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u341 버그 수정 페이지를 참조하십시오.

» 8u341 릴리스 노트


Java 8 Update 333(8u333)

릴리스 주요 기능
  • IANA 시간대 데이터 2021a.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 변경사항: 기본적으로 Windows 대체 데이터 스트림 사용으로 설정

    java.io.File에 대한 Windows 구현이 변경되어 파일 경로에서 기본적으로 엄격한 유효성 검사가 수행되지 않습니다. 이에 따라 단일 드라이브 문자 직후가 아닌 경로에서 콜론(‘:’)이 허용됩니다. 또한 “filename:streamname”과 같은 NTFS ADS(대체 데이터 스트림)를 나타내는 경로가 허용됩니다. 이는 2022년 4월 CPU 이전에 실행되었던 java.io.File의 기본 동작을 복원하는 것으로, Windows의 파일 경로에서 기본적으로 엄격한 유효성 검사가 수행되지 않았습니다. java.io.File에서 엄격한 경로 검사를 다시 사용으로 설정하려면 시스템 속성 jdk.io.File.enableADSfalse(대소문자 무시)로 설정해야 합니다. 예를 들어 NUL:과 같은 Windows 특수 장치 경로가 사용되지 않는 경우 이 방법이 바람직할 수 있습니다.

    JDK-8285445를 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u333)는 2022년 7월 19일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2022년 8월 19일에 이 JRE(버전 8u333)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스는 이전 CPU에 기반하며 추가 보안 수정을 포함하지 않습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u333 릴리스 노트 페이지를 참조하십시오.

» 8u333 릴리스 노트


Java 8 Update 331(8u331)

릴리스 주요 기능
  • IANA 시간대 데이터 2021e.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: 새로운 XML 처리 제한
    세 가지 처리 제한이 추가되었습니다. 다음과 같습니다.
    • jdk.xml.xpathExprGrpLimit
      설명: XPath 표현식이 포함할 수 있는 그룹 수를 제한합니다.
      유형: 정수
      값: 양의 정수. 값이 0이하면 제한이 없음을 의미합니다. 값이 정수가 아니면 NumberFormatException이 발생합니다. 기본값은 10입니다.
    • jdk.xml.xpathExprOpLimit
      설명: XPath 표현식이 포함할 수 있는 연산자 수를 제한합니다.
      유형: 정수
      값: 양의 정수. 값이 0이하면 제한이 없음을 의미합니다. 값이 정수가 아니면 NumberFormatException이 발생합니다. 기본값은 100입니다.
    • jdk.xml.xpathTotalOpLimit
      설명: XSL 스타일시트의 총 XPath 연산자 수를 제한합니다.
      유형: 정수
      값: 양의 정수. 값이 0이하면 제한이 없음을 의미합니다. 값이 정수가 아니면 NumberFormatException이 발생합니다. 기본값은 10000입니다.

    지원되는 프로세서
    • jdk.xml.xpathExprGrpLimitjdk.xml.xpathExprOpLimit가 XPath 프로세서에서 지원됩니다.
    • 세 가지 제한 모두 XSLT 프로세서에서 지원됩니다.

    속성 설정

    XSLT 프로세서의 경우 TransformerFactory를 통해 속성을 변경할 수 있습니다. 예를 들면 다음과 같습니다.

    <code>        TransformerFactory factory = TransformerFactory.newInstance();
    
            factory.setAttribute("jdk.xml.xpathTotalOpLimit", "1000");
    

    XPath 및 XSLT 프로세서 모두 시스템 속성과 Java 설치의 conf 디렉토리에 있는 jaxp.properties 구성 파일을 통해 속성을 설정할 수 있습니다. 예를 들면 다음과 같습니다.

    <code>        System.setProperty("jdk.xml.xpathExprGrpLimit", "20");
    
    
    또는 jaxp.properties 파일,
    <code>        jdk.xml.xpathExprGrpLimit=20
    
    
    JDK-8270504(비공개)
  • 기타 참고사항: macOS KeychainStore에서 적절한 신뢰 설정이 있는 인증서만 신뢰할 수 있는 인증서 항목으로 노출
    macOS에서는 사용자 키 체인에서 적절한 신뢰 설정이 있는 인증서만 키 저장소의 KeychainStore 유형에 신뢰할 수 있는 인증서 항목으로 노출됩니다. 또한 이제 KeychainStore 키 저장소에서 KeyStore::setCertificateEntry 메소드 또는 keytool -importcert 명령을 호출하면 KeyStoreException으로 작업이 실패합니다. 대신 macOS "security add-trusted-cert" 명령을 호출하여 신뢰할 수 있는 인증서를 사용자 키 체인에 추가하십시오.
    JDK-8278449(비공개)
  • 기타 참고사항: LDAP, DNS, RMI 및 CORBA 내장 JNDI 제공자의 URL 구문 분석이 더 엄격해졌습니다. 구문분석 강도는 시스템 속성으로 제어할 수 있습니다.
    LDAP, DNS 및 RMI 내장 JNDI 제공자의 URL 구문분석이 더 엄격해졌습니다. 구문 분석 강도는 시스템 속성으로 제어할 수 있습니다.
    <code>  -Dcom.sun.jndi.ldapURLParsing="legacy" | "compat" | "strict" (to control "ldap:" URLs)
    
    
      -Dcom.sun.jndi.dnsURLParsing="legacy" | "compat" | "strict" (to control "dns:" URLs)
    
      -Dcom.sun.jndi.rmiURLParsing="legacy" | "compat" | "strict" (to control "rmi:" URLs)
    
      -Dcom.sun.jndi.corbaURLParsing="legacy" | "compat" | "strict" (to control "iiop:" and "iiopname:" URLs)
    
    
    기본값은 모든 항목에 대해 "compat"입니다.
    • "legacy" 모드는 새 검증을 해제합니다.
    • "compat" 모드는 비호환성을 제한합니다.
    • "strict" 모드는 더 엄격하고 애플리케이션에서 적합한 것으로 고려될 수 있는 URL을 거절하여 회귀를 일으킬 수 있습니다.

    부적합한 URL 문자열이 발견되면 javax.naming.NamingException(또는 이것의 하위 클래스)이 발생합니다.
    JDK-8278972(비공개)

JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u331)는 2022년 7월 19일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2022년 8월 19일에 이 JRE(버전 8u331)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u331 버그 수정 페이지를 참조하십시오.

» 8u331 릴리스 노트

 


Java 8 Update 321(8u321)

릴리스 주요 기능
  • IANA 시간대 데이터 2021b, 2021c, 2021d, 2021e.
    JDK 8u321에는 IANA 시간대 데이터 2021b, 2021c, 2021d, 2021e가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: 새 SunPKCS11 구성 속성
    SunPKCS11 제공자가 고유 리소스 사용 제어 향상을 위해 새 제공자 구성 속성을 추가했습니다. SunPKCS11 제공자는 고유 PKCS11 라이브러리를 사용하기 위해 고유 리소스를 소비합니다. 고유 리소스 관리와 제어 향상을 위해 고유 참조를 지우는 빈도와 로그아웃 후 기본 PKCS11 토큰을 삭제할지 여부를 제어할 수 있도록 여러 구성 속성이 추가됩니다.
    JDK-8240256을 참조하십시오.
  • 제거된 기능 및 옵션: Google GlobalSign 루트 인증서 제거됨
    Google의 다음 루트 인증서가 cacerts 키 저장소에서 제거되었습니다.
    + alias name "globalsignr2ca [jdk]"
    Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2

    JDK-8225083을 참조하십시오.
  • 기타 참고사항: 시간대 데이터를 2021c로 업데이트
    JDK 날짜/시간 라이브러리의 기반인 IANA 시간대 데이터베이스가 2021c 이후 일부 시간대 규칙을 변경했습니다. 이 업데이트 이후 1970년 이전의 일부 시간대 규칙이 2021b에 소개된 변경사항에 따라 수정되었습니다. 자세한 내용은 2021b 공지를 참조하십시오.
    JDK-8274407을 참조하십시오.
JDK를 최신 상태로 유지

오라클은 각 CPU(중요한 패치 업데이트)로 JDK를 업데이트할 것을 권장합니다. 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u291)는 2021년 7월 20일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2021년 8월 20일에 이 JRE(버전 8u291)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u321 버그 수정 페이지를 참조하십시오.

» 8u321 릴리스 노트


Java 8 Update 311(8u311)

릴리스 주요 기능
  • IANA 시간대 데이터 2021a.
    자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새 기능: JDK 8u의 Marlin 렌더러
    버전 8u311부터 Marlin 그래픽이 래스터라이즈되고 해당 아티팩트가 JDK/JRE 번들의 일부로 구축 및 분산됩니다. 기본 렌더링 엔진이 아니지만 다음 시스템 속성을 설정하여 이를 사용으로 설정하는 옵션이 있습니다.
    sun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
    JDK-8143849를 참조하십시오.
  • 새 기능: 컨텍스트 특정 역직렬화 필터 부분 집합
    애플리케이션이 각 역직렬화 스트림에 대해 필터를 선택하도록 호출된 JVM 전체 필터 팩토리를 통해 컨텍스트별 및 동적으로 선택된 역직렬화 필터를 구성하도록 허용합니다. 동작은 명령행 또는 보안 속성 파일에 구성된 속성을 사용하여 필터 팩토리를 구성하도록 허용하는 JEP 415: 컨텍스트 특정 역직렬화 필터의 엄격한 부분 집합입니다.
    자세한 내용은 컨텍스트 특정 역직렬화 필터역직렬화 필터링 가이드를 참조하십시오.
    JDK-8268680(비공개)
  • 제거된 기능 및 옵션: 제거된 IdenTrust 루트 인증서
    IdenTrust의 다음 루트 인증서가 cacerts 키 저장소에서 제거되었습니다.
    + alias name "identrustdstx3 [jdk]"
    Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
    JDK-8225082를 참조하십시오.
  • 기타 참고사항: 릴리즈가 Windows 11을 올바르게 인식하지 않음
    이 릴리스는 Windows 11을 올바르게 인식하지 않습니다. Windows 11에서 os.name 속성이 Windows 10으로 설정됩니다. HotSpot 오류 로그에서 OS가 Windows 10으로 식별됩니다. 하지만 HotSpot 오류 로그에 빌드 번호가 표시됩니다. Windows 11에는 빌드 22000.194 이상이 포함됩니다.
    JDK-8274840을 참조하십시오.
  • 기타 참고사항: 업데이트된 기본 사용 설정 암호화 모음 환경설정
    TLS 1.0부터 TLS 1.3까지 암호화 모음의 기본 우선순위가 조정되었습니다.
    TLS 1.3의 경우 이제 TLS_AES_256_GCM_SHA384가 TLS_AES_128_GCM_SHA256보다 선호됩니다.
    TLS 1.0부터 TLS 1.2까지는 일부 중간 모음의 우선순위가 다음과 같이 낮아졌습니다.
    • 순방향 비밀성을 보존하지 않는 암호화 모음의 우선순위가 순방향 비밀성을 지원하는 암호화 모음보다 낮게 이동되었습니다.
    • SHA-1을 사용하는 암호화 모음의 우선순위가 낮게 이동되었습니다.
    JDK-8163326을 참조하십시오.
  • 기타 참고사항: 적합한 프록시를 찾을 수 없을 때 HttpURLConnection 동작 수정
    이 JDK 릴리스에서 ProxySelector를 사용할 때 HttpURLConnection의 동작이 수정되었습니다. 구성된 프록시가 접속을 수행하지 못한 경우 직접 접속 시도로 폴백하도록 HttpURLConnection이 사용되었습니다. 이 릴리스부터 시작하여 첫번째 프록시 접속 시도가 실패할 때 더 이상 직접 접속을 사용하지 않도록 기본 동작이 변경되었습니다.
    JDK-8161016을 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u311)는 2022년 1월 18일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2022년 02월 18일에 이 JRE(버전 8u311)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u311 버그 수정 페이지를 참조하십시오.

» 8u311 릴리스 노트


Java 8 Update 301(8u301)

릴리스 주요 기능
  • IANA 시간대 데이터 2021a.
    JDK 8u301에는 IANA 시간대 데이터 2021a가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: PKCS12 키 저장소 생성 사용자정의
    PKCS #12 키 저장소 생성을 사용자가 정의할 수 있도록 새로운 시스템 및 보안 속성이 추가되었습니다. 여기에는 키 보호, 인증서 보호 및 MacData를 위한 알고리즘과 매개변수가 포함됩니다. 이러한 속성에 대한 자세한 설명 및 가능한 값은 java.security 파일의 "PKCS12 키 저장소 속성" 섹션에서 확인할 수 있습니다.
    JDK-8076190을 참조하십시오.
  • 제거된 기능 및 옵션: 1024비트 키를 사용하는 루트 인증서 제거
    취약한 1024비트 RSA 퍼블릭 키를 사용하는 루트 인증서가 cacerts 키 저장소에서 제거되었습니다.
    JDK-8243559를 참조하십시오.
  • 제거된 기능 및 옵션: Telia Company의 Sonera Class2 CA 인증서 제거
    다음 루트 인증서가 cacerts 보안 저장소에서 제거되었습니다.
    + Telia Company
    + soneraclass2ca
    DN: CN=Sonera Class2 CA, O=Sonera, C=FI

    JDK-8225081을 참조하십시오.
  • 기타 참고사항: 기본 PKCS12 암호화 알고리즘 업그레이드
    PKCS #12 키 저장소에 사용되는 기본 암호화 알고리즘이 업데이트되었습니다. 새 알고리즘은 AES-256 및 SHA-256 기반으로, RC2, DESede 및 SHA-1 기반의 이전 알고리즘보다 강력합니다. 자세한 내용은 java.security 파일에서 keystore.pkcs12로 시작하는 보안 속성을 참조하십시오.
    호환성을 위해 보다 약한 이전 알고리즘을 사용하도록 알고리즘을 되돌리는 keystore.pkcs12.legacy라는 새로운 시스템 속성이 정의되었습니다. 이 속성에 대해 정의된 값이 없습니다.
    JDK-8153005를 참조하십시오.
JDK를 최신 상태로 유지

Oracle은 각 중요한 패치 업데이트로 JDK를 업데이트할 것을 권장합니다 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u301)는 2021년 10월 19일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2021년 11월 19일에 이 JRE(버전 8u301)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u301 버그 수정 페이지를 참조하십시오.

» 8u301 릴리스 노트


Java 8 Update 291(8u291)

릴리스 주요 기능
  • IANA 시간대 데이터 2020e, 2020f, 2021a.
    JDK 8u291에는 IANA 시간대 데이터 2020e, 2020f, 2021a가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 기타 참고사항: JDK 내장 JNDI RMI 및 LDAP 구현을 통해 원격 객체의 재구성을 제어하는 새로운 시스템 및 보안 속성
    jdk.jndi.object.factoriesFilter: 이 시스템 및 보안 속성은 이름 지정/디렉토리 시스템에서 반환된 객체 참조로부터 객체를 인스턴스화하도록 허용된 객체 팩토리 클래스 집합을 제어하는 직렬 필터를 지정할 수 있습니다. 참조 인스턴스에 의해 명명된 팩토리 클래스는 원격 참조 재구성 중에 이 필터와 일치됩니다. 필터 속성은 JEP 290에서 지정된 형식으로 패턴 기반 필터 구문을 지원합니다. 이 속성은 JNDI/RMI 및 JNDI/LDAP 내장 제공자 구현에 모두 적용됩니다. 기본값은 참조에 지정된 모든 객체 팩토리 클래스가 참조된 객체를 재생성하는 것입니다.
    JDK-8244473(비공개)
  • 기타 참고사항: jar 두 번 누르기 실행으로 기본 java 버전이 업데이트되지 않음
    PATH 환경 변수에 최신 릴리스의 Oracle JDK 설치 프로그램이 구성한 레코드가 포함된 경우 Oracle JRE 설치 프로그램은 해당 레코드 뒤의 PATH 환경 변수에 Java 명령(java.exe, javaw.exe, javaws.exe)을 포함하는 디렉토리 경로를 삽입합니다. 이전에 Oracle JRE 설치 프로그램은 최신 릴리스의 Oracle JDK 설치 프로그램에 의한 PATH 환경 변수 변경사항을 무시했고 PATH 환경 변수 값을 부정확하게 업데이트했습니다. 추가 기술 정보는 다음 CSR을 참조하십시오: https://bugs.openjdk.java.net/browse/JDK-8259858
    JDK-8259215를 참조하십시오.
  • 기타 참고사항: TLS 1.0 및 1.1 사용 안함
    TLS 1.0 및 1.1은 더 이상 안전하지 않은 TLS 프로토콜 버전이며 더 안전한 최신식 버전(TLS 1.2 및 1.3)으로 교체되었습니다.
    해당 버전은 이제 기본적으로 사용 안함으로 설정되었습니다. 문제가 발생하면 사용자 재량에 따라 java.security 구성 파일의 jdk.tls.disabledAlgorithms 보안 속성에서 "TLSv1" 및/또는 "TLSv1.1"을 제거하여 버전을 다시 사용으로 설정할 수 있습니다.
    JDK-8202343을 참조하십시오.
  • 기타 참고사항: Java 플러그인 애플릿 및 Java Web Start 애플리케이션에 대해 TLS 1.0 및 1.1 사용 안함
    TLS 1.0 및 1.1이 사용 안함으로 설정되었습니다. 이 프로토콜은 기본적으로 Java 플러그인 애플릿 및 Java Web Start 애플리케이션에서 사용되지 않습니다. 문제가 발생할 경우 Java 제어판을 통해 프로토콜을 다시 사용으로 설정하는 옵션이 있습니다.
    JDK-8255892(비공개)
JDK를 최신 상태로 유지

오라클은 각 CPU(중요한 패치 업데이트)로 JDK를 업데이트할 것을 권장합니다. 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u291)는 2021년 7월 20일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2021년 8월 20일에 이 JRE(버전 8u291)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u291 버그 수정 페이지를 참조하십시오.

» 8u291 릴리스 노트


Java 8 Update 281(8u281)

릴리스 주요 기능
  • IANA Data 2020d
    JDK 8u281에는 IANA 시간대 데이터 버전 2020d가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새 기능: keytool 키 쌍 생성에 groupname 옵션 추가
    사용자가 키 쌍을 생성할 때 이름이 지정된 그룹을 지정할 수 있도록 새로운 -groupname 옵션이 keytool -genkeypair에 추가되었습니다. 예를 들어 keytool -genkeypair -keyalg EC -groupname secp384r1secp384r1 곡선을 사용하여 EC 키 쌍을 생성합니다. 동일한 크기의 곡선이 여러 개 존재할 수 있으므로 -keysize 옵션보다 -groupname 옵션을 사용하는 것이 좋습니다.
    JDK-8213400을 참조하십시오.
  • 새 기능: Apache Santuario 라이브러리 버전 2.1.4 업데이트
    Apache Santuario 라이브러리가 버전 2.1.4로 업그레이드되었습니다. 따라서 새로운 시스템 속성 com.sun.org.apache.xml.internal.security.parser.pool-size가 도입되었습니다.
    이 새로운 시스템 속성은 XML 서명을 처리할 때 사용되는 내부 DocumentBuilder 캐시의 풀 크기를 설정합니다. 이 기능은 Apache Santuario에서 사용되는 org.apache.xml.security.parser.pool-size 시스템 속성과 동일하며 동일한 기본값 20을 갖습니다.
    JDK-8231507을 참조하십시오.
  • 새 기능: certificate_authorities 확장 지원
    "certificate_authorities" 확장은 TLS 1.3에 도입된 선택적 확장입니다. 끝점이 지원하는 CA(인증 기관)를 나타내기 위해 사용되며, 인증서 선택 안내를 위해 수신 끝점에서 사용됩니다.
    JDK-8206925를 참조하십시오.
  • 기타 참고: 사양 준수를 위한 Properties.loadFromXML 변경
    java.util.Properties loadFromXML 메소드 구현이 해당 사양 준수를 위해 변경되었습니다. 특히 이제는 기본 XML 구문 분석기 구현 시 loadFromXML 메소드로 지정된 대로 InvalidPropertiesFormatException을 발생시켜서 호환되지 않는 XML 문서를 거부합니다.
    JDK-8213325를 참조하십시오.
  • 기타 참고: tzdata2020b에 따른 US/Pacific-New 영역 이름 제거
    JDK 업데이트 tzdata2020b에 따라 오래되어 사용되지 않는 pacificnewsystemv 파일이 제거되었습니다. 따라서 pacificnew 데이터 파일에 선언된 "US/Pacific-New" 영역 이름을 더 이상 사용할 수 없습니다.
    JDK-8254177을 참조하십시오.
JDK를 최신 상태로 유지

오라클은 각 CPU(중요한 패치 업데이트)로 JDK를 업데이트할 것을 권장합니다. 릴리스가 최신인지 확인하려면 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u281)는 2021년 4월 20일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2021년 5월 15일에 이 JRE(버전 8u281)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u281 버그 수정 페이지를 참조하십시오.

» 8u281 릴리스 노트


Java 8 Update 271(8u271)

릴리스 주요 기능
  • IANA 데이터 2020a
    JDK 8u271에는 IANA 시간대 데이터 버전 2020a가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새 기능: TLS, CertPath 및 서명된 JAR에서 약한 명명된 곡선이 기본적으로 사용 안함으로 설정됨
    약한 명명된 곡선은 disabledAlgorithms 보안 속성인 jdk.tls.disabledAlgorithms, jdk.certpath.disabledAlgorithmsjdk.jar.disabledAlgorithms에 추가하여 기본적으로 사용 안함으로 설정됩니다. 47개의 약한 명명된 곡선이 사용 안함으로 설정된 상태로는 각 disabledAlgorithms 속성에 개별 명명된 곡선을 추가하기 어려울 수 있습니다. 이 문제를 해결하기 위해 새로운 보안 속성인 jdk.disabled.namedCurves가 구현되었습니다. 이 속성은 모든 disabledAlgorithms 속성에 공통인 명명된 곡선을 나열할 수 있습니다. disabledAlgorithms 속성에 새 속성을 사용하려면 전체 속성 이름 앞에 include 키워드를 둡니다. 이 새 속성과 별도로 사용자는 여전히 개별 명명된 곡선을 disabledAlgorithms 속성에 추가할 수 있습니다. 다른 속성은 disabledAlgorithms 속성에 포함할 수 없습니다.
    JDK-8233228을 참조하십시오.
  • 새 기능: Kerberos 교차 영역 참조 지원(RFC 6806)
    RFC 6806 프로토콜 확장에 정의된 대로 기본 이름 정규화 및 교차 영역 참조 지원으로 Kerberos 클라이언트가 향상되었습니다.
    이 새 기능에 따라 Kerberos 클라이언트가 보다 동적인 환경 구성을 활용할 수 있으며, 대상 주체(사용자 또는 서비스)의 영역에 연결할 방법을 반드시 (미리) 알 필요가 없습니다.
    JDK-8223172를 참조하십시오.
  • 제거된 기능: Java 플러그인이 Linux, Solaris 및 MacOS 플랫폼용 JDK 8u에서 제거됨
    NPAPI가 취약한 플러그인으로 간주되어 여러 브라우저에서 사용 안함으로 설정되었습니다. 현재는 Linux, Solaris 및 MacOS 플랫폼에서 NPAPI 기반의 Java 플러그인이 지원되는 브라우저가 없습니다.
    8u271부터는 브라우저(특히 libnpjp2 라이브러리) 및 연관된 아티팩트와의 통합 및 상호작용을 담당하는 Java 플러그인 부분이 제작되지 않으며, Linux, Solaris 및 MacOS 플랫폼에서 JRE 배포에 포함되지 않습니다.
    JDK-8240210(비공개)
  • 기타 참고: Clear 접속을 통한 인증을 허용하는 LDAP 인증 방식 제어 속성이 추가됨
    clear LDAP 접속(TLS 보안이 설정되지 않은 접속)으로 인증서 전송을 허용하는 LDAP 인증 방식 제어를 위해 새로운 환경 속성인 jdk.jndi.ldap.mechsAllowedToSendCredentials가 추가되었습니다. encrypted LDAP 접속은 ldaps 스키마를 사용하여 열리는 접속이거나 ldap 스키마를 사용하여 열리는 접속이며, 이후 STARTTLS 확장 작업으로 TLS로 업그레이드됩니다.
    JDK-8237990(비공개)
JDK를 최신 상태로 유지

오라클은 각 CPU(중요한 패치 업데이트)로 JDK를 업데이트할 것을 권장합니다. 릴리스가 최신인지 확인하려면 다음 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u271)는 2021년 1월 19일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2021년 2월 20일에 이 JRE(버전 8u271)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide의 23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u271 버그 수정 페이지를 참조하십시오.

» 8u271 릴리스 노트


Java 8 Update 261(8u261)

릴리스 주요 기능
  • IANA 데이터 2020a
    JDK 8u261에는 IANA 시간대 데이터 버전 2020a가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: JDK/JRE Runtime Windows Visual Studio Library (DLL) 종속성 변경사항
    진행 중인 유지보수의 일부로, Microsoft Visual Studio 2017 도구 체인이 Windows용 JDK 7 및 JDK 8 빌드에 사용됩니다. JDK 8u261(2020년 7월 CPU)은 Visual Studio 2017로 빌드되었습니다. 2020년 10월 CPU 릴리스부터 JDK 7u281이 Visual Studio 2017로 이동됩니다.
    JDK-8246783(비공개)
  • 새로운 기능: JEP 332 TLS(전송 계층 보안) 1.3
    JDK 8u261에 TLS(전송 계층 보안) 1.3 사양(RFC 8446)이 구현됩니다. 지원되는 기능 목록을 포함한 자세한 내용은 Java Secure Socket Extension (JSSE) Reference Guide 설명서 및 JEP 332를 참조하십시오.
    JDK-814252를 참조하십시오.
  • 새로운 기능: TLS 서명 체계를 구성하는 새로운 시스템 속성
    JDK에서 TLS 서명 체계를 사용자정의하는 두 가지 새로운 시스템 속성이 추가되었습니다.
    jdk.tls.client.SignatureSchemes가 TLS 클라이언트측에 추가되고 jdk.tls.server.SignatureSchemes가 서버측에 추가되었습니다.
    JDK-8242141을 참조하십시오.
  • 새로운 기능: TLS에 대해 협상된 Finite Field Diffie-Hellman Ephemeral 매개변수 제공
    JDK SunJSSE 구현이 이제 RFC 7919에 정의된 TLS FFDHE 방식을 지원합니다. supported_groups TLS 확장 또는 확장의 이름 지정된 그룹을 서버에서 처리할 수 없는 경우 응용 프로그램에서는 jdk.tls.namedGroups를 사용하여 지원되는 그룹 이름을 사용자정의하거나, 시스템 속성 jsse.enableFFDHE를 false로 설정하여 FFDHE 방식을 해제할 수 있습니다.
    JDK-8140436을 참조하십시오.
JDK를 최신 상태로 유지

오라클은 각 CPU(중요한 패치 업데이트)로 JDK를 업데이트할 것을 권장합니다. 릴리스가 최신인지 확인하려면 다음 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u261)는 2020년 10월 13일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

수많은 데스크톱에서 JRE 업데이트/설치를 관리하는 Java SE 구독 고객은 Java AMC(Advanced Management Console) 사용을 고려해야 합니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2020년 11월 13일에 이 JRE(버전 8u261)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide의 23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u261 버그 수정 페이지를 참조하십시오.

» 8u261 릴리스 노트


Java 8 Update 251(8u251)

릴리스 주요 기능
  • IANA 데이터 2019c
    JDK 8u251에는 IANA 시간대 데이터 버전 2019c가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: RSASSA-PSS 서명을 포함한 PKCS#1 v2.2 알고리즘 지원이 추가됨
    FIPS 180-4 Digest 알고리즘을 사용하는 RSASSA-PSS 서명 및 OAEP와 같이 PKCS#1 v2.2에 정의된 추가 알고리즘 지원으로 SunRsaSign 및 SunJCE 제공자가 향상되었습니다. 추가 RSASSA-PSS 매개변수를 지원하기 위해 새로운 생성자와 메소드가 java.security.specjavax.crypto.spec 패키지 아래의 관련 JCA/JCE 클래스에 추가되었습니다.
    JDK-8146293을 참조하십시오.
  • 기타 참고사항: WebEngine이 특정 클래스에 대한 JavaScript 메소드 호출 제한
    WebEngine으로 로드된 웹 페이지의 컨텍스트에서 실행되는 JavaScript 프로그램은 애플리케이션에서 JavaScript 프로그램으로 전달된 Java 객체와 통신할 수 있습니다. 이제 java.lang.Class 객체를 참조하는 JavaScript 프로그램은 다음 메소드로 제한됩니다.
    getCanonicalName
    getEnumConstants
    getFields
    getMethods
    getName
    getPackageName
    getSimpleName
    getSuperclass
    getTypeName
    getTypeParameters
    isAssignableFrom
    isArray
    isEnum
    isInstance
    isInterface
    isLocalClass
    isMemberClass
    isPrimitive
    isSynthetic
    toGenericString
    toString


    다음 클래스에는 메소드를 호출할 수 없습니다.
    java.lang.ClassLoader
    java.lang.Module
    java.lang.Runtime
    java.lang.System

    java.lang.invoke.*
    java.lang.module.*
    java.lang.reflect.*
    java.security.*
    sun.misc.*


    JDK-8236798(비공개)
  • 기타 참고사항: 새로운 Oracle 특정 JDK 8 업데이트에서 시스템 속성이 레거시 Base64 인코딩 형식으로 돌아감
    Oracle JDK 8u231에서 Apache Santuario 라이브러리가 v2.1.3으로 업그레이드되었습니다. 이 업그레이드로 인해 Base64 인코딩을 사용하는 XML 서명에서 &#xd 또는 &#13이 인코딩 출력에 추가되는 문제가 발생했습니다. Apache Santuario 코드베이스의 이러한 기능 변경은 RFC 2045를 준수하기 위해 수행되었습니다. Santuario 팀은 해당 라이브러리가 RFC 2045를 준수하는 입장을 채택했습니다.
    JDK-8236645를 참조하십시오.
JDK를 최신 상태로 유지

오라클은 각 CPU(중요한 패치 업데이트)로 JDK를 업데이트할 것을 권장합니다. 릴리스가 최신인지 확인하려면 다음 보안 기준 페이지를 사용하여 각 릴리스 제품군의 최신 버전을 확인할 수 있습니다.

보안 취약점 수정이 포함된 중요 패치 업데이트는 중요 패치 업데이트, 보안 경보 및 공지에서 1년 먼저 발표됩니다. 이 JDK(버전 8u251)는 2020년 7월 14일 예정된 다음 중요 패치 업데이트 후에 사용하지 않는 것이 좋습니다.

Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2020년 8월 14일에 이 JRE(버전 8u251)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다. 자세한 내용은 Java Platform, Standard Edition Deployment Guide의 23.1.2 JRE 만료 날짜를 참조하십시오.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u251 버그 수정 페이지를 참조하십시오.

» 8u251 릴리스 노트


Java 8 Update 241(8u241)

릴리스 주요 기능
  • IANA 데이터 2019c
    JDK 8u241에는 IANA 시간대 데이터 버전 2019c가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: SASL 방식 제한 허용
    SASL 방식을 사용 안함으로 설정하는 데 사용할 수 있도록 이름이 jdk.sasl.disabledMechanisms인 보안 속성이 추가되었습니다. 사용 안함으로 설정된 방식은 Sasl.createSaslClientmechanisms 인수 또는 Sasl.createSaslServermechanism 인수에서 지정된 경우 무시됩니다. 이 보안 속성에 대한 기본값은 비어 있습니다. 사용 안함으로 설정되는 방식이 미리 정의되어 있지 않은 것입니다.
    JDK-8200400을 참조하십시오.
  • 새로운 기능: PKCS#11 v2.40 지원으로 SunPKCS11 제공자가 업그레이드됨
    PKCS#11 v2.40 지원으로 SunPKCS11 제공자가 업데이트되었습니다. 해당하는 PKCS11 방식이 기본 PKCS11 라이브러리에서 지원되는 경우 이 버전에서는 AES/GCM/NoPadding 암호화, 메시지 Digest의 SHA-2 제품군을 사용하는 DSA 서명, RSASSA-PSS 서명 등의 알고리즘이 추가적으로 지원됩니다.
    JDK-8080462를 참조하십시오.
  • 기타 참고사항: 신뢰 앵커 인증서의 새 검사
    신뢰 앵커가 CA 인증서이며 적절한 확장을 포함하는지 확인하는 새 검사가 추가되었습니다. 신뢰 앵커는 TLS 및 서명된 코드에 사용되는 인증서 체인을 검증하는 데 사용됩니다. 신뢰 앵커 인증서에는 CA 필드가 true로 설정된 기본 제약 조건 확장이 포함되어야 합니다. 또한 키 사용 확장이 포함된 경우 keyCertSign 비트를 설정해야 합니다.
    JDK-8230318(비공개)
  • 기타 참고사항: 신뢰할 수 있는 TLS 서버 인증서가 정확히 일치해야 함
    TLS 접속을 설정할 때 신뢰할 수 있는 것으로 확인되도록 TLS 서버 인증서가 클라이언트의 신뢰할 수 있는 인증서와 정확히 일치해야 합니다.
    JDK-8227758(비공개)
  • 기타 참고사항: LuxTrust 전역 루트 2 인증서 추가
    LuxTrust 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    JDK-8232019를 참조하십시오.
  • 기타 참고사항: 네 개의 Amazon 루트 CA 인증서 추가
    Amazon 루트 인증서가 cacerts 보안 저장소에 추가되었습니다.
    JDK-8233223을 참조하십시오.
  • 버그 수정: OpenType CFF 글꼴 지원
    이전에는 Oracle JDK 8에서 OpenType CFF 글꼴(.otf 글꼴)이 표준 논리적 글꼴(예: "Dialog" 및 "SansSerif")에 포함되지 않았습니다. 이로 인해 텍스트를 렌더링할 때 상형 문자가 누락되었습니다. CFF 글꼴만 시스템에 설치된 경우 가장 극단적으로 Java 예외사항이 발생할 수 있습니다.
    Linux 배포는 CFF 글꼴에 기반하여 일부 언어를 지원하기 때문에 CJK(중국어, 일본어 및 한국어) 언어에 공통되는 이 문제로 인해 여러 Linux 배포가 영향을 받았습니다.
    이제 Oracle JDK 8에 이러한 CFF 글꼴이 사용되어 이 문제가 해결되었습니다.
    JDK-8209672를 참조하십시오.
  • 버그 수정: 직렬 필터 처리 향상
    jdk.serialFilter 시스템 속성은 명령행에서만 설정할 수 있습니다. 필터가 명령행에서 설정되지 않은 경우 java.io.ObjectInputFilter.Config.setSerialFilter를 사용하여 설정할 수 있습니다. java.lang.System.setProperty를 사용한 jdk.serialFilter 설정은 적용되지 않습니다.
    JDK-8231422(비공개)
Java 만료 날짜

8u241 만료 날짜는 2020년 4월 14일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2020년 5월 14일에 이 JRE(버전 8u241)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u241 버그 수정 페이지를 참조하십시오.

» 8u241 릴리스 노트


Java 8 Update 231(8u231)

릴리스 주요 기능
  • IANA 데이터 2019b
    JDK 8u231에는 IANA 시간대 데이터 버전 2019b가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: 새로운 jdk.jceks.iterationCount 시스템 속성
    jceks 키 저장소에 사용된 반복 횟수 값을 제어하기 위해 새로운 시스템 속성이 도입되었습니다. 기본값은 200000으로 유지되지만 10000에서 5000000 사이 값을 지정할 수 있습니다. 새 시스템 속성 이름은 jdk.jceks.iterationCount입니다. 제공 값은 허용 범위 내의 정수여야 합니다. 구문분석 오류가 발생하면 기본값이 사용됩니다.
    JDK-8223269(비공개)
  • 새로운 기능: 새 JFR(Java Flight Recorder) 보안 이벤트
    4개의 새로운 JFR 이벤트가 보안 라이브러리 영역에 추가되었습니다. 이러한 이벤트는 기본적으로 사용 안함으로 설정되며, JFR 구성 파일 또는 표준 JFR 옵션을 통해 사용으로 설정할 수 있습니다.
    JDK-8148188을 참조하십시오.
  • 제거된 기능 및 옵션: JavaFX에서 T2K 래스터라이저 및 ICU 레이아웃 엔진 제거
    T2K 래스터라이저 및 ICU 레이아웃 엔진이 JavaFX에서 제거되었습니다.
    JDK-8187147을 참조하십시오.
  • 기타 참고사항: [클라이언트 라이브러리 및 javaFX] GTK3가 이제 Linux/Unix에서 기본값으로 사용됨
    새 버전의 Linux, Solaris 및 기타 Unix 계열의 데스크톱 환경에서는 GTK3가 사용됩니다. GTK2도 계속 지원됩니다.
    이전까지 JDK에서는 기본적으로 이전의 GTK2 라이브러리가 로드되었습니다. 하지만 이번 릴리스에서는 기본적으로 GTK3 라이브러리가 로드됩니다. 로딩은 일반적으로 Swing GTK 룩앤필을 사용하여 트리거됩니다.
    이전 동작은 다음 시스템 속성을 사용하여 복원될 수 있습니다. -Djdk.gtk.version=2.2
    JDK-8222496을 참조하십시오.
  • 기타 참고사항: 기본 TLS 알고리즘에서 폐기된 NIST EC 곡선 제거
    이 변경사항은 TLS 협상 중 사용되는 기본 이름 지정된 그룹에서 폐기된 NIST EC 곡선을 제거합니다. 제거된 곡선은 sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1 및 secp256k1입니다.
    이러한 곡선을 다시 사용으로 설정하려면 jdk.tls.namedGroups 시스템 속성을 사용하십시오. 이 속성에는 사용으로 설정된 이름 지정된 그룹의 콤마로 구분된 목록이, 환경설정 순서대로 따옴표 내에 포함됩니다. 예:
    java -Djdk.tls.namedGroups="secp256r1, secp384r1, secp521r1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp256k1" ...
    JDK-8228825(비공개)
Java 만료 날짜

8u231 만료 날짜는 2020년 1월 14일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2020년 2월 14일에 이 JRE(버전 8u231)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u231 버그 수정 페이지를 참조하십시오.

» 8u231 릴리스 노트


Java 8 Update 221(8u221)

릴리스 주요 기능
  • IANA 데이터 2018i
    JDK 8u221에는 IANA 시간대 데이터 버전 2018i가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: HotSpot Windows OS 감지 시 Windows Server 2019를 정확하게 식별
    이 수정 이전에는 Windows Server 2019가 "Windows Server 2016"으로 인식되었고 os.name 시스템 속성과 hs_err_pid 파일에서 부정확한 값을 산출했습니다.
    JDK-8211106을 참조하십시오.
  • 제거된 기능 및 옵션: 두 개의 DocuSign 루트 CA 인증서 제거
    두 개의 DocuSign 루트 CA 인증서가 만료되어 cacerts 키 저장소에서 제거되었습니다.
    • alias name "certplusclass2primaryca [jdk]"
      Distinguished Name: CN=Class 2 Primary CA, O=Certplus, C=FR
    • alias name "certplusclass3pprimaryca [jdk]"
      Distinguished Name: CN=Class 3P Primary CA, O=Certplus, C=FR
    JDK-8223499를 참조하십시오.
  • 제거된 기능 및 옵션: 두 개의 Comodo 루트 CA 인증서 제거
    두 개의 Comodo 루트 CA 인증서가 만료되어 cacerts 키 저장소에서 제거되었습니다.
    • alias name "utnuserfirstclientauthemailca [jdk]"
      Distinguished Name: CN=UTN-USERFirst-Client Authentication and Email, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US
    • alias name "utnuserfirsthardwareca [jdk]"
      Distinguished Name: CN=UTN-USERFirst-Hardware, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US
    JDK-8222136을 참조하십시오.
  • 제거된 기능 및 옵션: T-Systems Deutsche Telekom 루트 CA 2 인증서 제거
    T-Systems Deutsche Telekom 루트 CA 2 인증서가 만료되어 cacerts 키 저장소에서 제거되었습니다.
    • alias name "deutschetelekomrootca2 [jdk]"
      Distinguished Name: CN=Deutsche Telekom Root CA 2, OU=T-TeleSec Trust Center, O=Deutsche Telekom AG, C=DE
    JDK-8222137을 참조하십시오.
  • 기타 참고사항: Java Access Bridge 설치 임시해결책
    이전에 설치된 Java 버전이 있고 JAWS 인스턴스가 실행 중인 Windows 시스템에 Java를 설치할 때 Java Access Bridge 기능이 손상될 위험이 있습니다. 시스템을 재부팅한 후 64비트 Java 제품용 시스템 디렉토리(C:\Windows\System32) 또는 32비트 Java 제품용 WOW64에서 사용된 시스템 디렉토리(C:\Windows\SysWoW64)에서 WindowsAccessBridge-64.dll이 없어질 수 있습니다.
    Java Access Bridge 기능 손상을 방지하려면 다음 임시해결책 중 하나를 사용하십시오.
    • Java 설치 프로그램을 실행하기 전에 JAWS를 정지합니다.
    • 새 Java 버전을 설치하기 전에 기존 JRE를 제거합니다.
    • 새 Java 버전이 설치되고 시스템을 재부팅한 후 기존 JRE를 제거합니다.
    임시해결책의 목적은 JAWS가 실행 중일 때 Java 설치 프로그램에서 기존 JRE를 제거하는 시나리오를 피하는 것입니다.
    JDK-8223293(비공개)
Java 만료 날짜

8u221의 만료 날짜는 2019년 10월 15일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2019년 11월 15일에 이 JRE(버전 8u221)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle 중요한 패치 업데이트에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u221 버그 수정 페이지를 참조하십시오.

» 8u221 릴리스 노트


Java 8 Update 211(8u211)

릴리스 주요 기능
  • IANA 데이터 2018g
    JDK 8u211에는 IANA 시간대 데이터 버전 2018g가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새 기능: 일본의 새 연호를 위한 사각 문자 지원
    2019년 5월부터 시작되는 일본 새 연호의 사각 문자를 표현하기 위해 유니코드 컨소시엄에서 코드 포인트 U+32FF가 예약되었습니다. Character 클래스의 관련 메소드는 기존 일본 연호 문자(예: "메이지"를 나타내는 U+337E)와 동일한 속성을 반환합니다. 이 코드 포인트에 대한 자세한 내용은 http://blog.unicode.org/2018/09/new-japanese-era.html을 참조하십시오.
    JDK-8211398을 참조하십시오.
  • 변경사항: GlobalSign R6 루트 인증서 추가
    OpenJDK cacerts 보안 저장소에 다음 루트 인증서가 추가되었습니다.
    • GlobalSign
      • globalsignrootcar6
        DN: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R6

    JDK-8216577(비공개)
  • 변경사항: Symantec 루트로 고정된 TLS 서버 인증서 보안 중지
    Google, Mozilla, Apple 및 Microsoft에서 최근 발표된 일련의 비슷한 계획들에 따라 Symantec에서 발급된 TLS 서버 인증서에 대한 보안이 JDK에서 중지됩니다. 여기에 영향을 받는 인증서 목록에는 Symantec에서 관리되는 GeoTrust, Thawte 및 VeriSign 명칭이 붙은 인증서가 포함됩니다.
    2019년 4월 16일까지 발급된 TLS 서버 인증서는 만료 시까지 보안이 유지됩니다. 이 날짜 이후에 발급되는 인증서는 거부됩니다. Symantec 인증서를 DigiCert 인증서(2017년 12월 1일을 기준으로 모든 Symantec 웹 사이트 보안 SSL/TLS 인증서의 검증 및 발급 업무가 DigiCert로 이관됨)로 교체하는 방법에 대한 자세한 내용은 DigiCert 지원 페이지를 참조하십시오.
    이 정책에 대한 한 가지 예외사항에 따라, Apple에서 관리되는 아래 표시된 2개의 종속 인증 기관에서 발급된 TLS 서버 인증서는 발급 날짜가 2019년 12월 31일까지인 경우 계속 보안이 유지됩니다.
    JDK-8207258을 참조하십시오.
  • 변경사항: 새로운 일본 연호
    2019년 5월 1일부터 시작되는 일본 연호에 대한 위치 표시자 이름인 "NewEra"가 일본 정부에서 선언한 이름인 "Reiwa"로 바뀌었습니다. 새 연호 싱글톤(JapaneseEra.valueOf("NewEra"))을 가져오기 위해 이 위치 표시자 이름을 사용하는 응용 프로그램은 더 이상 작동하지 않습니다.
    JDK-8205432를 참조하십시오.
  • 변경사항: java.time.chrono.JapaneseEra에서 새 일본 연호 지원
    싱글톤 인스턴스 정의 방법, 연관된 정수 연호 값 등과 같은, 향후 일본 연호 추가사항을 수용할 수 있도록 JapaneseEra 클래스 및 해당 of(int) valueOf(String)values() 메소드가 규정되었습니다.
    JDK-8212941을 참조하십시오.
Java 만료 날짜

8u211의 만료 날짜는 2019년 7월 16일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2019년 8월 16일에 이 JRE(버전 8u211)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u211 버그 수정 페이지를 참조하십시오.

» 8u211 릴리스 노트


Java 8 Update 201(8u201)

릴리스 주요 기능
  • IANA 데이터 2018e
    JDK 8u201에는 IANA 시간대 데이터 버전 2018e가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 변경사항: TLS 익명 및 NULL 암호화 모음 사용 안함
    TLS 익명 및 NULL 암호화 모음이 jdk.tls.disabledAlgorithms 보안 속성에 추가되어 이제 기본적으로 사용 안함으로 설정됩니다.
    JDK-8211883을 참조하십시오.
  • 변경사항: 시간기록이 만료될 때 jarsigner 인쇄
    jarsigner 툴이 시간기록된 JAR의 수명에 대한 자세한 정보를 표시합니다. 시간기록이 만료되었거나 1년 이내에 만료되는 경우 새로운 경고 및 오류 메시지가 표시됩니다.
    JDK-8191438을 참조하십시오.
Java 만료 날짜

8u201 만료 날짜는 2019년 4월 16일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2019년 5월 16일에 이 JRE(버전 8u201)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u201 버그 수정 페이지를 참조하십시오.

» 8u201 릴리스 노트


Java 8 Update 191(8u191)

릴리스 주요 기능
  • IANA 데이터 2018e
    JDK 8u191에는 IANA 시간대 데이터 버전 2018e가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 변경사항: usagetracker.properties 파일의 중앙 파일 시스템 위치 변경
    Windows에서 usagetracker.properties 파일의 파일 시스템 위치가 %ProgramData%\Oracle\Java\에서 %ProgramFiles%\Java\conf로 이동되었습니다.
    Linux, Solaris 또는 macOS의 파일 경로에는 변경사항이 없습니다. JDK-8204901(비공개)
  • 변경사항: 모든 DES TLS 암호화 모음 사용 안함
    DES 기반 TLS 암호화 모음은 폐기된 것으로 간주되며 더 이상 사용해서는 안됩니다. "DES" 식별자를 jdk.tls.disabledAlgorithms 보안 속성에 추가함으로써 DES 기반 암호화 모음이 SunJSSE 구현에서 기본적으로 비활성화되었습니다. 이러한 암호화 모음은 java.security 파일의 jdk.tls.disabledAlgorithms 보안 속성에서 "DES"를 제거하거나 Security.setProperty() 메소드를 동적으로 호출함으로써 다시 활성화할 수 있습니다. 두 경우 모두 DES를 다시 사용으로 설정하려면 SSLSocket.setEnabledCipherSuites() 또는 SSLEngine.setEnabledCipherSuites() 메소드를 사용하여 DES 기반 암호화 모음을 사용으로 설정된 암호화 모음 목록에 추가하는 절차를 따라야 합니다.
    이 변경 전에는 DES40_CBC(모든 DES가 아님) 모음이 jdk.tls.disabledAlgorithms 보안 속성을 통해 사용 안함으로 설정되었습니다.
    JDK-8208350을 참조하십시오.
  • 변경사항: 여러 Symantec 루트 CA 제거
    다음 Symantec 루트 인증서는 더 이상 사용되지 않으며 제거되었습니다.
    • Symantec
      • equifaxsecureca
        DN: OU=Equifax Secure Certificate Authority, O=Equifax, C=US
      • equifaxsecureglobalebusinessca1
        DN: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US
      • equifaxsecureebusinessca1
        DN: CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US
      • verisignclass1g3ca
        DN: CN=VeriSign Class 1 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
      • verisignclass2g3ca
        DN: CN=VeriSign Class 2 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
      • verisignclass1g2ca
        DN: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 1 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
      • verisignclass1ca
        DN: OU=Class 1 Public Primary Certification Authority, O="VeriSign, Inc.", C=US

    JDK-8191031을 참조하십시오.
  • 변경사항: Baltimore Cybertrust 코드 서명 CA 제거
    다음 Baltimore CyberTrust 코드 서명 루트 인증서는 더 이상 사용되지 않으며 제거되었습니다.
    • baltimorecodesigningca
      DN: CN=Baltimore CyberTrust Code Signing Root, OU=CyberTrust, O=Baltimore, C=IE

    JDK-8189949를 참조하십시오.
  • 버그 수정: LDAPS 통신 실패
    2018년 7월 CPU(8u181, 7u191, 6u201)에서 실행 중인, 소켓 접속 시간 초과가 0(기본값) 이하인 LDAPS를 사용하는 애플리케이션 코드에서 접속을 설정할 때 예외사항이 발생할 수 있습니다.
    이러한 문제가 발생하는 애플리케이션의 예외사항 스택 추적에서 상위 프레임은 다음과 유사할 수 있습니다.
    javax.naming.ServiceUnavailableException: ; socket closed
    at com.sun.jndi.ldap.Connection.readReply(Unknown Source)
    at com.sun.jndi.ldap.LdapClient.ldapBind(Unknown Source) ...
    이 문제가 해결되었으며 다음 릴리스에서 수정사항이 제공됩니다.
    • 8u181
    • 7u191

    JDK-8211107을 참조하십시오.
Java 만료 날짜

8u191 만료 날짜는 2019년 1월 15일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2019년 2월 15일에 이 JRE(버전 8u191)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u191 버그 수정 페이지를 참조하십시오.

» 8u191 릴리스 노트


Java 8 Update 181(8u181)

릴리스 주요 기능
  • IANA 데이터 2018e
    JDK 8u181에는 IANA 시간대 데이터 버전 2018e가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 제거된 기능: Java DB 제거
    이 릴리스에서 Java DB(Apache Derby라고도 함)가 제거되었습니다.
    다음 Apache 프로젝트에서 직접 최신 Apache Derby를 가져올 것을 권장합니다.
    https://db.apache.org/derby
    JDK-8197871(비공개)
  • 변경사항: LDAP 지원 향상
    LDAPS 접속에서 끝점 식별이 사용으로 설정되었습니다.
    LDAPS(TLS를 통한 보안 LDAP) 접속의 견고성 향상을 위해 끝점 식별 알고리즘이 기본적으로 사용으로 설정되었습니다.
    이 경우 이전에 LDAPS 서버에 성공적으로 접속할 수 있었던 일부 애플리케이션이 더 이상 접속하지 못하는 상황이 발생할 수 있습니다. 해당 애플리케이션은 적절한 것으로 판단되면 새 시스템 속성 com.sun.jndi.ldap.object.disableEndpointIdentification을 사용하여 끝점 식별을 사용 안함으로 설정할 수 있습니다.
    이 시스템 속성을 정의하거나 true로 설정하여 끝점 식별 알고리즘을 사용 안함으로 설정하십시오.
    JDK-8200666(비공개)
  • 변경사항: 스택 워크 개선
    직렬화 해제의 객체 생성 단계에서 새로운 액세스 검사가 추가되었습니다. 이는 정상적인 직렬화 해제 사용에 영향을 미치지 않아야 합니다. 그러나 JDK 내부 API를 사용하는 반사형 프레임워크가 영향을 받을 수 있습니다. 필요한 경우 시스템 속성 jdk.disableSerialConstructorChecks를 "true" 값으로 설정하여 새 검사를 사용 안함으로 설정할 수 있습니다. 이를 수행하려면 Java 명령행에 -Djdk.disableSerialConstructorChecks=true 인수를 추가해야 합니다.
    JDK-8197925(비공개)
  • 버그 수정: G1 GC 동안 JVM 충돌
    G1 동시 마킹에 의해 도달할 수 없는 것으로 간주된 클래스는 ClassLoaderData/SystemDictionary에서 조회할 수 있고, _java_mirror 또는 _class_loader 필드는 루트 또는 다른 도달 가능한 객체에 저장하여 다시 활성화할 수 있습니다. 이 방법으로 클래스가 부활할 때마다 G1의 SATB 부분에 이를 통지해야 합니다. 그렇지 않으면 동시 마킹 재마크 단계에서 실수로 해당 클래스를 언로드하게 됩니다.
    JDK-8187577을 참조하십시오.
  • 버그 수정: 이전 NUMA 라이브러리의 안정성 향상(-XX+UseNuma)
    JDK 8 Update 152 수정에 도입된 회귀로 인해, libnuma 2.0.9 이전 버전이 있는 Linux 시스템에서 UseNUMA 플래그를 사용할 때 시작 시 HotSpot JVM이 충돌을 일으킬 수 있었습니다. 이 문제가 해결되었습니다.
    JDK-8198794를 참조하십시오.
Java 만료 날짜

8u181의 만료 날짜는 2018년 10월 16일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2018년 11월 16일에 이 JRE(버전 8u181)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u181 버그 수정 페이지를 참조하십시오.

» 8u181 릴리스 노트


Java 8 Update 171(8u171)

릴리스 주요 기능
  • IANA 데이터 2018c
    JDK 8u171에는 IANA 시간대 데이터 버전 2018c가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: 향상된 키 저장소 방식
    새 보안 속성 jceks.key.serialFilter가 도입되었습니다. 이 필터가 구성된 경우, JCEKS 키 저장소는 SecretKeyEntry 안에 저장된 암호화된 키 객체의 직렬화 해제 중에 이 필터를 사용합니다. 이 필터가 구성되지 않았거나 필터 결과가 UNDECIDED(예: 일치하는 패턴 없음)인 경우 jdk.serialFilter로 구성된 필터를 참조하십시오.
    시스템 속성 jceks.key.serialFilter도 제공된 경우 여기에 정의된 보안 속성값을 대체합니다.
    필터 패턴은 jdk.serialFilter와 동일한 형식을 사용합니다. 기본 패턴은 java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Typejavax.crypto.spec.SecretKeySpec을 허용하지만 다른 것은 모두 거부합니다.
    위의 유형으로 직렬화되지 않은 SecretKey를 저장한 고객은 키를 추출할 수 있도록 필터를 수정해야 합니다.
    JDK-8189997(비공개)
  • 새로운 기능: JRE 최종 사용 추적을 사용 안함으로 설정하는 시스템 속성
    실행 중인 VM에 대한 JRE 최종 사용 추적을 사용 안함으로 설정하도록 새 시스템 속성 jdk.disableLastUsageTracking이 도입되었습니다. 이 속성은 명령행에서 -Djdk.disableLastUsageTracking=true 또는 -Djdk.disableLastUsageTracking을 사용하여 설정할 수 있습니다. 이 시스템 속성이 설정된 경우, usagetracker.properties에 설정된 com.oracle.usagetracker.track.last.usage 속성값에 관계없이 JRE 최종 사용 추적이 사용 안함으로 설정됩니다.
    JDK-8192039(비공개)
  • 주: CipherOutputStream 사용
    이 클래스가 BadPaddingException과 기타 암호 해독 중 실패한 무결성 검사로 인해 발생한 예외사항을 감지할 수 있도록 javax.crypto.CipherOutputStream 사양이 명확해졌습니다. 이 예외사항은 다시 발생하지 않으므로 클라이언트에게 무결성 검사가 실패했음을 알리지 않습니다. 이 동작 때문에 애플리케이션이 인증 실패 시 명시적 통지를 요구하는 경우 이 클래스는 인증된 작업 모드(예: GCM)에서 암호 해독에 사용하기에 적합하지 않을 수 있습니다. 이러한 애플리케이션은 이 클래스를 사용하는 대신 암호화 API를 직접 사용할 수 있습니다.
    JDK-8182362(비공개)
  • 변경사항: 추가 TeliaSonera 루트 인증서
    "TeliaSonera Root CA v1"이 cacerts 키 저장소에 추가되었습니다.
    JDK-8190851(비공개)
  • 변경사항: 224비트 미만의 EC 키로 서명한 XML 서명 사용 안함
    SSL/TLS 접속 강도를 향상시키기 위해 jdk.tls.disabledAlgorithms 보안 속성을 통해 JDK의 SSL/TLS 접속에서 3DES 암호화 모음이 사용 안함으로 설정되었습니다.
    JDK-8175075(비공개)
  • 버그 수정: 서버측 HTTP 터널링 RMI 접속 사용 안함
    서버측 HTTP 터널링 RMI 접속이 이 릴리스에서 기본적으로 사용 안함으로 설정되었습니다. 이 동작은 런타임 속성 sun.rmi.server.disableIncomingHttpfalse로 설정하면 되돌릴 수 있습니다. 이 속성을 sun.rmi.server.disableHttp 속성(클라이언트측 HTTP 터널링 사용 안함, 기본값 false)과 혼동하지 않아야 합니다.
    JDK-8193833(비공개)
Java 만료 날짜

8u171의 만료 날짜는 2018년 7월 17일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2018년 8월 17일에 이 JRE(버전 8u171)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u171 버그 수정 페이지를 참조하십시오.

» 8u171 릴리스 노트


Java 8 Update 161(8u161)

릴리스 주요 기능
  • IANA 데이터 2017c
    JDK 8u161에는 IANA 시간대 데이터 버전 2017c가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 새로운 기능: 최대 8192비트의 DHE 크기 및 최대 3072비트의 DSA 크기 지원
    3072비트 DiffieHellman 및 DSA 매개변수 생성, 최대 8192비트의 사전 계산된 DiffieHellman 매개변수 및 최대 3072비트의 사전 계산된 DSA 매개변수를 지원하도록 JDK 보안 제공자가 개선됩니다.
    JDK-8072452를 참조하십시오.
  • 새로운 기능: TLS에 대해 협상된 Finite Field Diffie-Hellman Ephemeral 매개변수 제공
    JDK SunJSSE 구현이 이제 RFC 7919에 정의된 TLS FFDHE 방식을 지원합니다. supported_groups TLS 확장 또는 확장의 이름 지정된 그룹을 서버에서 처리할 수 없는 경우 애플리케이션에서는 jdk.tls.namedGroups를 사용하여 지원되는 그룹 이름을 사용자정의하거나, 시스템 속성 jsse.enableFFDHEExtensionfalse로 설정하여 FFDHE 방식을 해제할 수 있습니다.
    JDK-8140436을 참조하십시오.
  • 새로운 기능: org.omg.CORBA.ORBstring_to_object 메소드에 대한 추가 IDL 스텁 유형 검사 추가
    org.omg.CORBA.ORB.string_to_object 호출을 명시적 또는 암시적으로 호출하며 ORB::string_to_object 호출 플로우에 관여하는 IDL 스텁 유형의 무결성을 보장하고자 하는 애플리케이션의 경우 IDL 스텁 유형 검사를 추가로 지정해야 합니다. 이 기능은 "옵트인" 기능이므로 기본적으로 사용으로 설정되어 있지 않습니다.
    추가 유형 검사를 이용할 수 있도록 다음 중 하나를 수행하여 IDL 스텁 클래스의 적합한 IDL 인터페이스 클래스 이름 목록이 구성됩니다.
    • conf/security/java.security(Java SE 9) 또는 jre/lib/security/java.security(Java SE 8 및 이전 버전) 파일에 있는 보안 속성 com.sun.CORBA.ORBIorTypeCheckRegistryFilter를 지정합니다.
    • 시스템 속성 com.sun.CORBA.ORBIorTypeCheckRegistryFilter를 클래스 목록과 함께 지정합니다. 이 시스템 속성이 설정된 경우 이 속성의 값이 java.security 구성에 정의된 해당 속성을 무효화합니다.

    com.sun.CORBA.ORBIorTypeCheckRegistryFilter 속성이 설정되지 않은 경우 기본 제공된 IDL 스텁 클래스에 해당하는 IDL 인터페이스 유형의 클래스 이름 집합에 대해서만 유형 검사가 수행됩니다.
    JDK-8160104(비공개)
  • 변경사항: RSA 퍼블릭 키 검증
    8u161에서는 지수가 PKCS#1 버전 2.2에 의해 정의된 적합한 범위에 있지 않을 경우 이 지수가 있는 RSA 퍼블릭 키가 SunRsaSign 제공자의 RSA 구현에서 거부됩니다. 이 변경사항은 JSSE 접속과 JCE 기반 응용 프로그램에 영향을 미칩니다.
    JDK-8174756(비공개)
  • 변경사항: 1024비트 미만의 Diffie-Hellman 키 제한
    1024비트 미만의 Diffie-Hellman 키는 실제로 사용하기에 너무 취약하므로 기본적으로 SSL/TLS/DTLS 접속에서 제한해야 합니다. 이에 따라, 1024비트 미만의 Diffie-Hellman 키는 java.security 파일의 "jdk.tls.disabledAlgorithms" 보안 속성에 "DH keySize < 1024"를 추가하여 기본적으로 사용 안함으로 설정되었습니다. 권장하는 바는 아니지만, 관리자는 보안 속성("jdk.tls.disabledAlgorithms")을 업데이트하여 더 작은 키 크기를 허용(예: "DH keySize < 768" 설정)할 수 있습니다.
    JDK-8148108(비공개)
  • 변경사항: 제공자 기본 키 크기가 업데이트됨
    이 변경사항은 키 크기를 사용하는 java.security.KeyPairGeneratorjava.security.AlgorithmParameterGenerator 객체를 애플리케이션에서 명시적으로 초기화하지 않은 경우 DSA에 대한 기본 키 크기로 1024비트 대신 2048비트를 사용하도록 JDK 제공자를 업데이트합니다.
    호환성 문제가 발생할 경우 기존 응용 프로그램은 알고리즘과 원하는 기본 키 크기를 사용하여 JDK-8181048에서 도입된 시스템 속성 jdk.security.defaultKeySize를 설정할 수 있습니다.
    JDK-8178466(비공개)
Java 만료 날짜

8u161 만료 날짜는 2018년 4월 17일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2018년 5월 17일에 이 JRE(버전 8u161)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u161 버그 수정 페이지를 참조하십시오.

» 8u161 릴리스 노트


Java 8 Update 151(8u151)

릴리스 주요 기능
  • IANA 데이터 2017b
    JDK 8u151에는 IANA 시간대 데이터 버전 2017b가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 인증서 변경사항: 철회된 Swisscom 루트 인증서 "swisscomrootevca2" 제거
    Swisscom이 하나의 Swisscom 루트 인증서를 철회하여 해당 인증서가 제거되었습니다. Swisscom Root EV CA 2
    alias: "swisscomrootevca2 [jdk]"
    DN: CN=Swisscom Root EV CA 2, OU=Digital Certificate Services, O=Swisscom, C=ch

    JDK-8186330(비공개)
  • 새로운 기능 암호화 정책 제어를 위한 새 보안 속성
    이 릴리스에는 새로운 기능이 도입되어 새 보안 속성을 통해 JDK가 사용하는 JCE jurisdiction 정책 파일을 제어할 수 있습니다. 이전 릴리스에서는 JDK가 무제한 암호화를 사용할 수 있도록 JCE jurisdiction 파일을 다운로드하여 별도로 설치해야 했습니다. 이제 더 이상 다운로드 및 설치 단계가 필요하지 않습니다. 무제한 암호화를 사용으로 설정하려는 경우 새 crypto.policy 보안 속성을 사용할 수 있습니다. 새 보안 속성(crypto.policy)이 java.security 파일에서 설정되거나 JCE 프레임워크가 초기화되기 전 Security.setProperty() 호출을 통해 동적으로 설정된 경우 해당 설정이 유지됩니다. 기본적으로 이 속성은 정의되지 않습니다. 속성이 정의되지 않은 경우 레거시 JCE jurisdiction 파일이 레거시 lib/security 디렉토리에 존재하지 않으면 기본 암호화 레벨이 'limited'로 유지됩니다. 무제한 암호화를 사용하도록 JDK를 구성하려면 crypto.policy 값을 'unlimited'로 설정하십시오. 자세한 내용은 이 릴리스와 함께 제공되는 java.security 파일의 노트를 참조하십시오.

    주: Solaris에서는 새 JDK 업데이트를 설치하기 전에 이전 SVR4 패키지를 제거하는 것이 좋습니다. 이전 패키지를 제거하지 않고 6u131, 7u121, 8u111 이전 JDK 릴리스에서 SVR4 기반 업그레이드를 수행하려면 새 crypto.policy 보안 속성을 java.security 파일에서 설정해야 합니다.

    이전 JCE jurisdiction 파일은 <java-home>/lib/security에 남아 있으므로 6u131, 7u121, 8u111 및 이후 업데이트에서 개정된 최신 보안 JAR 서명 표준을 충족하지 않을 수 있습니다. 이전 파일이 사용되면 다음과 유사한 예외사항이 발생할 수 있습니다.

    Caused by: java.lang.SecurityException: Jurisdiction policy files are not signed by trusted signers! at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:593) at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:524)

    JDK-8157561을 참조하십시오.
  • 변경사항 키 길이 기본값에 대해 동일한 상수를 참조하도록 기존 제공자 리팩토링
    이 문제를 해결하기 위해 두 가지 중요한 변경사항이 구현되었습니다.
    1. 새 시스템 속성이 도입되어 사용자가 JDK 제공자의 KeyPairGenerator 및 AlgorithmParameterGenerator 구현에 사용되는 기본 키 크기를 구성할 수 있게 되었습니다. 이 속성의 이름은 "jdk.security.defaultKeySize"이며 이 속성의 값은 콤마로 구분된 항목 목록입니다. 각 항목은 ':'으로 구분된 알고리즘 이름(대소문자 무시)과 해당하는 기본 키 크기(십진수)로 구성됩니다. 또한 공백이 무시됩니다.

    기본적으로 이 속성에는 값이 없으며 JDK 제공자는 고유의 기본값을 사용합니다. 인식할 수 없는 알고리즘 이름을 포함하는 항목은 무시됩니다. 지정된 기본 키 크기가 구문분석할 수 있는 십진수가 아닌 경우에도 해당 항목이 무시됩니다.

    1. SUN 제공자의 DSA KeyPairGenerator 구현은 더 이상 java.security.interfaces.DSAKeyPairGenerator를 구현하지 않습니다. SUN 제공자의 DSA KeyPairGenerator 객체를 java.security.interfaces.DSAKeyPairGenerator로 변환하는 응용 프로그램이 시스템 속성 "jdk.security.legacyDSAKeyPairGenerator"를 설정할 수 있습니다. 이 속성의 값이 'true'인 경우 SUN 제공자는 java.security.interfaces.DSAKeyPairGenerator 인터페이스를 구현하는 DSA KeyPairGenerator 객체를 반환합니다. 이 레거시 구현에는 인터페이스에서 javadoc가 지정한 것과 동일한 기본값이 사용됩니다.
    기본적으로 이 속성에는 값이 없으며 이 경우 SUN 제공자는 앞서 언급된 인터페이스를 구현하지 않는 DSA KeyPairGenerator 객체를 반환하므로 java.security.KeyPairGenerator 클래스에 명시되거나 'jdk.security.defaultKeySize' 시스템 속성(설정된 경우)으로 지정되는 고유의 제공자 특정 기본값을 결정할 수 있습니다.
    JDK-8181048(비공개)
Java 만료 날짜

8u151 만료 날짜는 2018년 1월 16일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2018년 2월 16일에 이 JRE(버전 8u151)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u151 버그 수정 페이지를 참조하십시오.

» 8u151 릴리스 노트


Java 8 Update 144(8u144)

릴리스 주요 기능
  • IANA 데이터 2017b
    JDK 8u144에는 IANA 시간대 데이터 버전 2017b가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: java.util.zip.ZipFile.getEntry()는 이제 항상 디렉토리 항목에 대해 /로 끝나는 항목 이름과 함께 ZipEntry 인스턴스를 반환합니다.
    java.util.zip.ZipEntry API 설명서에는 '디렉토리 항목은 이름이 /로 끝나는 항목으로 정의됩니다.'로 지정되어 있습니다. 하지만 이전 JDK 릴리스에서는 전달된 인수 entryName/로 끝나지 않고 zip 파일에 entryName + /인 이름과 일치하는 zip 디렉토리 항목이 있는 경우 java.util.zip.ZipFile.getEntry(문자열 entryName)가 기존 zip 디렉토리 항목에 대해 /로 끝나지 않는 항목 이름과 함께 ZipEntry 인스턴스를 반환할 수 있습니다. 이 릴리스에서는 java.util.zip.ZipFile.getEntry()에서 반환된 ZipEntry 인스턴스의 이름이 항상 모든 zip 디렉토리 항목에 대해 /로 끝납니다.
    이전 동작으로 되돌리려면 시스템 속성 jdk.util.zip.ensureTrailingSlash를 'false'로 설정하십시오.

    서명된 JAR 확인 시 이 확인으로 인해 일부 WebStart 응용 프로그램에서 로드에 실패하는 경우 JDK 8u141에 도입된 회귀를 수정하도록 변경되었습니다.
    JDK-8184993을 참조하십시오.
Java 만료 날짜

8u144의 만료 날짜는 2017년 10월 17일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2017년 11월 17일에 이 JRE(버전 8u144)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u144 버그 수정 페이지를 참조하십시오.

» 8u144 릴리스 노트


Java 8 Update 141(8u141)

릴리스 주요 기능
  • IANA 데이터 2017b
    JDK 8u141에는 IANA 시간대 데이터 버전 2017b가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 인증서 변경사항: 루트 CA에 새 Let's Encrypt 인증서가 추가됨
    다음과 같이 한 개의 새 루트 인증서가 추가되었습니다.
    ISRG Root X1
    alias: letsencryptisrgx1
    DN: CN=ISRG Root X1, O=Internet Security Research Group, C=US

    JDK-8177539(비공개)
  • JMX 진단 개선
    com.sun.management.HotSpotDiagnostic::dumpHeap API는 제공된 파일 이름이 ".hprof" 접미어로 끝나지 않으면 IllegalArgumentException을 발생시키도록 수정되었습니다. ".hprof" 확장자로 끝나는 파일 이름을 제공하지 않는 기존 응용 프로그램은 IllegalArgumentException이 발생하며 실패합니다. 이 경우 애플리케이션은 예외사항을 처리하는 작업 또는 시스템 속성 'jdk.management.heapdump.allowAnyFileSuffix'를 true로 설정하여 이전 동작을 복원하는 작업 중에 선택할 수 있습니다.
    JDK-8176055(비공개)
  • wsimport 툴을 통한 WSDL 파일 처리에서 보안 검사가 더 강력해짐
    wsimport 툴이 웹 서비스 설명에서 DTD를 허용하지 않도록 변경되었습니다. 구체적인 내용은 다음과 같습니다.
    • DOCTYPE 선언은 문서에서 허용되지 않음
    • 외부 일반 엔티티는 기본적으로 포함되지 않음
    • 외부 매개변수 엔티티는 기본적으로 포함되지 않음
    • 외부 DTD는 완전히 무시됨
    이전 동작을 복원하려면 다음과 같이 하십시오.
    • 시스템 속성 com.sun.xml.internal.ws.disableXmlSecurity를 true로 설정합니다.
    • wsimport 툴 명령행 옵션 -disableXmlSecurity를 사용합니다.
      주: wsimport의 이 옵션에 대한 JDK 7 및 JDK 6 지원은 패치 릴리스 게시 7월 CPU를 통해 제공됩니다.
    JDK-8182054(비공개)
  • 사용자정의 호스트 이름 검증자가 SNI 확장을 사용으로 설정
    이전 JDK 8 Update 릴리스에서는 사용자정의 호스트 이름 검증자가 사용된 경우 TLS ClientHello 단계에 SNI(Server Name Indication) 확장을 보내지 않는 경우가 있었습니다. 이 검증자는 HttpsURLConnectionsetHostnameVerifier(HostnameVerifier v) 메소드를 통해 설정됩니다. 이 수정사항이 적용되면 서버 이름이 ClientHello 본문에 전송됩니다.
    JDK-8144566을 참조하십시오.
  • 알고리즘 제약 조건 검사 개선
    가장 취약한 상황에서 약한 알고리즘이 사용되는 것을 제한하기 위해 java.security 파일의 jdk.certpath.disabledAlgorithmsjdk.jar.disabledAlgorithms 보안 속성 구성과 관련된 기능이 추가되었습니다.

    jdk.certpath.disabledAlgorithms: certpath 속성이 가장 많이 변경되었습니다. 이전에 이 속성은 인증서, 인증서 체인 및 인증서 서명을 검사할 때 이름을 통해 알고리즘을 사용 안함으로 설정하거나 키 크기로 알고리즘을 사용 안함으로 설정하는 두 가지 제약 조건 유형으로 제한되었습니다. 따라서 절대적이고 유연하게 사용할 수 없는 구성이 생성될 수 있습니다. 인증서 허용/거부의 유연성을 높이기 위해 세 가지 새로운 제약 조건이 추가되었습니다.

    "jdkCA"는 cacerts 파일과 관련된 인증서 체인 종료를 검사합니다. "SHA1 jdkCA"의 경우 SHA1의 사용은 인증서 체인을 통해 검사되지만 거부되려면 이 체인이 cacerts 키 저장소의 표시된 신뢰 앵커에서 종료해야 합니다. 이 제약 조건은 신뢰 앵커를 통한 SHA1 사용을 신뢰하는 자체 프라이빗 CA가 있지만 퍼블릭 CA를 앵커로 사용하는 인증서 체인이 SHA1을 사용하지 못하도록 차단하려는 조직에 유용합니다.

    "denyAfter"는 지정된 날짜가 현재 날짜 또는 PKIXParameter 날짜보다 이전인지 검사합니다. "SHA1 denyAfter 2018-01-01"의 경우 2018년 이전에는 SHA1이 포함된 인증서를 사용할 수 있지만 이 날짜 이후에는 이 인증서가 거부됩니다. 이 제약 조건은 마감 날짜를 정해 놓고 알고리즘을 단계적으로 폐지하는 조직 전체에 적용되는 정책에 사용될 수 있습니다. 서명된 JAR 파일의 경우 날짜를 TSA 시간기록과 비교합니다. 날짜는 GMT로 지정됩니다.

    "usage"는 지정된 사용에 대해 지정된 알고리즘을 검사합니다. 이 제약 조건은 모든 사용에 대해 알고리즘을 사용 안함으로 설정하는 것이 적절하지 않을 때 사용할 수 있습니다. 다음과 같은 세 가지 사용을 지정할 수 있습니다.

    • 'TLSServer'는 서버 인증이 클라이언트로 수행될 때 TLS 서버 인증서 체인의 알고리즘을 제한합니다.
    • 'TLSClient'는 클라이언트 인증이 서버로 수행될 때 TLS 클라이언트 인증서 체인의 알고리즘을 제한합니다.
    • 'SignedJAR'은 서명된 JAR 파일에 있는 인증서의 알고리즘을 제한합니다. 키워드 뒤에 사용 유형이 오며 공백으로 구분하여 두 개 이상의 사용 유형을 지정할 수 있습니다.
      예를 들어 "SHA1 usage TLSServer TLSClient"는 TLSServer 및 TLSClient 작업에 대해 SHA1 인증서를 허용하지 않지만 SignedJars는 허용합니다.

    이러한 모든 제약 조건을 '&'로 구분해서 연결하여 알고리즘을 제약할 수 있습니다. 예를 들어, 표시된 신뢰 앵커에서 종료되는 SHA1 인증서 체인을 TLSServer 작업에 대해서만 사용 안함으로 설정하려면 "SHA1 jdkCA & usage TLSServer"로 제약 조건을 지정합니다.

    jdk.jar.disabledAlgorithms: JAR Manifest 알고리즘을 제한하기 위해 한 개의 추가 제약 조건이 이 .jar 속성에 추가되었습니다.

    "denyAfter"는 서명된 JAR 파일 내 Manifest Digest 알고리즘에 대해 알고리즘 제약 조건을 검사합니다. 이 제약 조건에 지정된 날짜는 서명된 JAR 파일의 TSA 시간기록과 비교됩니다. 시간기록이 없거나 시간기록이 지정된 날짜와 같거나 이후인 경우 서명된 JAR 파일은 서명되지 않은 것으로 간주됩니다. 시간기록이 지정된 날짜보다 이전인 경우 .jar은 서명된 JAR 파일로 작동합니다. 2018년 1월 1일 이후 서명된 JAR 파일에서 SHA1을 제한하는 구문은 "SHA1 denyAfter 2018-01-01"입니다. 이 구문은 certpath 속성에 대한 구문과 동일하지만 이 속성에 의해서는 인증서 검사가 수행되지 않습니다.
    JDK-8176536을 참조하십시오.

Java 만료 날짜

8u141의 만료 날짜는 2017년 10월 17일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2017년 11월 17일에 이 JRE(버전 8u141)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)이 충족되면 JRE에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 Oracle Java SE 중요한 패치 업데이트 권고 사항에 설명된 보안 취약성에 대한 수정사항이 포함되어 있습니다. 이 릴리스에 포함된 전체 버그 수정 목록은 JDK 8u141 버그 수정 페이지를 참조하십시오.

» 8u141 릴리스 노트


Java 8 Update 131(8u131)

릴리스 주요 기능
  • IANA 데이터 2016j
    JDK 8u131에는 IANA 시간대 데이터 버전 2016j가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: 새로운 창 배열 모델 소개
    OS X 플랫폼에서 AWT 프레임워크에는 여러 창들에 대해 상위-하위 관계를 구현하는 고유 서비스가 사용되었습니다. 이로 인해 특히 다중 모니터 환경에서 일부 적절하지 않은 시각 효과가 발생했습니다. 그러한 방식의 단점을 없애기 위해 JDK 층에서 완전히 구현된 새로운 창 배열 모델이 도입되었습니다. 기본 원칙은 아래에 나열되어 있습니다.
    • 창은 가장 가까운 상위 창 위에 배치되어야 합니다.
    • 한 창에 여러 하위 창이 포함될 경우, 모든 하위 창은 동일한 층에 배치되어야 하며, 활성 창의 창은 형제 항목 위에 배열되어야 합니다.
    • 아이콘화된 상태이거나 아이콘화된 상태로의 변환이 진행 중인 창에 대해서는 배열을 수행하지 않아야 합니다.
    이러한 규칙은 현재 포커스된 창을 포함한 창 계층의 모든 프레임 또는 대화상자에 적용됩니다. JDK-8169589를 참조하십시오.
  • 버그 수정: TLS 핸드쉐이크에서 IllegalArgumentException 수정
    JDK-8173783 수정에 보고된 최근 문제로 인해 일부 TLS 서버에서 문제가 발생할 수 있습니다. 이 문제의 원인은 TLS 핸드쉐이크 코드에서 발생한 IllegalArgumentException 때문입니다.

    java.lang.IllegalArgumentException: 시스템 속성
    jdk.tls.namedGroups(null)에는 지원되는 타원 곡선이 포함되지 않습니다.


    이 문제는 타원 곡선 이름 확장 필드(제공된 경우)를 처리하기 위한 타원 곡선 암호화 지원이 서버에 포함되지 않은 경우에 발생할 수 있습니다. 사용자는 이 릴리스로 업그레이드하는 것이 좋습니다. 기본적으로 JDK 7 Update 및 이후의 JDK 제품군은 타원 곡선 암호화 지원을 제공하는 SunEC 보안 제공자와 함께 제공됩니다. 이러한 릴리스는 보안 제공자가 수정되지 않는 한 영향을 받아서는 안됩니다. JDK-8173783을 참조하십시오.
  • MD5가 jdk.jar.disabledAlgorithms 보안 속성에 추가됨
    이번 JDK 릴리스에는 MD5 서명 JAR 파일의 확인 방법에 대한 새로운 제한이 도입되었습니다. 서명된 JAR 파일에 MD5가 사용될 경우, 서명 확인 작업 시 해당 서명을 무시하고 JAR이 서명되지 않은 것으로 취급합니다. 이 상황은 서명된 JAR 파일을 사용하는 다음과 같은 유형의 애플리케이션에서 발생할 수 있습니다.
    • 애플릿 또는 Web Start 응용 프로그램
    • JAR의 코드 서명자를 기준으로 권한을 부여하는 정책 파일을 사용하여 구성되었으며, SecurityManager가 사용으로 설정되어 실행되는 독립형 또는 서버 응용 프로그램.

    사용 안함으로 설정된 알고리즘 목록은 java.security 파일의 jdk.jar.disabledAlgorithms라는 보안 속성을 통해 제어됩니다. 이 속성에는 사용 안함으로 설정된 알고리즘 및 암호 방식으로 서명된 JAR 파일의 키 크기가 포함됩니다.

    JAR 파일 서명에 약한 알고리즘 또는 키가 사용되었는지 확인하기 위해서는 이 JDK와 함께 제공되는 jarsigner 바이너리를 사용할 수 있습니다. 약한 알고리즘 또는 키를 사용하여 서명된 JAR 파일에서 "jarsigner -verify"를 실행하면 사용 안함으로 설정된 알고리즘 또는 키에 대한 추가 정보가 출력됩니다.

    예를 들어 test.jar라는 JAR 파일을 확인하려면 다음 명령을 사용합니다.

    jarsigner -verify test.jar

    이 예에서 파일이 MD5withRSA와 같은 약한 서명 알고리즘으로 서명된 경우, 다음과 같은 출력이 표시됩니다.

    The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled. Re-run jarsigner with the -verbose option for more details.

    verbose 옵션을 사용하면 자세한 내용을 볼 수 있습니다.

    jarsigner -verify -verbose test.jar

    다음 출력이 표시됩니다.
    
     - Signed by "CN=weak_signer" Digest algorithm: MD5 (weak) Signature algorithm: MD5withRSA (weak), 512-bit key (weak) Timestamped by "CN=strong_tsa" on Mon Sep 26 08:59:39 CST 2016 Timestamp digest algorithm: SHA-256 Timestamp signature algorithm: SHA256withRSA, 2048-bit key 
    이 문제를 해결하려면 더 강력한 알고리즘 또는 키 크기를 사용하여 JAR 파일을 다시 서명해야 합니다. 또는 적용 가능한 약한 알고리즘 또는 키 크기를 jdk.jar.disabledAlgorithms 보안 속성에서 제거하여 제한을 되돌릴 수 있습니다. 그러나 이 옵션은 권장되지 않습니다. 영향을 받는 JAR에 다시 서명하려면 먼저 JAR 파일에서 기존 서명을 제거해야 합니다. 이 작업은 다음과 같이 zip 유틸리티를 사용하여 수행할 수 있습니다.

    zip -d test.jar 'META-INF/.SF' 'META-INF/.RSA' 'META-INF/*.DSA'

    JRE 및 JDK 암호화 로드맵(http://java.com/cryptoroadmap)을 방문하여 서명된 JAR 및 기타 보안 구성요소에 대해 계획된 제한이 있는지 정기적으로 확인하십시오. JDK-8171121(비공개)
  • HTTP SPNEGO 접속을 위한 캐싱을 제어하는 새로운 시스템 속성.
    HTTP SPNEGO(협상/Kerberos) 접속에 대한 캐싱을 제어하기 위한 새로운 JDK 구현 관련 시스템 속성이 도입되었습니다. HTTP SPNEGO 접속에 대한 캐싱은 기본적으로 계속 사용으로 설정되므로, 이 속성이 명시적으로 지정되지 않았더라도 동작이 변경되지는 않습니다. 인증 협상을 위해 SPNEGO를 사용하는 HTTP 서버에 접속할 때, 그리고 서버와의 접속 및 인증이 성공한 경우에는 인증 정보가 캐시에 저장되고, 이후 동일 서버에 대한 접속에 재사용됩니다. 또한 SPNEGO를 사용한 HTTP 서버 접속에는 일반적으로 기본 접속을 활성 상태로 유지하고, 동일 서버에 대한 이후 요청에 재사용하는 과정이 포함됩니다. 일부 응용 프로그램에서는 서버에 대한 각 신규 요청에 대해 새로운 인증 요청을 강제하기 위해 HTTP SPNEGO(협상/Kerberos) 프로토콜에 대한 모든 캐싱을 사용 안함으로 설정해야 할 수 있습니다.

    이러한 변경에 따라 HTTP SPNEGO 접속에 대한 캐싱 정책을 제어할 수 있는 새로운 시스템 속성이 제공되었습니다. jdk.spnego.cache가 정의되어 있고 false로 평가될 경우, HTTP SPNEGO 접속에 대해 모든 캐싱이 사용 안함으로 설정됩니다. 하지만 이 시스템 속성을 false로 설정하면 다음과 같이 원하지 않는 부작용이 발생할 수 있습니다.
    • 새로운 요청이 있을 때마다 접속을 다시 인증해야 하고, 서버와의 통신 교환이 필요하기 때문에 HTTP SPNEGO 접속 성능에 큰 영향을 줄 수 있습니다.
    • 새로운 요청이 있을 때마다 인증서를 다시 가져와야 합니다. 그 결과 투명한 인증을 사용할 수 있는지 여부에 관계없이, 그리고 전역 인증자 구현에 따라, 새로운 요청이 있을 때마다 사용자에게 인증서를 요청하는 팝업이 표시될 수 있습니다.
    JDK-8170814(비공개)
  • HTTP NTLM 접속을 위한 캐싱을 제어하는 새로운 시스템 속성.
    HTTP NTLM 접속에 대한 캐싱을 제어하기 위한 새로운 JDK 구현 관련 시스템 속성이 도입되었습니다. HTTP NTLM 접속에 대한 캐싱은 기본적으로 계속 사용으로 설정되므로, 이 속성이 명시적으로 지정되지 않았더라도 동작이 변경되지는 않습니다. 일부 플랫폼의 경우 JDK에서의 HTTP NTLM 구현은 시스템 사용자 인증서가 시스템 레벨에서 사용되는 투명한 인증을 지원할 수 있습니다. 투명한 인증을 사용할 수 없거나, 실패할 경우, JDK는 전역 인증자에서 인증서 가져오기만 지원합니다. 서버 접속이 성공할 경우, 인증 정보가 캐시에 저장되고 이후 동일 서버에 대한 접속에 재사용됩니다. 또한 HTTP NTLM 서버 접속에는 일반적으로 기본 접속을 활성 상태로 유지하고, 동일 서버에 대한 이후 요청에 재사용하는 과정이 포함됩니다. 일부 응용 프로그램에서는 서버에 대한 각 신규 요청에 대해 새로운 인증 요청을 강제하기 위해 HTTP NTLM 프로토콜에 대한 모든 캐싱을 사용 안함으로 설정해야 할 수 있습니다.

    이러한 변경에 따라 HTTP NTLM 접속에 대한 캐싱 정책을 제어할 수 있는 새로운 시스템 속성이 제공되었습니다. jdk.ntlm.cache가 정의되어 있고 false로 평가될 경우, HTTP NTLM 접속에 대해 모든 캐싱이 사용 안함으로 설정됩니다. 하지만 이 시스템 속성을 false로 설정하면 다음과 같이 원하지 않는 부작용이 발생할 수 있습니다.
    • 새로운 요청이 있을 때마다 접속을 다시 인증해야 하고, 서버와의 통신 교환이 필요하기 때문에 HTTP NTLM 접속 성능에 큰 영향을 줄 수 있습니다.
    • 새로운 요청이 있을 때마다 인증서를 다시 가져와야 합니다. 그 결과 투명한 인증을 사용할 수 있는지 여부에 관계없이, 그리고 전역 인증자 구현에 따라, 새로운 요청이 있을 때마다 사용자에게 인증서를 요청하는 팝업이 표시될 수 있습니다.
    JDK-8163520(비공개)
  • VisualVM 새 버전
    VisualVM 1.3.9가 2016년 10월 4일에 릴리스되었고(http://visualvm.github.io/relnotes.html) 8u131에 통합되었습니다. JDK-8167485를 참조하십시오.
Java 만료 날짜

8u131의 만료 날짜는 2017년 7월 18일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2017년 8월 18일에 이 JRE(버전 8u131)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오. 이 릴리스에 포함된 버그 수정 목록은 JDK 8u131 버그 수정 페이지를 참조하십시오.

» 8u131 릴리스 노트


Java 8 Update 121(8u121)

릴리스 주요 기능
  • IANA 데이터 2016i
    JDK 8u121에는 IANA 시간대 데이터 버전 2016i가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: OS X 10.12 Sierra에서 트랙패드의 텍스트 스크롤이 너무 빠름
    MouseWheelEvent.getWheelRotation() 메소드가 Mac OS X에서 반올림된 고유 NSEvent deltaX/Y 이벤트를 반환했습니다. 최신 macOS Sierra 10.12에서 매우 작은 NSEvent deltaX/Y 값이 생성되어 반올림 및 합계로 인해 MouseWheelEvent.getWheelRotation()에서 큰 값이 반환됩니다. JDK-8166591 수정은 NSEvent deltaX/Y를 누적하고 MouseWheelEvent.getWheelRotation() 메소드는 누적된 값이 임계값과 0 값을 초과하는 경우에만 0이 아닌 값을 반환합니다. 이는 MouseWheelEvent.getWheelRotation() 지정: "마우스 휠이 회전된 '클릭' 수를 정수로 반환합니다. 마우스가 고해상도 휠을 지원하는 경우 부분 회전이 발생할 수 있습니다. 이 경우 메소드는 전체 '클릭'이 누적될 때까지 0을 반환합니다." 정확한 휠 회전 값을 구하려면 MouseWheelEvent.getPreciseWheelRotation() 메소드를 대신 사용하십시오. JDK-8166591을 참조하십시오.
  • JDK에서 기본 EC 강도 향상
    EC 암호화의 기본 강도를 향상시키기 위해 224비트 미만의 EC 키가 JDK의 인증 경로 처리(jdk.certpath.disabledAlgorithms 보안 속성 사용) 및 SSL/TLS 접속(jdk.tls.disabledAlgorithms 보안 속성 사용)에서 비활성화되었습니다. 애플리케이션은 보안 속성에서 이 제한을 업데이트하고 실제로 필요한 경우 더 작은 키 크기(예: "EC keySize < 192")를 허용할 수 있습니다. 256비트 미만의 EC 곡선은 JDK의 SSL/TLS 구현에서 제거됩니다. 새로운 시스템 속성인 jdk.tls.namedGroups는 환경설정 순서로 EC 암호화 모음에 대해 사용으로 설정된 명명된 곡선 목록을 정의합니다. 응용 프로그램이 사용으로 설정된 기본 EC 곡선 또는 곡선 환경설정을 사용자정의해야 할 경우에는 그에 따라 시스템 속성을 업데이트하십시오. 예를 들면 다음과 같습니다.
    
     jdk.tls.namedGroups="secp256r1, secp384r1, secp521r1" 

    사용으로 설정된 기본 또는 사용자정의된 EC 곡선은 알고리즘 제약 조건을 따릅니다. 예를 들어, 사용자정의된 EC 곡선은 Java 보안 속성으로 정의된 사용 안함으로 설정된 EC 키를 다시 활성화할 수 없습니다. JDK-8148516을 참조하십시오.
  • javadoc에 대한 새로운 --allow-script-in-comments 옵션
    javadoc 툴은 --allow-script-in-comments 명령행 옵션이 지정되지 않은 한 이제 javadoc 설명서 주석 및 명령행 옵션에 사용된 모든 JavaScript 코드를 거부합니다. javadoc 툴은 --allow-script-in-comments 옵션을 사용하여 설명서 주석 및 명령행 옵션에서 JavaScript 코드를 보존합니다. JavaScript 코드가 발견되었고 이 명령행 옵션이 설정되지 않았으면 javadoc 툴에서 오류가 발생합니다.
    JDK-8138725(비공개)
  • XML 서명에 대한 최소 키 길이를 1024로 늘림
    1024비트 미만의 RSA 및 DSA 키는 더 이상 디지털 서명용으로 안전하지 않으므로 기본적으로 해당 키를 제한하도록 XML 서명 구현의 보안 검증 모드가 향상되었습니다. 또한 jdk.xml.dsig.SecureValidationPolicy라는 새 보안 속성이 java.security 파일에 추가되었으며 이 속성을 사용하여 보안 검증 모드가 사용으로 설정된 경우 적용되는 여러 제한사항을 제어할 수 있습니다. 보안 검증 모드를 사용으로 설정하려면 javax.xml.crypto.XMLCryptoContext.setProperty 메소드를 사용하여 XML 서명 속성 org.jcp.xml.dsig.secureValidation을 true로 설정하거나 SecurityManager로 코드를 실행해야 합니다. XML 서명이 취약한 RSA 또는 DSA 키를 사용하여 생성되거나 검증되면 "보안 검증이 사용으로 설정된 경우 1024비트 미만의 RSA 키가 금지됩니다" 또는 "보안 검증이 사용으로 설정된 경우 1024비트 미만의 DSA가 금지됩니다"라는 메시지와 함께 XMLSignatureException이 발생합니다.
    JDK-8140353(비공개)
  • 1024비트 미만의 DSA 키를 사용하는 인증서 제한
    1024비트 미만의 DSA 키는 필요한 만큼 강력하지 않으므로 인증서 경로 작성 및 검증 시 제한되어야 합니다. 또한 "DSA keySize < 1024"를 "jdk.certpath.disabledAlgorithms" 보안 속성에 추가하여 기본적으로 1024비트 미만의 DSA 키가 비활성화되었습니다. 애플리케이션은 보안 속성("jdk.certpath.disabledAlgorithms")에서 이 제한사항을 업데이트하여 실제로 필요한 경우에만 보다 작은 키 크기를 허용할 수 있습니다(예: "DSA keySize < 768"). JDK-8139565(비공개)
  • DER 인코딩 구문분석 코드에 더 많은 검사가 추가됨
    다양한 인코딩 오류를 감지하기 위해 DER 인코딩 구문분석 코드에 더 많은 검사가 추가되었습니다. 또한 길이 제한 없이 생성된 인코딩을 포함하는 서명이 있을 경우 구문분석 중 IOException이 발생합니다. JDK 기본 제공자를 사용하여 생성된 서명은 이 변경으로 영향을 받지 않습니다. JDK-8168714(비공개)
  • URLClassLoader.newInstance에 대한 추가 액세스 제한사항
    java.net.URLClassLoader.newInstance 메소드로 생성된 클래스 로더를 사용하면 제공된 URL 목록에서 클래스를 로드할 수 있습니다. 호출 코드로 하나 이상의 URL에 액세스할 수 없고 액세스 가능한 URL 아티팩트에 필요한 클래스가 포함되어 있지 않은 경우 ClassNotFoundException 또는 이와 유사한 예외사항이 발생합니다. 이전에는 URL에 대한 액세스가 거부된 경우 SecurityException이 발생했습니다. 이전 동작으로 되돌려야 하는 경우 jdk.net.URLClassPath.disableRestrictedPermissions 시스템 속성을 설정하여 이 변경 기능을 사용 안함으로 설정할 수 있습니다. JDK-8151934(비공개)
  • logging.properties java.util.logging.FileHandler.maxLocks에 새 구성 가능 속성이 포함됨
    새 구성 가능 속성인 "java.util.logging.FileHandler.maxLocks"가 java.util.logging.FileHandler에 추가되었습니다. 이 새 로깅 속성은 로깅 구성 파일에서 정의할 수 있으며 FileHandler가 처리할 수 있는 최대 수의 동시 로그 파일 잠금을 구성할 수 있도록 해줍니다. 기본값은 100입니다. 다중(101개 초과) 독립형 클라이언트 응용 프로그램이 FileHandler와 함께 JDK 로깅 API를 동시에 사용 중인 과다 동시 작업 환경에서는 기본 제한 수인 100개에 도달할 때 FileHandler 파일 잠금 확보가 실패하고 이로 인해 IO 예외사항이 발생할 수 있습니다. 이 경우 새 로깅 속성을 사용하여 응용 프로그램 배치 전 최대 잠금 수를 늘릴 수 있습니다. 무효화되지 않을 경우 maxLocks의 기본값(100)은 그대로 유지됩니다. 자세한 내용은 java.util.logging.LogManagerjava.util.logging.FileHandler API 설명서를 참조하십시오. JDK-8153955를 참조하십시오.
참고
JNDI 원격 클래스 로드 시 보호 향상

이름 지정 및 디렉토리 서비스에 저장된 JNDI 객체 팩토리를 통한 원격 클래스 로드가 기본적으로 사용 안함으로 설정됩니다. RMI 레지스트리 및 COS 이름 지정 서비스 제공자의 원격 클래스 로드를 사용으로 설정하려면 필요에 따라 다음 시스템 속성을 "true"로 설정합니다.


 com.sun.jndi.rmi.object.trustURLCodebase com.sun.jndi.cosnaming.object.trustURLCodebase 

JDK-8158997(비공개)

jarsigner -verbose -verify는 JAR 서명에 사용된 알고리즘을 출력해야 함

서명된 JAR 파일을 생성하는 데 사용된 알고리즘 및 키의 세부정보를 표시하도록 jarsigner 툴이 향상되었으며 이 툴은 해당 알고리즘 및 키가 취약한 것으로 간주되는지 여부를 나타냅니다.

특히 "jarsigner -verify -verbose filename.jar" 호출 시 다양한 이유로 서명되지 않은 것으로 간주되는 경우에도 서명된 JAR 파일에 서명 및 시간기록(존재하는 경우) 정보를 보여주는 별도의 섹션이 출력됩니다. 사용된 알고리즘 또는 키가 취약한 것으로 간주되는 경우 보안 속성 jdk.jar.disabledAlgorithms에 지정된 대로 "(weak)"라는 레이블이 표시됩니다.

예를 들면 다음과 같습니다.


 - Signed by "CN=weak_signer" Digest algorithm: MD2 (weak) Signature algorithm: MD2withRSA (weak), 512-bit key (weak) Timestamped by "CN=strong_tsa" on Mon Sep 26 08:59:39 CST 2016 Timestamp digest algorithm: SHA-256 Timestamp signature algorithm: SHA256withRSA, 2048-bit key 

JDK-8163304를 참조하십시오.

알려진 문제
javapackager 및 fx:deploy가 JRE 대신 전체 JDK를 번들로 제공함

전체 JDK가 응용 프로그램 번들과 함께 제공되어 비정상적으로 번들이 커지는 알려진 버그가 Java Packager for Mac에 존재합니다. 임시해결책은 번들러 옵션인 -Bruntime 옵션을 사용하는 것입니다. -Bruntime=JavaAppletPlugin.plugin을 예로 들 수 있습니다. 여기서 번들로 제공할 JRE에 대한 JavaAppletPlugin.plugin은 현재 디렉토리에 있습니다. JDK-8166835를 참조하십시오.

UAC가 해제된 비관리 사용자에 대한 Java 설치가 실패함

UAC(사용자 액세스 제어)가 사용 안함으로 설정된 비관리 사용자에 대해 경고 또는 확인 없이 Windows에서 Java 설치가 실패합니다. 설치 프로그램이 jds<number>.tmp 디렉토리를 %TEMP% 디렉토리에 남겨둡니다.
JDK-8161460(비공개)

새로운 기능
XML 서명 보안 검증 모드를 구성하는 보안 속성이 추가됨

XML 서명의 보안 검증 모드가 사용으로 설정될 때 강제 적용되는 개별 제한사항을 사용자가 구성할 수 있는 jdk.xml.dsig.secureValidationPolicy라는 새로운 보안 속성이 추가되었습니다. java.security 구성 파일에서 이 속성의 기본값은 다음과 같습니다.


 jdk.xml.dsig.secureValidationPolicy=\ disallowAlg http://www.w3.org/TR/1999/REC-xslt-19991116,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#rsa-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#hmac-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#md5,\ maxTransforms 5,\ maxReferences 30,\ disallowReferenceUriSchemes file http https,\ noDuplicateIds,\ noRetrievalMethodLoops 

자세한 내용은 java.security 파일의 속성 정의를 참조하십시오. JDK-8151893을 참조하십시오.

직렬화 필터 구성

보안 및 견고성 향상을 위해 직렬화 필터링에서 객체 직렬화 데이터 수신 스트림의 필터링을 허용하는 새 방식이 도입되었습니다. 모든 ObjectInputStream은 직렬화 해제 시 필터(구성된 경우)를 스트림 콘텐츠에 적용합니다. 필터는 시스템 속성 또는 구성된 보안 속성을 사용하여 설정됩니다. "jdk.serialFilter" 패턴의 값은 JEP 290 직렬화 필터링 및 <JRE>/lib/security/java.security에서 설명됩니다. 필터 작업은 'java.io.serialization' 로거(사용으로 설정된 경우)에 기록됩니다. JDK-8155760을 참조하십시오.

RMI 향상된 제약 조건 확인

RMI 레지스트리 및 분배된 불필요한 정보 수집은 서비스 견고성 향상을 위해 JEP 290 직렬화 필터링 방식을 사용합니다. RMI 레지스트리 및 DGC는 각 서비스와 함께 사용되어야 할 일반 클래스에 대한 기본 제공 허용 목록 필터를 구현합니다. 시스템 속성 또는 보안 속성을 사용하여 추가 필터 패턴을 구성할 수 있습니다. "sun.rmi.registry.registryFilter" 및 "sun.rmi.transport.dgcFilter" 속성 패턴 구문은 JEP 290과 <JRE>/lib/security/java.security에서 설명됩니다. JDK-8156802(비공개)

기본값이 아닌 루트 CA에 알고리즘 제한사항을 적용할 수 없도록 하는 방식이 추가됨

java.security 파일에서 "jdkCA"라는 추가 제약 조건이 jdk.certpath.disabledAlgorithms 속성에 추가되었습니다. 지정된 알고리즘이 사용된 인증서 체인이 lib/security/cacerts 키 저장소의 표시된 신뢰 앵커에서 종료되는 경우에만 이 제약 조건은 해당 알고리즘을 사용하지 못하도록 합니다. jdkCA 제약 조건이 설정되지 않은 경우 지정된 알고리즘을 사용하는 모든 체인이 제한됩니다. jdkCA는 DisabledAlgorithm 표현식에 한 번만 사용할 수 있습니다. 예: SHA-1 인증서에 이 제약 조건을 적용하려면 SHA1 jdkCA를 포함시키십시오.
JDK-8140422를 참조하십시오.

Java 만료 날짜

8u121 만료 날짜는 2017년 4월 18일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2017년 5월 18일에 이 JRE(버전 8u121)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오. 이 릴리스에 포함된 버그 수정 목록은 JDK 8u121 버그 수정 페이지를 참조하십시오.

» 8u121 릴리스 노트


Java 8 Update 111(8u111)

릴리스 주요 기능
  • IANA 데이터 2016f
    JDK 8u111에는 IANA 시간대 데이터 버전 2016f가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오. JDK-8159684를 참조하십시오.
  • 인증서 변경사항: 새로운 JCE 코드 서명 루트 CA
    더 긴 키 길이 및 더 강력한 서명 알고리즘을 지원하기 위해 새로운 JCE 제공자 코드 서명 루트 인증 기관이 생성되고 해당 인증서가 Oracle JDK에 추가되었습니다. 이 CA에서 발급된 새 JCE 제공자 코드 서명 인증서는 현재 시점부터 JCE 제공자 서명에 사용됩니다. 기본적으로 JCE 제공자 코드 서명 인증서에 대한 새 요청은 이 CA에서 발급됩니다.

    현재 JCE 제공자 코드 서명 루트의 기존 인증서도 계속 유효합니다. 하지만 이 루트 CA는 이후 특정 시점에 사용 안함으로 설정될 수 있습니다. Oracle은 새 인증서를 요청하고 기존 제공자 JAR을 다시 서명할 것을 권장합니다. JCE 제공자 서명 프로세스에 대한 자세한 내용은 How to Implement a Provider in the Java Cryptography Architecture 설명서를 참조하십시오. JDK-8141340(비공개)
  • 서비스 메뉴 서비스
    AWT 메뉴 구성요소의 수명 주기 관리로 인해 특정 플랫폼에서 문제가 노출되었습니다. 이 수정은 메뉴 및 해당 컨테이너 사이의 상태 동기화를 개선합니다. JDK-8158993(비공개)
  • HTTPS 터널링에 대한 기본 인증 사용 안함
    일부 환경에서는 HTTPS를 프록시할 때 특정 인증 체계가 바람직하지 않을 수 있습니다. 따라서 jdk.http.auth.tunneling.disabledSchemes 네트워킹 속성에 Basic을 추가하여 Oracle Java Runtime에서 기본 인증 체계가 기본적으로 비활성화되었습니다. 이제 HTTPS용 터널을 설정할 때 Basic 인증이 필요한 프록시는 더 이상 기본적으로 성공하지 않습니다. 필요한 경우에는 jdk.http.auth.tunneling.disabledSchemes 네트워킹 속성에서 Basic을 제거하거나 명령행에서 동일 이름의 시스템 속성을 ""(비워둠)으로 설정하여 이 인증 체계를 다시 활성화할 수 있습니다. 또한 jdk.http.auth.tunneling.disabledSchemesjdk.http.auth.proxying.disabledSchemes 네트워킹 속성 및 동일 이름의 시스템 속성을 사용해서 HTTPS용 터널을 설정하거나 일반 HTTP를 프록시할 때 활성 상태일 수 있는 다른 인증 체계를 사용 안함으로 설정할 수 있습니다. JDK-8160838(비공개)
  • 약한 알고리즘과 키를 사용하여 서명된 JAR 제한
    이 JDK 릴리스에서는 서명된 JAR 파일 확인 방법에 대한 새로운 제한사항이 도입되었습니다. 서명된 JAR 파일이 사용 안함으로 설정된 알고리즘 또는 최소 길이보다 작은 키 크기를 사용할 경우, 서명 확인 작업 시 서명이 무시되고 해당 JAR 파일은 서명되지 않은 파일로 처리됩니다. 이 상황은 서명된 JAR 파일을 사용하는 다음과 같은 유형의 애플리케이션에서 발생할 수 있습니다.
    1. 애플릿 또는 Web Start 애플리케이션
    2. JAR의 코드 서명자를 기준으로 권한을 부여하는 정책 파일을 사용하여 구성되었으며, SecurityManager가 사용으로 설정되어 실행되는 독립형 또는 서버 응용 프로그램.

    사용 안함으로 설정된 알고리즘 목록은 java.security 파일의 jdk.jar.disabledAlgorithms라는 새로운 보안 속성을 통해 제어됩니다. 이 속성에는 사용 안함으로 설정된 알고리즘 및 암호 방식으로 서명된 JAR 파일의 키 크기가 포함됩니다.

    이 릴리스에서 제한되는 알고리즘과 키 크기는 다음과 같습니다.
    1. MD2(Digest 또는 서명 알고리즘)
    2. 1024비트 미만인 RSA 키
    주: 2017년 4월 CPU에서는 서명된 JAR에서 MD5 기반 서명을 제한할 계획입니다.

    JAR 파일 서명에 약한 알고리즘 또는 키가 사용되었는지 확인하기 위해서는 이 JDK와 함께 제공되는 jarsigner 바이너리를 사용할 수 있습니다. 약한 알고리즘 또는 키를 사용하여 서명된 JAR 파일에서 jarsigner -verify -J-Djava.security.debug=jar를 실행하면 사용 안함으로 설정된 알고리즘 또는 키에 대한 추가 정보가 출력됩니다.

    예를 들어, test.jar라는 JAR 파일을 확인하려면 다음 명령을 사용하십시오.
    jarsigner -verify -J-Djava.security.debug=jar test.jar

    이 예에서 파일이 MD2withRSA와 같은 약한 서명 알고리즘을 사용하여 서명된 경우, 다음과 같은 출력이 표시됩니다.
    jar: beginEntry META-INF/my_sig.RSA
    jar: processEntry: processing block
    jar: processEntry caught: java.security.SignatureException: Signature check failed. Disabled algorithm used: MD2withRSA
    jar: done with meta!

    업데이트된 jarsigner 명령은 다음 경고가 표준 출력에 출력된 후 종료됩니다.
    "Signature not parsable or verifiable. 이 jar은 서명되지 않은 것으로 취급됩니다. jar은 현재 사용 안함으로 설정된 약한 알고리즘을 사용해서 서명되었을 수 있습니다. 자세한 내용을 보려면 디버그를 사용으로 설정하여 jarsigner를 다시 실행하십시오(-J-Djava.security.debug=jar)"

    문제를 해결하려면 더 강력한 알고리즘 또는 키 크기를 사용하여 JAR 파일에 다시 서명해야 합니다. 또는 적용 가능한 약한 알고리즘 또는 키 크기를 jdk.jar.disabledAlgorithms 보안 속성에서 제거하여 제한을 되돌릴 수 있습니다. 그러나 이 옵션은 권장되지 않습니다. 영향을 받는 JAR 파일에 서명하려면 먼저 JAR에서 기존 서명을 제거해야 합니다. 이 작업은 다음과 같이 zip 유틸리티를 사용하여 수행할 수 있습니다.

    zip -d test.jar 'META-INF/*.SF' 'META-INF/*.RSA' 'META-INF/*.DSA'

    Oracle JRE 및 JDK 암호화 로드맵(http://java.com/cryptoroadmap)을 방문하여 서명된 JAR 파일 및 기타 보안 구성요소에 대해 계획된 제한사항이 있는지 정기적으로 확인하십시오. 특히, 2017년 4월 CPU에서는 서명된 JAR 파일에서 MD5 기반 서명을 제한할 계획입니다.

    JAR 파일이 MD5를 사용하여 서명되었는지 테스트하려면 jdk.jar.disabledAlgorithms 보안 속성에 MD5를 추가하십시오. 예를 들면 다음과 같습니다.

    jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

    그런 다음 위에서 설명한 JAR 파일에서 jarsigner -verify -J-Djava.security.debug=jar를 실행하십시오.
    JDK-8155973(비공개)
  • 배치 인증자 대화상자에 경고 메시지 추가
    프록시를 사용하거나 SSL/TLS 프로토콜을 사용하지 않을 때 HTTP 기본 인증(인증서가 암호화되지 않은 상태로 전송됨)이 사용되는 경우 플러그인 인증 대화상자에 경고가 추가되었습니다.
    "경고: 기본 인증 체계를 사용하여 인증서가 일반 텍스트로 전송됩니다. 계속하시겠습니까?"
    JDK-8161647(비공개)
알려진 문제
Windows의 JFR 레코딩에서 일부 이벤트가 제공되지 않음

릴리스 8u111의 경우 Windows의 JFR 레코딩에서 다음 이벤트가 제공되지 않습니다.

  1. hotspot/jvm/os/processor/cpu_load
  2. os/processor/context_switch_rate

이는 JDK-8162419에 대한 변경사항과 함께 8u111에 도입된 회귀 JDK-8063089 때문입니다. JDK-8063089에 대한 수정사항은 8u111 릴리스에 포함되지 않았습니다. 다음 번 8u111 BPR 빌드와 다음 번 공개 릴리스에 제공될 예정입니다.
JDK-8063089(비공개)

macOS Sierra 10.12에서 JVM에 NullPointerExceptions 발생

macOS Sierra 10.12에서 애플릿이 브라우저에서 실행 중인 동안 사용자가 수정 키(예: Command, Shift, Alt)를 누르면 "내부 오류"라는 오류 상자가 표시될 수 있습니다. 또한 macOS 도크에 "exec" 아이콘이 표시됩니다. 사용자는 애플릿을 해제할 수 있습니다. 또는 수정 키를 누르지 않을 때 애플릿을 재실행해 보십시오. JDK-8165867을 참조하십시오.

Java 만료 날짜

8u111 만료 날짜는 2017년 1월 17일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2017년 2월 17일에 이 JRE(버전 8u111)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오. 이 릴리스에 포함된 버그 수정 목록은 JDK 8u111 버그 수정 페이지를 참조하십시오.

» 8u111 릴리스 노트



Java 8 Update 101(8u101)

릴리스 주요 기능
  • IANA Data 2016d
    JDK 8u101에는 IANA 시간대 데이터 버전 2016d가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오. JDK-8151876을 참조하십시오.
  • 인증서 변경사항
    루트 CA에 새 DTrust 인증서 추가됨
    두 개의 새 루트 인증서가 추가되었습니다.
    • D-TRUST Root Class 3 CA 2 2009
      alias: dtrustclass3ca2
      DN: CN=D-TRUST Root Class 3 CA 2 2009, O=D-Trust GmbH, C=DE
    • D-TRUST Root Class 3 CA 2 EV 2009
      alias: dtrustclass3ca2ev
      DN: CN=D-TRUST Root Class 3 CA 2 EV 2009, O=D-Trust GmbH, C=DE
    JDK-8153080을 참조하십시오.

    루트 CA에 새 Iden 인증서 추가됨
    3개의 새 루트 인증서가 추가되었습니다.
    • IdenTrust Public Sector Root CA 1
      alias: identrustpublicca
      DN: CN=IdenTrust Public Sector Root CA 1, O=IdenTrust, C=US
    • IdenTrust Commercial Root CA 1
      alias: identrustcommercial
      DN: CN=IdenTrust Commercial Root CA 1, O=IdenTrust, C=US
    • IdenTrust DST Root CA X3
      alias: identrustdstx3
      DN: CN=DST Root CA X3, O=Digital Signature Trust Co.
    JDK-8154757을 참조하십시오.

    Comodo 루트 CA 제거됨
    cacerts 파일에서 Comodo "UTN - DATACorp SGC" 루트 CA 인증서가 제거되었습니다. JDK-8141540을 참조하십시오.

    Sonera Class1 CA가 제거됨
    cacerts 파일에서 "Sonera Class1 CA" 루트 CA 인증서가 제거되었습니다. JDK-8141276을 참조하십시오.
  • javax.rmi.CORBA.ValueHandler에 대한 액세스 제어 향상
    javax.rmi.CORBA.Util 클래스는 stub 및 tie가 공통 작업을 수행하는 데 사용할 수 있는 메소드를 제공합니다. 또한 ValueHandlers에 대한 팩토리로도 사용됩니다. javax.rmi.CORBA.ValueHandler 인터페이스는 GIOP 스트림에 대한 값 유형 읽기 및 쓰기를 지원하는 서비스를 제공합니다. java.io.SerializablePermission("enableCustomValueHanlder") 권한의 도입으로 이러한 유틸리티의 보안 인식이 향상되었습니다. 이 권한은 javax.rmi.CORBA.Utiljavax.rmi.CORBA.ValueHandler API의 사용자 간에 신뢰 관계를 구축하는 데 사용됩니다.

    필요한 권한은 "enableCustomValueHanlder" SerializablePermission입니다. SecurityManager는 설치되어 있지만 Util.createValueHandler() 호출 중 새 권한이 없는 상태로 타사 코드가 실행 중일 경우 AccessControlException을 표시하면서 실패합니다.

    JDK8u 및 이전 릴리스에서는 시스템 속성 "jdk.rmi.CORBA.allowCustomValueHandler"를 정의하여 이 권한 검사 동작을 무효화할 수 있습니다.

    따라서 javax.rmi.CORBA.Util.createValueHandler를 명시적으로 호출하는 외부 애플리케이션을 사용하려면 SecurityManager가 설치되어 있고 다음 두 가지 요구사항을 모두 충족하지 않을 때 작동하도록 구성을 변경해야 합니다.
    1. SecurityManager를 통해 java.io.SerializablePermission("enableCustomValueHanlder")이 부여되지 않았습니다.
    2. 응용 프로그램이 JDK8u 및 이전 버전에서 실행 중일 경우 시스템 속성 "jdk.rmi.CORBA.allowCustomValueHandler"가 정의되지 않았거나 "false"(대소문자 구분 안함)로 정의되었습니다.

    2016년 10월 릴리스에서 "enableCustomValueHanlder" 오타가 수정될 예정입니다. 해당 JDK 릴리스와 이후 릴리스에서 "enableCustomValueHandler"에 올바른 SerializationPermission이 사용될 것입니다.
    JDK-8079718(비공개)
  • 시간기록 해시 알고리즘을 지정하기 위한 지원이 jarsigner에 추가됨
    TSA 서버로 전송될 메시지 임프린트를 생성하는 데 사용되는 메시지 Digest 알고리즘을 지정하는 새로운 -tsadigestalg 옵션이 jarsigner에 추가되었습니다. 이전 JDK 릴리스에서는 SHA-1이 메시지 Digest 알고리즘으로 사용되었습니다. 이 새 옵션을 지정하지 않을 경우 JDK 7 Update 및 이후 JDK 제품군 버전에서는 SHA-256이 사용됩니다. JDK 6 Update의 경우 SHA-1이 기본값으로 유지되지만, 표준 출력 스트림에 경고가 표시됩니다. JDK-8038837을 참조하십시오.
  • MSCAPI 키 저장소는 동일 이름이 지정된 인증서를 처리할 수 있습니다.
    Java SE 키 저장소는 동일 별칭의 인증서를 허용하지 않습니다. 하지만 Windows에서는 하나의 키 저장소에 저장된 여러 인증서가 고유하지 않은 이름을 사용할 수 있습니다. JDK-6483657 수정에서는 시각적인 별칭을 인위적으로 고유하게 만들어서 Java API를 통해 고유하지 않은 이름이 지정된 인증서를 사용할 수 있도록 합니다. 이 수정은 Java API를 사용한 동일 이름으로 지정된 인증서 생성을 사용으로 설정하지 않습니다. 타사 툴에 의해 키 저장소에 추가된 동일 이름으로 지정된 인증서를 처리할 수 있도록만 지원합니다. 여전히 디자인에서는 여러 인증서를 동일 이름으로 사용하지 않는 것이 권장됩니다. 특히 다음 문장은 Java 설명서에서 제거될 예정입니다.
    "문제 방지를 위해서는 대소문자만 다른 별칭을 키 저장소에서 사용하지 않는 것이 좋습니다."
    JDK-6483657을 참조하십시오.
  • 배치 툴킷 API 메소드가 더 이상 JRE를 설치하지 않음
    deployJava.js에서 제공하는 배치 툴킷 API installLatestJRE()installJRE(requestedVersion) 메소드와 dtjava.js에서 제공하는 install() 메소드가 더 이상 JRE를 설치하지 않습니다. 사용자의 Java 버전이 보안 기준보다 이전일 경우 업데이트된 JRE를 얻을 수 있도록 사용자가 java.com으로 재지정됩니다. JDK-8148310(비공개)
  • ProtectionDomain 객체를 결합할 때 DomainCombiner가 정적 ProtectionDomain 객체에 대해 더 이상 런타임 정책을 참조하지 않음
    이 수정사항을 사용할 경우 충분하지 않은 권한 집합의 정적 ProtectionDomain 객체(인수가 2개인 생성자를 사용하여 생성됨)를 사용하는 애플리케이션에서 AccessControlException이 발생할 수 있습니다. 현재 정책을 통해 권한 집합이 확장되는 동적 객체(인수가 4개인 생성자를 사용함)로 정적 ProtectionDomain 객체를 대체하거나, 필요한 모든 권한이 있는 정적 ProtectionDomain 객체를 생성해야 합니다. JDK-8147771(비공개)
알려진 문제
JRE 8u101은 정적 클래스 ID를 사용할 때 IE(Internet Explorer)에서 인식되지 않습니다.

JRE 8u101을 사용하는 동안 애플릿 또는 웹 시작 응용 프로그램을 실행하기 위해 정적 클래스 ID가 사용된 경우, 사용자가 최신 JRE(JRE 8u101)를 설치하고 사용하고 있더라도 최신 JRE를 사용하거나 실행을 취소하라는 원치 않는 대화상자가 사용자에게 표시됩니다. 이 특정 사례는 Windows 및 IE에만 적용됩니다.

http://www.oracle.com/technetwork/java/javase/family-clsid-140615.html에 따라 (2005년 12월 JDK 5u6 이후) JRE 버전 선택에 대해 정적 클래스 ID를 사용하지 않는 것이 좋습니다.

이 문제를 해결하기 위해 사용자는 다음 두 가지 항목 중 하나를 수행할 수 있습니다.

  • 최신 버전(8u101)으로 실행을 누르고 경고를 무시합니다.
  • 이 문제를 방지하기 위해 JRE 8u101 대신 JRE 8u102를 설치합니다.

이 문제를 해결하기 위해 개발자는 다음 두 가지 항목 중 하나를 수행할 수 있습니다.

  • 정적 클래스 ID 대신 동적 클래스 ID를 사용합니다.
  • JNLP 사용 시 HTML 애플릿 또는 JNLP 기술자를 사용할 때 java_version을 사용합니다.

JDK-8147457(비공개)
 

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오. 이 릴리스에 포함된 버그 수정 목록은 JDK 8u101 버그 수정 페이지를 참조하십시오.

Java 만료 날짜

8u101의 만료 날짜는 2016년 10월 19일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2016년 11월 19일에 이 JRE(버전 8u101)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

» 8u101 릴리스 노트


Java 8 Update 91(8u91)

릴리스 주요 기능
  • IANA 데이터 2016a
    JDK 8u91에는 IANA 시간대 데이터 버전 2016a가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: 애플릿 시작 시간의 회귀 수정
    JDK-8080977에서 애플릿 실행에 대한 지연을 도입했습니다. 지연은 IE에서만 나타나고 20초 정도 지속됩니다. JDK-8136759에서 이 지연을 제거했습니다. JDK-8136759를 참조하십시오.
  • 버그 수정: DSA 서명 생성은 이제 키 강도 검사를 수행해야 합니다.
    서명 생성의 경우 Digest 알고리즘의 보안 강도가 서명하는 데 사용된 키의 보안 강도(예: SHA1withDSA 서명으로 (2048, 256)비트 DSA 키 사용)보다 약한 경우 다음 오류 메시지와 함께 작업이 실패합니다. "SHA1 Digest 알고리즘의 보안 강도가 이 키 크기에 충분하지 않습니다." JDK-8138593(비공개)
  • 버그 수정: Firefox 42 liveconnect 문제
    브라우저 정지가 발생할 수 있기 때문에 Java 플러그인이 plugin-container.exe(Firefox 42의 기본 동작)에서 실행되고 애플릿 상태가 준비됨(2) 상태가 아닌 경우 JavaScript-to-Java 호출을 처리하지 않습니다. 애플릿이 준비된 상태가 아닌 경우(상태가 2가 아님) 실제 Java 메소드를 실행하지 않고 널만 반환합니다.

    플러그인이 plugin-container.exe에서 실행되면 호출을 완료하거나 JavaScript-To-Java 호출 중 모달 대화상자를 표시하는 데 12초 이상 걸릴 수 있는 JavaScript-To-Java 호출(dom.ipc.plugins.hangUITimeoutSecs의 기본값)을 사용하지 마십시오. 이런 경우 기본 브라우저 스레드를 차단해야 하며 이로 인해 브라우저가 정지되고 플러그인이 종료될 수 있습니다.

    irefox 42에 대한 임시해결책: 사용자가 dom.ipc.plugins.enabled=false를 설정할 수 있습니다. 이 임시해결책으로 모든 플러그인에 대한 설정이 변경된다는 부작용이 있습니다. JDK-8144079(비공개)
  • 버그 수정: JMX RMI JRMP 서버의 새 속성이 서버 인증서를 직렬화 해제할 때 사용할 클래스 이름 목록을 지정합니다.
    JMX RMI JRMP 서버가 클래스 이름 목록을 지정할 수 있도록 새 java 속성이 환경에 대해 정의되었습니다. 이러한 이름은 인증서를 직렬화 해제할 때 서버에서 예상하는 클래스 이름 종료에 해당합니다. 예를 들어 예상한 인증서가 다음과 같은 경우
    
     List<string>
    종료를 통해 문자열 목록의 직렬 형태여야 하는 명확한 모든 클래스를 구성합니다.

    기본적으로 이 속성은 다음이 제공되는 기본 에이전트에서만 사용됩니다.
    
     { "[Ljava.lang.String;", "java.lang.String" } 
    문자열 배열 및 문자열만 인증서 직렬화 해제 시 적용됩니다. 속성 이름:
    
    "jmx.remote.rmi.server.credential.types" 
    다음은 지정된 인증서 클래스 이름으로 서버를 시작하는 사용자의 예입니다.
    
     Map<string, object=""> env = new HashMap<>(1); env.put ( "jmx.remote.rmi.server.credential.types", new String[]{ String[].class.getName(), String.class.getName() } ); JMXConnectorServer server = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbeanServer); 
    새 기능은 다음을 직접 정의하여 사용됩니다.
    "jmx.remote.rmi.server.credential.types"

    JDK-8144430(비공개)
  • 버그 수정: JSSE 제공자에서 MD5withRSA 서명 알고리즘 사용 안함
    MD5withRSA 서명 알고리즘은 이제 안전하지 않은 것으로 간주되므로 더 이상 사용하면 안됩니다. 따라서 "jdk.tls.disabledAlgorithms" 보안 속성에 "MD5withRSA"를 추가하는 방식으로 Oracle JSSE 구현에서 MD5withRSA가 기본적으로 비활성화되었습니다. 이제 TLS 핸드쉐이크 메시지와 MD5withRSA 알고리즘으로 서명된 X.509 인증서는 더 이상 기본적으로 적용되지 않습니다. 이러한 변경으로 이전 MD5 기반 인증서 제한("jdk.certpath.disabledAlgorithms")이 TLS 버전 1.2의 핸드쉐이크 메시지도 포함하도록 확장됩니다. 필요한 경우 이 알고리즘은 "jdk.tls.disabledAlgorithms" 보안 속성에서 "MD5withRSA"를 제거하여 다시 활성화할 수 있습니다. JDK-8144773(비공개)
  • 버그 수정: 루트 CA에 새 인증서 추가됨
    새 루트 다음 인증서 8개가 추가되었습니다.
    • QuoVadis Root CA 1 G3
      alias: quovadisrootca1g3
      DN: CN=QuoVadis Root CA 1 G3, O=QuoVadis Limited, C=BM
    • QuoVadis Root CA 2 G3
      alias: quovadisrootca2g3
      DN: CN=QuoVadis Root CA 2 G3
    • QuoVadis Root CA 3 G3
      alias: quovadisrootca3g3
      DN: CN=QuoVadis Root CA 3 G3, O=QuoVadis Limited, C=BM
    • DigiCert Assured ID Root G2
      alias: digicertassuredidg2
      DN: CN=DigiCert Assured ID Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Assured ID Root G3
      alias: digicertassuredidg3
      DN: CN=DigiCert Assured ID Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Global Root G2
      alias: digicertglobalrootg2
      DN: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Global Root G3
      alias: digicertglobalrootg3
      DN: CN=DigiCert Global Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Trusted Root G4
      alias: digicerttrustedrootg4
      DN: CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert Inc, C=US
    JDK-8145954JDK-8145955를 참조하십시오.
참고

Static JRE 제거
버전 8u91 이전에 릴리스된 Windows용 Java 설치 프로그램은 기본적으로 정적으로 설치된 JRE를 제거하지 않았습니다. 정적으로 설치된 JRE를 제거하기 위해서는 사용자가 Java 설치 프로그램의 사용자 인터페이스에서 해당 JRE를 수동으로 선택해야 했습니다. 이제 Java 릴리스 8u91 이상에서는 정적으로 설치된 JRE가 보안 기준 미만일 경우 자동으로 제거됩니다. 정적 설치에 대한 자세한 내용은 Java Runtime Environment 구성을 참조하십시오.

Java 만료 날짜

8u91의 만료 날짜는 2016년 7월 19일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2016년 8월 19일에 이 JRE(버전 8u91)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오. 이 릴리스에 포함된 버그 수정 목록은 JDK 8u91 버그 수정 페이지를 참조하십시오.

» 8u91 릴리스 노트


Java 8 Update 77(8u77)

릴리스 주요 기능
Java 만료 날짜

8u77 만료 날짜는 2016년 4월 19일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2016년 5월 19일에 이 JRE(버전 8u77)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

참고

이 보안 경보(8u77)는 이전 8u74 PSU 릴리스에 기반을 두었습니다. 이전 JDK 릴리스를 사용하는 모든 사용자는 이 릴리스로 업데이트해야 합니다. 중요한 패치 업데이트 및 패치 세트 업데이트의 차이에 대한 자세한 정보는 Java CPU and PSU Releases Explained를 방문하십시오.

8u77에 대한 데모, 샘플 및 문서 번들은 CVE-2016-0636에 대한 보안 경보의 영향을 받지 않습니다. 따라서 버전 8u73 데모, 샘플 및 문서 번들은 4월 중요한 패치 업데이트 릴리스까지 최신 날짜 버전으로 유지됩니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

» 8u77 릴리스 노트


Java 8 Update 73(8u73)

릴리스 주요 기능
Java 만료 날짜

8u73 만료 날짜는 2016년 4월 19일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2016년 5월 19일에 이 JRE(버전 8u73)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

참고

오라클은 영향을 받는 버전을 다운로드하고, 이 다운로드 버전을 사용하여 이후 설치를 계획하는 Java 사용자의 경우 기존 다운로드를 삭제할 것을 강력히 권장합니다. Java SE 6, 7 또는 8의 2016년 1월 중요한 패치 업데이트 버전을 설치한 Java 사용자는 수행해야 하는 작업이 없습니다. Java SE 6, 7 또는 8의 2016년 1월 중요한 패치 업데이트를 설치하지 않은 Java 사용자는 CVE-2016-0603에 대한 보안 경보에서 Java SE 6, 7 또는 8 릴리스로 업그레이드해야 합니다.

8u73에 대한 데모, 샘플 및 문서 번들은 CVE-2016-0603에 대한 Security Alert의 영향을 받지 않습니다. 따라서 버전 8u71 데모, 샘플 및 문서 번들은 4월 중요한 패치 업데이트 릴리스까지 최신 날짜 버전으로 유지됩니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오. 8u73에는 8u72에서 발견된 PSU 빌드가 포함되어 있지 않습니다. 8u72에 포함된 추가 버그 수정이 필요한 고객은 8u73 대신 8u74로 업데이트해야 합니다.

» 8u73 릴리스 노트


Java 8 Update 71(8u71)

릴리스 주요 기능
  • IANA 데이터 2015g
    JDK 8u71에는 IANA 시간대 데이터 버전 2015g가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: JPS를 루트로 실행하면 모든 정보가 표시되지 않음
    JDK-8050807 수정사항(8u31, 7u75 6u91에서 수정됨) 이후 JPS를 루트로 실행하면 일부 시스템에서 다른 사용자가 시작한 Java 프로세스의 모든 정보가 표시되지 않습니다. 이제 이 문제는 해결되었습니다. JDK-8075773을 참조하십시오.
  • 버그 수정: ESC 구성에서 설치 프로그램이 중단됨
    Windows Server 2008 R2에서 Internet Explorer ESC(보안 강화 구성)를 실행하는 사용자의 경우 Java를 대화식 모드로 설치할 때 문제가 발생할 수 있습니다. 이 문제는 8u71 릴리스에서 해결되었습니다. 설치 프로그램을 대화식 모드로 실행하면 더 이상 ESC 구성에서 중단되지 않습니다. JDK-8140197을 참조하십시오.
  • 버그 수정: AES 암호화를 사용하는 PBE 알고리즘 관련 문제가 수정됨
    256비트 AES 암호화를 사용하는 PBE에서 파생 키가 이전에 동일한 비밀번호에서 파생된 키와 일치하지 않고 달라지던 오류가 수정되었습니다. JDK-8138589(비공개).
  • 버그 수정: XML 최대 엔티티 크기에 대한 기본 제한이 추가됨
    최대 엔티티 크기에 대한 기본 제한이 추가되었습니다. XML 처리 제한에 대한 자세한 내용은 Java 자습서, 처리 제한을 참조하십시오. JDK-8133962(비공개)
  • 버그 수정: Enterprise MSI 스위치 'REMOVEOLDERJRES' 설명서 관련 문제가 수정됨
    Enterprise MSI 설명서는 구성 옵션을 나열합니다. 이전 JRE 제거에 사용된 REMOVEOLDERJRES 옵션이 누락되었습니다. 이 옵션을 추가했고 설명은 다음과 같습니다.
    1로 설정할 경우 시스템에 설치된 이전 JRE 릴리스를 제거합니다.
    기본값 0은 이전 JRE를 제거하지 않습니다.
    JDK-8081237(비공개)
Java 만료 날짜

8u71 만료 날짜는 2016년 4월 19일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2016년 5월 19일에 이 JRE(버전 8u71)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u71 버그 수정 페이지를 참조하십시오.

» 8u71 릴리스 노트


Java 8 Update 66(8u66)

릴리스 주요 기능

8u66 빌드 18은 Firefox의 문제를 처리합니다.

  • 버그 수정: 잘못된 스레드에서 _releaseObject가 호출됩니다.
    Firefox에 대한 최근 변경으로 기본 스레드가 아닌 스레드에서 _releaseObject 호출이 수행됩니다. 이로 인해 경합 조건이 발생하여 브라우저가 의도치 않게 충돌할 수 있습니다. 이 문제는 8u66의 빌드 18에서 처리되었습니다. 자세한 내용은 Bugs@Mozilla 1221448을 참조하십시오. JDK-8133523을 참조하십시오.
Java를 설치한 후 Firefox에서 Java 플러그인이 작동하지 않음

Java 플러그인을 실행하려고 할 때 Firefox 42 충돌이 발생할 수 있습니다. 임시해결책 옵션은 FAQ에 나열되어 있습니다. JDK-8142908(비공개)을 참조하십시오.

Java 만료 날짜

8u66 만료 날짜는 2016년 1월 19일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2016년 2월 19일에 이 JRE(버전 8u66)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함되어 있는 버그 수정 목록은 JDK 8u66 버그 수정 페이지를 참조하십시오.

» 8u66 릴리스 노트


Java 8 Update 65(8u65)

릴리스 주요 기능
  • IANA 데이터 2015f
    JDK 8u65에는 IANA 시간대 데이터 버전 2015f가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • ISO 4217 '통화 코드' 표(A.2) 지원
    이 개선으로 ISO 4217 표 A.2 통화 코드에 대한 지원이 추가됩니다. 이전에는 JDK에서 표 A.1에 나열된 통화만 지원했습니다. JDK-8074350을 참조하십시오.
  • 버그 수정: [mac osx] Mac 10.11에서 설치된 JRE AU 클라이언트가 NEXTVER로 업데이트 실패
    8u65 릴리스에는 OS X 사용자가 최신 버전으로 업데이트할 수 있도록 새 설치 프로그램이 도입되었습니다. 설치 프로그램은 일정이 잡힌 업데이트 및 수동 업데이트에 모두 적용되며, 번들은 java.com 및 OTN에서 제공합니다. 새 설치 프로그램과 호환성 문제를 겪는 사용자는 My Oracle Support에서 제공하는 ".pkg" 설치 프로그램을 수동으로 다운로드하여 설치할 수 있습니다.
  • 버그 수정: SPARC에서 캐시 라인 크기를 가져오려면 핫스팟이 PICL 인터페이스를 사용해야 함
    이제 캐시 라인의 크기를 확인하려면 Solaris/SPARC에서 libpicl 라이브러리가 필요합니다. 라이브러리가 존재하지 않거나 PICL 서비스를 사용할 수 없는 경우 JVM은 경고를 표시하고 BIS(Block Initializing Store) 명령을 활용하는 컴파일러 최적화가 해제됩니다. JDK-8056124를 참조하십시오.
  • 버그 수정: dns_lookup_realm은 기본적으로 false여야 함
    Kerberos의 krb5.conf 파일에서 dns_lookup_realm 설정은 기본적으로 false입니다. JDK-8080637을 참조하십시오.
  • 버그 수정: signal()이 호출될 때 libjsig.dylib를 사전 로드하면 교착 상태 발생
    신호 체인을 사용으로 설정하려면 응용 프로그램에서 libjsig 라이브러리를 사전 로드해야 합니다. 이전에는 OS X에서 libjsig.dylib가 사전 로드된 후 signal()에 대한 고유 코드에서 호출하면 교착 상태가 발생했습니다. 이 문제는 해결되었습니다. JDK-8072147을 참조하십시오.
  • 버그 수정: 향상된 동적 그룹
    OpenJDK SSL/TLS/DTLS 구현(SunJSSE 제공자)에서 가장 안전한 Diffie-Hellman 그룹이 기본적으로 사용됩니다. 사용자는 보안 속성 jdk.tls.server.defaultDHEParameters를 통해 Diffie-Hellman 그룹을 사용자정의할 수 있습니다.
  • 버그 수정: 클래스가 Instrumentation.redefineClasses로 재정의된 경우 VM 충돌
    클래스가 Instrumentation.redefineClasses()로 재정의된 경우 JVM이 충돌할 수 있습니다. 충돌은 SystemDictionary::resolve_or_null에서 세그먼트화 오류 또는 '분석 오류 테이블에서 태그 불일치' 메시지와 함께 내부 오류일 수 있습니다. 이제 이 문제는 해결되었습니다. JDK-8076110을 참조하십시오.
참고

OSX 10.11 El Capitan을 실행할 때 SIP가 사용으로 설정된 경우 명령행에서 Java를 실행하거나 JAR 파일을 마우스로 두 번 누르면 DYLD_LIBRARY_PATH와 같이 애플리케이션 디버깅을 위한 일부 환경 변수가 환경에서 제거될 수 있습니다. 응용 프로그램은 운용 환경에서 이러한 변수에 의존해서는 안되며, 이러한 변수는 개발 중 디버깅 목적으로만 사용됩니다.

충돌 회피가 필요한 경우 MD5를 디지털 서명에 사용하면 안됩니다. X.509 인증서 작업 중 디지털 서명 알고리즘으로 MD5 사용을 막기 위해 MD5가 jdk.certpath.disabledAlgorithms 보안 속성에 추가됩니다. 여전히 MD5 서명 인증서를 사용 중인 응용 프로그램의 경우 가능한 빨리 취약한 인증서를 업그레이드하십시오.

알려진 문제

[macosx] 스폰서 제안 화면 접근성(a11y) 문제
Java 설치 프로그램의 사용자 인터페이스에 액세스하기 위해 키보드로 작업하는 사용자는 소프트웨어 추가 기능 제안 화면에서 하이퍼링크 및 체크박스에 액세스할 수 없습니다. 사용자 인터페이스에서 추가 기능 소프트웨어와 관련된 환경설정을 설정하기 위한 임시해결책으로 사용자는 Java 제어판에서 사용 안함으로 설정하거나 명령행을 통해 SPONSORS=0을 전달하여 이러한 제안을 사용 안함으로 설정할 수 있습니다. 자세한 내용은 스폰서 제안 없이 Java 설치 FAQ를 참조하십시오. JDK-8061886(비공개)을 참조하십시오.

Java 만료 날짜

8u65 만료 날짜는 2016년 1월 19일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2016년 2월 19일에 이 JRE(버전 8u65)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u65 버그 수정 페이지를 참조하십시오.

» 8u65 릴리스 노트


Java 8 Update 60(8u60)

릴리스 주요 기능
  • IANA 데이터 2015e
    JDK 8u60에는 IANA 시간대 데이터 버전 2015e가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: dns_lookup_realm은 기본적으로 false여야 함
    Kerberos' krb5.conf 파일의 dns_lookup_realm 설정은 기본적으로 false입니다. 8080637을 참조하십시오.
  • 버그 수정: RC4 암호화 모음 사용 안함
    RC4 기반 TLS 암호화 모음(예: TLS_RSA_WITH_RC4_128_SHA)은 현재 노출된 것으로 간주되며 더 이상 사용해서는 안됩니다(RFC 7465 참조). 이에 따라 "RC4"를 "jdk.tls.disabledAlgorithms" 보안 속성에 추가하고 기본적으로 사용으로 설정된 암호화 모음 목록에서 제거함으로써 RC4 기반 TLS 암호화 모음이 Oracle JSSE 구현에서 기본적으로 비활성화되었습니다. 이러한 암호화 모음은 java.security 파일의 "jdk.tls.disabledAlgorithms" 보안 속성에서 "RC4"를 제거하거나 Security.setProperty()를 동적으로 호출하고, SSLSocket/SSLEngine.setEnabledCipherSuites() 메소드를 사용하여 사용으로 설정된 암호화 모음 목록에 다시 추가함으로써 다시 활성화할 수 있습니다. -Djava.security.properties 명령행 옵션을 사용하여 jdk.tls.disabledAlgorithms 보안 속성을 무효화할 수도 있습니다. 예:
    java -Djava.security.properties=my.java.security ...
    여기서 my.java.security는 RC4가 없는 속성이 포함된 파일입니다.
    jdk.tls.disabledAlgorithms=SSLv3
    이 옵션을 명령행에서 설정했더라도 SSLSocket/SSLEngine.setEnabledCipherSuites() 메소드를 사용하여 RC4 기반 암호화 모음을 사용으로 설정된 암호화 모음 목록에 다시 추가해야 합니다. 8076221을 참조하십시오.
  • 버그 수정: JKS 및 PKCS12 키 저장소에 대한 키 저장소 유형 감지 지원
    키 저장소 호환성 모드: 상호 운용성을 돕기 위해 Java 키 저장소 유형 JKS에서 이제 기본적으로 키 저장소 호환성 모드를 지원합니다. 이 모드를 통해 JKS 키 저장소에서 JKS 및 PKCS12 파일 형식에 모두 액세스할 수 있습니다. 키 저장소 호환성 모드를 사용 안함으로 설정하려면 보안 속성 keystore.type.compat을 문자열 값 false로 설정합니다. 8062552를 참조하십시오.
  • 버그 수정: JDK 8u 릴리스에서 Unsafe monitor 메소드 사용 안함
    sun.misc.UnsafemonitorEnter monitorExittryMonitorEnter 메소드는 JDK 8u60에서 사용되지 않음으로 표시되며 이후 릴리스에서 제거될 예정입니다. 이러한 메소드는 JDK 자체 내에서 사용되지 않으며 JDK 외부에서는 매우 드물게 사용됩니다. 8069302를 참조하십시오.
  • 버그 수정: SA를 사용하여 코어 파일에서 JFR 레코딩 추출
    DumpJFR은 코어 파일 및 라이브 Hotspot 프로세스에서 JFR(Java Flight Recorder) 데이터를 추출하는 데 사용할 수 있는 Serviceability Agent 기반 툴입니다. DumpJFR은 다음 메소드 중 하나에서 사용될 수 있습니다.
    • DumpJFR을 라이브 프로세스에 연결:

      The embedded asset does not exist:
      Asset Type: jWidget_C
      Asset Id: 1371164883097
      PAGENAME: JCOM/jWidget_C/Raw_HTML/Display

       
    • DumpJFR을 코어 파일에 연결:

      The embedded asset does not exist:
      Asset Type: jWidget_C
      Asset Id: 1371164883117
      PAGENAME: JCOM/jWidget_C/Raw_HTML/Display

       
    DumpJFR 툴은 JFR 데이터를 현재 작업 폴더의 recording.jfr이라는 파일에 덤프합니다. 8065301(비공개)을 참조하십시오.
  • 버그 수정: 'enum' 이름의 로컬 변수로 인해 잘못된 컴파일러 충돌이 발생함
    javac 구문 분석기가 'enum' 이름의 로컬 변수를 잘못 구문 분석하고 있습니다. 이로 인해 이러한 로컬 변수가 포함된 프로그램이 enum 생성을 사용할 수 없는 릴리스에 해당하는 'source' 플래그(예: '-source 1.4')로 컴파일될 때 잘못된 실패가 발생합니다. 8069181을 참조하십시오.
ARM 릴리스 8u60용 Java Development Kit

이 릴리스에는 ARM 릴리스 8u60용 Java Development Kit(ARM용 JDK 8u60)가 포함되어 있습니다. ARM 장치 지원 정보는 ARM용 JDK 다운로드 페이지를 참조하십시오. 시스템 요구사항, 설치 지침 및 문제 해결 팁은 설치 지침 페이지를 참조하십시오.

제한 사항: ARM용 JDK에서는 Native Memory Tracking 지원이 제한됩니다. ARM 대상에 대해서는 Java 명령행 옵션 XX:NativeMemoryTracking=detail이 지원되지 않습니다(사용자에게 오류 메시지가 표시됨). 대신 다음 옵션을 사용하십시오.
XX:NativeMemoryTracking=summary

Nashorn 개선 사항으로 인한 설명서 업데이트

JDK 8u60에는 Nashorn에 대한 새로운 개선 사항이 포함되어 있습니다. 이에 따라 다음과 같은 설명서 변경사항은 현재 Nashorn 설명서와 함께 읽어야 합니다.

  • 추가 사항: 이전 섹션에서 모든 JavaScript 객체는 Java API에 노출될 때 java.util.Map 인터페이스를 구현한다고 언급했습니다. 이 사항은 JavaScript 배열의 경우에도 해당됩니다. 하지만 이 동작은 Java 코드가 JSON 구문 분석된 객체를 예상할 때 바람직하지 않거나 예상되지 않을 수 있습니다. JSON 구문 분석된 객체를 조작하는 Java 라이브러리는 대개 배열이 java.util.List 인터페이스를 대신 노출하도록 예상합니다. 배열이 맵이 아닌 목록으로 노출되도록 JavaScript 객체를 노출해야 하는 경우 Java.asJSONCompatible(obj) 함수를 사용할 수 있습니다. 여기서 obj는 JSON 객체 트리의 루트입니다.
  • 정정 사항: 데이터 유형 매핑 섹션의 끝에서 언급한 주의 사항은 더 이상 적용되지 않습니다. Nashorn은 외부에 노출될 때 내부 JavaScript 문자열이 java.lang.String으로 변환되도록 합니다.
  • 정정 사항: 데이터 유형 매핑 섹션에서 "예를 들어, 배열은 명시적으로 변환되어야 한다,..."는 말은 올바르지 않습니다. 배열은 java.util.List java.util.Collection java.util.Queue, java.util.Deque 등과 같은 Java 배열 유형으로 자동으로 변환됩니다.
배치 규칙 집합 v1.2의 변경사항

JDK 8u60에서는 DRS(배치 규칙 집합) 1.2를 구현하며, 여기에는 다음 변경사항이 포함됩니다.

  • 압축되지 않은 jar 형식의 SHA-256 체크섬에서 서명되지 않은 jar를 식별할 수 있도록 "checksum" 요소를 "id"의 하위 요소로 추가:
    • "checksum" 요소는 서명되지 않은 jar와만 일치하고, 제공된 해시는 압축되지 않은 jar 형식에 대해서만 비교됩니다.
    • "checksum" 요소("certificate" 요소와 유사)는 두 인수 "hash""algorithm"을 가지지만, "certificate" 요소와 달리 "algorithm"에 대해 유일하게 지원되는 값은 "SHA-256"입니다. 제공된 기타 모든 값은 무시됩니다.
  • 이전에는 차단 규칙에만 적용되었던 "message" 요소가 모든 규칙 유형에 적용되도록 허용:
    • 실행 규칙에서 메시지 하위 요소는 메시지 대화상자가 표시되도록 합니다. 실행 규칙이 없는 경우 기본 동작은 인증서 또는 서명되지 않은 대화상자를 표시하는 것입니다. 메시지는 메시지 대화상자에 표시됩니다.
    • 기본 규칙에서 메시지는 기본 작업이 차단인 경우에만 표시됩니다. 이러한 경우 메시지는 차단 대화상자에 포함됩니다.
  • Java 콘솔, 추적 파일 및 Java Usage Tracker 레코드에서 "customer" 블록을 에코합니다.
    • DRS 1.2 이전에는 "customer" 요소가 모든 하위 요소와 함께 ruleset.xml 파일에 포함될 수 있었습니다. 이 요소 및 모든 해당 하위 요소는 무시됩니다. DRS 1.2에서 요소는 여전히 기능적으로 무시됩니다. 하지만
      • ruleset.xml 파일을 구문 분석할 때 모든 "customer" 블록은 Java 콘솔 및 배치 추적 파일에 에코됩니다(콘솔 및 추적이 사용으로 설정된 경우).
      • 규칙을 사용할 때 해당 규칙 내에 포함된 모든 "customer" 레코드는 JUT(Java Usage Tracker) 레코드에 추가됩니다(JUT가 사용으로 설정된 경우).

위 변경사항의 결과로 DRS 1.2에 대한 DTD는 다음과 같습니다.
The embedded asset does not exist:
Asset Type: jWidget_C
Asset Id: 1385352043373
PAGENAME: JCOM/jWidget_C/Raw_HTML/Display

Java 만료 날짜

8u60의 만료 날짜는 2015년 10월 20일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2015년 11월 20일에 이 JRE(버전 8u60)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에 포함된 버그 수정 목록은 JDK 8u60 버그 수정 페이지를 참조하십시오.

» 8u60 릴리스 노트


Java 8 Update 51(8u51)

릴리스 주요 기능
  • IANA 데이터 2015d
    JDK 8u51에는 IANA 시간대 데이터 버전 2015d가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: 루트 CA에 새 Comodo 루트 추가
    Commodo용으로 네 개의 새 루트 인증서가 추가되었습니다.
    1. COMODO ECC Certification Authority
      alias: comodoeccca
      DN: CN=COMODO ECC Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
    2. COMODO RSA Certification Authority
      alias: comodorsaca
      DN: CN=COMODO RSA Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
    3. USERTrust ECC Certification Authority
      alias: usertrusteccca
      DN: CN=USERTrust ECC Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US
    4. USERTrust RSA Certification Authority
      alias: usertrustrsaca
      DN: CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US
    JDK-8077997(비공개)을 참조하십시오.
  • 버그 수정: 루트 CA에 새 GlobalSign 루트 추가
    GlobalSign용으로 두 개의 새 루트 인증서가 추가되었습니다.
    1. GlobalSign ECC Root CA - R4
      alias: globalsigneccrootcar4
      DN: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R4
    2. GlobalSign ECC Root CA - R5
      alias: globalsigneccrootcar5
      DN: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R5
    JDK-8077995(비공개)를 참조하십시오.
  • 버그 수정: 루트 CA에 Actalis 추가
    한 개의 새 루트 인증서를 추가했습니다.
    Actalis Authentication Root CA
    alias: actalisauthenticationrootca
    DN: CN=Actalis Authentication Root CA, O=Actalis S.p.A./03358520967, L=Milan, C=IT

    JDK-8077903(비공개)을 참조하십시오.
  • 버그 수정: 새 Entrust ECC 루트 추가
    한 개의 새 루트 인증서를 추가했습니다.
    Entrust Root Certification Authority - EC1
    alias: entrustrootcaec1
    DN: CN=Entrust Root Certification Authority - EC1, OU="(c) 2012 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US

    JDK-8073286(비공개)을 참조하십시오.
  • 버그 수정: 기존 Valicert Class 1 및 2 Policy 루트 제거
    1024비트 키를 사용하는 두 개의 루트 인증서를 제거했습니다.
    1. ValiCert Class 1 Policy Validation Authority
      alias: secomvalicertclass1ca
      DN: EMAILADDRESS=info@valicert.com, CN=http://www.valicert.com/, OU=ValiCert Class 1 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    2. ValiCert Class 2 Policy Validation Authority
      alias: valicertclass2ca
      DN: EMAILADDRESS=info@valicert.com, CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    JDK-8077886(비공개)을 참조하십시오.
  • 버그 수정: 기존 Thawte 루트 제거
    1024비트 키를 사용하는 두 개의 루트 인증서를 제거했습니다.
    1. Thawte Server CA
      alias: thawteserverca
      DN: EMAILADDRESS=server-certs@thawte.com, CN=Thawte Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
    2. Thawte Personal Freemail CA
      alias: thawtepersonalfreemailca
      DN: EMAILADDRESS=personal-freemail@thawte.com, CN=Thawte Personal Freemail CA, OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
    JDK-8074423(비공개)을 참조하십시오.
  • 버그 수정: 기존 Verisign, Equifax 및 Thawte 루트 제거
    1024비트 키를 사용하는 다섯 개의 루트 인증서를 제거했습니다.
    1. Verisign Class 3 Public Primary Certification Authority - G2
      alias: verisignclass3g2ca
      DN: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
    2. Thawte Premium Server CA
      alias: thawtepremiumserverca
      DN: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
    3. Equifax Secure Certificate Authority
      alias: equifaxsecureca
      DN: OU=Equifax Secure Certificate Authority, O=Equifax, C=US
    4. Equifax Secure eBusiness CA-1
      alias: equifaxsecureebusinessca1
      DN: CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US
    5. Equifax Secure Global eBusiness CA-1,
      alias: equifaxsecureglobalebusinessca1
      DN: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US
    JDK-8076202(비공개)를 참조하십시오.
  • 버그 수정: cacerts에서 TrustCenter CA 루트 제거
    세 개의 루트 인증서를 제거했습니다.
    1. TC TrustCenter Universal CA I
      alias: trustcenteruniversalcai
      DN: CN=TC TrustCenter Universal CA I, OU=TC TrustCenter Universal CA, O=TC TrustCenter GmbH, C=DE
    2. TC TrustCenter Class 2 CA II
      alias: trustcenterclass2caii
      DN: CN=TC TrustCenter Class 2 CA II, OU=TC TrustCenter Class 2 CA, O=TC TrustCenter GmbH, C=DE
    3. TC TrustCenter Class 4 CA II
      alias: trustcenterclass4caii
      DN: CN=TC TrustCenter Class 4 CA II, OU=TC TrustCenter Class 4 CA, O=TC TrustCenter GmbH, C=DE
    JDK-8072958(비공개)을 참조하십시오.
  • 버그 수정: SunJSSE 제공자의 RC4 사용 중단
    이제 RC4는 암호화가 취약한 것으로 간주됩니다. 클라이언트에서 요청한 암호화 모음 중 보다 강력한 다른 암호화가 있을 경우 서버에서 RC4를 선택하지 않아야 합니다. Oracle JSSE 구현에서 레거시 알고리즘을 정의하는 용도로 새 보안 속성인 jdk.tls.legacyAlgorithms가 추가되었습니다. RC4 관련 알고리즘이 레거시 알고리즘 목록에 추가되었습니다. JDK-8074006(비공개)을 참조하십시오.
  • 버그 수정: RC4 암호화 모음 금지
    이제 RC4는 노출된 암호화로 간주됩니다. RC4 암호화 모음이 Oracle JSSE 구현의 클라이언트 및 서버 기본 사용 암호화 모음 목록에서 제거되었습니다. SSLEngine.setEnabledCipherSuites()SSLSocket.setEnabledCipherSuites() 메소드를 통해 해당 암호화 모음을 사용으로 설정할 수는 있습니다. JDK-8077109(비공개)를 참조하십시오.
  • 버그 수정: 인증 검사 향상
    이 수정을 통해 기본적으로 JDK에서 JSSE 끝점 식별이 IP 주소에 대한 역방향 이름 조회를 수행하지 않습니다. 응용 프로그램이 SSL/TLS 접속에서 원시 IP 주소에 대한 역방향 이름 조회를 수행해야 하는 경우 끝점 식별 호환성 문제가 발생하면 시스템 속성인 "jdk.tls.trustNameService"를 사용하여 역방향 이름 조회를 설정할 수 있습니다. 이름 서비스를 신뢰할 수 없을 경우 역방향 이름 조회를 사용으로 설정하면 MITM 공격에 노출될 수 있습니다. JDK-8067695(비공개)를 참조하십시오.
Java 만료 날짜

8u51의 만료 날짜는 2015년 10월 20일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2015년 11월 20일에 이 JRE(버전 8u51)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u51 버그 수정 페이지를 참조하십시오.

» 8u51 릴리스 노트


Java 8 Update 45(8u45)

릴리스 주요 기능
  • IANA 데이터 2015a
    JDK 8u45에는 IANA 시간대 데이터 버전 2015a가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: jar 파일 처리를 개선합니다. JDK 8u45 릴리스부터 jar 툴에서 zip 및 jar 파일에서 압축을 풀거나 새로 생성할 때 zip 항목 파일 이름에 선행 슬래시 "/" 및 ".."(점 두 개) 경로 구성요소를 사용할 수 없습니다. 필요한 경우 새 명령행 옵션 "-P"를 명시적으로 사용하여 점 두 개 및/또는 절대 경로 구성요소를 보존해야 합니다. 8064601(비공개)을 참조하십시오.
  • 버그 수정: 중첩된 "resource" 섹션이 있는 jnlp 응용 프로그램이 jre8u40에서 로드 시 NPE로 인해 실패합니다. <java> 또는 태그 내에 중첩된 태그가 있는 jnlp 애플리케이션은 NPE가 발생할 수 있습니다. 이 문제는 수정되었습니다. 태그는 <java>가 실제로 사용된 경우에만 사용해야 합니다. 8072631(비공개)을 참조하십시오.
Java 만료 날짜

8u45의 만료 날짜는 2015년 7월 14일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2015년 8월 14일에 이 JRE(버전 8u45)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u45 버그 수정 페이지를 참조하십시오.

» 8u45 릴리스 노트


Java 8 Update 40(8u40)

릴리스 주요 기능
  • IANA Data 2014j
    JDK 8u40에는 IANA 시간대 데이터 버전 2014j가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: JDI, JDWP, JDB의 기본 및 정적 인터페이스 메소드. JDK 8 이후 기본 및 정적 메소드를 인터페이스에 직접 실행할 수 있습니다. 이 메소드는 JDWP 또는 JDI를 통해 실행할 수 없으므로 적절히 디버그할 수 없습니다. 자세한 내용은 JDK 8 Compatibility Guide를 참조하십시오. 8042123을 참조하십시오.
  • 버그 수정: 32비트 JRE용 제어판에서 Java Access Bridge를 사용으로 설정할 수 있습니다. 이전에는 32비트 JRE가 시스템에 있는 경우에도 64비트 JRE 제거를 사용하면 "Java Access Bridge 사용" 체크박스가 Java 제어판에서 제거되었습니다. JDK 8u40 릴리스부터는 32비트 JRE가 있는 경우 제어판 -> 접근성-> 접근성 센터 -> 디스플레이가 없는 컴퓨터 사용에 "Java Access Bridge 사용" 체크박스가 남아 있습니다. 따라서 사용자가 제어판을 통해 Java Access Bridge를 사용으로 설정할 수 있습니다. 8030124를 참조하십시오.
  • 버그 수정: Mac OS X에서 JavaFX 매체 스택을 현대화합니다. AVFoundation 기반 플레이어 플랫폼이 JavaFX 매체에 추가되었습니다. Mac App Store 호환성을 위해 이전 QTKit 기반 플랫폼을 제거할 수 있습니다. 8043697(비공개)을 참조하십시오
  • 버그 수정: 누락된 DOM API입니다. JDK 8u40 릴리스에서 기존 플러그인 DOM API가 실수로 제거되었습니다. 애플릿에서 com.sun.java.browser.dom.DOMService를 사용하여 브라우저와 통신해야 하는 경우 사용자가 netscape.javascript.JSObject를 사용하도록 애플릿을 업데이트하거나 계속 JDK 8 Update 31을 사용해야 할 수 있습니다. 이 문제는 빌드 26에서 해결되었으며 새 8u40 설치 프로그램이 게시되었습니다. 이 문제가 발생한 경우 업데이트된 JDK 8u40 설치 프로그램을 다운로드하여 실행하십시오. 8074564를 참조하십시오.
  • 버그 수정: Mac 10.10: 스플래시 화면을 사용하는 응용 프로그램 실행에 포커스 문제가 있습니다. Webstart 또는 독립형 응용 프로그램을 통해 시작된 응용 프로그램(스플래시 화면 사용)은 키보드 포커스를 사용할 수 없습니다. 임시해결책: -Xnosplash 옵션을 사용하여 javaws를 실행하십시오. 이 문제는 빌드 27에서 해결되었으며 새 8u40 설치 프로그램이 게시되었습니다. 이 문제가 발생한 경우 업데이트된 JDK 8u40 설치 프로그램을 다운로드하여 실행하십시오. 8074668을 참조하십시오.
  • Java Packager 툴의 향상된 기능
    JDK 8u40 릴리스에는 Java Packager의 다음과 같은 향상된 기능이 포함됩니다.
  • 더 이상 사용되지 않는 API
    인증된 표준 무효화 방식과 확장 방식은 더 이상 사용되지 않으므로 이후 릴리스에서 제거될 수 있습니다. 런타임 변경사항은 없습니다. '인증된 표준 무효화' 방식 또는 '확장' 방식을 사용하는 기존 응용 프로그램의 경우 이러한 방식을 사용하지 않도록 이전하는 것이 좋습니다. -XX:+CheckEndorsedAndExtDirs 명령행 옵션을 사용하면 기존에 이러한 방식을 사용하고 있는지 식별할 수 있습니다. 다음 조건 중 하나에 해당할 경우 실패합니다.
    • -Djava.endorsed.dirs 또는 -Djava.ext.dirs 시스템 속성이 기본 위치를 변경하도록 설정되어 있습니다.
    • ${java.home}/lib/endorsed 디렉토리가 존재합니다.
    • ${java.home}/lib/ext에 JDK에서 제공하는 것 이외의 JAR 파일이 있습니다.
    • 플랫폼별 시스템 전체 확장 디렉토리에 JAR 파일이 있습니다.
    -XX:+CheckEndorsedAndExtDirs 명령행 옵션은 JDK 8u40 및 이후 릴리스에서 지원됩니다.
  • JJS 툴 페이지 차이
    JJS 도움말 페이지의 일본어 버전과 영어 버전이 다릅니다. JJS 툴 페이지의 영어 버전에서는 지원되지 않는 일부 옵션이 제거되었습니다. 문서의 일본어 버전은 추후에 업데이트될 예정입니다. 8062100(비공개)을 참조하십시오. 기타 JJS 툴 페이지 변경사항은 JDK 8의 툴 개선 사항을 참조하십시오.
  • G1HeapWastePercent 및 G1MixedGCLiveThresholdPercent의 기본값 변경
    전체 GC의 필요성을 줄이기 위해 G1HeapWastePercent의 기본값이 10에서 5로 변경되었습니다. 이와 동일한 이유로 G1MixedGCLiveThresholdPercent의 기본값이 65에서 85로 변경되었습니다.
  • 새로운 Java 클래스 액세스 필터링 인터페이스
    jdk.nashorn.api.scripting.ClassFilter 인터페이스를 사용하여 Nashorn 스크립트 엔진을 통해 실행된 스크립트에서 지정된 Java 클래스에 액세스하는 것을 제한할 수 있습니다. 자세한 내용은 Nashorn 사용 설명서에서 Restricting Script Access to Specified Java Classes를 참조하거나 8043717(비공개)을 참조하십시오.
  • 타사 JCE 제공자 관련 문제
    JDK-8023069(JDK 8u20)용 수정 사항에서는 일부 내부 인터페이스를 비롯하여 SunJSSE 및 SunJCE 제공자가 모두 업데이트되었습니다. 일부 타사 JCE 제공자(예: RSA JSAFE)의 경우 sun.* internal 인터페이스를 사용하고 있으므로 업데이트된 SunJSSE 제공자에서 작동하지 않습니다. 이러한 제공자가 업데이트된 SunJSSE 제공자에서 작동하도록 업데이트해야 합니다. 이 문제의 영향을 받게 될 경우 JCE 공급업체에 업데이트를 요청하십시오. 8058731을 참조하십시오.
  • Solaris Crypto Framework에서 암호화가 다시 사용으로 설정됨
    Solaris 10을 사용 중인 경우 Solaris Crypto Framework를 통해 MD5, SHA1 및 SHA2 관련 작업이 다시 사용으로 설정되도록 변경되었습니다. JDK 8u40에서 CloneNotSupportedException 또는 PKCS11 오류 CKR_SAVED_STATE_INVALID 메시지가 발생할 경우 아래의 패치 또는 최신 버전의 패치를 확인한 후 적용해야 합니다.
    • 150531-02(sparc)
    • 150636-01(x86)
  • NMT용 문제 해결 설명서 업데이트
    NMT(Native Memory Tracking)는 HotSpot JVM에 대한 내부 메모리 사용량을 추적하는 Java Hotspot VM 기능입니다. NMT를 사용하면 VM 내부 메모리 할당을 모니터하고 VM 메모리 누출을 진단할 수 있습니다. NMT 기능이 적용되도록 VM 개선 사항 페이지가 업데이트되었습니다. Java Virtual Machine Enhancements in Java SE 8을 참조하십시오. NMT 기능이 적용되도록 문제 해결 설명서가 업데이트되었습니다. Native Memory Tracking을 참조하십시오.
  • 여러 JRE Launcher 기능이 사용되지 않음
    실행 시 JRE 버전 선택 또는 여러 JRE Launcher 기능이 JDK 8u40에서 더 이상 사용되지 않습니다. 이 기능을 사용하여 배치된 특정 Java 버전이 필요한 응용 프로그램의 경우 Java WebStart와 같은 대체 배치 솔루션으로 전환해야 합니다.
  • JavaFX 기능 향상
    JDK 8u40 릴리스부터 보조 기술을 지원하도록 JavaFX 콘트롤이 향상되었습니다. 지금 JavaFX 콘트롤에 액세스할 수 있습니다. 더불어, 개발자가 고유의 액세스 가능한 콘트롤을 저작할 수 있는 퍼블릭 API가 제공됩니다. Windows 및 Mac OS X 플랫폼에서 접근성을 지원하며 다음 내용을 포함합니다.
    • 스크린 리더에서 JavaFX 콘트롤 읽기 지원
    • 키보드를 사용하여 JavaFX 콘트롤을 순회할 수 있음
    • 사용자가 콘트롤을 선명히 볼 수 있는 특수 고대비 모드 지원
    8043344(비공개)를 참조하십시오.

    JDK 8u40 릴리스에는 스피너 콘트롤, 서식 있는 텍스트 지원, 표준 경보 대화상자 모음과 같은 새로운 JavaFX UI 콘트롤이 포함됩니다.
    • 스피너 콘트롤: 스피너란, 사용자가 정렬된 시퀀스에서 숫자나 객체 값을 선택할 수 있는 한 줄 텍스트 필드입니다. 자세한 내용은 javafx.scene.control.Spinner 클래스를 참조하십시오.
    • 서식 있는 텍스트: 새로운 TextFormatter 클래스가 TextInputControl의 하위 클래스(예: TextField, TextArea)에 대한 텍스트 서식 기능을 제공합니다. 자세한 내용은 javafx.scene.control.TextFormatter 클래스를 참조하십시오.
    • 대화상자: 대화상자 클래스를 사용하여 응용 프로그램에서 고유의 사용자정의 대화상자를 생성할 수 있습니다. 더불어, 대화상자를 확장한 경보 클래스도 제공됩니다. 미리 빌드된 수많은 대화상자 유형을 지원하므로 응답 프롬프트 시 사용자에게 쉽게 표시할 수 있습니다. 자세한 내용은 javafx.scene.control.Dialog javafx.scene.control.Alert javafx.scene.control.TextInputDialog javafx.scene.control.ChoiceDialog 클래스를 참조하십시오.
    8043350(비공개)을 참조하십시오.
상용 기능
  • AppCDS(Application Class Data Sharing)
    AppCDS(Application Class Data Sharing)는 CDS를 확장한 것으로, 이를 사용하면 표준 확장 디렉토리 및 애플리케이션 클래스 경로에서 제공하는 클래스를 공유 아카이브에 배치할 수 있습니다. 테스트 기능이므로 상업적 사용이 허가되지 않았습니다. Java Launcher 툴 페이지에서 -XX:+UseAppCDS 옵션을 참조하십시오.
  • 협력적 메모리 관리
    JDK 8u40부터 "메모리 압력"이라는 개념이 JDK에 추가되었습니다. 메모리 압력은 시스템의 총 메모리 사용량(RAM)을 나타내는 속성입니다. 메모리 압력이 높을수록 시스템 메모리가 부족할 가능성이 높습니다. 테스트 기능이므로 상업적 사용이 허가되지 않았습니다. 메모리 압력 증가에 대한 대응으로 JDK에서는 메모리 사용량을 줄이기 위해 노력합니다. 이러한 노력은 주로 Java 힙 크기를 줄이는 방식으로 수행됩니다. 메모리 사용량을 줄이기 위한 조치를 JDK에서 수행할 경우 성능이 저하될 수 있습니다. 이는 의도적인 선택입니다. 압력 레벨은 응용 프로그램에서 0(압력 없음) - 10(메모리 부족)의 척도를 사용하여 JMX MXBean을 통해 제공합니다. 이 기능을 사용으로 설정하려면 jdk.management.cmm.SystemResourcePressureMXBean을 등록해야 합니다. 그러면 "MemoryPressure" 속성을 사용하여 메모리 압력이 설정됩니다.
    'none', 'low', 'medium', 'high' 인수 중 하나를 사용하는 새로운 명령행 플래그인 -XX:MemoryRestriction도 사용할 수 있습니다. 이 플래그는 JDK의 초기 압력을 설정하며 MXBean이 등록되지 않은 경우에도 작동합니다. 협력적 메모리 관리를 위해서는 G1 GC(-XX:+UseG1GC)가 필요합니다. 그러나 이 기능은 -XX:+ExplicitGCInvokesConcurrent와 호환되지 않습니다.
  • 새로운 상용 플래그
    상용 라이센스 보유자의 경우 이제 두 개의 새로운 VM 옵션을 사용할 수 있습니다.
    • -XX:+ResourceManagement
    • -XX:ResourceManagementSampleInterval=value(밀리초)
    자세한 내용은 Java Launcher 설명서를 참조하십시오.
  • 새 MSI 설치 프로그램 설명서:
    Microsoft Windows Installer(MSI) Enterprise JRE Installer Guide가 제공됩니다. MSI Enterprise JRE 설치 프로그램을 운용에 사용하려면 상용 라이센스가 필요합니다. 상용 기능 및 이 기능을 사용으로 설정하는 방법에 대해 알아보십시오.
Java 만료 날짜

8u40의 만료 날짜는 2015년 4월 14일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2015년 5월 14일에 이 JRE(버전 8u40)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에 포함된 버그 수정 목록은 JDK 8u40 버그 수정 페이지를 참조하십시오.

» 8u40 릴리스 노트


Java 8 Update 31(8u31)

릴리스 주요 기능
  • IANA Data 2014j
    JDK 8u31에는 IANA 시간대 데이터 버전 2014j가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • SSLv3가 기본적으로 사용 안함으로 설정됨
    JDK 8u31 릴리스부터 SSLv3 프로토콜(Secure Socket Layer)이 비활성화되었으며 일반적으로 사용할 수 없습니다. \lib\security\java.security 파일의 jdk.tls.disabledAlgorithms 속성을 참조하십시오. SSLv3가 반드시 필요한 경우 java.security 파일의 jdk.tls.disabledAlgorithms 속성에서 'SSLv3'를 제거하거나 JSSE가 초기화되기 전에 이 보안 속성을 동적으로 설정하여 프로토콜을 다시 활성화할 수 있습니다.
  • Java 제어판 변경
    JDK 8u31 릴리스부터 SSLv3 프로토콜이 Java 제어판 고급 옵션에서 제거되었습니다. 사용자가 응용 프로그램에 대해 SSLv3를 사용해야 하는 경우 다음과 같이 수동으로 다시 사용으로 설정하십시오.
    • JRE 레벨에서 SSLv3 프로토콜을 사용으로 설정: 위의 섹션에 설명된 대로 수행합니다.
    • 배치 레벨에서 SSLv3 프로토콜을 사용으로 설정: deployment.properties 파일을 편집하고 다음을 추가합니다.

      deployment.security.SSLv3=true
Java 만료 날짜

8u31 만료 날짜는 2015년 4월 14일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2015년 5월 14일에 이 JRE(버전 8u31)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u31 버그 수정 페이지를 참조하십시오.

» 8u31 릴리스 노트


Java 8 Update 25(8u25)

릴리스 주요 기능
  • IANA 데이터 2014c
    JDK 8u25에는 IANA 시간대 데이터 버전 2014c가 포함되어 있습니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: 사용으로 설정된 암호화 모음 목록에서 RC4의 환경설정 모드 감소
    이 수정에서는 SunJSSE 제공자의 사용으로 설정된 암호화 모음에 대한 기본 목록에서 RC4 기반 암호화 모음의 환경설정을 줄였습니다. 8043200(비공개)을 참조하십시오.
  • 버그 수정: Windows에서 일본어 IM을 사용하는 동안 JRE 8u20 충돌 발생
    Swing 콘트롤을 사용 중인 상태에서 일본어 또는 중국어 문자가 Windows 플랫폼에 입력되는 경우 VM 충돌이 발생합니다. 이 문제는 수정되었습니다. 8058858(비공개)을 참조하십시오.
Oracle JDK 및 JRE에서 SSL v3.0을 사용 안함으로 설정하는 것과 관련된 지침

Oracle은 사용자와 개발자가 SSLv3 프로토콜을 사용 안함으로 설정할 것을 권장합니다.
» Java 사용자가 SSL V3.0 'Poodle' 취약점으로 영향을 받지 않음을 확인하려면 어떻게 해야 합니까?

Java 만료 날짜

8u25 만료 날짜는 2015년 1월 20일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2015년 2월 20일에 이 JRE(버전 8u25)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u25 버그 수정 페이지를 참조하십시오.

» 8u25 릴리스 노트


Java 8 Update 20(8u20)

릴리스 주요 기능
  • Java 관리 API에 새 플래그가 추가됨
    플래그 MinHeapFreeRatioMaxHeapFreeRatio를 관리할 수 있게 되었습니다. 즉, Java의 관리 API를 사용하여 런타임에 플래그를 변경할 수 있습니다. 적응 크기 정책의 일부로 ParallelGC에도 이러한 플래그에 대한 지원이 추가되었습니다.
  • Java Installer 변경사항
    • 사용자가 엔터프라이즈에서 JRE를 설치할 수 있도록 해주는 새 MSI(Microsoft Windows Installer) Enterprise JRE Installer를 사용할 수 있습니다. 자세한 내용은 Microsoft Windows용 JRE 설치Installer 다운로드 섹션을 참조하십시오. MSI Enterprise JRE Installer는 Java SE Advanced 또는 Java SE Suite의 일부로만 제공됩니다. 이와 같은 상용 제품에 대한 자세한 내용은 Java SE Advanced 및 Java SE Suite를 참조하십시오.
    • Java 제거 툴이 설치 프로그램에 통합되어 이전 버전의 Java를 시스템에서 제거할 수 있는 옵션을 제공합니다. 이 변경사항은 32비트 및 64비트 Windows 플랫폼에 적용됩니다. JRE 제거를 참조하십시오.
  • Java 제어판 변경사항
    • 이제 Java 제어판의 Update 탭에서 사용자는 해당 시스템에 설치된 64비트 JRE(32비트 버전도 포함)를 자동으로 업데이트할 수 있습니다.
    • Medium 보안 레벨이 제거되었습니다. HighVery High 레벨만 사용할 수 있게 되었습니다. 최신 보안 방법을 따르지 않는 애플릿의 경우 해당 애플릿을 호스트하는 사이트를 예외 사이트 목록에 포함시키는 방식으로 실행 권한을 부여할 수 있습니다. 예외 사이트 목록을 사용하면 Medium 옵션을 선택한 경우에 허용되는 것과 동일한 애플릿을 허용할 수 있지만, 사이트별로 적용되므로 보다 허용적인 설정을 사용하는 데서 발생하는 위험을 최소화할 수 있습니다.
  • Java 컴파일러가 업데이트됨
    "Java 컴파일러"를 사용하는 비어 있는 최종 필드 액세스에 대해 명확한 지정 분석을 구현하도록 javac 컴파일러가 업데이트되었습니다. 자세한 내용은 JDK 8 Compatibility Guide를 참조하십시오.
  • Java 플러그인 및 Java Webstart에 필요한 최소 Java 버전 변경
    Java 플러그인 및 Java Webstart에 필요한 최소 Java 버전이 Java 5로 바뀌었습니다. Java 5 또는 이후 버전에서 실행되지 않는 애플릿이 계속 작동하려면 Java 5 또는 이후 버전을 포팅해야 합니다. 이전 버전용으로 작성되었지만 Java 5 이상에서 실행할 수 있는 애플릿은 계속 작동합니다.
  • UsageTracker 출력 형식 변경
    로그에서 혼동을 피하기 위해 UsageTracker 출력 형식이 따옴표를 사용하도록 변경되었습니다. 이로 인해 해당 정보를 읽는 방식도 변경해야 할 수 있습니다. 새 형식이 권장되기는 하지만 이전 버전에서처럼 작동하도록 기능을 구성할 수 있습니다. Java Usage Tracker 설명서를 참조하십시오.
  • Java 패키징 툴 변경사항
    • javafxpackager가 javapackager로 이름이 바뀌었습니다.
    • 자체 포함 응용 프로그램 생성에 사용되는 번들러로 인수를 전달할 수 있도록 "-B" 옵션이 javapackager deploy 명령에 추가되었습니다. 자세한 내용은 javapackager(Windows)/(Unix) 설명서를 참조하십시오.
    • helper 매개변수 인수가 JavaFX Ant 작업 참조에 추가되었습니다. 따라서 자체 포함 애플리케이션 생성에 사용되는 번들러의 인수를 요소에서 지정할 수 있습니다.
Java 만료 날짜

8u20의 만료 날짜는 2014년 10월 14일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2014년 11월 14일에 이 JRE(버전 8u20)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에 포함된 버그 수정 목록은 JDK 8u20 버그 수정 페이지를 참조하십시오.

» 8u20 릴리스 노트


Java 8 Update 11(8u11)

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u11 버그 수정 페이지를 참조하십시오.

» 8u11 릴리스 노트


Java 8 Update 5(8u5)

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle 중요한 패치 업데이트 권고 사항을 참조하십시오.

이 릴리스에 포함된 버그 수정 목록은 JDK 8u5 버그 수정 페이지를 참조하십시오.

» 8u5 릴리스 노트


Java 8 릴리스

» JDK 및 JRE 8 릴리스 노트