Paypal证书升级为sha256
Paypal certificate upgrade to sha256
Paypal 已更新其沙箱 API 端点和证书以使用 sha256 而不是 sha1。
要将我的应用程序(连接到 paypal 以进行快速结帐)迁移到使用 sha256,
a) 从我的 paypal 帐户删除并下载新证书并转换
它为 .p12 格式
使用 openssl 确认证书使用的是 sha256withRsa
b) 确认 /etc/ssl/certs/ca-certs.crt 拥有 link 中给出的 verisign G5 CA 证书
https://gist.github.com/robglas/3ef9582c6292470a1743
仍然无法从我使用 HttpClient 的 java 代码连接到贝宝沙箱。握手失败
在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 密钥库。
我是不是遗漏了什么。请帮忙!
这个更适合发表评论,但是我没有足够的声望。
过去我在其他服务上遇到过类似的问题,问题是 java 7 默认使用旧的 ssl 算法,如果可以,请尝试使用 java 8。如果您必须坚持使用当前的 java 版本,请尝试使用不同的算法或查看是否可以从 paypal 获取有关 ssl 配置的一些信息。这 link 可能会有所帮助
问题出在 open-jdk 7 版本上。似乎打开 jdk 默认情况下具有 JCE 无限强度策略文件(需要支持 256 位密码)。然而,某些版本禁用了密码(可能是一个错误)。将 open jdk 升级到版本 1.7。0_91 解决了问题。
Paypal 已更新其沙箱 API 端点和证书以使用 sha256 而不是 sha1。 要将我的应用程序(连接到 paypal 以进行快速结帐)迁移到使用 sha256,
a) 从我的 paypal 帐户删除并下载新证书并转换 它为 .p12 格式 使用 openssl 确认证书使用的是 sha256withRsa
b) 确认 /etc/ssl/certs/ca-certs.crt 拥有 link 中给出的 verisign G5 CA 证书 https://gist.github.com/robglas/3ef9582c6292470a1743
仍然无法从我使用 HttpClient 的 java 代码连接到贝宝沙箱。握手失败
在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 密钥库。
我是不是遗漏了什么。请帮忙!
这个更适合发表评论,但是我没有足够的声望。 过去我在其他服务上遇到过类似的问题,问题是 java 7 默认使用旧的 ssl 算法,如果可以,请尝试使用 java 8。如果您必须坚持使用当前的 java 版本,请尝试使用不同的算法或查看是否可以从 paypal 获取有关 ssl 配置的一些信息。这 link 可能会有所帮助
问题出在 open-jdk 7 版本上。似乎打开 jdk 默认情况下具有 JCE 无限强度策略文件(需要支持 256 位密码)。然而,某些版本禁用了密码(可能是一个错误)。将 open jdk 升级到版本 1.7。0_91 解决了问题。