Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 46ffde9

Browse files
author
bowenerchen
committed
增加SM2公钥书数据解析、SM2加密密文模式选择、SM2加密密文格式选择
1 parent 73170f3 commit 46ffde9

File tree

1,144 files changed

+102236
-159
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,144 files changed

+102236
-159
lines changed

Core/GmSSL-3.1.1/INSTALL.md

+44-19
Large diffs are not rendered by default.

Core/GmSSL-3.1.1/README.md

+16-11
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,20 @@
66

77
GmSSL是由北京大学自主开发的国产商用密码开源库,实现了对国密算法、标准和安全通信协议的全面功能覆盖,支持包括移动端在内的主流操作系统和处理器,支持密码钥匙、密码卡等典型国产密码硬件,提供功能丰富的命令行工具及多种编译语言编程接口。
88

9-
109
## 主要特性
1110

12-
* 超轻量:GmSSL 3 大幅度降低了内存需求和二进制代码体积,不依赖动态内存,可以用于无操作系统的低功耗嵌入式环境(MCU、SOC等),开发者也可以更容易地将国密算法和SSL协议嵌入到现有的项目中。
11+
* 超轻量:GmSSL 3 大幅度降低了内存需求和二进制代码体积,不依赖动态内存,可以用于无操作系统的低功耗嵌入式环境(MCU、SOC等)
12+
,开发者也可以更容易地将国密算法和SSL协议嵌入到现有的项目中。
1313
* 更合规:GmSSL 3 可以配置为仅包含国密算法和国密协议(TLCP协议),依赖GmSSL 的密码应用更容易满足密码产品型号检测的要求,避免由于混杂非国密算法、不安全算法等导致的安全问题和合规问题。
14-
* 更安全:TLS 1.3在安全性和通信延迟上相对之前的TLS协议有巨大的提升,GmSSL 3 支持TLS 1.3协议和RFC 8998的国密套件。GmSSL 3 默认支持密钥的加密保护,提升了密码算法的抗侧信道攻击能力。
15-
* 跨平台:GmSSL 3 更容易跨平台,构建系统不再依赖Perl,默认的CMake构建系统可以容易地和Visual Studio、Android NDK等默认编译工具配合使用,开发者也可以手工编写Makefile在特殊环境中编译、剪裁。
14+
* 更安全:TLS 1.3在安全性和通信延迟上相对之前的TLS协议有巨大的提升,GmSSL 3 支持TLS 1.3协议和RFC 8998的国密套件。GmSSL 3
15+
默认支持密钥的加密保护,提升了密码算法的抗侧信道攻击能力。
16+
* 跨平台:GmSSL 3 更容易跨平台,构建系统不再依赖Perl,默认的CMake构建系统可以容易地和Visual Studio、Android
17+
NDK等默认编译工具配合使用,开发者也可以手工编写Makefile在特殊环境中编译、剪裁。
1618

1719
## 下载
1820

19-
* GmSSL的主分支版本为 [GmSSL-3.1.0](https://github.com/guanzhi/GmSSL/releases/tag/v3.1.0),主要增加跨平台特性,特别是对Windows/Visual Studio的支持,Windows、Android、iOS平台的开发者需要使用该版本。
21+
* GmSSL的主分支版本为 [GmSSL-3.1.0](https://github.com/guanzhi/GmSSL/releases/tag/v3.1.0),主要增加跨平台特性,特别是对Windows/Visual
22+
Studio的支持,Windows、Android、iOS平台的开发者需要使用该版本。
2023

2124
## 编译与安装
2225

@@ -31,7 +34,8 @@ make test
3134
sudo make install
3235
```
3336

34-
`make install`完成后,GmSSL会在默认安装目录中安装`gmssl`命令行工具,在头文件目录中创建`gmssl`目录,并且在库目录中安装`libgmssl.a``libgmssl.so`等库文件。
37+
`make install`完成后,GmSSL会在默认安装目录中安装`gmssl`命令行工具,在头文件目录中创建`gmssl`目录,并且在库目录中安装`libgmssl.a`
38+
`libgmssl.so`等库文件。
3539

3640
### Visual Studio环境编译
3741

@@ -72,11 +76,11 @@ nmake
7276

7377
GmSSL通过子项目提供多种多种编程语言绑定
7478

75-
* [GmSSL-Java](https://github.com/GmSSL/GmSSL-Java) 以JNI方式实现的Java语言绑定
76-
* [GmSSL-PHP](https://github.com/GmSSL/GmSSL-PHP) 以PHP扩展方式实现的PHP语言绑定
77-
* [GmSSL-Go](https://github.com/GmSSL/GmSSL-Go) 以CGO方式实现的Go语言绑定
78-
* [GmSSL-Python](https://github.com/GmSSL/GmSSL-Python) 以ctypes方式实现的Python语言绑定
79-
* [GmSSL-JS](https://github.com/guanzhi/GmSSL-JS) 纯JavaScript实现的国密算法库
79+
* [GmSSL-Java](https://github.com/GmSSL/GmSSL-Java) 以JNI方式实现的Java语言绑定
80+
* [GmSSL-PHP](https://github.com/GmSSL/GmSSL-PHP) 以PHP扩展方式实现的PHP语言绑定
81+
* [GmSSL-Go](https://github.com/GmSSL/GmSSL-Go) 以CGO方式实现的Go语言绑定
82+
* [GmSSL-Python](https://github.com/GmSSL/GmSSL-Python) 以ctypes方式实现的Python语言绑定
83+
* [GmSSL-JS](https://github.com/guanzhi/GmSSL-JS) 纯JavaScript实现的国密算法库
8084

8185
## 典型应用
8286

@@ -100,6 +104,7 @@ GmSSL支持Nginx的适配,并提供了Docker实现,具体参见[Nginx-with-G
100104
- [ ] **Version 3.2.0 release**
101105

102106
## 开发者们
107+
103108
<a href="https://github.com/guanzhi/GmSSL/graphs/contributors">
104109
<img src="https://contrib.rocks/image?repo=guanzhi/GmSSL" />
105110
</a>

Core/GmSSL-3.1.1/demos/scripts/certdemo.sh

+13-14
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,39 @@ set -e
44

55
gmssl sm2keygen -pass 1234 -out rootcakey.pem
66
gmssl certgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN ROOTCA -days 3650 \
7-
-key rootcakey.pem -pass 1234 \
8-
-out rootcacert.pem \
9-
-ca -path_len_constraint 6 \
10-
-key_usage keyCertSign -key_usage cRLSign \
11-
-crl_http_uri http://pku.edu.cn/ca.crl -ca_issuers_uri http://pku.edu.cn/ca.crt -ocsp_uri http://ocsp.pku.edu.cn
7+
-key rootcakey.pem -pass 1234 \
8+
-out rootcacert.pem \
9+
-ca -path_len_constraint 6 \
10+
-key_usage keyCertSign -key_usage cRLSign \
11+
-crl_http_uri http://pku.edu.cn/ca.crl -ca_issuers_uri http://pku.edu.cn/ca.crt -ocsp_uri http://ocsp.pku.edu.cn
1212

1313
gmssl certparse -in rootcacert.pem
1414

1515
gmssl sm2keygen -pass 1234 -out cakey.pem
1616
gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN "Sub CA" -key cakey.pem -pass 1234 -out careq.pem
1717
gmssl reqsign -in careq.pem -days 365 -key_usage keyCertSign -path_len_constraint 0 -cacert rootcacert.pem -key rootcakey.pem -pass 1234 -out cacert.pem \
18-
-crl_http_uri http://pku.edu.cn/ca.crl -ca_issuers_uri http://pku.edu.cn/ca.crt -ocsp_uri http://ocsp.pku.edu.cn
18+
-crl_http_uri http://pku.edu.cn/ca.crl -ca_issuers_uri http://pku.edu.cn/ca.crt -ocsp_uri http://ocsp.pku.edu.cn
1919
gmssl certparse -in cacert.pem
2020

2121
gmssl sm2keygen -pass 1234 -out signkey.pem
2222
gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key signkey.pem -pass 1234 -out signreq.pem
2323
gmssl reqsign -in signreq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out signcert.pem \
24-
-crl_http_uri http://github.com/guanzhi/GmSSL/raw/master/demos/certs/SubCA-1.crl
24+
-crl_http_uri http://github.com/guanzhi/GmSSL/raw/master/demos/certs/SubCA-1.crl
2525
gmssl certparse -in signcert.pem
2626

2727
gmssl sm2keygen -pass 1234 -out enckey.pem
2828
gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key enckey.pem -pass 1234 -out encreq.pem
2929
gmssl reqsign -in encreq.pem -days 365 -key_usage keyEncipherment -cacert cacert.pem -key cakey.pem -pass 1234 -out enccert.pem \
30-
-crl_http_uri http://github.com/guanzhi/GmSSL/raw/master/demos/certs/SubCA-1.crl
30+
-crl_http_uri http://github.com/guanzhi/GmSSL/raw/master/demos/certs/SubCA-1.crl
3131
gmssl certparse -in enccert.pem
3232

33-
cat signcert.pem > certs.pem
34-
cat cacert.pem >> certs.pem
33+
cat signcert.pem >certs.pem
34+
cat cacert.pem >>certs.pem
3535
gmssl certverify -in certs.pem -cacert rootcacert.pem #-check_crl
3636

37-
cat signcert.pem > dbl_certs.pem
38-
cat enccert.pem >> dbl_certs.pem
39-
cat cacert.pem >> dbl_certs.pem
37+
cat signcert.pem >dbl_certs.pem
38+
cat enccert.pem >>dbl_certs.pem
39+
cat cacert.pem >>dbl_certs.pem
4040
gmssl certverify -double_certs -in dbl_certs.pem -cacert rootcacert.pem #-check_crl
4141

4242
echo ok
43-

Core/GmSSL-3.1.1/demos/scripts/certs.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ gmssl crlparse -in "crl/ROOTCA.crl"
2020
gmssl crlverify -in "crl/ROOTCA.crl" -cacert "rootca/ROOTCA.pem" # now > next_update
2121

2222
# The CRL URI of ROOTCA.pem is in Base64 format, not DER
23-
gmssl certverify -in "ca/TJCA.pem" -cacert "rootca/Civil Servant ROOT.pem" #-check_crl
24-
gmssl certverify -in "ca/Taier CA.pem" -cacert "rootca/ROOTCA.pem" #-check_crl
23+
gmssl certverify -in "ca/TJCA.pem" -cacert "rootca/Civil Servant ROOT.pem" #-check_crl
24+
gmssl certverify -in "ca/Taier CA.pem" -cacert "rootca/ROOTCA.pem" #-check_crl
2525
gmssl certverify -in "ca/Ant Financial Certification Authority S1.pem" -cacert "rootca/ROOTCA.pem" #-check_crl
2626

2727
echo ok

Core/GmSSL-3.1.1/demos/scripts/certverify.sh

+11-15
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ crl=CFCA_SM2_OCA1.crl
88
cacert=CFCA_SM2_OCA1.pem
99
rootcacert=CFCA_CS_SM2_CA.pem
1010

11-
12-
cat << EOF > $signcert
11+
cat <<EOF >$signcert
1312
-----BEGIN CERTIFICATE-----
1413
MIICzzCCAnKgAwIBAgIFEzY5M3AwDAYIKoEcz1UBg3UFADAlMQswCQYDVQQGEwJD
1514
TjEWMBQGA1UECgwNQ0ZDQSBTTTIgT0NBMTAeFw0yMTA2MTEwOTA1MjBaFw0yNjA2
@@ -30,7 +29,7 @@ cnUN
3029
-----END CERTIFICATE-----
3130
EOF
3231

33-
cat << EOF > $enccert
32+
cat <<EOF >$enccert
3433
-----BEGIN CERTIFICATE-----
3534
MIICzjCCAnKgAwIBAgIFEzY5M3EwDAYIKoEcz1UBg3UFADAlMQswCQYDVQQGEwJD
3635
TjEWMBQGA1UECgwNQ0ZDQSBTTTIgT0NBMTAeFw0yMTA2MTEwOTA1MjBaFw0yNjA2
@@ -51,8 +50,7 @@ Ur8=
5150
-----END CERTIFICATE-----
5251
EOF
5352

54-
55-
cat << EOF > $cacert
53+
cat <<EOF >$cacert
5654
-----BEGIN CERTIFICATE-----
5755
MIICNTCCAdmgAwIBAgIFEAAAAAgwDAYIKoEcz1UBg3UFADBYMQswCQYDVQQGEwJD
5856
TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y
@@ -69,8 +67,7 @@ Pr6yYTLzAiEAiyqrqsGUU5vGkDo5bEpmF1EbnY8xovsM9vCx98yBrVM=
6967
-----END CERTIFICATE-----
7068
EOF
7169

72-
73-
cat << EOF > $rootcacert
70+
cat <<EOF >$rootcacert
7471
-----BEGIN CERTIFICATE-----
7572
MIICAzCCAaegAwIBAgIEFy9CWTAMBggqgRzPVQGDdQUAMFgxCzAJBgNVBAYTAkNO
7673
MTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
@@ -91,23 +88,23 @@ gmssl certverify -in $enccert -cacert $cacert
9188
gmssl certverify -in $cacert -cacert $rootcacert
9289

9390
chain=chain.pem
94-
cat $signcert > $chain
95-
cat $cacert >> $chain
91+
cat $signcert >$chain
92+
cat $cacert >>$chain
9693
gmssl certverify -in $chain -cacert $rootcacert
9794

9895
chain_with_root=chain_with_root.pem
9996
cp $chain $chain_with_root
100-
cat $rootcacert >> $chain_with_root
97+
cat $rootcacert >>$chain_with_root
10198
gmssl certverify -in $chain_with_root -cacert $rootcacert
10299

103100
double_certs=double_certs.pem
104-
cat $signcert > $double_certs
105-
cat $enccert >> $double_certs
101+
cat $signcert >$double_certs
102+
cat $enccert >>$double_certs
106103
gmssl certverify -in $double_certs -cacert $cacert -double_certs
107104

108105
double_chain=double_chain.pem
109-
cat $double_certs > $double_chain
110-
cat $cacert >> $double_chain
106+
cat $double_certs >$double_chain
107+
cat $cacert >>$double_chain
111108
gmssl certverify -in $double_chain -cacert $rootcacert -double_certs
112109

113110
gmssl certparse -in $double_chain
@@ -126,4 +123,3 @@ rm -fr $double_certs
126123
rm -fr $double_chain
127124

128125
echo ok
129-
+1-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
#!/bin/bash
22

3-
43
gmssl sm2keygen -pass 1234 -out key.pem -pubout keypub.pem
54
gmssl certgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN Alice -key_usage dataEncipherment -days 365 -key key.pem -pass 1234 -out cert.pem
65

7-
echo "<html>The plaintext message.</html>" > plain.txt
6+
echo "<html>The plaintext message.</html>" >plain.txt
87

98
gmssl cmsencrypt -in plain.txt -rcptcert cert.pem -out enveloped_data.pem
109
gmssl cmsparse -in enveloped_data.pem
@@ -14,4 +13,3 @@ gmssl cmssign -key key.pem -pass 1234 -cert cert.pem -in plain.txt -out signed_d
1413
gmssl cmsparse -in signed_data.pem
1514
gmssl cmsverify -in signed_data.pem -out signed_data.txt
1615
cat signed_data.txt
17-
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
#!/bin/bash
22

3-
43
gmssl pbkdf2 -pass 1234 -salt 1122334455667788 -iter 60000 -outlen 16
5-

Core/GmSSL-3.1.1/demos/scripts/reqdemo.sh

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ gmssl reqgen -O "北京大学" -CN "爱丽丝" -key alicekey.pem -pass 1234 -out
2525
gmssl reqsign -in alicereq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out alicecert.pem
2626
gmssl certparse -in alicecert.pem
2727

28-
2928
rm -fr pubkey.pem
3029
rm -fr cacert.pem
3130
rm -fr signkey.pem

Core/GmSSL-3.1.1/demos/scripts/sm2demo.sh

-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,3 @@ echo hello | gmssl sm2verify -pubkey sm2pub.pem -sig sm2.sig -id 123456781234567
77

88
echo hello | gmssl sm2encrypt -pubkey sm2pub.pem -out sm2.der
99
gmssl sm2decrypt -key sm2.pem -pass 1234 -in sm2.der
10-

Core/GmSSL-3.1.1/demos/scripts/sm3demo.sh

-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,4 @@ echo -n abc | gmssl sm3
55
gmssl sm2keygen -pass 1234 -out sm2.pem -pubout sm2pub.pem
66
echo -n abc | gmssl sm3 -pubkey sm2pub.pem -id 1234567812345678
77

8-
98
echo -n abc | gmssl sm3hmac -key 11223344556677881122334455667788
10-

Core/GmSSL-3.1.1/demos/scripts/sm4demo.sh

+17-21
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,23 @@ gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 11223344556677
3030

3131
# CBC-SM3-HMAC
3232
echo hello | gmssl sm4 -cbc_sm3_hmac -encrypt \
33-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
34-
-iv 11223344556677881122334455667788 -out ciphertext.bin
33+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
34+
-iv 11223344556677881122334455667788 -out ciphertext.bin
3535
gmssl sm4 -cbc_sm3_hmac -decrypt \
36-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
37-
-iv 11223344556677881122334455667788 -in ciphertext.bin
36+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
37+
-iv 11223344556677881122334455667788 -in ciphertext.bin
3838

3939
# CTR-SM3-HMAC
4040
echo hello | gmssl sm4 -ctr_sm3_hmac -encrypt \
41-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
42-
-iv 11223344556677881122334455667788 -out ciphertext.bin
41+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
42+
-iv 11223344556677881122334455667788 -out ciphertext.bin
4343
gmssl sm4 -ctr_sm3_hmac -decrypt \
44-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
45-
-iv 11223344556677881122334455667788 -in ciphertext.bin
44+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
45+
-iv 11223344556677881122334455667788 -in ciphertext.bin
4646

4747
# encrypt/decrypt long text file
4848

49-
cat << EOF > plaintext.txt
49+
cat <<EOF >plaintext.txt
5050
-----BEGIN CERTIFICATE-----
5151
MIICzzCCAnKgAwIBAgIFEzY5M3AwDAYIKoEcz1UBg3UFADAlMQswCQYDVQQGEwJD
5252
TjEWMBQGA1UECgwNQ0ZDQSBTTTIgT0NBMTAeFw0yMTA2MTEwOTA1MjBaFw0yNjA2
@@ -67,7 +67,6 @@ cnUN
6767
-----END CERTIFICATE-----
6868
EOF
6969

70-
7170
# CBC
7271
gmssl sm4 -cbc -encrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
7372
gmssl sm4 -cbc -decrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in ciphertext.bin
@@ -94,22 +93,19 @@ gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 11223344556677
9493

9594
# CBC-SM3-HMAC
9695
gmssl sm4 -cbc_sm3_hmac -encrypt \
97-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
98-
-iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
96+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
97+
-iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
9998
gmssl sm4 -cbc_sm3_hmac -decrypt \
100-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
101-
-iv 11223344556677881122334455667788 -in ciphertext.bin
99+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
100+
-iv 11223344556677881122334455667788 -in ciphertext.bin
102101

103102
# CTR-SM3-HMAC
104103
gmssl sm4 -ctr_sm3_hmac -encrypt \
105-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
106-
-iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
104+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
105+
-iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
107106
gmssl sm4 -ctr_sm3_hmac -decrypt \
108-
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
109-
-iv 11223344556677881122334455667788 -in ciphertext.bin
110-
107+
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
108+
-iv 11223344556677881122334455667788 -in ciphertext.bin
111109

112110
rm -fr plaintext.txt
113111
rm -fr ciphertext.bin
114-
115-

Core/GmSSL-3.1.1/demos/scripts/sm9demo.sh

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22

33
gmssl sm9setup -alg sm9sign -pass 1234 -out sign_msk.pem -pubout sign_mpk.pem
44
gmssl sm9keygen -alg sm9sign -in sign_msk.pem -inpass 1234 -id alice -out alice.pem -outpass 1234
5-
echo hello | gmssl sm9sign -key alice.pem -pass 1234 -out hello.sig
5+
echo hello | gmssl sm9sign -key alice.pem -pass 1234 -out hello.sig
66
echo hello | gmssl sm9verify -pubmaster sign_mpk.pem -id alice -sig hello.sig
77

88
gmssl sm9setup -alg sm9encrypt -pass 1234 -out enc_msk.pem -pubout enc_mpk.pem
99
gmssl sm9keygen -alg sm9encrypt -in enc_msk.pem -inpass 1234 -id bob -out bob.pem -outpass 1234
1010
echo hello | gmssl sm9encrypt -pubmaster enc_mpk.pem -id bob -out hello.der
1111
gmssl sm9decrypt -key bob.pem -pass 1234 -id bob -in hello.der
12-

Core/GmSSL-3.1.1/demos/scripts/tlcp_client.sh

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash -x
22

3-
43
# https://ebssec.boc.cn
54
gmssl tlcp_client -host 123.124.191.183
65

Core/GmSSL-3.1.1/demos/scripts/tlcp_server.sh

+5-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash -x
22

3-
43
gmssl sm2keygen -pass 1234 -out rootcakey.pem
54
gmssl certgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN ROOTCA -days 3650 -key rootcakey.pem -pass 1234 -out rootcacert.pem -key_usage keyCertSign -key_usage cRLSign -ca
65
gmssl certparse -in rootcacert.pem
@@ -20,11 +19,11 @@ gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key encke
2019
gmssl reqsign -in encreq.pem -days 365 -key_usage keyEncipherment -cacert cacert.pem -key cakey.pem -pass 1234 -out enccert.pem
2120
gmssl certparse -in enccert.pem
2221

23-
cat signcert.pem > double_certs.pem
24-
cat enccert.pem >> double_certs.pem
25-
cat cacert.pem >> double_certs.pem
22+
cat signcert.pem >double_certs.pem
23+
cat enccert.pem >>double_certs.pem
24+
cat cacert.pem >>double_certs.pem
2625

27-
sudo gmssl tlcp_server -port 443 -cert double_certs.pem -key signkey.pem -pass 1234 -ex_key enckey.pem -ex_pass 1234 -cacert cacert.pem 1>/dev/null 2>/dev/null &
26+
sudo gmssl tlcp_server -port 443 -cert double_certs.pem -key signkey.pem -pass 1234 -ex_key enckey.pem -ex_pass 1234 -cacert cacert.pem 1>/dev/null 2>/dev/null &
2827
#sudo gmssl tlcp_server -port 443 -cert double_certs.pem -key signkey.pem -pass 1234 -ex_key enckey.pem -ex_pass 1234 1>/dev/null 2>/dev/null &
2928
sleep 3
3029

@@ -42,8 +41,6 @@ gmssl certparse -in clientcert.pem
4241

4342
openssl version
4443

45-
../../build/bin/demo_sm2_key_export clientkey.pem 1234 > clientpkey.pem
44+
../../build/bin/demo_sm2_key_export clientkey.pem 1234 >clientpkey.pem
4645

4746
#openssl s_client -enable_ntls -ntls -connect localhost:443 -no_ticket -CAfile rootcacert.pem -sign_cert clientcert.pem -sign_key clientpkey.pem -pass pass:1234
48-
49-

Core/GmSSL-3.1.1/demos/scripts/tlcpdemo.sh

+6-6
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,18 @@ gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key encke
2121
gmssl reqsign -in encreq.pem -days 365 -key_usage keyEncipherment -cacert cacert.pem -key cakey.pem -pass 1234 -out enccert.pem
2222
gmssl certparse -in enccert.pem
2323

24-
cat signcert.pem > double_certs.pem
25-
cat enccert.pem >> double_certs.pem
26-
cat cacert.pem >> double_certs.pem
24+
cat signcert.pem >double_certs.pem
25+
cat enccert.pem >>double_certs.pem
26+
cat cacert.pem >>double_certs.pem
2727

2828
# If port is already in use, `gmssl` will fail, use `ps aux | grep gmssl` and `sudo kill -9` to kill existing proc
2929
# TODO: check if `gmssl` is failed
3030
which sudo
3131
if [ $? -eq 0 ]; then
32-
SUDO=sudo
32+
SUDO=sudo
3333
fi
34-
$SUDO gmssl tlcp_server -port 443 -cert double_certs.pem -key signkey.pem -pass 1234 -ex_key enckey.pem -ex_pass 1234 -cacert cacert.pem & 1>/dev/null 2>/dev/null &
34+
$SUDO gmssl tlcp_server -port 443 -cert double_certs.pem -key signkey.pem -pass 1234 -ex_key enckey.pem -ex_pass 1234 -cacert cacert.pem &
35+
1>/dev/null 2>/dev/null &
3536
sleep 3
3637

3738
gmssl sm2keygen -pass 1234 -out clientkey.pem
@@ -40,4 +41,3 @@ gmssl reqsign -in clientreq.pem -days 365 -key_usage digitalSignature -cacert ca
4041
gmssl certparse -in clientcert.pem
4142

4243
gmssl tlcp_client -host 127.0.0.1 -cacert rootcacert.pem -cert clientcert.pem -key clientkey.pem -pass 1234
43-

0 commit comments

Comments
 (0)