cloudflare/cloudflared
Publicmirrored from https://github.com/cloudflare/cloudflaredAvailable
tlsconfig/hello_ca.go
50lines · modecode
| 1 | package tlsconfig |
| 2 | |
| 3 | import ( |
| 4 | "crypto/tls" |
| 5 | "crypto/x509" |
| 6 | ) |
| 7 | |
| 8 | const ( |
| 9 | helloKey = ` |
| 10 | -----BEGIN EC PARAMETERS----- |
| 11 | BgUrgQQAIg== |
| 12 | -----END EC PARAMETERS----- |
| 13 | -----BEGIN EC PRIVATE KEY----- |
| 14 | MIGkAgEBBDBGGfwhIJdiUiJUVIItqJjEIMmlXxsMa8TQeer47+g+cIZ466rgg8EK |
| 15 | +Mdn6BY48GCgBwYFK4EEACKhZANiAASW//A9iDbPKg3OLkn7yJqLer32g9I5lBKR |
| 16 | tPc/zBubQLLz9lAaYI6AOQiJXhGr5JkKmQfi1sYHK5rJITPFy4W8Et4hHLdazDZH |
| 17 | WnEd+TStQABFUjrhtqXPWmGKcly0pOE= |
| 18 | -----END EC PRIVATE KEY-----` |
| 19 | |
| 20 | helloCRT = ` |
| 21 | -----BEGIN CERTIFICATE----- |
| 22 | MIICiDCCAg6gAwIBAgIJAJ/FfkBTtbuIMAkGByqGSM49BAEwfzELMAkGA1UEBhMC |
| 23 | VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xGTAXBgNVBAoMEENs |
| 24 | b3VkZmxhcmUsIEluYy4xNDAyBgNVBAMMK0FyZ28gVHVubmVsIFNhbXBsZSBIZWxs |
| 25 | byBTZXJ2ZXIgQ2VydGlmaWNhdGUwHhcNMTgwMzE5MjMwNTMyWhcNMjgwMzE2MjMw |
| 26 | NTMyWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxDzANBgNVBAcMBkF1 |
| 27 | c3RpbjEZMBcGA1UECgwQQ2xvdWRmbGFyZSwgSW5jLjE0MDIGA1UEAwwrQXJnbyBU |
| 28 | dW5uZWwgU2FtcGxlIEhlbGxvIFNlcnZlciBDZXJ0aWZpY2F0ZTB2MBAGByqGSM49 |
| 29 | AgEGBSuBBAAiA2IABJb/8D2INs8qDc4uSfvImot6vfaD0jmUEpG09z/MG5tAsvP2 |
| 30 | UBpgjoA5CIleEavkmQqZB+LWxgcrmskhM8XLhbwS3iEct1rMNkdacR35NK1AAEVS |
| 31 | OuG2pc9aYYpyXLSk4aNXMFUwUwYDVR0RBEwwSoIJbG9jYWxob3N0ghFjbG91ZGZs |
| 32 | YXJlZC1oZWxsb4ISY2xvdWRmbGFyZWQyLWhlbGxvhwR/AAABhxAAAAAAAAAAAAAA |
| 33 | AAAAAAABMAkGByqGSM49BAEDaQAwZgIxAPxkdghH6y8xLMnY9Bom3Llf4NYM6yB9 |
| 34 | PD1YsaNUJTsxjTk3YY1Jsp+yzK0yUKtTZwIxAPcdvqCF2/iR9H288pCT1TgtO0a9 |
| 35 | cJL9RY1lq7DIGN37v1ZXReWaD+3hNokY8NriVg== |
| 36 | -----END CERTIFICATE-----` |
| 37 | ) |
| 38 | |
| 39 | func GetHelloCertificate() (tls.Certificate, error) { |
| 40 | return tls.X509KeyPair([]byte(helloCRT), []byte(helloKey)) |
| 41 | } |
| 42 | |
| 43 | func GetHelloCertificateX509() (*x509.Certificate, error) { |
| 44 | helloCertificate, err := GetHelloCertificate() |
| 45 | if err != nil { |
| 46 | return nil, err |
| 47 | } |
| 48 | |
| 49 | return x509.ParseCertificate(helloCertificate.Certificate[0]) |
| 50 | } |
| 51 | |