curl을 사용하여 인증서를 받고 사용하는 방법


14
  1. 다음 명령을 입력

    curl -k email@mail.com:password https://www.example.com 
    

    다음 오류를 반환합니다

     <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    <H1>301 Moved</H1>
    The document has moved
    <A HREF="http://mail.google.com/mail/">here</A>.
    </BODY></HTML>
    badauth
    
  2. cacert.crt여기 에서 파일을 다운로드 한 후

    http://www.cacert.org/index.php?id=3
    

    그런 다음 cacert.crt파일 이름 을cacert.pem

    그런 다음 시도했습니다.

    curl --cacert /path/to/cacert.pem email@mail.com:password https://www.example.com 
    

    그러나 같은 오류가 발생합니다.

  3. 그런 다음 시도하십시오.

    curl  https://www.example.com 
    

    이 오류가 발생합니다

    curl : (60) SSL 인증서 문제 : 로컬 발급자 인증서를 가져올 수 없습니다. 자세한 내용은 여기 : http://curl.haxx.se/docs/sslcerts.html

    curl은 기본적으로 "번들"의 인증 기관 (CA) 공개 키 (CA 인증서)를 사용하여 SSL 인증서 확인을 수행합니다. 기본 번들 파일이 충분하지 않은 경우 --cacert 옵션을 사용하여 대체 파일을 지정할 수 있습니다.
    이 HTTPS 서버가 번들에 표시된 CA가 서명 한 인증서를 사용하는 경우 인증서의 문제점으로 인해 인증서 확인에 실패했을 수 있습니다 (만료되었거나 이름이 URL의 도메인 이름과 일치하지 않을 수 있음).
    인증서의 curl 검증을 끄려면 -k (또는-안전하지 않은) 옵션을 사용하십시오.

  4. 그래서 나는 함께 노력했다. -k

    curl  -k https://www.example.com 
    

    그러나 물론 오류가 발생합니다

    Badauth

인증서 파일에 문제가 있다고 생각하지만 인증서 파일을 얻을 수있는 곳이나 일단 가지고 있으면 어떻게 해야할지 모르겠습니다.

물론 브라우저를 사용하여 로그인하는 데 아무런 문제가 없지만 명령 줄을 사용하여 프로세스를 자동화하고 싶습니다 .Wi-Fi를 통해 Android 태블릿의 tasker 로이 작업을 수행 할 수 있습니다.

답변:


2

성공!!

나는 dnsomatic이라는 무료 웹 서비스를 겪었습니다 (opendns 사람들이 운영했습니다)

계정에 가입하고 서비스에 opendns를 추가하는 것만 큼 간단합니다. 그 이상의 구성은 없습니다.

Android 사용자의 경우 wget의 busybox 버전이 뒤떨어져 있으며 사용자 이름과 비밀번호를 사용할 수있는 옵션이 없으므로 cURL을 설치하고 사용해야합니다.

curl 설치 가이드는 여기에서 찾을 수 있습니다

http://forum.xda-developers.com/showthread.php?t=2362386

컬이 끝나면 opendns IP 업데이트와 같은 작업을 간단하게 수행 할 수 있습니다

curl -u opendnsusername:password http://updates.dnsomatic.com/nic/update?hostname=opendnshostname

컬이있는 인증서를 가져오고 사용하는 방법을 여전히 알 수는 없지만 궁극적 인 목표는 달성되었습니다. 누군가가 인증서 비트를 도울 수 있습니다.
Joshua Robison

1

http://www.cacert.org/index.php?id=3 에서 cacert 루트 인증서를 다운로드 할 수 있습니다 .


1
기본 pem 형식 .crt 파일을 선택하고 이름을 .pem으로 변경합니까?
Joshua Robison

1
분명히 아닙니다. .crt 파일을 다운로드하여 pem 형식이며 curlcacert.pem으로 이름을 바꾸고 curl --cacert /path/to/curlcacert.pem site.com으로 바꾸 었지만 여전히 인증서 오류가 발생합니다.
Joshua Robison

1
다운로드 한 후에는 어떻게합니까? 브라우저에서 사용하는 것과 동일한 인증서를 사용할 수 없습니까?
Joshua Robison
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.