当前位置: 首页 > 工具软件 > TaSSL > 使用案例 >

江南天安环境的编译和使用(tassl)

丁高峯
2023-12-01
在openssl-1.1.1d上完成ECC-SM4-SM3的套件移植,参考江南天安的代码
https://github.com/jntass/TASSL.git
和蚂蚁沟通,他们希望我们先在江南天安的openssl上先跑通一个完整的SSL握手过程,再对比CCP的性能。
目前完成基于江南天安的openssl跑通了一个完整的SSL握手过程,下一步在tassl上使能CCP功能给出性能数据。
1,下载代码git clone https://github.com/jntass/TASSL.git
2,配置编译安装

chmod 777 config
./config enable-shared --prefix=/usr/local/ --openssldir=/usr/local/ssl/
make && sudo make install
3,查看openssl版本
wangxiaoming@wxm:~$ openssl version
OpenSSL 1.1.1b Tassl 0.8 27 Nov 2019
4,使用demo生成证书密钥。

cd /usr/local/tassl_demo/cert/

sudo chmod 777 gen_sm2_cert.sh

sudo ./gen_sm2_cert.sh
生成的证书密钥文件在/usr/local/tassl_demo/cert/certs
5,由于ECC-SM4-SM3没有在s_client 端实现,目前先跑demo里的握手过程。
进入安装openssl程序所在的demo目录。
cd  /usr/local/tassl_demo/ssl
sudo chmod 777 mk.sh

sudo ./mk.sh
生成执行文件sm2svr,sm2cli。
6,运行服务端和客户端,完成握手过程。
服务器端
wangxiaoming@wxm:/usr/local/tassl_demo/ssl$ ./sm2svr
Usage: ./sm2svr [-h [-a]] [-p port]
-h: Use HSM
-a: Use HSM With Asynchronism Mode
-p port: service port, default 4433
Service With HSM=NO AIO=NO Port=4433

再打开一个窗口 运行客户端
wangxiaoming@wxm:/usr/local/tassl_demo/ssl$ ./sm2cli 127.0.0.1:4433
SSL recv: ----This message is from the SSL server----.
握手结束程序退出。
服务器端打印
Connection from 127.0.0.1, port 33018
SSL connection using ECDHE-SM4-SM3
鏁板瓧璇佷功淇℃伅:
璇佷功: /C=CN/ST=BJ/L=HaiDian/O=Beijing JNTA Technology LTD./OU=BSRC of TASS/CN=client sign (SM2)
棰佸彂鑰 /C=CN/ST=BJ/L=HaiDian/O=Beijing JNTA Technology LTD./OU=SORB of TASS/CN=Test CA (SM2)
Received 23 chars:'hello i am from client '
wangxiaoming@wxm:/usr/local/tassl_demo/ssl$ ./sm2svr
Usage: ./sm2svr [-h [-a]] [-p port]
-h: Use HSM
-a: Use HSM With Asynchronism Mode
-p port: service port, default 4433
Service With HSM=NO AIO=NO Port=4433

使用江南天安的openssl 在certs目录下的证书和密钥。目前完成s_server 和s_client 之间基于ECC-SM4-SM3的握手
openssl s_server -accept 4466 -cert_enc SE.crt -key_enc SE.key -cert SS.crt -key SS.key 
openssl  s_client  -connect  127.0.0.1:4466  -cipher ECC-SM4-SM3 -cert_enc CE.pem 
通过动态使用engine进行握手
openssl s_server -accept 4466 -cert_enc SE.crt -key_enc SE.key -cert SS.crt -key SS.key -engine hygonccp
openssl  s_client  -connect  127.0.0.1:4466  -cipher ECC-SM4-SM3 -cert_enc CE.pem -engine hygonccp

kcapi:

  1. autoreconf -i
  2. ./configure --prefix=/usr/local/ --enable-kcapi-test --enable-kcapi-speed --enable-lib-asym
  3. .make clean;make
 类似资料: