미니옵빠의 code stubs

Apache 2.4 SSL 인증서 DH Parameter 이슈 본문

Server/Apache

Apache 2.4 SSL 인증서 DH Parameter 이슈

미니옵빠 2017. 3. 20. 11:53

Apache 2.4 + SSL을 사용할 때, Java Client에서 요청 시


javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair

java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024


또는


ProtocolException


등이 뜰 경우 (두번째 Exception은 사실 상세 로그없이 Exception만 덜렁 찍은 거긴 하지만) 

Custom DH parameter 를 추가해서 해결할 수 있다.



1. custom DH parameter 생성


openssl dhparam 1024


그러면 아래와 같이 값이 나옴. 아래 내용을 전체 복사


-----BEGIN DH PARAMETERS-----

XXXXXX

-----END DH PARAMETERS-----


2.  SSLCertificateFile 에 설정된 .pem 파일 하단에 복사한 내용 추가. 아래와 같은 모습


-----BEGIN CERTIFICATE-----

YYYYYY

-----END CERTIFICATE-----

-----BEGIN DH PARAMETERS-----

XXXXXX

-----END DH PARAMETERS-----


3. Apache restart. 완료



Java 7 이하 버전에서 DH prime size를 최대 1024 bits 까지로 제한하기 때문이라고 함.


참고: http://httpd.apache.org/docs/current/ssl/ssl_faq.html#javadh