Sample Code: Mutual Authentication

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(); 
.......