~에서https://curl.haxx.se/docs/httpscripting.html
HTTPS 세계에서는 일반 비밀번호 외에 인증서를 사용하여 본인이 누구인지 확인할 수 있습니다. Curl은 클라이언트 인증서를 지원합니다. 모든 인증서는 컬이 인증서를 사용하기 전에 입력해야 하는 암호로 잠겨 있습니다. 암호는 명령줄에서 지정할 수 있으며, 지정하지 않은 경우 컬을 사용하여 쿼리할 때 대화형으로 입력됩니다. HTTPS 서버에서 컬이 포함된 인증서를 사용하세요. 예를 들면 다음과 같습니다.
curl --cert mycert.pem https://secure.example.com
또한 컬은 로컬에 저장된 CA 인증서 번들에 대해 서버 인증서의 유효성을 검사하여 서버가 자신이 주장하는 사람인지 확인하려고 시도합니다. 인증에 실패하면 컬이 연결을 거부하게 됩니다. 그런 다음 인증할 수 없는 서버를 무시하도록 컬에 지시하려면 --insecure(-k)를 사용해야 합니다. 서버 인증서 확인 및 CA 인증서 번들에 대한 자세한 내용은 SSLCERTS 설명서를 참조하세요. SSLCERTS 설명서는 다음 위치에서 온라인으로 제공됩니다. https://curl.haxx.se/docs/sslcerts.html
때로는 자체 CA 인증서 저장소를 얻은 다음 서버 인증서를 확인하는 데 이를 사용하도록 컬에 지시할 수 있습니다.
curl --cacert ca-bundle.pem https://example.com/
HTTP 요청 및 응답 헤더의 목적 curl --cert
과 읽기 및 쓰기는 무엇입니까 curl --cacert
?
감사해요.
답변1
TLS는독립적인HTTP. 다른 프로토콜은 TLS를 통해 전달될 수 있습니다(예: LDAP, SMTP, NNTP...). 기본적으로 TLS는 데이터 채널에 "낮은 수준의 암호화"를 적용한 다음 이를 통해 무엇이든 전달할 수 있습니다.
HTTPS의 경우 HTTP 트래픽은 TLS를 통해 이루어집니다. TLS 계층(TLS 버전, 암호 협상, 인증서 확인, SNI)에서 발생하는 작업은 HTTP에 비해 "낮은 수준"입니다.보이지 않는HTTP 계층에.
curl
사용법을 알려주고 프로그램에 다음을 보내라고 지시합니다 --cacert
.--cert
고객인증서는 서버로 전송되어 TLS 계층에서 처리되며 HTTP 계층에는 표시되지 않습니다. 네트워크 서버가능한클라이언트의 CN을 CGI 프로그램에 노출하거나 인증 모듈에 노출합니다. 단, 이는 HTTP 요청 외부에서 수행됩니다.