경고: 지정된 암호 중 SSL 엔진이 지원하는 암호가 없습니다.

경고: 지정된 암호 중 SSL 엔진이 지원하는 암호가 없습니다.

Apache Tomcat 7다음 커넥터 요소를 사용하여 실행되는 작동 중인 웹 서비스가 있습니다 server.xml.

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" 
 SSLEnabled="true" 
 maxThreads="150"
 scheme="https" 
 secure="true" 
 clientAuth="false"  
 keystoreFile="C:\Java\myhost.keystore" 
 keystorePass="importkey" 
 sslProtocol="TLS"
/>

이것은 몇 년 동안 잘 작동했지만 이제 새로운 Logjam보안 위협이 나타났습니다. 저는 다음을 사용하여 웹 서비스를 보호하려고 합니다.TLS용 Diffie-Hellman 배포 가이드지침.

그래서 요소에 다음 줄을 추가했습니다 <connector>.

ciphers="ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-GCM-SHA384, DHE-RSA-AES128-GCM -SHA256, DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE -RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA, ECDHE-ECDSA-AES256-SHA, DHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA, DHE-DSS -AES128-SHA256, DHE-RSA-AES256-SHA256, DHE-DSS-AES256-SHA, DHE-RSA-AES256-SHA, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, AES128 -SHA, AES256-SHA, AES, 동백, DES-CBC3-SHA"

Tomcat은 정상적으로 다시 시작되지만 더 이상 웹 서비스에 연결할 수 없습니다.

로그를 조사한 결과 다음 줄을 발견했습니다.

경고: 지정된 암호는 SSL 엔진에서 지원되지 않습니다: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256- GCM-SHA384, DHE-RSA-AES128-GCM-SHA256, DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128- SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA, ECDHE-ECDSA-AES256-SHA, DHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA, DHE-DSS-AES128-SHA256, DHE-RSA-AES256-SHA256, DHE-DSS-AES256-SHA, DHE-RSA-AES256-SHA, AES128-GCM-SHA256, AES256-GCM- SHA384, AES128-SHA256, AES256-SHA256, AES128-SHA, AES256-SHA, AES, CAMELLIA, DES-CBC3-SHA

Tomcat이 이러한 암호만 사용하도록 하려고 할 때 내가 무엇을 놓치고 있습니까?

SSL 엔진에서 지원하도록 하려면 어떻게 해야 합니까?

답변1

설명대로여기다음과 같이 목록 을 설정해야 할 수도 있습니다 ciphers.

sslProtocols = "TLS"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_25‌​6_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"

첫 번째 부분인 ECDHE는 어떤 키 교환 알고리즘을 사용해야 하는지 지정합니다. [...]

다음은 인증 알고리즘인 RSA입니다. [...]

대량 암호인 AES128-GCM은 주요 암호화 알고리즘이며 모든 트래픽을 암호화하는 데 사용됩니다. [...]

마지막 부분인 SHA256은 사용 중인 메시지 다이제스트를 식별하여 메시지의 신뢰성을 확인합니다.

관련 정보