2011-10-15 7 views
6

He estado buscando a través del documentation para el paquete Go's openpgp, y creo que me faltan algunos puntos obvios. Por ejemplo, hay una función ReadKeyRing, pero no WriteKeyRing. Puedo, por otro lado, Serialize y Entity, pero no tengo forma de volver a leerlo. ¿Que está pasando aqui? ¿Alguien realmente usa este paquete?¿Cómo uso el paquete de Openpgp de Go?

+0

Camlistore (camlistore.org) es el usuario principal (y la motivación) para ese paquete. –

Respuesta

2

Una entidad representa la información de la clave GPG pública + privada. La función ReadKeyRing le permite leer una lista de claves GPG.

Los Entity.Serialize function documentation estados:

Serialize escribe la parte pública de la entidad dada a w. (No se generará material de clave privada).

Como solo es la parte pública de la entidad, puede crear una nueva entidad con los datos serializados como la clave pública.

A WriteKeyRing de hecho no existe. Pasaría por la lista de entidades y extraería las claves públicas en una matriz.

+1

Todo lo que ha dicho está en la documentación, pero todavía no entiendo cómo usar el paquete. Por ejemplo, digamos que quiero un programa que, cuando pase una bandera, creará un par de llaves y lo escribirá en un archivo; cuando pasa una bandera diferente, debe leer ese par de llaves y usarlo para firmar algo. ¿Cómo puedo hacer eso con 'ReadKeyRing' y' Serialize (Private) '? –

+0

No puede crear pares de claves con el paquete Gos GPG tal como está. Solo puede usar claves ya existentes. – Kissaki

+2

¿Estás seguro? ¿Qué pasa con http://golang.org/pkg/crypto/openpgp/#Entity.NewEntity? –

0

También me struggeling bastante con esto - al final me acabo de enterar por ejemplo:

El El pensamiento detrás de esto no está hecho para un usuario, sino que parece estar muy alejado de la forma real en que pgp se implementa técnicamente.

Sugiero generar las claves no a través del paquete, sino solo con una herramienta de línea de comandos de pgp.