国密wget的用法指南

1.wget是什么

wget 是一个GNU开发的从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。“wget”这个名称来源于 “World Wide Web” 与 “get” 的结合。


2.国密wget是什么

wget自身不支持国密SSL协议(TLCP)。国密SSL实验室(www.gmssl.cn)做了国密适配,生成了一个国密版wget,简称gmwget。gmwget可免费下载和使用。


3.国密wget使用(单向国密SSL)

3.1 简单执行

[root@206test ~]# ./gmwget

GM version1.0.0 Ported by www.gmssl.cn

GM options:

--gmssl,             use TLCP protocol

--certificate=FILE,  use sm2 sig pem cert

--private-key=FILE,  use sm2 sig pem key

--certificate2=FILE, use sm2 enc pem cert

--private-key2=FILE, use sm2 enc pem key

gmwget: missing URL

Usage: gmwget [OPTION]... [URL]...

Try`gmwget --help' for more options.

3.2 简单访问

[root@206test ~]# ./gmwget --gmssl --no-check-certificate https://ebssec.boc.cn

GM version1.0.0 Ported by www.gmssl.cn

GM options:

--gmssl,             use TLCP protocol

--certificate=FILE,  use sm2 sig pem cert

--private-key=FILE,  use sm2 sig pem key

--certificate2=FILE, use sm2 enc pem cert

--private-key2=FILE, use sm2 enc pem key

--2022-08-1114:40:19--  https://ebssec.boc.cn/

Resolving ebssec.boc.cn...123.124.191.183

Connecting to ebssec.boc.cn|123.124.191.183|:443... connected.

WARNING: cannot verify ebssec.boc.cn's certificate, issued by ‘/C=CN/O=CFCA SM2 OCA1’:

Unable to locally verify the issuer's authority.

HTTP request sent, awaiting response...200OK

Length:156[text/html]

Saving to: ‘index.html.3’

index.html.3100%[=========================================================>]156--.-KB/sin0s

2022-08-1114:40:19 (33.0 MB/s)-‘index.html’ saved [156/156]

注释:

1)--gmssl表示启用国密SSL

2)--no-check-certificate表示不验证服务端证书

3.3 验证证书

[root@206test ~]# ./gmwget --gmssl --ca-certificate=boc.ca.pem https://ebssec.boc.cn

GM version1.0.0 Ported by www.gmssl.cn

GM options:

--gmssl,             use TLCP protocol

--certificate=FILE,  use sm2 sig pem cert

--private-key=FILE,  use sm2 sig pem key

--certificate2=FILE, use sm2 enc pem cert

--private-key2=FILE, use sm2 enc pem key

--2022-08-1114:41:06--  https://ebssec.boc.cn/

Resolving ebssec.boc.cn...112.64.122.183

Connecting to ebssec.boc.cn|112.64.122.183|:443... connected.

HTTP request sent, awaiting response...200OK

Length:156[text/html]

Saving to: ‘index.html.4’

index.html.4100%[=========================================================>]156--.-KB/sin0s

2022-08-1114:41:06 (33.6 MB/s)-‘index.html’ saved [156/156]

注释:

1)--ca-certificate=FILE表示加载本地可信证书链

2)boc.ca.pem下载见后面“相关下载”

3.4 开启调试

[root@206test ~]# ./gmwget --gmssl --no-check-certificate -d https://ebssec.boc.cn

GM version1.0.0 Ported by www.gmssl.cn

GM options:

--gmssl,             use TLCP protocol

--certificate=FILE,  use sm2 sig pem cert

--private-key=FILE,  use sm2 sig pem key

--certificate2=FILE, use sm2 enc pem cert

--private-key2=FILE, use sm2 enc pem key

DEBUG output created by Wget1.16 on linux-gnu.

--2022-08-1114:53:22--  https://ebssec.boc.cn/

Resolving ebssec.boc.cn...112.64.122.183

Caching ebssec.boc.cn=>112.64.122.183

Connecting to ebssec.boc.cn|112.64.122.183|:443... connected.

Created socket3.

Releasing 0x000000000145a340 (new refcount1).

Initiating SSL handshake.

Handshake successful; connected socket3to SSL handle 0x000000000145c180

SSL connection using GMSSLv1.1/ECC-SM4-CBC-SM3

certificate:

subject:/C=CN/ST=\\xE5\\x8C\\x97\\xE4\\xBA\\xAC/L=\\xE5\\x8C\\x97\\xE4\\xBA\\xAC/O=\\xE4\\xB8\\xAD\\xE5\\x9B\\xBD\\xE9\\x93\\xB6\\xE8\\xA1\\x8C\\xE8\\x82\\xA1\\xE4\\xBB\\xBD\\xE6\\x9C\\x89\\xE9\\x99\\x90\\xE5\\x85\\xAC\\xE5\\x8F\\xB8/OU=Local RA/OU=SSL/CN=ebssec.boc.cn

issuer:/C=CN/O=CFCA SM2 OCA1

WARNING: cannot verify ebssec.boc.cn's certificate, issued by ‘/C=CN/O=CFCA SM2 OCA1’:

Unable to locally verify the issuer's authority.

---requestbegin---

GET / HTTP/1.1

User-Agent: Wget/1.16 (linux-gnu)

Accept: */*

Host: ebssec.boc.cn

Connection: Keep-Alive

---requestend---

HTTP request sent, awaiting response...

---responsebegin---

HTTP/1.1200OK

Date: Thu,11Aug202206:53:23 GMT

Last-Modified: Sat,27Jun201516:48:38 GMT

Accept-Ranges: bytes

Content-Length:156

Cache-Control:max-age=300

Expires: Thu,11Aug202206:58:23 GMT

Vary: Accept-Encoding,User-Agent

Keep-Alive:timeout=10,max=100

Connection: Keep-Alive

Content-Type: text/html

---responseend---

200OK

Registered socket3forpersistent reuse.

Length:156[text/html]

Saving to: ‘index.html.10’

index.html.10100%[=========================================================>]156--.-KB/sin0s

2022-08-1114:53:22 (51.5 MB/s)-‘index.html’ saved [156/156]

注释:

1)-d可以看到SSL信息

2)可以看到协议GMSSLv1.1和算法ECC-SM4-CBC-SM3

4.国密wget使用(双向国密SSL)

4.1生成用户国密双证书


4.2 使用用户国密双证书访问

[root@206test ~]# ./gmwget --gmssl --no-check-certificate --certificate=./sm2.user1.sig.crt.pem --private-key=./sm2.user1.sig.key.pem --certificate2=./sm2.user1.enc.crt.pem --private-key2=./sm2.user1.enc.key.pem https://demo.gmssl.cn:1443

GM version1.0.0 Ported by www.gmssl.cn

GM options:

--gmssl,             use TLCP protocol

--certificate=FILE,  use sm2 sig pem cert

--private-key=FILE,  use sm2 sig pem key

--certificate2=FILE, use sm2 enc pem cert

--private-key2=FILE, use sm2 enc pem key

--2022-08-1114:55:47--  https://demo.gmssl.cn:1443/

Resolving demo.gmssl.cn...101.200.216.127

Connecting to demo.gmssl.cn|101.200.216.127|:1443... connected.

WARNING: cannot verify demo.gmssl.cn's certificate, issued by ‘/C=CN/O=GMSSL/OU=PKI/SM2/CN=MiddleCA for Test’:

Unable to locally verify the issuer's authority.

HTTP request sent, awaiting response...200

Length:1273(1.2K) [text/html]

Saving to: ‘index.html.11’

index.html.11100%[=================================================================================>]1.24K--.-KB/sin0s

2022-08-1114:55:48 (267 MB/s)-‘index.html’ saved [1273/1273]

注释:

1) --certificate=FILE表示指定用户签名证书(pem格式)

2) --private-key=FILE表示指定用户签名私钥(pem格式)

3) --certificate2=FILE表示指定用户加密证书(pem格式)

4) --private-key2=FILE表示指定用户加密私钥(pem格式)

5.相关下载

XP/Vista/Win7/Win10/Win11

https://www.gmssl.cn/gmssl/down/gmwget.exe

CentOS 7/8 x86_64

https://www.gmssl.cn/gmssl/down/gmwget

MacOS x86_64

https://www.gmssl.cn/gmssl/down/gmwget_macos_x64

CA证书

https://www.gmssl.cn/gmssl/down/boc.ca.pem

6.联系与反馈

gmwget@gmssl.cn

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.curl是什么 cURL(客户端URL)是一个开放源代码的命令行工具,用来请求 Web和其他各种类型的服务器...
    坤_3ea8阅读 1,946评论 0 0
  • 1、gmssl组成 分为加密和通信两部分 2、加密 主要指的是sm2 sm3 sm4加密算法,以及相关的加密组件 ...
    高文茂阅读 12,329评论 1 3
  • 国密Nginx容器实战 1.背景 目前国密SSL(TLCP)已经逐步开始推广并实际使用,国密SSL实验室(www....
    坤_3ea8阅读 751评论 0 0
  • 1 背景 Nginx自身支持标准的SSL协议,但并不支持国密SSL协议。本文描述了Nginx配置的国密SSL协议...
    gmssl阅读 897评论 0 0
  • 1 背景 Apachehttpd自身支持标准的SSL协议,但并不支持国密SSL协议。本文描述了Apache ht...
    gmssl阅读 606评论 0 1