一種含數(shù)字證書的軟件版本生成方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件開發(fā)技術(shù)領(lǐng)域,特別涉及一種含數(shù)字證書的軟件版本生成方法及 裝置。
【背景技術(shù)】
[0002] 軟件發(fā)布前安裝數(shù)字證書以標(biāo)識軟件的合法性。所有的應(yīng)用程序都要有不同級別 權(quán)限的數(shù)字證書進行簽名,若驗證軟件的簽名與其不匹配,則軟件將無法正確安裝、運行。
[0003] 在軟件開發(fā)編譯過程中,數(shù)字證書起到保證軟件安全性和合法性的作用,在軟件 生產(chǎn)過程中需要有合法的數(shù)字證書對軟件進行簽名,否則軟件無法正常運行。
[0004] 發(fā)布版本軟件所采用的數(shù)字證書一般會單獨存放在一個服務(wù)器上,不會存放在開 發(fā)工程師的代碼服務(wù)器中,而在軟件編譯時,又需要用到數(shù)字證書。目前的做法是開發(fā)工程 師的產(chǎn)出的軟件不進行數(shù)字證書簽名或者放一個公開的數(shù)字證書在源碼中供開發(fā)工程師 編譯軟件時使用。軟件編譯完成后,再將產(chǎn)出的發(fā)布軟件交給數(shù)字證書的管理員或者提交 至數(shù)字證書的管理平臺進行數(shù)字證書簽名。
[0005] 現(xiàn)有技術(shù)存在的不足如下:
[0006] 1)將軟件的數(shù)字證書簽名與軟件編譯生成過程分割開,影響了軟件產(chǎn)出的效率;
[0007] 2)開發(fā)工程師在開發(fā)軟件時進行數(shù)字證書簽名的過程和發(fā)布的軟件版本數(shù)字證 書簽名的過程分隔開,需要維護兩份簽名腳本的一致性,增加維護工作量。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明針對上述問題,提出了一種含數(shù)字證書的軟件版本生成方法及裝置,用以 將軟件版本的編譯生成過程和數(shù)字證書簽名過程連接起來,提高軟件的開發(fā)、發(fā)布的效率。
[0009] 本發(fā)明提供了一種含數(shù)字證書的軟件版本生成方法,包括如下步驟:
[0010] 根據(jù)接收到的軟件開發(fā)編譯版本獲得第一軟件版本;
[0011] 根據(jù)索引關(guān)系為第一軟件版本匹配數(shù)字證書后安裝匹配的數(shù)字證書,所述索引關(guān) 系是預(yù)設(shè)的第一軟件版本的信息與數(shù)字證書的信息的索引關(guān)系;
[0012] 對安裝好數(shù)字證書的第一軟件版本進行編譯后獲得第二軟件版本。
[0013] 本發(fā)明提供了一種含數(shù)字證書的軟件版本生成裝置,包括:
[0014] 獲取單元,用于根據(jù)接收到的軟件開發(fā)編譯版本獲得第一軟件版本;
[0015] 索引單元,用于預(yù)設(shè)第一軟件版本的信息與數(shù)字證書的信息的索引關(guān)系;
[0016] 數(shù)字證書匹配安裝單元,用于根據(jù)索引關(guān)系為第一軟件版本匹配數(shù)字證書后安裝 匹配的數(shù)字證書;
[0017] 生成單元,用于對安裝好數(shù)字證書的第一軟件版本進行編譯后獲得第二軟件版 本。
[0018] 本發(fā)明的有益效果如下:
[0019] 由于在目前開發(fā)軟件中軟件的數(shù)字證書簽名過程與軟件編譯生成過程隔離開、開 發(fā)軟件時進行數(shù)字證書簽名的過程和發(fā)布的軟件版本數(shù)字證書簽名的過程分隔開,影響了 軟件產(chǎn)出的效率,增加了數(shù)字證書一致性維護的難度;而本發(fā)明實施例提供的含數(shù)字證書 的軟件版本生成方法及裝置,根據(jù)接收到的軟件開發(fā)編譯版本獲得第一軟件版本,根據(jù)索 引關(guān)系為第一軟件版本匹配數(shù)字證書并安裝數(shù)字證書,編譯安裝好數(shù)字證書的第一軟件版 本進行編譯后獲得第二軟件版本,將軟件版本生成過程中的代碼編譯與數(shù)字證書匹配安裝 有效結(jié)合起來,解決了軟件版本數(shù)字證書簽名過程與編譯過程分離的問題,還將數(shù)字證書 簽名過程進行了自動化的處理,提高了軟件版本的產(chǎn)出效率,也便于對軟件數(shù)字證書進行 一致性管理。
【附圖說明】
[0020] 下面將參照附圖描述本發(fā)明的具體實施例,其中:
[0021] 圖1為本發(fā)明實施例中含數(shù)字證書的軟件版本生成方法的流程示意圖;
[0022] 圖2為本發(fā)明實施例中含數(shù)字證書的軟件版本生成方法的應(yīng)用示意圖;
[0023] 圖3為本發(fā)明實施例中含數(shù)字證書的軟件版本生成方法的實例示意圖;
[0024] 圖4為本發(fā)明實施例中含數(shù)字證書的軟件版本生成裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0025] 為了使本發(fā)明的技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖對本發(fā)明的示例性 實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是 所有實施例的窮舉。
[0026] 圖1為本發(fā)明實施例中含數(shù)字證書的軟件版本生成方法的流程示意圖,如圖1所 示,含數(shù)字證書的軟件版本生成方法,可以包括如下步驟 :
[0027] 步驟101、根據(jù)接收到的軟件開發(fā)編譯版本獲得第一軟件版本;
[0028] 步驟102、根據(jù)索引關(guān)系為第一軟件版本匹配數(shù)字證書后安裝匹配的數(shù)字證書,所 述索引關(guān)系是預(yù)設(shè)的第一軟件版本的信息與數(shù)字證書的信息的索引關(guān)系;
[0029] 步驟103、對安裝好數(shù)字證書的第一軟件版本進行編譯后獲得第二軟件版本。
[0030] 具體實施中,一般開發(fā)編譯版本代碼由軟件開發(fā)人員提交到代碼庫中,由編譯系 統(tǒng)從代碼庫提取開發(fā)編譯版本的代碼進行軟件編譯,其中,編譯更新代碼的動作可以由人 工觸發(fā),也可以由程序自動執(zhí)行,在本發(fā)明實施例中不作具體限定??梢越邮哲浖_發(fā)編譯 版本,對其進行代碼更新獲得一個待編譯的軟件版本,此版本一般稱為開發(fā)版本,不會作為 正式發(fā)布的版本,為了方便描述,命名為第一軟件版本,并根據(jù)預(yù)設(shè)的第一軟件版本的信息 與數(shù)字證書的信息的索引關(guān)系為第一軟件版本匹配并安裝編譯時所需的數(shù)字證書,編譯第 一軟件版本軟件代碼成功后得到可以對外發(fā)布的發(fā)布軟件版本,在本發(fā)明實施例中,稱該 可以對外發(fā)布的發(fā)布軟件版本為第二軟件版本。
[0031] 其中,在軟件開發(fā)過程中,數(shù)字證書一般是與軟件相對應(yīng)的,例如,同一個軟件開 發(fā)者可以針對其開發(fā)的多個不同的軟件設(shè)置不同的數(shù)字證書,即為不同類型的軟件版本設(shè) 置或配置不同的數(shù)字證書,也即,一個數(shù)字證書與一種類型的軟件版本相對應(yīng)。存在索引關(guān) 系的第一軟件版本的信息與數(shù)字證書的信息可以為能夠標(biāo)識第一軟件版本的各種信息與 能夠標(biāo)識數(shù)字證書的各種信息,例如,軟件版本的分類或?qū)傩孕畔⑴c數(shù)字證書的分類信息, 例如實現(xiàn)某一個功能模塊的軟件的分類或?qū)傩孕畔⑴c其發(fā)布前編譯需安裝的數(shù)字證書的 分類相對應(yīng),若一個軟件中集成多個功能模塊,可以為該多個功能模塊中的每個功能模塊 匹配安裝與其對應(yīng)的數(shù)字證書。
[0032] 實施中,根據(jù)索引關(guān)系為第一軟件版本匹配數(shù)字證書后安裝匹配的數(shù)字證書,可 以包括:
[0033] 從建立的開發(fā)編譯版本軟件集群中,接收軟件開發(fā)編譯版本;
[0034] 將根據(jù)接收的所述軟件開發(fā)編譯版本獲得的第一軟件版本存儲至建立的發(fā)布版 本軟件集群,其中,所述發(fā)布版本軟件集群與所述開發(fā)編譯版本軟件集群隔離;
[0035] 為存儲至所述發(fā)布版本軟件集群中的第一軟件版本安裝根據(jù)索引關(guān)系為其匹配 的數(shù)字證書。
[0036] 具體實施中,因為開發(fā)、編譯過程中,不需要訪問數(shù)字證書,只有發(fā)布版本軟件編 譯時需要訪問數(shù)字證書,所以可以將發(fā)布版本軟件與開發(fā)編譯版本的軟件區(qū)分開,建立發(fā) 布版本軟件集群,將發(fā)布版本軟件服務(wù)器與日常開發(fā)、編譯的軟件開發(fā)服務(wù)器隔開,以保證 發(fā)布版本軟件集群的安全,防止數(shù)字證書泄露。圖2為本發(fā)明實施例中含數(shù)字證書的軟件 版本生成方法的應(yīng)用示意圖,如圖2所示,建立發(fā)布版本軟件集群,將發(fā)布版本軟件存儲至 發(fā)布版本軟件集群使其與開發(fā)編譯版本隔離。從軟件代碼服務(wù)器獲取的開發(fā)編譯版本代 碼后進行更新,得到一個待編譯的軟件版本,根據(jù)該待編譯的軟件版本的數(shù)字證書配置項 到數(shù)字證書服務(wù)器上進行數(shù)字證書匹配,匹配成功后將數(shù)字證書安裝在軟件版本構(gòu)建環(huán)境 中,軟件版本構(gòu)建完成后將產(chǎn)出物推送到軟件發(fā)布平臺進行測試和發(fā)布。
[0037] 實施中,為第一軟件版本匹配數(shù)字證書之前,還可以包括:設(shè)置各軟件版本的數(shù)字 證書存放的根目錄,以及設(shè)置各軟件版本的數(shù)字證書的存儲路徑子目錄的配置項;
[0038] 為第一軟件版本安裝匹配的數(shù)字證書,可以包括:根據(jù)所述第一軟件版本的數(shù)字 證書存放的根目錄及第一軟件版本的數(shù)字證書存儲路徑子目錄的配置項,確定數(shù)字證書的 存儲路徑;為所述第一軟件版本安裝根據(jù)所述數(shù)字證書的存儲路徑獲取的數(shù)字證書。
[0039] 具體實施中,可以統(tǒng)一設(shè)置各軟件版本數(shù)字