async void CommandSetDeviceSecretKeys(object sender, EventArgs e) { UpdateStatus($"CommandSetDeviceSecretKeys", ""); var resultGetDevice = await DeviceApiClient.GetDeviceId(); //Generate new keys string token = "IDTOKEN"; //TODO Retrieve AzureAD token from current phone session DeviceProvisioningRestService client = new DeviceProvisioningRestService("https://edisonapidev.eastus.cloudapp.azure.com/deviceprovisioning/", token); var newKeys = await client.GenerateDeviceKeys(resultGetDevice.DeviceId); //Pass keys to the device / Activate encryption first!!! var resultGetAvailableNetworks = await DeviceApiClient.SetDeviceSecretKeys(new RequestCommandSetDeviceSecretKeys() //This needs to be retrieved from REST endpoint TBD { PortalPassword = newKeys.PortalPassword, //Will replace the password used for internal REST api AccessPointPassword = newKeys.AccessPointPassword, //Will replace Access point password EncryptionKey = newKeys.EncryptionKey //Will replace encryption key used to encrypt some data. After this call this becomes the current encrypt key }); if (!resultGetAvailableNetworks.IsSuccess) { UpdateStatusError($"CommandSetDeviceSecretKeys", resultGetAvailableNetworks.ErrorMessage); } UpdateStatusError($"CommandSetDeviceSecretKeys", "Device secret keys reset."); }
public ChooseDeviceTypeViewModel(DeviceSetupService deviceSetupService, DeviceProvisioningRestService deviceProvisioningRestService, IOnboardingRestService onboardingRestService, IWifiService wifiService) : base(deviceSetupService, deviceProvisioningRestService, onboardingRestService, wifiService) { }
async void CommandProvisionDevice(object sender, EventArgs e) { UpdateStatus($"CommandProvisionDevice", ""); //Generate CSR var resultGenerateCSR = await DeviceApiClient.GetGeneratedCSR(); if (!resultGenerateCSR.IsSuccess) { UpdateStatusError($"CommandProvisionDevice", resultGenerateCSR.ErrorMessage); return; } if (string.IsNullOrEmpty(resultGenerateCSR.Csr)) { UpdateStatusError($"CommandProvisionDevice", "Error: The CSR was empty."); } //Sign Certificate string token = "IDTOKEN"; //TODO Retrieve AzureAD token from current phone session DeviceProvisioningRestService client = new DeviceProvisioningRestService("https://edisonapidev.eastus.cloudapp.azure.com/deviceprovisioning/", token); var certificate = await client.GenerateCertificate(new DeviceCertificateRequestModel() { DeviceType = "Edison.Devices.SoundSensor", //TODO Need it dynamic from ListFirmwares Csr = resultGenerateCSR.Csr }); if (certificate == null) { UpdateStatusError($"CommandProvisionDevice", "The signed certificate could not be retrieved."); return; } //Provision device var resultProvisionDevice = await DeviceApiClient.ProvisionDevice(new RequestCommandProvisionDevice() { DeviceCertificateInformation = certificate }); if (!resultProvisionDevice.IsSuccess) { UpdateStatusError($"CommandProvisionDevice", resultProvisionDevice.ErrorMessage); return; } //Set Device Type var resultSetDeviceType = await DeviceApiClient.SetDeviceType(new RequestCommandSetDeviceType() { DeviceType = certificate.DeviceType }); if (!resultSetDeviceType.IsSuccess) { UpdateStatusError($"CommandProvisionDevice", resultSetDeviceType.ErrorMessage); return; } UpdateStatus($"CommandProvisionDevice", "Provisionning complete"); }
public RegisterDeviceViewModel( DeviceSetupService deviceSetupService, IDeviceRestService deviceRestService, IWifiService wifiService, IOnboardingRestService onboardingRestService, DeviceProvisioningRestService deviceProvisioningRestService ) : base(deviceSetupService, deviceProvisioningRestService, onboardingRestService, wifiService) { this.deviceRestService = deviceRestService; }
public MainViewModel(DeviceSetupService deviceSetupService, IDeviceRestService deviceRestService, AuthService authService, DeviceProvisioningRestService deviceProvisioningRestService, IOnboardingRestService onboardingRestService, IWifiService wifiService ) : base(deviceSetupService, deviceProvisioningRestService, onboardingRestService, wifiService) { this.deviceRestService = deviceRestService; this.authService = authService; }
public DeviceSetupBaseViewModel(DeviceSetupService deviceSetupService, DeviceProvisioningRestService deviceProvisioningRestService, IOnboardingRestService onboardingRestService, IWifiService wifiService) { this.deviceSetupService = deviceSetupService; this.deviceProvisioningRestService = deviceProvisioningRestService; this.onboardingRestService = onboardingRestService; this.wifiService = wifiService; }
public SelectWifiViewModel( IOnboardingRestService onboardingRestService, DeviceSetupService deviceSetupService, IWifiService wifiService, DeviceProvisioningRestService deviceProvisioningRestService ) : base(deviceSetupService, deviceProvisioningRestService, onboardingRestService, wifiService) { this.onboardingRestService.SetBasicAuthentication(deviceSetupService.PortalPassword); this.wifiService.CheckingConnectionStatusUpdated += WifiService_CheckingConnectionStatusUpdated; }
public ManageDeviceViewModel( DeviceSetupService deviceSetupService, ILocationService locationService, IDeviceRestService deviceRestService, DeviceProvisioningRestService deviceProvisioningRestService, IOnboardingRestService onboardingRestService, IWifiService wifiService ) : base(deviceSetupService, deviceProvisioningRestService, onboardingRestService, wifiService) { this.locationService = locationService; this.deviceRestService = deviceRestService; }
public CompleteRegistrationViewModel(DeviceSetupService deviceSetupService, DeviceProvisioningRestService deviceProvisioningRestService, IOnboardingRestService onboardingRestService, IWifiService wifiService) : base(deviceSetupService, deviceProvisioningRestService, onboardingRestService, wifiService) { }