跳到主要内容

wget + 铜锁,支持从国密服务器下载文件

在 GNU wget 项目的基础上,基于 Tongsuo 项目支持 TLCP 协议,即可以使用 wget 从国密 web 服务器下载文件。

铜锁官网下载wget

https://www.tongsuo.net/releases/

基于源码构建 wget

基于源码构建 wget,以 Ubuntu 操作系统为例:

# 基于Tongsuo 8.3,需要先构建Tongsuo
git clone https://github.com/Tongsuo-Project/Tongsuo

cd Tongsuo
git checkout 8.3-stable
./config --prefix=/opt/tongsuo enable-ntls
make -j
make install

cd ..

# 安装依赖
sudo apt-get install -y automake autoconf autoconf-archive autopoint \
flex texinfo gperf pkg-config make libhttp-daemon-perl \
libio-socket-ssl-perl libidn2-dev gettext texlive python3 valgrind \
language-pack-tr language-pack-ru

git clone https://github.com/Tongsuo-Project/wget

cd wget
./bootstrap
autoreconf -fi
./configure --with-ssl=openssl --with-libssl-prefix=/opt/tongsuo --disable-ntlm
make -j
make install


wget下载文件

增加命令行选项:

  • --secure-protocol=tlcp, 使用TLCP协议
  • --sign-cert, 客户端签名证书
  • --sign-key, 客户端签名私钥
  • --enc-cert, 客户端加密证书
  • --enc-key, 客户端加密私钥
# TLCP,检查服务端证书
wget --secure-protocol=tlcp --ca-certificate=/path/to/ca.pem https://127.0.0.1

# TLCP,不检查服务端证书
wget --secure-protocol=tlcp --no-check-certificate https://127.0.0.1

# TLCP,密码套件ECDHE-SM2-SM4-CBC-SM3,需要配置客户端双证书,检查服务端证书
wget --secure-protocol=tlcp --ciphers="ECDHE-SM2-SM4-CBC-SM3" --sign-cert=./sign.crt --sign-key=./sign.key --enc-cert=./enc.crt --enc-key=./enc.key --ca-certificate=/path/to/ca.pem https://127.0.0.1

# TLCP,密码套件ECDHE-SM2-SM4-CBC-SM3,需要配置客户端双证书,不检查服务端证书
wget --secure-protocol=tlcp --ciphers="ECDHE-SM2-SM4-CBC-SM3" --sign-cert=./sign.crt --sign-key=./sign.key --enc-cert=./enc.crt --enc-key=./enc.key --no-check-certificate https://127.0.0.1