41 lines
971 B
Go
41 lines
971 B
Go
|
package nacl_test
|
||
|
|
||
|
import "seekia/internal/cryptography/nacl"
|
||
|
|
||
|
import "seekia/internal/helpers"
|
||
|
|
||
|
import "testing"
|
||
|
|
||
|
func TestEncryptDecryptNacl(t *testing.T) {
|
||
|
|
||
|
testPublicKey, testPrivateKey, err := nacl.GetNewRandomPublicPrivateNaclKeys()
|
||
|
if (err != nil){
|
||
|
t.Fatalf("Failed to derive Nacl keys: " + err.Error())
|
||
|
}
|
||
|
|
||
|
keyToEncrypt, err := helpers.GetNewRandom32ByteArray()
|
||
|
if (err != nil){
|
||
|
t.Fatalf("Failed to get new random 32 byte array: " + err.Error())
|
||
|
}
|
||
|
|
||
|
encryptedBytes, err := nacl.EncryptKeyWithNacl(testPublicKey, keyToEncrypt)
|
||
|
if (err != nil){
|
||
|
t.Fatalf("Failed to encrypt Nacl: " + err.Error())
|
||
|
}
|
||
|
|
||
|
ableToDecrypt, decryptedKey, err := nacl.DecryptNaclEncryptedKey(encryptedBytes, testPublicKey, testPrivateKey)
|
||
|
if (err != nil){
|
||
|
t.Fatalf("Failed to decrypt Nacl: " + err.Error())
|
||
|
}
|
||
|
if (ableToDecrypt == false){
|
||
|
t.Fatalf("Failed to decrypt Nacl.")
|
||
|
}
|
||
|
|
||
|
if (keyToEncrypt != decryptedKey){
|
||
|
t.Fatalf("Nacl decrypted key does not match.")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|