[unix] curl에 wget과 같은 –no-check-certificate 옵션이 있습니까?

자체 서명 된 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보안 검사를 그대로 두는 것 입니다.


답변