질문:
SSL 연결을 설정할 수 없습니다. SSLServerSocket. 가능한 모든 암호화 제품군 및 프로토콜을 활성화했음에도 불구하고 "공통 암호화 제품군 없음"이라는 SSLHandshakeException이 발생합니다.
답변:
문제는 SSLContext. null KeyManager 배열을 제공하면 RSA 또는 DSA 인증서가 없는 빈 KeyManager가 생성됩니다. 이로 인해 이러한 인증서에 의존하는 기본 암호화 제품군을 사용할 수 없게 되어 궁극적으로 오류가 발생합니다. 이 문제를 해결하려면:
KeyStore ks = KeyStore.getInstance("JKS"); InputStream ksIs = new FileInputStream("..."); ks.load(ksIs, "password".toCharArray());
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); kmf.init(ks, "keypassword".toCharArray());
SSLContext sc = SSLContext.getInstance("TLSv1.2"); sc.init(kmf.getKeyManagers(), null, new SecureRandom());
위 내용은 SSLServerSocket을 사용할 때 \'SSLHandshakeException: no cipher suites in common\'이 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!