func signKeyToDesc()

in ikey/ikey.go [17:38]


func signKeyToDesc(key sec.PubSignKey, private bool) (Desc, error) {
	var alg string
	if key.Rsa != nil {
		alg = fmt.Sprintf("RSA-%d", key.Rsa.Size()*8)
	} else if key.Ec != nil {
		alg = fmt.Sprintf("ECDSA-%d", key.Ec.X.BitLen())
	} else {
		alg = "ED25519"
	}

	pubBytes, err := key.Bytes()
	if err != nil {
		return Desc{}, err
	}

	return Desc{
		Private:   private,
		Algorithm: alg,
		PubBytes:  pubBytes,
		Hash:      sec.RawKeyHash(pubBytes),
	}, nil
}