證書存放的根目錄,以及各軟件版本 的數(shù)字證書的存儲路徑子目錄的配置項,定義數(shù)字證書的命名規(guī)則,并將各軟件版本數(shù)字 證書存放的根目錄,以及各軟件版本的數(shù)字證書的存儲路徑子目錄的配置項寫進(jìn)各軟件版 本的配置文件中或者以一組參數(shù)信息的形式寫進(jìn)各軟件版本的源代碼中,即以方便后續(xù)腳 本調(diào)用的形式進(jìn)行存儲。下面舉例說明如何根據(jù)所述第一軟件版本的數(shù)字證書存放的根 目錄及第一軟件版本的數(shù)字證書存儲路徑子目錄的配置項,確定數(shù)字證書的存儲路徑,t匕 如,有軟件產(chǎn)品線A和B,所有的數(shù)字證書存放根目錄為/home/admin/keydir,按照軟件產(chǎn) 品線分類,將屬于產(chǎn)品線A的軟件和產(chǎn)品線B軟件的數(shù)字證書的種類分別統(tǒng)一為存放至目 錄:/home/admin/keydir/A/platform、/home/admin/keydir/B/shared 和 /home/admin/ keydir/B/boot中,具體數(shù)字證書可以按產(chǎn)品線的分類,進(jìn)行如下分類及存儲路徑配置:
[0040]
[0041] 例如,屬于產(chǎn)品線A的軟件版本編譯需要platform數(shù)字證書,通過統(tǒng)一設(shè)置的 軟件版本數(shù)字證書存放的根目錄/home/admin/keydir/和設(shè)置的軟件版本數(shù)字證書存儲 路徑子目錄的配置項:Key = A_platform解析出,所需的數(shù)字證書的存放路徑為:/home/ admin/keydir/A/platform,即:根據(jù)統(tǒng)一設(shè)置的軟件版本的數(shù)字證書存放的根目錄/ home/admin/keydir/與設(shè)置的軟件版本的數(shù)字證書存儲路徑子目錄的配置項:Key = A_ platform可以確定該軟件版本的數(shù)字證書存儲路徑為軟件版本的數(shù)字證書存放的根目錄 +配置項,也即:/home/admin/keydir/A/platform,根據(jù)數(shù)字證書的存儲路徑,可以獲取屬 于產(chǎn)品線A的軟件版本編譯所需的數(shù)字證書。
[0042] 實施中,為第一軟件版本安裝匹配的數(shù)字證書,可以包括:將匹配的第一軟件版本 數(shù)字證書更新到第一軟件版本的工作目錄,完成第一軟件版本數(shù)字證書的安裝。
[0043] 實施中,根據(jù)索引關(guān)系為第一軟件版本匹配數(shù)字證書后安裝匹配的數(shù)字證書之 前,還可以包括:確定第一軟件版本的軟件類型,確定第一軟件版本數(shù)字證書的類型;根據(jù) 索引關(guān)系為第一軟件版本匹配數(shù)字證書,具體包括:根據(jù)第一軟件版本的軟件類型確定出 相應(yīng)的第一軟件版本數(shù)字證書類型,在該第一軟件版本數(shù)字證書類型中,根據(jù)索引關(guān)系匹 配出與第一軟件版本對應(yīng)的數(shù)字證書。。
[0044] 具體實施中,為了更為合理的匹配和管理軟件版本軟件的數(shù)字證書,可以根據(jù)實 際需要對軟件進(jìn)行類型定義,例如可以按照軟件產(chǎn)品線進(jìn)行類型劃分,其中,軟件產(chǎn)品線是 指具有一組可管理的公共特性的軟件密集性系統(tǒng)的合集,這些系統(tǒng)滿足特定的市場需求或 任務(wù)需求,并且按預(yù)定義的方式從一個公共的核心資產(chǎn)集開發(fā)得到。每個軟件產(chǎn)品都由來 自公共資產(chǎn)庫中的組件組成,然后按照預(yù)先定義的變化機(jī)制,如參數(shù)化或繼承,對這些組件 進(jìn)行必要的裁剪,添加任何必須的新組件,根據(jù)一個產(chǎn)品線范圍內(nèi)的公共架構(gòu)來組裝這些 組件。每條軟件產(chǎn)品線都有一個預(yù)先定義的指南或計劃,用來定義確切的產(chǎn)品構(gòu)建方法。 [0045] 本發(fā)明實施例中,軟件產(chǎn)品線僅作為示例用以對本發(fā)明方案進(jìn)行說明,軟件的類 型劃分除了按照軟件產(chǎn)品線,還可以按照軟件的功能等多個維度來進(jìn)行定義和劃分,在此 不作具體限定。
[0046] 具體實施中,若第一軟件版本屬于產(chǎn)品線B的軟件,且其軟件類型為共享類型,則 確定第一軟件版本的數(shù)字證書類型為共享類型,根據(jù)第一軟件版本的軟件類型為產(chǎn)品線B 的共享類型,確定出相應(yīng)的第一軟件版本數(shù)字證書類型為共享類型后,在該第一軟件版本 數(shù)字證書類型B_ Shared中,匹配出與第一軟件版本根據(jù)索引關(guān)系一一對應(yīng)的數(shù)字證書后 安裝數(shù)字證書。
[0047] 本發(fā)明實施例提供的含數(shù)字證書的軟件版本生成方法,根據(jù)接收到的軟件開發(fā)編 譯版本獲得第一軟件版本,根據(jù)索引關(guān)系為第一軟件版本匹配數(shù)字證書并安裝數(shù)字證書, 編譯安裝好數(shù)字證書的第一軟件版本進(jìn)行編譯后獲得第二軟件版本,將軟件版本生成過程 中的代碼編譯與數(shù)字證書匹配安裝有效結(jié)合起來,解決了軟件版本數(shù)字證書簽名過程與編 譯過程分離的問題,還將數(shù)字證書簽名過程進(jìn)行了自動化的處理,提高了軟件版本的產(chǎn)出 效率,也便于對軟件數(shù)字證書進(jìn)行一致性管理。
[0048] 圖3為本發(fā)明實施例中含數(shù)字證書的軟件版本生成方法的實例示意圖,如圖3所 示,具體流程可以包括 :
[0049] 步驟301 :軟件構(gòu)建開始;啟動含數(shù)字證書的軟件版本生成流程。
[0050] 步驟302 :更新代碼;從從建立的開發(fā)編譯版本軟件集群中,接收軟件開發(fā)編譯版 本,并更新該軟件開發(fā)編譯版本的代碼,以獲得一個軟件版本并將該軟件版本存儲至建立 的發(fā)布版本軟件集群。
[0051] 步驟303 :判斷軟件版本是否為正式發(fā)布版本;若是,執(zhí)行步驟304 ;若否,執(zhí)行步 驟 305。
[0052] 在具體實施中,可以根據(jù)該軟件版本的配置文件或源代碼攜帶軟件版本分類或?qū)?性信息的參數(shù)確定該軟件版本是否為正式發(fā)布版本。
[0053] 步驟304 :判斷該正式發(fā)布版本是否成功匹配數(shù)字證書;若是,執(zhí)行步驟306 ;若 否,執(zhí)行步驟305。
[0054] 在具體實施中,可以通過以下方式判斷該正式發(fā)布版本是否成功匹配數(shù)字證書: 根據(jù)該正式發(fā)布版本的數(shù)字證書存放的根目錄,以及該正式發(fā)布版本的數(shù)字證書的存儲路 徑子目錄的配置項確定該正式發(fā)布版本的數(shù)字證書的存儲路徑后,檢測該正式發(fā)布版本的 數(shù)字證書的存儲路徑下是否有數(shù)字證書存在,若有,則確定該正式發(fā)布版本成功匹配數(shù)字 證書;否則,則確定該正式發(fā)布版本匹配數(shù)字證書失敗。實際中更優(yōu)選的方案,可以將該正 式發(fā)布版本的數(shù)字證書的MD5值存至該正式發(fā)布版本的配置文件中,將該正式發(fā)布版本的 數(shù)字證書的存儲路徑下的數(shù)字證書進(jìn)行MD5值計算后與預(yù)設(shè)在該正式發(fā)布版本的數(shù)字證 書的MD5值進(jìn)行比對,若二者一致,則確定該正式發(fā)布版本成功匹配數(shù)字證書;否則,則確 定該正式發(fā)布版本匹配數(shù)字證書失敗。
[0055] 步驟305 :失??;確定該正式發(fā)布版本匹配數(shù)字證書失敗。
[0056] 步驟306 :安裝數(shù)字證書;確定該正式發(fā)布版本成功匹配數(shù)字證書后,安裝該正式 發(fā)布版本成功匹配的數(shù)字證書。
[0057] 步驟307 :生成軟件正式發(fā)布版本,對安裝數(shù)字證書的該正式發(fā)布版本進(jìn)行編譯, 生成軟件正式發(fā)布版本。
[0058] 具體的,發(fā)布版本軟件集群建立后,更新代碼,在創(chuàng)建正式發(fā)布版本軟件編譯任務(wù) 時,需要為該正式發(fā)布版本軟件配置數(shù)字證書的類型,在更新源代碼后,編譯之前把匹配的 證書類型更新到工作目錄,使整個正式發(fā)布版本軟件構(gòu)建過程和數(shù)字證書的簽名過程一起 完成,并且能夠自動根據(jù)數(shù)字證書類型的不同執(zhí)行不同的操作,不需要額外增加數(shù)字證書 平臺進(jìn)行維護(hù)。
[0059] 基于上述含數(shù)字證書的軟件版本生成方法的同一發(fā)明構(gòu)思,本發(fā)明實施例還提供 了一種含數(shù)字證書的軟件版本生成裝置,由于該裝置解決問題的原理與含數(shù)字證書的軟件 版本生成方法相似,因此該裝置的實施可以參見含數(shù)字證書的軟件版本生成方法的實施, 重復(fù)之處不再贅述。
[0060] 圖4為本發(fā)明實施例提供的含數(shù)字證書的軟件版本生成裝置的結(jié)構(gòu)示意圖,如圖 4所示,該含數(shù)字證書的軟件版本生成裝置,可以包括:
[0061] 獲取單元401,用于根據(jù)接收到的軟件開發(fā)編譯版本獲得第一軟件版本;
[0062] 索引單元402,用于預(yù)設(shè)第一軟件版本的信息與數(shù)字證書的信息的索引關(guān)系;
[0063] 數(shù)字證書匹配安裝單元403,用于根據(jù)索引關(guān)系為第一軟件版本匹配數(shù)字證書后 安裝匹配的數(shù)字證書;
[0064] 生成單元404,用于對安裝好數(shù)字證書的第一軟件版本進(jìn)行編譯后獲得第二軟件 版本。
[0065] 實施中,獲取單元,可以進(jìn)一步用于從建立的開發(fā)編譯版本軟件集群中,接收軟件 開發(fā)編譯版本;將根據(jù)從接收的所述軟件開發(fā)編譯版本軟件集群獲得的第一軟件版本存儲 至建立的發(fā)布版本軟件集群,其中,所述發(fā)布版本軟件集群與所述開發(fā)編譯版本軟件集群 隔離;
[0066