github.com/ipfans/trojan-go@v0.11.0/tunnel/tls/fingerprint/tls.go (about)

     1  package fingerprint
     2  
     3  import (
     4  	"crypto/tls"
     5  
     6  	"github.com/ipfans/trojan-go/log"
     7  )
     8  
     9  func ParseCipher(s []string) []uint16 {
    10  	all := tls.CipherSuites()
    11  	var result []uint16
    12  	for _, p := range s {
    13  		found := true
    14  		for _, q := range all {
    15  			if q.Name == p {
    16  				result = append(result, q.ID)
    17  				break
    18  			}
    19  			if !found {
    20  				log.Warn("invalid cipher suite", p, "skipped")
    21  			}
    22  		}
    23  	}
    24  	return result
    25  }