【问题标题】:Tomcat java servlet to validate merchant in Apple PayTomcat java servlet 在 Apple Pay 中验证商家
【发布时间】:2018-04-18 19:50:55
【问题描述】:

是否可以使用Tomcat java servlet 来验证商家?

如果是这样,我如何使用 httpclient 发送 SSL 证书和 SSL 密钥 pem 文件内容?

这是 PHP 中的代码,但我们使用的是 Tomcat 服务器。

$data = '{"merchantIdentifier":"merchant.com.blah.shop", "domainName":"shop.blah.com", "displayName":"Blah Shop"}';  

curl_setopt($ch, CURLOPT_URL, $validation_url);  
curl_setopt($ch, CURLOPT_SSLCERT, PRODUCTION_CERTIFICATE_PATH);  
curl_setopt($ch, CURLOPT_SSLKEY, PRODUCTION_CERTIFICATE_KEY);  
curl_setopt($ch, CURLOPT_POST, 1);  
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  

【问题讨论】:

    标签: java tomcat applepay


    【解决方案1】:

    首先,您永远不应该通过网络将您的私钥文件发送给任何人,即使是苹果。您的 PHP 示例代码没有将其发送到任何地方,而是使用它来签署请求。

    从 Tomcat 的角度来看,您需要一个 Java 程序来通过 Internet 发送 HTTP 请求(使用 SSL 证书和用于签署请求的密钥)。您可以使用不同的库,例如 Apache HttpComponents 来归档它。详情请见detailed answer by @eis

    【讨论】:

    • 谢谢。我会看看 HttpComponents。
    • 这里还是有点糊涂。我查看了@eis 的详细信息,它显示的只是导入密钥的方法。证书本身呢?如何在我的应用发送的请求中包含证书?我认为 Apple Pay 期望密钥和证书是分开的,而不是合并并作为密钥库发送??
    • @JoeSmith:Java 架构 (JCA) 将私钥和证书(或通常链式)一起存储在密钥库中,但它通过发送证书/链部分和在本地使用私钥部分。 (curl 使用单独的文件但实现相同的协议。)
    猜你喜欢
    • 2020-01-03
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 2019-04-14
    • 2020-04-30
    • 2020-08-18
    • 2016-08-02
    • 2022-07-26
    相关资源
    最近更新 更多