Saltar al contenido

Cómo enviar una solicitud https con un certificado golang

Hola usuario de nuestra web, hemos encontrado la solución a lo que buscas, deslízate y la hallarás a continuación.

Solución:

Necesita agregar CA de su certificado a su transporte como:

package main

import (
    "crypto/tls"
    "io/ioutil"
    "log"
    "net/http"
    "crypto/x509"
)

func main() 
    caCert, err := ioutil.ReadFile("rootCA.crt")
    if err != nil 
        log.Fatal(err)
    
    caCertPool := x509.NewCertPool()
    caCertPool.AppendCertsFromPEM(caCert)

    client := &http.Client
        Transport: &http.Transport
            TLSClientConfig: &tls.Config
                RootCAs:      caCertPool,
            ,
        ,
    

    _, err := client.Get("https://secure.domain.com")
    if err != nil 
        panic(err)
    

Pero supongo que no ha creado una CA para hacer sus certificados. Aquí está la lista de comandos sin explicación que pueden ayudarlo a crear certificados firmados con su propia CA. Para obtener más información, puede buscarlo en Google.

  1. Generando CA

    openssl genrsa -out rootCA.key 4096
    openssl req -x509 -new -key rootCA.key -days 3650 -out rootCA.crt
    
  2. Generar certificado para secure.domain.com firmado con CA creada

    openssl genrsa -out secure.domain.com.key 2048
    openssl req -new -key secure.domain.com.key -out secure.domain.com.csr
    #In answer to question `Common Name (e.g. server FQDN or YOUR name) []:` you should set `secure.domain.com` (your real domain name)
    openssl x509 -req -in secure.domain.com.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -days 365 -out secure.domain.com.crt
    

Si posees alguna sospecha o disposición de prosperar nuestro escrito eres capaz de añadir una explicación y con deseo lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *