2011-10-15 36 views
6

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?

+0

Camlistore (camlistore.org) là người dùng chính (và động lực) cho gói đó. –

Trả lời

2

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.

+1

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) '? –

+0

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

+2

Bạn có chắc chắn không? Còn http://golang.org/pkg/crypto/openpgp/#Entity.NewEntity thì sao? –

0

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ụ:

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.

Các vấn đề liên quan