Illustrates client configuration to support mutual authentication, as well as other APIs related to certificate handling:
//Step 1: Get the login certificate from a certificate store CertificateStore myStore = CertificateStore.GetDefault(); StringList labels = myStore.CertificateLabels(); string aLabel = labels.Item(0); String filter1 = "Test"; labels = myStore.CertificateLabels(filter1, null); LoginCertificate lc = myStore.GetSignedCertificate(aLabel, "changeit"); //Step 2: Register the application Application.GetInstance().ApplicationIdentifier = "customer.service"; DsTestDB.SetApplication(Application.GetInstance()); ConnectionProperties pro = Application.GetInstance().ConnectionProperties; pro.LoginCertificate = lc; pro.ServerName = "bfang-desktop"; pro.PortNumber = 8002; pro.NetworkProtocol = "HTTPS"; pro.FarmId = "0"; pro.UrlSuffix = ""; pro.SecurityConfiguration = "cert"; if (Application.GetInstance().RegistrationStatus == RegistrationStatus.UNREGISTERED) { Application.GetInstance().RegisterApplication(100); } ....... //Step 3: Get ready to synchronize DsTestDB.GetSynchronizationProfile().NetworkProtocol = "HTTPS"; DsTestDB.GetSynchronizationProfile().PortNumber = 2482; DsTestDB.GetSynchronizationProfile().ServerName = "bfang-desktop"; DsTestDB.GetSynchronizationProfile().Certificate = lc; DsTestDB.getSynchronizationProfile().NetworkStreamParams = "trusted_certificate=serverCA.crt"; //Step 4: Synchronize ....... DsTestDB.Synchronize(); .......