|
|
@ -156,7 +156,14 @@ func oxImportPrivKey(jid string, privKeyLocation string, client *xmpp.Client,
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
key, err = crypto.NewKeyFromArmored(buffer.String())
|
|
|
|
key, err = crypto.NewKeyFromArmored(buffer.String())
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
keyDecoded, err := base64.StdEncoding.DecodeString(buffer.String())
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
key, err = crypto.NewKey(keyDecoded)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
entity := key.GetEntity()
|
|
|
|
entity := key.GetEntity()
|
|
|
@ -174,7 +181,10 @@ func oxImportPrivKey(jid string, privKeyLocation string, client *xmpp.Client,
|
|
|
|
fingerprint := strings.ToUpper(pubKey.GetFingerprint())
|
|
|
|
fingerprint := strings.ToUpper(pubKey.GetFingerprint())
|
|
|
|
_, err = oxRecvPublicKeys(client, iqc, jid, fingerprint)
|
|
|
|
_, err = oxRecvPublicKeys(client, iqc, jid, fingerprint)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return errors.New("Key not found in pubsub: " + fingerprint)
|
|
|
|
err = oxPublishPubKey(jid, client, iqc, pubKey)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
location, err := oxGetPrivKeyLoc(jid)
|
|
|
|
location, err := oxGetPrivKeyLoc(jid)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|