자체 서명 된 SSL 인증서로 개발 사이트를 실행하는 로컬 개발 서버 중 하나에 컬 요청을하려고합니다. 커맨드 라인에서 curl을 사용하고 있습니다.
등 – 좀 블로그 게시물은 인증서 목록에 추가하거나 (자체 서명) 유효로 인증서를 특정을 지정하지만, SSL 용 인증서 “를 확인하지”말의 포괄 방법이 할 수있는 언급했다 --no-check-certificate
그 wget이 있습니까?
답변
예. 로부터 맨 :
-k,-안전하지 않은
(TLS) 기본적으로 모든 SSL 연결 컬은 안전한 것으로 확인됩니다. 이 옵션을 사용하면 불안정한 것으로 간주되는 서버 연결에서도 curl이 진행되고 작동 할 수 있습니다.
서버 인증서는 서버 인증서에 올바른 이름이 포함되어 있는지 확인하고 인증서 저장소를 사용하여 성공적으로 확인합니다.
자세한 내용은이 온라인 리소스를 참조하십시오 :
https://curl.haxx.se/docs/sslcerts.html–proxy-unsecure 및 –cacert도 참조하십시오.
참조 맨 페이지 항목에 언급은 특정 행동에 대해 설명합니다 -k
.
이러한 동작은 BadSSL.com의curl
페이지 테스트 요청에서 확인할 수 있습니다.
curl -X GET https://wrong.host.badssl.com/
curl: (51) SSL: no alternative certificate subject name matches target host name 'wrong.host.badssl.com'
curl -k -X GET https://wrong.host.badssl.com/
..returns HTML content...
답변
다음 명령을 사용하여 모든 연결에 대한 변경 사항을 적용 할 수 있습니다.
$ echo insecure >> ~/.curlrc
Windows에서 단지 만들 _curlrc
당신의 거기에 ‘불안’텍스트와 텍스트 파일 %HOME%
, %CURL_HOME%
, %APPDATA%
, %USERPROFILE%
또는 %USERPROFILE%\Application Data
디렉터리를.
위의 솔루션을 사용하면 모든 curl
명령에서 작동한다는 장점이 있지만 안전하지 않은 호스트와 신뢰할 수없는 호스트에 연결하여 MITM 공격 이 발생할 수 있으므로 권장되지 않습니다 .
답변
자체 서명 된 인증서를 사용하고 있습니다. 신뢰할 수있는 CA 번들 (Linux)에 CA를 추가하거나 신뢰할 수있는 인증서 저장소 (Windows)에 추가하지 않는 이유는 무엇입니까? 또는 --cacert /Path/to/file
신뢰할 수있는 자체 서명 인증서 파일의 내용과 함께 사용 하십시오.
다른 답변은 wget
비교할 수 있는 질문에 대한 답변 입니다. 그러나 진정한 질문은을 사용하여 자체 서명 된 인증서와의 신뢰할 수있는 연결을 유지하는 방법 curl
입니다. 많은 의견을 바탕으로 보안은 이러한 답변 중 하나의 최고 관심사이며, 가장 좋은 대답은 자체 서명 인증서를 신뢰하고 curl
보안 검사를 그대로 두는 것 입니다.