android簽名控件cfca scap版軟件需求說明書_第1頁
android簽名控件cfca scap版軟件需求說明書_第2頁
android簽名控件cfca scap版軟件需求說明書_第3頁
android簽名控件cfca scap版軟件需求說明書_第4頁
android簽名控件cfca scap版軟件需求說明書_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、CFCA SCAP Android 標(biāo)準(zhǔn)版需求說明書中國金融認(rèn)證中心2015 年 11 月 16 日:本文檔的屬于中國金融認(rèn)證中心,任何人或組織,不得擅自修改、拷貝或以其它方式使用本文檔中的內(nèi)容。文檔修訂本文檔會(huì)隨時(shí)保持更新,請(qǐng)與中國金融認(rèn)證中心索要最新版本。版本內(nèi)容日期編寫審核1.0初稿2014/12/202.0添加 Hash 簽名2015/07/133.0添加時(shí)間戳接口2015/11/16目錄引言1編寫目的11.2.讀者對(duì)象1需求說明1需求概述1功能需求1環(huán)境需求1字符編碼規(guī)范2接口說明2類 SCAP2獲取工具包版本2獲取 SCAP 單例2獲取所有23.1.4. 產(chǎn)生 PKCS10請(qǐng)求2導(dǎo)

2、入刪除刪除所有. 3. 3. 3修改 PIN 碼3數(shù)字簽名3數(shù)字信封加密43.1.11. 數(shù)字信封. 43.1.12. 導(dǎo)入雙證5哈希簽名/私鑰運(yùn)算5生成時(shí)間戳請(qǐng)求5在 PKCS7 簽名中更新時(shí)間戳6將 PKCS1 簽名封裝成支持時(shí)間戳的 PKCS7 簽名6類 CFCA3.2. 7數(shù)據(jù) Base64 編碼7序列號(hào)7頒發(fā)機(jī)構(gòu) DN7起始日期7截至日期7使用者 DN73.2.13.2.23.2.33.2.43.2.53.2.6使用者 CN7數(shù)據(jù) 二進(jìn)制73.2.73.2.8類型(已棄用)7類型83.2.93.2.103.2.11KeyUsage83.3.異常類 CodeException81. 引

3、言1.1.編寫目的本文檔是根據(jù) SCAP 相關(guān)項(xiàng)目客戶需求說明書結(jié)合實(shí)際開發(fā)環(huán)境編寫而成。旨在確認(rèn)具體開發(fā)測試細(xì)節(jié),并為之后的開發(fā)測試提供相關(guān)依據(jù)。1.2.讀者對(duì)象CFCA 項(xiàng)目管理,控件開發(fā)、測試。2. 需求說明2.1.需求概述目前安全問題越來越受到重視,但是受限于接口、便攜性等,安全在移動(dòng)端的應(yīng)用并未得到應(yīng)有的發(fā)展?;诎踩c公司業(yè)務(wù)的考量,CFCA 移動(dòng)開發(fā)小組開發(fā)了安全即 SCAP 將數(shù)字安全應(yīng)用在移動(dòng)。2.2.功能需求需要支持 RSA-1024 、RSA2048、SM2及安裝需要支持 PKCS#1、PKCS#7 帶原文、PKCS#7 不帶原文類型的簽名算法簽名哈希算法需要支持 SHA

4、1、SHA256、SM3需要支持?jǐn)?shù)字信封加功能需要支持時(shí)間戳功能2.3.環(huán)境需求Android 2.3 6.02.4.字符編碼規(guī)范所有字符型參數(shù)都采用 utf-8 編碼。3. 接口說明3.1. 類 SCAP3.1.1. 獲取工具包版本sic public String GetVer()版本號(hào)Returns:3.1.2. 獲取 SCAP 單例public sic SCAP getInstance(Context context) throws CodeExceptionParameters:contextContextAndroid 上下文Returns:SCAP 對(duì)象實(shí)例3.1.3. 獲取所有

5、public List gets()Returns:所有列表3.1.4. 產(chǎn)生 PKCS10請(qǐng)求public String generateCertReq(CFCAPublicConstant.CERT_TYPE certType, String pinCode,CFCAPublicConstant.CERT_SYS certSys) throws CodeExceptionParameters:certType: CFCAPublicConstant.CERT_TYPE類型pinCode:String用于保護(hù)數(shù)據(jù)的 PIN 碼certSys:體系,SINGLE_CERT 為單證,CFCAPu

6、blicConstant.CERT_SYSDUAL_CERT 為雙證Returns:PKCS10 請(qǐng)求的 Base64 編碼3.1.5. 導(dǎo)入public void import(String strCert) throws CodeExceptionParameters:strCert:StringBase64 編碼字符串3.1.6. 刪除public void delete(CFCAcert) throws CodeExceptionParameters:cert:CFCA要?jiǎng)h除的 CFCA對(duì)象3.1.7. 刪除所有public void deleteAll() throws CodeEx

7、ception3.1.8. 修改 PIN 碼public void changn(String oldPinCode, String newPinCode, CFCAcert) throwsCodeExceptionParameters: oldPinCode:String newPinCode:Stringcert: CFCA舊 PIN 碼新 PIN 碼要修改的 CFCA對(duì)象3.1.9. 數(shù)字簽名public byte signMessage(String pinCode, byte srcData, CFCAPublicConstanSH_TYPEhashType, CFCAPublicC

8、onstant.SIGN_FORMAT signType, CFCAcert) throwsCodeExceptionParameters:pinCode:StringPIN 碼srcData:byte簽名原文簽名 Hash 類型,RSA支持 SHA1 和hashType:CFCAPublicConstanSH_TYPESHA256;SM2僅支持 SM3,具體數(shù)據(jù)見 CFCAPublicConstant 類。簽名格式,包括 P1,P7 帶原文signType:CFCAPublicConstant.SIGN_FORMAT和 P7 不帶原文,具體數(shù)據(jù)見 CFCAPublicConstant 類ce

9、rt: CFCAReturns:要進(jìn)行簽名的 CFCA簽名結(jié)果對(duì)象注:數(shù)字簽名會(huì)檢查KeyUsage,雙證時(shí)只有簽名才可以數(shù)字簽名。3.1.10.數(shù)字信封加密public String envelopeEncryptMessage(byte plaext, String,CFCAPublicConstant.SYMMETRIC_ALGORITHM alg) throws CodeExceptionParameters:String原文plaextStringBase64 編碼格式的公鑰CFCAPublicConstant.SYMMETRIC_ALGORITHM對(duì)稱加密算法 RSA時(shí)可alg支持

10、 des3cbc 和 rc4 ; SM2會(huì)忽略該參數(shù),具體數(shù)據(jù)見 CFCAPublicConstant 類Returns: Base64 編碼格式的密文。注:數(shù)字信封加密會(huì)檢查KeyUsage,雙證時(shí)只有加密才可以。3.1.11.數(shù)字信封public String envelopeDecryptMessage(String pin, String ciphertext, String) throwsCodeExceptionParameters:PIN 碼Base64 編碼格式的密文Base64 編碼字符串,該pin StringciphertextString必須是存在于 SCAP 的所有S

11、tring列表內(nèi),且和加密一致,否則失敗。Returns: Base64 編碼格式的原文注:數(shù)字信封會(huì)檢查KeyUsage,雙證時(shí)只有加密才可以。3.1.12.導(dǎo)入雙證public void importDouble(String strSignCert, String strEncryptCert, String strPri)throws CodeExceptionParameters:簽名Base64 編碼字符串Base64 編碼字符串私鑰密文結(jié)構(gòu)字符串strSignCertString加密strEncryptCertString加密strPriString3.1.13.哈希簽名/私鑰運(yùn)

12、算public byte signHashData(String pinCode, byte hashData, CFCAPublicConstanSH_TYPEhashType, CFCAPublicConstant.SIGN_FORMATsignType, CFCAcert) throwsCodeExceptionParameters:pinCode:String hashData:bytePIN 碼原文 Hash 值簽名 Hash 類型,RSA支持 SHA1 和hashType:CFCAPublicConstanSH_TYPESHA256;SM2僅支持 SM3,具體數(shù)據(jù)見 CFCAPub

13、licConstant 類。簽名格式,包括 P1、 P7 不帶原signType:CFCAPublicConstant.SIGN_FORMAT文,不支持 P7 帶原文。具體數(shù)據(jù)見 CFCAPublicConstant 類cert: CFCAReturns:要進(jìn)行簽名的 CFCA簽名結(jié)果對(duì)象注:數(shù)字簽名會(huì)檢查KeyUsage,雙證時(shí)只有簽名才可以數(shù)字簽名。3.1.14.生成時(shí)間戳請(qǐng)求public byte generateTimestampReq(CFCAPublicConstanSH_TYPE hashType, byte data)throws CodeExceptionParameters

14、:時(shí)間戳哈希類型,目前只支持 SHA1 和hashType:CFCAPublicConstanSH_TYPESHA256,具體數(shù)據(jù)見 CFCAPublicConstant 類。data: byteReturns:原文數(shù)據(jù)時(shí)間戳請(qǐng)求數(shù)據(jù)3.1.15.在 PKCS7 簽名中更新時(shí)間戳public byte updateTimestampInPKCS7Signature(byte pkcs7Signature, bytetimestampResp) throws CodeExceptionParameters:PKCS7 簽名二進(jìn)制數(shù)據(jù)時(shí)間戳服務(wù)器響應(yīng)數(shù)據(jù), 將請(qǐng)求發(fā)送至服務(wù)器后,服務(wù)器pkcs7S

15、ignaturebytetimestampRespbyte端響應(yīng)數(shù)據(jù)Returns:帶時(shí)間戳的 PKCS7 簽名數(shù)據(jù)3.1.16.將 PKCS1 簽名封裝成支持時(shí)間戳的 PKCS7 簽名public byte encodePKCS7SignatureWithTimestamp(byte pkcs1Signature,byte,byte timestampResp,byte src,withSrc,CFCAPublicConstanSH_TYPE hash) throws CodeException Parameters:PKCS1 簽名數(shù)據(jù)數(shù)據(jù)pkcs1Signaturebytebyte時(shí)間戳

16、服務(wù)器響應(yīng)數(shù)據(jù), 將請(qǐng)求發(fā)送至服務(wù)器后,服務(wù)器timestampRespbyte端響應(yīng)數(shù)據(jù)原文數(shù)據(jù)srcbytePKCS7 帶原文格式傳入 true, 否則傳入 falsewithSrc簽名使用的哈希類型,支持 SHA1hashCFCAPublicConstanSH_TYPE時(shí)哈希必須為 SM3,RSA時(shí)哈??梢詾?SHA1 SHA256SHA256 SM3,SM2Returns:帶時(shí)間戳的 PKCS7 簽名數(shù)據(jù)3.2.類 CFCA類只包含屬性的 Get 方法,不支持 Set 方法。3.2.1數(shù)據(jù) Base64 編碼public String getCertEncode();3.2.2序列號(hào)public String getSerialNumber();3.2.3頒發(fā)機(jī)構(gòu) DNpublic String getIerDN();3.2.4起始日期public Date getNotBefore();3.2.5截至日期public Date getNotAfter();3.2.6使用者 DNpublic String getSubjectDN();3.2.7使用者 CNpublic String();3.2.8數(shù)據(jù) 二進(jìn)制public byte getDercode();3.2.9類型(已棄用)獲取類型請(qǐng)使用新的方法 getCertDeprecatedpu

溫馨提示

  • 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)論