public async Task <IList <X509Certificate2> > GetTrustBundleAsync(Uri providerUri, string apiVersion) { HttpClient httpClient = null; try { httpClient = HttpClientHelper.GetHttpClient(providerUri); var hsmHttpClient = new HttpHsmClient(httpClient) { BaseUrl = HttpClientHelper.GetBaseUrl(providerUri) }; TrustBundleResponse response = await GetTrustBundleWithRetry(hsmHttpClient, apiVersion).ConfigureAwait(false); var certs = ParseCertificates(response.Certificate); return(certs); } catch (Exception ex) { switch (ex) { case SwaggerException <ErrorResponse> errorResponseException: throw new HttpHsmComunicationException($"Error calling GetTrustBundleWithRetry: {errorResponseException.Result?.Message ?? string.Empty}", errorResponseException.StatusCode); case SwaggerException swaggerException: throw new HttpHsmComunicationException($"Error calling GetTrustBundleWithRetry: {swaggerException.Response ?? string.Empty}", swaggerException.StatusCode); default: throw; } } finally { httpClient?.Dispose(); } }
public Task <TrustBundleResponse> TrustBundleAsync(string api_version) { var response = new TrustBundleResponse(); response.Certificate = CertificateHelper.CertificatePem; return(Task.FromResult(response)); }
public void ParseTrustBundleResponseWithMultipleCertReturnsNonEmptyList() { var response = new TrustBundleResponse() { Certificate = $"{TestCertificateHelper.CertificatePem}\n{TestCertificateHelper.CertificatePem}", }; IEnumerable <X509Certificate2> certs = CertificateHelper.ParseTrustBundleResponse(response); Assert.Equal(certs.Count(), 2); }
public void ParseTrustBundleInvalidResponseReturnsEmptyList() { var response = new TrustBundleResponse() { Certificate = "somewhere over the rainbow", }; IEnumerable <X509Certificate2> certs = CertificateHelper.ParseTrustBundleResponse(response); Assert.Equal(certs.Count(), 0); }
public void ParseTrustBundleEmptyResponseReturnsEmptyList() { var response = new TrustBundleResponse() { Certificate = " ", }; IEnumerable <X509Certificate2> certs = CertificateHelper.ParseTrustBundleResponse(response); Assert.Equal(certs.Count(), 0); }
public override async Task <string> GetTrustBundleAsync() { using (HttpClient httpClient = HttpClientHelper.GetHttpClient(this.WorkloadUri)) { var edgeletHttpClient = new HttpWorkloadClient(httpClient) { BaseUrl = HttpClientHelper.GetBaseUrl(this.WorkloadUri) }; TrustBundleResponse result = await this.Execute(() => edgeletHttpClient.TrustBundleAsync(this.Version.Name), "TrustBundleAsync"); return(result.Certificate); } }
public async Task <TrustBundleResponse> GetTrustBundleAsync() { using (HttpClient httpClient = HttpClientHelper.GetHttpClient(this.workloadUri)) { var edgeletHttpClient = new HttpWorkloadClient(httpClient) { BaseUrl = HttpClientHelper.GetBaseUrl(this.workloadUri) }; TrustBundleResponse result = await this.Execute(() => edgeletHttpClient.TrustBundleAsync(this.apiVersion), "TrustBundleAsync"); return(result); } }
internal static IEnumerable <X509Certificate2> ParseTrustBundleResponse(TrustBundleResponse response) { Preconditions.CheckNotNull(response, nameof(response)); return(ParseTrustedBundleCerts(response.Certificate)); }
public static async Task <IEnumerable <X509Certificate2> > GetTrustBundleFromEdgelet(Uri workloadUri, string workloadApiVersion, string moduleId, string moduleGenerationId) { TrustBundleResponse response = await new WorkloadClient(workloadUri, workloadApiVersion, moduleId, moduleGenerationId).GetTrustBundleAsync(); return(ParseTrustBundleResponse(response)); }
public void ParseTrustBundleNullResponseRaisesException() { TrustBundleResponse response = null; Assert.Throws <ArgumentNullException>(() => CertificateHelper.ParseTrustBundleResponse(response)); }