Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584

    [WCF] implementare sicurezza

    mi è stato richiesto di implementare la sicurezza in un WCF
    in pratica non vogliono che sia un servizio anonimo

    voi generalmente da client cosa fare? visto che lo richiamo da plugin Excel , richiamereste un certificato? user e pass?

    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Un importante servizio WCF io l'ho installato su IIS con un certificato di Verisign e con una SoapHeader che fa viaggiare username e password che vengono validati prima dal WebService e poi da un software di sicurezza (DataPower)..

  3. #3
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    Quote Originariamente inviata da djciko Visualizza il messaggio
    Un importante servizio WCF io l'ho installato su IIS con un certificato di Verisign e con una SoapHeader che fa viaggiare username e password che vengono validati prima dal WebService e poi da un software di sicurezza (DataPower)..
    codice di esempio tanto per capire,cosi cerco meglio on-line?
    graize
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    esempio di cosa ? ho parlato di una applicazione intera...

  5. #5
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    Quote Originariamente inviata da djciko Visualizza il messaggio
    esempio di cosa ? ho parlato di una applicazione intera...
    io ho installato il servizio su IIS
    mi sono fatto dare il certificato, e lo ho implementato come da pagina microsoft: https://support.microsoft.com/en-us/kb/901183

    il problema ora è validarlo lato servizio!
    come si fa ? non trovo fonti
    nella pagina parla di creare una procedura nel webservice per caricare il certificato:
    [BrowsableAttribute(false)]
    public X509CertificateCollection ClientCertificates{ get;}

    poi si perde in chiacchiere senza spiegarmi come si valida
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ti posto la PARTE DELLA CLASSE che uso per fare il POST dei dati verso un'azienda di connessione verso gli operatori telefonici, vedi se puo' esserti utile la parte degli X509Certificates, di piu' non so

    codice:
    public static String HttpPost(String URI, String Parameters, String Timeout, String certificato)
    {
     try
     {
        // Bypassa l'autenticazione del certificato *************
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
        ServicePointManager.Expect100Continue = true;
        ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
        ServicePointManager.ServerCertificateValidationCallback += delegate (Object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate,
            System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors ssPolicyErrors)
        { return true; };
        // ***************************************
    
        HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(URI);
        req.AllowAutoRedirect = true;
        req.Timeout = Convert.ToInt32(Timeout);
        req.ContentType = "application/x-www-form-urlencoded";
        req.ProtocolVersion = HttpVersion.Version11;
        req.Method = "POST";
        req.KeepAlive = false;
    
    
        // Import del certificato
        String PwdCertificato = ConfigurationManager.AppSettings.Get("PwdCertificato").ToString();
        X509Certificate2 getCertificate = new X509Certificate2(certificato, PwdCertificato);
        req.ClientCertificates.Add(getCertificate);
    
    
         // ............... qui ci sono cose che non ti interessano ai fini del thread  
     }
     catch (WebException ex)
     {
         // ............... qui ci sono cose che non ti interessano ai fini del thread          
     }
    }
    Ultima modifica di djciko; 15-06-2016 a 02:38

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.