2025-07-07 11:25:58 -04:00
|
|
|
package varsig_test
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
|
2025-07-08 08:23:30 -04:00
|
|
|
"github.com/ucan-wg/go-varsig"
|
2025-07-07 11:25:58 -04:00
|
|
|
)
|
|
|
|
|
|
2025-07-07 15:42:11 -04:00
|
|
|
func TestEd25519(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
in := mustVarsig[varsig.EdDSAVarsig](t)(varsig.Ed25519(varsig.PayloadEncodingDAGCBOR))
|
|
|
|
|
out := roundTrip(t, in, "3401ed01ed011371")
|
|
|
|
|
assertEdDSAEqual(t, in, out)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestEd448(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
in := mustVarsig[varsig.EdDSAVarsig](t)(varsig.Ed448(varsig.PayloadEncodingDAGCBOR))
|
|
|
|
|
out := roundTrip(t, in, "3401ed0183241971")
|
|
|
|
|
assertEdDSAEqual(t, in, out)
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-07 11:25:58 -04:00
|
|
|
func TestRS256(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
in := mustVarsig[varsig.RSAVarsig](t)(varsig.RS256(0x100, varsig.PayloadEncodingDAGCBOR))
|
2025-07-07 15:42:11 -04:00
|
|
|
out := roundTrip(t, in, "3401852412800271")
|
2025-07-07 11:25:58 -04:00
|
|
|
assertRSAEqual(t, in, out)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestRS384(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
in := mustVarsig[varsig.RSAVarsig](t)(varsig.RS384(0x100, varsig.PayloadEncodingDAGCBOR))
|
2025-07-07 15:42:11 -04:00
|
|
|
out := roundTrip(t, in, "3401852420800271")
|
2025-07-07 11:25:58 -04:00
|
|
|
assertRSAEqual(t, in, out)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestRS512(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
in := mustVarsig[varsig.RSAVarsig](t)(varsig.RS512(0x100, varsig.PayloadEncodingDAGCBOR))
|
2025-07-07 15:42:11 -04:00
|
|
|
out := roundTrip(t, in, "3401852413800271")
|
2025-07-07 11:25:58 -04:00
|
|
|
assertRSAEqual(t, in, out)
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-07 15:42:11 -04:00
|
|
|
func assertEdDSAEqual(t *testing.T, in, out *varsig.EdDSAVarsig) {
|
|
|
|
|
t.Helper()
|
|
|
|
|
|
|
|
|
|
assert.Equal(t, in.Curve(), out.Curve())
|
|
|
|
|
assert.Equal(t, in.HashAlgorithm(), out.HashAlgorithm())
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-07 11:25:58 -04:00
|
|
|
func assertRSAEqual(t *testing.T, in, out *varsig.RSAVarsig) {
|
|
|
|
|
t.Helper()
|
|
|
|
|
|
|
|
|
|
assert.Equal(t, in.HashAlgorithm(), out.HashAlgorithm())
|
|
|
|
|
assert.Equal(t, in.KeyLength(), out.KeyLength())
|
|
|
|
|
}
|