mirror of
https://github.com/syntrex-lab/gomcp.git
synced 2026-04-26 12:56:21 +02:00
Release prep: 54 engines, self-hosted signatures, i18n, dashboard updates
This commit is contained in:
parent
694e32be26
commit
41cbfd6e0a
178 changed files with 36008 additions and 399 deletions
83
internal/infrastructure/pqcrypto/pqcrypto_test.go
Normal file
83
internal/infrastructure/pqcrypto/pqcrypto_test.go
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
package pqcrypto
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestNewHybridSigner(t *testing.T) {
|
||||
signer, err := NewHybridSigner(SchemeHybrid)
|
||||
if err != nil {
|
||||
t.Fatalf("NewHybridSigner: %v", err)
|
||||
}
|
||||
if signer.PublicKeyHex() == "" {
|
||||
t.Error("public key empty")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSignAndVerify(t *testing.T) {
|
||||
signer, err := NewHybridSigner(SchemeHybrid)
|
||||
if err != nil {
|
||||
t.Fatalf("NewHybridSigner: %v", err)
|
||||
}
|
||||
|
||||
data := []byte("decision: allow event EVT-001")
|
||||
sig, err := signer.Sign(data)
|
||||
if err != nil {
|
||||
t.Fatalf("Sign: %v", err)
|
||||
}
|
||||
|
||||
if sig.ClassicalSig == "" {
|
||||
t.Error("classical sig empty")
|
||||
}
|
||||
if sig.PQSig == "" {
|
||||
t.Error("PQ sig empty")
|
||||
}
|
||||
if sig.Scheme != SchemeHybrid {
|
||||
t.Errorf("scheme = %s, want hybrid", sig.Scheme)
|
||||
}
|
||||
|
||||
if !signer.Verify(data, sig) {
|
||||
t.Error("verification failed for valid signature")
|
||||
}
|
||||
}
|
||||
|
||||
func TestVerify_TamperedData(t *testing.T) {
|
||||
signer, _ := NewHybridSigner(SchemeHybrid)
|
||||
|
||||
data := []byte("original data")
|
||||
sig, _ := signer.Sign(data)
|
||||
|
||||
tamperedData := []byte("tampered data")
|
||||
if signer.Verify(tamperedData, sig) {
|
||||
t.Error("should fail for tampered data")
|
||||
}
|
||||
}
|
||||
|
||||
func TestVerify_TamperedSig(t *testing.T) {
|
||||
signer, _ := NewHybridSigner(SchemeHybrid)
|
||||
|
||||
data := []byte("test data")
|
||||
sig, _ := signer.Sign(data)
|
||||
|
||||
sig.PQSig = "0000000000000000000000000000000000000000000000000000000000000000"
|
||||
if signer.Verify(data, sig) {
|
||||
t.Error("should fail for tampered PQ sig")
|
||||
}
|
||||
}
|
||||
|
||||
func TestStats(t *testing.T) {
|
||||
signer, _ := NewHybridSigner(SchemeHybrid)
|
||||
|
||||
signer.Sign([]byte("a"))
|
||||
signer.Sign([]byte("b"))
|
||||
sig, _ := signer.Sign([]byte("c"))
|
||||
signer.Verify([]byte("c"), sig)
|
||||
|
||||
stats := signer.Stats()
|
||||
if stats.TotalSigns != 3 {
|
||||
t.Errorf("signs = %d, want 3", stats.TotalSigns)
|
||||
}
|
||||
if stats.TotalVerifies != 1 {
|
||||
t.Errorf("verifies = %d, want 1", stats.TotalVerifies)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue