小编Lun*_*Lun的帖子

x509:无法验证 <host ip> 的证书,因为它不包含任何 IP SAN

我开发了一个 NewRequestWithCert 函数,该函数创建新的soap.client并使用证书文件中的证书,并且在soap.client.Do之后它返回x509:无法验证证书,因为它不包含任何IP SAN。我的代码有什么问题吗?

func (o *Client) NewRequestWithCert(urlLink string, requestData interface{}, responseData interface{}, certName string, host string) error {
    // Keep on client
    o.requestData = &requestData
    o.responseData = &responseData
    o.url = urlLink

    certByte, errCert := ioutil.ReadFile("/app/certificates/" + certName)
    if errCert != nil {
        logrus.Errorf("cert err: %v", errCert)
        return errCert
    }
    caCertPool := x509.NewCertPool()
    caCertPool.AppendCertsFromPEM(certByte)
    logrus.Debug("certByte : ", certByte)

    tlsConfig := &tls.Config{
        ServerName: host,
        ClientCAs:  caCertPool,
        ClientAuth: tls.RequireAndVerifyClientCert,
    }
    // New http client
    o.client = &http.Client{
        Timeout:   30 * time.Second,
        Transport: …
Run Code Online (Sandbox Code Playgroud)

go x509certificate

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

go ×1

x509certificate ×1