init: v1.0.0
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
package sdf
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"xdx.jelly/xgcl/api/common"
|
||||
)
|
||||
|
||||
func TestKeyType(t *testing.T) {
|
||||
keyTypes := []KeyType{KeyTypeUnknow,
|
||||
KeyTypeBlock,
|
||||
KeyTypeSm1,
|
||||
KeyTypeSm4,
|
||||
KeyTypeSm2Sign,
|
||||
KeyTypeSm2Enc,
|
||||
KeyTypeSm9MasterSign,
|
||||
KeyTypeSm9MasterEnc,
|
||||
KeyTypeSm9UserSign,
|
||||
KeyTypeSm9UserEnc,
|
||||
KeyTypeRsa,
|
||||
}
|
||||
for _, kt := range keyTypes {
|
||||
if GetKeyType(kt.String()) != kt {
|
||||
t.Fatal("error:", kt)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSnapshot(t *testing.T) {
|
||||
|
||||
SDF := &SdfNoLock{}
|
||||
for idx := uint32(0); idx < 10; idx++ {
|
||||
refKey := &common.ECCrefPrivateKey{Bits: 256}
|
||||
SDF.SDF_GenerateRandom(refKey.K[32:])
|
||||
|
||||
var err error
|
||||
err = SDF.ImportSm2KeyAtIndex(idx, KeyTypeSm2Sign, refKey)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
err = SDF.ImportSm2KeyAtIndex(idx, KeyTypeSm2Enc, refKey)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
for idx := uint32(0); idx < 10; idx++ {
|
||||
SDF.GenerateKekAtIndex(idx)
|
||||
}
|
||||
password := []byte("12345")
|
||||
snapshot, err := SDF.Snapshot(true, password, 1000)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
snapshotBytes, err := json.MarshalIndent(snapshot, "", " ")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
fmt.Println(string(snapshotBytes))
|
||||
|
||||
var restor Snapshot
|
||||
json.Unmarshal(snapshotBytes, &restor)
|
||||
err = SDF.Restore(&restor, password)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
snapshot2, err := SDF.Snapshot(false, []byte("12345"), 1000)
|
||||
snapshotBytes2, err := json.MarshalIndent(snapshot2, "", " ")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
fmt.Println(string(snapshotBytes2))
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user