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 version 1.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 keygmwget: 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 version 1.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-11 14: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... 200 OK
Length: 156 [text/html]
Saving to: ‘index.html.3’index.html.3100%[=========================================================>]156--.-KB/sin 0s2022-08-11 14: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 version 1.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-11 14: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... 200 OK
Length: 156 [text/html]
Saving to: ‘index.html.4’index.html.4100%[=========================================================>]156--.-KB/sin 0s2022-08-11 14: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 version 1.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 Wget 1.16 on linux-gnu.--2022-08-11 14: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 socket 3.
Releasing 0x000000000145a340 (new refcount 1).
Initiating SSL handshake.
Handshake successful;
connected socket 3 to 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.---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.16 (linux-gnu)
Accept: */*
Host: ebssec.boc.cn
Connection: Keep-Alive---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 200 OK
Date: Thu, 11 Aug 2022 06:53:23 GMT
Last-Modified: Sat, 27 Jun 2015 16:48:38 GMT
Accept-Ranges: bytes
Content-Length: 156
Cache-Control: max-age=300
Expires: Thu, 11 Aug 2022 06:58:23 GMT
Vary: Accept-Encoding,User-Agent
Keep-Alive: timeout=10, max=100
Connection: Keep-Alive
Content-Type: text/html---response end---
200 OK
Registered socket 3 for persistent reuse.
Length: 156 [text/html]
Saving to: ‘index.html.10’index.html.10100%[=========================================================>]156--.-KB/sin 0s2022-08-11 14:53:22 (51.5 MB/s) - ‘index.html’ saved [156/156]
注释:
1)-d可以看到SSL信息
2)可以看到协议GMSSLv1.1和算法ECC-SM4-CBC-SM3
【国密wget的用法指南】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 version 1.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-11 14: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/sin 0s2022-08-11 14: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.相关下载
1) XP/Vista/Win7/Win10/Win11
https://www.gmssl.cn/gmssl/down/gmwget.exe
2) CentOS 7/8 x86_64
https://www.gmssl.cn/gmssl/down/gmwget
3) MacOS x86_64
https://www.gmssl.cn/gmssl/down/gmwget_macos_x64
4) CA证书
https://www.gmssl.cn/gmssl/down/boc.ca.pem
6.联系与反馈
gmwget@gmssl.cn