APIJava版程序员手册文档格式.docx

上传人:b****4 文档编号:7794861 上传时间:2023-05-09 格式:DOCX 页数:114 大小:118.08KB
下载 相关 举报
APIJava版程序员手册文档格式.docx_第1页
第1页 / 共114页
APIJava版程序员手册文档格式.docx_第2页
第2页 / 共114页
APIJava版程序员手册文档格式.docx_第3页
第3页 / 共114页
APIJava版程序员手册文档格式.docx_第4页
第4页 / 共114页
APIJava版程序员手册文档格式.docx_第5页
第5页 / 共114页
APIJava版程序员手册文档格式.docx_第6页
第6页 / 共114页
APIJava版程序员手册文档格式.docx_第7页
第7页 / 共114页
APIJava版程序员手册文档格式.docx_第8页
第8页 / 共114页
APIJava版程序员手册文档格式.docx_第9页
第9页 / 共114页
APIJava版程序员手册文档格式.docx_第10页
第10页 / 共114页
APIJava版程序员手册文档格式.docx_第11页
第11页 / 共114页
APIJava版程序员手册文档格式.docx_第12页
第12页 / 共114页
APIJava版程序员手册文档格式.docx_第13页
第13页 / 共114页
APIJava版程序员手册文档格式.docx_第14页
第14页 / 共114页
APIJava版程序员手册文档格式.docx_第15页
第15页 / 共114页
APIJava版程序员手册文档格式.docx_第16页
第16页 / 共114页
APIJava版程序员手册文档格式.docx_第17页
第17页 / 共114页
APIJava版程序员手册文档格式.docx_第18页
第18页 / 共114页
APIJava版程序员手册文档格式.docx_第19页
第19页 / 共114页
APIJava版程序员手册文档格式.docx_第20页
第20页 / 共114页
亲,该文档总共114页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

APIJava版程序员手册文档格式.docx

《APIJava版程序员手册文档格式.docx》由会员分享,可在线阅读,更多相关《APIJava版程序员手册文档格式.docx(114页珍藏版)》请在冰点文库上搜索。

APIJava版程序员手册文档格式.docx

5.3类JIT_CRL16

5.3.1构造方法17

5.3.2获取CRL验证证书的方式getMode17

5.3.3CRL验证证书18

5.3.4验证CRL签名18

5.3.5获取错误信息19

5.3.6释放CRL资源19

5.4类JIT_Certificate19

5.4.1构造方法19

5.4.2获取证书中eMail21

5.4.3获取证书颁发者22

5.4.4获取证书序列号22

5.4.5获取证书主题22

5.4.6获取证书版本号23

5.4.7获取证书有效期23

5.4.8获取证书的应用类型23

5.4.9获取证书编码(二进制)24

5.4.10获取证书的个人身份标识码24

5.4.11提取所需对象标识符对应的内容25

5.4.12验证证书的有效性26

5.4.13验证证书的有效性(手工输入时间)26

5.4.14获取错误信息27

5.4.15释放Certificate资源27

5.4.16扩展接口28

5.5类JIT_Key29

5.5.1构造方法29

5.5.2产生对称密钥29

5.5.3基于口令产生对称密钥30

5.5.4包装密钥30

5.5.5解包装密钥31

5.5.6获取错误信息31

5.5.7释放Key资源32

5.6类JIT_Bin32

5.6.1构造方法32

5.6.2数据数字签名32

5.6.3验证数字签名33

5.6.4数据非对称加密34

5.6.5数据非对称解密35

5.6.6产生数据的MAC35

5.6.7验证数据的MAC36

5.6.8数据文摘37

5.6.9数据对称加密38

5.6.10数据对称解密38

5.6.11产生PKCS7数字信封39

5.6.12验证PKCS7数字信封42

5.6.13二进制数据转换成PEM编码44

5.6.14获取错误信息44

5.6.15释放bin资源45

5.7类JIT_Base6445

5.7.1构造方法45

5.7.2数据数字签名45

5.7.3验证数字签名46

5.7.4数据非对称加密47

5.7.5数据非对称解密48

5.7.6数据产生MAC48

5.7.7验证数据的MAC49

5.7.8数据文摘50

5.7.9数据对称加密51

5.7.10数据对称解密51

5.7.11产生PKCS7数字信封52

5.7.12验证PKCS7数字信封54

5.7.13PEM编码转换成二进制57

5.7.14获取错误信息57

5.7.15释放Base64资源57

5.8类JIT_EnvFile58

5.8.1构造方法58

5.8.2产生PKCS7数字信封文件58

5.8.3验证PKCS7数字信封文件61

5.8.4获取错误信息62

5.8.5释放EnvFile资源62

5.9类JIT_LDAP62

5.9.1构造方法62

5.9.2获取用户证书63

5.9.3释放获取的证书64

5.9.4获取错误信息64

5.9.5释放Ldap资源64

5.10类JIT_Random65

5.10.1创造随机数65

1引言

1.1概述

Ø

JITToolkit_API(Java版)是以吉大正元电子证书认证系统为基础,方便用户进行二次开发,整合先进的Java技术,提供的工具包。

用户利用工具包中各种接口可以作电子证书系统客户化,电子证书应用等方面的开发工作。

主要功能如下:

◆对客户和服务器证书的操作(包括验证和获取证书内容)

◆对用户数据的操作(包括签名、加密、数字信封和他们相对应的校验工作)

◆对用户文件的各种操作(包括封装数字信封和验证数字信封)

◆各种辅助操作(包括对对称密钥的操作、产生随机数、)

◆对Ldap、CRL、OCSP等各种辅助功能的操作

1.2开发平台及编程语言

⏹开发平台

Windows2000Server

⏹编程语言

Java

C++

⏹开发工具

Java2SDKStandardEditionv1.3.1_09(SunMicrosystems,Inc.)

BorlandJbuilder7Enterprise

MicrosoftVisualC++6.0EnterpriseEdition

1.3注意事项

⏹系统中的错误码均为负数。

⏹本接口不支持加密机,除windwos外不支持key使用

⏹除windows外不支持OCSP

1.4名词解释

2系统结构

2.1接口说明

JIT应用ToolkitsAPI(Java版)对用户提供10个类共70个接口:

⏹jit.toolkits

Toolkits主要功能类。

提供各对外接口。

⏹jit.parameters

结构。

用于存放程序中各种用到的结构体。

2.2配置文件说明

JIT应用ToolkitsAPI(JNI版)共需要5个配置文件,说明如下:

⏹cryptodevice.ini

加密设备配置文件。

文件证书使用时修改DeviceCount对应软加密库ID,

DeviceCount=1

Key证书使用时修改DeviceCount对应Key的ID

DeviceCount=2

两种证书同时使用时修改DeviceCount对应Key的ID

⏹MultiDeviceFile.ini

管理员证书介质使用JPF文件时使用此配置文件。

(无论那种情况该文件必须存在)

⏹MultiDeviceCard.ini

管理员证书介质使用USBKey时使用此文件。

⏹card.ini

USBKey的配置文件,通常不需要用户改动。

⏹jitocsp.ini

与OCSP服务器连接时需要的一些连接参数,用户可根据实际情况进行改动

⏹jcaapi.ini

与Ldap服务器连接时需要的一些连接参数,用户可根据实际情况进行改动

3数据结构

3.1基于口令产生密钥的基本信息

类名称:

JIT_PBE_PARAMS

功能:

存储PKCS5基于口令产生密钥的参数。

声明:

publicclassJIT_PBE_PARAMS{

publicbyte[]sPassword;

publicbyte[]bSalt;

publicintlIteration;

publicJIT_PBE_PARAMS(){

}

}

数据成员:

pPassword

口令的内容。

pSalt

盐值的内容。

(PKCS5基于口令产生密钥的协商好的附加信息)

nIteration

PKCS5基于口令密钥产生的循环叠代次数。

3.2初始化CRL参数

类名称:

JIT_CRLPARAM

功能:

存储初始化CRL的参数。

声明:

publicclassJIT_CRLPARAM{

publicbyte[]szCRLFile;

publicintnMode;

publicJIT_CRLPARAM(){

}

数据成员:

szCRLFile

用户指定的CRL文件路径。

这个路径必须是绝对路径。

这个路径不能为NULL。

在线方式验证,这个路径是下载的CRL存储在本地的CRL文件路径。

离线方式验证,这个路径是验证证书时使用的CRL文件路径。

nMode

通过CRL验证证书的方式。

包括在线方式验证和离线方式验证。

在线方式验证设置为VERIFY_MODE_ONLINE

离线方式验证设置为VERIFY_MODE_OFFLINE

3.3时间基本信息

类名称:

JIT_Time

存储证书中时间的值

publicclassJIT_Time{

publiclonglType;

publiclongdiffGMT;

publiclongyear;

publiclongmonth;

publiclongday;

publiclonghour;

publiclongmin;

publiclongsecond;

publicJIT_Time(){

}

}

lType

证书中时间的编码类型。

1:

格林威治时间

2:

本地时间

diffGMT

本地时间和格林威治时间的差值。

本地时间比格林威治时间早用负数表示。

本地时间比格林威治时间晚用正数表示。

0表示格林威治时间。

year本地时间年

month本地时间月

day本地时间日

hour本地时间时

min本地时间分

second本地时间秒

3.4证书有效期类

JIT_Valid

功能:

存储证书的有效期

publicclassJIT_Valid{

publicJIT_TimenotBefor

publicJIT_TimenotAfter

publicJIT_Valid(){

notBefor

证书有效期开始的时间

notAfter

证书有效期结束的时间

3.5初始化证书信息

JIT_CERTDEVPARAM(保留未用)

存储了从非数据流形式初始化证书时所需要的信息

publicclassJIT_CERTDEVPARAM{

publicbyte[]szDevInfo;

publicbyte[]szPWD;

publicJIT_CERTDEVPARAM(){

szDevInfo

描述证书存储的描述串。

描述串由两部分组成。

第一部分是存储介质描述符,第二部分是证书存储路径。

存储介质描述符:

“file:

//”表示证书的存储介质是磁盘。

“usb:

//”表示证书的存储介质是USB接口设备。

“com1:

//”表示证书的存储介质是COM接口设备。

证书存储路径:

表示证书存储的位置和名字

例如:

//d:

\mycert.jpf”表示D盘根目录下的mycert.jpf文件

\mycert.pfx”表示D盘根目录下的mycert.pfx文件

\mycert.cer”表示D盘根目录下的mycert.cer文件

//.jpf”表示USB接口中的.jpf文件

szPWD

证书密码

4全局常量定义

该类定义API中的常量。

在本文档中引用常量时直接引用常量名。

4.1标识常量

4.1.1所用到的配置文件

publicstaticStringCRYPT_INI_FILE_NAME="

cryptodevice.ini"

;

publicstaticStringOCSP_INI_FILE_NAME="

jitocsp.ini"

publicstaticStringCARD_INI_FILE_NAME="

card.ini"

publicstaticStringMULITYCARD_FILE_NAME="

MultiDeviceCard.ini"

publicstaticStringMULITYFILE_FILE_NAME="

MultiDeviceFile.ini"

publicstaticStringJCAAPI_INI_FILE_NAME="

jcaapi.ini"

4.1.2文件长度及密码长度

文件长度

publicstaticintFILE_NAME_LEN=256;

密码长度

publicstaticintPWD_LEN=128;

4.1.3数据类型定义;

Base64类型

publicstaticintDATA_TYPE_BASE64=0;

Bin类型

publicstaticintDATA_TYPE_BIN=1;

4.1.4信封类型定义

签名信封

publicstaticintENVELOP_SIGN=0;

加密信封

publicstaticintENVELOP_ENC=1;

既签名又加密信封

publicstaticintENVELOP_SIGN_ENC=2;

文摘信封

publicstaticintENVELOP_DIGEST=3;

MAC信封

publicstaticintENVELOP_MAC=4;

4.1.5证书扩展类型定义

jpf管理员证书文件

publicstaticintCERT_EXP_TYPE_JPF=0;

pfx包含私钥证书文件

publicstaticintCERT_EXP_TYPE_PFX=1;

cer公钥证书文件

publicstaticintCERT_EXP_TYPE_CER=2;

4.1.6证书用户类型定义

个人单证书

publicstaticintCERT_USE_TYPE_SINGLE=0;

jpf双证书

publicstaticintCERT_USE_TYPE_DOUBLE=1;

电子邮件保护证书

publicstaticintCERT_USE_TYPE_MAIL=2;

服务器证书

publicstaticintCERT_USE_TYPE_SERVER=3;

CA证书

publicstaticintCERT_USE_TYPE_CA=4;

4.1.7证书状态定义

正常状态

publicstaticintCERT_STATUS_NOMAL=0;

证书已注销

publicstaticintCERT_STATUS_REVOKE=1;

未知状态

publicstaticintCERT_STATUS_UNKNOWN=2;

4.1.8CRL验证证书方式

在线验证证书

publicstaticintVERIFY_MODE_ONLINE=0;

离线验证证书

publicstaticintVERIFY_MODE_OFFLINE=1;

4.1.9证书SN类型

签名证书

publicstaticintCERT_SN_TYPE_SIGN=1;

加密证书

publicstaticintCERT_SN_TYPE_ENC=2;

签名加密证书

publicstaticintCERT_SN_TYPE_SIGNENC=3;

4.1.10证书存储方式

文件方式存储

publicstaticintCERT_DEV_TYPE_FILE=0;

USBKey中存储

publicstaticintCERT_DEV_TYPE_USB=1;

COM接口设备存储

publicstaticintCERT_DEV_TYPE_COM=2;

4.1.11加密、解密、签名等算法

RSA加密解密;

publicstaticintCT_ALGO_RSA_PKCS=0x00000001;

MD2WithRSA签名验证

publicstaticintCT_ALGO_MD2_RSA_PKCS=0x00000004;

MD5WithRSA签名验证

publicstaticintCT_ALGO_MD5_RSA_PKCS=0x00000005;

SHA1WithRSA签名验证

publicstaticintCT_ALGO_SHA1_RSA_PKCS=0x00000006;

MD2文摘

publicstaticintCT_ALGO_MD2=0x00000200;

MD5文摘

publicstaticintCT_ALGO_MD5=0x00000210;

SHA1文摘

publicstaticintCT_ALGO_SHA_1=0x00000220;

RC2ECB方式加密解密

publicstaticintCT_ALGO_RC2_ECB=0x00000101;

RC4加密解密

publicstaticintCT_ALGO_RC4=0x00000111;

DESECB方式加密解密

publicstaticintCT_ALGO_DES_ECB=0x00000121;

3DESECB方式加密解密

publicstaticintCT_ALGO_DES3_ECB=0x00000132;

4.1.12标准扩展域

publicstaticintCERT_EXT_OID_IDENTIFYCARD=12861171;

//个人身份标识码:

OID=1.2.86.11.7.1

publicstaticintCERT_EXT_OID_INSURANCENUM=12861172;

//个人社会保险号:

OID=1.2.86.11.7.2

publicstaticintCERT_EXT_OID_ORGANIZATIONCODE=12861173;

//企业组织机构代码:

OID=1.2.86.11.7.3

publicstaticintCERT_EXT_OID_ICREGNUM=12861174;

//企业工商注册号:

OID=1.2.86.11.7.4

publicstaticintCERT_EXT_OID_TAXNUM=12861175;

//企业税号:

OID=1.2.86.11.7.5

4.2错误代码

成功

publicstaticintCT_SUCCESS=0

参数错误

publicstaticintCT_ERR_PARAM=-9000

内存错误

publicstaticintCT_ERR_MEMORY=-9001

内存分配少

publicstaticintCT_ERR_BUFFER_TOO_SMALL=-9090

加密库初始化错误

publicstaticintCT_ERR_CRYPTODEV_INIT=-9999

不能打开加密库

publicstaticintCT_ERR_CRYPTO_SESSION=-9002

不能访问加密设备

publicstaticintCT_ERR_CRYPTODEV_NO_ACCESS=-9003

OCS引擎未初始化

publicstaticintCT_ERR_OCSP_ENGINE_NOT_INIT=-9004

证书不完整

publicstaticintCT_ERR_CERT_NOT_INTEGRITY=-9005

取证书状态失败

publicstaticintCT_ERR_GET_CERT_STATUS=-9006

OCSP初始化错误

publicstaticintCT_ERR_OCSP_INIT=-9007

LDAP错误

publicstaticintCT_ERR_ACCESS_LDAP=-9008

CRL不完整

publicstaticintCT_ERR_CRL_NOT_INTEGRITY=-9009

证书颁发者或主题错误

publicstaticintCT_ERR_ISSUER_OR_SUBJECT=-9010

CRL引擎未初始化

publicstaticintCT_ERR_CRL_ENGINE_NOT_INIT=-9011

证书链不完整

publicstaticintCT_ERR_CERT_CHAIN_NOT_INTEGRITY=-9012

证书过期

publicstaticintCT_ERR_CERT_OVER=-9013

根证书无效

publicstaticintCT_ERR_ROOT_CERT_INVALID=-9014

CRL初始化错误

publicstaticintCT_ERR_CRL_INIT=-9015

口令错误

publicstaticintCT_ERR_PWD=-9016

打开文件错误

publicstaticintCT_ERR_FIL

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2