<div dir="ltr"><div><div><div><div>Hello,<br><br></div>I am developing an application that needs to talk to an existing web service that uses client certificates to authenticate and provide access to different things.  The simple case of using a single certificate works fine, but when there the application needs to switch certificates to provide access to a different 'account' on the same webservice, it does not work.  Something is caching or reusing a session or something.  The behavior of the same code running on Windows .NET is what I would expect.  Here is some pseudo code to boil down what's happening:<br>
<br></div><div>main()<br>{<br></div>X509Certificate2 cert1 = new X509Certificate2("file", "password");</div>X509Certificate2 cert2 = new X509Certificate2("file2", "password");<br><br>
</div><div>CallMethod1(cert1);<br>CallMethod1(cert2);<br>}<br><br></div><div>void CallMethod1(X509Certificate2 cert)<br>{<br></div><div>  Webservice ws = new Webservice();<br></div><div>  ws.ClientCertificates.Add(cert);<br>
</div><div>  ws.Method1("whatever");<br>}<br><br><br></div><div>Basically on the first call, it uses cert1, then on the second, it reuses cert1 (or the authentication from the first call).<br></div><div><br></div>
<div>Is this something that isn't supported in mono or is there a bug?<br></div><div>More importantly (to me) is there something I can do outside of mono to change this to the proper behavior?<br><br>thanks!<br>Scott<br>
</div><div><br><br></div></div>