当前位置: 首页 > 编程语言 > C#

在Windows8应用程序中使用SSL证书编程分享

时间:2023-04-11 01:05:33 C#

在Windows8应用程序中使用SSL证书编程我需要帮助:我们的后端由自签名证书保护。我们称它为:OurMegaCoolCertificate.cer因此,我们使用certmgr.msc将此证书导入我们的开发人员计算机。现在我们可以使用以下代码从后端检索数据:asyncpublicstaticTaskgetData(stringId,stringType){Stringurl="https://BACKEND/API/?Id="+Id+"&Type="+类型;HttpClientHandleraHandler=newHttpClientHandler();aHandler.ClientCertificateOptions=ClientCertificateOption.Automatic;HttpClientaClient=newHttpClient(aHandler);aClient.DefaultRequestHeaders.ExpectContinue=false;aClient.DefaultRequestHeaders.MaxForwards=3;UrirequestUri=newUri(url);HttpRequestMessage请求=newHttpRequestMessage(HttpMethod.Get,requestUri);//request.Headers.ExpectContinue=false;varresult=awaitaClient.GetAsync(requestUri,HttpCompletionOption.ResponseContentRead);varresponseDeHeader=;//.bug.HeadersWriteLine(responseHeader.WwwAuthenticate);varresponseBody=awaitresult.Content.ReadAsStringAsync();返回响应体;但是当然我们不能告诉用户我们的应用程序,手动安装证书,有没有办法将这个证书添加到项目中并使用它?还是导入用户机程序?请指导我,我是SSL安全的新手我已经成功地做到了这一点,但是请求失败了,看起来请求找不到证书:私人asyncvoidGetOverHere(){//等待Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager.InstallCertificateAsync("",InstallOptions.None);StorageFolderpackageLocation=Windows.ApplicationModel.Package.Current.InstalledLocation;StorageFoldercertificate.packageAscolder="证书");StorageFilecertificate=awaitcertificateFolder.GetFileAsync("OurMegaCoolCertificate.cer");IBufferbuffer=awaitWindows.Storage.FileIO.ReadBufferAsync(证书);stringencodedString=Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(;awaitWindows.Security.Cryptography.Certificates.CertificateEnrollmentManager.InstallCertificateAsync(encodedString,InstallOptions.None);}我们还尝试在清单中这样做:同样,当我们导入可信使用certmgr.msc的根证书-一切正常我设法让它工作:我在packagemanifest中添加了这个:但是我没有使用DER(或类似的东西)导出我的证书,但是作为base64并且它有效但是所有的教程都说需要导出为DER...以上就是C#学习教程:Windows8应用中使用SSL证书编程的全部内容。注意——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: