将证书从本地计算机传递到webapi

时间:2018-06-18 05:09:27

标签: c# client-certificates

我创建了一个在本地计算机上运行的服务。本地计算机安装了一些证书,用于授权,因此获取访问令牌。 以前所有这些都是在本地机器上进行的。

        GetCertificateFromStore();
        AuthenticationResult result = _authContext.AcquireTokenAsync(string ResourceId,ClientAssertionCertificate certificateCredential).Result;
        if (result != null)
        {
            AccessToken = result.AccessToken;
            return true;
        }
        return false; 
  

GetCertificateFromStore()设置certificateCredential = new ClientAssertionCertificate(ClientId,certificate);

现在我想将此证书传递给某个web api并将访问令牌从那里返回到本地计算机。我可以通过证书,但在web api方面,通过证书显示未找到私钥错误。

// Below is the code I am using to call api for accessing and returning access token

client.PostAsJsonAsync(ApiConfigHelper.getAzureAccessToken, certificateCredential).ContinueWith(task =>
                 {
                     if (task.Status == TaskStatus.RanToCompletion)
                     {
                         var response = task.Result;
                         if (response.IsSuccessStatusCode)
                         {
                            // token = response.Content.ReadAsAsync<string>().Result;
                            token = response.Content.ReadAsStringAsync().Result;
                         }
                     }
                 });
            upload.Wait();
  

X.509证书中不存在私钥。是我的例外。

我需要知道我可以将证书传递给某个api以获取访问令牌。

由于 Subham

0 个答案:

没有答案