New functions for flutter openpgp compatibility
This commit is contained in:
@ -3,6 +3,7 @@ package meowlib
|
||||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"testing"
|
||||
|
||||
@ -93,6 +94,20 @@ func TestAsymEncryptDecryptSigned(t *testing.T) {
|
||||
assert.Equal(t, foo, string(decMess), "The two messages should be the same.")
|
||||
}
|
||||
|
||||
func TestAsymEncryptDecryptSigned2(t *testing.T) {
|
||||
kp := NewKeyPair()
|
||||
foo := "!#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_abcdefghijklmnopqrstuvwxyz{|}~"
|
||||
encMess, sign, err := AsymEncryptAndSign2(kp.Public, kp.Private, []byte(foo))
|
||||
if err != nil {
|
||||
log.Println(err.Error())
|
||||
}
|
||||
decMess, err2 := AsymDecryptAndCheck2(kp.Private, kp.Public, encMess, sign)
|
||||
if err2 != nil {
|
||||
log.Println(err2.Error())
|
||||
}
|
||||
assert.Equal(t, foo, string(decMess), "The two messages should be the same.")
|
||||
}
|
||||
|
||||
func TestFlutterCompat(t *testing.T) {
|
||||
pub := base64.StdEncoding.EncodeToString([]byte(publicKeyECC))
|
||||
priv := base64.StdEncoding.EncodeToString([]byte(privateKeyECC))
|
||||
@ -104,4 +119,63 @@ func TestFlutterCompat(t *testing.T) {
|
||||
|
||||
println(base64.StdEncoding.EncodeToString(encMess))
|
||||
println(base64.StdEncoding.EncodeToString(sign))
|
||||
|
||||
}
|
||||
|
||||
func TestFlutterDecode(t *testing.T) {
|
||||
pub, err := ioutil.ReadFile("/home/yves/Documents/code/flutter/meowlib/pub.key")
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
priv, err := ioutil.ReadFile("/home/yves/Documents/code/flutter/meowlib/priv.key")
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
msg, err := ioutil.ReadFile("/home/yves/Documents/code/flutter/meowlib/msg.enc")
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
sign, err := ioutil.ReadFile("/home/yves/Documents/code/flutter/meowlib/msg.sign")
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
decMsg, err := AsymDecrypt(base64.StdEncoding.EncodeToString(priv), msg)
|
||||
if err != nil {
|
||||
log.Println(err.Error())
|
||||
}
|
||||
println(string(decMsg))
|
||||
decMsg, err = AsymDecryptAndCheck2(base64.StdEncoding.EncodeToString(priv), base64.StdEncoding.EncodeToString(pub), msg, sign)
|
||||
if err != nil {
|
||||
log.Println(err.Error())
|
||||
}
|
||||
println(string(decMsg))
|
||||
println(base64.StdEncoding.EncodeToString(pub))
|
||||
|
||||
}
|
||||
|
||||
func TestFlutterEncode(t *testing.T) {
|
||||
pub, err := ioutil.ReadFile("/home/yves/Documents/code/flutter/meowlib/pub.key")
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
priv, err := ioutil.ReadFile("/home/yves/Documents/code/flutter/meowlib/priv.key")
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
|
||||
encMess, sign2, err := AsymEncryptAndSign2(base64.StdEncoding.EncodeToString(pub), base64.StdEncoding.EncodeToString(priv), []byte("Hello"))
|
||||
if err != nil {
|
||||
log.Println(err.Error())
|
||||
}
|
||||
|
||||
err = ioutil.WriteFile("/home/yves/Documents/code/flutter/meowlib/gomsg.enc", encMess, 0644)
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
err = ioutil.WriteFile("/home/yves/Documents/code/flutter/meowlib/gomsg.sign", sign2, 0644)
|
||||
if err != nil {
|
||||
fmt.Println("Err")
|
||||
}
|
||||
println(base64.StdEncoding.EncodeToString(pub))
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user