unable to verify the first certificate
이런 메시지를 만나면 ssl.ca-file에 chain.pem이 빠진 것은 아닌지 확인해보자
unable to verify the first certificate
이런 메시지를 만나면 ssl.ca-file에 chain.pem이 빠진 것은 아닌지 확인해보자
openssl req -new -newkey rsa:2048 -days 36500 -nodes -x509 -keyout bslinux.key -out bslinux.crt
req 자기 서명 인증서 만들기
-new 새로 만들기
-newkey 키도 새로 만들기
rsa:2048 RSA 알고리즘의 길이를 2048로
-days 36500 유효 기간은 36500일 (100년?)
-nodes 개인키 파일 암호화 하지 않기
-x509 X.509 표준 형식으로 만들기
-keyout bslinux.key 개인키를 bslinux.key 로 저장
-out bslinux.crt 인증서를 bslinux.crt 로 저장
추가 옵션 하나… 인증서의 subject 설정
-subj ‘/C=KR/ST=Seoul/CN=www.example.com’
인증서의 목적은 암호화와 사이트의 신뢰도 향상이다.
관련 법에 따라 의무적으로 사용해야 하는 경우가 있다. (개인 정보를 수집하는 사이트)
개인적인 블로그나 위키를 설치형으로 호스팅 하는 경우에도 사용하면 좋다.
만약 설치형에서 소프트웨어에서 SSL 인증서를 사용하지 않으면 패킷을 가로 챘을 때에 관리자의 비밀번호가 노출될 수 있다.
SSL 인증서의 두번째 목적인 사이트 신뢰도는
SSL 인증서 발급 기관이 해당 사이트가 짝퉁이 아님을 보장하는 것
만약 짝퉁인데 인증서가 먹힌 것으로 판단되게 되면 대부분의 유료 SSL 인증서는 계약 당시의 보험금으로 보상해 준다
[Let’s Encrypt]
위 사이트를 통해서 무료로 SSL 인증서를 발급 받을 수 있다.
물론 무료이기 때문에 뚫렸을 때에 보상금 같은 것은 없다.
암호화가 필요한데 “Self-signed SSL 인증서”를 사용하면 대부분의 웹브라우저나 모바일 기기에서 거부 당하므로 소규모 사이트라면 간단하게 사용하기에 좋다.
자신의 인증서에 대한 인증을 자신이 하는 경우를 말한다.
대부분의 웹브라우저에서 경고를 띄우고, 모바일 기기에서는 exception이 발생할 수도 있다.
개발용도나 백엔드끼리의 통신등에 주로 쓰인다.
생성 방법
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt
[/code]
SSL Chain File 만드는 방법
COMODO PositiveSSL 인증서를 방금 받았는데 이걸 기준으로 설명하면
BS의 인증서는 COMODORSADomainValidationSecureServerCA 인증서가 인증하고
COMODORSADomainValidationSecureServerCA 인증서는 COMODORSAAddTrustCA 인증서가 인증
COMODORSAAddTrustCA 인증서는 AddTrustExternalCARoot 인증서가 인증
BS의 인증서를 위한 체인 파일은 위 인증 과정에 따라
Linux 명령으로 아래처럼
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > some.ca-bundle
Windows에서는 copy 명령으로 + 를 사용해서
copy COMODORSADomainValidationSecureServerCA.crt + COMODORSAAddTrustCA.crt + AddTrustExternalCARoot.crt some.ca-bundle
이걸 아파치 설정에 SSLCertificateChainFile (또는 Apache 1.x에서는 SSLCACertificateFile)으로 설정하고 재시작하면… 끝