gpt4 book ai didi

azure - 如何在 IIS 中通过 C# 连接到 azure(管理)rest api

转载 作者:行者123 更新时间:2023-12-03 03:17:01 28 4
gpt4 key购买 nike

我正在尝试设置一个网站(本地测试 atm),以连接到 azure rest api 以查看我们的设置。我在本地创建了一个证书(W7 机器):

makecert -sky exchange -r -n "CN=azureConnectionNew" -pe -a sha1 -len 2048 -ss My "azureConnectionNew.cer"

我可以在证书 MMC 管理单元中看到证书。(当我在此处查看证书时,没有右键单击编辑权限选项)。

我有一个设置连接的类库,通过获取证书(通过拇指字符串)传入证书,这对于控制台应用程序非常有用,但是当我尝试在网络应用程序中执行此操作时,它一切都出了问题。我收到 403 错误。

我首先认为这是由于该网站作为 ApplicationPoolIdentity 运行,因此无法访问证书。因此,我尝试通过加载实际文件来传递证书(与控制台应用程序相同的代码):

var path = @"C:\temp\azureconnection\azureConnectionNew.cer";
var cert = new X509Certificate2();
cert.Import(path);

我仍然收到 403 错误。

我尝试将 cer 文件从 MMC 证书管理单元导出为 pfx 文件(包含私钥)。我将本地 IIS 设置为使用此证书并导航到本地站点的 https 版本,但仍然收到 403。

我不确定如何包含/设置/引用证书,以便 IIS 可以从服务器端向 Azure 发送 HttpWebRequest 并获得有效响应。

最佳答案

最好使用证书的指纹来获取证书。请确保您已正确创建证书。另请检查您是否已将证书放置在本地计算机的个人证书部分中。您可以使用 MMC 管理单元检查这一点。请尝试以下代码..

var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);  
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);

var certificate = store.Certificates
.Cast<X509Certificate2>()
.SingleOrDefault(c => string.Equals(c.Thumbprint, “CertificateThumbprint”, StringComparison.OrdinalIgnoreCase)); // please replace CertificateThumbprint with original Thumbprint

关于azure - 如何在 IIS 中通过 C# 连接到 azure(管理)rest api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23613737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com