예제 #1
0
        private async void ExportCertificateDetailsAsync(CertificateSelector sender, CertificateSelector.CertificateData certificateData)
        {
            MessageBox.Show("Exporting certificate details from the device to Azure storage...");
            string targetFileName          = certificateData.Hash + ".json";
            DeviceMethodReturnValue result = await RequestCertificateDetailsAsync(AzureStorageConnectionString.Text, AzureStorageContainerName.Text, sender.CertificatesPath, certificateData.Hash, targetFileName);

            GetCertificateDetailsResponse response = JsonConvert.DeserializeObject <GetCertificateDetailsResponse>(result.Payload);

            if (response == null || response.Status != 0)
            {
                MessageBox.Show("Error: could not schedule certificate export");
                return;
            }

            CertificateExportDetails.CertificateExportDetailsData certificateExportDetailsData = new CertificateExportDetails.CertificateExportDetailsData();
            certificateExportDetailsData.ConnectionString = AzureStorageConnectionString.Text;
            certificateExportDetailsData.ContainerName    = AzureStorageContainerName.Text;
            certificateExportDetailsData.BlobName         = targetFileName;

            CertificateExportDetails certificateExportDetails = new CertificateExportDetails();

            certificateExportDetails.Owner       = this;
            certificateExportDetails.DataContext = certificateExportDetailsData;
            certificateExportDetails.Show();
        }
예제 #2
0
        private void ShowCertificateDetails(CertificateSelector sender, CertificateSelector.CertificateData certificateData)
        {
            CertificateDetails certificateDetails = new CertificateDetails();

            certificateDetails.Owner       = this;
            certificateDetails.DataContext = certificateData;
            certificateDetails.ShowDialog();
        }
예제 #3
0
 private void CertificateInfoToUI(string hashesString, CertificateSelector certificateSelector)
 {
     if (String.IsNullOrEmpty(hashesString))
     {
         return;
     }
     string[] hashes = hashesString.Split('/');
     Array.Sort <string>(hashes);
     if (certificateSelector != null)
     {
         List <CertificateSelector.CertificateData> certificateList = new List <CertificateSelector.CertificateData>();
         foreach (string hash in hashes)
         {
             CertificateSelector.CertificateData certificateData = new CertificateSelector.CertificateData();
             certificateData.Hash     = hash;
             certificateData.FileName = "<unknown>";
             certificateList.Add(certificateData);
         }
         certificateSelector.SetCertificateList(certificateList);
     }
 }
예제 #4
0
 private void ExportCertificateDetails(CertificateSelector sender, CertificateSelector.CertificateData certificateData)
 {
     ExportCertificateDetailsAsync(sender, certificateData);
 }