package dns

import (
	
	
	
	
	
)

// CertificateToDANE converts a certificate to a hex string as used in the TLSA or SMIMEA records.
func (,  uint8,  *x509.Certificate) (string, error) {
	switch  {
	case 0:
		switch  {
		case 0:
			return hex.EncodeToString(.Raw), nil
		case 1:
			return hex.EncodeToString(.RawSubjectPublicKeyInfo), nil
		}
	case 1:
		 := sha256.New()
		switch  {
		case 0:
			.Write(.Raw)
			return hex.EncodeToString(.Sum(nil)), nil
		case 1:
			.Write(.RawSubjectPublicKeyInfo)
			return hex.EncodeToString(.Sum(nil)), nil
		}
	case 2:
		 := sha512.New()
		switch  {
		case 0:
			.Write(.Raw)
			return hex.EncodeToString(.Sum(nil)), nil
		case 1:
			.Write(.RawSubjectPublicKeyInfo)
			return hex.EncodeToString(.Sum(nil)), nil
		}
	}
	return "", errors.New("dns: bad MatchingType or Selector")
}