Remove unused code + handle errors

This commit is contained in:
William Gotti 2019-05-13 12:42:29 +00:00 committed by Daniel Huigens
parent e797299d64
commit b820c14c1a
7 changed files with 26 additions and 12 deletions

View file

@ -2,6 +2,7 @@ package crypto
import (
"bytes"
"fmt"
"io"
"io/ioutil"
"runtime"
@ -123,7 +124,10 @@ func (pm *PmCrypto) DecryptAttachment(keyPacket []byte, dataPacket []byte, kr *K
privKeyEntries := kr.entities
kr.Unlock([]byte(passphrase))
if err := kr.Unlock([]byte(passphrase)); err != nil {
err = fmt.Errorf("pm-crypto: cannot decrypt attachment: %v", err)
return nil, err
}
keyReader := bytes.NewReader(keyPacket)
dataReader := bytes.NewReader(dataPacket)

View file

@ -192,22 +192,23 @@ func SeparateKeyAndData(kr *KeyRing, r io.Reader, estimatedLength int, garbageCo
}
outSplit.DataPacket = symEncryptedData
break
}
}
if decryptErr != nil {
err = fmt.Errorf("pm-crypto: cannot decrypt encrypted key packet: %v", decryptErr)
return
return nil, err
}
if ek == nil {
err = errors.New("pm-crypto: packets don't include an encrypted key packet")
return
return nil, err
}
if kr == nil {
var buf bytes.Buffer
ek.Serialize(&buf)
if err := ek.Serialize(&buf); err != nil {
err = fmt.Errorf("pm-crypto: cannot serialize encrypted key: %v", err)
return nil, err
}
outSplit.KeyPacket = buf.Bytes()
} else {
key := newSymmetricKey(ek)

View file

@ -527,6 +527,9 @@ func (pm *PmCrypto) BuildKeyRingNoError(binKeys []byte) (kr *KeyRing) {
// BuildKeyRingArmored reads armored string and returns keyring
func (pm *PmCrypto) BuildKeyRingArmored(key string) (kr *KeyRing, err error) {
keyRaw, err := armorUtils.Unarmor(key)
if err != nil {
return nil, err
}
keyReader := bytes.NewReader(keyRaw)
keyEntries, err := openpgp.ReadKeyRing(keyReader)
return &KeyRing{entities: keyEntries}, err

View file

@ -3,6 +3,7 @@ package crypto
import (
"bytes"
"errors"
"fmt"
"io"
"io/ioutil"
"math"
@ -59,7 +60,10 @@ func (pm *PmCrypto) DecryptMessage(encryptedText string, privateKey *KeyRing, pa
func decryptCore(encryptedText string, additionalEntries openpgp.EntityList, privKey *KeyRing, passphrase string, timeFunc func() time.Time) (*openpgp.MessageDetails, error) {
rawPwd := []byte(passphrase)
privKey.Unlock(rawPwd)
if err := privKey.Unlock(rawPwd); err != nil {
err = fmt.Errorf("pm-crypto: cannot decrypt passphrase: %v", err)
return nil, err
}
privKeyEntries := privKey.entities
for _, entity := range privKey.entities {

View file

@ -46,9 +46,6 @@ func (pm *PmCrypto) GetSessionFromKeyPacket(keyPackage []byte, privateKey *KeyRi
ek := p.(*packet.EncryptedKey)
if err != nil {
return nil, err
}
rawPwd := []byte(passphrase)
var decryptErr error
for _, key := range privateKey.entities.DecryptionKeys() {