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개가 있습니다
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
삭제 후 삭제하세요. ????
# 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
수정된 샘플은 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 캐시 정책:
# 실패한 조회에 대한 Java 수준 이름 조회 캐시 정책:
#
# 음수 값: 영원히 캐싱
# 양수 값: 주소를 캐시하는 시간(초) for
# 0: 캐시 안 함
#
# 기본값은 영원히(FOREVER) . 보안상의 이유로 이
# 캐싱은 보안 관리자가 설정되면 영구적으로 수행됩니다. 보안
# 관리자가 설정되지 않은 경우 이 구현
#의 기본 동작은 30초 동안 캐시하는 것입니다.
#
# 참고: 이를 기본값 이외의 값으로 설정하면
# 심각한 보안 문제가 발생할 수 있습니다.
# DNS 스푸핑 공격에 노출되지 않은 것이 확실하지 않은 한 설정하지 마세요.
#
#networkaddress.cache.ttl=-1#
#
# 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 응답자의 인증서는 검증 중인 인증서 발급자
#의 인증서입니다. 이 속성은 기본값이 적용되지 않는 경우 OCSP 응답자의 인증서
#를 식별합니다. 해당 값은 인증서 경로 유효성 검사 중에 제공된 인증서 집합에서 인증서를 식별하는 문자열
# 고유 이름(RFC 2253에 정의됨)입니다. 이
# 속성이 설정되면 "ocsp.responderCertSerialNumber" 속성도
# 설정되어야 합니다. "ocsp.responderCertSubjectName" 속성이 설정되면 이
# 속성은 무시됩니다.
#
# 예,
# ocsp.responderCertIssuerName=CN=Enterprise CA, O=XYZ Corp
##
# 실패한 Kerberos KDC 조회에 대한 정책:
# 기본적으로 OCSP 응답자의 인증서는 검증 중인 인증서 발급자
#의 인증서입니다. 이 속성은 기본값이 적용되지 않는 경우 OCSP 응답자의 인증서
#를 식별합니다. 해당 값은 16진수 문자열
#(콜론 또는 공백 구분 기호가 있을 수 있음)이며,
#는 인증서 경로
# 유효성 검사 중에 제공된 인증서 세트에서 인증서를 식별합니다. 이 속성이 설정되면 "ocsp.responderCertIssuerName"
# 속성도 설정되어야 합니다. "ocsp.responderCertSubjectName" 속성
#이 설정되면 이 속성은 무시됩니다.
#
# 예,
# ocsp.responderCertSerialNumber=2A:FF:00
##
# Kerberos 교차 영역 참조(RFC 6806)
# 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
##
# 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 <= 1024"는 키 크기가 1024비트보다 작거나
# 인 모든 RSA 키를 비활성화해야 함을 나타내고
# "RSA keySize < 1024, 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 <= 1024 & jdkCA".
#
# 모든 비활성화된 알고리즘 표현식은
# 속성에 정의된 순서대로 처리됩니다. 이를 위해서는 동일한 알고리즘의 더 큰 키 크기 제약 조건보다 먼저 더 낮은 키 크기 제약 조건을 지정해야 합니다
#. 예:
# "RSA keySize < 1024 & jdkCA, RSA keySize < 2048".
#
# 참고: 알고리즘 제한은 트러스트 앵커 또는
# 자체 서명 인증서에는 적용되지 않습니다.
#
# 참고: 이 속성은 현재 Oracle의 PKIX 구현에서 사용됩니다.
#은 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 예:
# jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048
#
#
jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA 및 사용량 TLSServer,
RSA keySize < 1024, DSA 키크기 < 1024, EC 키크기 < 224#
# 인증 경로(CertPath) 처리 및
# 서명된 JAR 파일을 위한 레거시 알고리즘.
#
# 일부 환경에서는 특정 알고리즘 또는 키 길이가 바람직하지 않을 수 있지만
# 아직 비활성화되지 않았습니다.
#
# 이러한 레거시
# 알고리즘을 사용할 때 keytool 및 jarsigner와 같은 도구가 경고를 표시할 수 있습니다. 자세한 내용은 해당 도구의 매뉴얼 페이지를 참조하세요.
#
# 구문은 "jdk.certpath.disabledAlgorithms" 및
# "jdk.jar.disabledAlgorithms" 보안 속성과 동일합니다.
#
# 참고: 이 속성은 현재 JDK Reference
# 구현에서 사용됩니다. 다른
# 구현에서 검사 및 사용이 보장되지 않습니다.jdk.security.legacyAlgorithms=SHA1,
RSA keySize < 2048, DSA 키크기 < 2048#
# 서명된 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 < 1024,
DSA keySize < 1024#
# 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 키크기 < 2048,
# rsa_pkcs1_sha1, secp224r1
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA,
DH keySize < 1024, EC 키크기 < 224, 3DES_EDE_CBC, 곧, NULL#
# 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#
# 인증서를 암호화하는 데 사용되는 알고리즘입니다. 이는 Java Security Standard
# 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 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.# 알고리즘 이름 사양의 암호화 섹션에 정의된 Hmac이 아닌 PBE
# 인증서를 암호화할 때 PBE 알고리즘에서 사용하는 반복 횟수입니다.
# 알고리즘이 될 수 있습니다. "NONE"으로 설정하면 인증서
#이 암호화되지 않습니다. 기본값은 "PBEWithHmacSHA256AndAES_256"입니다.
#keystore.pkcs12.certProtectionAlgorithm = PBEWithHmacSHA256AndAES_256# 이 값은 양의 정수여야 합니다. 기본값은 10000입니다.
# 개인 키 또는 비밀 키를 암호화하는 데 사용되는 알고리즘입니다. 이는 Java
#keystore.pkcs12.certPbeIterationCount = 10000# 보안 표준 알고리즘 이름 사양의 암호화 섹션에 정의된 Hmac이 아닌 PBE 알고리즘일 수 있습니다. 값은 "NONE"이 아니어야 합니다.
# 또는 비밀 키를 암호화할 때 PBE 알고리즘에서 사용하는 반복 횟수입니다. . 이 값은 양의 정수여야 합니다. 기본값
# 기본값은 "PBEWithHmacSHA256AndAES_256"입니다.
#keystore.pkcs12.keyProtectionAlgorithm = PBEWithHmacSHA256AndAES_256
# 개인 키#은 10000입니다.
# 파일 끝에서 선택적 MacData를 계산하는 데 사용되는 알고리즘입니다. 이는
#keystore.pkcs12.keyPbeIterationCount = 10000
# PKCS12# Java 보안 표준 알고리즘 이름 사양의 Mac 섹션에 정의된 모든 HmacPBE 알고리즘일 수 있습니다. "NONE"으로 설정하면
# 양의 정수여야 합니다. 기본값은 10000입니다.
# Mac이 생성되지 않습니다. 기본값은 "HmacPBESHA256"입니다.
#keystore.pkcs12.macAlgorithm = HmacPBESHA256
# MacData 알고리즘에서 사용하는 반복 횟수입니다. 이 값은#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#
# 키 사용 확장이 포함된 경우 keyCertSign 비트를 설정해야 합니다. 기본적으로 활성화되어 있는 이러한
# 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'로 설정되어 있어야 합니다. 또한# 검사는 이전 버전과의 호환성
#
# 목적을 위해 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.serialFilter와 동일한 형식의 패턴 기반 필터 구문
jdk.tls.alpnCharset=ISO_8859_1
#
# JNDI 개체 팩토리 필터
#
# 이 필터는 JNDI 런타임에서
# 이름 지정/디렉토리 시스템에 의해 반환된 객체 참조에서 객체를 인스턴스화할 수 있는 객체 팩토리 클래스 세트를 제어하는 데 사용됩니다
#. 참조 인스턴스에 의해 명명된 팩토리 클래스는#을 지원합니다.
#
# 각 패턴은 팩토리 클래스 이름과 일치하여 인스턴스화를 허용하거나 허용하지 않습니다
#. 필터가 반환되지 않는 한 팩토리 클래스에 대한 액세스가 허용됩니다
# REJECTED.
#
# 참고: 이 속성은 현재 JDK 참조 구현에서 사용됩니다.
# 다른 구현에서 검사 및 사용이 보장되지 않습니다.
#
# 시스템 속성 jdk.jndi.object.factoriesFilter도 지정되면 여기에 정의된 보안 속성 값을 대체합니다
#. 속성의 기본값은 "*"입니다.
#
# 기본 패턴 값을 사용하면 참조
# 인스턴스에서 지정한 모든 개체 팩토리 클래스가 참조된 개체를 다시 만들 수 있습니다.
#jdk.jndi.object.factoriesFilter=*
위 내용은 Java8(291) 이후에는 TLS1.1이 비활성화되고 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!