~から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要求の外部で行われます。