我一直在尋找Go的openpgp
包裝的documentation,我想我必須缺少一些明顯的觀點。例如,有一個ReadKeyRing
函數,但沒有WriteKeyRing
。我可以,另一方面,Serialize
和Entity
,但我沒有辦法讀回來。這裏發生了什麼?有沒有人真的使用這個軟件包?如何使用Go的openpgp軟件包?
回答
實體代表公共+私人GPG密鑰信息。 ReadKeyRing
函數允許您讀取GPG密鑰的列表。
的Entity.Serialize function documentation狀態:
序列化給定實體的公共部分寫入W上。 (不會輸出私人密鑰材料)。
因爲它只是實體的公共部分,所以可以創建一個新的實體,並將序列化數據作爲公鑰。
A WriteKeyRing
確實不存在。它會遍歷實體列表並將公鑰提取到數組中。
您所說的一切都在文檔中,但我仍然不明白如何使用該軟件包。例如,我想要一個程序,當它傳遞一個標誌時,它將創建一個密鑰對並將其寫入文件;當傳遞一個不同的標誌時,它應該讀取該密鑰對並用它來簽名。我怎麼能只用'ReadKeyRing'和'Serialize(Private)'來做到這一點? –
您無法按原樣使用Gos GPG包創建密鑰對。您只能使用已有的鍵。 – Kissaki
你確定嗎?那麼http://golang.org/pkg/crypto/openpgp/#Entity.NewEntity呢? –
我也struggeling了不少與此 - 在最後,我只是學會了通過例如:
的背後的想法不是爲用戶設計的,但似乎強烈地脫離了pgp技術實現的實際方式。
我會建議不通過包生成密鑰,而只是使用pgp命令行工具。
- 1. Go語言:使用軟件包範圍內的軟件包名稱(例如)
- 2. 如何使用go get導入特定版本的軟件包?
- 3. 如何在travis-ci |上使用遠程軟件包GO
- 4. 使用額外的軟件包編譯Go提示
- 5. Go中的OpenPGP公鑰身份驗證
- 6. 如何在Go語言中導入和使用不同的同名軟件包?
- 7. 在linux中安裝go軟件包
- 8. Spongy Castle爲什麼忽略bcpg和openpgp軟件包
- 9. 如何使用僅包含工具的軟件包進行軟件包恢復?
- 10. 如何爲自制軟件包go項目
- 11. 使用go.crypto/OpenPGP的
- 12. 如何使用軟件包laravel分析?
- 13. 如何使用軟件包:intl
- 14. 如何使用django-registration軟件包?
- 15. 如何使用wx.lib.docview軟件包?
- 16. 如何通過require.js使用軟件包
- 17. 如何使用Monkeyrunner卸載軟件包?
- 18. 如何使用puppet卸載軟件包
- 19. 如何在Erlang中使用軟件包?
- 20. 如何使用aeson-schema軟件包?
- 21. 如何使用「內部」軟件包?
- 22. 如何使用gloss-examples軟件包?
- 23. 如何使用Django-Scheduler軟件包?
- 24. 如何在使用NuGet安裝軟件包後包含軟件包?
- 25. Go工作空間問題:如何區分遠程軟件包中的本地軟件包?
- 26. 在GitHub上安裝一個Go軟件包是否包含'go get'?
- 27. 如何用Go解包git pack文件?
- 28. 如何在go中使用sql server包
- 29. 如何在go中使用github包?
- 30. Intellij無法加載文件.go相同的軟件包
Camlistore(camlistore.org)是該軟件包的主要用戶(和動機)。 –