2012-02-21 54 views
0

如果作爲我的構建的一部分,我通過Ant的signjar任務簽署了一個jar,那麼它將被視爲「簽名jar」。通過執行jar:sign目標,可以在Maven-land中完成同樣的事情。signjar&jar:sign vs Artifactory校驗和

庫管理器,如Artifactory的有校驗,你可以在錯誤校驗失敗部署的概念,你可以重新計算壞/缺少校驗,並採取各種基於校驗和狀態等操作。

我想知道的關係是什麼樣的結果之間通過類似signjarjar:sign來校驗和Artifactory的的概念方法罐子(「簽名」)。

「校驗和」僅僅是通過運行這些簽名任務/目標而產生的通用術語嗎?還是完全不同的項目?

回答

2

校驗和是文件內容的數字表示。簽名是向文件添加簽名的過程。

由於簽名過程中文件的大小和內容發生了變化,所以同一文件的簽名和簽名將不同。

使用校驗和驗證文件傳輸成功的過程對於Artifactory並不是特別的。 對於上傳是這樣的:

  1. 客戶端在上傳文件之前計算校驗和。
  2. 客戶端沿文件上傳校驗和(通常在單獨的文本文件中使用.md5或sha1擴展名,這是計算校驗和的兩種方式)。
  3. 上傳服務器計算上傳文件的校驗和之後。
  4. 服務器將其校驗和與上傳的校驗和進行比較。如果它們匹配 - 全部是綠色的。如果沒有 - 取決於你在問題中提到的設置(無法上傳,或者無論如何傳遞)。

當您使用構建工具(Maven或Ivy)在簽署後將jar部署到Artifactory時,計算的校驗和將是正確的(簽名jar),因此所有內容都應按預期工作。

0

簽名的jar提供了一個保證,它的內容是由簽名者創建的。雖然校驗和只是一個檢查文件是否完好無損。例如,某人可以修改文件並更改校驗和以匹配新內容。

+0

謝謝!那麼可以在簽名/未簽名的jar上運行校驗和嗎?如果是這樣,你會在Ant中使用jar嗎?或者你會在Ant生成的jar(或zip)上使用外部校驗和工具?另外,** Artifactory如何知道正確的校驗和是什麼**?!?! – IAmYourFaja 2012-02-21 19:51:03