加密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实现与测试的更多相关文章

  1. SQLPROMPT5.3对各种加密对象的解密测试

    SQLPROMPT5.3对各种加密对象的解密测试 测试环境: SQL2005个人开发者版 SP4 SQLPROMPT版本:5.3.8.2 视图 CREATE VIEW aa WITH ENCRYPTI ...

  2. Windows加密API的功能分类

    本地数据加密保护本地数据加密保护机制提供了简单的DAPI调用接口,密钥管理等等一概由系统来处理.DAPI的数据加密保护机制在用户登录会话范围或者本地计算范围,使用操作系统设计的方式加密保护数据和解密还 ...

  3. Windows加密API的层次

    Windows平台下的应用程序可以分为托管的.NET程序和本机的Win32(以及Win64)两大类..NET有着类似于JAVA的虚拟机和二进制码托管运行环境,提供了在不同Windows平台上的代码可携 ...

  4. 使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试

    这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的"阅读原文"获得.后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称 ...

  5. Web API 自动生成帮助文档并使用Web API Test Client 测试

    之前在项目中有用到webapi对外提供接口,发现在项目中有根据webapi的方法和注释自动生成帮助文档,还可以测试webapi方法,功能很是强大,现拿出来与大家分享一下. 先看一下生成的webapi文 ...

  6. Asp.net Web Api进行Nunit测试

    有两种方式 1.模拟Web请求. 2.直接本地调用Api接口 但是由于本地直接调用没有模拟请求环境,所以request为null public static HttpResponseMessage C ...

  7. .NET MVC结构框架下的微信扫码支付模式二 API接口开发测试

    直接上干货 ,我们的宗旨就是为人民服务.授人以鱼不如授人以渔.不吹毛求疵.不浮夸.不虚伪.不忽悠.一切都是为了社会共同进步,繁荣昌盛,小程序猿.大程序猿.老程序猿还是嫩程序猿,希望这个社会不要太急功近 ...

  8. .NET微信扫码支付模式二API接口开发测试

    主要实现微信扫码支付,官网的SDKdemo 就不要使用 一直不能调试通过的,还是自己按照API接口文档一步一步来实现,吐槽下微信一点责任感都木有,能不能demo搞个正常的吗,不要坑惨了一大群码农们有点 ...

  9. HTC Vive前置摄像头API(未测试)

    /*WebCamTexture:网络摄像头材质 WebCamTexture.Play() 播放: WebCamTexture.Pause() 暂停: WebCamTexture.Stop() 停止:* ...

  10. 对称加密,API加密

    用于API加密,双方约定好signature_key对请求的参数进行处理 处理步骤如下 把请求的数据生成为key=>value的形式,然后拼接生成arg_key arg_key加上双方约定的si ...

随机推荐

  1. 11月16日内容总结——OSI传输层之TCP与UDP协议、应用层简介、socket模块介绍及代码优化、半连接池的概念

    目录 一.传输层之TCP与UDP协议 1.TCP协议(重要) 三次握手建链接(白话版) 三次握手专业版 四次挥手断连接(白话版) 四次挥手专业版 2.UDP协议 3.tcp和udp的对比 二.应用层简 ...

  2. composer 安装 laravel指定版本

    composer 安装 laravel指定版本 $ composer create-project --prefer-dist laravel/laravel notelog '7.*'

  3. 工具-使用org.openjdk.jol查看对象在内存中的布局

    1 添加依赖 <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core& ...

  4. Linux06-常用命令 日期 日历 查找 过滤

    1.date  日期 2.cal 日历 3.find 查找 4.locate 查找 5.grep  过滤 1.时间日期类 date指令-显示当前日期 1)指令: date (功能描述:显示当前时间) ...

  5. 亲测有效! Studio One 6 V6.0.1 音乐编曲工具 含win/mac版

    亲测有效! Studio One 6 V6.0.1 音乐编曲工具  含win/mac版 记录.生产.混合.掌握和执行所有操作.从工作室到舞台,Studio One6以易用为核心,是您的创意合作伙伴.当 ...

  6. FAS2720 配置

    FAS 2720配置操作 第1章 初始化 1.1设备物理安装 1.1.1组件介绍 机头FAS 2720 (2U)   前面板 后面 1.1.2准备工作 (1)工具准备 螺丝刀.网线.Console线. ...

  7. JZOJ 4216.平方和

    \(\text{Problem}\) 维护一个序列 支持插入一个数,区间加,询问区间平方和 \(\text{Solution}\) 平衡树很模板的题了 考场打 \(fhq-treap\) 毫无悬念过了 ...

  8. JZOJ 4308.长寿花

    题面 思路 这种题当然要 \(dp\) 啦 设 \(g_{i,j}\) 表示前 \(i\) 个位置用指定的 \(j\) 种颜色装饰(即用颜色 \(1..j\) 来装饰) 那么 \(g_{i,j}=g_ ...

  9. 题解 CF17201 A~D2

    A 先约分,显然答案必然是 0 或 1 或 2 相等为 0,主要考虑 1 或 2 的情况. 假设 \(a>b\),令 \(c = a/b\),如果 \(c\) 为整数答案为 \(1\),否则为 ...

  10. Art of Illusion 一款**的开源 3D 建模和渲染软件

    原文地址:https://www.mvrlink.com/artofillusion/ Art of Illusion 是一个免费的开源 3D 建模和渲染工作室.它的许多功能可与商业程序中的功能相媲美 ...