func NewCertFromKeys(public []byte, secret []byte) (*Cert, error) {
	if len(public) != 32 {
		return nil, fmt.Errorf("invalid public key")
	}

	if len(secret) != 32 {
		return nil, fmt.Errorf("invalid private key")
	}

	return &Cert{
		zcertT: C.zcert_new_from(
			(*C.byte)(unsafe.Pointer(&public[0])),
			(*C.byte)(unsafe.Pointer(&secret[0]))),
	}, nil
}
// NewCertFromKeys creates a new Cert from a public and private key
NewCertFromKeys creates a new Cert from a public and private key
// NewCertFromKeys creates a new Cert from a public and private key
func NewCertFromKeys(public []byte, secret []byte) (*Cert, error) {
	if len(public) != 32 {
		return nil, fmt.Errorf("invalid public key")
	}
	if len(secret) != 32 {
		return nil, fmt.Errorf("invalid private key")
	}
	return &Cert{
		zcertT: C.zcert_new_from(
			(*C.byte)(unsafe.Pointer(&public[0])),
			(*C.byte)(unsafe.Pointer(&secret[0]))),
	}, nil
}
func NewCertFromKeys ( public [ ] byte , secret [ ] byte ) ( * Cert , error ) { if len ( public ) != 32 { return nil , fmt . Errorf ( " " ) } if len ( secret ) != 32 { return nil , fmt . Errorf ( " " ) } return & Cert { zcertT : C . zcert_new_from ( ( * C . byte ) ( unsafe . Pointer ( & public [ 0 ] ) ) , ( * C . byte ) ( unsafe . Pointer ( & secret [ 0 ] ) ) ) , } , nil }
NewCertFromKeys creates a new Cert from a public and private key
NewCertFromKeys creates a new Cert from a public and private key