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