|
@@ -73,3 +73,27 @@ func TestInsecureCertificates(t *testing.T) {
|
|
|
t.Fatal("Unexpected tls cipher suites list: ", tlsConfig.CipherSuites)
|
|
t.Fatal("Unexpected tls cipher suites list: ", tlsConfig.CipherSuites)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+func BenchmarkCertificateIssuing(b *testing.B) {
|
|
|
|
|
+ certificate := ParseCertificate(cert.MustGenerate(nil, cert.Authority(true), cert.KeyUsage(x509.KeyUsageCertSign)))
|
|
|
|
|
+ certificate.Usage = Certificate_AUTHORITY_ISSUE
|
|
|
|
|
+
|
|
|
|
|
+ c := &Config{
|
|
|
|
|
+ Certificate: []*Certificate{
|
|
|
|
|
+ certificate,
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ tlsConfig := c.GetTLSConfig()
|
|
|
|
|
+ lenCerts := len(tlsConfig.Certificates)
|
|
|
|
|
+
|
|
|
|
|
+ b.ResetTimer()
|
|
|
|
|
+
|
|
|
|
|
+ for i := 0; i < b.N; i++ {
|
|
|
|
|
+ _, _ = tlsConfig.GetCertificate(&gotls.ClientHelloInfo{
|
|
|
|
|
+ ServerName: "www.v2ray.com",
|
|
|
|
|
+ })
|
|
|
|
|
+ delete(tlsConfig.NameToCertificate, "www.v2ray.com")
|
|
|
|
|
+ tlsConfig.Certificates = tlsConfig.Certificates[:lenCerts]
|
|
|
|
|
+ }
|
|
|
|
|
+}
|