fix(eddsa): ed25519 or ed448 should be curves, not discriminator
This commit is contained in:
18
ecdsa.go
18
ecdsa.go
@@ -1,9 +1,17 @@
|
||||
package varsig
|
||||
|
||||
// Stub
|
||||
// DiscriminatorECDSA is the value specifying an ECDSA signature.
|
||||
const DiscriminatorECDSA = Discriminator(0xec)
|
||||
|
||||
// ECDSACurve are values that specify which ECDSA curve is used when
|
||||
// generating the signature.
|
||||
type ECDSACurve uint64
|
||||
|
||||
// Constants describing the values for each specific ECDSA curve that can
|
||||
// be encoded into a Varsig.
|
||||
const (
|
||||
DiscriminatorECDSASecp256k1 Discriminator = 0xe7
|
||||
DiscriminatorECDSAP256 Discriminator = 0x1200
|
||||
DiscriminatorECDSAP384 Discriminator = 0x1201
|
||||
DiscriminatorECDSAP521 Discriminator = 0x1202
|
||||
CurveSecp256k1 = ECDSACurve(0xe7)
|
||||
CurveP256 = ECDSACurve(0x1200)
|
||||
CurveP384 = ECDSACurve(0x1201)
|
||||
CurveP521 = ECDSACurve(0x1202)
|
||||
)
|
||||
|
||||
10
eddsa.go
10
eddsa.go
@@ -6,12 +6,8 @@ import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// Constants containing values that specify EdDSA signatures.
|
||||
const (
|
||||
DiscriminatorEdDSA = Discriminator(0xed)
|
||||
DiscriminatorEd25519 = Discriminator(0xed)
|
||||
DiscriminatorEd448 = Discriminator(0x1203)
|
||||
)
|
||||
// DiscriminatorEdDSA is the value specifying an EdDSA signature.
|
||||
const DiscriminatorEdDSA = Discriminator(0xed)
|
||||
|
||||
// EdDSACurve are values that specify which Edwards curve is used when
|
||||
// generating the signature.
|
||||
@@ -113,7 +109,7 @@ func (v EdDSAVarsig) Encode() []byte {
|
||||
return buf
|
||||
}
|
||||
|
||||
func decodeEd25519(r BytesReader, vers Version, disc Discriminator) (Varsig, error) {
|
||||
func decodeEdDSA(r BytesReader, vers Version, disc Discriminator) (Varsig, error) {
|
||||
curve := EdDSACurve(disc)
|
||||
if vers != Version0 {
|
||||
var err error
|
||||
|
||||
@@ -32,7 +32,7 @@ func TestDecodeEd25519(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, v)
|
||||
assert.Equal(t, varsig.Version0, v.Version())
|
||||
assert.Equal(t, varsig.DiscriminatorEd25519, v.Discriminator())
|
||||
assert.Equal(t, varsig.DiscriminatorEdDSA, v.Discriminator())
|
||||
assert.Equal(t, varsig.PayloadEncodingDAGCBOR, v.PayloadEncoding())
|
||||
assert.Len(t, v.Signature(), 64)
|
||||
|
||||
|
||||
@@ -28,12 +28,9 @@ type Registry map[Discriminator]DecodeFunc
|
||||
// signing algorithms which have an implementation within this library.
|
||||
func DefaultRegistry() Registry {
|
||||
return map[Discriminator]DecodeFunc{
|
||||
DiscriminatorRSA: decodeRSA,
|
||||
DiscriminatorEdDSA: decodeEd25519,
|
||||
DiscriminatorEd448: decodeEd25519,
|
||||
DiscriminatorECDSAP256: notYetImplementedVarsigDecoder,
|
||||
DiscriminatorECDSASecp256k1: notYetImplementedVarsigDecoder,
|
||||
DiscriminatorECDSAP521: notYetImplementedVarsigDecoder,
|
||||
DiscriminatorRSA: decodeRSA,
|
||||
DiscriminatorEdDSA: decodeEdDSA,
|
||||
DiscriminatorECDSA: notYetImplementedVarsigDecoder,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user