- 一、硬件安装
- 密码卡外观
- 主机内部的卡槽,用于插密码卡
- 将密码卡插入卡槽中
- 二、测试密码卡是否可用
- 三、测试密码卡中的密码算法
- 执行bin,对lucky.txt进行加密(使用的是SM4对称加密算法)
- 执行bin,对Enc_lucky.txt进行解密(使用的是SM4对称解密算法)
- 执行bin,对lucky.txt进行签名(再强调一遍,这个文件必须为32字节,不然会报错)
- 执行bin,对lucky.txt进行验签
- 执行bin,使用SM3算法生成随机数
- 总结
1.使用特制U盘(一般U盘可能无法直接复制文件到Linux系统)将新密码卡文件夹复制进Linux操作系统,并找到新密码卡文件夹,界面如下(以下只是实例-以自己情况定):
2.这个文件夹的文件如下
3.先提权,输入命令lspci | grep lin测试卡是否能用
sudo su lspci | grep lin
出现以上结果表示卡能用
4.运行driver.sh和engine.sh两个脚本,显示start XXX的闪烁字样表示脚本运行成功
5.进入so文件,将so中的四个动态库文件放到/lib64文件夹里并运行ldconfig命令
cd so cp * /lib64 ldconfig
6.进入45_func_all_test_final_20210514文件夹并执行make命令
7.执行ldd all_test确认需要的动态库是否加载完成
8.测试整个项目程序是否可用,执行这个all_test,出现如下结果表示可用(注:那个error可以不用管,这个程序会跑很久,可以提前ctrl+c结束)
-
进入测试样例文件夹准备进行测试(注:以下测试均为功能性测试,目的是为了验证接口是否可用),创建一个lucky.txt文件夹,输入如下:
-
这个文件的大小为32字节(后面的SM2签名和验签需要的文件大小规定为32字节),使用SM4对文件大小无要求。
选项1是指的使用SM4加密,2是指使用SM4解密,3是指使用SM2实现签名,4是指使用SM2实现验签,5是指使用SM3算法生成哈希,6-9选项可不用管。
这里输入文件名,即可实现加密,这里fill length of data后面的值(这里是10208)要记录下来,解密要用。加密后生成一个puc_lucky.txt文件和一个Enc_lucky.txt的文件,打开Enc_lucky.txt如下:
输入选项2,输入需要解密的文件-Enc_lucky.txt,输入刚刚记录的填充值(10208),再输入密钥文件puc_lucky.txt,显示解密成功,生成一个Dec_Enc_lucky.txt文件,打开文件发现已解密成明文
选择选项3,输入文件名lucky.txt即可,显示Test Completed,生成Sign_lucky.txt。
输入选项4,首先输入lucky.txt再输入Sign_lucky.txt显示验签成功。
这里直接选择选项5即可(只是功能性测试),生成一段哈希(每次生成哈希不同)。
- SM4加密后会生成Enc_XXX.txt和puc_XXX.txt,也要记录下fill length of data的值,后面解密要用
- SM4解密后会生成Dec_Enc_XXX.txt文件
- 使用SM2签名会生成Sigh_XXX.txt文件



