JIT应用ToolkitsAPI(Java版)程序员手册精品资料.doc
《JIT应用ToolkitsAPI(Java版)程序员手册精品资料.doc》由会员分享,可在线阅读,更多相关《JIT应用ToolkitsAPI(Java版)程序员手册精品资料.doc(83页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、JIT应用Toolkits API(Java版)程序员手册JIT应用Toolkits API(Java版)程序员手册JIT版权所有(2001)吉 大 正 元 信 息 技 术 股 份 有 限 公 司Jilin University Information Technologies Co., Ltd.目 录1引言41.1概述41.2开发平台及编程语言41.3注意事项41.4名词解释42系统结构42.1接口说明42.2配置文件说明43数据结构53.1基于口令产生密钥的基本信息53.2初始化CRL参数53.3时间基本信息63.4证书有效期类73.5初始化证书信息74全局常量定义84.1标识常量84.1
2、.1所用到的配置文件84.1.2文件长度及密码长度84.1.3数据类型定义;84.1.4信封类型定义84.1.5证书扩展类型定义94.1.6证书用户类型定义94.1.7证书状态定义94.1.8CRL验证证书方式94.1.9证书SN类型94.1.10证书存储方式104.1.11加密、解密、签名 等算法104.1.12标准扩展域104.2错误代码115函数说明135.1类JIT_Engine135.1.1构造函数135.1.2获取错误信息145.1.3释放引擎资源145.2类JIT_OCSP145.2.1构造方法145.2.2查询证书状态155.2.3获取错误信息165.2.4释放OCSP资源16
3、5.3类JIT_CRL165.3.1构造方法175.3.2获取CRL验证证书的方式getMode175.3.3CRL验证证书185.3.4验证CRL签名185.3.5获取错误信息195.3.6释放CRL资源195.4类JIT_Certificate195.4.1构造方法195.4.2获取证书中eMail215.4.3获取证书颁发者225.4.4获取证书序列号225.4.5获取证书主题225.4.6获取证书版本号235.4.7获取证书有效期235.4.8获取证书的应用类型235.4.9获取证书编码(二进制)245.4.10获取证书的个人身份标识码245.4.11提取所需对象标识符对应的内容255
4、.4.12验证证书的有效性265.4.13验证证书的有效性(手工输入时间)265.4.14获取错误信息275.4.15释放Certificate资源275.4.16扩展接口285.5类JIT_Key295.5.1构造方法295.5.2产生对称密钥295.5.3基于口令产生对称密钥305.5.4包装密钥305.5.5解包装密钥315.5.6获取错误信息315.5.7释放Key资源325.6类JIT_Bin325.6.1构造方法325.6.2数据数字签名325.6.3验证数字签名335.6.4数据非对称加密345.6.5数据非对称解密355.6.6产生数据的MAC355.6.7验证数据的MAC36
5、5.6.8数据文摘375.6.9数据对称加密385.6.10数据对称解密385.6.11产生PKCS7数字信封395.6.12验证PKCS7数字信封425.6.13二进制数据转换成PEM编码445.6.14获取错误信息445.6.15释放bin资源455.7类JIT_Base64455.7.1构造方法455.7.2数据数字签名455.7.3验证数字签名465.7.4数据非对称加密475.7.5数据非对称解密485.7.6数据产生MAC485.7.7验证数据的MAC495.7.8数据文摘505.7.9数据对称加密515.7.10数据对称解密515.7.11产生PKCS7数字信封525.7.12验
6、证PKCS7数字信封545.7.13PEM编码转换成二进制575.7.14获取错误信息575.7.15释放Base64资源575.8类JIT_EnvFile585.8.1构造方法585.8.2产生PKCS7数字信封文件585.8.3验证PKCS7数字信封文件615.8.4获取错误信息625.8.5释放EnvFile资源625.9类JIT_LDAP625.9.1构造方法625.9.2获取用户证书635.9.3释放获取的证书645.9.4获取错误信息645.9.5释放Ldap资源645.10类JIT_Random655.10.1创造随机数651 引言1.1 概述 JIT Toolkit_API(J
7、ava版)是以吉大正元电子证书认证系统为基础,方便用户进行二次开发,整合先进的Java技术,提供的工具包。用户利用工具包中各种接口可以作电子证书系统客户化,电子证书应用等方面的开发工作。主要功能如下:u 对客户和服务器证书的操作(包括验证和获取证书内容)u 对用户数据的操作(包括签名、加密、数字信封和他们相对应的校验工作)u 对用户文件的各种操作(包括封装数字信封和验证数字信封)u 各种辅助操作(包括对对称密钥的操作、产生随机数、)u 对Ldap、CRL、OCSP等各种辅助功能的操作1.2 开发平台及编程语言n 开发平台Windows 2000 Servern 编程语言JavaC+n 开发工具
8、Java 2 SDK Standard Edition v1.3.1_09(Sun Microsystems, Inc.)Borland Jbuilder 7 EnterpriseMicrosoft Visual C+ 6.0 Enterprise Edition1.3 注意事项n 系统中的错误码均为负数。n 本接口不支持加密机,除windwos外不支持key使用n 除windows外不支持OCSP1.4 名词解释无2 系统结构2.1 接口说明JIT应用Toolkits API(Java版)对用户提供10个类共70个接口:n jit.toolkitsToolkits主要功能类。提供各对外接口。
9、n jit.parameters结构。用于存放程序中各种用到的结构体。2.2 配置文件说明JIT 应用Toolkits API(JNI版)共需要5个配置文件,说明如下:n cryptodevice.ini加密设备配置文件。文件证书使用时修改DeviceCount对应软加密库ID,DeviceCount =1Key证书使用时修改DeviceCount对应Key的IDDeviceCount =2两种证书同时使用时修改DeviceCount对应Key的IDDeviceCount =2n MultiDeviceFile.ini管理员证书介质使用JPF文件时使用此配置文件。(无论那种情况该文件必须存在)
10、n MultiDeviceCard.ini管理员证书介质使用USB Key时使用此文件。(无论那种情况该文件必须存在)n card.iniUSB Key的配置文件,通常不需要用户改动。n jitocsp.ini与OCSP服务器连接时需要的一些连接参数,用户可根据实际情况进行改动n jcaapi.ini与Ldap服务器连接时需要的一些连接参数,用户可根据实际情况进行改动3 数据结构3.1 基于口令产生密钥的基本信息类名称:JIT_PBE_PARAMS功能:存储PKCS5基于口令产生密钥的参数。声明:public class JIT_PBE_PARAMS public byte sPassword
11、; public byte bSalt; public int lIteration;public JIT_PBE_PARAMS() 数据成员:pPassword 口令的内容。pSalt盐值的内容。(PKCS5基于口令产生密钥的协商好的附加信息)nIterationPKCS5基于口令密钥产生的循环叠代次数。3.2 初始化CRL参数类名称:JIT_CRLPARAM功能:存储初始化CRL的参数。声明:public class JIT_CRLPARAM public byte szCRLFile; public int nMode; public JIT_CRLPARAM() 数据成员:szCRLF
12、ile 用户指定的CRL文件路径。这个路径必须是绝对路径。这个路径不能为NULL。在线方式验证,这个路径是下载的CRL存储在本地的CRL文件路径。离线方式验证,这个路径是验证证书时使用的CRL文件路径。nMode通过CRL验证证书的方式。包括在线方式验证和离线方式验证。在线方式验证设置为VERIFY_MODE_ONLINE离线方式验证设置为VERIFY_MODE_OFFLINE3.3 时间基本信息类名称:JIT_Time功能:存储证书中时间的值声明: public class JIT_Timepublic long lType; public long diffGMT; public long
13、 year; public long month; public long day; public long hour; public long min; public long second;public JIT_Time() 数据成员:lType 证书中时间的编码类型。1:格林威治时间 2:本地时间diffGMT 本地时间和格林威治时间的差值。本地时间比格林威治时间早用负数表示。本地时间比格林威治时间晚用正数表示。0表示格林威治时间。year 本地时间年month本地时间月day 本地时间日hour本地时间时min 本地时间分second本地时间秒3.4 证书有效期类类名称:JIT_Val
14、id功能:存储证书的有效期声明:public class JIT_Validpublic JIT_Time notBeforpublic JIT_Time notAfterpublic JIT_Valid() 数据成员:notBefor证书有效期开始的时间notAfter证书有效期结束的时间3.5 初始化证书信息类名称:JIT_CERTDEVPARAM(保留未用)功能:存储了从非数据流形式初始化证书时所需要的信息声明: public class JIT_CERTDEVPARAM public byte szDevInfo; public byte szPWD; public JIT_CERTD
15、EVPARAM() 数据成员:szDevInfo 描述证书存储的描述串。描述串由两部分组成。第一部分是存储介质描述符,第二部分是证书存储路径。存储介质描述符:“file:/”表示证书的存储介质是磁盘。“usb:/”表示证书的存储介质是USB接口设备。“com1:/”表示证书的存储介质是COM接口设备。证书存储路径:表示证书存储的位置和名字例如:“file:/d:mycert.jpf”表示D盘根目录下的mycert.jpf文件“file:/d:mycert.pfx”表示D盘根目录下的mycert.pfx文件“file:/d:mycert.cer”表示D盘根目录下的mycert.cer文件“usb
16、:/.jpf”表示USB接口中的.jpf文件“usb:/.jpf”表示USB接口中的.jpf文件szPWD 证书密码4 全局常量定义该类定义API 中的常量。在本文档中引用常量时直接引用常量名。4.1 标识常量4.1.1 所用到的配置文件 public static StringCRYPT_INI_FILE_NAME=cryptodevice.ini; public static StringOCSP_INI_FILE_NAME=jitocsp.ini; public static StringCARD_INI_FILE_NAME=card.ini; public static StringM
17、ULITYCARD_FILE_NAME=MultiDeviceCard.ini; public static StringMULITYFILE_FILE_NAME=MultiDeviceFile.ini; public static StringJCAAPI_INI_FILE_NAME =jcaapi.ini;4.1.2 文件长度及密码长度文件长度 public static intFILE_NAME_LEN=256;密码长度 public static intPWD_LEN=128;4.1.3 数据类型定义;Base64类型 public static intDATA_TYPE_BASE64
18、=0;Bin类型 public static intDATA_TYPE_BIN=1;4.1.4 信封类型定义签名信封 public static intENVELOP_SIGN=0;加密信封 public static intENVELOP_ENC=1;既签名又加密信封 public static intENVELOP_SIGN_ENC=2;文摘信封 public static intENVELOP_DIGEST=3;MAC信封 public static intENVELOP_MAC=4;4.1.5 证书扩展类型定义jpf管理员证书文件 public static intCERT_EXP_T
19、YPE_JPF =0;pfx包含私钥证书文件 public static intCERT_EXP_TYPE_PFX=1;cer公钥证书文件 public static intCERT_EXP_TYPE_CER=2;4.1.6 证书用户类型定义个人单证书 public static intCERT_USE_TYPE_SINGLE =0;jpf双证书 public static intCERT_USE_TYPE_DOUBLE=1;电子邮件保护证书 public static intCERT_USE_TYPE_MAIL =2;服务器证书 public static intCERT_USE_TYPE_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JIT应用ToolkitsAPIJava版程序员手册 精品资料 JIT 应用 ToolkitsAPI Java 程序员 手册 精品 资料
限制150内