
Windows XP는 가상 호스트에서 한 번도 사용된 적이 없음에도 불구하고 Ubuntu와 함께 제공되는 snakeoil 인증서를 계속 사용합니다.
인증서는 다음 위치에 있습니다.
/etc/ssl/certs/ssl-cert-snakeoil.pem
열쇠가 어디에 있는지 잘 모르겠습니다. 내가 보기에 그럴듯해 보이는 유일한 사람은
/etc/ssl/private/ssl-cert-snakeoil.key
CA 인증서가 다음 위치에 있는 것 같습니다.
/etc/ssl/certs/ca-certificates.crt
하지만 잘 모르겠습니다.
지금까지 나는 다음과 같은 다양한 openssl 명령을 시도했습니다.
openssl ca -keyfile /etc/ssl/private/ssl-cert-snakeoil.key \
-revoke /etc/ssl/certs/ssl-cert-snakeoil.pem \
-cert /etc/ssl/certs/ca-certificates.crt
그 결과는 다음과 같습니다.
Using configuration from /usr/lib/ssl/openssl.cnf
CA certificate and CA private key do not match
14805:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:406:
나는 아이디어가 부족합니다. 어떤 도움이라도 대단히 감사하겠습니다.
편집하다
일어난 일은 다음과 같습니다.
GeoTrust에서 인증서를 구입하여 설치하고 해당 인증서를 사용하여 새 가상 호스트를 활성화하고 apache2를 다시 시작했습니다. 이 서버의 수명 중 어느 시점에서도 snakeoil 인증서는 물론이고 웹 트래픽을 보호하기 위해 다른 인증서가 사용된 적이 없습니다. 제가 테스트한 Windows Vista 이상, OSX 및 모든 Linux 배포판은 올바른 인증서를 사용합니다. Windows XP는 snakeoil 인증서를 사용합니다(IE에서는 해당 VM에 다른 브라우저가 없음). 다음은 몇 가지 스크린샷입니다.
답변1
귀하가 제공한 추가 정보를 고려하면 다른 답변을 시작하는 것이 더 쉬울 것입니다.
더미 "snakeoil" 인증서가 Windows 클라이언트에 제공되는 것 같지 않습니다. "snakeoil" 인증서는 이라는 제목으로 생성되는 CN=Ubuntu
반면, Windows 상자에 표시되는 인증서는 CN=Production
. 그래서 우리는 여기서 세 번째 인증서를 보고 있습니다.
OpenSSL을 사용하여 서버에 연결하면 동일한 인증서를 볼 수 있습니다 s_client
.
$ openssl s_client -connect portal.avendimedia.com:443
...
Certificate chain
0 s:/CN=Production
i:/CN=Production
...
내가 믿는 것은 당신이 웹 서버를 사용하도록 구성했다는 것입니다.서버 이름 표시확대. 이 확장은 클라이언트가 연결하려는 호스트 이름에 따라 서버가 다른 인증서를 제공할 수 있도록 설계되었습니다.
이는 대부분의 최신 브라우저에서는 제대로 작동하지만 Vista 이전 Windows 버전의 Internet Explorer에서는 작동하지 않습니다. 현 시점에서 Microsoft가 SNI 확장을 지원하기 위해 Windows XP에서 SSL 라이브러리를 업데이트할 가능성은 거의 없어 보입니다.
사이트가 XP의 Internet Explorer에서 작동해야 하는 경우 Apache 구성에서 동일한 IP 주소에서 실행되는 다른 SSL 호스트에 대한 참조를 제거할 수 있는지 확인하십시오.
답변2
"snakeoil" 인증서는 ssl-cert
패키지가 설치될 때 자동으로 생성됩니다.
자체 서명된 인증서이므로 이를 취소하는 것은 의미가 없습니다. 하지만 새 것을 쉽게 생성할 수 있습니다.
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
변경 사항을 적용하려면 해당 인증서를 사용하는 서비스를 다시 시작해야 할 수도 있습니다.
Windows XP에서 인증서를 계속 사용한다는 것은 정확히 무엇을 의미합니까? 해당 컴퓨터의 웹 브라우저에 Ubuntu 시스템에서 생성된 특정 snakeoil 인증서를 신뢰하도록 지시한 경우 브라우저의 인증서 관리 인터페이스에서 해당 신뢰를 취소하는 것은 간단한 문제입니다.