github.com/futurehomeno/fimpgo@v1.14.0/security/key-store_test.go (about)

     1  package security
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestKeyStore_GetEcdsaKey(t *testing.T) {
     8  	user := "alex@mail.com"
     9  	devId := "t-a-1"
    10  	textToSign := "super important test message"
    11  	store := NewKeyStore("test-key-store.json",false)
    12  	ecKey := NewEcdsaKey()
    13  	ecKey.Generate()
    14  
    15  	_,public := ecKey.ExportX509EncodedKeys()
    16  
    17  	sig , err := SignStringES256(textToSign,ecKey)
    18  	if err != nil {
    19  		t.Fatal("signing error . Err:",err)
    20  	}
    21  	//store.AddSerializedKey(user,devId,public,KeyTypePublic,AlgEcdsa256)
    22  	store.UpsertSerializedKey(user,devId,public,KeyTypePublic,AlgEcdsa256)
    23  
    24  	store2 := NewKeyStore("test-key-store.json",false)
    25  	store2.LoadFromDisk()
    26  	keyFromStore,err := store2.GetEcdsaKey(user,devId,KeyTypePublic)
    27  	if err != nil {
    28  		t.Fatal("can't get the key . Err:",err)
    29  	}
    30  
    31  	isCorrect := VerifyStringES256(textToSign,sig,keyFromStore)
    32  	if !isCorrect {
    33  		t.Fatal("Verification failed")
    34  	}
    35  }