package dns

import (
	
	
	
)

// Sign creates a TLSA record from an SSL certificate.
func ( *TLSA) (, ,  int,  *x509.Certificate) ( error) {
	.Hdr.Rrtype = TypeTLSA
	.Usage = uint8()
	.Selector = uint8()
	.MatchingType = uint8()

	.Certificate,  = CertificateToDANE(.Selector, .MatchingType, )
	return 
}

// Verify verifies a TLSA record against an SSL certificate. If it is OK
// a nil error is returned.
func ( *TLSA) ( *x509.Certificate) error {
	,  := CertificateToDANE(.Selector, .MatchingType, )
	if  != nil {
		return  // Not also ErrSig?
	}
	if .Certificate ==  {
		return nil
	}
	return ErrSig // ErrSig, really?
}

// TLSAName returns the ownername of a TLSA resource record as per the
// rules specified in RFC 6698, Section 3.
func (, ,  string) (string, error) {
	if !IsFqdn() {
		return "", ErrFqdn
	}
	,  := net.LookupPort(, )
	if  != nil {
		return "", 
	}
	return "_" + strconv.Itoa() + "._" +  + "." + , nil
}