JIT應(yīng)用ToolkitsAPI(Java版)程序員手冊(cè)_第1頁
JIT應(yīng)用ToolkitsAPI(Java版)程序員手冊(cè)_第2頁
JIT應(yīng)用ToolkitsAPI(Java版)程序員手冊(cè)_第3頁
JIT應(yīng)用ToolkitsAPI(Java版)程序員手冊(cè)_第4頁
JIT應(yīng)用ToolkitsAPI(Java版)程序員手冊(cè)_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、JIT應(yīng)用Toolkits API(Java版)程序員手冊(cè)PAGE -PAGE 83- NUMPAGES 84JIT應(yīng)用Toolkits API(Java版)程序員手冊(cè)JIT版權(quán)所有(2001)吉 大 正 元 信 息 技 術(shù) 股 份 有 限 公 司Jilin University Information Technologies Co., Ltd.目 錄 TOC o 1-3 h z HYPERLINK l _Toc70308604 1引言 PAGEREF _Toc70308604 h 4 HYPERLINK l _Toc70308605 1.1概述 PAGEREF _Toc70308605 h

2、 4 HYPERLINK l _Toc70308606 1.2開發(fā)平臺(tái)及編程語言 PAGEREF _Toc70308606 h 4 HYPERLINK l _Toc70308607 1.3注意事項(xiàng) PAGEREF _Toc70308607 h 4 HYPERLINK l _Toc70308608 1.4名詞解釋 PAGEREF _Toc70308608 h 4 HYPERLINK l _Toc70308609 2系統(tǒng)結(jié)構(gòu) PAGEREF _Toc70308609 h 4 HYPERLINK l _Toc70308610 2.1接口說明 PAGEREF _Toc70308610 h 4 HYPE

3、RLINK l _Toc70308611 2.2配置文件說明 PAGEREF _Toc70308611 h 4 HYPERLINK l _Toc70308612 3數(shù)據(jù)結(jié)構(gòu) PAGEREF _Toc70308612 h 5 HYPERLINK l _Toc70308613 3.1基于口令產(chǎn)生密鑰的基本信息 PAGEREF _Toc70308613 h 5 HYPERLINK l _Toc70308614 3.2初始化CRL參數(shù) PAGEREF _Toc70308614 h 5 HYPERLINK l _Toc70308615 3.3時(shí)間基本信息 PAGEREF _Toc70308615 h 6

4、 HYPERLINK l _Toc70308616 3.4證書有效期類 PAGEREF _Toc70308616 h 7 HYPERLINK l _Toc70308617 3.5初始化證書信息 PAGEREF _Toc70308617 h 7 HYPERLINK l _Toc70308618 4全局常量定義 PAGEREF _Toc70308618 h 8 HYPERLINK l _Toc70308619 4.1標(biāo)識(shí)常量 PAGEREF _Toc70308619 h 8 HYPERLINK l _Toc70308620 4.1.1所用到的配置文件 PAGEREF _Toc70308620 h

5、8 HYPERLINK l _Toc70308621 4.1.2文件長度及密碼長度 PAGEREF _Toc70308621 h 8 HYPERLINK l _Toc70308622 4.1.3數(shù)據(jù)類型定義; PAGEREF _Toc70308622 h 8 HYPERLINK l _Toc70308623 4.1.4信封類型定義 PAGEREF _Toc70308623 h 8 HYPERLINK l _Toc70308624 4.1.5證書擴(kuò)展類型定義 PAGEREF _Toc70308624 h 9 HYPERLINK l _Toc70308625 4.1.6證書用戶類型定義 PAGER

6、EF _Toc70308625 h 9 HYPERLINK l _Toc70308626 4.1.7證書狀態(tài)定義 PAGEREF _Toc70308626 h 9 HYPERLINK l _Toc70308627 4.1.8CRL驗(yàn)證證書方式 PAGEREF _Toc70308627 h 9 HYPERLINK l _Toc70308628 4.1.9證書SN類型 PAGEREF _Toc70308628 h 9 HYPERLINK l _Toc70308629 4.1.10證書存儲(chǔ)方式 PAGEREF _Toc70308629 h 10 HYPERLINK l _Toc70308630 4.

7、1.11加密、解密、簽名 等算法 PAGEREF _Toc70308630 h 10 HYPERLINK l _Toc70308631 4.1.12標(biāo)準(zhǔn)擴(kuò)展域 PAGEREF _Toc70308631 h 10 HYPERLINK l _Toc70308632 4.2錯(cuò)誤代碼 PAGEREF _Toc70308632 h 11 HYPERLINK l _Toc70308633 5函數(shù)說明 PAGEREF _Toc70308633 h 13 HYPERLINK l _Toc70308634 5.1類JIT_Engine PAGEREF _Toc70308634 h 13 HYPERLINK l

8、_Toc70308635 5.1.1構(gòu)造函數(shù) PAGEREF _Toc70308635 h 13 HYPERLINK l _Toc70308636 5.1.2獲取錯(cuò)誤信息 PAGEREF _Toc70308636 h 14 HYPERLINK l _Toc70308637 5.1.3釋放引擎資源 PAGEREF _Toc70308637 h 14 HYPERLINK l _Toc70308638 5.2類JIT_OCSP PAGEREF _Toc70308638 h 14 HYPERLINK l _Toc70308639 5.2.1構(gòu)造方法 PAGEREF _Toc70308639 h 14

9、HYPERLINK l _Toc70308640 5.2.2查詢證書狀態(tài) PAGEREF _Toc70308640 h 15 HYPERLINK l _Toc70308641 5.2.3獲取錯(cuò)誤信息 PAGEREF _Toc70308641 h 16 HYPERLINK l _Toc70308642 5.2.4釋放OCSP資源 PAGEREF _Toc70308642 h 16 HYPERLINK l _Toc70308643 5.3類JIT_CRL PAGEREF _Toc70308643 h 16 HYPERLINK l _Toc70308644 5.3.1構(gòu)造方法 PAGEREF _To

10、c70308644 h 17 HYPERLINK l _Toc70308645 5.3.2獲取CRL驗(yàn)證證書的方式getMode PAGEREF _Toc70308645 h 17 HYPERLINK l _Toc70308646 5.3.3CRL驗(yàn)證證書 PAGEREF _Toc70308646 h 18 HYPERLINK l _Toc70308647 5.3.4驗(yàn)證CRL簽名 PAGEREF _Toc70308647 h 18 HYPERLINK l _Toc70308648 5.3.5獲取錯(cuò)誤信息 PAGEREF _Toc70308648 h 19 HYPERLINK l _Toc70

11、308649 5.3.6釋放CRL資源 PAGEREF _Toc70308649 h 19 HYPERLINK l _Toc70308650 5.4類JIT_Certificate PAGEREF _Toc70308650 h 19 HYPERLINK l _Toc70308651 5.4.1構(gòu)造方法 PAGEREF _Toc70308651 h 19 HYPERLINK l _Toc70308652 5.4.2獲取證書中eMail PAGEREF _Toc70308652 h 21 HYPERLINK l _Toc70308653 5.4.3獲取證書頒發(fā)者 PAGEREF _Toc70308

12、653 h 22 HYPERLINK l _Toc70308654 5.4.4獲取證書序列號(hào) PAGEREF _Toc70308654 h 22 HYPERLINK l _Toc70308655 5.4.5獲取證書主題 PAGEREF _Toc70308655 h 22 HYPERLINK l _Toc70308656 5.4.6獲取證書版本號(hào) PAGEREF _Toc70308656 h 23 HYPERLINK l _Toc70308657 5.4.7獲取證書有效期 PAGEREF _Toc70308657 h 23 HYPERLINK l _Toc70308658 5.4.8獲取證書的應(yīng)

13、用類型 PAGEREF _Toc70308658 h 23 HYPERLINK l _Toc70308659 5.4.9獲取證書編碼(二進(jìn)制) PAGEREF _Toc70308659 h 24 HYPERLINK l _Toc70308660 5.4.10獲取證書的個(gè)人身份標(biāo)識(shí)碼 PAGEREF _Toc70308660 h 24 HYPERLINK l _Toc70308661 5.4.11提取所需對(duì)象標(biāo)識(shí)符對(duì)應(yīng)的內(nèi)容 PAGEREF _Toc70308661 h 25 HYPERLINK l _Toc70308662 5.4.12驗(yàn)證證書的有效性 PAGEREF _Toc70308662

14、 h 26 HYPERLINK l _Toc70308663 5.4.13驗(yàn)證證書的有效性(手工輸入時(shí)間) PAGEREF _Toc70308663 h 26 HYPERLINK l _Toc70308664 5.4.14獲取錯(cuò)誤信息 PAGEREF _Toc70308664 h 27 HYPERLINK l _Toc70308665 5.4.15釋放Certificate資源 PAGEREF _Toc70308665 h 27 HYPERLINK l _Toc70308666 5.4.16擴(kuò)展接口 PAGEREF _Toc70308666 h 28 HYPERLINK l _Toc70308

15、667 5.5類JIT_Key PAGEREF _Toc70308667 h 29 HYPERLINK l _Toc70308668 5.5.1構(gòu)造方法 PAGEREF _Toc70308668 h 29 HYPERLINK l _Toc70308669 5.5.2產(chǎn)生對(duì)稱密鑰 PAGEREF _Toc70308669 h 29 HYPERLINK l _Toc70308670 5.5.3基于口令產(chǎn)生對(duì)稱密鑰 PAGEREF _Toc70308670 h 30 HYPERLINK l _Toc70308671 5.5.4包裝密鑰 PAGEREF _Toc70308671 h 30 HYPERL

16、INK l _Toc70308672 5.5.5解包裝密鑰 PAGEREF _Toc70308672 h 31 HYPERLINK l _Toc70308673 5.5.6獲取錯(cuò)誤信息 PAGEREF _Toc70308673 h 31 HYPERLINK l _Toc70308674 5.5.7釋放Key資源 PAGEREF _Toc70308674 h 32 HYPERLINK l _Toc70308675 5.6類JIT_Bin PAGEREF _Toc70308675 h 32 HYPERLINK l _Toc70308676 5.6.1構(gòu)造方法 PAGEREF _Toc7030867

17、6 h 32 HYPERLINK l _Toc70308677 5.6.2數(shù)據(jù)數(shù)字簽名 PAGEREF _Toc70308677 h 32 HYPERLINK l _Toc70308678 5.6.3驗(yàn)證數(shù)字簽名 PAGEREF _Toc70308678 h 33 HYPERLINK l _Toc70308679 5.6.4數(shù)據(jù)非對(duì)稱加密 PAGEREF _Toc70308679 h 34 HYPERLINK l _Toc70308680 5.6.5數(shù)據(jù)非對(duì)稱解密 PAGEREF _Toc70308680 h 35 HYPERLINK l _Toc70308681 5.6.6產(chǎn)生數(shù)據(jù)的MAC

18、PAGEREF _Toc70308681 h 35 HYPERLINK l _Toc70308682 5.6.7驗(yàn)證數(shù)據(jù)的MAC PAGEREF _Toc70308682 h 36 HYPERLINK l _Toc70308683 5.6.8數(shù)據(jù)文摘 PAGEREF _Toc70308683 h 37 HYPERLINK l _Toc70308684 5.6.9數(shù)據(jù)對(duì)稱加密 PAGEREF _Toc70308684 h 38 HYPERLINK l _Toc70308685 5.6.10數(shù)據(jù)對(duì)稱解密 PAGEREF _Toc70308685 h 38 HYPERLINK l _Toc70308

19、686 5.6.11產(chǎn)生PKCS7數(shù)字信封 PAGEREF _Toc70308686 h 39 HYPERLINK l _Toc70308687 5.6.12驗(yàn)證PKCS7數(shù)字信封 PAGEREF _Toc70308687 h 42 HYPERLINK l _Toc70308688 5.6.13二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成PEM編碼 PAGEREF _Toc70308688 h 44 HYPERLINK l _Toc70308689 5.6.14獲取錯(cuò)誤信息 PAGEREF _Toc70308689 h 44 HYPERLINK l _Toc70308690 5.6.15釋放bin資源 PAGEREF _

20、Toc70308690 h 45 HYPERLINK l _Toc70308691 5.7類JIT_Base64 PAGEREF _Toc70308691 h 45 HYPERLINK l _Toc70308692 5.7.1構(gòu)造方法 PAGEREF _Toc70308692 h 45 HYPERLINK l _Toc70308693 5.7.2數(shù)據(jù)數(shù)字簽名 PAGEREF _Toc70308693 h 45 HYPERLINK l _Toc70308694 5.7.3驗(yàn)證數(shù)字簽名 PAGEREF _Toc70308694 h 46 HYPERLINK l _Toc70308695 5.7.4

21、數(shù)據(jù)非對(duì)稱加密 PAGEREF _Toc70308695 h 47 HYPERLINK l _Toc70308696 5.7.5數(shù)據(jù)非對(duì)稱解密 PAGEREF _Toc70308696 h 48 HYPERLINK l _Toc70308697 5.7.6數(shù)據(jù)產(chǎn)生MAC PAGEREF _Toc70308697 h 48 HYPERLINK l _Toc70308698 5.7.7驗(yàn)證數(shù)據(jù)的MAC PAGEREF _Toc70308698 h 49 HYPERLINK l _Toc70308699 5.7.8數(shù)據(jù)文摘 PAGEREF _Toc70308699 h 50 HYPERLINK l

22、_Toc70308700 5.7.9數(shù)據(jù)對(duì)稱加密 PAGEREF _Toc70308700 h 51 HYPERLINK l _Toc70308701 5.7.10數(shù)據(jù)對(duì)稱解密 PAGEREF _Toc70308701 h 51 HYPERLINK l _Toc70308702 5.7.11產(chǎn)生PKCS7數(shù)字信封 PAGEREF _Toc70308702 h 52 HYPERLINK l _Toc70308703 5.7.12驗(yàn)證PKCS7數(shù)字信封 PAGEREF _Toc70308703 h 54 HYPERLINK l _Toc70308704 5.7.13PEM編碼轉(zhuǎn)換成二進(jìn)制 PAGE

23、REF _Toc70308704 h 57 HYPERLINK l _Toc70308705 5.7.14獲取錯(cuò)誤信息 PAGEREF _Toc70308705 h 57 HYPERLINK l _Toc70308706 5.7.15釋放Base64資源 PAGEREF _Toc70308706 h 57 HYPERLINK l _Toc70308707 5.8類JIT_EnvFile PAGEREF _Toc70308707 h 58 HYPERLINK l _Toc70308708 5.8.1構(gòu)造方法 PAGEREF _Toc70308708 h 58 HYPERLINK l _Toc70

24、308709 5.8.2產(chǎn)生PKCS7數(shù)字信封文件 PAGEREF _Toc70308709 h 58 HYPERLINK l _Toc70308710 5.8.3驗(yàn)證PKCS7數(shù)字信封文件 PAGEREF _Toc70308710 h 61 HYPERLINK l _Toc70308711 5.8.4獲取錯(cuò)誤信息 PAGEREF _Toc70308711 h 62 HYPERLINK l _Toc70308712 5.8.5釋放EnvFile資源 PAGEREF _Toc70308712 h 62 HYPERLINK l _Toc70308713 5.9類JIT_LDAP PAGEREF _

25、Toc70308713 h 62 HYPERLINK l _Toc70308714 5.9.1構(gòu)造方法 PAGEREF _Toc70308714 h 62 HYPERLINK l _Toc70308715 5.9.2獲取用戶證書 PAGEREF _Toc70308715 h 63 HYPERLINK l _Toc70308716 5.9.3釋放獲取的證書 PAGEREF _Toc70308716 h 64 HYPERLINK l _Toc70308717 5.9.4獲取錯(cuò)誤信息 PAGEREF _Toc70308717 h 64 HYPERLINK l _Toc70308718 5.9.5釋放

26、Ldap資源 PAGEREF _Toc70308718 h 64 HYPERLINK l _Toc70308719 5.10類JIT_Random PAGEREF _Toc70308719 h 65 HYPERLINK l _Toc70308720 5.10.1創(chuàng)造隨機(jī)數(shù) PAGEREF _Toc70308720 h 65引言概述JIT Toolkit_API(Java版)是以吉大正元電子證書認(rèn)證系統(tǒng)為基礎(chǔ),方便用戶進(jìn)行二次開發(fā),整合先進(jìn)的Java技術(shù),提供的工具包。用戶利用工具包中各種接口可以作電子證書系統(tǒng)客戶化,電子證書應(yīng)用等方面的開發(fā)工作。主要功能如下:對(duì)客戶和服務(wù)器證書的操作(包括驗(yàn)證

27、和獲取證書內(nèi)容)對(duì)用戶數(shù)據(jù)的操作(包括簽名、加密、數(shù)字信封和他們相對(duì)應(yīng)的校驗(yàn)工作)對(duì)用戶文件的各種操作(包括封裝數(shù)字信封和驗(yàn)證數(shù)字信封)各種輔助操作(包括對(duì)對(duì)稱密鑰的操作、產(chǎn)生隨機(jī)數(shù)、)對(duì)Ldap、CRL、OCSP等各種輔助功能的操作開發(fā)平臺(tái)及編程語言開發(fā)平臺(tái)Windows 2000 Server編程語言JavaC+開發(fā)工具Java 2 SDK Standard Edition v1.3.1_09(Sun Microsystems, Inc.)Borland Jbuilder 7 EnterpriseMicrosoft Visual C+ 6.0 Enterprise Edition注意事項(xiàng)系

28、統(tǒng)中的錯(cuò)誤碼均為負(fù)數(shù)。本接口不支持加密機(jī),除windwos外不支持key使用除windows外不支持OCSP名詞解釋無系統(tǒng)結(jié)構(gòu)接口說明JIT應(yīng)用Toolkits API(Java版)對(duì)用戶提供10個(gè)類共70個(gè)接口:jit.toolkitsToolkits主要功能類。提供各對(duì)外接口。jit.parameters結(jié)構(gòu)。用于存放程序中各種用到的結(jié)構(gòu)體。配置文件說明JIT 應(yīng)用Toolkits API(JNI版)共需要5個(gè)配置文件,說明如下:cryptodevice.ini加密設(shè)備配置文件。文件證書使用時(shí)修改DeviceCount對(duì)應(yīng)軟加密庫ID,DeviceCount =1Key證書使用時(shí)修改Dev

29、iceCount對(duì)應(yīng)Key的IDDeviceCount =2兩種證書同時(shí)使用時(shí)修改DeviceCount對(duì)應(yīng)Key的IDDeviceCount =2MultiDeviceFile.ini管理員證書介質(zhì)使用JPF文件時(shí)使用此配置文件。(無論那種情況該文件必須存在)MultiDeviceCard.ini管理員證書介質(zhì)使用USB Key時(shí)使用此文件。(無論那種情況該文件必須存在)card.iniUSB Key的配置文件,通常不需要用戶改動(dòng)。jitocsp.ini與OCSP服務(wù)器連接時(shí)需要的一些連接參數(shù),用戶可根據(jù)實(shí)際情況進(jìn)行改動(dòng)jcaapi.ini與Ldap服務(wù)器連接時(shí)需要的一些連接參數(shù),用戶可根據(jù)

30、實(shí)際情況進(jìn)行改動(dòng)數(shù)據(jù)結(jié)構(gòu)基于口令產(chǎn)生密鑰的基本信息類名稱:JIT_PBE_PARAMS功能:存儲(chǔ)PKCS5基于口令產(chǎn)生密鑰的參數(shù)。聲明:public class JIT_PBE_PARAMS public byte sPassword; public byte bSalt; public int lIteration;public JIT_PBE_PARAMS() 數(shù)據(jù)成員:pPassword 口令的內(nèi)容。pSalt鹽值的內(nèi)容。(PKCS5基于口令產(chǎn)生密鑰的協(xié)商好的附加信息)nIterationPKCS5基于口令密鑰產(chǎn)生的循環(huán)疊代次數(shù)。初始化CRL參數(shù)類名稱:JIT_CRLPARAM功能:存儲(chǔ)

31、初始化CRL的參數(shù)。聲明:public class JIT_CRLPARAM public byte szCRLFile; public int nMode; public JIT_CRLPARAM() 數(shù)據(jù)成員:szCRLFile 用戶指定的CRL文件路徑。這個(gè)路徑必須是絕對(duì)路徑。這個(gè)路徑不能為NULL。在線方式驗(yàn)證,這個(gè)路徑是下載的CRL存儲(chǔ)在本地的CRL文件路徑。離線方式驗(yàn)證,這個(gè)路徑是驗(yàn)證證書時(shí)使用的CRL文件路徑。nMode通過CRL驗(yàn)證證書的方式。包括在線方式驗(yàn)證和離線方式驗(yàn)證。在線方式驗(yàn)證設(shè)置為VERIFY_MODE_ONLINE離線方式驗(yàn)證設(shè)置為VERIFY_MODE_OFFL

32、INE時(shí)間基本信息類名稱:JIT_Time功能:存儲(chǔ)證書中時(shí)間的值聲明: 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() 數(shù)據(jù)成員:lType 證書中時(shí)間的編碼類型。1:格林威治時(shí)間 2:本地時(shí)間diffGMT 本地時(shí)間和格林威治時(shí)間的差值。本地時(shí)間比格林威治時(shí)間早用負(fù)數(shù)表

33、示。本地時(shí)間比格林威治時(shí)間晚用正數(shù)表示。0表示格林威治時(shí)間。year 本地時(shí)間年month本地時(shí)間月day 本地時(shí)間日hour本地時(shí)間時(shí)min 本地時(shí)間分second本地時(shí)間秒證書有效期類類名稱:JIT_Valid功能:存儲(chǔ)證書的有效期聲明:public class JIT_Validpublic JIT_Time notBeforpublic JIT_Time notAfterpublic JIT_Valid() 數(shù)據(jù)成員:notBefor證書有效期開始的時(shí)間notAfter證書有效期結(jié)束的時(shí)間初始化證書信息類名稱:JIT_CERTDEVPARAM(保留未用)功能:存儲(chǔ)了從非數(shù)據(jù)流形式初始化

34、證書時(shí)所需要的信息聲明: public class JIT_CERTDEVPARAM public byte szDevInfo; public byte szPWD; public JIT_CERTDEVPARAM() 數(shù)據(jù)成員:szDevInfo 描述證書存儲(chǔ)的描述串。描述串由兩部分組成。第一部分是存儲(chǔ)介質(zhì)描述符,第二部分是證書存儲(chǔ)路徑。存儲(chǔ)介質(zhì)描述符:“file:/”表示證書的存儲(chǔ)介質(zhì)是磁盤。“usb:/”表示證書的存儲(chǔ)介質(zhì)是USB接口設(shè)備?!癱om1:/”表示證書的存儲(chǔ)介質(zhì)是COM接口設(shè)備。證書存儲(chǔ)路徑:表示證書存儲(chǔ)的位置和名字例如:“file:/d:mycert.jpf”表示D盤根目

35、錄下的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 證書密碼全局常量定義該類定義API 中的常量。在本文檔中引用常量時(shí)直接引用常量名。標(biāo)識(shí)常量所用到的配置文件 public static StringCRYPT_INI_FILE_NAME=cryptodevice.ini; public static StringOCSP_INI_FILE

36、_NAME=jitocsp.ini; public static StringCARD_INI_FILE_NAME=card.ini; public static StringMULITYCARD_FILE_NAME=MultiDeviceCard.ini; public static StringMULITYFILE_FILE_NAME=MultiDeviceFile.ini; public static StringJCAAPI_INI_FILE_NAME =jcaapi.ini;文件長度及密碼長度文件長度 public static intFILE_NAME_LEN=256;密碼長度 p

37、ublic static intPWD_LEN=128;數(shù)據(jù)類型定義;Base64類型 public static intDATA_TYPE_BASE64=0;Bin類型 public static intDATA_TYPE_BIN=1;信封類型定義簽名信封 public static intENVELOP_SIGN=0;加密信封 public static intENVELOP_ENC=1;既簽名又加密信封 public static intENVELOP_SIGN_ENC=2;文摘信封 public static intENVELOP_DIGEST=3;MAC信封 public stati

38、c intENVELOP_MAC=4;證書擴(kuò)展類型定義jpf管理員證書文件 public static intCERT_EXP_TYPE_JPF =0;pfx包含私鑰證書文件 public static intCERT_EXP_TYPE_PFX=1;cer公鑰證書文件 public static intCERT_EXP_TYPE_CER=2;證書用戶類型定義個(gè)人單證書 public static intCERT_USE_TYPE_SINGLE =0;jpf雙證書 public static intCERT_USE_TYPE_DOUBLE=1;電子郵件保護(hù)證書 public static int

39、CERT_USE_TYPE_MAIL =2;服務(wù)器證書 public static intCERT_USE_TYPE_SERVER=3;CA證書 public static intCERT_USE_TYPE_CA =4;證書狀態(tài)定義正常狀態(tài) public static intCERT_STATUS_NOMAL =0;證書已注銷 public static intCERT_STATUS_REVOKE =1;未知狀態(tài) public static intCERT_STATUS_UNKNOWN=2;CRL驗(yàn)證證書方式在線驗(yàn)證證書 public static intVERIFY_MODE_ONLINE

40、=0;離線驗(yàn)證證書 public static intVERIFY_MODE_OFFLINE =1;證書SN類型簽名證書 public static intCERT_SN_TYPE_SIGN =1;加密證書 public static intCERT_SN_TYPE_ENC =2;簽名加密證書 public static intCERT_SN_TYPE_SIGNENC =3;證書存儲(chǔ)方式文件方式存儲(chǔ) public static int CERT_DEV_TYPE_FILE =0;USB Key中存儲(chǔ) public static int CERT_DEV_TYPE_USB =1;COM接口設(shè)備存

41、儲(chǔ) public static int CERT_DEV_TYPE_COM =2;加密、解密、簽名 等算法 RSA加密解密; public static int CT_ALGO_RSA_PKCS =0 x00000001;MD2WithRSA 簽名驗(yàn)證 public static int CT_ALGO_MD2_RSA_PKCS =0 x00000004;MD5WithRSA簽名驗(yàn)證 public static int CT_ALGO_MD5_RSA_PKCS =0 x00000005;SHA1WithRSA簽名驗(yàn)證 public static int CT_ALGO_SHA1_RSA_PKC

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

43、static int CT_ALGO_DES_ECB =0 x00000121;3DES ECB方式加密解密 public static int CT_ALGO_DES3_ECB =0 x00000132;標(biāo)準(zhǔn)擴(kuò)展域public static int CERT_EXT_OID_IDENTIFYCARD=12861171;/個(gè)人身份標(biāo)識(shí)碼:OID=1.7.1 public static int CERT_EXT_OID_INSURANCENUM=12861172;/個(gè)人社會(huì)保險(xiǎn)號(hào):OID=1.7.2 public static int CERT_EXT_OID_ORGANIZATIONCODE=

44、12861173;/企業(yè)組織機(jī)構(gòu)代碼:OID=1.7.3 public static int CERT_EXT_OID_ICREGNUM =12861174;/企業(yè)工商注冊(cè)號(hào):OID=1.7.4 public static int CERT_EXT_OID_TAXNUM =12861175; /企業(yè)稅號(hào):OID=1.7.5錯(cuò)誤代碼成功public static intCT_SUCCESS=0參數(shù)錯(cuò)誤public static intCT_ERR_PARAM =-9000內(nèi)存錯(cuò)誤public static intCT_ERR_MEMORY=-9001內(nèi)存分配少public static intC

45、T_ERR_BUFFER_TOO_SMALL=-9090加密庫初始化錯(cuò)誤public static intCT_ERR_CRYPTODEV_INIT=-9999不能打開加密庫public static intCT_ERR_CRYPTO_SESSION =-9002不能訪問加密設(shè)備public static intCT_ERR_CRYPTODEV_NO_ACCESS =-9003 OCS引擎未初始化public static intCT_ERR_OCSP_ENGINE_NOT_INIT = -9004證書不完整public static intCT_ERR_CERT_NOT_INTEGRITY

46、=-9005取證書狀態(tài)失敗public static intCT_ERR_GET_CERT_STATUS = -9006OCSP初始化錯(cuò)誤public static intCT_ERR_OCSP_INIT =-9007 LDAP錯(cuò)誤public static intCT_ERR_ACCESS_LDAP =-9008 CRL不完整public static intCT_ERR_CRL_NOT_INTEGRITY =-9009證書頒發(fā)者或主題錯(cuò)誤public static intCT_ERR_ISSUER_OR_SUBJECT = -9010 CRL引擎未初始化public static intC

47、T_ERR_CRL_ENGINE_NOT_INIT = -9011證書鏈不完整public static intCT_ERR_CERT_CHAIN_NOT_INTEGRITY=-9012證書過期public static intCT_ERR_CERT_OVER = -9013根證書無效public static intCT_ERR_ROOT_CERT_INVALID = -9014 CRL初始化錯(cuò)誤public static intCT_ERR_CRL_INIT =-9015口令錯(cuò)誤public static intCT_ERR_PWD =-9016打開文件錯(cuò)誤public static in

48、tCT_ERR_FILE_OPEN =-9017文件不存在public static intCT_ERR_FILE_NO_EXIST =-9018證書不存在public static intCT_ERR_CERT_NOT_EXIST =-9019證書不匹配public static intCT_ERR_CERT_NO_MATCH =-9020私鑰不存在public static intCT_ERR_PRIVATEKEY_NO_EXIST =-9021算法和密鑰不匹配public static intCT_ERR_KEY_AND_ALGO_NO_MATCH =-9022密鑰不存在 public

49、static intCT_ERR_KEY_NO_EXIST =-9023不支持的算法public static intCT_ERR_ALGO_NOT_SUPPORT =-9024數(shù)據(jù)長度不匹配public static intCT_ERR_DATA_LENGTH_NO_MATCH =-9025證書和算法不匹配public static intCT_ERR_CERT_AND_ALGO_NO_MATCH =-9026 簽名失敗public static intCT_ERR_SIGNATURE =-9027 驗(yàn)證簽名失敗public static intCT_ERR_VERIFY_SIGNATURE

50、 =-9028加密失敗public static intCT_ERR_ENCRYPT =-9029 解密失敗public static intCT_ERR_DECRYPT =-9030產(chǎn)生MAC失敗public static intCT_ERR_MAC =-9031 驗(yàn)證MAC失敗public static intCT_ERR_VERIFY_MAC =-9032產(chǎn)生密鑰失敗public static intCT_ERR_GENERATEKEY =-9033 產(chǎn)生摘要失敗public static intCT_ERR_DIGEST =-9034數(shù)據(jù)格式錯(cuò)誤public static intCT_

51、ERR_DATA_FORMAT =-9040驗(yàn)證模式錯(cuò)誤public static intCT_ERR_VERIFY_MODE =-9041Email地址不存在public static intCT_ERR_NO_EMAIL_ADDRESS =-9042/cryptodevice.ini文件不存在public static intCT_ERR_NO_CRYPT_INI =-9043jitocsp.ini文件不存在public static intCT_ERR_NO_OCSP_INI =-9044jcaapi.ini文件不存在public static intCT_ERR_NO_JCAAPI_I

52、NI =-9045card.ini文件不存在public static intCT_ERR_NO_CARD_INI =-9046MultiDeviceCard.ini文件不存在public static intCT_ERR_NO_MULCARD_INI =-9047MultiDeviceFile.ini文件不存在public static intCT_ERR_NO_MULFILE_INI =-9048初始化LDAP錯(cuò)誤public static intCT_ERR_LDAP_INIT =-9049LDAP引擎未初始化public static intCT_ERR_LDAP_ENGINE_NOT

53、_INIT =-9050產(chǎn)生隨機(jī)數(shù)失敗public static intCT_ERR_GEN_RANDOM =-9051 沒有匹配的OIDpublic static intCT_ERR_OID_NO_MATCH =-9053 證書初始化錯(cuò)誤 public static intCT_ERR_CERT_INIT =-9081引擎初始化錯(cuò)誤 public static intCT_ERR_ENGINE_INIT =-9080函數(shù)說明類JIT_Engine這個(gè)類提供初始化JIT_CA30應(yīng)用API引擎的功能。用戶在使用JIT_CA30應(yīng)用API的其它功能前,必須初始化引擎。該引擎在一個(gè)程序中只能初始化

54、一次。它提供以下功能初始化方法。構(gòu)造函數(shù)JIT_Engine聲明:public JIT_Engine(byte bWorkpath)參數(shù):insWorkPathJIT_CA30應(yīng)用API的工作路徑。該路徑下存放需要的配置文件和CRL根證書等。這個(gè)路徑必須是絕對(duì)路徑。這個(gè)路徑不能為NULL。返回值:由于構(gòu)造方法無返回值,所以用戶在初始化引擎后,調(diào)用getErrcode()方法返回引擎是否初始化成功。示例:byte bWorkPath = null;bWorkPath =”配置文件路徑”JIT_Engine Engine = null;Engine = new JIT_Engine(bWorkPa

55、th); iRet = Engine.getErrcode();if(iRet =0)/*引擎初始化成功*/else/*引擎初始化失敗,返回相應(yīng)的錯(cuò)誤碼*/Engine.delete();相關(guān)主題GetLastErrDelete獲取錯(cuò)誤信息 getErrcode聲明:public int getErrcode()參數(shù):無返回值:函數(shù)成功時(shí)返回0,失敗時(shí)返回錯(cuò)誤碼示例:見5.1.1示例釋放引擎資源 delete聲明:public void delete();參數(shù):無返回值:無示例:見5.1.1示例類JIT_OCSP這個(gè)類提供通過OCSP在線查詢證書狀態(tài)的功能。構(gòu)造方法JIT_OCSP聲明: pu

56、blic int JIT_OCSP( JIT_Engine pEng, JIT_Certificate pRootCert, JIT_Certificate pServerCert)參數(shù):in pEngJIT_CA30應(yīng)用API引擎。用戶先構(gòu)造一個(gè)JIT_Engine的實(shí)例,然后將對(duì)象傳遞給方法。in pRootCertCA的證書對(duì)象,必須先初始化CA證書。此參數(shù)必須非空。pServerCertOCSP服務(wù)器證書,此參數(shù)保留(置為null)。返回值:由于構(gòu)造方法無返回值,調(diào)用getErrcode()方法返回錯(cuò)誤碼。注釋:在參數(shù)pRootCert中指明CA的證書,是用來驗(yàn)證用戶要在線查詢的證書是

57、否是由pRootCert參數(shù)指定的CA簽發(fā)的。示例: 初始化引擎JIT_OCSP OCSP = null;JIT_Certificate cerRootCert = null; 初始化CA根證書OCSP = new JIT_OCSP(Engine, cerRootCert, null); iRet = OCSP.getErrCode(); if (0 != iRet) 初始化引擎失敗 else 初始化引擎成功 OCSP.delete();相關(guān)主題:GetLastErrJIT_CertificateDelete查詢證書狀態(tài)getCertStatus聲明:public int (JIT_Certi

58、ficate pCert, int iCertType)參數(shù):in pCert輸入用戶要在線查詢的證書對(duì)象,必須先初始化該證書。此參數(shù)必須非空。in iCertType輸入用戶要在線查詢的證書的類型。如果參數(shù)pCert中指定的證書是雙證書。則在參數(shù)nCertType中指明要查詢的證書。nCertType證書類型數(shù)值CERT_SN_TYPE_SIGN簽名證書1CERT_SN_TYPE_ENC加密證書2返回值:證書狀態(tài)或者錯(cuò)誤代碼常量定義證書狀態(tài)數(shù)值CERT_STATUS_NOMAL表示證書有效0CERT_STATUS_REVOKE表示證書被注銷1CERT_STATUS_UNKNOWN表示證書狀態(tài)

59、未知2其他錯(cuò)誤代碼示例:JIT_Certificate cerEncCert = null;初始化證書iRet = OCSP.getCertStatus(cerEncCert, cerEncCert.getCertType(); if (0 iRet) 查詢證書狀態(tài)失敗 else 返回證書狀態(tài) 相關(guān)主題:JIT_Certificate獲取錯(cuò)誤信息 getErrcode聲明:public int getErrcode()參數(shù):無返回值:函數(shù)成功時(shí)返回0,失敗時(shí)返回錯(cuò)誤碼示例:見5.2.1示例釋放OCSP資源 delete聲明:public void delete();參數(shù):無返回值:無示例:見5

60、.2.1示例類JIT_CRL這個(gè)類提供通過CRL驗(yàn)證證書狀態(tài)的功能。可以通過在線或離線方式驗(yàn)證構(gòu)造方法 JIT_CRL聲明:public JIT_CRL(JIT_Engine pEng, JIT_CRLPARAM stCRLInfo)參數(shù):inpEngJIT_CA30應(yīng)用API引擎。用戶先構(gòu)造一個(gè)JIT_Engine的實(shí)例,然后將對(duì)象傳遞給方法。instCRLInfoJIT_CRLPARAM類的引用。詳見JIT_CRLPARAM類的定義。返回值:由于構(gòu)造方法無返回值,調(diào)用getErrcode()方法返回錯(cuò)誤碼。注釋:此方法初始化通過CRL驗(yàn)證證書的功能和方式(在線或離線)。示例: JIT_CR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論