2011-10-15 28 views
6

我一直在尋找Go的openpgp包裝的documentation,我想我必須缺少一些明顯的觀點。例如,有一個ReadKeyRing函數,但沒有WriteKeyRing。我可以,另一方面,SerializeEntity,但我沒有辦法讀回來。這裏發生了什麼?有沒有人真的使用這個軟件包?如何使用Go的openpgp軟件包?

+0

Camlistore(camlistore.org)是該軟件包的主要用戶(和動機)。 –

回答

2

實體代表公共+私人GPG密鑰信息。 ReadKeyRing函數允許您讀取GPG密鑰的列表。

Entity.Serialize function documentation狀態:

序列化給定實體的公共部分寫入W上。 (不會輸出私人密鑰材料)。

因爲它只是實體的公共部分,所以可以創建一個新的實體,並將序列化數據作爲公鑰。

A WriteKeyRing確實不存在。它會遍歷實體列表並將公鑰提取到數組中。

+1

您所說的一切都在文檔中,但我仍然不明白如何使用該軟件包。例如,我想要一個程序,當它傳遞一個標誌時,它將創建一個密鑰對並將其寫入文件;當傳遞一個不同的標誌時,它應該讀取該密鑰對並用它來簽名。我怎麼能只用'ReadKeyRing'和'Serialize(Private)'來做到這一點? –

+0

您無法按原樣使用Gos GPG包創建密鑰對。您只能使用已有的鍵。 – Kissaki

+2

你確定嗎?那麼http://golang.org/pkg/crypto/openpgp/#Entity.NewEntity呢? –