도미노에서 TLS 암호화 방식을 누락 :SSLHandshakeException이 때문에 내가 TLSv1의 및 최신 (NO은 SSLv3를) 만 허용 다른 서버에 대한 HTTPS 연결을 열려고하면 다음과 같은 예외가 발생 내 XPages 응용 프로그램에서 JVM
javax.net.ssl.SSLHandshakeException: No appropriate protocol
설정 javax.net.debug=ssl:handshake
이 추가 정보를 제공합니다 :
SSLContextImpl: Using X509ExtendedKeyManager com.ibm.jsse2.hd
SSLContextImpl: Using X509TrustManager com.ibm.jsse2.pc
IBMJSSE2 will ignore com.ibm.jsse2.overrideDefaultProtocol since was set to a non recognized value TLSv1
Installed Providers = IBMJSSE2, IBMJCE, IBMJGSSProvider, IBMCertPath, IBMSASL, IBMXMLCRYPTO, IBMXMLEnc, Policy, IBMSPNEGO
JsseJCE: Using SecureRandom IBMSecureRandom from provider IBMJCE version 1.2
trigger seeding of SecureRandom
done seeding SecureRandom
IBMJSSE2 will enable CBC protection
IBMJSSE2 to send SCSV Cipher Suite on initial ClientHello
JsseJCE: Using SecureRandom IBMSecureRandom from provider IBMJCE version 1.2
IBMJSSE2 will allow RFC 5746 renegotiation per com.ibm.jsse2.renegotiate set to none or default
IBMJSSE2 will not require renegotiation indicator during initial handshake per com.ibm.jsse2.renegotiation.indicator set to OPTIONAL or default taken
IBMJSSE2 will not perform identity checking against the peer cert check during renegotiation per com.ibm.jsse2.renegotiation.peer.cert.check set to OFF or default
IBMJSSE2 will not allow unsafe server certificate change during renegotiation per jdk.tls.allowUnsafeServerCertChange set to FALSE or default
Is initial handshake: true
JsseJCE: Using KeyAgreement ECDH from provider IBMJCE version 1.2
JsseJCE: Using signature SHA1withECDSA from provider TBD via init
JsseJCE: Using signature NONEwithECDSA from provider TBD via init
JsseJCE: Using KeyFactory EC from provider IBMJCE version 1.2
JsseJCE: Using KeyPairGenerator EC from provider TBD via init
JsseJce: EC is available
Ignoring disabled cipher suite: SSL_RENEGO_PROTECTION_REQUEST for TLSv1
No available cipher suite for TLSv1
Thread-8, handling exception: javax.net.ssl.SSLHandshakeException: No appropriate protocol
Thread-8, SEND TLSv1 ALERT: fatal,
description = handshake_failure
가장 큰 문제는 "TLSv1의에 대한 없음 가능한 암호화 제품군"없을 것으로 보인다. SSL 서버 소켓 팩토리 (SSLServerSocketFactory.getDefault()
)에서 기본 지원되는 암호 스위트 (getDefaultCipherSuites()
/getSupportedCipherSuites()
)를 얻기
는 SSL 암호 스위트가 Domino JVM에서 사용할 수있는 것을 알 수 있지만, 아무도 TLS를위한.
HTTPS 연결을 설정하는 데 사용하는 코드는 TLS 암호 그룹을 사용하는 비 Domino JVM에서 올바르게 작동합니다.
누구든지 Domino JVM에서 TLS 암호 스위트를 사용하는 방법을 알려줄 수 있습니까? 다른 문제가 있고 디버그 정보를 잘못 해석하면 일반적으로 도움이됩니까?
추가 정보 :
도미노 버전 : 9.0.1 FP7
자바 런타임 버전 : pwa6460sr16fp30-20160726_01 (SR16 FP30)
JVM 버전 : JRE 1.6.0 IBM J9 2.4 Windows 7 amd64-64 jvmwa6460sr16f 20160725_312906 JIT - - r9_20160725_121766 GC - GA24_Java6_SR16_20160725_1417_B312906
무제한 JCE 정책 파일이 도미노 JVM에 설치되어
p30-20160725_312906는 j9vm 디렉토리 (JIT 활성화, AOT는 가능)합니다.
TLSv1은 암호 모음이 아닌 프로토콜입니다. – EJP
@EJP : 알아,하지만 다른 프로토콜을위한 다른 암호 스위트가있다. 필자의 경우에는 TLSv1에 사용할 수있는 암호 스위트가 없습니다. –
Domino JVM 버전이 1.6 인 경우 필요한 TLS 버전의 JVM 버전에서 사용할 수있는 지원이 없다고 생각합니다. IBM은 JVM을 업그레이드하겠다고 약속했습니다. 최신 제공 약속은 2017 년 1 분기입니다. 그동안 해결 방법이 최선이라고 생각합니다. https://www-10.lotus.com/ldd/dominowiki.nsf/dx/TLS_1.2 및 http://www-01.ibm.com/이 기사를 살펴보십시오. support/docview.wss? uid = swg21985289 – jpishko