code: func certSigAlgsScanByCipher(addr, hostname string) (grade Grade, output Output, err error) {
  	var certSigAlgs = make(map[string]string)
  	for cipherID := range tls.CipherSuites {
  		_, _, derCerts, e := sayHello(addr, hostname, []uint16{cipherID}, nil, tls.VersionTLS12, []tls.SignatureAndHash{})
  		if e == nil {
  			if len(derCerts) == 0 {
  				return Bad, nil, errors.New("no certs returned")
  			}
  			certs, _, err := helpers.ParseCertificatesDER(derCerts[0], "")
  			if err != nil {
  				return Bad, nil, err
  			}
  
  			certSigAlgs[tls.CipherSuites[cipherID].Name] = helpers.SignatureString(certs[0].SignatureAlgorithm)
  			//certSigAlgs = append(certSigAlgs, certs[0].SignatureAlgorithm)
  		}
  	}
  
  	if len(certSigAlgs) > 0 {
  		grade = Good
  		output = certSigAlgs
  	} else {
  		err = errors.New("no cipher supported")
  	}
  	return
  }
docs: // certSigAlgScan returns the server certificate with various ciphers in the ClientHello