Skip to content

Instantly share code, notes, and snippets.

@zh4n7wm
Forked from ashee/tls-ca.go
Created April 23, 2022 09:41
Show Gist options
  • Save zh4n7wm/c16353f4e6696b617bc96569d5af64c4 to your computer and use it in GitHub Desktop.
Save zh4n7wm/c16353f4e6696b617bc96569d5af64c4 to your computer and use it in GitHub Desktop.
golang tls with self-signed cert
package main
import (
"crypto/tls"
"crypto/x509"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
certPool := x509.NewCertPool()
pem, err := ioutil.ReadFile("ca.crt")
certPool.AppendCertsFromPEM(pem)
// tr := &http.Transport{
// TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
// }
tr := &http.Transport{
TLSClientConfig: &tls.Config{
RootCAs: certPool,
},
}
client := &http.Client{Transport: tr}
req, err := http.NewRequest(
"GET",
"https://api.k8s-cluster.test.cirrostratus.org/api/v1/namespaces/teachers/services/search-service-k8s",
nil)
check(err)
req.Header.Add("Accept", "application/json")
token, err := ioutil.ReadFile("token")
check(err)
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token))
resp, err := client.Do(req)
check(err)
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
check(err)
fmt.Println(string(body))
// op, _ := jq.Parse(`.spec.ports.[]`)
// value, err := op.Apply(body)
// check(err)
// fmt.Println(string(value))
}
func check(err error) {
if err != nil {
panic(err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment