From 0d83a36e94b6286a7004de7bfa411c5e064a30e2 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 5 Sep 2015 18:42:58 +0200 Subject: Add website tls.Dial --- web/main.go | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 web/main.go diff --git a/web/main.go b/web/main.go new file mode 100644 index 0000000..68dac96 --- /dev/null +++ b/web/main.go @@ -0,0 +1,58 @@ +package main + +import ( + "crypto/tls" + "crypto/x509" + "log" +) + +const rootCA = ` +-----BEGIN CERTIFICATE----- +MIIFGzCCAwOgAwIBAgIIMAHyTIhy7wYwDQYJKoZIhvcNAQELBQAwGzEZMBcGA1UE +AwwQQlRDIFBpw7FhdGEgVGVhbTAeFw0xNTA3MDMxNTIwMjNaFw0yNTA2MzAxNTIw +MjNaMBsxGTAXBgNVBAMMEEJUQyBQacOxYXRhIFRlYW0wggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCdFUbuhY6Mss23E0E1606NgP41FlmU3j4XSaRvUlUm +ne+RjcVfXy+2e++KDi0EQp/ZgvlbRPvzTUjwX4MV0baxQaVXx0gSPFpQPrPmyD3z +66KRtFCNnhlVmxiXNE598aMwwTv4akMZlF4N0nPSWE5udzLgeqajyGBfTMxYr+LQ +SgOKVZWxrOKdBvll+Nenpog9R2b2qK/FBzzFBmCyf2tve53C2e4vwPXloPk40Xok +QLIC2VQbdQzb9Nc+MgQZJFVrMdd9yqJoTyWVKwjUxQZtj6C7ZzyC9FctOzMoaRbK +CcgfuwfCqcm9jtbVOnGUXy+YfFgFFcvWqVYArF+FV6JszIoQIPMWzJknoadzKbFT +D+XnbobnrO1lWHnzkI/m6A/thMr/bJuoeW75YP5cJJuEiXiIzvqrpOkHQTfgEBdR +5aiyk7Oy/zfoS9gN5+jbmg+/zdSwsnhwp4skvVpKMiDRMw1SUK7z1Dv4KEHZtYuO +upl9uqu1UF5eICdOJG6+kEzVrKbaXIkmUFjI+wIVJdJmulA+YiDw4Wpdr7lDNBmM ++UMwYhJPL/7U0E4spJAosmKSoUrf8bmlXzwmpkTm2adriPFoE5P3fnrlg26VpNpG +faD3Sz170vcOUMJ9MGXMAzv3h3HnjzsdNMzTdicF8GlRcDB8uNleMLeMAnkQwYrX +RQIDAQABo2MwYTAfBgNVHSMEGDAWgBQJ/2W6E0N3XEFSdab0k8TFBIAzCTAdBgNV +HQ4EFgQUCf9luhNDd1xBUnWm9JPExQSAMwkwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAcYwDQYJKoZIhvcNAQELBQADggIBAFbVC4DmRBfo0Ci12XPeyvRP +e2SlptzQ7Hznfr+NEyRFHYlNc2ITHCSGz/dg9BJlMxU/+qtevS774WmEcNAdo167 +dagVo78N46jKLTLiZNMflikuV93UcPDtUVLF7mSnSe3yYJFora0krKVPxSuE/uC2 +yka3e1waduC1zJ0OP/Rk98UywzG/Buoops5yi0ZP018lErfa6RWY87OHOPy1mGiN +3EPKEnw3klxV6QCP2OSHKbzhpxmk11m17Vkrpf37QspBMS2mFRVC+u6Qj3mhxg8g +MVQtc3PZwi6ZaK9wCzuGJ/oVAh+GqoHoNH00w0SktM2uhcwUkECx5OHTzwY5q6uu +BNUFs/ulwEXq4VOgcYPgP4d/4j1LscHqmfLMHMWxrsvpLkKju+oNhvGG87C2mMoe +fa+vaPCvjNJXBaCORfJrVY6kBRtjUS+GOzp6Kutc1bMvEjtw1fYbjKdarRH/dRVn +XkQjk9y6L34dDi8LAhb3c7hfPdU9inOw3avAK+gru3oZXBNDH/M4sjJOXQAmlmaC +m6ws7AHe49OPjupE6HzjFId8RWSC3sUdDWs6e/LvFzWorpWhJHGj/iR5Fk7QAQQE +3vO8MTOTl6y67/FxZrk9wPlFCRUpnx240RhoEpfaDEHHCvAqpVDLTiepj707Udr0 +uWdtwtlBtMGF1jgGKIrO +-----END CERTIFICATE----- +` + +func main() { + roots := x509.NewCertPool() + if ok := roots.AppendCertsFromPEM([]byte(rootCA)); !ok { + log.Fatal("failed to parse root certificate") + } + + conn, err := tls.Dial("tcp", "ownme.ipredator.se:443", + &tls.Config{RootCAs: roots}) + if err != nil { + log.Fatal(err) + } + defer conn.Close() + + if err := conn.Handshake(); err != nil { + log.Fatal(err) + } +} -- cgit v1.2.3