在开发ManagedBean中的https请求时,我遇到了一些小问题。问题是,我得到了以下例外:
javax.net.ssl.SSLPeerUnverifiedException: Host name 'bitpay.com' does not match the certificate subject provided by the peer (CN=bitpay.com, O="BitPay, Inc.", L=Atlanta, ST=Georgia, C=US, SERIALNUMBER=5163966, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, OID.1.3.6.1.4.1.311.60.2.1.3=US)但是,如果我在纯java客户机中尝试代码,它就会非常好地工作。有人知道我的失败在哪里吗?
我使用了这个存储库的代码。
我自己的代码如下:
import model.BitPay;
import model.Invoice;
import javax.inject.Named;
import javax.enterprise.context.Dependent;
@Named(value = "bitPayMBean")
@Dependent
public class BitPayMBean {
private static final String API_KEY = "";
@Named(value = "returnUrl")
private String returnUrl = "URL";
public void setReturnUrl(String returnUrl) {
this.returnUrl = returnUrl;
}
public String getReturnUrl() {
return returnUrl;
}
public BitPayMBean() {
System.setProperty("javax.net.ssl.trustStore", "cacerts.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
}
public void transaction(double value) {
BitPay bitpay = new BitPay(API_KEY, "USD");
Invoice invoice = bitpay.createInvoice(value);
setReturnUrl(invoice.getUrl());
}
}干杯,谢谢你的建议
发布于 2014-11-10 09:05:21
所以我解决了我的问题。问题是,在我的JDK版本8的cert文件中,并没有所有的整数被集成在JDK版本6的cert文件中。因此,我在我的jdk6证书文件中集成了缺少的jdk8证书。解决了我的问题
https://stackoverflow.com/questions/26381512
复制相似问题