찾다
Javajava지도 시간Java8(291) 이후에는 TLS1.1이 비활성화되고 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. 문제를 해결하는 방법은 무엇입니까?

Java8-291이 비활성화되면 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없게 됩니다. 해결 방법은 무엇입니까?

java.security 파일을 수정하세요

1. jre의 파일

jre인 경우 예를 들어 {JAVA_HOME}/jre/lib/security에????

C:Program FilesJavajre1.8.0_301libsecurity

Eclipse Green 설치가 필요 없는 휴대용 버전인 경우
설치 폴더에서 java.security를 ​​검색하세요. 예를 들어 ???

xxxpluginsorg.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.1.v20210528-1205jreconfsecurity

창 아래에 설치된 Eclipse 버전
파일은 c:/user 폴더/.p2/pool/plugins/…에 있습니다. 예를 들어????

C:Usersadmin.p2poolpluginsorg.eclipse.justj.openjdk.hotspot. jre.full.win32.x86_64_16.0.2.v20210721-1149jreconfsecurity

if C드라이브에서 java.security를 ​​검색해보시면 2개 이상 나올 수도 있고, temp 폴더에도 2개가 있습니다

2. .security를 ​​검색하고 "jdk.tls.disabledAlgorithms="

jdk.tls.disabledAlgorithms=

찾을 수 있나요????

# Example:
#   jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048, \
#       rsa_pkcs1_sha1, secp224r1
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL

3. TLSv1, TLSv1.1,

삭제 후 삭제하세요. ????

# Example:
#   jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048, \
#       rsa_pkcs1_sha1, secp224r1
jdk.tls.disabledAlgorithms=SSLv3,   RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL

4. 저장하면 준비 완료

수정된 샘플은 jre8에서 직접 사용할 수 있습니다

테스트를 거쳐 통과되었습니다

#
# "마스터 보안 속성 파일"입니다.
#
# 시스템 속성을 통해 명령줄에서
# 대체 java.security 속성 파일을 지정할 수 있습니다
#
# -Djava.security.properties=
#
# 이 속성 파일은 마스터 보안 속성 파일에 추가됩니다. .
# 두 속성 파일 모두 동일한 키에 대한 값을 지정하는 경우 명령줄 속성 파일의 값
#이 로드된 마지막
# 값이므로 선택됩니다.
#
# 또한 지정하는 경우
#
# -Djava.security.properties== (2개 같음),
#
# 그러면 해당 속성 파일이 마스터 보안
# 속성 파일을 완전히 재정의합니다.
#
# 속성 파일의
# 명령줄에서 마스터 보안 속성 파일의 security.overridePropertiesFile
# 키를 false로 설정합니다. 기본적으로 true
#으로 설정됩니다.

# 이 파일에는 다양한 보안 속성이 사용되도록 설정됩니다. by
# java.security 클래스. 여기서는 사용자가
# 암호화 패키지 공급자(줄여서 "공급자")를 등록할 수 있습니다. 용어
# "공급자"는
# 구체적인 구현을 제공하는 패키지 또는 패키지 세트를 나타냅니다. 예를 들어, 공급자는 하나 이상의
# 디지털 서명 알고리즘 또는 메시지 다이제스트 알고리즘을 구현할 수 있습니다.
#
# 각 공급자는 공급자 클래스의 하위 클래스를 구현해야 합니다. .
# 이 마스터 보안 속성 파일에 공급자를 등록하려면
# 다음 형식으로 공급자와 우선 순위를 지정하세요.
#
# security.provider.=
#
# 이는 선호도
# 순서 n을 지정합니다. 선호도 순서는 공급자가 요청된 알고리즘을 검색하는 순서입니다(특정 공급자가 요청되지 않은 경우
#). 순서는 1부터입니다. , 그 뒤에
# 2 ​​등이 이어집니다.
#
# 은 super
# 클래스 java.security.Provider 생성자에 전달된 대로 공급자의 이름을 지정해야 합니다. 이는 다음을 통해 로드된 공급자를 위한 것입니다
#. ServiceLoader 메커니즘.
#
# 생성자는 Java Security API가 알고리즘 또는 기타를 검색하는 데 필요한
# 다양한 속성의 값을 설정하는 Provider 클래스의 하위 클래스를 지정해야 합니다
# 이는 공급자가 구현한 기능입니다.
# 클래스 경로를 통해 로드된 공급자입니다.
#
# 참고: 공급자는 대신 Security
# 클래스의 addProvider 또는 insertProviderAt 메서드를
# 호출하여 동적으로 등록할 수 있습니다.

#
# 공급자 및 해당 우선 순위 목록(위 참조):

#

security.provider.1=SUN
security.provider.2 =SunRsaSign
security.provider.3=SunEC
security.provider.4=SunJSSE
security. 공급자.5=SunJCE
security.provider.6=SunJGSS
security.provider.7=SunSASL
security.provider.8=XMLDSig
security.provider.9=SunPCSC
security.provider.10=JdkLDAP
security.provider. 11=JdkSASL
security.provider.12=SunMSCAPI
security.provider.13=SunPKCS11

#
# 특정 알고리즘에 대해 선호하는 공급자 목록입니다. 이러한 공급자는
# 등록된 공급자 목록 이전에 일치하는 알고리즘을 검색합니다.
# 오류(파싱 등)가 포함된 항목은 무시됩니다. 이러한 오류를 디버그하려면
# -Djava.security.debug=jca 속성을 사용하세요.
#
# 속성은 쉼표로 구분된 serviceType.algorithm:provider
# 항목 목록입니다. serviceType(예: "MessageDigest")은 선택 사항이며,
# 지정하지 않으면 이를 지원하는 모든 서비스 유형에 알고리즘이 적용됩니다.
# 알고리즘은 표준 알고리즘 이름 또는 변환입니다.
# 변환은 해당 항목에서 지정할 수 있습니다. 전체 표준 이름
#(예: AES/CBC/PKCS5Padding) 또는 부분 일치(예: AES, AES/CBC).
# 공급자는 공급자의 이름입니다. 등록된 목록에도 나타나지 않는
# 공급자는 무시됩니다.
#
# 일련의
# 알고리즘을 함께 그룹화하기 위한 이 속성에 대한 특별한 serviceType이 있습니다. 유형은 "그룹"이며 그 뒤에는 알고리즘
# 키워드가 옵니다. 그룹은 property
# 라인의 항목을 단순화하고 줄여야 합니다. 현재 그룹은 다음과 같습니다.
#   Group.SHA2 = SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
#   Group.HmacSHA2 = HmacSHA224, HmacSHA256, HmacSHA384, HmacSHA512
#   Group.SHA2RSA = SHA224withRSA, SHA256withRSA, SHA384withRSA, SHA512withRSA
#   Group.SHA2DSA = SHA224withDSA, SHA256withDSA, SHA384withDSA, SHA512withDSA
#   Group.SHA2ECDSA = SHA224withECDSA, ECDSA, SHA384withECDSA,
#                     SHA512withECDSA
#   Group.SHA3 = SHA3-224 , SHA3-256, SHA3-384, SHA3-512
#   Group.HmacSHA3 = HmacSHA3-224, HmacSHA3-256, HmacSHA3-384, HmacSHA3-512
#
# 예:
#   jdk.security.provider.preferred=AES /GCM/NoPadding:SunJCE,
#         MessageDigest.SHA-256:SUN, Group.HmacSHA2:SunJCE
#
#jdk.security.provider.preferred=


#
# Sun 공급자 SecureRandom 시드 소스.
#
# "Sun" 공급자의 "NativePRNG", "SHA1PRNG"
# 및 "DRBG" SecureRandom 구현에 대한 시드 데이터의 기본 소스를 선택합니다.
#(다른 SecureRandom 구현에서도 이 속성을 사용할 수 있습니다.)
#
# Unix의 경우 -유사 시스템(예: Linux/MacOS),
# "NativePRNG", "SHA1PRNG" 및 "DRBG" 구현은 file:/dev/random과 같은
# 특수 장치 파일에서 시드 데이터를 얻습니다.
#
# On Windows 시스템에서 URL "file:/dev/random" 또는
# "file:/dev/urandom"을 지정하면 SHA1PRNG 및 DRBG에 대한 기본 Microsoft CryptoAPI 시드
# 메커니즘이 활성화됩니다.
#
# 기본적으로 시도는 다음과 같습니다. "securerandom.source" 보안 속성에 지정된 엔트로피 수집 장치
#를 사용하도록 만들어졌습니다.  지정된 URL에 액세스하는 동안
# 예외가 발생하는 경우:
#
#     NativePRNG:
#         기본값 /dev/random이 사용됩니다.  둘 다 사용할 수 없으면
#         구현이 비활성화됩니다.
#         "file"은 현재 지원되는 유일한 프로토콜 유형입니다.
#
#     SHA1PRNG 및 DRBG:
#         기존 시스템/스레드 활동 알고리즘이 사용됩니다.
#
# 엔트로피 수집 장치는 System
# 속성 "java.security.egd"를 사용하여 지정할 수도 있습니다. 예:
#
#   % java -Djava.security.egd=file:/dev/random MainClass
#
# 이 시스템 속성을 지정하면
# "securerandom.source" 보안 속성이 재정의됩니다.
#
# 또한 , "file:/dev/random" 또는 "file:/dev/urandom"이
# 지정되면 Sun 공급자의 DRBG 및 SHA1PRNG
#보다 "NativePRNG" 구현이 더 선호됩니다.
#
securerandom.source =file:/dev/random

#
# 알려진 강력한 SecureRandom 구현 목록입니다.
#
# 애플리케이션이 적합한 강력한
# java.security.SecureRandom 구현을 선택하도록 안내하려면 Java 배포판에서
# 목록을 표시해야 합니다.
#
# 이것은 쉼표로 구분된 알고리즘 및/또는 알고리즘 목록입니다:provider
# 항목.
#
securerandom.strongAlgorithms=Windows-PRNG:SunMSCAPI,DRBG:SUN

#
# Sun 공급자 DRBG 구성 및 기본 인스턴스화 요청.
#
# NIST SP 800-90Ar1에는 여러 DRBG 메커니즘이 나열되어 있습니다. 각각은 DRBG 알고리즘 이름으로 구성
#할 수 있으며 보안 강도,
# 예측 저항 지원 등으로 인스턴스화할 수 있습니다. 이 속성은 구성
# 및 "DRBG" SecureRandom 구현
#의 기본 인스턴스화 요청을 정의합니다. SUN 공급자. (다른 DRBG 구현에서도 이 속성을 사용할 수 있습니다.)
# 애플리케이션은
# getInstance(...,SecureRandomParameters,...) 메소드 중 하나를 사용하여 보안
# 강도, 기능, 개인화 문자열과 같은 다양한 인스턴스화 매개변수를 요청할 수 있습니다.
# DrbgParameters.Instantiation 인수. 그러나
# 메커니즘 및 DRBG 알고리즘 이름과 같은 기타 설정은 현재 어떤 API로도 구성할 수 없습니다.
#
# DRBG의 SUN 구현은 항상 재시드를 지원합니다.
#
# 값 이 속성은 구성 가능한 모든
# 측면을 쉼표로 구분한 목록입니다. 측면은 어떤 순서로든 나타날 수 있지만 동일한 측면은 최대 한 번만
# 나타날 수 있습니다. BNF 스타일 정의는 다음과 같습니다.
#
#   값:
#     양상 { "," 양상 }
#
#   양상:
#     mech_name | 알고리즘_이름 | 힘 | 능력 | df
#
#   // 사용할 DRBG 메커니즘입니다. 기본 "Hash_DRBG"
#   mech_name:
#     "Hash_DRBG" | "HMAC_DRBG" | "CTR_DRBG"
#
#   // DRBG 알고리즘 이름입니다. "SHA-***" 이름은 Hash_DRBG 및
#   // HMAC_DRBG용이며 기본값은 "SHA-256"입니다. "AES-***" 이름은 CTR_DRBG용입니다.
#   // 제한된 암호화를 사용하는 경우 기본값은 "AES-128", 또는 무제한을 사용하는 경우 "AES-256"
#   // 무제한을 사용하는 경우.
#   알고리듬_이름:
#     " SHA-224" | "SHA-512/224" | "SHA-256" |
#     "SHA-512/256" | "SHA-384" | "SHA-512" |
#     "AES-128" | "AES-192" | "AES-256"
#
#   // 보안 강도가 요청되었습니다. 기본 "128"
#   강도:
#     "112" | "128" | "192" | "256"
#
#   // 예측 저항 및 재시드 요청. 기본값 "none"
#   //  "pr_and_reseed" - 예측 저항과 재시드 모두
#   //                    지원 요청
#   //  "reseed_only"   - 재시드 지원만 요청
#   //  "none"          - 예측 저항 모두 재시드하지 않음
# //                    지원 요청됨
#   pr:
#     "pr_and_reseed" | "재시드 전용" | "none"
#
#   // 파생 함수를 사용해야 하는지 여부.
#   // CTR_DRBG에만 적용 가능합니다. 기본 "use_df"
#   df:
#     "use_df" | "no_df"
#
# 예시,
#   securerandom.drbg.config=Hash_DRBG,SHA-224,112,none
#   securerandom.drbg.config=CTR_DRBG,AES-256,192,pr_and_reseed,use_df
#
# 기본값은
#에 해당하는 빈 문자열   securerandom.drbg.config=Hash_DRBG,SHA-256,128,none
#
securerandom.drbg.config=

#
# javax.security.auth.login.Configuration으로 인스턴스화할 클래스
# 공급자.
#
login.configuration.provider=sun.security.provider.ConfigFile

#
# 기본 로그인 구성 파일
#
#login.config.url.1=파일:${user.home}/ .java.login.config

#
# 시스템 정책으로 인스턴스화할 클래스입니다. Policy 객체로 사용될 클래스
#의 이름입니다. 시스템 클래스 로더는
# 이 클래스를 찾는 데 사용됩니다.
#
policy.provider=sun.security.provider.PolicyFile

# 기본값은 단일 시스템 전체 정책 파일
#과 정책 파일을 다음 위치에 두는 것입니다. 사용자의 홈 디렉터리.
#
policy.url.1=file:${java.home}/conf/security/java.policy
policy.url.2=file:${user.home}/.java.policy

# 정책 및 로그인
# 구성 파일에서 속성이 확장되는지 여부를 제어합니다. false로 설정하면 속성(${...})이 정책 및 로그인 구성 파일에서
# 확장되지 않습니다. 주석 처리되거나
# 빈 문자열로 설정된 경우 기본값은 정책 파일의 경우 "false"이고 로그인 구성 파일의 경우
# "true"입니다.
#
policy.expandProperties=true

# -Djava.security.policy=somefile
# 또는 -Djava.security.auth.login.config=somefile을 사용하여 추가 정책 또는 로그인 구성 파일이
# 명령줄에 전달되도록 허용할지 여부를 제어합니다. 주석 처리되거나
# 빈 문자열로 설정된 경우 기본값은 "false"입니다.
#
policy.allowSystemProperty=true

# 1.1 서명된 JAR이 발생할 때 신뢰할 수 있는 ID에 대한 IdentityScope를 조사하는지 여부
# 파일. 신원이 발견
# 신뢰할 수 있는 경우 AllPermission을 부여합니다. 참고: 기본 정책
# 공급자(sun.security.provider.PolicyFile)는 이 속성을 지원하지 않습니다.
#
policy.ignoreIdentityScope=false

#
# 기본 키 저장소 유형.
#
keystore.type=pkcs12

#
# JKS 및 PKCS12 키 저장소 유형에 대한 호환성 모드를 제어합니다.
#
# 'true'로 설정하면 JKS 및 PKCS12 키 저장소 유형 모두 JKS 또는 PKCS12 형식의 키 저장소 파일 로드
#를 지원합니다. 'false'로 설정하면
# JKS 키 저장소 유형은 JKS 키 저장소 파일만 로드를 지원하고 PKCS12
# 키 저장소 유형은 PKCS12 키 저장소 파일만 로드를 지원합니다.
#
keystore.type.compat=true

#
# 쉼표 목록 -이 문자열
#으로 시작하거나 같은 분리된 패키지는 해당
# RuntimePermission("accessClassInPackage."+패키지)이 부여되지 않는 한
# SecurityManager::checkPackageAccess 메소드에 전달될 때 보안 예외가 발생합니다.
#
package.access=sun.misc.,
               sun.reflect.

#
# 이 문자열로 시작하거나 같은 쉼표로 구분된 패키지 목록
#은
#에 전달될 때 보안 예외가 발생하게 합니다. SecurityManager::checkPackageDefinition 메서드(해당
# RuntimePermission("defineClassInPackage."+package)가 부여되지 않은 경우).
#
# 기본적으로 JDK 호출과 함께 제공된 클래스 로더는 없습니다
# checkPackageDefinition.
#
package.definition =sun.misc.,
                   sun.reflect.

#
# 이 속성 파일을
#에 추가하거나 -Djava.security.properties
#
security.overridePropertiesFile=true

를 통해 명령줄에서 재정의할 수 있는지 여부를 결정합니다. #
# javax.net.ssl ​​패키지
#
ssl.KeyManagerFactory.algorithm=SunX509
ssl.TrustManagerFactory.algorithm=PKIX

#

# Java 수준 성공적인 조회를 위한 namelookup 캐시 정책:
#
# 음수 값: 영원히 캐싱
# 양수 값: 주소를 캐시하는 시간(초) for
# 0: 캐시 안 함
#
# 기본값은 영원히(FOREVER) . 보안상의 이유로 이
# 캐싱은 보안 관리자가 설정되면 영구적으로 수행됩니다. 보안
# 관리자가 설정되지 않은 경우 이 구현
#의 기본 동작은 30초 동안 캐시하는 것입니다.
#
# 참고: 이를 기본값 이외의 값으로 설정하면
#       심각한 보안 문제가 발생할 수 있습니다.
#       DNS 스푸핑 공격에 노출되지 않은 것이 확실하지 않은 한 설정하지 마세요.
#
#networkaddress.cache.ttl=-1

# 실패한 조회에 대한 Java 수준 이름 조회 캐시 정책:

#
# any 음수 값: 영원히 캐시
# 양수 값: 음수 조회 결과를 캐시하는 시간(초)
# 0: 캐시하지 않음
#
# DNS 외에 WINS 이름 서비스를 사용
#하는 일부 Microsoft Windows 네트워킹 환경에서는 이름 서비스 조회
#가 실패하면 반환하는 데 눈에 띄게 오랜 시간이 걸릴 수 있습니다(약 5초).
# 이러한 이유로 기본 캐싱 정책은 이러한
# 결과를 10초 동안 유지하는 것입니다.
#
networkaddress.cache.negative .ttl=10

#

# 인증서 해지 확인을 위해 OCSP를 구성하는 속성
#

# OCSP 활성화

#
# 기본적으로 OCSP는 인증서 해지 확인에 사용되지 않습니다.
# 이 속성은 다음과 같은 경우에 OCSP 사용을 활성화합니다. 값을 "true"로 설정합니다.
#
# 참고: OCSP 응답자에 연결하려면 SocketPermission이 필요합니다.
#
# 예,
#   ocsp.enable=true

#

# OCSP 응답자의 위치
#
# 기본적으로 OCSP 응답자의 위치는 검증되는 인증서에서 암시적으로
# 결정됩니다. 이 속성은 OCSP 응답자의 위치를 ​​명시적으로 지정
#합니다. 이 속성은 인증서에
# Authority Information Access 확장(RFC 5280에 정의됨)이 없거나
# 재정의가 필요한 경우에 사용됩니다.
#
# 예,
#   ocsp.responderURL=http://ocsp.example .net:80

#
# OCSP 응답자 인증서의 주체 이름
#
# 기본적으로 OCSP 응답자의 인증서는 검증 중인 인증서 발급자
#의 인증서입니다. 이 속성은 기본값이 적용되지 않는 경우 OCSP 응답자의 인증서
#를 식별합니다. 해당 값은 인증서 경로 유효성 검사 중에 제공된 인증서 집합에서 인증서를 식별하는 문자열
# 고유 이름(RFC 2253에 정의됨)입니다.
# 제목 이름만으로는 인증서를 고유하게 식별하기에 충분하지 않은 경우
# "ocsp.responderCertIssuerName" 및
# "ocsp.responderCertSerialNumber" 속성을 모두 사용해야 합니다. 이
# 속성이 설정되면 해당 두 속성은 무시됩니다.
#
# 예,
#   ocsp.responderCertSubjectName=CN=OCSP Responder, O=XYZ Corp

#

# OCSP 응답자 인증서의 발급자 이름
#
# 기본적으로 OCSP 응답자의 인증서는 검증 중인 인증서 발급자
#의 인증서입니다. 이 속성은 기본값이 적용되지 않는 경우 OCSP 응답자의 인증서
#를 식별합니다. 해당 값은 인증서 경로 유효성 검사 중에 제공된 인증서 집합에서 인증서를 식별하는 문자열
# 고유 이름(RFC 2253에 정의됨)입니다. 이
# 속성이 설정되면 "ocsp.responderCertSerialNumber" 속성도
# 설정되어야 합니다. "ocsp.responderCertSubjectName" 속성이 설정되면 이
# 속성은 무시됩니다.
#
# 예,
#   ocsp.responderCertIssuerName=CN=Enterprise CA, O=XYZ Corp

#

# OCSP 응답자의 일련 번호 인증서

#
# 기본적으로 OCSP 응답자의 인증서는 검증 중인 인증서 발급자
#의 인증서입니다. 이 속성은 기본값이 적용되지 않는 경우 OCSP 응답자의 인증서
#를 식별합니다. 해당 값은 16진수 문자열
#(콜론 또는 공백 구분 기호가 있을 수 있음)이며,
#는 인증서 경로
# 유효성 검사 중에 제공된 인증서 세트에서 인증서를 식별합니다. 이 속성이 설정되면 "ocsp.responderCertIssuerName"
# 속성도 설정되어야 합니다. "ocsp.responderCertSubjectName" 속성
#이 설정되면 이 속성은 무시됩니다.
#
# 예,
#   ocsp.responderCertSerialNumber=2A:FF:00

#

# 실패한 Kerberos KDC 조회에 대한 정책:

#
# KDC를 사용할 수 없는 경우(네트워크 오류, 서비스 오류 등)
# 블랙리스트에 추가되고 향후 요청에 대해 액세스 빈도가 줄어듭니다. 이 정책의
# 값(대소문자 구분 안 함)은 다음과 같습니다.
#
# tryLast
#    블랙리스트에 있는 KDC는 항상 목록에 없는 KDC 이후에 시도됩니다.
#
# tryLess[:max_retries,timeout]
#    KDC 블랙리스트에 있는 시도는 여전히 구성 순서에 따라 시도되지만
#    max_retries 및 시간 초과 값은 더 작습니다. max_retries 및 timeout
#    은 선택적 숫자 매개변수입니다(기본값은 1과 5000, 즉 한 번
#    5초를 의미함). 여기에 정의된 값이
#    krb5.conf에 정의된 값보다 크면 무시됩니다.
#
# KDC가 사용 가능한 것으로 감지될 때마다 블랙리스트에서 제거됩니다.
# krb5.conf를 다시 로드하면 블랙리스트가 재설정됩니다. JAAS 인증이 시도될 때마다 krb5.conf가
# 다시 로드되도록
#refreshKrb5Config=true를 JAAS 구성 파일에 추가할 수 있습니다.
#
# 예,
#   krb5.kdc.bad.policy = tryLast
#   krb5. kdc.bad.policy = tryLess:2,2000
#
krb5.kdc.bad.policy = tryLast

#

# Kerberos 교차 영역 참조(RFC 6806)

#
# OpenJDK의 Kerberos 클라이언트는 다음과 같이 교차 영역 참조를 지원합니다.
# RFC 6806에 정의되어 있습니다. 이를 통해 클라이언트
#가 대상 주체
#(사용자 또는 서비스)의 영역에 도달하는 방법을 미리 알 필요가 없는 보다 동적인 환경을 설정할 수 있습니다.
#
# 클라이언트가 AS 또는 TGS 요청을 발행하면 "정규화" 옵션
#이 이 기능 지원을 알리도록 설정됩니다. KDC 서버는
# 요청을 이행하거나 클라이언트에게 다른 서버를 참조하도록 응답할 수 있습니다. 참조된 경우
# 클라이언트는 새 요청을 발행하고 주기가 반복됩니다.
#
# 참조 외에도 "표준화" 옵션을 사용하면 KDC 서버
#가 AS 요청에 대한 응답으로 클라이언트 이름을 변경할 수 있습니다. 보안상의 이유로
# RFC 6806(섹션 11) FAST 체계가 시행됩니다.
#
# Kerberos 교차 영역 조회를 비활성화합니다.
# 시스템 속성(-Dsun.security.krb5.disableReferrals)으로 값을 덮어쓸 수 있습니다.
sun.security.krb5.disableReferrals=false

# 무한 루프를 방지하기 위한 최대 AS 또는 TGS 추천 수. 값은
# 시스템 속성(-Dsun.security.krb5.maxReferrals)으로 덮어쓸 수 있습니다.
sun.security.krb5.maxReferrals=5

#
# 이 속성에는 포함될 수 있는 비활성화된 EC 명명 곡선 목록이 포함되어 있습니다.
# jdk.[tls|certpath|jar].disabledAlgorithms 속성에 있습니다.  비활성화된 알고리즘 속성에 이
# 목록을 포함하려면 속성 이름을 항목으로
# 추가하세요.
#jdk.disabled.namedCurves=

#
# 인증 경로(CertPath) 처리를 위한 알고리즘 제한
#
# 일부 환경에서는 인증 경로 구축 및 검증에 특정 알고리즘이나 키 길이가 바람직하지 않을 수 있습니다
#.  예를 들어 "MD2"는
# 일반적으로 더 이상 보안 해시 알고리즘으로 간주되지 않습니다.  이 섹션
#에서는 알고리즘 이름
# 및/또는 키 길이를 기반으로 알고리즘을 비활성화하는 메커니즘을 설명합니다.  여기에는 인증서에 사용되는 알고리즘도 포함되며
# CRL 및 서명된 OCSP 응답과 같은 해지 정보도 포함됩니다.
# 비활성화된 알고리즘 문자열의 구문은 다음과 같이 설명됩니다.
#   비활성화된 알고리즘:
#       " 비활성화된 알고리즘 { , 비활성화된 알고리즘 } "
#
#   비활성화된 알고리즘:
#       AlgorithmName [제약 조건] { '&' 제약 조건 } | includeProperty
#
#   AlgorithmName:
#       (아래 참조)
#
#   Constraint:
#       KeySizeConstraint | CA제약 | DenyAfterConstraint |
#       UsageConstraint
#
#   KeySizeConstraint:
#       keySize 연산자 KeyLength
#
#   연산자:
#       = | >
#
#   KeyLength:
#       알고리즘 키 길이의 정수 값(비트)
#
#   CAConstraint:
#       jdkCA
#
#   DenyAfterConstraint:
#       거부 YYYY-MM-DD
#
#   사용법제한:
# 사용법 [TLSServer] [TLSClient] [SignedJAR]
#
#   includeProperty:
#       include
#
# "AlgorithmName"은 비활성화된
# 알고리즘의 표준 알고리즘 이름입니다. 표준 알고리즘 이름에 대한 자세한 내용은 Java 보안 표준 알고리즘 이름 사양
#을 참조하세요.  일치는
# 대소문자를 구분하지 않는 하위 요소 일치 규칙을 사용하여 수행됩니다.  (
# 예의 경우 "SHA1withECDSA"에서 하위 요소는 해싱의 경우 "SHA1"이고 서명의 경우
# "ECDSA"입니다.)  어설션 "AlgorithmName"이 인증서 알고리즘 이름의
# 하위 요소인 경우 알고리즘은 인증 경로 구축 및 검증 중에 거부됩니다
#.  예를 들어
# 어설션 알고리즘 이름 "DSA"는 NONEwithDSA, SHA1withDSA와 같이 DSA를 사용하는 모든 인증서 알고리즘
#을 비활성화합니다.  그러나 어설션
#은 "ECDSA"와 관련된 알고리즘을 비활성화하지 않습니다.
#
# "IncludeProperty"는 비활성화된 알고리즘 속성에 포함될 수 있는
# 구현 정의 보안 속성을 허용합니다.  이러한 속성은
# 여러 비활성화된 알고리즘
# 속성에서 공통 작업을 더 쉽게 관리하는 데 도움이 됩니다.
# 정의된 보안 속성은 하나입니다:  jdk.disabled.NamedCurves
# 자세한 내용은 속성을 참조하세요.
#
#
# A " 제약 조건"은 지정된 AlgorithmName:
#
#   KeySizeConstraint:
#     keySize Operator KeyLength
#       "AlgorithmName"이 다음과 같은 경우 제약 조건에 유효한 크기 범위의 키가 필요합니다. 핵심 알고리즘.  "KeyLength"는
#       비트 수로 지정된 키 크기를 나타냅니다.  예를 들어
#       "RSA keySize #      인 모든 RSA 키를 비활성화해야 함을 나타내고
#       "RSA keySize 2048"을 나타냅니다. 이는 키 크기가 1024보다 작거나 2048보다 큰 RSA 키
#      를 비활성화해야 함을 나타냅니다.
#       이 제약 조건은 키 크기가 있는 알고리즘에만 사용됩니다.
#
#   CAConstraint:
#     jdkCA
#       이 제약 조건은 다음을 금지합니다. lib/security/cacerts 키 저장소의 표시된
#       트러스트 앵커에서 종료되는 인증서 체인에서
#       알고리즘이 사용되는 경우에만 지정된 알고리즘입니다.  jdkCA
#       제약 조건이 설정되지 않은 경우 지정된 알고리즘
#      을 사용하는 모든 체인이 제한됩니다.  jdkCA는 비활성화된 알고리즘
#       표현식에서 한 번만 사용할 수 있습니다.
#       예:  이 제약 조건을 SHA-1 인증서에 적용하려면
#       다음을 포함하세요.  "SHA1 jdkCA"
#
#   DenyAfterConstraint:
#     거부 후 YYYY-MM- DD
#       이 제약 조건은 지정된 알고리즘
#      을 사용하는 인증서가 인증서의
#       유효성에 관계없이 날짜 이후에 사용되는 것을 금지합니다.  비활성화된 알고리즘
#      이 포함된 인증서를 사용하여
#       제한 날짜 이전에 서명되고 타임스탬프가 지정된 JAR 파일은 제한되지 않습니다.  날짜는 UTC 시간대로 처리됩니다.
#       이 제약 조건은 비활성화된 알고리즘
#       표현식에서 한 번만 사용할 수 있습니다.
#       예:  2020년 2월 3일 이후 RSA 2048비트 인증서 사용을 거부하려면
#       다음을 사용하세요.  "RSA keySize == 2048 & 거부 후 2020-02-03"
#
#   UsageConstraint:
#     Usage [TLSServer] [TLSClient] [SignedJAR]
#       이 제약 조건은 지정된 사용법에 대해 지정된 알고리즘을
#       금지합니다.  이는 알고리즘을 비활성화할 때 사용해야 합니다
#       모든 용도에 대해 실용적이지 않습니다. 'TLSServer'는 서버 인증이
#       수행될 때 TLS 서버 인증서 체인의 알고리즘
#      을 제한합니다. 'TLSClient'는 TLS 클라이언트
#       클라이언트 인증이 수행될 때 인증서 체인의 알고리즘을 제한합니다.
#       'SignedJAR'은 서명된 jar 파일에서 인증서 사용을 제한합니다.
#       사용 유형은 키워드를 따르며 둘 이상의 사용 유형이 가능합니다
# 공백 구분 기호로 지정해야 합니다.
#       예:  "SHA1 사용 TLSServer TLSClient"
#
# 알고리즘이 두 개 이상의 제약 조건을 충족해야 하는 경우
# 앰퍼샌드 '&'로 구분해야 합니다.  예를 들어 배포 제공 트러스트 앵커에서 종료되고 1024비트 이하의
# RSA 키를 포함하는
# 체인의 인증서를 제한하려면 다음
# 제약 조건을 추가하세요.  "RSA keySize #
# 모든 ​​비활성화된 알고리즘 표현식은
# 속성에 정의된 순서대로 처리됩니다.  이를 위해서는 동일한 알고리즘의 더 큰 키 크기 제약 조건보다 먼저 더 낮은 키 크기 제약 조건을 지정해야 합니다
#.  예:
# "RSA keySize #
# 참고: 알고리즘 제한은 트러스트 앵커 또는
# 자체 서명 인증서에는 적용되지 않습니다.
#
# 참고: 이 속성은 현재 Oracle의 PKIX 구현에서 사용됩니다.
#은 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 예:
#   jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize #
#
jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA 및 사용량 TLSServer,
    RSA keySize

#
# 인증 경로(CertPath) 처리 및
# 서명된 JAR 파일을 위한 레거시 알고리즘.
#
# 일부 환경에서는 특정 알고리즘 또는 키 길이가 바람직하지 않을 수 있지만
# 아직 비활성화되지 않았습니다.
#
# 이러한 레거시
# 알고리즘을 사용할 때 keytool 및 jarsigner와 같은 도구가 경고를 표시할 수 있습니다. 자세한 내용은 해당 도구의 매뉴얼 페이지를 참조하세요.
#
# 구문은 "jdk.certpath.disabledAlgorithms" 및
# "jdk.jar.disabledAlgorithms" 보안 속성과 동일합니다.
#
# 참고: 이 속성은 현재 JDK Reference
# 구현에서 사용됩니다. 다른
# 구현에서 검사 및 사용이 보장되지 않습니다.

jdk.security.legacyAlgorithms=SHA1,
    RSA keySize

#
# 서명된 JAR 파일에 대한 알고리즘 제한
#
# 일부 환경에서는 서명된 JAR 유효성 검사에 특정 알고리즘이나 키 길이가 바람직하지 않을 수 있습니다
#.  예를 들어, "MD2"는 일반적으로 더 이상
# 보안 해시 알고리즘으로 간주되지 않습니다.  이 섹션에서는 알고리즘 이름 및/또는 키 길이를 기반으로 알고리즘을 비활성화하는
# 메커니즘을 설명합니다.
# 비활성화된 알고리즘이나 키 크기로 서명된 JAR은 서명되지 않은 것으로 처리됩니다
#.
#
# 비활성화된 구문 알고리즘 문자열은 다음과 같이 설명됩니다.
#   비활성화된 알고리즘:
#       " 비활성화된 알고리즘 { , 비활성화된 알고리즘 } "
#
#   비활성화된 알고리즘:
#       AlgorithmName [제약] { '&' 제약 }
#
#   AlgorithmName:
#      (아래 참조)
#
#   제약조건:
#       KeySizeConstraint | DenyAfterConstraint
#
#   KeySizeConstraint:
#       keySize 연산자 KeyLength
#
#   DenyAfterConstraint:
#       defyAfter YYYY-MM-DD
#
#   연산자:
#       = | >
#
#   KeyLength:
#       알고리즘 키 길이의 정수 값(비트)
#
# 참고: 이 속성은 현재 JDK 참조
# 구현에서 사용됩니다. 다른
# 구현에서 검사하고 사용한다는 보장은 없습니다.
#
# 구문 설명은 "jdk.certpath.disabledAlgorithms"를 참조하세요.
#
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize       DSA keySize

#
# Secure Socket Layer/Transport Layer Security
#(SSL/TLS/DTLS) 처리에 대한 알고리즘 제한
#
# 일부 환경에서는 SSL/TLS/를 사용할 때 특정 알고리즘이나 키 길이가 바람직하지 않을 수 있습니다
# DTLS.  이 섹션에서는
# 프로토콜 버전 협상, 암호화 제품군 선택, 명명된 그룹
# 선택, 서명 체계 선택, 피어 인증 및 키
# 교환 메커니즘을 포함하여 SSL/TLS/DTLS 보안 매개변수 협상 중에
# 알고리즘을 비활성화하는 메커니즘에 대해 설명합니다.
#
# 비활성화된 알고리즘은 애플리케이션에서 명시적으로 활성화된 경우에도
# SSL/TLS 연결에 대해 협상되지 않습니다.
#
# PKI 기반 피어 인증 및 키 교환 메커니즘의 경우 비활성화된 알고리즘 목록
# 인증서에 사용된 알고리즘과
# CRL 및 서명된 OCSP 응답과 같은 해지 정보를 포함하여 인증 경로
# 구축 및 검증 중에도 확인됩니다.
# 이는 위의 jdk.certpath.disabledAlgorithms 속성에 추가됩니다.
#
# 비활성화된 알고리즘 문자열의
# 구문은 "jdk.certpath.disabledAlgorithms" 사양을 참조하세요.
#
# 참고: 알고리즘 제한 사항은 트러스트 앵커 또는
# 자체 서명 인증서에는 적용되지 않습니다.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 예:
#   jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA , RSA 키크기 #       rsa_pkcs1_sha1, secp224r1
jdk.tls.disabledAlgorithms=SSLv3,   RC4, DES, MD5withRSA,
    DH keySize

#
# SSL/TLS(Secure Socket Layer/Transport Layer Security)를 위한 레거시 알고리즘
# JSSE 구현에서 처리.
#
# 일부 환경에서는 특정 알고리즘이 바람직하지 않을 수 있지만 해당 알고리즘은
# 비활성화할 수 없습니다. 레거시 응용 프로그램에서 사용합니다.  레거시
# 알고리즘은 계속 지원될 수 있지만 실제로는 레거시 알고리즘의 보안 강도가 충분히 강력하지 않기 때문에
# 애플리케이션에서는 이를 사용해서는 안 됩니다
#.
#
# SSL/TLS 보안 매개변수 협상 중에 레거시 알고리즘은
# 다른 후보가 없으면 협상하지 마세요.
#
# 레거시 알고리즘 문자열의 구문은 다음과 같이 설명됩니다. Java
# BNF 스타일:
#   LegacyAlgorithms:
#       " LegacyAlgorithm { , LegacyAlgorithm } "
#
# LegacyAlgorithm:
#       AlgorithmName(표준 JSSE 알고리즘 이름)
#
# "AlgorithmName" 표기법의 구문과 설명은 보안 속성 "jdk.certpath.disabledAlgorithms"
# 사양을 참조하세요.
#
# SSL/TLS 기준 사양에 따라 암호화 제품군의 형식은 다음과 같습니다.
#       SSL_KeyExchangeAlg_WITH_CipherAlg_MacAlg
# 또는
#       TLS_KeyExchangeAlg_WITH_CipherAlg_MacAlg
#
# 예를 들어 암호화 제품군 TLS_RSA_WITH_AES_128_CBC_SHA는 RSA를
# 키 교환 알고리즘, AES_128_CBC(CBC
# 모드의 128비트 AES 암호화 알고리즘 )를 암호화(암호화) 알고리즘으로, SHA-1을 HMAC용 메시지 다이제스트
# 알고리즘으로 사용합니다.
#
# LegacyAlgorithm은 다음 표준 알고리즘 이름 중 하나일 수 있습니다.
#     1. JSSE 암호화 제품군 이름, 예: TLS_RSA_WITH_AES_128_CBC_SHA
#     2. JSSE 키 교환 알고리즘 이름(예: RSA
#)     3. JSSE 암호화(암호화) 알고리즘 이름, 예: AES_128_CBC
#     4. JSSE 메시지 다이제스트 알고리즘 이름(예: SHA
#
# SSL/TLS를 참조하세요 사양 및 Java 보안 표준 알고리즘 이름
# 알고리즘 이름에 대한 정보 사양입니다.
#
# 참고: 레거시 알고리즘이
# jdk.tls.disabledAlgorithms 속성 또는
# java.security.AlgorithmConstraints를 통해서도 제한되는 경우 API(
# javax.net.ssl.SSLParameters.setAlgorithmConstraints() 참조),
# 그러면 알고리즘이 완전히 비활성화되고 협상되지 않습니다.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용된다는 보장은 없습니다.
# 해당 속성이 향후 릴리스에서 계속 존재하거나
# 동일한 구문이 될 것이라는 보장은 없습니다.
#
# 예:
#   jdk.tls. LegacyAlgorithms=DH_anon, DES_CBC, SSL_RSA_WITH_RC4_128_MD5
#
jdk.tls.legacyAlgorithms=NULL, anon, RC4, DES, 3DES_EDE_CBC

#
# 전송 계층 보안(SSL/TLS/DTLS) 처리를 위한 사전 정의된 기본 유한 필드 DHE(Diffie-Hellman 임시)
# 매개변수.
#
# 유한 필드 DHE가 있는 기존 SSL/TLS/DTLS 연결에서 매개변수
# 협상 메커니즘이 사용되지 않으면 서버는 DHE 키 교환을 위해 클라이언트 그룹
# 매개변수, 기본 생성기 g 및 소수 모듈러스 p를 제공합니다.
# 동적 그룹 매개변수를 사용하는 것이 좋습니다.  이 속성은
# 사용자 정의 그룹 매개변수를 지정할 수 있는 메커니즘을 정의합니다.
#
# 이 속성 문자열의 구문은 다음과 같이 설명됩니다. Java BNF 스타일:
#   DefaultDHEParameters:
#       DefinedDHEParameters { , DefinedDHEParameters }
#
# DefinedDHEParameters:
#       "{" DHEPrimeModulus , DHEBaseGenerator "}"
#
#   DHEPrimeModulus:
#       16진수
#
#   DHEBaseGenerator:
#       16진수
#
#   16진수:
#       16진수 { 16진수 }
#
#   16진수: 하나 of
#       0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
#
# 공백 문자는 무시됩니다.
#
# "DefinedDHEParameters"는 a에 대한 사용자 정의 그룹 매개변수 prime
# 모듈러스 p 및 기본 생성기 g를 정의합니다. 소수 모듈러스 p의 특정 크기.
# "DHEPrimeModulus"는 16진수 소수 모듈러스 p를 정의하고
# "DHEBaseGenerator"는 그룹
# 매개변수의 16진수 기본 생성기 g를 정의합니다.  사용자 정의 그룹
# 매개변수에는 안전 소수를 사용하는 것이 좋습니다.
#
# 이 속성이 정의되지 않거나 값이 비어 있으면 기본 JSSE
# 공급자의 기본 그룹 매개변수가 각 연결에 사용됩니다.
#
# 속성 값이 문법을 따르지 않거나 특정 그룹
# 매개변수가 유효하지 않은 경우 연결은 대체되어 기본 JSSE 공급자의 기본 그룹 매개변수
#를 사용합니다.
#
# 참고: 이 속성은 현재 다음에서 사용됩니다. OpenJDK의 JSSE 구현.
#은 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 예:
#   jdk.tls.server.defaultDHEParameters=
#       {
#       FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
#      29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
#       EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
#       E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
#       EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381
#       FFFFFFFF FFFFFFFF, 2}

#
# 대칭 암호화 알고리즘에 대한 TLS 키 제한
#
# 이 보안 속성 TLS 1.3에서 알고리즘 키 사용에 대한 제한을 설정합니다.
# 암호화된 데이터의 양이 아래 나열된 알고리즘 값을 초과하면
# KeyUpdate 메시지가 키 변경을 트리거합니다.  이는 TLS 1.3을 사용하는 대칭 암호
#에만 적용됩니다.
#
# 속성 구문은 아래에 설명되어 있습니다.
#   KeyLimits:
#       " KeyLimit { , KeyLimit } "
#
#   WeakKeyLimit:
#       AlgorithmName Action Length
#
#   AlgorithmName:
#       전체 알고리즘 변환.
#
#   Action:
#       KeyUpdate
#
#   Length:
#       Action이 발생하기 전 세션에서 암호화된 데이터의 양
#       이 값은 정수 값일 수 있습니다. 바이트 단위 또는 2^29의 거듭제곱입니다.
#
#   KeyUpdate:
#       TLS 1.3 KeyUpdate 핸드셰이크 프로세스는 길이 양
#      이 충족될 때 시작됩니다.
#
# 참고: 이 속성은 현재 다음에서 사용됩니다. OpenJDK의 JSSE 구현.
#은 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
jdk.tls.keyLimits=AES/GCM/NoPadding KeyUpdate 2^37

#
# 암호화 관할권 정책 기본값
#
# 암호화 소프트웨어에 대한 수출입 통제 규칙은
# 국가마다 다릅니다.  기본적으로 Java는 두 가지 서로 다른
# 암호화 정책 파일 세트를 제공합니다[1]:
#
#     무제한:  이 정책 파일에는 암호화에 대한 제한이 없습니다
#                 강점 또는 알고리즘
#
#     제한됨:    이 정책 파일에는 더 제한된 암호화가 포함되어 있습니다.
#                 Strengths
#
# 기본 설정은 아래 "crypto.policy"
# 보안 속성 값에 따라 결정됩니다. 귀하의 국가 또는 용도에
# 기존 제한 정책이 필요한 경우 "제한된" Java 암호화
# 정책이 계속 사용 가능하며 귀하의 환경에 적합할 수 있습니다.
#
# 언급된 사용 사례에 맞지 않는 제한 사항이 있는 경우
# 위에서 Java는 이러한 정책 파일을 사용자 정의하는 기능을 제공합니다.
# "crypto.policy" 보안 속성은 사용자 정의할 수 있는 /conf/security/policy/ 내의 하위 디렉토리
#를 가리킵니다.
# 자세한 내용은 /conf/security/policy/README.txt 파일을 참조하거나
# Java 보안 가이드/JCA 문서를 참조하세요.
#
# 수출/수입 통제 전문가에게 문의하는 것이 좋습니다. 또는 변호사
#가 정확한 요구 사항을 결정합니다.
#
# [1] JCE 프레임워크,
# 암호화 정책 파일 및 Java SE와 함께 제공되는 표준 JCE 공급자
#를 포함하여 Java SE용 JCE에는 미국 산업보안국에서 대량 시장으로 수출하기 위한 검토 및 승인을 받았습니다
# 암호화 항목.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 검사 및 사용이 보장되지 않습니다. 다른 구현에 따라.
#
crypto.policy=unlimited

#
# XML 서명 보안 유효성 검사 모드에 대한 정책입니다. 모드는
# javax.xml.crypto.XMLCryptoContext.setProperty() 메서드
#를 사용하여 "org.jcp.xml.dsig.secureValidation" 속성을
# true로 설정하거나 SecurityManager로 코드를 실행하여 활성화됩니다. .
#
#   정책:
#       제약 조건 {"," 제약 조건 }
#   제약 조건:
#       AlgConstraint | MaxTransforms제약 | MaxReferencesConstraint |
#       ReferenceUriSchemeConstraint | 키크기제약 | OtherConstraint
#   AlgConstraint
#       "disallowAlg" Uri
#   MaxTransformsConstraint:
#       "maxTransforms" Integer
#   MaxReferencesConstraint:
#       "maxReferences" Integer
#   ReferenceUriSchemeConstraint:
#       "disallowReferenceUriSchemes" String { String }
#   KeySizeConstraint:
#       " minKeySize" KeyAlg Integer
#   OtherConstraint:
#       "noDuplicateIds" | "noRetrievalMethodLoops"
#
# AlgConstraint의 경우 Uri는 허용되지 않는 알고리즘 URI 문자열입니다.
# 알고리즘
# URI 식별자에 대한 자세한 내용은 XML 서명 권장 사항을 참조하세요. KeySizeConstraint의 경우 KeyAlg는 키 유형의 표준 알고리즘
# 이름입니다(예: "RSA"). MaxTransformsConstraint,
# MaxReferencesConstraint 또는 KeySizeConstraint(동일한 키 유형에 대해)가
# 두 번 이상 지정된 경우 마지막 항목만 적용됩니다.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
#은 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
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 파일 http https,
    minKeySize RSA 1024,
    minKeySize DSA 1024,
    minKeyS EC 224,
    noDuplicateIds,
    noRetrievalMethodLoops

#
# 직렬화 시스템 전체 필터
#
# 필터는 구성된 경우 스트림의 내용을 확인하기 위해
# 역직렬화 중에 java.io.ObjectInputStream에서 사용됩니다.
# 필터는 일련의 패턴으로 구성됩니다. , 각 패턴은
# 스트림의 클래스 이름과 일치하거나 제한을 정의합니다.
# 패턴은 ";"으로 구분됩니다. (세미콜론).
# 공백은 중요하며 패턴의 일부로 간주됩니다.
#
# 시스템 속성 jdk.serialFilter도 지정되면 공백은
# 여기에 정의된 보안 속성 값을 대체합니다.
#
# 패턴이 있는 경우 "="가 포함되어 있으면 제한이 설정됩니다.
# 제한이 두 번 이상 나타나면 마지막 값이 사용됩니다.
# 제한은
# 패턴 시퀀스의 순서에 관계없이 수업 전에 확인됩니다.
# 제한을 초과하면 필터 상태가 REJECTED입니다.
#
#   maxlength=value - 그래프의 최대 깊이
#   maxrefs=value  - 내부 참조의 최대 수
#   maxbytes=value - 그래프의 최대 바이트 수 입력 스트림
#   maxarray=value - 허용되는 최대 배열 길이
#
# 다른 패턴은 왼쪽에서 오른쪽으로 Class.getName에서 반환된 클래스 또는 패키지 이름과 일치합니다
#.
# 클래스가 배열 유형인 경우 일치시킬 클래스 또는 패키지는
# 요소 유형입니다.
# 임의 개수의 차원 배열은 요소 유형과 동일하게 처리됩니다.
# 예를 들어 "!example.Foo" 패턴은 모든 생성을 거부합니다. 인스턴스 또는
# example.Foo.
#
# 패턴이 "!"로 시작하는 경우 나머지
# 패턴이 일치하면 상태는 REJECTED입니다. 그렇지 않고 패턴이 일치하면 상태는 ALLOWED입니다.
# 패턴에 "/"가 포함되어 있으면 "/"까지 비어 있지 않은 접두사는
# 모듈 이름입니다.
#   모듈 이름이 모듈 이름과 일치하면 class then
#   나머지 패턴은 클래스 이름과 일치합니다.
#   "/"가 없으면 모듈 이름을 비교하지 않습니다.
# 패턴이 ".**"로 끝나면 패키지의 모든 클래스와 일치합니다. and all
# 하위 패키지.
# 패턴이 ".*"로 끝나면 패키지의 모든 클래스와 일치합니다.
# 패턴이 "*"로 끝나면 패턴이 a
# 접두사로 끝나는 모든 클래스와 일치합니다.
# 패턴이 클래스 이름과 같으면 일치합니다.
# 그렇지 않으면 상태는 UNDECIDED입니다.
#
#jdk.serialFilter=pattern;pattern

#
# RMI 레지스트리 직렬 필터
#
# 필터 패턴은 jdk.serialFilter와 동일한 형식을 사용합니다.
# 이 필터는 추가 유형이 RMI 레지스트리에서 허용 또는 거부되어야 하는 경우
# 내장 필터를 재정의할 수 있습니다. 제한을 줄이되
# 제한을 늘리는 것은 아닙니다.
# 제한(maxlength, maxrefs 또는 maxbytes)을 초과하면 객체가 거부됩니다.
#
# 배열이 아닌 각 유형은 다음 중 하나와 일치하면 허용되거나 거부됩니다. 패턴,
#은 왼쪽에서 오른쪽으로 평가되며 그 외에는 허용됩니다. 하위 배열 및 프리미티브 배열을 포함한 모든
# 구성 요소 유형의 배열이 허용됩니다.
#
# 길이가 maxarray 제한보다 크지 않은 한 하위 배열 및
# 프리미티브 배열을 포함한 모든 구성 요소 유형의 배열 구성이 허용됩니다.
# 필터는 각 배열 요소에 적용됩니다.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 내장된- 필터에서는 허용된 클래스의 하위 클래스를 허용하며
#은 대략 다음 패턴으로 표시될 수 있습니다.
#
#sun.rmi.registry.registryFilter=
#    maxarray=1000000;
#    maxlength=20;
#    java.lang.String;
#    java.lang.Number;
#    java.lang.reflect.Proxy;
#    java.rmi.Remote;
#    sun.rmi.server.UnicastRef;
#    sun.rmi.server.RMIClientSocketFactory;
#    sun. rmi.server.RMIServerSocketFactory;
#    java.rmi.activation.ActivationID;
#    java.rmi.server.UID
#
# RMI 분산 가비지 수집기(DGC) 직렬 필터
#
# 필터 패턴은 다음과 동일한 형식을 사용합니다. jdk.serialFilter.
# RMI DGC에서 추가 유형을
# 허용하거나 거부해야 하는 경우 이 필터는 내장 필터를 재정의할 수 있습니다.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 내장 DGC 필터는 대략적으로 필터 패턴으로 표현될 수 있습니다:
#
#sun.rmi.transport.dgcFilter=
#    java.rmi.server.ObjID;
#    java.rmi.server.UID;
#    java.rmi.dgc.VMID;
#    java.rmi.dgc.Lease;
#    maxlength=5;maxarray=10000

#
# JCEKS 암호화 키 직렬 필터
#
# 이 필터는 구성된 경우 JCEKS KeyStore에서 키 항목 내부에 저장된 암호화된 Key 객체를
# 역직렬화하는 동안 사용됩니다.
# 구성되지 않거나 필터 결과가 결정되지 않은 경우(예: 일치하는 패턴이 없으면
# 일치) jdk.serialFilter에 의해 구성된 필터가 참조됩니다.
#
# 시스템 속성 jceks.key.serialFilter도 지정되면 여기에 정의된 보안 속성 값이
# 대체됩니다.
#
# 필터 패턴은 jdk.serialFilter와 동일한 형식을 사용합니다. 기본
# 패턴은 java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Type,
# 및 javax.crypto.spec.SecretKeySpec을 허용하고 다른 모든 패턴은 거부합니다.
jceks.key.serialFilter = java .base/java.lang.Enum;java.base/java.security.KeyRep;
  java.base/java.security.KeyRep$Type;java.base/javax.crypto.spec.SecretKeySpec;!*

# JCEKS
# 키 저장소에서 비밀번호 기반 암호화(PBE)에 사용되는 반복 횟수입니다. 10000~5000000 범위의 값이 유효한 것으로 간주됩니다.
# 값이 이 범위를 벗어나거나, 숫자가 아니거나, 지정되지 않은 경우;
# 기본값인 200000이 사용됩니다.
#
# 시스템 속성 jdk의 경우 .jceks.iterationCount도 지정됩니다. 이는
# 여기에 정의된 보안 속성 값을 대체합니다.
#
#jdk.jceks.iterationCount = 200000

#
# PKCS12 KeyStore 속성
#
# 다음 속성은 구성된 경우 새 키 저장소를 생성하는 동안 PKCS12 KeyStore
# 구현에서 사용됩니다. 기존 키 저장소를 수정할 때 여러
# 속성을 사용할 수도 있습니다.
# 속성은 자체
# 알고리즘과 매개변수를 지정하는 KeyStore API로 재정의될 수 있습니다.
#
# 기존 PKCS12 키 저장소가 로드된 다음 저장되면 기존 Mac을 생성하는 데 사용된 알고리즘과
# 매개변수는 다음과 같습니다. 재사용. 기존
# 키스토어에 Mac이 없으면 저장하는 동안 Mac이 생성되지 않습니다. 기존 키 저장소에 인증서가
# 하나 이상 있는 경우 기존 키 저장소의 마지막 인증서를 암호화하는 데 사용된 알고리즘과
# 매개변수는
# 저장하는 동안 모든 인증서를 암호화하는 데 재사용됩니다. 기존 키 저장소의 마지막 인증서
#가 암호화되지 않으면 모든 인증서가 암호화되지 않은 상태로 저장
#됩니다. 기존 키 저장소에 인증서가 없으면 새로
# 추가된 인증서는 "keystore.pkcs12.certProtectionAlgorithm" 및
# "keystore.pkcs12. certPbeIterationCount" 값이 여기에 정의되어 있습니다. 기존 개인
# 및 비밀 키는 변경되지 않습니다. 새로 설정된 개인 및 비밀 키는
# 여기에 정의된 "keystore.pkcs12.keyProtectionAlgorithm" 및
# "keystore.pkcs12.keyPbeIterationCount" 값을 사용하여 암호화됩니다.
#
# 새로운 알고리즘과 매개변수를 적용하려면
# 기존 키 저장소의 모든 항목을 삭제하려면 새 키 저장소를 생성하고
# 기존 키 저장소의 항목을 새 키 저장소에 추가할 수 있습니다. 이는
# "keytool -importkeystore" 명령을 호출하여 달성할 수 있습니다.
#
# 동일한 이름의 시스템 속성도 지정되면 여기에 정의된
# 보안 속성 값을 대체합니다.
#
# 속성이 잘못된 값,
# 양의 정수가 아닌 반복 횟수 또는 알 수 없는 알고리즘
# 이름으로 설정된 경우 속성을 사용할 때 예외가 발생합니다.
# 속성이 설정되지 않거나 비어 있으면 기본값이 사용됩니다.
#
# 참고: 이러한 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.

# 인증서를 암호화하는 데 사용되는 알고리즘입니다. 이는 Java Security Standard

# 알고리즘 이름 사양의 암호화 섹션에 정의된 Hmac이 아닌 PBE
# 알고리즘이 될 수 있습니다. "NONE"으로 설정하면 인증서
#이 암호화되지 않습니다. 기본값은 "PBEWithHmacSHA256AndAES_256"입니다.
#keystore.pkcs12.certProtectionAlgorithm = PBEWithHmacSHA256AndAES_256

# 인증서를 암호화할 때 PBE 알고리즘에서 사용하는 반복 횟수입니다.

# 이 값은 양의 정수여야 합니다. 기본값은 10000입니다.
#keystore.pkcs12.certPbeIterationCount = 10000

# 개인 키 또는 비밀 키를 암호화하는 데 사용되는 알고리즘입니다. 이는 Java

# 보안 표준 알고리즘 이름 사양의 암호화 섹션에 정의된 Hmac이 아닌 PBE 알고리즘일 수 있습니다. 값은 "NONE"이 아니어야 합니다.
# 기본값은 "PBEWithHmacSHA256AndAES_256"입니다.
#keystore.pkcs12.keyProtectionAlgorithm = PBEWithHmacSHA256AndAES_256

# 개인 키

# 또는 비밀 키를 암호화할 때 PBE 알고리즘에서 사용하는 반복 횟수입니다. . 이 값은 양의 정수여야 합니다. 기본값

#은 10000입니다.
#keystore.pkcs12.keyPbeIterationCount = 10000

# PKCS12

# 파일 끝에서 선택적 MacData를 계산하는 데 사용되는 알고리즘입니다. 이는

# Java 보안 표준 알고리즘 이름 사양의 Mac 섹션에 정의된 모든 HmacPBE 알고리즘일 수 있습니다. "NONE"으로 설정하면
# Mac이 생성되지 않습니다. 기본값은 "HmacPBESHA256"입니다.
#keystore.pkcs12.macAlgorithm = HmacPBESHA256

# MacData 알고리즘에서 사용하는 반복 횟수입니다. 이 값은

# 양의 정수여야 합니다. 기본값은 10000입니다.

#keystore.pkcs12.macIterationCount = 10000

#
# 향상된 예외 메시지 정보
#
# 기본적으로 예외 메시지에는 파일 이름, 호스트 이름 또는 포트 번호와 같은 잠재적으로 민감한
# 정보가 포함되어서는 안 됩니다. 이 속성
#은 하나 이상의 쉼표로 구분된 값을 허용하며, 각 값은 활성화할 향상된 예외 메시지 정보의
# 범주를 나타냅니다. 값은
# 대소문자를 구분하지 않습니다. 각 값을 둘러싼 앞뒤 공백
#은 무시됩니다. 알 수 없는 값은 무시됩니다.
#
# 참고: 이 속성을 설정하기 전에 주의하세요. 이 속성을 설정하면
# 예외에 민감한 정보가 노출됩니다. 예를 들어
# 신뢰할 수 없는 코드로 전파되거나 스택 추적에서 방출될 수 있으며
# 실수로 공개되어 공용 네트워크를 통해 액세스할 수 있게 됩니다.
#
# 카테고리는 다음과 같습니다. :
#
#  hostInfo - java.net.Socket에서 발생하는 IOException과
#             java.nio.channels 패키지의 소켓 유형에는 향상된 예외
#             메시지 정보
#
#  jar      - IOExceptions에 더 자세한 정보가 포함됩니다. Throw
#             java.util.jar 패키지의 클래스에 의해
#
# 이 파일의 속성 설정은 동일한 이름, 동일한 구문 및 가능한 값을 가진
#의 시스템 속성으로 재정의될 수 있습니다.
#
#jdk .includeInExceptions=hostInfo,jar

#
# SASL(Simple Authentication and Security Layer)에 대한 비활성화된 메커니즘
#
# 비활성화된 메커니즘은 SASL 클라이언트와 서버 모두에서 협상되지 않습니다.
# 이러한 메커니즘은 다음과 같은 경우 무시됩니다. "Sasl.createSaslClient"의 "mechanisms"
# 인수 또는
# "Sasl.createSaslServer"의 "mechanism" 인수에 지정됩니다.
#
# 이 속성의 값은 SASL 메커니즘의 쉼표로 구분된 목록입니다.
# 메커니즘은 대소문자를 구분합니다. 쉼표 주위의 공백은 무시됩니다.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 예:
#   jdk.sasl .disabledMechanisms=PLAIN, CRAM-MD5, DIGEST-MD5
jdk.sasl.disabledMechanisms=

#
# 인증 기관(CA)을 불신하기 위한 정책.
#
# 이는 대소문자를 구분하는 하나 이상의 쉼표로 구분된 값입니다. 각 문자열
#은 CA를 신뢰할 수 없는지 결정하기 위한 정책을 나타냅니다.
# 지원되는 값은 다음과 같습니다.
#
#   SYMANTEC_TLS: Symantec
#   루트 CA에 의해 고정되고 4월 16일 이후에 발급된 TLS 서버 인증서를 신뢰하지 않습니다. 불신 날짜가 이후인
#   다음 하위 CA 중 하나에서 발행하지 않는 한 2019년:
#     1. Apple IST CA 2 - G1, SHA-256 지문:
#        AC2B922ECFD5E01711772FEA8ED372DE9D1E2245FCE3F57A9CDBEC77296A 424B
#        2019년 12월 31일 이후 불신.
#     2 . Apple IST CA 8 - G1, SHA-256 지문:
#        A4FE7C7F15155F3F0AEF7AAA83CF6E06DEB97CA3F909DF920AC1490882D488ED
#        2019년 12월 31일 이후 불신.
#
# 각 값 주위의 앞뒤 공백은 무시됩니다.
# 알 수 없는 값은 무시됩니다. 속성이 주석 처리되거나
# 빈 문자열로 설정된 경우 정책이 적용되지 않습니다.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 SE 구현에서는 지원이 보장되지 않습니다. . 또한 이
# 속성은 jdk.tls.disabledAlgorithms 또는
# jdk.certpath.disabledAlgorithms와 같은
# 인증서를 제한할 수 있는 다른 보안 속성을 재정의하지 않습니다. 이러한 제한은
# 이 속성이 활성화되지 않은 경우에도 적용됩니다.
#
jdk.security.caDistrustPolicies=SYMANTEC_TLS

#
# FilePermission 경로 정규화
#
# 이 보안 속성은 경로 인수가 처리되고 저장되는 방법을 지정합니다
# FilePermission 객체를 생성하는 동안. 값이 true로 설정되면
# 경로 인수가 정규화되고 FilePermission 메서드(예: 암시,
# 같음 및 hashCode)가 이 정규화된 결과를 기반으로 구현됩니다.
# 그렇지 않으면 경로 인수가 정규화되지 않으며 FilePermission 메서드는
# 원래 입력을 기반으로 구현됩니다. 자세한 내용은
# FilePermission 클래스의 구현 참고 사항을 참조하세요.
#
# 동일한 이름의 시스템 속성도 지정되면 여기에 정의된
# 보안 속성 값을 대체합니다.
#
# 이에 대한 기본값 속성이 false입니다.
#
jdk.io.permissionsUseCanonicalPath=false

#
# Proxy_impersonator Kerberos ccache 구성 항목에 대한 정책
#
# Proxy_impersonator ccache 구성 항목은 ccache
#가 중간
# 서버에서 S4U2Proxy와 함께 사용할 합성 위임 자격 증명임을 나타냅니다. ccache 파일에는 이 서버의 TGT와
# 이 서버에 대한 ccache 기본 주체의 증거 티켓도 포함되어야 합니다.
#
# 이 보안 속성은 Java가 이 구성 항목을 사용하는 방법을 결정합니다.
# 가능한 값은 3가지입니다. :...          만약 일치하는 TGT 또는 증거 티켓이 없습니다.
#                       no-impersonate로 대체됩니다.
#
#  always-impersonate - 이 구성 항목이 있으면 항상 가장합니다.
#                       일치하는 TGT 또는 증거 티켓이 없으면
#                      초기 자격 증명 없음 ccache에서 읽습니다.
#
# 기본값은 "always-impersonate"입니다.
#
# 동일한 이름의 시스템 속성도 지정되면 여기에 정의된
# 보안 속성 값을 대체합니다.
#
#jdk.security.krb5.default.initiate.credential=always-impersonate

#
# 신뢰 앵커 인증서 - CA 기본 제약 조건 확인
#
# 신뢰 앵커로 사용되는 X.509 v3 인증서(서명된 코드 또는 TLS를 검증하기 위해
# 연결)에는 CA 기본 제약 조건 필드가 'true'로 설정되어 있어야 합니다. 또한

# 키 사용 확장이 포함된 경우 keyCertSign 비트를 설정해야 합니다. 기본적으로 활성화되어 있는 이러한

# 검사는 이전 버전과의 호환성
# 목적을 위해 jdk.security.allowNonCaAnchor 시스템 및 Security
# 속성을 사용하여 비활성화할 수 있습니다. 두 속성을 동시에 설정하는 경우
# 시스템 값이 우선 적용됩니다. 속성의 기본값은 "false"입니다.
#
#jdk.security.allowNonCaAnchor=true

#
# TLS 변환을 위한 기본 문자 집합 이름(java.nio.charset.Charset.forName())
# 바이트 배열과 문자열 사이의 ALPN 값.
# 이전 버전의 JDK에서는 UTF-8을 기본 문자 집합으로 사용할 수 있습니다. # 상호 운용성 문제가 발생하는 경우, 이 속성을 UTF-8
#으로 설정하면 도움이 될 수 있습니다.

#

# jdk.tls.alpnCharset=UTF-8
jdk.tls.alpnCharset=ISO_8859_1

#
# JNDI 개체 팩토리 필터
#
# 이 필터는 JNDI 런타임에서
# 이름 지정/디렉토리 시스템에 의해 반환된 객체 참조에서 객체를 인스턴스화할 수 있는 객체 팩토리 클래스 세트를 제어하는 ​​데 사용됩니다
#. 참조 인스턴스에 의해 명명된 팩토리 클래스는

# 이 필터와 일치됩니다. 필터 속성은 jdk.serialFilter와 동일한 형식의 패턴 기반 필터 구문

#을 지원합니다.
#
# 각 패턴은 팩토리 클래스 이름과 일치하여 인스턴스화를 허용하거나 허용하지 않습니다
#. 필터가 반환되지 않는 한 팩토리 클래스에 대한 액세스가 허용됩니다
# REJECTED.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 시스템 속성 jdk.jndi.object.factoriesFilter도 지정되면 여기에 정의된 보안 속성 값을 대체합니다
#. 속성의 기본값은 "*"입니다.
#
# 기본 패턴 값을 사용하면 참조
# 인스턴스에서 지정한 모든 개체 팩토리 클래스가 참조된 개체를 다시 만들 수 있습니다.
#jdk.jndi.object.factoriesFilter=*

위 내용은 Java8(291) 이후에는 TLS1.1이 비활성화되고 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?Mar 17, 2025 pm 05:46 PM

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

적절한 버전 및 종속성 관리로 Custom Java 라이브러리 (JAR Files)를 작성하고 사용하려면 어떻게해야합니까?적절한 버전 및 종속성 관리로 Custom Java 라이브러리 (JAR Files)를 작성하고 사용하려면 어떻게해야합니까?Mar 17, 2025 pm 05:45 PM

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?Mar 17, 2025 pm 05:44 PM

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?Mar 17, 2025 pm 05:43 PM

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?Mar 17, 2025 pm 05:35 PM

Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.