func()

in sec/sign.go [284:313]


func (key *PubSignKey) Bytes() ([]byte, error) {
	key.AssertValid()

	var b []byte
	var err error

	typ, err := key.SigType()
	if err != nil {
		return nil, err
	}

	switch typ {
	case SIG_TYPE_RSA2048, SIG_TYPE_RSA3072:
		b, err = asn1.Marshal(*key.Rsa)

	case SIG_TYPE_ECDSA224, SIG_TYPE_ECDSA256:
		b, err = x509.MarshalPKIXPublicKey(key.Ec)

	case SIG_TYPE_ED25519:
		b, err = marshalEd25519([]byte(key.Ed25519))

	default:
		err = errors.Errorf("unknown sig type: %v", typ)
	}
	if err != nil {
		return nil, err
	}

	return b, nil
}