




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JIT应用Toolkits API (Java版)程序员手册J66JIT版权所有(2001)吉大正元信息技术股份有限公司Jilin University Information Technologies Co., Ltd.JIT应用Toolkits API (Java版)程序员手册目 录1 引言41.1 概述41.2 开发平台及编程语言 41.3 注意事项41.4 名词解释 42 系统结构 42.1 接口说明42.2 配置文件说明 43 数据2构 53.1 基于口令产生密钥的基本信息 53.2 初始化CRL参数53.3 时间基本信息 63.4 证书有效期类 73.5 初始化证书信息 74 全局
2、常量定义84.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.2.1 构造
3、方法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.7 获取证书有效期
4、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.7 释放 Key资源
5、 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.7.1 构造方法455.7.2 数
6、据数字签名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数字信封文件 585.8.3 验证PKCS7数字信封文件 61
7、5.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 创造随机数65-5-1引言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 Visual C+ 6.0 Enterprise
9、 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加密设备配置文件。文件证书使用时修改DeviceCount对应
10、软加密库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基于口令产生密钥的协商好的附加信息) nIterationPKCS5基于口令
12、密钥产生的循环叠代次数。3.2 初始化CRL参数类名称:JIT CRLPARAMJIT应用Toolkits API (Java版)程序员手册功能:存储初始化CRL的参数。声明:public class JIT_CRLPARAMpublic 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_Timepublic 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_Validpublic JIT_Time notBeforpublic JIT_Time notAfterpublic JIT_Valid() 数据成员:notBefor证书有效期开始
15、的时间notAfter证书有效期结束的时间3.5 初始化证书信息类名称:JIT_CERTDEVPARAM (保留未用)功能:存储了从非数据流形式初始化证书时所需要的信息声明:public class JIT_CERTDEVPARAM public byte口 szDevInfo;public byte口 szPWD;public JIT_CERTDEVPARAM() 数据成员:szDevInfo描述证书存储的描述串。描述串由两部分组成。第一部分是存储介质 描述符,第二部分是证书存储路径。-7-JIT应用Toolkits API (Java版)程序员手册存储介质描述符:“file:/ ”表示证书
16、的存储介质是磁盘。“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全局常量定义该类定义API中的常量。在本
17、文档中引用常量时直接引用常量名。4.1 标识常量4.1.1 所用到的配置文件public static intENVELOP_ENC=1;-9-public static String public static String public static String public static String public static String public static String4.1.2文件长度及密码长度文件长度public static int密码长度public static intCRYPT_INI_FILE_NAME OCSP_INI_FILE_NAME CARD_INI
18、_FILE_NAME MULITYCARD_FILE_NAME MULITYFILE_FILE_NAME JCAAPI_INI_FILE_NAMEcryptodevice.ini;jitocsp.ini;card.ini;= MultiDeviceCard.ini=MultiDeviceFile.ini;=jcaapi.ini;FILE_NAME_LENPWD_LEN256;128;4.1.3 数据类型定义;Base64类型public static int Bin类型public static int4.1.4 信封类型定义签名信封public static int加密信封DATA_TYPE
19、_BASE64 =0;DATA_TYPE_BIN=1;ENVELOP_SIGN=0;JIT应用Toolkits API (Java版)程序员手册既签名又加密信封public static int文摘信封public static intMAC信封public static intENVELOP_SIGN_ENC =2;ENVELOP_DIGEST =3;ENVELOP_MAC =4;-15-CERT_EXP_TYPE_JPF=0;CERT_EXP_TYPE_PFX=1;CERT_EXP_TYPE_CER=2;4.1.5 证书扩展类型定义jpf管理员证书文件public static intp仅
20、包含私钥证书文件public static intcer公钥证书文件public static int=0;=1;=2;=3;=4;=0;=1;=2;4.1.6 证书用户类型定义个人单证书public static int jpf双证书public static int电子邮件保护证书public static int服务器证书public static intCA证书public static int4.1.7 证书状态定义正常状态public static int证书已注销public static int未知状态public static intCERT_USE_TYPE_SINGLEC
21、ERT_USE_TYPE_DOUBLECERT_USE_TYPE_MAILCERT_USE_TYPE_SERVERCERT_USE_TYPE_CACERT_STATUS_NOMALCERT_STATUS_REVOKECERT_STATUS_UNKNOWN4.1.8 CRL验证证书方式在线验证证书public static intVERIFY_MODE_ONLINE=0;离线验证证书public static intVERIFY_MODE_OFFLINE=1;4.1.9 证书SN类型签名证书CERT_SN_TYPE_SIGN1;public static int加密证书public static
22、 int签名加密证书public static int4.1.10 证书存储方式文件方式存储public static intUSB Key中存储public static intCOM接口设备存储public static int4.1.11 加密、解密、签名CERT_SN_TYPE_ENCCERT_SN_TYPE_SIGNENCCERT_DEV_TYPE_FILECERT_DEV_TYPE_USBCERT_DEV_TYPE_COM=2;=3;=0;=1;=2;=0x00000001;=0x00000004;=0x00000005;=0x00000006;=0x00000200;=0x000
23、00210;=0x00000220;=0x00000101;=0x00000111;=0x00000121;=0x00000132;=12861171;=12861172;=12861173;=12861174;=12861175;RSA加密解密;public static int CT_ALGO_RSA_PKCSMD2WithRSA 签名验证public static int CT_ALGO_MD2_RSA_PKCS MD5WithRSA签名验证public static int CT_ALGO_MD5_RSA_PKCSSHA1WithRSA签名验证public static int CT_
24、ALGO_SHA1_RSA_PKCSMD2文摘public static int CT_ALGO_MD2MD5文摘public static int CT_ALGO_MD5SHA1文摘public static int CT_ALGO_SHA_1RC2 ECB方式加密解密public static int CT_ALGO_RC2_ECBRC4加密解密public static int CT_ALGO_RC4 DES ECB方式加密解密public static int CT_ALGO_DES_ECB3DES ECB方式力口密解密public static int CT_ALGO_DES3_EC
25、B4.1.12 标准扩展域public static int CERT_EXT_OID_IDENTIFYCARD 个人身份标识码:OID=1.2.86.11.7.1public static int CERT_EXT_OID_INSURANCENUM个人社会保险号:OID=1.2.86.11.7.2public static int CERT_EXT_OID_ORGANIZATIONCODE 企业组织机构代码:OID=1.2.86.11.7.3public static int CERT_EXT_OID_ICREGNUM企业工商注册号:OID=1.2.86.11.7.4public stati
26、c int CERT_EXT_OID_TAXNUM企业税号:OID=1286.11.7.54.2 错误代码成功public static int参数错误public static int内存错误public static int内存分配少public static int加密库初始化错误public static int不能打开加密库public static int不能访问加密设备public static intOCS引擎未初始化public static int证书不完整public static int取证书状态失败public static intOCSP初始化错误public st
27、atic intLDAP错误public static int CRL不完整public static int证书颁发者或主题错误public static intCRL引擎未初始化public static int证书链不完整public static int证书过期public static int根证书无效public static intCRL初始化错误public static int口令错误public static int打开文件错误public static intCT_SUCCESS=0CT_ERR_PARAM=-9000CT_ERR_MEMORY=-9001CT_ERR_B
28、UFFER_TOO_SMALL =-9090CT_ERR_CRYPTODEV_INIT=-9999CT_ERR_CRYPTO_SESSION=-9002CT_ERR_CRYPTODEV_NO_ACCESS= -9003CT_ERR_OCSP_ENGINE_NOT_INIT= -9004CT_ERR_CERT_NOT_INTEGRITY= -9005CT_ERR_GET_CERT_STATUS=-9006CT_ERR_OCSP_INIT=-9007CT_ERR_ACCESS_LDAP=-9008CT_ERR_CRL_NOT_INTEGRITY= -9009CT_ERR_ISSUER_OR_SUB
29、JECT= -9010CT_ERR_CRL_ENGINE_NOT_INIT= -9011CT_ERR_CERT_CHAIN_NOT_INTEGRITY=-9012CT_ERR_CERT_OVER= -9013CT_ERR_ROOT_CERT_INV ALID=-9014CT_ERR_CRL_INIT=-9015CT_ERR_PWD=-9016CT_ERR_FILE_OPEN=-9017文件不存在public static int证书不存在public static int证书不匹配public static int私钥不存在CT_ERR_FILE_NO_EXISTCT_ERR_CERT_NOT
30、_EXISTCT_ERR_CERT_NO_MATCH=-9018=-9019=-9020public static intCT_ERR_PRIV ATEKEY_NO_EXIST = -9021算法和密钥不匹配public static int密钥不存在public static int不支持的算法public static int数据长度不匹配public static int证书和算法不匹配public static int签名失败public static int验证签名失败public static int加密失败public static int解密失败public static in
31、t产生MAC失败public static int验证MAC失败public static int产生密钥失败public static int产生摘要失败public static int数据格式错误public static int验证模式错误public static intEmail地址不存在public static int/cryptodevice.ini 文件不存在public static int CT_ERR_NO_CRYPT_INIjitocsp.ini文件不存在public static int CT_ERR_NO_OCSP_INI jcaapi.ini文件不存在=-90
32、22=-9023=-9024=-9025=-9026=-9027=-9028=-9029=-9030=-9031=-9032=-9033=-9034=-9040=-9041=-9042=-9043=-9044CT_ERR_KEY_AND_ALGO_NO_MATCHCT_ERR_KEY_NO_EXISTCT_ERR_ALGO_NOT_SUPPORTCT_ERR_DATA_LENGTH_NO_MATCHCT_ERR_CERT_AND_ALGO_NO_MA TCHCT_ERR_SIGNATURECT_ERR_VERIFY_SIGNA TURECT_ERR_ENCRYPTCT_ERR_DECRYPTC
33、T_ERR_MACCT_ERR_VERIFY_MACCT_ERR_GENERA TEKEYCT_ERR_DIGESTCT_ERR_DATA_FORMATCT_ERR_VERIFY_MODECT_ERR_NO_EMAIL_ADDRESSpublic static intCT_ERR_NO_JCAAPI_INI=-9045card.ini文件不存在public static intCT_ERR_NO_CARD_INI=-9046MultiDeviceCard.ini 文件不存在public static intCT_ERR_NO_MULCARD_INI=-9047MultiDeviceFile.i
34、ni 文件不存在public static intCT_ERR_NO_MULFILE_INI=-9048初始化LDAP错误public static intCT_ERR_LDAP_INIT=-9049LDAP引擎未初始化public static intCT_ERR_LDAP_ENGINE_NOT_INIT=-9050产生随机数失败public static intCT_ERR_GEN_RANDOM=-9051没有匹配的OIDpublic static intCT_ERR_OID_NO_MATCH=-9053证书初始化错误public static intCT_ERR_CERT_INIT=-9
35、081引擎初始化错误public static intCT_ERR_ENGINE_INIT=-90805函数说明5.1 类 JIT_Engine这个类提供初始化 JIT_CA30应用API引擎的功能。用户在使用JIT_CA30应用API 的其它功能前,必须初始化引擎。该引擎在一个程序中只能初始化一次。它提供以下功能初始化方法。5.1.1 构造函数JIT_Engine声明:public JIT_Engine(byte口 bWorkpath)参数:in sWorkPathJIT_CA30应用API的工作路径。该路径下存放需要的配置文件和CRL根证书等。这个路径必须是绝对路径。这个路径不能为NULL
36、。返回值: 由于构造方法无返回值,所以用户在初始化引擎后,调用 getErrcode()方法返 回引擎是否初始化成功。 示例:byte口 bWorkPath = null;bWorkPath =配置文件路径”JIT_Engine Engine = null;Engine = new JIT_Engine(bWorkPath); iRet = Engine.getErrcode();JIT应用Toolkits API (Java版)程序员手册if(iRet =0)/*引擎初始化成功*/else/*引擎初始化失败,返回相应的错误码 */Engine.delete();相关主题GetLastErrD
37、elete5.1.2 获取错误信息getErrcode声明:public int getErrcode () 参数:无返回值:函数成功时返回0,失败时返回错误码 示例:见5.1.1示例5.1.3 释放引擎资源delete声明:public void delete();参数:无返回值:无 示例:见5.1.1示例5.2 类 JIT_OCSP这个类提供通过OCSP在线查询证书状态的功能。5.2.1 构造方法JIT_OCSP声明:public int JIT_OCSP(JIT_Engine pEng, JIT_Certificate pRootCert, JIT_Certificate pServer
38、Cert)in pEngJIT_CA30应用API引擎。用户先构造一个 JIT_Engine的实例,然后将对 象传递给方法。in pRootCertCA的证书对象,必须先初始化CA证书。此参数必须非空。pServerCertOCSP服务器证书,此参数保留(置为 null )。 返回值:由于构造方法无返回值,调用getErrcode()方法返回错误码。注释:在参数pRootCert中指明CA的证书,是用来验证用户要在线查询的证书是否 是由pRootCert参数指定的CA签发的。示例:.初始化引擎JIT_OCSP OCSP = null;JIT_Certificate cerRootCert =
39、null;初始化CA根证书OCSP = new JIT_OCSP(Engine, cerRootCert, null);iRet = OCSP.getErrCode();if (0 != iRet)初始化引擎失败else初始化引擎成功OCSP.delete();相关主题:GetLastErrJIT_CertificateDelete5.2.2 查询证书状态getCertStatus声明:public int (JIT_Certificate pCert, int iCertType)参数:in pCert输入用户要在线查询的证书对象,必须先初始化该证书。此参数必须非空。in iCertType
40、输入用户要在线查询的证书的类型。如果参数pCert中指定的证书是双证书。则在参数 nCertType中指明要查 询的证书。CERT_SN_TYPE_SIGN签名证书1CERT_SN_TYPE_ENC加密证书2返回值:证书状态或者错误代码-17-JIT应用Toolkits API (Java版)程序员手册CERT_STATUS_NOMAL表示证书有效0CERT_STATUS_REVOKE表示证书被注销1CERT_STATUS_UNKNOWN表小证书状态未知2其他错误代码示例:JIT_Certificate cerEncCert = null;初始化证书iRet = OCSP.getCertSta
41、tus(cerEncCert, cerEncCert.getCertType();if (0 iRet) 查询证书状态失败else返回证书状态相关主题:JIT_Certificate5.2.3 获取错误信息getErrcode声明:public int getErrcode ()参数:无返回值:函数成功时返回0,失败时返回错误码示例:见5.2.1示例5.2.4 释放 OCSP&源delete声明:public void delete();参数:无返回值:无示例:见5.2.1示例5.3 类 JIT_CRL这个类提供通过CRL验证证书状态的功能。可以通过在线或离线方式验证5.3.1 构造方法JIT
42、_CRL声明:public JIT_CRL(JIT_Engine pEng, JIT_CRLPARAM stCRLInfo) 参数:inpEngJIT_CA30应用API引擎。用户先构造一个 JIT_Engine的实例,然后将对 象传递给方法。instCRLInfoJIT_CRLPARAM类的引用。详见 JIT_CRLPARAM类的定义。 返回值:由于构造方法无返回值,调用getErrcode()方法返回错误码。注释:此方法初始化通过 CRL验证证书的功能和方式(在线或离线)。示例:JIT_CRLPARAM ParamCRL = new JIT_CRLPARAM();ParamCRL.szCR
43、LFile = CRL 路径;ParamCRL.nMode =验证方式;JIT_CRL CRL = null;CRL = new JIT_CRL(Engine,ParamCRL); iRet = CRL.getErrCode();if (0 != iRet)CRL初始化失败else初始化成功CRL.delete ();相关主题:deletegetErrCode5.3.2 获取CRL验证证书的方式getModegetMode声明public int getMode() 参数:无返回值:CRL验证证书的方式。VERIFY_MODE_ONLINE在线0VERIFY_MODE_OFFLINE离线1其他
44、错误代码示例:iRet = CRLZX.getMode();if(0 iRet)获取状态失败else获取状态成功5.3.3 CRL验证证书verifyCert声明:public int verifyCert(JIT_Certificate cCert)参数:呵 cCert输入CRL验证的证书(必须先初始化证书)返回值:CERT_STATUS_NOMAL表示证书有效0CERT_STATUS_REVOKE表示证书被注销1其他大于0的数未知状态小于0的数错误代码示例:JIT_Certificate cerCert = null;初始化证书iRet = CRL.verifyCert(cerCert);
45、if (0 iRet) 验证失败else输出验证状态相关主题JIT_Certificate5.3.4 验证CRL签名verifyCRL声明:public int verifyCRL(byte bCertChain)参数:in bCertChain输入签发CRL的根证书文件名(全路径)。返回值:成功返回0,失败返回错误代码。注释:验证CRL签名采用离线方式验证。根证书文件必须是.p7b文件。并且根证书文件中的证书组必须完整。只有离线验证证书时需要验证CRL ,在线验证证书不需要验证CRL示例:byte P7BPath = 根证书文件路径”iRet = CRL.verifyCRL(P7BPath)
46、;if (0 != iRet)验证CRL失败else验证CRL成功5.3.5 获取错误信息getErrcode声明:public int getErrcode ()参数:无返回值:函数成功时返回0,失败时返回错误码示例:见5.3.1示例5.3.6 释放CRL资源delete声明:public void delete();参数:无返回值:无示例:见5.3.1示例5.4 类 JIT_Certificate5.4.1 构造方法JIT_Certificate声明:通过证书路径初始化cer证书public JIT_Certificate(byte口 bDevinfo, byte口 bWorkPath)通
47、过证书路径初始化p仅证书public JIT_Certificate(byte bDevinfo, byte口 bPassword, byte口 bWorkPath)通过内存初始化证书public JIT_Certificate(byte certBuf, byte certPassword,byte workPath, int certType);参数:in bDevInfo描述证书存储的描述串。描述串由两部分组成。第一部分是存储介质描述符, 第二部分是证书存储路径。存储介质描述符:“file:/”表示证书的存储介质是磁盘。“ usb:/”表示证书的存储介质是USB接口设备且证书是jpf管理
48、员证书。“com1:”表示证书的存储介质是COM接口设备。“usbcsp:/”表示证书的存储介质是USB接口设备且证书是用户证书。”证书存储路径:表示证书存储的位置和名字 例如: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文件Usbcsp:/.2cer”表示USB接口中用户证书文件文件注息:Key中用户证书文件只支持双证(签名证书,
49、加密证书在同一key中),初始化时默认两个一起初始化成一个证书实例,使用时自动进行证书用法的判断,不需要用户处理。呵 bPWD访问存储介质的口令。in bWorkPathIT_CA30应用API的工作路径。这个路径必须是绝对路径。这个路径不能为 NULL 。incertBuf证书内容缓冲区。incertType证书扩展名类型。取值如下:CERT_EXP_TYPE_JPFJPF证书0CERT_EXP_TYPE_PFXPFX证书1CERT_EXP_TYPE_CERCER证书2返回值:由于构造方法无返回值,调用getErrcode()方法返回错误码。注释:通过内存空间初始化证书需要将证书读入内存或通
50、过网络获得证书内容。初始化p仅证书时,密码项可以设为null示例:JIT_Certificate cerRootCert = nullbyte口cerCertPath =证书路径”byte口 bWorkPath =工作路径”byte口 bpassword = 证书密码cerRootCert = new JIT_Certificate(cerCertPath, bWorkPath);iRet = cerRootCert.getErrCode();if (0 iRet) 初始化证书失败else初始化证书成功 -23-JIT应用Toolkits API (Java版)程序员手册cerRootCert
51、 = new JIT_Certificate(cerCertPath, bpassword , bWorkPath);iRet = cerRootCert.getErrCode();if (0 iRet) 初始化证书失败else初始化证书成功byte口 Certbuffer = 证书内容”int CertType =证书类型cerRootCert = new JIT_Certificate(Certbuffer, bpassword, bWorkPath, CertType);iRet = cerRootCert.getErrCode();if (0 iRet) 初始化证书失败else初始化证书成功cerRootCert.delete();初始化Key证书byte口 USBCertPath = USBCSP:/.2CER.getBytes();(固定此写法)byte口 USBPassword = 卡密码JIT_Certificate USBCert = null;US
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变更租赁条款的相关协议
- 《供应链管理实务》课件
- 铁道机车专业教学湖南铁道左继红98课件
- 工程排碱沟施工方案
- 中华酒文化课件
- 《GB 4706.80-2014家用和类似用途电器的安全 暖脚器和热脚垫的特殊要求》(2025版)深度解析
- 中专职业形象课件模板
- 大学生职业规划大赛《给排水科学与工程专业》生涯发展展示
- 个性与职业课件
- 有条件的股东内部股权转让合同
- W公司的客户满意度研究论文
- 公司电脑常见问题处理手册
- 宠物输液治疗技术-静脉输液疗法(宠物临床治疗课件)
- 猪白条购销合同范本
- 锅炉延期检验申请书
- 部编版道德与法治三年级下册第三单元《我们的公共生活》大单元作业设计案例(一)
- 机械设计手册:单行本 液压传动(第六版)
- 红色故事宣讲《小萝卜头的故事》
- 活动板房拆装合同模板范本
- GPS在森林调查中的应用-手持GPS在森林调查中的应用(森林调查技术)
- 直接打印800字作文纸
评论
0/150
提交评论