tn5250j/src/org/tn5250j/framework/transport/SSL X509CertificateTrustManager.java,1.2,1.3 SSLImplementation.java,1.2,1.3
Steve Kennedy <[email protected]> Fri, 25 Feb 2005 09:30:53 +0000
| Newsgroups | gmane.comp.java.tn5250j.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tn5250j/tn5250j/src/org/tn5250j/framework/transport/SSL
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11486/src/org/tn5250j/framework/transport/SSL
Modified Files:
X509CertificateTrustManager.java SSLImplementation.java
Log Message:
SSL Updates
Index: X509CertificateTrustManager.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/framework/transport/SSL/X509CertificateTrustManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** X509CertificateTrustManager.java 25 Feb 2005 09:12:03 -0000 1.2
--- X509CertificateTrustManager.java 25 Feb 2005 09:30:50 -0000 1.3
***************
*** 22,29 ****
--- 22,33 ----
*
*/
+ import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.cert.X509Certificate;
import java.security.KeyStore;
import java.security.cert.CertificateException;
+ import java.util.ArrayList;
+ import java.util.Arrays;
+
import javax.swing.JOptionPane;
***************
*** 40,47 ****
KeyStore ks = null;
! X509TrustManager trustManager = null;
! public X509CertificateTrustManager(X509TrustManager manager, KeyStore keyStore) {
! trustManager = manager;
ks = keyStore;
}
--- 44,52 ----
KeyStore ks = null;
! TrustManager[] trustManagers;
! //X509TrustManager trustManager = null;
! public X509CertificateTrustManager(TrustManager[] managers, KeyStore keyStore) {
! trustManagers = managers;
ks = keyStore;
}
***************
*** 57,86 ****
* certificate.
*/
! public void checkServerTrusted(X509Certificate[] chain, String type) throws CertificateException {
try {
! trustManager.checkServerTrusted(chain,type);
return;
! }
! catch (CertificateException ce) {
! X509Certificate cert = chain[0];
! String certInfo = "Version: " + cert.getVersion() + "\n";
! certInfo = certInfo.concat("Serial Number: " + cert.getSerialNumber()+"\n");
! certInfo = certInfo.concat("Signature Algorithm: " + cert.getSigAlgName()+"\n");
! certInfo = certInfo.concat("Issuer: " + cert.getIssuerDN().getName()+"\n");
! certInfo = certInfo.concat("Valid From: " + cert.getNotBefore()+"\n");
! certInfo = certInfo.concat("Valid To: " + cert.getNotAfter()+"\n");
! certInfo = certInfo.concat("Subject DN: " + cert.getSubjectDN().getName()+"\n");
! certInfo = certInfo.concat("Public Key: " + cert.getPublicKey().getFormat()+"\n");
!
! int accept = JOptionPane.showConfirmDialog(null,certInfo,
! "Accept Certificate",javax.swing.JOptionPane.YES_NO_OPTION);
! if (accept != JOptionPane.YES_OPTION) {
! throw new java.security.cert.CertificateException("Certificate Not Accepted");
! }
! }
}
public X509Certificate[] getAcceptedIssuers() {
! return trustManager.getAcceptedIssuers();
}
}
\ No newline at end of file
--- 62,101 ----
* certificate.
*/
! public void checkServerTrusted(X509Certificate[] chain, String type)
! throws CertificateException {
try {
! for (int i=0; i<trustManagers.length; i++) {
! if (trustManagers[i] instanceof X509TrustManager)
! ((X509TrustManager)trustManagers[i]).checkServerTrusted(chain,type);
! }
return;
! } catch (CertificateException ce) {
! X509Certificate cert = chain[0];
! String certInfo = "Version: " + cert.getVersion() + "\n";
! certInfo = certInfo.concat("Serial Number: " + cert.getSerialNumber()+"\n");
! certInfo = certInfo.concat("Signature Algorithm: " + cert.getSigAlgName()+"\n");
! certInfo = certInfo.concat("Issuer: " + cert.getIssuerDN().getName()+"\n");
! certInfo = certInfo.concat("Valid From: " + cert.getNotBefore()+"\n");
! certInfo = certInfo.concat("Valid To: " + cert.getNotAfter()+"\n");
! certInfo = certInfo.concat("Subject DN: " + cert.getSubjectDN().getName()+"\n");
! certInfo = certInfo.concat("Public Key: " + cert.getPublicKey().getFormat()+"\n");
!
! int accept = JOptionPane.showConfirmDialog(null,certInfo,
! "Accept Certificate",javax.swing.JOptionPane.YES_NO_OPTION);
! if (accept != JOptionPane.YES_OPTION) {
! throw new java.security.cert.CertificateException("Certificate Not Accepted");
! }
! }
}
public X509Certificate[] getAcceptedIssuers() {
! ArrayList list = new ArrayList(10);
! for (int i=0; i<trustManagers.length; i++) {
! if (trustManagers[i] instanceof X509TrustManager)
! list.addAll(Arrays.asList(((X509TrustManager)trustManagers[i]).getAcceptedIssuers()));
! }
! X509Certificate[] acceptedIssuers = new X509Certificate[list.size()];
! acceptedIssuers = (X509Certificate[])list.toArray(acceptedIssuers);
! return acceptedIssuers;
}
}
\ No newline at end of file
Index: SSLImplementation.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/framework/transport/SSL/SSLImplementation.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** SSLImplementation.java 25 Feb 2005 09:12:04 -0000 1.2
--- SSLImplementation.java 25 Feb 2005 09:30:51 -0000 1.3
***************
*** 125,130 ****
tmf.init(ks);
trustManagers = tmf.getTrustManagers();
! X509TrustManager myTrustManager = new X509CertificateTrustManager(
! ((X509TrustManager)trustManagers[0]),ks);
TrustManager[] newTrustManagers = new TrustManager[1];
newTrustManagers[0] = myTrustManager;
--- 125,130 ----
tmf.init(ks);
trustManagers = tmf.getTrustManagers();
! X509TrustManager myTrustManager =
! new X509CertificateTrustManager(trustManagers,ks);
TrustManager[] newTrustManagers = new TrustManager[1];
newTrustManagers[0] = myTrustManager;
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click