아파치 2.4 자체 서명 인증서와 SSL 클라이언트 인증

최근 IP 네트워크와 도킹하여 타사 도킹, 피어 VPN 요구 사항을 회사의 프로젝트뿐만 아니라 서명 된 인증서 HTTPS를 취할 것은, 클라이언트는 방식 SSL 인증 및 권한 부여에 의해하도록 요청! !

자체 서명 인증서

RSA 키 openssl 명령에 의해 생성 한 다음이 키 자체 서명 된 인증서를 사용할 수 있습니다.
자체 서명 인증서와 CA 서명 인증서의 주요 차이점은, 신뢰할 수있는 인증서를 설치하는 클라이언트 필요, 그렇지 않으면 브라우저가 여전히 보안 HTTPS를보고 설치 자체 서명 인증서입니다. 12306 인증서는 자체 서명해야한다, 그래서 집에가 为保障您顺畅购票,请下载安装根证书팁.
주 : 자체 서명 된 인증서를 생성 크롬 58 이후에보고 된 것입니다 err_cert_common_name_invalid및 해결하기 위해 온라인으로 말하자면 구성하려면 openssl 주제 대체 이름이 수와 같은 안전하지 식별 될 검증
https://github.com/webpack/webpack-dev-server/ 문제 / 854

인증서 형식

SSL 인증서는 다양한 형식이있다 :

  1. 에는 OpenSSL 라이브러리에서 제공 한 암호를 사용하는 등 아파치, Nginx에는, 인증서 파일을 PEM, 키, CRT 다른 형식을 생성합니다.
  2. 자바 라이브러리에서 제공 한 암호를 사용하는 등 톰캣, 웹 로직, 제이보스,. Keytool을 자바 도구로 인증서 파일 자바 키 저장소 (JKS) 형식을 생성합니다.
    일반적인 인증서 형식 정보 :
  • *.der, *.cer, *.crt이진 형식의 인증서 만 공개 키에 저장된 개인 키가 포함되어 있지 않습니다.
  • *.csr 인증서 요청은 CA가 서명 공식 인증서를 발급하는 데 필요합니다.
  • *.pem일반 텍스트 형식으로, 당신은 인증서 또는 개인 키를 넣을 수 있습니다, 또는 둘 다 포함되어 있습니다. * .PEM 경우에만 일반적으로 * .KEY로 대체, 개인 키가 포함되어 있습니다.
  • *.pfx, *.p12그것은 바이너리 형식이지만, 인증서 및 개인 키를 사용하여, 일반적으로 암호로 보호.

자체 서명 된 인증서를 생성합니다

  1. 키 생성 RAS :은 server.key
    주 :이 명령은 개인 키의 인증서를 생성은 안전한 장소에 보관해야합니다

$하려면 openssl genrsa -out은 server.key 2048

당신이 추가하면 -des3매개 변수를, 암호를 입력해야합니다, 인증서 암호를 입력하는 아파치 미래의 시작 시간을로드.

$하려면 openssl genrsa -des3 -out은 server.key 2048

다음 명령을 볼 수 있습니다

하려면 openssl RSA -noout -text -in은 server.key

  1. 자체 서명 된 인증서를 생성하려면 다음 명령을 실행는 server.crt를

OpenSSL을 REQ 신규 -x509 -nodes -sha1 -days 365 -key은 server.key -out는 server.crt -Extensions usr_cert

-days인증서는 여러 해 동안 예를 들어, 1825 식별 5 년의 기간이 될 수 일 수 유효

위의 명령의 구현은 직접 브라우저에서 볼 수 있습니다 생성 된 최종 인증서에 나타납니다 다음과 같은 정보를 요청합니다.
참고 : Comman Name당신은 도메인 이름에 실시간 접근과 일치해야합니다

국가 이름 (2 문자 코드) [AU] : CN
주 또는 지방 이름 (전체 이름) 일부-주] : 북한
소재지 이름 (예를 들어, 도시) [] : 도시
조직 이름 (예를 들어, 기업) 인터넷 Widgits Pty 주식 회사 ] : 테스트 회사
조직 단위 이름 (예를 들어, 부분) [] :
일반 이름 (예를 들어, 서버 FQDN 또는 이름) [] : test.com
이메일 주소 [] : [email protected]

  1. 아파치 설정
    하면 아파치 가상 호스트 구성에서 다음과 같은 구성을 추가해야

SSLCertificateFile "/path/to/this/server.crt"
SSLCertificateKeyFile "/path/to/this/server.key"

구성 이후에 수행 될 수있는 sudo apachectl configtest구성을 확인.
를 통해 sudo httpd -S가상 호스트 정보 아파치를 확인합니다.

SSL 클라이언트 인증 및 권한 부여

우리는 일반적으로 인증서는 일반적으로 서버 인증 단방향 인증입니다으로 https. 클라이언트 인증 만 인증 클라이언트가 아파치에서 특정 리소스에 액세스 할 수있는 클라이언트 인증을위한 기능을 제공 할 수 있습니다.
: 가상 호스트 아파치와 같은 구성 정보
참고 : 여기에있어 SSLCACertificateFile 루트 인증서가 클라이언트를 구성 할 수 있습니다

있어 SSLCACertificateFile "/etc/pki/tls/cert/root.crt"
SSLVerifyClient는이 요구
SSLVerifyDepth (10)



저자 : Tsun424의
링크 : HTTPS : //www.jianshu.com/p/9c861b85c75a의
출처 : 제인 책은
저자에 의해 저작권이 있습니다. 상업 무단 전재 공인 저자에 문의하시기 바랍니다, 소스가 표시 비상업적 무단 전재하시기 바랍니다.

추천

출처www.cnblogs.com/surplus/p/12235298.html