Programowanie przy użyciu certyfikatów SSL w aplikacji Windows 8

Potrzebuję pomocy w tym:

Nasz backend jest zabezpieczony certyfikatem z podpisem własnym. Nazwijmy to: OurMegaCoolCertificate.cer

Dlatego zaimportowaliśmy ten certyfikat do naszych maszyn deweloperskich za pomocącertmgr.msc. Teraz możemy pobrać dane z naszego zaplecza za pomocą tego kodu:

async public static Task<string> getData(string Id, string Type)
    {
        String url = "https://BACKEND/API/?Id=" + Id + "&Type=" + Type;
        HttpClientHandler aHandler = new HttpClientHandler();
        aHandler.ClientCertificateOptions = ClientCertificateOption.Automatic;
        HttpClient aClient = new HttpClient(aHandler);
        aClient.DefaultRequestHeaders.ExpectContinue = false;

        aClient.DefaultRequestHeaders.MaxForwards = 3;
        Uri requestUri = new Uri(url);
        HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri);
        //request.Headers.ExpectContinue = false;
        var result = await aClient.GetAsync(requestUri, HttpCompletionOption.ResponseContentRead);

        var responseHeader = result.Headers;
        //Debug.WriteLine(responseHeader.WwwAuthenticate);

        var responseBody = await result.Content.ReadAsStringAsync();

        return responseBody;
    }

Ale oczywiście nie możemy powiedzieć użytkownikom naszej aplikacji, aby ręcznie zainstalowali certyfikat,czy istnieje sposób, aby dodać ten certyfikat do projektu i używać go? Lub zaimportować programowo do użytkowników? Proszę mnie poprowadzić, jestem nowym użytkownikiem zabezpieczeń SSL

Udało mi się to zrobić, bez błędów, ale żądanie nie powiodło się, wygląda na to, że żądanie nie znajduje certyfikatu:

private async void GetOverHere()
    {
        //await Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager.InstallCertificateAsync("",InstallOptions.None);
        StorageFolder packageLocation = Windows.ApplicationModel.Package.Current.InstalledLocation;
        StorageFolder certificateFolder = await packageLocation.GetFolderAsync("Certificates");
        StorageFile certificate = await certificateFolder.GetFileAsync("OurMegaCoolCertificate.cer");

        IBuffer buffer = await Windows.Storage.FileIO.ReadBufferAsync(certificate);
        string encodedString = Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(buffer);

        await Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager.InstallCertificateAsync(encodedString, InstallOptions.None);


    }

Próbowaliśmy również to zrobić w sposób jawny:

</Capabilities>
<Extensions>
<!--Certificates Extension-->
 <Extension Category="windows.certificates">
  <Certificates>
    <Certificate StoreName="Root" Content="Assets\OurMegaCoolCertificate.cer" />

  </Certificates>
</Extension>

I znowu, gdy importujemy za pomocą certmgr.msc do Trusted Root Certificates - wszystkie prace

questionAnswers(1)

yourAnswerToTheQuestion