栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

密码卡的应用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

密码卡的应用

文章目录
  • 一、硬件安装
    • 密码卡外观
    • 主机内部的卡槽,用于插密码卡
    • 将密码卡插入卡槽中
  • 二、测试密码卡是否可用
  • 三、测试密码卡中的密码算法
    • 执行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结束)

三、测试密码卡中的密码算法
  1. 进入测试样例文件夹准备进行测试(注:以下测试均为功能性测试,目的是为了验证接口是否可用),创建一个lucky.txt文件夹,输入如下:

  2. 这个文件的大小为32字节(后面的SM2签名和验签需要的文件大小规定为32字节),使用SM4对文件大小无要求。

执行bin,对lucky.txt进行加密(使用的是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如下:

执行bin,对Enc_lucky.txt进行解密(使用的是SM4对称解密算法)


输入选项2,输入需要解密的文件-Enc_lucky.txt,输入刚刚记录的填充值(10208),再输入密钥文件puc_lucky.txt,显示解密成功,生成一个Dec_Enc_lucky.txt文件,打开文件发现已解密成明文

执行bin,对lucky.txt进行签名(再强调一遍,这个文件必须为32字节,不然会报错)


选择选项3,输入文件名lucky.txt即可,显示Test Completed,生成Sign_lucky.txt。

执行bin,对lucky.txt进行验签


输入选项4,首先输入lucky.txt再输入Sign_lucky.txt显示验签成功。

执行bin,使用SM3算法生成随机数


这里直接选择选项5即可(只是功能性测试),生成一段哈希(每次生成哈希不同)。

总结
  1. SM4加密后会生成Enc_XXX.txt和puc_XXX.txt,也要记录下fill length of data的值,后面解密要用
  2. SM4解密后会生成Dec_Enc_XXX.txt文件
  3. 使用SM2签名会生成Sigh_XXX.txt文件
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/512564.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号