Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public partial class Form1 : Form
- {
- Back2uSubscribeManageService client = null;
- string certName = string.Empty;
- RemoteCertificateValidationCallback
- chainedServerCertValidationCallback = null;
- public Form1()
- {
- InitializeComponent();
- chainedServerCertValidationCallback =
- ServicePointManager.ServerCertificateValidationCallback;
- ServicePointManager.ServerCertificateValidationCallback = new
- RemoteCertificateValidationCallback(OnValidateServerCertificate);
- }
- //below the method where I call a method of the web service
- private void button1_Click(object sender, EventArgs e)
- {
- X509Store computerCaStore = new X509Store(StoreName.My,
- StoreLocation.LocalMachine);
- computerCaStore.Open(OpenFlags.ReadOnly);
- X509Certificate2Collection certificatesInStore =
- computerCaStore.Certificates;
- X509Certificate2Collection findResult =
- certificatesInStore.Find(X509FindType.FindBySubjectName,"*.mydomain.com", false);
- X509Certificate cert;
- cert = findResult[0];
- client = new Back2uSubscribeManageService();
- client.ClientCertificates.Add(cert);
- client.Url = url;
- var result = client.subscribeProduct(request);
- }
- }
- //below is the callback method for server certificate validation.
- bool OnValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
- {
- X509Store computerCaStore = new X509Store(StoreName.Root,
- StoreLocation.LocalMachine);
- X509Certificate2Collection certificatesInStore =
- computerCaStore.Certificates;
- X509Certificate2Collection findResult =
- certificatesInStore.Find(X509FindType.FindByIssuerName,"xxxxx", false);
- X509Certificate cert;
- cert = findResult[0];
- bool valid = true;
- if (valid)
- {
- if (chainedServerCertValidationCallback == null)
- {
- bool validationResult =
- certificate.Issuer.Equals(cert.Issuer);
- return validationResult;
- }
- else
- {
- return chainedServerCertValidationCallback(sender,
- certificate, chain, sslPolicyErrors);
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement