Your client is working correctly but the server at port 11215 is
offering a wrong certificate.

Configure the server to offer a certificate for myDomain.com instead of
offering a certificate for anotherDomain.com.

Alternatively you can work around the issue by setting
InsecureSkipVerify in your client.


Janne Snabb
sn...@epipe.com

On 2017-02-17 16:38, Sovon Nath wrote:
> Hi - I am trying to call a restful API using a certificate. The pem file
> I have is of the format:
> 
> -----BEGIN RSA PRIVATE KEY-----
> 
>     data is here
> 
> -----END RSA PRIVATE KEY-----
> 
> -----BEGIN CERTIFICATE-----
> 
>     data is here
> 
> -----END CERTIFICATE-----
> 
> -----BEGIN CERTIFICATE-----
>     data is here
> -----END CERTIFICATE-----
> 
> 
> The code that i am using is 
> 
> 
> //creating the certificate for call
> caCert, err := ioutil.ReadFile("certFil.pem")
> if err != nil {
>        log.Fatal(err)
> }
> 
> 
> caCertPool := x509.NewCertPool()
> caCertPool.AppendCertsFromPEM(caCert)
> 
> client := &http.Client{
>        Transport: &http.Transport{
>               TLSClientConfig: &tls.Config{
>                      RootCAs:      caCertPool,
>               },
>        },
> }
> 
> //end of creating the certificate for call
> 
> //creating the body for call
> url := "https://mydomain.com:11215/myuri/path1/path2";
> fmt.Println("URL:>", url)
> 
> var jsonStr = []byte(`{
>   "My JSON" 
> } `)
> 
> req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
> req.Header.Set("Accept", "application/json;v=3")
> req.Header.Set("Cache-Control", "no-cache, no-store")
> req.Header.Set("Connection", "Keep-Alive")
> req.Header.Set("User-Agent", "HttpClient")
> req.Header.Set("Content-Type", "application/json;v=3")
> 
> //client := &http.Client{}
> resp, err := client.Do(req)
> if err != nil {
>        panic(err)
> }
> defer resp.Body.Close()
> 
> 
> 
> 
> 
> 
> When I run this code I get an exception:
> 
> 
> x509: certificate is valid for anotherDomain.com, not myDomain.com
> 
> 
> 
> Can you please help me solve this issue?
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to golang-nuts+unsubscr...@googlegroups.com
> <mailto:golang-nuts+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to