Tôi đã xem qua documentation cho gói openpgp
của Go và tôi nghĩ rằng tôi phải thiếu một số điểm rõ ràng. Ví dụ: có chức năng ReadKeyRing
nhưng không có WriteKeyRing
. Mặt khác, tôi có thể Serialize
một số Entity
, nhưng tôi không có cách nào để đọc lại. Những gì đang xảy ra ở đây? Có ai thực sự sử dụng gói này?Làm cách nào để sử dụng gói openpgp của Go?
Trả lời
Một thực thể đại diện cho thông tin khóa GPG công khai + riêng tư. Chức năng ReadKeyRing
cho phép bạn đọc danh sách các phím GPG.
Các Entity.Serialize function documentation trạng thái:
Serialize viết phần công cộng của Entity trao cho w. (Không có tài liệu chính tư nhân nào được xuất ra).
Vì nó chỉ là phần công khai của thực thể, bạn có thể tạo một thực thể mới với dữ liệu được nối tiếp dưới dạng khóa chung.
A WriteKeyRing
thực sự không tồn tại. Nó sẽ đi qua danh sách các thực thể và trích xuất các khóa công khai thành một mảng.
Mọi thứ bạn đã nói đều nằm trong tài liệu, nhưng tôi vẫn không hiểu cách sử dụng gói. Ví dụ, nói rằng tôi muốn một chương trình mà, khi thông qua một lá cờ, sẽ tạo ra một cặp khóa và ghi nó vào một tập tin; khi thông qua một lá cờ khác, nó nên đọc cặp khóa đó và sử dụng nó để ký một cái gì đó. Làm thế nào tôi có thể làm điều đó chỉ với 'ReadKeyRing' và' Serialize (Private) '? –
Bạn không thể tạo các cặp bàn phím với gói Gos GPG. Bạn chỉ có thể sử dụng các khóa đã tồn tại. – Kissaki
Bạn có chắc chắn không? Còn http://golang.org/pkg/crypto/openpgp/#Entity.NewEntity thì sao? –
Tôi cũng đã struggeling khá nhiều với điều này - cuối cùng thì tôi chỉ học được nó bằng cách dụ:
- Mã hóa và giải mã ví dụ: https://gist.github.com/jyap808/8250124
- Decryption Ví dụ: https://gist.github.com/jyap808/8250067
Các suy nghĩ đằng sau điều này không được thực hiện cho một người sử dụng, nhưng dường như đi mạnh mẽ ra khỏi cách thực tế pgp được thực hiện về mặt kỹ thuật.
Tôi khuyên bạn nên tạo khóa không qua gói nhưng chỉ với công cụ dòng lệnh pgp.
- 1. Làm cách nào để sử dụng tên biến có cùng tên với gói trong Go?
- 2. Làm cách nào để sử dụng fmt.Scanf trong Go
- 3. Thẩm định chữ ký sử dụng go.crypto/OpenPGP
- 4. Cách Go cập nhật gói của bên thứ ba?
- 5. Tôi làm cách nào để tìm gói của mình?
- 6. Tôi làm cách nào để sử dụng gói "nén/gzip" của golang để gzip một tệp?
- 7. Làm thế nào để nhập và sử dụng các gói khác nhau có cùng tên trong ngôn ngữ Go?
- 8. Làm cách nào để sử dụng tính năng Go, nối thêm hai lát hoặc mảng byte []?
- 9. Cách sử dụng giao diện trong Go
- 10. Parse Go tem thời gian sử dụng Go
- 11. Làm thế nào để sử dụng gói java.nio.file trong android?
- 12. Sử dụng OpenGL từ Go
- 13. Làm thế nào để có được loại của ứng dụng sử dụng tên gói
- 14. Cách sử dụng pprof trong chương trình Go
- 15. Khuyến nghị cho Java + OpenPGP?
- 16. Gói nào sử dụng Python?
- 17. Làm cách nào để dừng máy chủ Nghe trong Go
- 18. Làm thế nào để giảm dấu chân kép khi sử dụng gói 'gói' Haskell?
- 19. Làm thế nào để sử dụng ngôn ngữ Go với NetBeans IDE?
- 20. Làm cách nào để sử dụng R (gói Rcurl/XML?!) Để xóa trang web này?
- 21. Làm cách nào để loại trừ gói nguồn bằng cách sử dụng javac trong Ant?
- 22. Đọc văn bản bên trong của một phần tử XML bằng cách sử dụng Go
- 23. Cách nhập gói Go địa phương trong GAE
- 24. Làm thế nào để bạn sử dụng nhiều phiên bản của cùng một gói R?
- 25. Cách sử dụng LiteIDE cho dự án Go?
- 26. Làm thế nào để bạn nhận được đầu ra của một lệnh hệ thống trong Go?
- 27. Sử dụng gói data.table bên trong gói riêng của tôi
- 28. Làm cách nào để phân phối mã có thể sử dụng lại Android trong gói?
- 29. Tôi làm cách nào để sử dụng gói appengine/urlfetch với goauth2?
- 30. Làm cách nào để sử dụng ProGuard?
Camlistore (camlistore.org) là người dùng chính (và động lực) cho gói đó. –