github.com/snowflakedb/gosnowflake@v1.9.0/cmd/verifycert/verifycert.go (about) 1 // Example: Verify SSL/TLS certificate with OCSP revocation check 2 package main 3 4 import ( 5 "bytes" 6 "flag" 7 "io/ioutil" 8 "log" 9 "net/http" 10 "os" 11 "time" 12 13 sf "github.com/snowflakedb/gosnowflake" 14 ) 15 16 func main() { 17 var targetURL = flag.String("url", "", "target host name, e.g., https://myaccount.snowflakecomputing.com/") 18 flag.Parse() 19 if *targetURL == "" { 20 flag.Usage() 21 os.Exit(2) 22 } 23 c := &http.Client{ 24 Transport: sf.SnowflakeTransportTest, 25 Timeout: 30 * time.Second, 26 } 27 req, err := http.NewRequest("GET", *targetURL, bytes.NewReader(nil)) 28 if err != nil { 29 log.Fatalf("fail to create a request. err: %v", err) 30 } 31 res, err := c.Do(req) 32 if err != nil { 33 log.Fatalf("failed to GET contents. err: %v", err) 34 } 35 defer res.Body.Close() 36 if res.StatusCode != http.StatusOK { 37 log.Fatalf("failed to get 200: %v", res.StatusCode) 38 } 39 _, err = ioutil.ReadAll(res.Body) 40 if err != nil { 41 log.Fatalf("failed to read content body for %v", targetURL) 42 } 43 log.Println("SUCCESS. Certificate Revocation Check has been completed.") 44 }