레일 응용 프로그램을 https : //로 변환하려고합니다. 테스트 목적으로 openssl을 사용하여 자체 서명 된 인증서를 만들었습니다. 나는 웹 서버로 nginx를 사용하고있다. 그런 다음이 인증서를 사용하여 nginx를 구성했습니다.자체 서명 된 인증서 체인을 사용하여 체인 된 인증서를 만들 수있는 방법
하지만 HTTPS를 보여줍니다 응용 프로그램을하면서 :이 웹 페이지 https://myapp.com가 크롬에 너무 많은 리디렉션을 초래하고 다른 브라우저도 리디렉션 보이고있다 // 주소 이전 만이 웹 페이지에 리디렉션 순환 오류가 있습니다 로 결과를 나타내는 문제.
너무 많은 연구 끝에이 문제를 해결하기 위해 체인화 된 인증서를 사용해야하는 것과 같은 단서를 발견했습니다. 그런 다음 인증서 체인을 만들려고했습니다. 제가 사용한 방법은 아래에 설명되어 있습니다.
openssl req -new -newkey rsa:1024 -nodes -out ca.csr -keyout ca.key
openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem
나는 그런 다음 필요에 따라, openssl.conf을 편집하고 두 개의 새로운 디렉토리를 생성
/etc/ssl/private
에 /etc/ssl/certs
및 ca.key에 ca.pem 복사 CA 및 newcerts 내부 /etc/ssl.
다음 명령을 실행하여 새 직렬 및 데이터베이스 파일을 제공하십시오.
sudo sh -c "echo '01' > /etc/ssl/CA/serial"
sudo touch /etc/ssl/CA/index.txt
다음 명령을 실행하여 클라이언트 인증서를 만들었습니다. 이 인증서는
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
는
그런 다음 나는 두 번째 cerificate에서 3 cerificate가 client.cer을 의미 만든 것이 아닌 사용 ca.pem에서 다음을 따라 ca.pem에 따라 달라집니다 명령. > client.pem - -> client1.pem
어떻게
# Create a certificate request
openssl req -new -keyout client1.key -out client1.request -days 365
# Create and sign the certificate
openssl ca -policy policy_anything -keyfile client.key -cert client.pem -out client1.pem -infiles client1.request
및
내가ca.pem 같은 인증서 체인을
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
이제 openssl.conf 옵션을 변경 이 3 개의 인증서를 묶어 체인 된 인증서를 올바르게 만들 수 있습니까? 나만의 방식으로 시도했지만 동일한 오류가 발생합니다.
누구든지 문제를 해결할 수 있도록 도와주십시오. 지난 1 주 동안 문제를 해결하고 있습니다.
감사 감사
내가 알고있는 것처럼, 당신은하고 싶은 중 세 또는 ca.pem 및 client.pem을 포함하는 ASN.1의 덩어리를 포함하는 하나의 ASN.1의 블롭 (나는에 intermediary.pem를 호출 것 명확하게!!!) – mcr