add es256k (secp256k1 curve) support by trung · Pull Request #643 · smallstep/cli
| if strings.ToLower(ctx.String("alg")) == "es256k" { | ||
| hexRaw, err := os.ReadFile(keyFile) | ||
| if err != nil { | ||
| return nil, errors.Wrap(err, "read file error") | ||
| } | ||
| raw, err := hex.DecodeString(strings.TrimPrefix(strings.TrimSpace(string(hexRaw)), "0x")) | ||
| if err != nil { | ||
| return nil, errors.Wrap(err, "file content is not in hex") | ||
| } | ||
| if isPubKey { | ||
| secp256k1Pk, err := secp256k1.ParsePubKey(raw) | ||
| if err != nil { | ||
| return nil, errors.Wrap(err, "unable to parse public key") | ||
| } | ||
| return secp256k1Pk.ToECDSA(), nil | ||
| } | ||
| secp256k1Pk := secp256k1.PrivKeyFromBytes(raw) | ||
| return secp256k1Pk.ToECDSA(), nil | ||
| } |