exp1-Password engine-加密API实现与测试
加密API实现与测试 181210
1、准备工作
下载并查找GMT 0018-2012密码设备应用接口规范原始文档进行学习。
2、实现GMT 0018-2012接口函数
实现GMT 0018-2012密码设备应用接口规范的接口函数。至少实现设备管理中实现:
1)打开设备、关闭设备、获取设备信息、产生随机数
代码链接:https://gitee.com/amyonelse/research-on-exp1-api.git
实现结果:
具体sdf头文件:
2)密钥管理导出 ECC签名公钥
SDF_ExportSignPublicKey_ECC
I.导出 ECC加密公钥∶SDF_ExportEncPublicKey_ECC
J. 产生 ECC非对称密钥对并输出∶SDF_GenerateKeyPair_ECC K.
3)非对称算法(至少支持SM2)
外部密钥 ECC验证∶SDF_ExternalVerify_ECC
内部密钥 ECC签名;SDF_InternalSign_ECC
内部密钥 ECC验证∶SDF_InternalVerify_ECC
外部密钥 ECC加密∶SDF_ExternalEncrypt_ECC
4)对称算法(至少支持SM4)
SDF_Encrypt
对称解密∶SDF_Dccrypt
计算 MAC∶SDF_CalculateMAC
5)杂凑算法(至少支持SM3)
杂凑运算初始化∶SDF_HashInit
多包杂凑运算∶SDF_HashUpdate
杂凑运算结束∶SDF_HashFinal
密钥管理要求
基于本标准设计、开发的密码设备在密钥管理方面,应满足以下要求;
1)设备密钥的使用不对应用系统开放;
2) 密钥必须用安全的方法产生并存储;
3) 在任何时间、任何情况下,除公钥外的密钥均不能以明文形式出现在密码设备外;
4) 密码设备内部存储的密钥应具备有效的密钥保护机制,防止解剖、探测和非法读取;
5) 密码设备内部存储的密钥应具备权限控制机制,防止非法使用和导出。
设备状态要求
基于本标准设计、开发的密码设备在设备状态方面,应满足以下要求;
1) 密码设备应具有初始和就绪两个状态;
2) 未安装设备密钥的密码设备应处干初始状态,已安装设备密钥的密码设备应处于就绪状态;
3) 在初始状态下,除可读取设备信息、设备密钥的生成或恢复操作外,不能执行任何操作,生成或恢复设备密钥后,密码设备处于就绪状态;
4) 在就绪状态下,除设备密钥的生成或恢复操作外,应能执行任何操作;
5) 在就绪状态下进行的密钥操作,设备操作员应经过密码设备的认证。
exp1-Password engine-加密API实现与测试的更多相关文章
- SQLPROMPT5.3对各种加密对象的解密测试
SQLPROMPT5.3对各种加密对象的解密测试 测试环境: SQL2005个人开发者版 SP4 SQLPROMPT版本:5.3.8.2 视图 CREATE VIEW aa WITH ENCRYPTI ...
- Windows加密API的功能分类
本地数据加密保护本地数据加密保护机制提供了简单的DAPI调用接口,密钥管理等等一概由系统来处理.DAPI的数据加密保护机制在用户登录会话范围或者本地计算范围,使用操作系统设计的方式加密保护数据和解密还 ...
- Windows加密API的层次
Windows平台下的应用程序可以分为托管的.NET程序和本机的Win32(以及Win64)两大类..NET有着类似于JAVA的虚拟机和二进制码托管运行环境,提供了在不同Windows平台上的代码可携 ...
- 使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试
这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的"阅读原文"获得.后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称 ...
- Web API 自动生成帮助文档并使用Web API Test Client 测试
之前在项目中有用到webapi对外提供接口,发现在项目中有根据webapi的方法和注释自动生成帮助文档,还可以测试webapi方法,功能很是强大,现拿出来与大家分享一下. 先看一下生成的webapi文 ...
- Asp.net Web Api进行Nunit测试
有两种方式 1.模拟Web请求. 2.直接本地调用Api接口 但是由于本地直接调用没有模拟请求环境,所以request为null public static HttpResponseMessage C ...
- .NET MVC结构框架下的微信扫码支付模式二 API接口开发测试
直接上干货 ,我们的宗旨就是为人民服务.授人以鱼不如授人以渔.不吹毛求疵.不浮夸.不虚伪.不忽悠.一切都是为了社会共同进步,繁荣昌盛,小程序猿.大程序猿.老程序猿还是嫩程序猿,希望这个社会不要太急功近 ...
- .NET微信扫码支付模式二API接口开发测试
主要实现微信扫码支付,官网的SDKdemo 就不要使用 一直不能调试通过的,还是自己按照API接口文档一步一步来实现,吐槽下微信一点责任感都木有,能不能demo搞个正常的吗,不要坑惨了一大群码农们有点 ...
- HTC Vive前置摄像头API(未测试)
/*WebCamTexture:网络摄像头材质 WebCamTexture.Play() 播放: WebCamTexture.Pause() 暂停: WebCamTexture.Stop() 停止:* ...
- 对称加密,API加密
用于API加密,双方约定好signature_key对请求的参数进行处理 处理步骤如下 把请求的数据生成为key=>value的形式,然后拼接生成arg_key arg_key加上双方约定的si ...
随机推荐
- 线程基础知识05 synchronized类锁和对象锁演示
1 简介 synchronized在方法内,同步代码块,传入对象,使用的是对象锁,传入class对象,使用的是类锁 作用于普通方法,也是对象锁,当前对象 作用于静态方法,是类锁 2 同步方法示例 2. ...
- 【CodeSmith】The System.Data.SQLite library is not installed on this computer,不能使用SQLite解决办法
1.出现问题原因 1)System.Data.SQLite 尚未安装在您的计算机上 2)System.Data.SQLite 尚未正确配置 2.下载并安装System.Data.Sqlite [注意] ...
- CodeSmith 简单使用和常用模板
1.简介 CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET的语法来生成任意类型的代码或文本. 2.软件布局 整体布局和visual studio系列相似,用过VS开发对此 ...
- 2021级《JAVA语言程序设计》上机考试试题8
专业教师功能页: <%@ page language="java" contentType="text/html; charset=UTF-8" page ...
- 微信小程序分包
当我们程序太大的时候,打开小程序就会比较慢,此处就需要用到分包加载,按照模块划分不同的包,让用户在需要的时候才加载对用的模块,也就是用户在进入某些页面的时候才下载该页面的资源,提高小程序的打开速度,以 ...
- dotnet 缓存
Net 内置内存缓存 asp.net 中是有缓存的实现:HttpContext.Cache,缓存的数据是放到 Web 服务器的进程 内存里. 在控制台.WinForm.子线程.SignalR 等不支持 ...
- 两台linux服务器互相自动备份
转载:csdn https://blog.csdn.net/gjwgjw1111/article/details/103515031
- Centos 7.x系统下忘记用户登录密码,重置密码的方法
转载csdn: Centos 7.x系统下忘记用户登录密码,重置密码的方法_ATree的博客-CSDN博客_centos7密码忘记 重置密码的方法 Centos7修改root密码_shanvlang的 ...
- 自己动手从零写桌面操作系统GrapeOS系列教程——7.计算机组成与运行原理
学习操作系统原理最好的方法是自己写一个简单的操作系统. 在大学计算机课程中会学到一个叫冯·诺依曼结构的东西,很多同学当时学的也不是很清楚,也就是记住冯·诺依曼结构中五个部分的名称,能应付考试.主要原因 ...
- mysql的双1设置是什么?
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL磁盘写入策略以及数据安全性的关键参数.如果innodb_flush_log_at_trx_ ...