- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在将我的应用程序与 Xero 集成,这需要两个证书。我在 this 的帮助下将它们上传到 Azure文章,但我仍然无法连接到 Xero API 。我希望有人有将 Xero 合作伙伴应用程序与 Azure Web 应用程序集成的经验。
我上传了两个 pfx 文件;一种是自签名证书,另一种是Xero颁发的合作伙伴证书。后一个 pfx 文件包含两个证书;我的应用程序的 Entrust Commercial Private Sub CA1(无论何种方式)和唯一的 Entrust Id 证书。
我使用以下代码通过其唯一的指纹加载证书:
static X509Certificate2 GetCertificateFromStore(string thumbprint)
{
var store = new X509Store(StoreLocation.CurrentUser);
try
{
thumbprint = Regex.Replace(thumbprint, @"[^\da-zA-z]", string.Empty).ToUpper();
store.Open(OpenFlags.ReadOnly);
var certCollection = store.Certificates;
var currentCerts = certCollection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
var signingCert = currentCerts.Find(X509FindType.FindByThumbprint, thumbprint, false);
if (signingCert.Count == 0)
{
throw new Exception($"Could not find Xero SSL certificate. cert_name={thumbprint}");
}
return signingCert[0];
}
finally
{
store.Close();
}
}
这在本地工作正常,但在我的 azure 网站上我收到 403.7 错误:
The page you are attempting to access requires your browser to have a Secure Sockets Layer (SSL) client certificate that the Web server recognizes.
我还查看了以下引用资料来尝试解决该问题:
我还没有尝试过:
最佳答案
403 错误意味着我们在连接中没有看到 Xero Entrust 证书。有关它的更多详细信息,请点击此处 - http://blog.xero.com/developer/api-overview/http-response-codes/#403
基本上,它在您的本地 IIS 实例上运行,因为它是一个“单租户”计算机,您的应用程序不需要与其他应用程序隔离。
当您的应用程序被用于隔离网站的安全模型阻止时。
总而言之,您必须执行以下操作才能使您的证书在 Azure 上运行:
1) 将证书、私钥和所有中间证书导出到 PFX 文件中。
2) 使用 Azure 门户将证书上传到您正在运行的云服务(它应显示为多个条目)。
3)通过代码中的机器存储访问证书。
基于以下数据: https://community.xero.com/developer/discussion/626401
希望它能解决您的问题。
关于c# - 将 Azure 网站连接到 Xero 合作伙伴应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519068/
有什么创意可以在不执行 O/S Thread.Sleep(10) 的情况下通过合作/非抢占式多任务处理来避免 yield 或 sleep 上的死锁?通常 yield 或 sleep 调用将回调到调度程
我在 httpd.conf 中取消注释了以下行: LoadModule php5_module libexec/apache2/libphp5.so 当我转到任何 php 页面时,文件会下载而不是显示
我正在创建一个新的支付应用程序。我有一个客户端应用程序,用户可以选择价格,输入其身份验证信息,然后客户端创建 iso 8583 消息并将此数据发送到银行服务器。 根据我的研究,我可以使用 jPOS 来
我正在尝试这个简单的代码: import java.util.List; import com.orientechnologies.orient.core.exception.OStorageExce
当我去列表时,这将像这样弹出子列表。这是使用 Chrome 和 Opera。但是在火狐浏览器中是这样显示的。 HTML代码 Categories Printing Mate
尝试使用 bc 对数组中的元素求和,我有一个包含名称和其值的文件,如果名称出现 3 次,我应该将其值乘以 3,然后找到所有元素的总和,我看到标准输入错误 $ cat foo.txt max 2.3 h
一般来说,是否有一个接口(interface)表明TransactionScope-awareness?是否有利用 TransactionScope 的常用数据库列表? (它是扩展 DbConnect
我想知道为什么没有确定的方法来处理 Jackson。我只想解析 JSON 字符串: ObjectMapper mapper = new ObjectMapper(); Customer[] myObj
Expo是很棒的。它的目标之一是仅使用 javascript 来编写 React Native 应用程序。 您如何确定第三方 React Native 库是否可以在 Expo 开发环境中工作? 最佳答
我有一个 Rad 组合框和 2 个 RadGrid - grvUser 和 grvRole grvUser RadGrid如下...
我一直在努力 Unsafe JavaScript attempt to access frame with URL http://lolfantasy.net/ from frame with URL
我有这种电子邮件表 id | url | id1 | id2 | mail_date | message 我的行示例 id | url | id1 | id2 | mail_date | messag
我正在尝试弄清楚如何使用委托(delegate)和协议(protocol)。 我有一个 MessageFetcher 类,它从 url 中获取消息。 class MessageFetcher { f
所以我已经尝试了几个星期让 GLFW3 与 MinGW 一起工作(通过 Code::Blocks IDE),但每次都失败了。我在每个 glfw 参数中都得到了一大堆“ undefined refere
当我写这段代码时,我在 Scala 中遇到编译错误 var s: Stack[_ ,这显然是一个错误。 这解释了为什么做 x :: xs不危险。现在来解释为什么它会打字: :: 的签名在 List[
我刚开始一个非常简单的项目,并尝试同时使用 ButterKnife 和 Jack 编译器,但它们似乎不能很好地相互配合。 Gradle插件版本:2.2.0-alpha5 在我的模块 build.gra
我一直在关注本指南(并通过 Composer 安装了所有内容):http://docs.behat.org/cookbook/behat_and_mink.html并试图让 Behat + Mink
我无法让 Google 的 Repo、gerrit 和 Jenkins 一起工作。 我们的设置: 我们有一个由几个 git 存储库构建的 Repo,它们都在我们的 gerrit 服务器上。 list
我使用 iText 库来创建并操作 PDF 文档。让我们有一个包含简单字符串的文档,例如“Hello world”。所以在pdf文件结构中,我们必须有(Hello world)Tj。问题是我如何通过使
我在 Jasper 中为 noto-sans 字体 ( https://www.google.com/get/noto/#sans-lgc ) 创建了一个字体扩展,并将其添加到我的类路径中。我的应用程
我是一名优秀的程序员,十分优秀!