키체인 액세스로 자체 인증서를 만들고 로컬 SSL 서버를 시작합니다.

Safari에서 WebRTC 할 때 HTTPS 통신이 아니면 getUserMedia가 허용되지 않았기 때문에 스스로 인증서를 만들어 로컬 SSL 서버를 시작했습니다.

키체인 액세스로 서버 인증서 만들기



키체인 액세스 메뉴 바에서
키체인 액세스>>인증서 도우미>>인증서 작성을 클릭합니다.
첫 번째 창에서 인증서 유형을 SSLサーバ 에 기본값 사용 안 함을 선택하고 "계속"을 클릭하십시오.

다음 화면에서 シリアル番号다음은 인증서에 기재된 개인 정보를 입력합니다. 이번에는 개인 증명서를 만들기 때문에 적당히 항목을 채워 다음으로 진행합니다.


다음 화면에서는 만들 키의 크기와 암호화 알고리즘을 선택합니다. 이 작업은 기본값으로 계속됩니다.
다음의 "키 용도 확장 영역"의 설정에서는, 有効期間署名 에 체크를 넣고 다음으로 진행합니다.

다음의 "확장 키 용도 확장 영역"의 설정은 鍵の暗号化 에 체크를 넣고 다음으로 진행합니다.
다음 "기본 제약 확장 영역"에서는 체크하지 않고 그대로 다음으로 진행합니다.

다음 "주제 대체 이름 확장 영역"설정에서 SSLサーバ認証dNSName , localhost 에 루프백 주소 iPAdress

마지막으로 인증서를 저장할 위치를 결정하는 화면으로 들어갑니다. 이것은 기본 127.0.0.1 그대로 "만들기"를 클릭합니다.
이제 인증서와 개인 키가 생성되었습니다. [분류]>>[모든 항목]에서 자신이 작성한 증명서와 비밀키를 확인할 수 있으면 OK입니다.

신뢰할 수 있는 인증서로 설정



만든 인증서를 마우스 오른쪽 단추로 클릭하고 정보 보기를 클릭합니다. "트러스트"를 열고 "이 인증서를 사용할 때"를 ログイン로 설정합니다. 이제 브라우저가 이 인증서를 신뢰할 수 있다고 판단합니다.


인증서와 개인 키를 내보내기



인증서를 마우스 오른쪽 버튼으로 클릭 >> 내보내기
확장자는 .cer에서 OK입니다.
개인 키를 마우스 오른쪽 버튼으로 클릭 >> 내보내기
확장자는 .p12입니다.
내보낼 때 입력하는 암호는 다음 단계에서 사용하므로 기억하십시오.
필자는 常に信頼local-server.cer라는 파일을 홈 디렉토리로 내보냈습니다.

인증서 및 키 파일 형식 변경



Apache에서 사용할 수 있는 형식으로 변경합니다.
먼저 인증서 파일의 인코딩 형식을 DER에서 PEM으로 변경합니다. 확장자를 local-server.p12 에서 .cer 로 바꾸고 있지만 내용이 바뀌는 것은 아니므로 어느 쪽이든 괜찮습니다..crt$ cd ~그런 다음 .p12 확장자 파일에서 개인 키만 검색하는 명령을 실행합니다.$ openssl x509 -in local-server.cer -inform DER -out local-server.crt -outform PEM$ openssl pkcs12 -in local-server.p12 -nocerts -nodes -out local-server.key 옵션은 증명서를 꺼내지 않기 위해서 붙여, -nocerts 옵션은 패스 프레이즈를 붙이지 않기 위해서 붙입니다. 개발용이므로 패스 프레이즈는 붙이지 않습니다. 실행할 때 개인 키를 내보낼 때 입력한 암호를 듣기 때문에 입력합니다.

Apache 구성 파일 편집


$ sudo vi /private/etc/apache2/httpd.conf

다음과 같이 주석 처리를 제거합니다.
#LoadModule ssl_module libexec/apache2/mod_ssl.so
↓
LoadModule ssl_module libexec/apache2/mod_ssl.so

#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
↓
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so

# Secure (SSL/TLS) connections
#Include /private/etc/apache2/extra/httpd-ssl.conf
↓
Include /private/etc/apache2/extra/httpd-ssl.conf

그런 다음 httpd-ssl.conf를 편집합니다.-nodesSSLCertificateFile 에 앞서 만든 인증서와 키의 전체 경로를 입력합니다.
$ sudo vi /private/etc/apache2/extra/httpd-ssl.conf
SSLCertificateFile "/Users/ユーザー名/local-server.crt"
#SSLCertificateFile "/private/etc/apache2/server.crt"

SSLCertificateKeyFile "/Users/ユーザー名/local-server.key"
#SSLCertificateKeyFile "/private/etc/apache2/server.key"

Apache 시작



apachectl 명령으로 Apache를 시작합니다.
$ sudo apachectl start
SSLCertificateKeyFile 로 이동합니다.
이해하기 쉽기 때문에 Chrome에서 볼 수 있습니다.

이렇게 나오면 성공입니다!

좋은 웹페이지 즐겨찾기