Paypal 已更新其沙盒 API 端点和证书以使用 sha256 而不是 sha1。迁移我的应用程序(连接到贝宝进行快速结帐)以使用 sha256,
a) 从我的 paypal 帐户中删除并下载新证书并将其转换为 .p12 格式使用 openssl 确认证书正在使用 sha256withRsa
b) 确认 /etc/ssl/certs/ca-certs.crt 具有链接 https://gist.github.com/robglas/3ef9582c6292470a1743中给出的威瑞信 G5 CA 证书
仍然无法从我使用 HttpClient 的 java 代码连接到 paypal 沙箱。握手失败
在 java 代码中 - 使用 SSLContext.getInstance("SSL")
使用自定义信任库
Class CustomTrustManager implements X509TrustManager {
public boolean checkClientTrusted(java.security.cert.X509Certificate[] chain) {
return true;
}
public boolean isServerTrusted(java.security.cert.X509Certificate[] chain) {
return true;
}
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {
}
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {
}
}
我正在使用实例 SunX509 的 KeyManagerFactory 并将其初始化为 pkcs12 密钥库。
我有什么遗漏吗。请帮忙!