Programmly usando certificados SSL en la aplicación de Windows 8

Necesito ayuda con esto:

Nuestro backend está asegurado por un certificado autofirmado. Llamémoslo: OurMegaCoolCertificate.cer

Por lo tanto, hemos importado este certificado a las máquinas de nuestros desarrolladores mediante el uso decertmgr.msc. Y ahora podemos recuperar datos de nuestro backend usando este código:

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;
    }

Pero, por supuesto, no podemos decirles a los usuarios de nuestra aplicación que instalen el certificado manualmente.¿Hay alguna manera de agregar este certificado para proyectarlo y usarlo? ¿O importarlo a la máquina de los usuarios programáticamente? Por favor guíame, soy nuevo en seguridad SSL

He logrado hacer esto, no hay errores, pero la solicitud falla, parece que la solicitud no encuentra el certificado:

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);


    }

También hemos tratado de hacer esto en manifiesto:

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

  </Certificates>
</Extension>

Y nuevamente, cuando importamos usando certmgr.msc a Trusted Root Certificates, todo funciona

Respuestas a la pregunta(1)

Su respuesta a la pregunta