Esempio di programma Java di crittografia ( ApiEncryptionSample.java)

È possibile utilizzare il file ApiEncryptionSample.java per imparare a connettersi ad Access Server con un trust store personalizzato.

La connessione sarà crittografata se Access Server ha abilitato la crittografi TLS a e l'archivio di fiducia contiene il certificato della CA corretta.


import com.datamirror.ea.api.*;

public class ApiEncryptionSample
{
   //
   // Information for connecting to an Access Server.
   // Change the information to suit your configuration.
   //
   private static final String eaUser = "gsmith";
   private static final String eaPassword = "cricket";
   private static final String accessServerHost = "localhost";
   private static final int accessServerPort = 10101;
   private static final String trustStorePath = "C:\\path\\to\\trust.jks";
   private static final String trustStorePassword = "password";
   private static final String trustStoreType = "JKS";

   /**
    * program entry point
    */
   public static void main(String[] args)
   {
      //
      // Gets a connection to an Access Server
      //
      DataSource dataSource = connectToAccessServer();

      if (dataSource.isOpen())
      {
         //
         // disconnects the access server
         //
         dataSource.close();
      }
   }

   /**
    * This method shows how the sample program connects to
    * an Access Server. It returns a DataSource object
    * that represents the connection to the Access Server.
    */
   public static DataSource connectToAccessServer()
   {
      DataSource dataSource = null;
      try
      {
         //
         // Constructs a context with login information for the
         // Access Server
         //
         DefaultContext c = new DefaultContext();
         c.setString(DataSource.User, eaUser);
         c.setString(DataSource.Password, eaPassword);
         c.setString(DataSource.Hostname, accessServerHost);
         c.setInt(DataSource.Port, accessServerPort);
         c.setString(DataSource.TrustStorePath, trustStorePath);
         c.setString(DataSource.TrustStorePassword, trustStorePassword);
         c.setString(DataSource.TrustStoreType, trustStoreType);
         //
         // uses com.datamirror.ea.api.Toolkit to get a handle to
         // a DataSource object. At this point, the DataSource object
         // is not connected to any access server
         //
         dataSource = Toolkit.getDefaultToolkit().createDataSource();
         //
         // Tries to connect to the Access Server that is specified by
         // the context
         //
         dataSource.connect(c);
      }
      catch (ApiException e)
      {
         e.printStackTrace(System.out);
      }
      return dataSource;
   }
}