4
我需要此幫助:程序化在Windows 8中使用SSL證書應用程序
我們的後端通過自簽名證書進行保護。讓我們稱之爲:OurMegaCoolCertificate.cer
因此,我們通過使用certmgr.msc將此證書導入到我們的開發人員機器。現在,我們可以使用下面的代碼檢索我們的後端數據:
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;
}
但offcourse我們不能告訴我們的應用程序的用戶,手動安裝該證書,有沒有辦法來添加該證書項目和用它?或編程導入到用戶機器?請指導我,我是新來的SSL安全
我已經成功地做到這一點,沒有錯誤,但請求失敗,貌似請求沒有找到證書:
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);
}
此外,我們已經嘗試再次
</Capabilities>
<Extensions>
<!--Certificates Extension-->
<Extension Category="windows.certificates">
<Certificates>
<Certificate StoreName="Root" Content="Assets\OurMegaCoolCertificate.cer" />
</Certificates>
</Extension>
而且,當我們導入使用certmgr.msc到受信任的根證書 - 所有作品
:做這個清單中
也許這會幫助你,https://stackoverflow.com/questions/12337721/how-to-programmatically-install-a-certificate-using-c-尖銳和https://stackoverflow.com/questions/566570/how-can-i-install-a-certificate-into-the-local-machine-store-programmatically-us – vzamanillo
您的鏈接僅適用於Windows 8.1 – Cheese
我嘗試過,但我得到的響應代碼404。哪裏將使用GetOverHere()方法? – ranjith