ImageVerifierCode 换一换
格式:DOCX , 页数:114 ,大小:118.08KB ,
资源ID:5955210      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5955210.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(APIJava版程序员手册.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

APIJava版程序员手册.docx

1、APIJava版程序员手册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 全局常量定义 8

2、4.1 标识常量 84.1.1 所用到的配置文件 84.1.2 文件长度及密码长度 84.1.3 数据类型定义; 84.1.4 信封类型定义 84.1.5 证书扩展类型定义 94.1.6 证书用户类型定义 94.1.7 证书状态定义 94.1.8 CRL验证证书方式 94.1.9 证书SN类型 94.1.10 证书存储方式 104.1.11 加密、解密、签名 等算法 104.1.12 标准扩展域 104.2 错误代码 115 函数说明 135.1 类JIT_Engine 135.1.1 构造函数 135.1.2 获取错误信息 145.1.3 释放引擎资源 145.2 类JIT_OCSP 145

3、.2.1 构造方法 145.2.2 查询证书状态 155.2.3 获取错误信息 165.2.4 释放OCSP资源 165.3 类JIT_CRL 165.3.1 构造方法 175.3.2 获取CRL验证证书的方式getMode 175.3.3 CRL验证证书 185.3.4 验证CRL签名 185.3.5 获取错误信息 195.3.6 释放CRL资源 195.4 类JIT_Certificate 195.4.1 构造方法 195.4.2 获取证书中eMail 215.4.3 获取证书颁发者 225.4.4 获取证书序列号 225.4.5 获取证书主题 225.4.6 获取证书版本号 235.4.

4、7 获取证书有效期 235.4.8 获取证书的应用类型 235.4.9 获取证书编码(二进制) 245.4.10 获取证书的个人身份标识码 245.4.11 提取所需对象标识符对应的内容 255.4.12 验证证书的有效性 265.4.13 验证证书的有效性(手工输入时间) 265.4.14 获取错误信息 275.4.15 释放Certificate资源 275.4.16 扩展接口 285.5 类JIT_Key 295.5.1 构造方法 295.5.2 产生对称密钥 295.5.3 基于口令产生对称密钥 305.5.4 包装密钥 305.5.5 解包装密钥 315.5.6 获取错误信息 315

5、.5.7 释放Key资源 325.6 类JIT_Bin 325.6.1 构造方法 325.6.2 数据数字签名 325.6.3 验证数字签名 335.6.4 数据非对称加密 345.6.5 数据非对称解密 355.6.6 产生数据的MAC 355.6.7 验证数据的MAC 365.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_Base64 455

6、.7.1 构造方法 455.7.2 数据数字签名 455.7.3 验证数字签名 465.7.4 数据非对称加密 475.7.5 数据非对称解密 485.7.6 数据产生MAC 485.7.7 验证数据的MAC 495.7.8 数据文摘 505.7.9 数据对称加密 515.7.10 数据对称解密 515.7.11 产生PKCS7数字信封 525.7.12 验证PKCS7数字信封 545.7.13 PEM编码转换成二进制 575.7.14 获取错误信息 575.7.15 释放Base64资源 575.8 类JIT_EnvFile 585.8.1 构造方法 585.8.2 产生PKCS7数字信封文

7、件 585.8.3 验证PKCS7数字信封文件 615.8.4 获取错误信息 625.8.5 释放EnvFile资源 625.9 类JIT_LDAP 625.9.1 构造方法 625.9.2 获取用户证书 635.9.3 释放获取的证书 645.9.4 获取错误信息 645.9.5 释放Ldap资源 645.10 类JIT_Random 655.10.1 创造随机数 651引言1.1概述JIT Toolkit_API(Java版)是以吉大正元电子证书认证系统为基础,方便用户进行二次开发,整合先进的Java技术,提供的工具包。用户利用工具包中各种接口可以作电子证书系统客户化,电子证书应用等方面的

8、开发工作。主要功能如下:对客户和服务器证书的操作(包括验证和获取证书内容)对用户数据的操作(包括签名、加密、数字信封和他们相对应的校验工作)对用户文件的各种操作(包括封装数字信封和验证数字信封)各种辅助操作(包括对对称密钥的操作、产生随机数、)对Ldap、CRL、OCSP等各种辅助功能的操作1.2开发平台及编程语言开发平台Windows 2000 Server编程语言JavaC+开发工具Java 2 SDK Standard Edition v1.3.1_09(Sun Microsystems, Inc.)Borland Jbuilder 7 EnterpriseMicrosoft Visua

9、l C+ 6.0 Enterprise Edition1.3注意事项系统中的错误码均为负数。本接口不支持加密机,除windwos外不支持key使用除windows外不支持OCSP1.4名词解释无2系统结构2.1接口说明JIT应用Toolkits API(Java版)对用户提供10个类共70个接口:jit.toolkitsToolkits主要功能类。提供各对外接口。jit.parameters结构。用于存放程序中各种用到的结构体。2.2配置文件说明JIT 应用Toolkits API(JNI版)共需要5个配置文件,说明如下:cryptodevice.ini加密设备配置文件。文件证书使用时修改De

10、viceCount对应软加密库ID,DeviceCount =1Key证书使用时修改DeviceCount对应Key的IDDeviceCount =2两种证书同时使用时修改DeviceCount对应Key的IDDeviceCount =2MultiDeviceFile.ini管理员证书介质使用JPF文件时使用此配置文件。(无论那种情况该文件必须存在)MultiDeviceCard.ini管理员证书介质使用USB Key时使用此文件。(无论那种情况该文件必须存在)card.iniUSB Key的配置文件,通常不需要用户改动。jitocsp.ini 与OCSP服务器连接时需要的一些连接参数,用户可

11、根据实际情况进行改动jcaapi.ini 与Ldap服务器连接时需要的一些连接参数,用户可根据实际情况进行改动3数据结构3.1基于口令产生密钥的基本信息 类名称: JIT_PBE_PARAMS 功能: 存储PKCS5基于口令产生密钥的参数。 声明: public class JIT_PBE_PARAMS public byte sPassword; public byte bSalt; public int lIteration; public JIT_PBE_PARAMS() 数据成员: pPassword 口令的内容。 pSalt 盐值的内容。(PKCS5基于口令产生密钥的协商好的附加信息

12、) nIteration PKCS5基于口令密钥产生的循环叠代次数。3.2初始化CRL参数 类名称: JIT_CRLPARAM功能: 存储初始化CRL的参数。声明:public class JIT_CRLPARAM public byte szCRLFile; public int nMode; public JIT_CRLPARAM() 数据成员:szCRLFile 用户指定的CRL文件路径。这个路径必须是绝对路径。这个路径不能为NULL。在线方式验证,这个路径是下载的CRL存储在本地的CRL文件路径。离线方式验证,这个路径是验证证书时使用的CRL文件路径。nMode 通过CRL验证证书的方

13、式。包括在线方式验证和离线方式验证。 在线方式验证设置为VERIFY_MODE_ONLINE 离线方式验证设置为VERIFY_MODE_OFFLINE3.3时间基本信息类名称:JIT_Time功能: 存储证书中时间的值声明: public class JIT_Time public long lType; public long diffGMT; public long year; public long month; public long day; public long hour; public long min; public long second; public JIT_Time(

14、) 数据成员: lType 证书中时间的编码类型。 1:格林威治时间 2:本地时间diffGMT 本地时间和格林威治时间的差值。本地时间比格林威治时间早用负数表示。本地时间比格林威治时间晚用正数表示。0表示格林威治时间。 year 本地时间 年 month 本地时间 月 day 本地时间 日 hour 本地时间 时 min 本地时间 分 second 本地时间 秒3.4证书有效期类 类名称: JIT_Valid 功能: 存储证书的有效期声明: public class JIT_Valid public JIT_Time notBefor public JIT_Time notAfter pub

15、lic JIT_Valid() 数据成员: notBefor 证书有效期开始的时间 notAfter 证书有效期结束的时间3.5初始化证书信息 类名称: JIT_CERTDEVPARAM(保留未用) 功能: 存储了从非数据流形式初始化证书时所需要的信息声明: public class JIT_CERTDEVPARAM public byte szDevInfo; public byte szPWD; public JIT_CERTDEVPARAM() 数据成员: szDevInfo 描述证书存储的描述串。描述串由两部分组成。第一部分是存储介质 描述符,第二部分是证书存储路径。 存储介质描述符:

16、 “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:/.jpf”表示USB接口中的.jpf文件 “usb:/.jpf”表示USB接口中的.jpf文件 szPWD 证书密码4全局常量定义该类定

17、义API 中的常量。在本文档中引用常量时直接引用常量名。4.1标识常量4.1.1所用到的配置文件 public static String CRYPT_INI_FILE_NAME = cryptodevice.ini; public static String OCSP_INI_FILE_NAME = jitocsp.ini; public static String CARD_INI_FILE_NAME = card.ini; public static String MULITYCARD_FILE_NAME = MultiDeviceCard.ini; public static Stri

18、ng MULITYFILE_FILE_NAME = MultiDeviceFile.ini; public static String JCAAPI_INI_FILE_NAME = jcaapi.ini;4.1.2文件长度及密码长度文件长度 public static int FILE_NAME_LEN = 256;密码长度 public static int PWD_LEN = 128;4.1.3数据类型定义;Base64类型 public static int DATA_TYPE_BASE64 = 0;Bin类型 public static int DATA_TYPE_BIN = 1;4.

19、1.4信封类型定义签名信封 public static int ENVELOP_SIGN = 0;加密信封 public static int ENVELOP_ENC = 1;既签名又加密信封 public static int ENVELOP_SIGN_ENC = 2;文摘信封 public static int ENVELOP_DIGEST = 3;MAC信封 public static int ENVELOP_MAC = 4;4.1.5证书扩展类型定义jpf管理员证书文件 public static int CERT_EXP_TYPE_JPF = 0;pfx包含私钥证书文件 public

20、 static int CERT_EXP_TYPE_PFX = 1;cer公钥证书文件 public static int CERT_EXP_TYPE_CER = 2;4.1.6证书用户类型定义个人单证书 public static int CERT_USE_TYPE_SINGLE = 0;jpf双证书 public static int CERT_USE_TYPE_DOUBLE = 1;电子邮件保护证书 public static int CERT_USE_TYPE_MAIL = 2;服务器证书 public static int CERT_USE_TYPE_SERVER = 3;CA证书

21、public static int CERT_USE_TYPE_CA = 4;4.1.7证书状态定义正常状态 public static int CERT_STATUS_NOMAL = 0;证书已注销 public static int CERT_STATUS_REVOKE = 1;未知状态 public static int CERT_STATUS_UNKNOWN = 2;4.1.8CRL验证证书方式在线验证证书 public static int VERIFY_MODE_ONLINE = 0;离线验证证书 public static int VERIFY_MODE_OFFLINE = 1;

22、4.1.9证书SN类型签名证书 public static int CERT_SN_TYPE_SIGN = 1;加密证书 public static int CERT_SN_TYPE_ENC = 2;签名加密证书 public static int CERT_SN_TYPE_SIGNENC = 3;4.1.10证书存储方式文件方式存储 public static int CERT_DEV_TYPE_FILE = 0;USB Key中存储 public static int CERT_DEV_TYPE_USB = 1;COM接口设备存储 public static int CERT_DEV_TY

23、PE_COM = 2;4.1.11加密、解密、签名 等算法 RSA加密解密; public static int CT_ALGO_RSA_PKCS = 0x00000001; MD2WithRSA 签名验证 public static int CT_ALGO_MD2_RSA_PKCS = 0x00000004;MD5WithRSA签名验证 public static int CT_ALGO_MD5_RSA_PKCS = 0x00000005;SHA1WithRSA签名验证 public static int CT_ALGO_SHA1_RSA_PKCS = 0x00000006;MD2 文摘 p

24、ublic static int CT_ALGO_MD2 = 0x00000200; MD5 文摘 public static int CT_ALGO_MD5 = 0x00000210; SHA1文摘 public static int CT_ALGO_SHA_1 = 0x00000220; RC2 ECB方式加密解密 public static int CT_ALGO_RC2_ECB = 0x00000101;RC4加密解密 public static int CT_ALGO_RC4 = 0x00000111; DES ECB方式加密解密 public static int CT_ALGO_

25、DES_ECB = 0x00000121; 3DES ECB方式加密解密 public static int CT_ALGO_DES3_ECB = 0x00000132; 4.1.12标准扩展域public static int CERT_EXT_OID_IDENTIFYCARD = 12861171; /个人身份标识码:OID=1.2.86.11.7.1 public static int CERT_EXT_OID_INSURANCENUM = 12861172; /个人社会保险号:OID=1.2.86.11.7.2 public static int CERT_EXT_OID_ORGANI

26、ZATIONCODE = 12861173; /企业组织机构代码:OID=1.2.86.11.7.3 public static int CERT_EXT_OID_ICREGNUM = 12861174; /企业工商注册号:OID=1.2.86.11.7.4 public static int CERT_EXT_OID_TAXNUM = 12861175; /企业税号:OID=1.2.86.11.7.54.2错误代码成功 public static int CT_SUCCESS = 0 参数错误 public static int CT_ERR_PARAM = -9000内存错误 public

27、 static int CT_ERR_MEMORY = -9001内存分配少 public static int CT_ERR_BUFFER_TOO_SMALL = -9090加密库初始化错误 public static int CT_ERR_CRYPTODEV_INIT = -9999不能打开加密库 public static int CT_ERR_CRYPTO_SESSION = -9002不能访问加密设备 public static int CT_ERR_CRYPTODEV_NO_ACCESS = -9003 OCS引擎未初始化 public static int CT_ERR_OCSP

28、_ENGINE_NOT_INIT = -9004证书不完整 public static int CT_ERR_CERT_NOT_INTEGRITY = -9005取证书状态失败 public static int CT_ERR_GET_CERT_STATUS = -9006OCSP初始化错误 public static int CT_ERR_OCSP_INIT = -9007 LDAP错误 public static int CT_ERR_ACCESS_LDAP = -9008 CRL不完整 public static int CT_ERR_CRL_NOT_INTEGRITY = -9009证

29、书颁发者或主题错误 public static int CT_ERR_ISSUER_OR_SUBJECT = -9010 CRL引擎未初始化 public static int CT_ERR_CRL_ENGINE_NOT_INIT = -9011证书链不完整 public static int CT_ERR_CERT_CHAIN_NOT_INTEGRITY=-9012证书过期 public static int CT_ERR_CERT_OVER = -9013根证书无效 public static int CT_ERR_ROOT_CERT_INVALID = -9014 CRL初始化错误 public static int CT_ERR_CRL_INIT = -9015口令错误 public static int CT_ERR_PWD = -9016打开文件错误 public static int CT_ERR_FIL

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

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