mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-07-02 17:18:31 +00:00
Finish Seal/UnsealRequest functions
This commit is contained in:
parent
c6a3c120c6
commit
8a24ac37ab
4 changed files with 133 additions and 28 deletions
40
socketserver/internal/server/backend_test.go
Normal file
40
socketserver/internal/server/backend_test.go
Normal file
|
@ -0,0 +1,40 @@
|
|||
package server
|
||||
import (
|
||||
"testing"
|
||||
"net/url"
|
||||
"golang.org/x/crypto/nacl/box"
|
||||
"crypto/rand"
|
||||
)
|
||||
|
||||
func TestSealRequest(t *testing.T) {
|
||||
senderPublic, senderPrivate, err := box.GenerateKey(rand.Reader)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
receiverPublic, receiverPrivate, err := box.GenerateKey(rand.Reader)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
messageBufferPool.New = New4KByteBuffer
|
||||
|
||||
values := url.Values{
|
||||
"QuickBrownFox": []string{"LazyDog"},
|
||||
}
|
||||
|
||||
box.Precompute(&backendSharedKey, receiverPublic, senderPrivate)
|
||||
sealedValues, err := SealRequest(values)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
box.Precompute(&backendSharedKey, senderPublic, receiverPrivate)
|
||||
unsealedValues, err := UnsealRequest(sealedValues)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if unsealedValues.Get("QuickBrownFox") != "LazyDog" {
|
||||
t.Errorf("Failed to round-trip, got back %v", unsealedValues)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue