본문으로 건너뛰기

중국 상용 암호(SM) 인증서 구성 후 Nginx 시작 시 SSL_CTX_use_certificate failed 오류가 발생하는 경우 해결 방법은 무엇인가요?

오류 원인

현재 미들웨어 하단의 OpenSSL 라이브러리가 중국 상용 암호 알고리즘(SM2/SM3/SM4)을 지원하지 않기 때문입니다.

표준 OpenSSL은 중국 상용 암호(SM) 인증서 형식을 인식하지 못해 인증서 로딩에 실패합니다.

해결 방안

중국 상용 암호(SM) 버전 OpenSSL(GmSSL, 동쑤오/Tongsuo 등 중국 상용 암호 알고리즘을 지원하는 OpenSSL 브랜치)을 컴파일하여 설치한 뒤, 해당 버전으로 Nginx를 다시 컴파일하여 중국 상용 암호(SM) 인증서 로딩을 지원하도록 해야 합니다.

작업 절차(간략):

  1. 중국 상용 암호(SM) 버전 OpenSSL을 다운로드하여 컴파일합니다(권장: 동쑤오 Tongsuo)
  2. 중국 상용 암호(SM) 버전 OpenSSL로 Nginx를 다시 컴파일합니다(--with-openssl=...가 중국 상용 암호(SM) 버전을 가리키도록 지정)
  3. Nginx 이중 인증서(중국 상용 암호(SM) 인증서 + RSA 인증서)를 구성하여 모든 시나리오에서 호환되도록 합니다