




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、格爾簽名驗(yàn)證服務(wù)器客戶端API_C/ActiveX接口說明V1.7上海格爾軟件股份有限公司2006年8月保密事宜:本文檔包含上海格爾軟件股份有限公司的專有商業(yè)信息和保密信息。接受方同意維護(hù)本文檔所提供信息的保密性,承諾不對其進(jìn)行復(fù)制,或向評估小組以外、非直接相關(guān)的人員公開此信息。對于以下三種信息,接受方不向格爾公司承擔(dān)保密責(zé)任:1 ) 接受方在接收該文檔前,已經(jīng)掌握的信息。2 ) 可以通過與接受方無關(guān)的其它渠道公開獲得的信息。3 ) 可以從第三方,以無附加保密要求方式獲得的信息。目 錄1接口說明61.1客戶端初始化61.2客戶端清理61.3驗(yàn)證數(shù)據(jù)簽名61.4驗(yàn)證簽名數(shù)據(jù)和簽名證書71.5驗(yàn)證
2、Attach方式的PKCS7數(shù)據(jù)簽名81.6驗(yàn)證Attach方式的PKCS7數(shù)據(jù)簽名并獲取原文91.7證書驗(yàn)證91.8獲取證書信息101.9Attach方式PKCS7數(shù)據(jù)簽名111.10數(shù)據(jù)簽名(普通簽名數(shù)據(jù))111.11對文件簽名121.12對文件簽名數(shù)據(jù)驗(yàn)證簽名131.13對文件解密數(shù)字信封141.14Detach方式的PKCS#7簽名141.15驗(yàn)證Detach方式的PKCS#7數(shù)據(jù)簽名151.16驗(yàn)證簽名(實(shí)時從LDAP下載證書并驗(yàn)證)151.17驗(yàn)證原文HASH簽名162錯誤碼說明173消息格式定義233.1消息格式總體描述233.2驗(yàn)證數(shù)據(jù)簽名243.2.1客戶端消息請求格式243
3、.2.2服務(wù)器端驗(yàn)證簽名成功的返回消息格式253.2.3服務(wù)器端驗(yàn)證簽名失敗的返回消息格式253.3驗(yàn)證簽名數(shù)據(jù)和簽名證書263.3.1客戶端消息請求格式263.3.2服務(wù)器端驗(yàn)證簽名成功的返回消息格式273.3.3服務(wù)器端驗(yàn)證簽名失敗的返回消息格式273.4驗(yàn)證PKCS#7簽名數(shù)據(jù)283.4.1客戶端消息請求格式283.4.2服務(wù)器端驗(yàn)證簽名成功的返回消息格式283.4.3服務(wù)器端驗(yàn)證簽名失敗的返回消息格式293.5證書驗(yàn)證293.5.1客戶端消息請求的格式293.5.2服務(wù)器端驗(yàn)證成功的返回消息格式303.5.3服務(wù)器端驗(yàn)證失敗的返回消息格式303.6獲取證書信息313.6.1客戶端消息請
4、求格式313.6.2服務(wù)器端解析證書成功的返回消息格式313.6.3服務(wù)器端解析證書失敗的返回消息格式323.7數(shù)據(jù)簽名(PKCS#7簽名數(shù)據(jù))323.7.1客戶端消息請求格式323.7.2服務(wù)器端簽名成功的返回消息格式333.7.3服務(wù)器端簽名失敗的返回消息格式333.8數(shù)據(jù)簽名(普通簽名數(shù)據(jù))343.8.1客戶端消息請求格式343.8.2服務(wù)器端簽名成功的返回消息格式353.8.3服務(wù)器端簽名失敗的返回消息格式353.9對文件簽名363.9.1客戶端消息請求格式363.9.2服務(wù)器端簽名成功的返回消息格式363.9.3服務(wù)器端簽名失敗的返回消息格式373.10對文件簽名數(shù)據(jù)驗(yàn)證簽名373.
5、10.1客戶端消息請求格式373.10.2服務(wù)器端驗(yàn)證簽名成功的返回消息格式383.10.3服務(wù)器端驗(yàn)證簽名失敗的返回消息格式383.11對文件解密數(shù)字信封393.11.1客戶端消息請求格式393.11.2服務(wù)器端操作成功的返回消息格式403.11.3服務(wù)器端操作失敗的返回消息格式403.12驗(yàn)證簽名(實(shí)時從LDAP下載證書并驗(yàn)證)413.12.1客戶端消息請求格式413.12.2服務(wù)器端操作成功的返回消息格式413.12.3服務(wù)器端操作失敗的返回消息格式423.13Detach方式PKCS7簽名423.13.1客戶端消息請求格式423.13.2服務(wù)器端操作成功的返回消息格式433.13.3服
6、務(wù)器端操作失敗的返回消息格式433.14Detach方式PKCS7簽名驗(yàn)證443.14.1客戶端消息請求格式443.14.2服務(wù)器端操作成功的返回消息格式453.14.3服務(wù)器端操作失敗的返回消息格式451 接口說明注意:輸出緩沖區(qū)的空間請在接口外部分配,請預(yù)留足夠的存儲空間,建議預(yù)留64K字節(jié)。另外輸入的原文數(shù)據(jù)長度有限制,不能大于40K字節(jié)大小。注意:以下接口輸入和輸出的原文都不是B64編碼,接口內(nèi)部會自動轉(zhuǎn)換為B64編碼,以便于傳送。1.1 客戶端初始化函數(shù):int InitialVerify(char *szIP, unsigned short nPort)* 初始化環(huán)境,這個函數(shù)需要
7、在使用之前調(diào)用 * 它所完成的工作是初始化全局環(huán)境,并且建立與服務(wù)器的連接 * 注意:此接口會返回連接句柄,這個句柄將用于后續(xù)的操作參數(shù) * * param szIP 服務(wù)器的IP地址; * param nPort 服務(wù)器的端口號 * return 返回連接的連接句柄,用于后續(xù)操作;如果為負(fù)數(shù),表示出錯1.2 客戶端清理函數(shù):int FinalizeVerify(int hContext)* 釋放資源 * * param hContext 連接句柄,通過InitialVerify接口獲得1.3 驗(yàn)證數(shù)據(jù)簽名函數(shù):int VerifySign(int nSignType, int nSignSt
8、ytle, unsigned char *pOriginData, int nOriginLength, char *pB64Cert, char *pB64SignedData, int hContext)* 驗(yàn)證簽名有效性 * param nSignType是進(jìn)行數(shù)字簽名前,原文摘要時所用的算法 -1 / 采用直接對原文數(shù)據(jù)進(jìn)行簽名的方式0 / MD2摘要算法1 / MD5摘要算法2 / SHA1摘要算法 * param nSignStytle 備用參數(shù),目前無效 * param pOriginData 原文數(shù)據(jù) * param nOriginLength 原文數(shù)據(jù)長度 * param p
9、B64Cert 待驗(yàn)證的證書B64編碼(中間沒有回車換行) * param pB64SignedData 簽名數(shù)據(jù)(b64編碼) * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail錯誤碼信息參見“錯誤碼說明”部分。以下同。1.4 驗(yàn)證簽名數(shù)據(jù)和簽名證書函數(shù):int VerifyCertSign(int nSignType, int nSignStytle, unsigned char *pOriginData, int nOriginLength, char *pB64Cert, char *pB64
10、SignedData, int iFlagCRL, int hContext)* 驗(yàn)證簽名和證書的有效性 * * param nSignType是數(shù)字簽名前,原文摘要時所用的算法 -1 / 采用直接對原文數(shù)據(jù)進(jìn)行簽名的方式0 / MD2摘要算法1 / MD5摘要算法2 / SHA1摘要算法 * param nSignStytle 備用參數(shù),目前無效 * param pOriginData 原文數(shù)據(jù) * param nOriginLength 原文數(shù)據(jù)長度 * param pB64Cert 待驗(yàn)證的證書B64編碼(中間沒有回車換行) * param pB64SignedData 簽名數(shù)據(jù)(b64
11、編碼) * param iFlagCRL 驗(yàn)證證書有效性方式0, 不驗(yàn)證;1,驗(yàn)證黑名單;2 ,使用OCSP驗(yàn)證;其他,只驗(yàn)證證書鏈 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.5 驗(yàn)證Attach方式的PKCS7數(shù)據(jù)簽名函數(shù):int PKCS7DataVerify(const char *pPKCS7B64Data,const unsigned char *pOriginData,unsigned int nOriginLen,int hContext)* Attach方式的PKCS#7數(shù)
12、據(jù)簽名驗(yàn)證 * * param pPKCS7B64Data P7數(shù)據(jù)B64編碼(包含原文) * param pOriginData 簽名數(shù)據(jù)的原文 (Attach方式P7簽名驗(yàn)證請置為NULL) * param nOriginLen 原文的長度(Attach方式P7簽名驗(yàn)證請置為0) * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.6 驗(yàn)證Attach方式的PKCS7數(shù)據(jù)簽名并獲取原文函數(shù):int PKCS7DataVerifyGetOriData(const char *pPKCS7B64Da
13、ta,const unsigned char *pOriginData,unsigned int *pnOriginLen,int hContext)* Attach方式的PKCS#7數(shù)據(jù)簽名驗(yàn)證,并獲取原文信息 * * param pPKCS7B64Data P7數(shù)據(jù)B64編碼(包含原文) * param pOriginData 返回的原文數(shù)據(jù) * param pnOriginLen 返回的原文數(shù)據(jù)長度 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.7 證書驗(yàn)證函數(shù):int VerifyCe
14、rt(char *pB64Cert, int iFlagOCSP, int iFlagCRL, int hContext)* 驗(yàn)證證書有效性 * * param pB64Cert 待驗(yàn)證的證書B64編碼(中間沒有回車換行) * param iFlagOCSP 使用OCSP方式驗(yàn)證標(biāo)志,1 - 使用OCSP方式驗(yàn)證,0 - 不使用OCSP * param iFlagCRL 是否驗(yàn)證黑名單標(biāo)志,1 - 驗(yàn)證黑名單,0 - 不驗(yàn)證黑名單 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 / 證書沒有問題1 / 證書尚未生效2 / 證書已經(jīng)過期3
15、 / 證書時間有問題4/ 沒有有效證書鏈5 / 簽名驗(yàn)證失敗6 / 上級證書未通過驗(yàn)證7/ 已被廢除1.8 獲取證書信息函數(shù):int GetCertInfo(char *pB64Cert, int nType, char *pItemName, char *pCertInfo, int hContext)* 取證書信息 * * param pB64Cert 待驗(yàn)證的證書B64編碼(中間沒有回車換行) * param nType 證書項(xiàng)的類型0 / 取證書用戶信息基本項(xiàng)1 / 取證書的發(fā)布者信息項(xiàng)2/ 取證書擴(kuò)展項(xiàng) * param pItemName 所要取得證書項(xiàng)名稱,如"CN&qu
16、ot;等 * param pCertInfo 所要取得證書項(xiàng)的值 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.9 Attach方式PKCS7數(shù)據(jù)簽名函數(shù):int PKCS7DataSign(const unsigned char *pOriginData, unsigned int nOriginDataLen, char *pSignedData, int hContext)* Attach方式的PKCS#7數(shù)據(jù)簽名 * * param pOriginData 待簽名原文,數(shù)據(jù)長度不能超過
17、40K * param nOriginDataLen 原文長度 * param pSignedData 簽名后的P7數(shù)據(jù)B64編碼(簽名后的數(shù)據(jù)包含原文) * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.10 數(shù)據(jù)簽名(普通簽名數(shù)據(jù))函數(shù):int SignData(int nSignType, const unsigned char *pOriginData, unsigned int nOriginDataLen, char *pSignedData, char *pB64Cert, int
18、hContext)* 普通格式的數(shù)據(jù)簽名(不使用PKCS7格式封裝簽名結(jié)果) * * param nSignType是數(shù)字簽名前,原文摘要時所用的算法 -1 / 采用直接對原文數(shù)據(jù)進(jìn)行簽名的方式0 / MD2摘要算法1 / MD5摘要算法2 / SHA1摘要算法 * param pOriginData 待簽名原文 * param nOriginDataLen 原文長度 * param pSignedData 簽名后的數(shù)據(jù) * param pB64Cert B64編碼的簽名證書 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succee
19、d; other fail1.11 對文件簽名函數(shù):int SignFile(int nSignType, char *strFile, int iSignAlgo, char *strSignedData, char *pB64Cert, int hContext)* 對文件進(jìn)行簽名(不使用PKCS7格式封裝簽名結(jié)果) * * param nSignType是數(shù)字簽名前,原文摘要時所用的算法 -1 / 采用直接對原文數(shù)據(jù)進(jìn)行簽名的方式0 / SHA1摘要算法1 / MD5摘要算法 * param strFile 待簽名的文件名 * param iSignALgo 簽名算法,作為擴(kuò)展使用,暫時
20、無效 * param strSignedData 簽名后的數(shù)據(jù) * param pB64Cert B64編碼的簽名證書 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.12 對文件簽名數(shù)據(jù)驗(yàn)證簽名函數(shù):int VerifyFile(int nSignType, int iSignAlgo, char *strFile, char *pB64Cert, char *pB64SignedData,int iVerifyFlag,int hContext)* 對文件簽名進(jìn)行驗(yàn)證(簽名結(jié)果不是PKCS7
21、格式封裝) * * param nSignType是數(shù)字簽名前,原文摘要時所用的算法 -1 / 采用直接對原文數(shù)據(jù)進(jìn)行簽名的方式0 / SHA1摘要算法1 / MD5摘要算法 * param iSignALgo 簽名算法,作為擴(kuò)展使用,暫時無效 * param strFile 待驗(yàn)證的文件名全路徑 * param pB64Cert 用戶證書數(shù)據(jù)(b64編碼) * param pB64SignedData 簽名數(shù)據(jù) * param iVerifyFlag 驗(yàn)證證書有效性方法(暫時無效,僅作擴(kuò)展使用,不驗(yàn)證證書) 0 不驗(yàn)證證書有效性 1 CRL方式驗(yàn)證證書有效性 2 OCSP方式驗(yàn)證證書有效性
22、其他 只驗(yàn)證證書鏈 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.13 對文件解密數(shù)字信封函數(shù):int DecodeEnvelopeFile(char * strSrcFile, char * strDstFile, int hContext)* 使用服務(wù)器私鑰解密數(shù)字信封 * * param strSrcFile 待解密的文件的文件名,如果不在當(dāng)前目錄下,需要帶路徑名 * param strDstFile 解密后文件的文件名,如果不在當(dāng)前目錄下,需要帶路徑名 * param hContext
23、 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.14 Detach方式的PKCS#7簽名函數(shù):int PKCS7DetachDataSign(const unsigned char *pOriginData, unsigned int nOriginDataLen, char *pSignedData, int hContext)* Detach方式的PKCS#7數(shù)據(jù)簽名 * * param pOriginData 待簽名原文,原文長度沒有限制 * param nOriginLen 原文的長度 * param pSignedD
24、ata 簽名后的P7格式數(shù)據(jù),不包含原文 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.15 驗(yàn)證Detach方式的PKCS#7數(shù)據(jù)簽名函數(shù):int PKCS7DetachDataVerify(const char *pPKCS7B64Data,const unsigned char *pOriginData,unsigned int nOriginLen,int hContext)* Detach方式的PKCS#7數(shù)據(jù)簽名驗(yàn)證 * * param pPKCS7B64Data P7數(shù)據(jù)B64編
25、碼(不包含原文) * param pOriginData 簽名數(shù)據(jù)的原文 * param nOriginLen 原文的長度 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.16 驗(yàn)證簽名(實(shí)時從LDAP下載證書并驗(yàn)證)函數(shù):int VerifyLdapCertSign(int nSignType, int iSignAlgo, unsigned char *strOriginData, int iOriginLength, char *strFilter, char *strB64SignedD
26、ata, int iVerifyFlag, int hContext)*驗(yàn)證簽名和證書的有效性(實(shí)時從LDAP下載證書并驗(yàn)證其有效性) * * param nSignType是數(shù)字簽名前,原文摘要時所用的算法 -1 / 采用直接對原文數(shù)據(jù)進(jìn)行簽名的方式0 / SHA1摘要算法1 / MD5摘要算法 * param iSignAlgo 0 SHA1; 1 MD5(此參數(shù)當(dāng)前已經(jīng)失效,只支持SHA1) * param strOriginData 原文數(shù)據(jù) * param iOriginLength 原文數(shù)據(jù)長度 * param strFilter 用戶證書的證書序列號 * param strB64
27、SignedData 簽名數(shù)據(jù)(b64編碼) * param iVerifyFlag 是否驗(yàn)證證書狀態(tài) 0 不驗(yàn)證證書狀態(tài) 1 驗(yàn)證證書狀態(tài)* param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail1.17 驗(yàn)證原文HASH簽名函數(shù):int VerifyHashSign(char *pB64OriginHashData, char *pB64Cert, char *pB64SignedData, int iVerifyFlag, int hContext)* 驗(yàn)證原文數(shù)據(jù)HASH簽名和證書有效性,用戶為了保密
28、/避免傳輸大數(shù)據(jù)需要, * 將原文進(jìn)行HASH,然后調(diào)用該接口,避免了原文數(shù)據(jù)外送 * * param pB64OriginHashData 原文數(shù)據(jù)SHA-1 HASH后的B64編碼 * param pB64Cert 待驗(yàn)證的證書B64編碼(中間沒有回車換行) * param pB64SignedData 簽名數(shù)據(jù)(b64編碼) * param iVerifyFlag 0,不驗(yàn)證證書;1,驗(yàn)證黑名單;2 ,使用OCSP驗(yàn)證 * param hContext 連接句柄,通過InitialVerify接口獲得 * return 0 succeed; other fail2 錯誤碼說明錯誤碼錯誤描
29、述0函數(shù)操作成功1證書未生效2證書已過期3證書未在有效期內(nèi)4證書鏈不完整5證書簽名無效6自簽名證書或者證書鏈太長7證書在黑名單中8內(nèi)存錯誤-1網(wǎng)絡(luò)通信出現(xiàn)錯誤,或未知錯誤-32P7解密內(nèi)存錯誤-109P7不支持的摘要類型-100P7密鑰長度錯誤-111P7不支持的算法類型-112P7不支持的內(nèi)容數(shù)據(jù)-1000輸入?yún)?shù)錯誤-1001創(chuàng)建連接套接口失敗-1002連接服務(wù)器失敗-1003輸入的數(shù)據(jù)超過限制-4001PKI SDK內(nèi)部錯誤-4002PKI SDK內(nèi)部錯誤-4003未知錯誤-4004不支持指定運(yùn)算-4005TOKEN沒有正確初始化-4006TOKEN不可用-4007消息格式不正確-400
30、8處理失敗-4009操作暫時不能完成,但以后再試可能成功-4010需要簽名-4011沒有結(jié)構(gòu)驗(yàn)證-4012TOKEN內(nèi)部錯誤-4013TOKEN不支持此操作-4014文件操作中到達(dá)文件尾-4015空指針-4016傳入緩沖區(qū)太小-4017數(shù)組越界-4018內(nèi)存空間不夠-4019參數(shù)無效-4020結(jié)構(gòu)中的成員無效-4021沒有經(jīng)過登錄無法訪問私有對象-4022實(shí)例化失敗-4023數(shù)字格式錯誤-4024無效的強(qiáng)制類型轉(zhuǎn)換-4025輸入/輸出錯誤-4026輸出錯誤-4027輸入錯誤-4028不可序列化-4029用戶取消操作-4030無效狀態(tài)-4031沒有找到找到的對象-4032對象已經(jīng)存在-4033操
31、作被中斷-4034連接失敗-4035驗(yàn)證失敗-4036MD2運(yùn)算時輸入數(shù)據(jù)長度不對-4037RSA解密失敗-4038RSA運(yùn)算時輸入數(shù)據(jù)長度不對-4040無效日期-4050證書已經(jīng)過期-4300證書鏈不完整-6001參數(shù)為空-6002內(nèi)存緩沖區(qū)太小-6003未初始化KPI環(huán)境-6004未初始化Token設(shè)備-6005無效的Session句柄-6006不正確的摘要類型-6007簽名數(shù)據(jù)驗(yàn)證環(huán)境未初始化-6008證書驗(yàn)證環(huán)境未初始化-6009時間戳驗(yàn)證環(huán)境未初始化-6010OpenSSL函數(shù)庫環(huán)境未初始化-6101無效的錯誤碼-6102獲取KPI錯誤信息失敗-6201找不到該文件-6202文件格式
32、不正確-6203找不到指定鍵或鍵值無效-6204對象未正確初始化-6301找不到指定的Slot設(shè)備-6302沒有指定默認(rèn)的Slot設(shè)備-6303Token句柄無效-6401緩沖區(qū)長度為無效值-6402緩沖區(qū)為空-6403不支持的摘要算法-6404B64解碼錯誤-6405數(shù)據(jù)摘要錯誤-6406沒有通過數(shù)據(jù)驗(yàn)證-6501緩沖區(qū)長度為無效值-6502緩沖區(qū)為空-6503B64解碼錯誤-6504非預(yù)期的證書格式-6505證書長度超出預(yù)定值-6506OCSP驗(yàn)證失敗-6507未找到上級證書-6508自簽名證書-6509無驗(yàn)證請求-6510無效的黑名單讀取路徑-6511指定的路徑下無有效的黑名單文件-65
33、12找不到指定的文件-6513非預(yù)期的文件長度-6514無效的證書文件讀取路徑-6515指定的路徑下無有效的證書文件-6516OCSP的URL為空-6517要獲取的證書項(xiàng)類型錯誤-6518獲取證書項(xiàng)信息出錯-6519指定的證書項(xiàng)不存在-6520緩沖區(qū)長度過小-6521將證書轉(zhuǎn)換成X509格式出錯-6522內(nèi)存空間不足-6523字符碼轉(zhuǎn)換出錯-6524不能根據(jù)OID字符創(chuàng)建ASN對象-6525指定的擴(kuò)展項(xiàng)不存在-6526擴(kuò)展項(xiàng)的字符長度超過預(yù)期長度-6527創(chuàng)建BIO對象失敗-6528主機(jī)名不能被解析-6529創(chuàng)建套接字失敗-6530連接OCSP服務(wù)器失敗-6531OCSP服務(wù)的Url地址無效-
34、6601緩沖區(qū)長度為無效值-6602緩沖區(qū)為空-6603B64解碼錯誤-6604證書信息無效-6605時間戳簽名數(shù)據(jù)結(jié)構(gòu)無效-6606找不到內(nèi)部簽名數(shù)據(jù)-6607不能解析出數(shù)據(jù)原文-6608緩沖區(qū)長度不足-6701未成功解析PKCS#7數(shù)據(jù)-6702, -6801無效的配置模塊指針-6802無簽名配置信息-6803不能打開指定的文件-6804文件大小不符合預(yù)期范圍-6805無效的證書文件-6806無效的私鑰文件-6807PKCS#7簽名環(huán)境未初始化-6808無效的參數(shù)-6809接收簽名數(shù)據(jù)的緩沖區(qū)太小-6810不正確的PKCS#7簽名請求格式-6811簽名錯誤-6812無足夠的內(nèi)存空間創(chuàng)建操作
35、對象-6813不是PKCS#7數(shù)字信封-6814證書狀態(tài)無效(針對LDAP方式驗(yàn)證證書)組裝P7報文失?。ㄡ槍7簽名驗(yàn)證)-6815待驗(yàn)簽名原文HASH長度不合法-6816從P7包中獲取簽名證書失敗-6817從P7包中獲取簽名數(shù)據(jù)失敗-6818驗(yàn)證P7簽名失敗-7001LDAP未初始化(針對LDAP方式驗(yàn)證證書)獲取證書公鑰失敗(針對普通證書驗(yàn)證)-7002LDAP服務(wù)器登錄失?。ㄡ槍DAP方式驗(yàn)證)錯誤的簽名算法(針對普通證書驗(yàn)證)-7003,-7004LDAP服務(wù)器上找不到指定節(jié)點(diǎn)-7005從LDAP服務(wù)器查詢操作失敗(可能是查詢條件不合法)-7100打開文件失敗-7101文件大小超過
36、大小限制-7102RSA加密失敗-7103RSA解密失敗-7104加密失敗-7105解密失敗-7106從P7數(shù)據(jù)中獲取證書失敗-7107從P7數(shù)據(jù)中獲取簽名結(jié)果失敗-9000不支持的功能3 消息格式定義3.1 消息格式總體描述本章定義客戶端與服務(wù)器端通信的所有消息格式以及接口說明。與服務(wù)器端的通信協(xié)議采用TCP端口,默認(rèn)情況下,服務(wù)器TCP端口是5000消息包括消息頭和消息體兩個部分,消息頭的定義如下:字段名稱字段意義字段值msg_type消息的類型0-消息請求1-正確結(jié)果返回2-錯誤結(jié)果返回msg_id消息ID1000-驗(yàn)證證書1001-驗(yàn)證簽名數(shù)據(jù)1002-驗(yàn)證簽名及簽名證書1003-驗(yàn)證
37、時間戳1004-獲取證書信息1005-Attach方式PKCS7格式簽名1006-Attach方式PKCS7格式簽名驗(yàn)證1007-普通格式簽名1008-PKCS7格式簽名驗(yàn)證并返回原文數(shù)據(jù)1009-驗(yàn)證簽名(實(shí)時從LDAP下載證書并驗(yàn)證)1020-對原文數(shù)據(jù)的HASH值進(jìn)行驗(yàn)證1030-服務(wù)器私鑰加密運(yùn)算1031-服務(wù)器私鑰解密運(yùn)算(用于數(shù)字信封)1040-Detach方式PKCS7簽名1041- Detach方式PKCS7驗(yàn)證簽名msg_sn消息序列號暫時無效,用于擴(kuò)展Version消息版本號1注:以下接口例子中的消息體的值僅供參考3.2 驗(yàn)證數(shù)據(jù)簽名3.2.1 客戶端消息請求格式<?
38、xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>0</msg_type><msg_id>1001</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><sign_type>簽名類型</sign_type><origin_d
39、ata_len>原文數(shù)據(jù)長度</origin_data_len><origin_data> B64編碼的原文數(shù)據(jù)</origin_data><b64_cert>簽名證書證書(B64編碼)</b64_cert><signed_data>簽名后的結(jié)果(B64編碼)</signed_data><sign_stytle>0</sign_stytle></msg_body></msg>3.2.2 服務(wù)器端驗(yàn)證簽名成功的返回消息格式<?xml version=&q
40、uot;1.0" encoding="gb2312"?><msg><msg_head><msg_type>1</msg_type><msg_id>1001</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head></msg>3.2.3 服務(wù)器端驗(yàn)證簽名失敗的返回消息格式<?xml version="1.0" encoding=&quo
41、t;gb2312"?><msg><msg_head><msg_type>2</msg_type><msg_id>1001</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><error_no>錯誤號碼</error_no></msg_body></msg>3.3 驗(yàn)證簽名數(shù)據(jù)和簽名證書3.3.1 客戶端消息
42、請求格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>0</msg_type><msg_id>1002</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><sign_type>簽名類型</sign_type><
43、;origin_data_len>原文數(shù)據(jù)長度</origin_data_len><origin_data> B64編碼的原文數(shù)據(jù)</origin_data><b64_cert>簽名證書證書(B64編碼)</b64_cert><crl_flag>黑名單驗(yàn)證類型</crl_flag><signed_data>簽名后的結(jié)果(B64編碼)</signed_data><sign_stytle>0</sign_stytle></msg_body></
44、msg>3.3.2 服務(wù)器端驗(yàn)證簽名成功的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>1</msg_type><msg_id>1002</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head></msg>3.3.3 服務(wù)器端驗(yàn)證簽名失敗的返回消
45、息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>2</msg_type><msg_id>1002</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><error_no>錯誤號碼</error_no></m
46、sg_body></msg>3.4 驗(yàn)證PKCS#7簽名數(shù)據(jù)3.4.1 客戶端消息請求格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>0</msg_type><msg_id>1006</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_
47、body><origin_data_len>0</origin_data_len><origin_data></origin_data><signed_data>PKCS7格式簽名數(shù)據(jù)</signed_data></msg_body></msg>3.4.2 服務(wù)器端驗(yàn)證簽名成功的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_typ
48、e>1</msg_type><msg_id>1006</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head></msg>3.4.3 服務(wù)器端驗(yàn)證簽名失敗的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>2</msg_type><
49、msg_id>1006</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><error_no>錯誤號碼</error_no></msg_body></msg>3.5 證書驗(yàn)證3.5.1 客戶端消息請求的格式<?xml version="1.0" encoding="gb2312"?><msg><msg_he
50、ad><msg_type>0</msg_type><msg_id>1000</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><ocsp_flag>是否驗(yàn)證OCSP標(biāo)志</ocsp_flag><crl_flag>是否驗(yàn)證黑名單標(biāo)志</crl_flag><b64_cert>B64編碼的證書</b64_cert><
51、/msg_body></msg>3.5.2 服務(wù)器端驗(yàn)證成功的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>1</msg_type><msg_id>1000</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head></msg>3.5.
52、3 服務(wù)器端驗(yàn)證失敗的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>2</msg_type><msg_id>1000</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><error_no>錯誤號碼</erro
53、r_no></msg_body></msg>3.6 獲取證書信息3.6.1 客戶端消息請求格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>0</msg_type><msg_id>1004</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head>
54、<msg_body><type>2</type><item_name>2.16.156.1.11000.1.3.3</item_name><b64_cert>B64編碼的證書</b64_cert></msg_body></msg>3.6.2 服務(wù)器端解析證書成功的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>
55、1</msg_type><msg_id>1004</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><cert_info>證書項(xiàng)信息</cert_info></msg_body></msg>3.6.3 服務(wù)器端解析證書失敗的返回消息格式<?xml version="1.0" encoding="gb2312"?&
56、gt;<msg><msg_head><msg_type>2</msg_type><msg_id>1003</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><error_no>錯誤號碼</error_no></msg_body></msg>3.7 數(shù)據(jù)簽名(PKCS#7簽名數(shù)據(jù))3.7.1 客戶端消息請求格式<?xm
57、l version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>0</msg_type><msg_id>1005</msg_id><msg_sn>0</msg_sn><version>1</version></msg_head><msg_body><origin_data_len>原文長度</origin_data_len>&l
58、t;origin_data>B64編碼的原文數(shù)據(jù)</origin_data></msg_body></msg>3.7.2 服務(wù)器端簽名成功的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>1</msg_type><msg_id>1005</msg_id><msg_sn>0</msg_sn><version>
59、;1</version></msg_head><msg_body><signed_data>B64編碼的簽名后的數(shù)據(jù)</signed_data></msg_body></msg>3.7.3 服務(wù)器端簽名失敗的返回消息格式<?xml version="1.0" encoding="gb2312"?><msg><msg_head><msg_type>2</msg_type><msg_id>1005</msg_id><msg_sn>0</msg_sn>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽市三臺中學(xué)2024-2025學(xué)年高二(上)期末生物試卷(含解析)
- 溝槽開挖支護(hù)施工方案
- 橋架鋼結(jié)構(gòu)施工方案
- 導(dǎo)管室裝修施工方案
- 深圳燈光秀施工方案
- 反光涂料施工方案
- 防滑混凝土泳池施工方案
- 5以內(nèi)的3個數(shù)加減混合題
- 等效電路模型、單顆粒模型、均質(zhì)多孔模型、異構(gòu)模型等
- 地暖加壓泵換向閥工作原理
- 人教版PEP小學(xué)五年級英語下冊全冊教案(含計劃)
- 《公路工程造價標(biāo)準(zhǔn)高海拔高寒地區(qū)補(bǔ)充規(guī)定》
- 2024-2030年中國工控機(jī)行業(yè)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報告
- 臨床護(hù)理實(shí)踐指南2024版
- 貴州省獸藥經(jīng)營質(zhì)量管理規(guī)范實(shí)施細(xì)則
- 常規(guī)弱電系統(tǒng)施工單價表純勞務(wù)
- 勞動合同(模版)4篇
- 2024-2025學(xué)年小學(xué)信息技術(shù)(信息科技)五年級下冊人教版教學(xué)設(shè)計合集
- 2024年大學(xué)試題(林學(xué))-森林經(jīng)理學(xué)考試近5年真題集錦(頻考類試題)帶答案
- 醫(yī)學(xué)教材 《婦產(chǎn)科學(xué)》第9版課件-胎兒異常與多胎妊娠
- 2025年國家公務(wù)員考試行測(地市級)行政職業(yè)能力測驗(yàn)試卷與參考答案
評論
0/150
提交評論