web-dev-qa-db-ja.com

curlで証明書を取得して使用する方法

  1. 次のコマンドを入力する

    curl -k [email protected]: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 protected]: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(または--insecure)オプションを使用します

  4. だから私は-k

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

    しかしもちろんエラーが出ます

    Badauth

証明書ファイルで何か問題が発生していると思いますが、証明書ファイルを取得する場所や取得後の処理方法がわかりません。

もちろんブラウザを使用してログインしても問題ありませんが、コマンドラインでプロセスを自動化したいので、私のAndroidタブレットでWiFi経由でこれを行うことができます。

14
Joshua Robison

成功!!

私はdnsomatic(opendnsの人々によって運営されています)と呼ばれる無料のWebサービスを利用しました

アカウントにサインアップし、サービスに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
2
Joshua Robison

ここからcacertルート証明書をダウンロードできます: http://www.cacert.org/index.php?id=

1
Flash