【发布时间】:2019-02-08 10:09:45
【问题描述】:
我是新手。我在为 UBL Payment API 安装演示商户数字证书时遇到问题。我尝试了在互联网上找到的各种方法,但对我没有任何作用。问题来自证书和密码提供。 我使用 Internet Explorer 运行应用程序,因为 ubl doc 说推荐的浏览器是 IE。
我还检查了证书是否出现在 Internet Options -> Certiticates 选项卡中,但它们对我不起作用。
这也是我的代码示例。
public ActionResult Index()
{
RegistrationRequest ObjRequest = new RegistrationRequest();
ObjRequest.Customer = "Demo Merchant";
ObjRequest.Channel = "Web";
// ObjRequest.Language = "en";
ObjRequest.version =Convert.ToDecimal(2.0);
ObjRequest.Amount = Convert.ToDecimal(10.00);
ObjRequest.Currency = "AED";
// ObjRequest.OrderID = "123";
// ObjRequest.OrderInfo = "Test Info";
// ObjRequest.OrderName = "Test Name";
ObjRequest.ReturnPath = "www.google.com";
ObjRequest.TransactionHint = "CTP:Y";
ObjRequest.Password = "Comtrust";
// ObjRequest.Store = "n/a";
// ObjRequest.Terminal = "n/a";
UBLPaymentApi.MerchantAPI Obj = new MerchantAPI();
var Result= Obj.Register(ObjRequest);
return View();
}
这是我得到的错误的图像。 This is the error i am getting.
我非常强烈地感觉到我在安装/导入证书时遇到了问题。因为这是我第一次处理证书。
【问题讨论】:
-
你需要在代码中安装证书还是可以手动安装一次?通常证书有一年的过期数据,不需要每次运行代码都安装。也许您想手动安装证书。
-
是的,我需要手动安装该证书,这就是我正在尝试的,并且证书在安装后显示在 Internet Explorer 证书选项卡中。但是当我尝试通过在 IE 中使用上述代码来访问 Api 时,它会给出“没有提供证书或密码”的错误。
-
可能是 http 请求缺少标头。我会使用像wireshark这样的嗅探器来提琴手并检查标题。如果证书适用于 IE,则将嗅探器结果与 IE 和您的应用程序进行比较。
标签: c# ssl certificate internet-explorer-11 x509certificate