왜 컬 인증서 고정 테스트가 sha1 다이제스트를 사용하여 작동하지 않습니까?


0

인증서 고정 테스트에서 sha1 다이제스트를 사용하는 데 문제가 있습니다. sha256을 사용하면 정상적으로 작동하지만 sha1을 사용하면 작동하지 않습니다. 왜?

컬 버전 :
 
src ./curl -V
curl 7.55.1 (x86_64-apple-darwin16.0.0) libcurl / 7.55.1 SecureTransport zlib / 1.2.8
출시 날짜 : 2017-08-14
프로토콜 : dict 파일 ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
특징 : AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets

sha256을 사용한 테스트 1   ➜ src openssl s_client -connect uol.com.br:443 | openssl x509 -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst sha256-이진 | openssl enc -base64 깊이 = 2 / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA 인증서 체인의 오류 : num = 19 : 자체 서명 된 인증서 확인 반품 확인 : 0 RSA 키 작성 d9W9zyq64Gw8JEA / siAixfvoRRwZVpSgbYJV // 0CeKM =

src ./curl --head --verbose --pinnedpubkey "sha256 // d9W9zyq64Gw8JEA / siAixfvoRRwZVpSgbYJV // 0CeKM =" https://uol.com.br * 200.147.67.142 시도 중 ... * TCP_NODELAY 설정 * uol.com.br (200.147.67.142) 포트 443 (# 0)에 연결 * 공개 키 해시 : sha256 // d9W9zyq64Gw8JEA / siAixfvoRRwZVpSgbYJV // 0CeKM = * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256을 사용한 TLS 1.2 연결 * 서버 인증서 : www.uol.com.br * 서버 인증서 : RapidSSL SHA256 CA * 서버 인증서 : GeoTrust Global CA > 헤드 /HTTP/1.1 > 호스트 : uol.com.br > 사용자 에이전트 : curl / 7.55.1 > 수락 : / > <HTTP / 1.1 302 발견 HTTP / 1.1 302 발견 <날짜 : 2017 년 9 월 29 일 금요일 19:32:18 GMT 날짜 : 2017 년 9 월 29 일 금요일 19:32:18 GMT <서버 : Apache 서버 : Apache <연결 : 닫기 연결 : 닫기 <내용 유형 : text / html; 문자셋 = iso-8859-1 내용 유형 : text / html; 문자셋 = iso-8859-1   < * 결산 연결 0

sha1을 사용한 테스트 2   ➜ src openssl s_client -connect uol.com.br:443 | openssl x509 -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha1-이진 | openssl enc -base64 깊이 = 2 / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA 인증서 체인의 오류 : num = 19 : 자체 서명 된 인증서 확인 반품 확인 : 0 RSA 키 작성 BQr5oEtKUmTzlcelRcWvGvMnQzk =

src ./curl --head --verbose --pinnedpubkey "sha1 // BQr5oEtKUmTzlcelRcWvGvMnQzk =" https://uol.com.br * 200.221.2.45 시도 중 ... * TCP_NODELAY 설정 * uol.com.br (200.221.2.45) 포트 443 (# 0)에 연결 * SSL : 공개 키가 고정 된 공개 키와 일치하지 않습니다! * 결산 연결 0 curl : (90) SSL : 공개 키가 고정 된 공개 키와 일치하지 않습니다!

답변:


0

curlSHA256 해시 만 확인 하기 때문입니다. SHA1 해시가 아닙니다.

매뉴얼 페이지에서 :

--pinnedpubkey <고정 공개 키 (해시)>

          (SSL) Tells curl to  use  the  specified  public  key  file  (or
          hashes)  to  verify the peer. This can be a path to a file which
          contains a single public key in PEM or DER format, or any number
          of base64 encoded sha256 hashes preceded by ´sha256//´ and sepa‐
          rated by ´;´
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.