專利名稱::一種數字證書管理方法、裝置和系統的制作方法
技術領域:
:本發明涉及網絡
技術領域:
,尤其涉及一種數字證書管理方法、裝置和系統。
背景技術:
:第三方支付作為目前主要的網絡交易手段和信用中介,起到了在網上商家和銀行之間建立連接,實現第三方監管和技術保障的作用。采用第三方支付,可以安全實現從消費者、金融機構到商家的在線貨幣支付、現金流轉、資金清算、查詢統計等流程,為商家開展B2B(BusinessToBusiness,企業對企業)、B2C(BusinesstoCustomer,企業對消費者)交易等電子商務服務和其他增值服務提供完善的支持。在第三方支付模式中,買方選購商品后,使用第三方支付平臺提供的賬戶進行貨款支付,并由第三方通知賣家貨款到賬、要求發貨;買方收到貨物,并檢驗商品進行確認后,就可以通知第三方付款給賣家,第三方再將款項轉至賣家賬戶上。在上述流程中,第三方支付平臺提供一系列的應用接口程序,將多種銀行卡支付方式整合到同一個界面上,并負責交易結算中與各家銀行的支付網關的對接。第三方支付平臺接入支付網關的過程中,需要配置各家銀行的數字證書,并使用數字證書對支付數據進行簽名或者驗簽,以保證支付數據的完整性和不可抵賴性。由于數字證書的時效性,銀行系統會定期更換過期的數字證書。因此,如何安全方便地進行數字證書的啟用、廢棄和更換,成為提高第三方支付模式的交易安全性的重要因素。現有技術中,利用第三方支付平臺提供的應用接口程序讀取更換后的數字證書后,將更換后的數字證書轉換成Base64編碼的字符串,配置到接口程序的源代碼中,然后重啟支付裝置,使更換后的數字證書生效,實現對數字證書的管理。發明人在實現本發明的過程中,發現現有技術至少存在如下問題數字證書以Base64編碼的字符串的形式,配置在接口程序的源代碼中,可以被開發人員隨意獲取,安全性較差;每次更換數字證書都需要開發人員的介入,還需要重啟支付裝置,方式較為繁瑣。
發明內容本申請提供一種數字證書管理方法、裝置和系統,能夠安全方便地進行數字證書的管理。本申請提出一種數字證書管理方法,包括將數字證書配置到數據庫中;檢查所述數字證書是否為更新狀態;當檢查到所述數字證書為更新狀態時,從所述數據庫中讀取并緩存所述數字證書;使用所述數字證書對支付數據進行加密和/或解密,以實現對所述數字證書的管理。本申請還提出一種數字證書管理裝置,包括數據庫,用于存儲數字證書;檢查模塊,用于檢查所述數據庫中的數字證書是否為更新狀態;緩存模塊,用于在所述檢查模塊檢查到所述數字證書為更新狀態時,從所述數據庫中讀取并緩存所述數字證書;加密解密模塊,用于使用所述緩存模塊緩存的所述數字證書對支付數據進行加密和/或解密。本申請還提出一種數字證書管理系統,包括支付裝置,用于接收用戶發送的支付請求,請求數字證書管理裝置對所述支付請求進行加密,將加密后的支付請求發送到銀行支付網關,接收所述銀行支付網關返回的支付結果,請求所述數字證書管理裝置對所述支付結果進行解密,處理所述解密后的支付結果;數字證書管理裝置,用于將數字證書配置到數據庫中,檢查所述數字證書是否為更新狀態,當^r查到所述數字證書為更新狀態時,從所述數據庫中讀取并緩存所述數字證書;使用所述數字證書對所述用戶發送的支付請求進行加密,和/或對所述銀行支付網關返回的支付結果進行解密。本申請包括以下優點,因為將數字證書配置到數據庫中,并從數據庫中讀取并緩存更新后的數字證書,對支付數據進行加密和/或解密,簡化了數字證書的管理流程,提高了管理數字證書的安全性。當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優點。為了更清楚地說明本申請或現有技術中的技術方案,下面將對本申請或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本申請中的一種數字證書管理方法流程圖;圖2為本申請中的另一種數字證書管理方法流程圖;圖3為本申請中的一種數字證書管理界面示意圖;圖4為本申請中的一種數字證書管理裝置結構示意圖;圖5為本申請中的一種數字證書管理系統結構示意圖。具體實施例方式本申請的主要思想包括,將數字證書配置到數據庫中,檢查數字證書是否為更新狀態。當檢查到數字證書為更新狀態時,從數據庫中讀取并緩存該數字證書,并使用該數字證書對支付數據進行加密和/或解密,以實現對該數字證書的管理。下面將結合本申請中的附圖,對本申請中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本申請的一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。如圖l所示,為本申請中的一種數字證書管理方法流程圖,包括以下步驟步驟IOI,將數字證書配置到數據庫中。當某銀行通知之前的數字證書廢棄,并傳輸新的數字證書后,后臺結算人員接收該數字證書,并通過管理頁面向數據庫上傳該數字證書,將該數字證書配置在凝:據庫中。步驟102,檢查數字證書是否為更新狀態。數據庫中包含證書表和證書狀態表,每個數字證書通過唯一的證書ID(Identity,身份標識號碼)對應各個表項中的字段內容。證書表和證書狀態表,分別如表1和表2所示。<table>tableseeoriginaldocumentpage8</column></row><table>后臺結算人員向數據庫上傳新接收的數字證書完畢后,該數字證書被寫入到數據庫的證書表中。同時,在證書狀態表中,該數字證書對應的"是否為更新狀態"字段的內容被設置為"是"。相應地,可以通過定時掃描證書狀態表的方式檢查數字證書是否為更新狀態,例如,可以通過定時器每隔5分鐘對證書狀態表掃描一次,根據證書狀態表中的"是否為更新狀態"字段的內容,確定對應的數字證書是否為更新狀態。當檢查到數字證書為更新狀態時,執行步驟103;當檢查到數字證書為非更新狀態時,繼續執行本步驟,檢查數字證書是否為更新狀態。步驟1(B,當檢查到數字證書為更新狀態時,從數據庫中讀取并緩存該數字證書。當檢查到數據庫中數字證書為更新狀態,即證書狀態表中的"是否為更新狀態,,字段的內容為"是,,時,可以通過該字段內容對應的證書ID從證書表中讀取證書內容并緩存。該證書內容用于對支付數據進行力。密和/或解密。從數據庫中讀取并緩存該數字證書之后,可以將該數字證書設置為非更新狀態,即將該數字證書在證書狀態表中對應的"是否為更新狀態"字段的內容設置為"否,,,以避免重復讀取該數字證書。步驟104,使用數字證書對支付數據進行加密和/或解密,以實現對該數字證書的管理。當用戶發送支付請求時,可以使用步驟103讀取并緩存的數字證書對用戶發送的支付數據進行加密。支付裝置將加密后的支付數據發送到銀行支付網關,并接收銀行支付網關返回的支付結果。同理,還可以使用步驟103讀取并緩存的數字證書對銀行支付網關返回的支付數據進行解密。支付裝置處理解密后的支付數據。本申請包括以下優點,由于現有技術將數字證書配置到源代碼中,每次更換數字證書時需要重啟支付裝置;而本申請將數字證書配置到數據庫中,從數據庫中讀取并緩存更新后的數字證書,對支付數據進行加密和/或解密,簡化了數字證書的管理流程,提高了管理數字證書的安全性。當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優點。如圖2所示,為本申請中的另一種數字證書管理方法流程圖,包括以下步驟步驟201,將數字證書配置到數據庫中。后臺結算人員通過管理界面維護數據庫中的數字證書,該管理界面如圖3所示。當數據庫中的數字證書需要更新時,可以通過圖3中的管理界面將新的數字證書配置到數據庫中,同時,將該數字證書設置為更新狀態,即在證書狀態表中,將該數字證書對應的"是否為更新狀態"字段的內容設置為"是"。步驟202,檢查數字證書是否為更新狀態。可以通過定時掃描證書狀態表的方式檢查數字證書是否為更新狀態,例如,可以通過定時器每隔5分鐘對證書狀態表掃描一次,根據該證書狀態表中,該數字證書對應的"是否為更新狀態"字段的內容,確定該數字證書是否為更新狀態。具體地,如果"是否為更新狀態"字段的內容為"是",則對應的數字證書為更新狀態;如果"是否為更新狀態"字段的內容為"否",則對應的數字證書為非更新狀態。需要指出的是,"是否為更新狀態"字段的內容與數字證書是否為更新狀態的對應關系,并不限于上述方式。當檢查到該數字證書為更新狀態時,執行步驟203;當檢查到該數字證書為非更新狀態時,繼續執行本步驟,檢查數字證書是否為更新狀態。步驟203,從數據庫中讀取并緩存數字證書。當檢查到數據庫中數字證書為更新狀態,即證書狀態表中的"是否為更新狀態"字段的內容為"是"時,可以獲取更新狀態的數字證書的證書ID,通過該證書ID從證書表中讀取證書內容,并緩存該證書內容,該證書內容用于對支付數據進行加密和/或解密。步驟204,將數字證書設置為非更新狀態。從數據庫中讀取并緩存數字證書之后,可以將該數字證書設置為非更新狀態,即將該數字證書在證書狀態表中對應的"是否為更新狀態"字段的內容設置為"否",以避免重復讀取該數字證書。步驟205,使用數字證書對用戶發送的支付請求進行加密。當用戶發送支付請求時,可以使用步驟203讀取并緩存的數字證書對用戶發送的支付數據進行加密。支付裝置將加密后的支付數據發送到銀行支付網關。步驟206,使用數字證書對銀行支付網關返回的支付結果進行解密。當銀行支付網關返回支付結果時,可以使用步驟203讀取并緩存的數字證書對銀行支付網關返回的支付數據進行解密。支付裝置處理解密后的支付數據。本申請包括以下優點,由于現有技術將數字證書配置到源代碼中,每次更換數字證書時需要重啟支付裝置;而本申請將數字證書配置到數據庫中,通過設置數字證書是否為更新狀態,實現對數字證書的管理,簡化了數字證書的管理流程,提高了管理數字證書的安全性。當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優點。如圖4所示,為本申請中的一種數字證書管理裝置結構示意圖,包括數據庫410,用于存儲數字證書。數據庫410包括證書表和證書狀態表,后臺結算人員通過管理界面維護數據庫410中的數字i正書。當數據庫410中的數字i正書需要更新時,可以通過管理界面將新的數字證書配置到數據庫中,同時,將該數字證書設置為更新狀態,即在證書狀態表中,將該數字證書對應的"是否為更新狀態"字段的內容設置為"是"。檢查模塊420,用于檢查數據庫410中的數字證書是否為更新狀態。檢查模塊420可以通過定時掃描證書狀態表的方式檢查數字證書是否為更新狀態,例如,可以通過定時器每隔5分鐘對證書狀態表掃描一次,以檢查數字證書是否為更新狀態。檢查模塊420,具體用于根據證書狀態表中,該數字證書對應的"是否為更新狀態"字段的內容,確定該數字證書是否為更新狀態。具體地,如果"是否為更新狀態"字段的內容為"是",則對應的數字證書為更新狀態;如果"是否為更新狀態"字段的內容為"否",則對應的數字證書為非更新狀態。需要指出的是,"是否為更新狀態"字段的內容與數字證書是否為更新狀態的對應關系,并不限于上述方式。具體地,上述檢查模塊420是以上所述裝置中負責檢查數據庫410中的數字證書是否為更新狀態的部分,可以是定時器等硬件,也可以是軟件或硬件和軟件的結合。緩存模塊430,用于在檢查模塊420檢查到數字證書為更新狀態時,從數據庫410中讀取并緩存該數字證書。當檢查模塊420檢查到數據庫410中數字證書為更新狀態,即證書狀態表中的"是否為更新狀態"字段的內容為"是"時,緩存模塊430可以獲取"是否為更新狀態"字段的內容為"是"的數字證書的證書ID,通過該證書ID從證書表中讀取證書內容,并緩存該證書內容,該證書內容用于對支付數據進行力口密和/或解密。具體地,上述緩存模塊430是以上所述裝置中負責從數據庫410中讀取并緩存數字證書的部分,可以是存儲器等硬件,也可以是軟件或硬件和軟件的結合。加密解密模塊440,用于使用緩存模塊430緩存的數字證書對支付數據進行加密和/或解密。當用戶發送支付請求時,加密解密模塊440可以使用緩存模塊430讀取并緩存的數字證書對用戶發送的支付數據進行加密。支付裝置將加密后的支付數據發送到銀行支付網關,并接收銀行支付網關返回的支付結果。同理,加密解密模塊440還可以使用緩存模塊430讀取并緩存的數字證書對銀行支付網關返回的支付數據進行解密。支付裝置處理解密后的支付數據。具體地,上述加密解密模塊440是以上所述裝置中負責使用數字證書對支付數據進行加密和/或解密的部分,可以是硬件、軟件或兩者的結合。優選地,本申請中的數字證書管理裝置,還包括設置模塊450,用于在緩存模塊430從數據庫410中讀取并緩存數字證書之后,將該數字證書設置為非更新狀態。在緩存模塊430從數據庫中讀取并緩存該數字證書之后,設置模塊450將該數字證書設置為非更新狀態,即將該數字證書在證書狀態表中對應的"是否為更新狀態"字段的內容設置為"否",以避免重復讀取該數字證書。具體地,上述設置模塊450是以上所述裝置中負責將數字證書設置為非更新狀態的部分,可以是硬件、軟件或兩者的結合。優選地,該緩存模塊430,具體包括獲取子模塊431,用于獲取更新狀態的數字證書的證書ID。如表2所示,數據庫410中的證書狀態表包舍〖正書ID字段、銀行縮寫字段以及"是否為更新狀態"字段,當檢查模塊420在證書狀態表中檢查到"是否為更新狀態"字段的內容為"是"時,獲取子模塊431可以獲取該字段內容對應的證書ID。讀取子模塊432,用于通過獲取子模塊431獲取的證書ID從證書表中讀取證書內容,并緩存該證書內容。如表1所示,數據庫410中的證書表包含證書ID字段、銀行縮寫字段、證書內容字段、證書類型字段、證書狀態字段以及證書描述字段,讀取子模塊432可以使用獲取子模塊431獲取的證書ID,從證書表中讀取證書內容,并緩存該證書內容。優選地,該加密解密模塊440,具體包括加密子模塊441,用于使用數字證書對用戶發送的支付請求進行力。密;和/或解密子模塊442,用于使用數字證書對銀行支付網關返回的支付結果進行解密。當用戶發送支付請求時,加密子模塊441可以使用緩存模塊430讀取并緩存的數字證書對用戶發送的支付數據進行加密。支付裝置將加密后的支付數據發送到銀行支付網關,并接收銀行支付網關返回的支付結果。同理,解密子模塊442也可以使用緩存模塊430讀取并緩存的數字證書對銀行支付網關返回的支付數據進行解密。支付裝置處理解密后的支付數據。本申請包括以下優點,由于現有技術將數字證書配置到源代碼中,每次更換數字證書時需要重啟支付裝置;而本申請將數字證書配置到數據庫中,從數據庫中讀取并緩存更新后的數字證書,對支付數據進行加密和/或解密,簡化了數字證書的管理流程,提高了管理數字證書的安全性。當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優點。如圖5所示,為本申請中的一種數字證書管理系統結構示意圖,包括支付裝置510,用于接收用戶發送的支付請求,請求數字證書管理裝置520對該支付請求進行加密,將加密后的支付請求發送到4艮行支付網關,接收銀行支付網關返回的支付結果,請求數字證書管理裝置520對該支付結果進行解密,處理解密后的支付結果。數字證書管理裝置520,用于將數字證書配置到數據庫中,檢查該數字證書是否為更新狀態,當檢查到該數字證書為更新狀態時,從數據庫中讀取并緩存該數字證書;使用該數字證書對用戶發送的支付請求進行加密,和/或對4艮行支付網關返回的支付結果進4亍解密。數據庫中包含證書表和證書狀態表,后臺結算人員向數據庫上傳新接收的數字證書完畢后,該數字證書被寫入到數據庫的證書表中。同時,在證書狀態表中,該數字證書對應的"是否為更新狀態"字段的內容被設置為"是"。相應地,數字證書管理裝置520可以通過定時掃描證書狀態表的方式檢查數字證書是否為更新狀態,例如,數字證書管理裝置520可以通過定時器每隔5分鐘對證書狀態表掃描一次,以檢查證書狀態表中的"是否為更新狀態"字段的內容,確定對應的數字證書是否為更新狀態。當檢查到數據庫中數字證書為更新狀態,即證書狀態表中的"是否為更新狀態"字段的內容為"是"時,數字證書管理裝置520通過該字段內容對應的證書ID從證書表中讀取證書內容并緩存。該證書內容用于對支付數據進行加密和/或解密。當用戶向支付裝置510發送支付請求時,支付裝置510請求數字證書管理裝置520對用戶發送的支付數據進行加密,支付裝置510將加密后的支付數據發送到銀行支付網關,并接收4艮行支付網關返回的支付結果。支付裝置510請求數字證書管理裝置520對銀行支付網關返回的支付數據進行解密,支付裝置510處理解密后的支付數據。上述數字證書管理裝置520,還用于在從數據庫中讀取并緩存數字證書之后,將該數字證書設置為非更新狀態。在從數據庫中讀取并緩存數字證書之后,數字證書管理裝置520將該數字證書設置為非更新狀態,即將該數字證書在證書狀態表中對應的"是否為"否",以避免重復讀取該數字證書。本申請包括以下優點,由于現有技術將數字證書配置到源代碼中,每次更換數字證書時需要重啟支付裝置;而本申請將數字證書配置到數據庫中,從數據庫中讀取并緩存更新后的數字證書,對支付數據進行加密和/或解密,簡化了數字證書的管理流程,提高了管理數字證書的安全性。當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優點。為了描述的方便,描述以上系統時以功能分為各種模塊或裝置分別描述。當然,在實施本發明時可以把各模塊或裝置的功能在同一個或多個軟件和/或硬件中實現通過以上的實施方式的描述,本領域的4支術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述僅是本申請的優選實施方式,應當指出,對于本
技術領域:
的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應纟見本申請的保護范圍。權利要求1、一種數字證書管理方法,其特征在于,包括將數字證書配置到數據庫中;檢查所述數字證書是否為更新狀態;當檢查到所述數字證書為更新狀態時,從所述數據庫中讀取并緩存所述數字證書;使用所述數字證書對支付數據進行加密和/或解密,以實現對所述數字證書的管理。2、如權利要求l所述的方法,其特征在于,所述從數據庫中讀取并緩存數字證書之后,還包括將所述數字證書設置為非更新狀態。3、如權利要求l所述的方法,其特征在于,所述使用數字證書對支付數據進行加密和/或解密,包括使用所述數字證書對用戶發送的支付請求進4亍加密;和/或使用所述數字證書對銀行支付網關返回的支付結果進行解密。4、如權利要求1至3中任一項所述的方法,其特征在于,所述數據庫,包括"ii書表和iit書狀態表。5、如權利要求4所述的方法,其特征在于,所述檢查數字證書是否為更新狀態,具體為根據所述證書狀態表中,所述數字證書對應的"是否為更新狀態"字段的內容,確定所述數字證書是否為更新狀態。6、如權利要求4所述的方法,其特征在于,所述從數據庫中讀取并緩存數字證書,具體為獲取更新狀態的數字證書的證書身份標識號碼ID;通過所述證書ID/人所述證書表中讀耳又證書內容,并緩存所述證書內容。7、一種數字證書管理裝置,其特征在于,包括數據庫,用于存儲數字證書;檢查模塊,用于檢查所述數據庫中的數字證書是否為更新狀態;緩存模塊,用于在所述檢查模塊檢查到所述數字證書為更新狀態時,從所述數據庫中讀取并緩存所述數字證書;加密解密模塊,用于使用所述緩存模塊緩存的所述數字證書對支付數據進行加密和/或解密。8、如權利要求7所述的裝置,其特征在于,還包括設置模塊,用于在所述緩存模塊從所述數據庫中讀取并緩存數字證書之后,將所述數字證書設置為非更新狀態。9、如權利要求7所述的裝置,其特征在于,所述加密解密模塊,具體包括加密子才莫塊,用于使用所述數字證書對用戶發送的支付請求進行加密;和/或解密子模塊,用于使用所述數字證書對銀行支付網關返回的支付結果進行解密。10、如權利要求7至9中任一項所述的裝置,其特征在于,所述數據庫,包括證書表和ii書狀態表。11、如權利要求IO所述的裝置,其特征在于,所述檢查模塊,具體用于根據所述證書狀態表中,所述數字證書對應的"是否為更新狀態"字段的內容,確定所述數字證書是否為更新狀態。12、如權利要求IO所述的裝置,其特征在于,所述緩存模塊,具體包括獲取子模塊,用于獲取更新狀態的數字證書的證書ID;讀取子模塊,用于通過所述獲取子模塊獲取的所述證書ID從所述證書表中讀取證書內容,并緩存所述證書內容。13、一種數字證書管理系統,其特征在于,包括支付裝置,用于接收用戶發送的支付請求,請求數字證書管理裝置對所述支付請求進行加密,將加密后的支付請求發送到銀行支付網關,接收所述銀行支付網關返回的支付結果,請求所述數字證書管理裝置對所述支付結果進行解密,處理所述解密后的支付結果;數字證書管理裝置,用于將數字證書配置到數據庫中,檢查所述數字證書是否為更新狀態,當^r查到所述數字證書為更新狀態時,>^人所述數據庫中讀取并緩存所述數字證書;使用所述數字證書對所述用戶發送的支付請求進行加密,和/或對所述4艮行支付網關返回的支付結果進行解密。14、如權利要求13所述的系統,其特征在于,所述數字證書管理裝置,還用于在從所述數據庫中讀取并緩存數字證書之后,將所述數字證書設置為非更新狀態。全文摘要本發明實施例公開了一種數字證書管理方法、裝置和系統,該方法包括將數字證書配置到數據庫中;檢查所述數字證書是否為更新狀態;當檢查到所述數字證書為更新狀態時,從所述數據庫中讀取并緩存所述數字證書;使用所述數字證書對支付數據進行加密和/或解密,以實現對所述數字證書的管理。本發明實施例簡化了數字證書的管理流程,提高了管理數字證書的安全性。文檔編號G06Q20/00GK101477661SQ20091000082公開日2009年7月8日申請日期2009年1月19日優先權日2009年1月19日發明者劉中勝申請人:阿里巴巴集團控股有限公司