+func StoreSk(sk *openpgp.Entity) (err error) {
+ // TODO: initkey should save serverkey in db
+ b := new(bytes.Buffer)
+ err = sk.Serialize(b)
+ if err != nil {
+ return
+ }
+ return db.Set("key", fmt.Sprintf("%X", sk.PrimaryKey.Fingerprint), b.Bytes())
+}
+
+func GetKeys(fpr string) (es openpgp.EntityList, err error) {
+ b, err := db.Get("key", fpr)
+ if err != nil {
+ return
+ }
+ es, err = openpgp.ReadKeyRing(bytes.NewBuffer(b))
+ if err != nil {
+ // internal error: pubkey cannot be parsed
+ return
+ }
+ return
+}
+