62 lines
1.4 KiB
Go
62 lines
1.4 KiB
Go
package i2pkeys
|
|
|
|
import (
|
|
"crypto/ed25519"
|
|
"crypto/rand"
|
|
"testing"
|
|
)
|
|
|
|
func TestSecretKeyOperations(t *testing.T) {
|
|
// Generate test keys
|
|
pub, priv, err := ed25519.GenerateKey(rand.Reader)
|
|
if err != nil {
|
|
t.Fatalf("Failed to generate test keys: %v", err)
|
|
}
|
|
|
|
keys := I2PKeys{
|
|
Address: I2PAddr(pub),
|
|
Both: string(priv),
|
|
}
|
|
t.Log(len(pub))
|
|
t.Log(len(keys.Address))
|
|
t.Log(pub, keys.Address)
|
|
t.Log(len(priv))
|
|
t.Log(len(keys.Both))
|
|
t.Log(priv, keys.Both)
|
|
|
|
/*t.Run("SecretKey", func(t *testing.T) {
|
|
sk, err := keys.SecretKey()
|
|
if err != nil {
|
|
t.Fatalf("SecretKey() error = %v", err)
|
|
}
|
|
|
|
if sk.Type() != KeyTypeEd25519 {
|
|
t.Errorf("Wrong key type, got %v, want %v", sk.Type(), KeyTypeEd25519)
|
|
}
|
|
})
|
|
|
|
t.Run("Sign", func(t *testing.T) {
|
|
message := []byte("test message")
|
|
sig, err := keys.Sign(rand.Reader, message, crypto.Hash(0))
|
|
if err != nil {
|
|
t.Fatalf("Sign() error = %v", err)
|
|
}
|
|
|
|
if !ed25519.Verify(pub, message, sig) {
|
|
t.Error("Signature verification failed")
|
|
}
|
|
})
|
|
|
|
t.Run("HostnameEntry", func(t *testing.T) {
|
|
hostname := "test.i2p"
|
|
entry, err := keys.HostnameEntry(hostname, crypto.Hash(0))
|
|
if err != nil {
|
|
t.Fatalf("HostnameEntry() error = %v", err)
|
|
}
|
|
|
|
if entry == "" {
|
|
t.Error("Empty hostname entry")
|
|
}
|
|
})*/
|
|
}
|