मैं जावा में वेब साइट पर SSL प्रमाणपत्र से समाप्ति तिथि को निकालने के लिए की जरूरत है, का समर्थन करना चाहिए दोनों पर विश्वास किया और इस तरह के रूप स्व-हस्ताक्षरित प्रमाणपत्र,: 1.trusted https://github.com 2 .self-हस्ताक्षरित https://mms.nw.ru/जावा
मैं पहले से ही कुछ कोड को कॉपी के रूप में:
import java.net.URL;
import java.security.SecureRandom;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
public class SSLTest {
public static void main(String [] args) throws Exception {
// configure the SSLContext with a TrustManager
SSLContext ctx = SSLContext.getInstance("TLS");
ctx.init(new KeyManager[0], new TrustManager[] {new DefaultTrustManager()}, new SecureRandom());
SSLContext.setDefault(ctx);
URL url = new URL("https://github.com");//https://mms.nw.ru
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
});
System.out.println(conn.getResponseCode());
Certificate[] certs = conn.getServerCertificates();
for (Certificate cert :certs){
System.out.println(cert.getType());
System.out.println(cert);
}
conn.disconnect();
}
private static class DefaultTrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
}
}
प्रश्न हैं:
प्रमाण पत्र से समाप्ति तिथि का विश्लेषण कैसे करें, मेरे कोड में toString() ने तिथि को आउटपुट किया था, लेकिन इसे पार्स करना मुश्किल है।
प्रमाणपत्र श्रृंखला का निर्धारण कैसे करें, उदाहरण के लिए, श्रृंखला 3 के साथ जिथब प्रमाण पत्र, मुझे कैसे पता चलेगा कि किस प्रमाणपत्र से समाप्ति तिथि प्राप्त होनी चाहिए?
गूगल यहां निर्देशित कर रहा है, भले ही मैं नेट के लिए पूछ रहा हूँ, तो मैं बस [इस लिंक] (http://forums.asp.net/post/4630222.aspx) एक सी # में जोड़ देंगे जवाब। –