use*_*523 8 java x509certificate
我目前正在重写X509TrustManager以允许所有证书作为临时"解决方案"(此时不安全).我试图找出我将如何添加,所以它只接受我遇到问题的特定证书,直到可以进行适当的修复(目前不在我的手中).这是当前的代码.
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
}
}};
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (GeneralSecurityException e) {
System.out.println(e.getStackTrace());
}
Run Code Online (Sandbox Code Playgroud)
您需要做的就是从中返回证书getAcceptedIssuers.看到这个
InputStream inStream = new FileInputStream("fileName-of-cert");
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
inStream.close();
Run Code Online (Sandbox Code Playgroud)
然后在方法中的数组中返回它
| 归档时间: |
|
| 查看次数: |
14011 次 |
| 最近记录: |