두 개의 서버가 배포되어 있으며 호스트별 인증서를 제외하고 모든 것이 동일합니다. 두 서버 모두 호스트별 인증서, 내부 인증서 및 루트 인증서를 가져온 자체 Java 키 저장소(jks)를 가지고 있습니다.
호스트별 인증서는 호스트 1과 호스트 2가 루트까지 동일한 신뢰 체인을 갖지만 호스트 2에서는 루트까지 모든 인증서의 유효성이 더 길다는 것을 의미합니다. 새 인증서를 얻으려면 시간이 많이 소요되는 프로세스이므로 작업을 수행하기 위해 server-2에서 jks를 복사하여 이를 host-1로 교체하고 jks에서 host-2와 관련된 인증서/별칭을 제거한 다음 같은 jks. 이제 웹 애플리케이션을 시작하려고 합니다. 녹색으로 시작됩니다. (이전 애플리케이션은 만료된 체인을 사용하지 않았습니다). 하지만 REST API에 액세스하려고 하면 다음 오류가 발생합니다.
2016-08-02 15:29:23,969 DEBUG nio.ssl (SslConnection.java:wrap(475)) - SCEP@fe16e5{l(/IP1:35840)<->r(/IP2:8444),s=1,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{SslConnection@4ddce8ac SSL NEED_WRAP i/o/u=0/0/0 ishut=false oshut=false {AsyncHttpConnection@20993ce7,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-14,l=0,c=0},r=0}}
javax.net.ssl.SSLHandshakeException: no cipher suites in common
at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1431)
at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535)
at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1214)
at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1186)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)
이것은 jks에서 호스트별 인증서를 가져오는 데 사용하는 명령입니다. 아래의 모든 방법을 시도했지만 동일한 오류가 발생합니다.
keytool -import -alias gateway-identity -keyalg RSA -keystore gateway.jks -trustcacerts -file /etc/pki/tls/certs/Prod-A-HostFQDN.cer -storepass JKSP@ssword
keytool -import -alias gateway-identity -keyalg RSA -keystore gateway.jks -file /etc/pki/tls/certs/Prod-A-HostFQDN.cer -storepass JKSP@ssword
keytool -import -alias gateway-identity -keystore gateway.jks -file /etc/pki/tls/certs/Prod-A-HostFQDN.cer -storepass JKSP@ssword
문제가 무엇인지, 해결 방법을 알려줄 수 있는 사람이 있나요?
일본뇌염