
金融密码机API指南手册
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
《金融密码机API指南手册》是一份全面介绍金融领域中加密技术应用的权威资料,详细解释了如何通过API接口安全地处理和传输敏感数据。
### 金融密码机API手册知识点总结
#### 一、文档概览
《金融密码机API手册》主要介绍了格尔金融密码机的相关接口及其实现方法。该手册由上海格尔信息技术有限公司发布,版本为V1.0,出版时间为2011年9月。手册详细列出了各个API接口的功能说明、函数原型以及输入参数等信息,旨在为开发人员提供一个清晰的指南,以便于在实际项目中使用这些接口。
#### 二、接口定义
##### 1. PBOC2.0 MAC
- **功能说明**:该接口主要用于更新卡片余额及卡片信息时确保数据的完整性和正确性,符合PBOC2.0标准。
- **函数原型**:
```java
public byte[] PBOC2MAC(byte[] IV, byte[] DIV1, byte[] DIV2, byte[] EncType, byte[] MDK_MAC, byte DataLen, byte[] Data) throws EMException;
```
- **输入参数**
- `IV`:初始化向量(Byte数组)
- `DIV1`:子密钥分散用分散因子(Byte数组),通常来源于PAN。
- `DIV2`:过程密钥分散用分散因子(Byte数组),通常来源于ATC。
- `EncType`:加密类型(Byte数组),0x00表示64位分组加密(目前不支持),0x01表示128位分组加密。
- `MDK_MAC`:经LMK保护的MDK_MAC(Byte数组)。
- `DataLen`:数据长度(Byte数组),为16进制。
- `Data`:待处理的数据(Byte数组),长度应为8的整数倍。
##### 2. PBOC2.0 MAC(索引版)
- **功能说明**:与PBOC2.0 MAC类似,但经LMK保护的MDK_MAC是通过密钥类型、密钥索引、密钥ID获取的。
- **函数原型**:
```java
public byte[] PBOC2MACIndex(byte[] IV, byte[] DIV1, byte[] DIV2, byte[] EncType, int KeyType, int KeyIndex, int KeyID, byte DataLen, byte[] Data) throws EMException;
```
- **输入参数**
- `IV`:初始化向量(Byte数组)。
- `DIV1`:子密钥分散用分散因子(Byte数组),通常来源于PAN。
- `DIV2`:过程密钥分散用分散因子(Byte数组),通常来源于ATC。
- `EncType`:加密类型(Byte数组),0x00表示64位分组加密(目前不支持),0x01表示128位分组加密。
- `KeyType`:密钥类型。
- `KeyIndex`:密钥索引。
- `KeyID`:密钥ID。
- `DataLen`:数据长度(Byte数组),为16进制。
- `Data`:待处理的数据(Byte数组),长度应为8的整数倍。
##### 3. PBOC MAC 运算
- **功能说明**:执行基于PBOC标准的MAC计算。
- **函数原型**:
```java
public byte[] PBOCMAC(byte[] IV, byte[] DIV1, byte[] DIV2, byte[] EncType, byte[] MDK_MAC, byte DataLen, byte[] Data) throws EMException;
```
- **输入参数**:与PBOC2.0 MAC相同。
##### 4. 密文 KEKTK->LMK 转加密
- **功能说明**:将密文形式的KEK或TK转换成LMK保护的形式。
- **函数原型**:
```java
public byte[] TransEncryptKEK(byte[] EncryptedKEK, byte[] LMK) throws EMException;
```
- **输入参数**
- `EncryptedKEK`:已加密的KEK(Byte数组)。
- `LMK`:本地主密钥(Byte数组)。
##### 5. 密文 LMK->KEKTK 转加密
- **功能说明**:将LMK保护的密文转换成KEK或TK的形式。
- **函数原型**:
```java
public byte[] TransEncryptToKEK(byte[] LMKProtectedKEK, byte[] KEK) throws EMException;
```
- **输入参数**
- `LMKProtectedKEK`:LMK保护的KEK(Byte数组)。
- `KEK`:交换密钥(Byte数组)。
##### 6. 生成公私钥对
- **功能说明**:生成一对公私钥。
- **函数原型**:
```java
public void Generate
全部评论 (0)


