DebianなどのLinuxディストリビューションのデフォルトのパッケージマネージャーを使用してCurlをインストールすると、通常、TLSバックエンドとしてOpenSSLが事前にコンパイルされます。ほぼすべてのCurlディストリビューター/パッケージがOpenSSLバックエンドでCurlを構築するためです。別のTLSバックエンドに変更すると、単に別のオプションを選択するほど簡単ではありませんが、可能です。このステップバイステップのチュートリアルでは、DebianにGNUTLSバックエンドでCurlをインストールする方法を確認します。
トピックに入る前に、TLSバックエンドの簡単な紹介と、CurlによるサポートされているTLSバックエンドのリストをお知らせします。
目次
ソースからCurlをコンパイルするとき、安全な接続(HTTPS)を処理する方法が必要です。これは、TLSバックエンドを介して行われます。 TLS(輸送層のセキュリティ)は、ネットワークを介した安全な通信に不可欠です。
Curlは、複数のTLSライブラリまたはバックエンドをサポートします。サポートされているバックエンドのリストは次のとおりです。
AMISSLは、AMIGAOSシステム用のSSL/TLS実装です。 Amigaプラットフォーム用に開発していない限り、一般的に使用されていません。 AMISSLでCurlをコンパイルするには、-With-Amisslオプションを使用できます。
BEARSSLは、より小さく、より焦点を絞ったSSL/TLSライブラリです。軽量で埋め込まれたシステムに適しているように設計されています。 BearsSLでCurlをインストールするには、-BearSSLオプションを使用します。
GNUTLSは、SSL、TLS、およびDTLSプロトコルを実装する安全な通信ライブラリです。 OpenSSLに代わる人気のあるオープンソースの代替品です。 gnutlsでCurlをインストールするには、-with-gnutlsオプションを使用できます。
MBED TLS(以前はPolarsSLとして知られていました)は、オープンソースで、ポータブルで使いやすく、読みやすく、柔軟なSSLライブラリです。埋め込まれたシステムおよびIoTデバイスでよく使用されます。 MBED TLSでCurlをインストールするには、-MBEDTLSを使用します。
OpenSSLは、最も広く使用されているTLSライブラリの1つです。このオプションは、BoringsSl(GoogleのOpenSSLのフォーク)とLibressl(OpenBSDのOpenSSLのフォーク)でも機能します。 -opensslを使用して、OpenSSLを使用してCurlをインストールすることができます。
Rustlsは、Rustで書かれた最新のTLSライブラリです。より安全で効率的な実装を提供することを目指しています。 RustlsでCurlをインストールするには、-Rustlsを使用します。
Schannelは、Windowsオペレーティングシステム用のセキュリティサポートプロバイダー(SSP)です。 Windowsプラットフォーム用のカールを構築するときに使用されます。 SchannelでCurlをインストールするには、シャネルで使用します。
安全なトランスポートは、AppleのTLS実装です。このオプションは、macosまたはiOS用のカールを構築するときに使用されます。セキュアートランスポートオプションを使用して、安全なトランスポートバックエンドでCurlをインストールできます。
WolfSSL(以前のCyassl)は、IoT、埋め込み、およびRTOS環境を対象とした軽量でポータブル、C言語ベースのSSL/TLSライブラリです。 wolfsslでCurlをインストールするには、Woth Wolfsslを使用してください。
特定のTLSバックエンドでCurlをコンパイルするには、通常、適切な -
./configure -with-openssl
このコマンドは、OpenSSLをTLSバックエンドとして使用するようにCurlを構成します。上記のリストからOpenSSLをお好みのバックエンドオプションに置き換えます。
Debianは実際にLibcurlの2つのバージョンを提供します。1つはOpenSSLで構築され、もう1つはGnutlsで構築されています。 Curlコマンドラインツールは通常、デフォルトでOpenSSLバージョンに対してリンクしますが、代わりにGNUTLSバージョンを使用できます。
Debian 12のコマンドを使用してCurlバージョンを確認しましょう:
$ curl -v
サンプル出力:
Curl 8.8.0(x86_64-pc-linux-gnu)libcurl/8.8.0<strong><mark> OpenSSL/3.0.13</mark> Zlib/1.2.13 Brotli/1.0.9 ZSTD/1.5.4 libidn2/2.3.3 libpsl/0.21.2 libssh2/1.10.0 nghttp2/1.52.0 librtmp/2.3 openldap/2.5.13リリースデート:2024-05-22 ftp ftps gopher gophers http https imap imaps ipfs ipfs ipns ldap ldap mqtt pop3 pop3s rtmp rtsp sftp smb smbs smtps smtp Kerberos largefile libz ntlm psl spnego ssl threadsafe tls-srp unixsockets zstd</strong>
上記の上記の出力にあるように、私のDebian 12システムには、OpenSSLバックエンドを備えた最新のCurl 8.8.0があります。
次に、 Gnu Stowを使用してGnutlsを使用してソースからCurlをコンパイルする方法を見てみましょう。不思議に思う人にとって、GNU Stowは、Debianおよびその他のLinuxディストリビューションのソースから最新のソフトウェアをインストールする推奨方法の1つです。
必要なツールと依存関係をインストールしていることを確認してください。
sudo aptアップデート sudo apt install build-essential libgnutls28-dev stow
Curl Githubリポジトリから最新のカールをダウンロードしてください。
wget https://github.com/curl/curl/releases/download/curl-8_8_0/curl-8.8.0.tar.gz
カールソースコードを抽出します。
TAR -XZVF CURL -8.8.0.TAR.GZ
このコマンドは、Curl-8.8.0という名前のディレクトリにTARファイルの内容を抽出します。ディレクトリへのCD:
CD Curl-8.8.0
コマンドを使用してgnutlsバックエンドを使用するようにビルドを構成します。
./CONFIGURE -with-gnutls ---prefix =/usr/local/stow/curl-8.8.0
/usr/loca/stowディレクトリが存在しない場合は、コマンドを使用して作成するだけです。
sudo mkdir -p/usr/local/stow
繰り返しますが、./configureコマンドを再実行します。
次のコマンドを実行して、GNUストウを使用してCurlをコンパイルおよびインストールします
作る sudoはインストールします
/usr/loca/stowディレクトリへのCDと必要なシンリンクを作成します。
CD/USR/LOCAL/STOW Sudo Stow Curl-8.8.0
現在のセッションを再起動し、CurlがGnutlsを使用していることを確認します。
カール - バージョン
Gnutlsは新しいTLSバックエンドとして表示されるはずです。
Curl 8.8.0(x86_64-pc-linux-gnu)libcurl/8.8.0<strong><mark> gnutls/3.7.9</mark> Zlib/1.2.13 Brotli/1.0.9 ZSTD/1.5.4 libidn2/2.3.3リリース日:2024-05-22プロトコル:dict file ftps ftps gopher gophers http https imap imap imaps imaps imaps ipfs mqtt pop3 asynchdns brotli hsts https-proxy idn ipv6 largefile libz ntlm sslswerssafe tls-srp unixso ckets zstd</strong>
上記の出力にあるように、CurlはGnutls v3.7.9で構成されています。
Debian 12システムにCurlをインストールしようとしているときに「Unmet依存関係」の問題で遭遇した場合、またはBackportsのCurlをアップグレードした後にFlatpak Updateコマンドが機能しない場合は、次のリンクを参照してください。
このステップバイステップのチュートリアルでは、Debianとその誘導体のGnu Stowを使用して、ソースからGnutlsバックエンドを使用して利用可能なTLSバックエンドのリストとHow To Curlをインストールする方法について説明しました。
まだ気付いていない場合は、Debian's CurlがHTTP3のサポートを取得しようとしています。詳細については、次のリンクを参照してください。
関連する読み取り:
以上がdebianにgnutlsバックエンドでカールをインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。