none
Jak na webservice, která vyžaduje klientský certifikát?

    Dotaz

  • Ahoj vespolek, mám na vzdáleném počítači webservice (produkt někoho jiného), která není "pro každého" a mám certifikát pro přístup. Když se podívám pomocí IE na WSDL, prohlížeč si o ten certifikát řekne, to všechno je OK. Rovněž i u Visual Studia přidám webovou referenci, zadám URL, VS si řekne o certifikát a vygeneruje všechny třídy. Můj dotaz spočívá v tom, jak mé aplikaci vnutit, který certifikát má použít. Budu samozřejmě hledat v helpu, ale možná že má s tím někdo zkušenost, takže bych ušetřil něco času.
    čtvrtek 24. května 2012 7:05

Odpovědi

  • Tak už jsem na to přišel. Stačí otevřít úložiště certifikátů, z něho vybrat ten odpovídající a vnutit ho instanci té služby:

    X509Store store = new X509Store();
    store.Open(OpenFlags.ReadOnly);
    X509Certificate2Collection storecollection = (X509Certificate2Collection)store.Certificates;
    TAIWebService s = new TAIWebService();
    s.ClientCertificates.Add(storecollection[1]); 
    ClientDataResponse r = s.GetTollClientData(...);
    Tak to třeba někomu taky pomůže :-) Hezký den všem.

    • Označen jako odpověď Petrb142 čtvrtek 24. května 2012 11:20
    čtvrtek 24. května 2012 9:55