This is tutorial of how to protect our apis from certificate generated in azure keyvault. accessing the certificate using thumbprint
1.read api with azure certificate and basic authentication
[Route("~/api/test")]
public string GetcustomField ()
{
string thumbprint = "CA3655E816A1CBF11F7CFC6A97E28A371366B190";
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certificates = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
X509Certificate2 certificate = certificates[0];
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://api.entrust.net/enterprise/v2/organizationalUnits");
req.Method = WebRequestMethods.Http.Get;
req.Headers.Add("Authorization", "Basic OTU3Y2NkMThiMi00NjU0OTYyMjomSDdEVStXRDkhQiFPUFNCUkI3SQ==");
req.ClientCertificates.Add(certificate);
var httpResponse = (HttpWebResponse)req.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
return streamReader.ReadToEnd();
}
}
No comments:
Post a Comment