【问题标题】:Problem is Installing .pem extension Security Certificate in windows 7 for UBL Api问题是在 Windows 7 中为 UBL Api 安装 .pem 扩展安全证书
【发布时间】: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


【解决方案1】:

1 - 您可以使用以下答案在 Windows 7 上导入 .pem 文件。

Importing .PEM certificates on Windows 7 on the command line

2 - 验证计算机上是否安装了证书。

View / install certificates for local machine store on Windows 7

如果上述方法不起作用, 3 - 检查您是否可以通过MerchantAPI() 重载传递其他信息。

【讨论】:

  • 对不起@Nouman Zakir,但您提到的链接有帮助。我之前已经试过了。显然,似乎证书已导入,但是当我运行应用程序时,api 返回以下响应:“既没有提供证书也没有提供密码”
  • 您可能需要加载证书并将其传递给 MerchantAPI() 对象。你能分享一下 MerchantAPI() 类的重载吗?
  • 不,这不是必需的,我已经检查过了。我分享了上面的图片以及所有必需的属性。
  • 您应该检查该应用程序如何使用 pem 证书,仅将文件添加到 Windows 证书管理器不会将其带到应用程序。它要么被提前初始化,要么你需要通过 Register 方法传递。
  • 嗨@NainaBlue,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
猜你喜欢
  • 1970-01-01
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
  • 2012-02-06
  • 1970-01-01
  • 2017-01-17
相关资源
最近更新 更多