Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. public partial class Form1 : Form
  2. {
  3.  
  4. Back2uSubscribeManageService client = null;
  5. string certName = string.Empty;
  6. RemoteCertificateValidationCallback
  7. chainedServerCertValidationCallback = null;
  8.  
  9.  
  10. public Form1()
  11. {
  12. InitializeComponent();
  13. chainedServerCertValidationCallback =
  14. ServicePointManager.ServerCertificateValidationCallback;
  15. ServicePointManager.ServerCertificateValidationCallback = new
  16. RemoteCertificateValidationCallback(OnValidateServerCertificate);
  17.  
  18. }
  19.  
  20. //below the method where I call a method of the web service
  21.  
  22. private void button1_Click(object sender, EventArgs e)
  23. {
  24.  
  25. X509Store computerCaStore = new X509Store(StoreName.My,
  26. StoreLocation.LocalMachine);
  27. computerCaStore.Open(OpenFlags.ReadOnly);
  28. X509Certificate2Collection certificatesInStore =
  29. computerCaStore.Certificates;
  30. X509Certificate2Collection findResult =
  31. certificatesInStore.Find(X509FindType.FindBySubjectName,"*.mydomain.com", false);
  32. X509Certificate cert;
  33. cert = findResult[0];
  34.  
  35. client = new Back2uSubscribeManageService();
  36. client.ClientCertificates.Add(cert);
  37. client.Url = url;
  38. var result = client.subscribeProduct(request);
  39. }
  40. }
  41. //below is the callback method for server certificate validation.
  42.  
  43. bool OnValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
  44. {
  45.  
  46. X509Store computerCaStore = new X509Store(StoreName.Root,
  47. StoreLocation.LocalMachine);
  48. X509Certificate2Collection certificatesInStore =
  49. computerCaStore.Certificates;
  50. X509Certificate2Collection findResult =
  51.  
  52. certificatesInStore.Find(X509FindType.FindByIssuerName,"xxxxx", false);
  53. X509Certificate cert;
  54. cert = findResult[0];
  55.  
  56. bool valid = true;
  57. if (valid)
  58. {
  59. if (chainedServerCertValidationCallback == null)
  60. {
  61. bool validationResult =
  62. certificate.Issuer.Equals(cert.Issuer);
  63. return validationResult;
  64. }
  65. else
  66. {
  67. return chainedServerCertValidationCallback(sender,
  68. certificate, chain, sslPolicyErrors);
  69. }
  70. }
  71. return false;
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement