/// <summary>
        /// Create SecuritySettings on the Device.
        /// </summary>
        private SecuritySettings CreateAndValidateSecuritySettings(string deviceName)
        {
            RemoteManagementSettingsPatch remoteManagementSettings = new RemoteManagementSettingsPatch(
                RemoteManagementModeConfiguration.HttpsAndHttpEnabled);
            AsymmetricEncryptedSecret deviceAdminpassword = this.Client.Managers.GetAsymmetricEncryptedSecret(
                this.ResourceGroupName,
                this.ManagerName,
                "test-adminp13");
            AsymmetricEncryptedSecret snapshotmanagerPassword = this.Client.Managers.GetAsymmetricEncryptedSecret(
                this.ResourceGroupName,
                this.ManagerName,
                "test-ssmpas1235");

            ChapSettings chapSettings = new ChapSettings(
                "test-initiator-user",
                this.Client.Managers.GetAsymmetricEncryptedSecret(this.ResourceGroupName, this.ManagerName, "chapsetInitP124"),
                "test-target-user",
                this.Client.Managers.GetAsymmetricEncryptedSecret(this.ResourceGroupName, this.ManagerName, "chapsetTargP1235"));

            SecuritySettingsPatch securitySettingsPatch = new SecuritySettingsPatch(
                remoteManagementSettings,
                deviceAdminpassword,
                snapshotmanagerPassword,
                chapSettings);

            this.Client.DeviceSettings.UpdateSecuritySettings(
                deviceName.GetDoubleEncoded(),
                securitySettingsPatch,
                this.ResourceGroupName,
                this.ManagerName);

            var securitySettings = this.Client.DeviceSettings.GetSecuritySettings(
                deviceName.GetDoubleEncoded(),
                this.ResourceGroupName,
                this.ManagerName);

            //validation
            Assert.True(securitySettings != null &&
                        securitySettings.RemoteManagementSettings.RemoteManagementMode.Equals(RemoteManagementModeConfiguration.HttpsAndHttpEnabled) &&
                        securitySettings.ChapSettings.InitiatorUser.Equals("test-initiator-user") &&
                        securitySettings.ChapSettings.TargetUser.Equals("test-target-user"), "Creation of Security Setting was not successful.");

            return(securitySettings);
        }
        public void TestSyncRemoteManagementCertificateAPI()
        {
            var device     = Helpers.CheckAndGetConfiguredDevice(this, TestConstants.DefaultDeviceName);
            var deviceName = device.Name;

            try
            {
                //update remote management settings
                RemoteManagementSettingsPatch remoteManagementSettings =
                    new RemoteManagementSettingsPatch(RemoteManagementModeConfiguration.HttpsAndHttpEnabled);

                SecuritySettingsPatch securitySettingsPatch = new SecuritySettingsPatch()
                {
                    RemoteManagementSettings = remoteManagementSettings
                };

                this.Client.DeviceSettings.UpdateSecuritySettings(
                    deviceName.GetDoubleEncoded(),
                    securitySettingsPatch,
                    this.ResourceGroupName,
                    this.ManagerName);

                //sync remote management certificate between appliance and service
                this.Client.DeviceSettings.SyncRemotemanagementCertificate(
                    deviceName.GetDoubleEncoded(),
                    this.ResourceGroupName,
                    this.ManagerName);

                //validation
                var securitySettings = this.Client.DeviceSettings.GetSecuritySettings(
                    deviceName.GetDoubleEncoded(),
                    this.ResourceGroupName,
                    this.ManagerName);
                var remoteManagementCertificate = securitySettings.RemoteManagementSettings.RemoteManagementCertificate;
                Assert.True(!string.IsNullOrEmpty(remoteManagementCertificate), "Remote management certificate is not synced correctly.");
            }
            catch (Exception e)
            {
                Assert.Null(e);
            }
        }