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(certSubject, certIssuer);
LoginCertificate lc = myStore.getSignedCertificate(labels.item(0), "changeit");

Application app = Application.getInstance();

app.setApplicationIdentifier("customer.service");
ConnectionProperties pro = app.getConnectionProperties();
pro.setLoginCertificate(lc);



//Step 2:  Register the application

pro.setServerName("10.0.0.2");
pro.setNetworkProtocol("HTTPS");
pro.setFarmId("0");
pro.setUrlSuffix("");
pro.setSecurityConfiguration("cert");


if (Application.getInstance().getRegistrationStatus() == RegistrationStatus.UNREGISTERED)
{ 
  Application.getInstance().registerApplication(100);
}

......

//Step 3: Get ready to synchronize

DsTestDB.getSynchronizationProfile().setNetworkProtocol("HTTPS");
DsTestDB.getSynchronizationProfile().setPortNumber(2482);
DsTestDB.getSynchronizationProfile().setServerName("sever host");
DsTestDB.getSynchronizationProfile().setCertificate(lc);

//Step 4: Synchronize

.......
DsTestDB.synchronize();