234 messaggi dal 08 marzo 2012
Ciao,

come posso ottenere con un Webclient una chiamata identica alla seguente?

curl -k -i --key cert.key --cert cert.crt https://endpoint

Io ho provato con questa soluzione ma non funziona:

class SecureWebClient : WebClient
    {
        X509Certificate cert;
        public SecureWebClient(X509Certificate cert)
        {
            this.cert = cert;
        }

        protected override WebRequest GetWebRequest(Uri address)
        {
            HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);            
            request.ClientCertificates.Add(this.cert);
            return request;
        }
    }


e poi ad usarlo così

string certPath = (Server.MapPath("~/SecureCertificates/") + "cert.cer");
                    X509Certificate myCert = X509Certificate.CreateFromCertFile(certPath);
string url = $"https://endpoint";
                    using (SecureWebClient client = new SecureWebClient(myCert))
                    {
                        string response = client.DownloadString(url);
                    } 


Però non funziona, il server in qualche modo non mi accetta e mi da errore 500 (non capisco per altro perchè vada in errore invece di darmi un 401.

Sapreste aiutarmi a capire dove sbaglio?
Modificato da evil80 il 29 ottobre 2017 12.29 -
234 messaggi dal 08 marzo 2012
Ciao,

nessuno ne ha un'idea?

Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.