bloat/write.go

32 lines
699 B
Go

package bloat
import "fmt"
func (b *Bloat[T]) WritePlain(body T, recip Bloat[T]) ([]byte, error) {
start, err := b.marshal(body)
if err != nil {
fmt.Println("marshal failed")
fmt.Println(err)
return nil, err
}
signed, err := b.sign(start) // our key
if err != nil {
fmt.Println("sign failed")
fmt.Println(err)
return nil, err
}
return signed, err
}
func (b *Bloat[T]) WriteEnc(body T, recip Bloat[T]) ([]byte, error) {
signed, err := b.WritePlain(body, recip)
if err != nil {
fmt.Println("plain write failed")
fmt.Println(err)
}
final, err := recip.encrypt(signed) // their key
if err != nil {
fmt.Println("encrypt failed")
fmt.Println(err)
}
return final, err
}