Skip to content

Commit 0865ea9

Browse files
committed
使用CertificateFactory处理更新的证书, fixes #9
1 parent 491c3fd commit 0865ea9

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/main/java/com/wechat/pay/contrib/apache/httpclient/auth/AutoUpdateCertificatesVerifier.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.io.IOException;
1111
import java.security.GeneralSecurityException;
1212
import java.security.cert.CertificateExpiredException;
13+
import java.security.cert.CertificateFactory;
1314
import java.security.cert.CertificateNotYetValidException;
1415
import java.security.cert.X509Certificate;
1516
import java.time.Duration;
@@ -143,8 +144,10 @@ private List<X509Certificate> deserializeToCerts(byte[] apiV3Key, String body)
143144
.getBytes("utf-8"),
144145
encryptCertificateNode.get("ciphertext").toString().replaceAll("\"", ""));
145146

146-
X509Certificate x509Cert = PemUtil
147-
.loadCertificate(new ByteArrayInputStream(cert.getBytes("utf-8")));
147+
CertificateFactory cf = CertificateFactory.getInstance("X509");
148+
X509Certificate x509Cert = (X509Certificate) cf.generateCertificate(
149+
new ByteArrayInputStream(cert.getBytes("utf-8"))
150+
);
148151
try {
149152
x509Cert.checkValidity();
150153
} catch (CertificateExpiredException | CertificateNotYetValidException e) {

0 commit comments

Comments
 (0)