Windows에서 Java 8을 사용하는 Jenkins를 실행하는 Winstone 서버가 있습니다. 클라이언트 요청이 기본 암호를 지정하지 못하면 Diffie-Hellman 암호 서버가 선호합니다. Tomcat과는 달리 Winstone은 주문하기 위해 암호 목록을 지정하는 방법을 가지고 있지 않습니다. 그래서, 비 DHE 및 비 ECDHE 암호를 비활성화하려고합니다. 나는 MD2 알고리즘의 최소 keysize 및 제거를 지정하여 java.security 파일의 사용 불가능한 알고리즘 목록을 수정하여 일부를 제거 할 수 있었지만 모두 비활성화 할 수는 없습니다. OpenSSL을 같이 나머지 원치 않는 암호 알고리즘을 식별 :JSSE에서 비 DHE 및 ECDHE 암호 사용 안 함
java.security 파일에서AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
EDH-RSA-DES-CBC3-SHA
DES-CBC3-SHA
, 나는 다양 AES, AES128, 없음, EDH 및 DES에 대한 필터를 추가, 아직 시도했습니다 이러한 알고리즘은 여전히 활성화 나타날 때 서버에 요청하십시오. 또한 legacyAlgorithms 뒤에 항목을 제거하려고 시도했습니다. 누구든지 필터 값이 이들을 제거합니다 알고 있습니까?
java.security 조각 :
jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
jdk.tls.disabledAlgorithms=SSLv3, RC4, SSLv2Hello, TLSv1, TLSv1.1
jdk.tls.legacyAlgorithms= \
K_NULL, C_NULL, M_NULL, \
DHE_DSS_EXPORT, DHE_RSA_EXPORT, DH_anon_EXPORT, DH_DSS_EXPORT, \
DH_RSA_EXPORT, RSA_EXPORT, \
DH_anon, ECDH_anon, \
RC4_128, RC4_40, DES_CBC, DES40_CBC
java.policy 파일 표시 – JJF
"클라이언트 요청이 선호 암호를 지정하지 못하면 Diffie-Hellman 암호가 서버에서 선호됩니다."실제로 의미가 없습니다. 적어도 나에게. 클라이언트 안녕하세요는 항상 암호 목록을 기본 설정 순서로 포함합니다. –
James, 저는 SSL 전문가가 아닙니다. 나는 네가 옳았다 고 믿는다. 나는 언젠가 내가 잘못 읽은 것에 대해 생각해 왔을 것이다. 어쨌든 여기에서 암호 순서 환경 설정에 대한 토론을 참조하십시오. http : //security.stackexchange.com/questions/121608/is-the-order-of-cipher-suites-related-to-the-clients-preferences 또는 http : //www.exploresecurity.com/testing-for-cipher-suite-preference/ 서버에는 클라이언트 기본 설정 순서를 무시할 수있는 기능이 있습니다. Winstone이 나에게 그 옵션을주지 않기 때문에 목록에 ECDHE 및 DHE 알고리즘 만 포함 시키길 원합니다. –