32 lines
699 B
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
|
|
}
|