arm-openwrt-linux-muslコンパイルcurl httpsサポート

2597 ワード

ソースパッケージバージョン


openssl:openssl-1.0.2t curl:curl-7.60.0

1.opensslのコンパイル

cd /home/xxx/openssl-1.0.2t
mkdir build
setarch linux32 ./config no-asm shared --prefix=/home/xxx/openssl-1.0.2t/build/ --cross-compile-prefix=arm-openwrt-linux-
make
make install

一部のarmプラットフォームではsetarch linux 32を追加しないことができますが、arm-openwrt-muslプラットフォームではsetarch linux 32を使用してコンパイルパラメータを追加することが望ましいです.後続のアクセスhttpsを追加しない場合は、次のように報告されます.
curl: (35) error:1007C06B:elliptic curve routines:EC_POINT_set_affine_coordinates_GFp:point is not on curve

2.curlのコンパイル

cd /home/xxx/curl-7.60.0
mkdir build
./configure --prefix=/home/xxx/curl-7.60.0/build --without-nss --with-ssl=/home/xxx/openssl-1.0.2t/build --with-zlib=/home/xxx/zlib-1.2.11 --host=arm-openwrt-linux
make
make install

-with-sslを追加する必要があります.そうしないと、コンパイルされたcurlはhttps curlのconfigure情報をサポートしません.
  curl version:     7.60.0
  Host setup:       arm-openwrt-linux-gnu
  Install prefix:   /home/xxx/curl-7.60.0/build
  Compiler:         arm-openwrt-linux-gcc
  SSL support:      enabled (OpenSSL)
  SSH support:      no      (--with-libssh2)
  zlib support:     no      (--with-zlib)
  brotli support:   no      (--with-brotli)
  GSS-API support:  no      (--with-gssapi)
  TLS-SRP support:  enabled
  resolver:         POSIX threaded
  IPv6 support:     enabled
  Unix sockets support: enabled
  IDN support:      no      (--with-{libidn2,winidn})
  Build libcurl:    Shared=yes, Static=yes
  Built-in manual:  enabled
  --libcurl option: enabled (--disable-libcurl-option)
  Verbose errors:   enabled (--disable-verbose)
  SSPI support:     no      (--enable-sspi)
  ca cert bundle:   no
  ca cert path:     no
  ca fallback:      no
  LDAP support:     no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)
  LDAPS support:    no      (--enable-ldaps)
  RTSP support:     enabled
  RTMP support:     no      (--with-librtmp)
  metalink support: no      (--with-libmetalink)
  PSL support:      no      (libpsl not found)
  HTTP2 support:    disabled (--with-nghttp2)
  Protocols:        DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP


最後のProtocolsの下にHTTPSのサポート項目が表示されます

3.テスト


コンパイルされたcurlを使用してhttpsテストを行います.
./curl https://www.baidu.com

次のエラーが発生した場合:
curl: (60) SSL certificate problem: unable to get local issuer certificate

-kパラメータを使用して、証明書の認証をスキップしたり、ca証明書をデバイスにダウンロードしたりできます.