Package ch.ethz.ssh2.crypto.cipher

Examples of ch.ethz.ssh2.crypto.cipher.BlockCipher


      Session sess = conn.openSession();

      sess.execCommand("echo \"Text on STDOUT\"; echo \"Text on STDERR\" >&2");

      InputStream stdout = new StreamGobbler(sess.getStdout());
      InputStream stderr = new StreamGobbler(sess.getStderr());
 
      BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));
      BufferedReader stderrReader = new BufferedReader(new InputStreamReader(stderr));
     
      System.out.println("Here is the output from stdout:");
View Full Code Here


      Session sess = conn.openSession();

      sess.execCommand("uname -a && date && uptime && who");

      InputStream stdout = new StreamGobbler(sess.getStdout());
      BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

      System.out.println("Here is some information about the remote host:");

      while (true)
View Full Code Here

      Session sess = conn.openSession();

      sess.execCommand("uname -a && date && uptime && who");

      InputStream stdout = new StreamGobbler(sess.getStdout());

      BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

      System.out.println("Here is some information about the remote host:");
View Full Code Here

      objSSHSession = this.getSshConnection().openSession();
      logger.debug("Executing command " + checkShellCommand);
      objSSHSession.execCommand(checkShellCommand);

      logger.debug("output to stdout for remote command: " + checkShellCommand);
      ipsStdOut = new StreamGobbler(objSSHSession.getStdout());
      ipsStdErr = new StreamGobbler(objSSHSession.getStderr());
      BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(ipsStdOut));
      String stdOut = "";
      while (true) {
        String line = stdoutReader.readLine();
        if (line == null)
View Full Code Here

      this.getSshSession().execCommand(strCmd);

      logger.info("output to stdout for remote command: " + strCmd);

      ipsStdOut = new StreamGobbler(this.getSshSession().getStdout());
      ipsStdErr = new StreamGobbler(this.getSshSession().getStderr());
      BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(ipsStdOut));
      strbStdoutOutput = new StringBuffer();
      while (true) {
        String line = stdoutReader.readLine();
        if (line == null)
View Full Code Here

        {
            String message = "Cannot execute remote command: " + command;
            throw new CommandAbortedException( message, message );
        }

        InputStream stdout = new StreamGobbler( session.getStdout() );
        InputStream stderr = new StreamGobbler( session.getStderr() );
        stderrReader = new BufferedReader( new InputStreamReader( stderr ) );
        setInputStream( new LoggedDataInputStream( stdout ) );
        setOutputStream( new LoggedDataOutputStream( session.getStdin() ) );
    }
View Full Code Here

    /* Tell the other side that we start using the new material */

    PacketNewKeys ign = new PacketNewKeys();
    tm.sendKexMessage(ign.getPayload());

    BlockCipher cbc;
    MAC mac;

    try
    {
      cbc = BlockCipherFactory.createCipher(kxs.np.enc_algo_client_to_server, true, km.enc_key_client_to_server,
View Full Code Here

    if (msg[0] == Packets.SSH_MSG_NEWKEYS)
    {
      if (km == null)
        throw new IOException("Peer sent SSH_MSG_NEWKEYS, but I have no key material ready!");

      BlockCipher cbc;
      MAC mac;

      try
      {
        cbc = BlockCipherFactory.createCipher(kxs.np.enc_algo_server_to_client, false,
View Full Code Here

      throw new IOException("Broken PEM, DEK-Info is incomplete!");

    String algo = ps.dekInfo[0];
    byte[] salt = hexToByteArray(ps.dekInfo[1]);

    BlockCipher bc = null;

    if (algo.equals("DES-EDE3-CBC"))
    {
      DESede des3 = new DESede();
      des3.init(false, generateKeyFromPasswordSaltWithMD5(pw, salt, 24));
      bc = new CBCMode(des3, salt, false);
    }
    else if (algo.equals("DES-CBC"))
    {
      DES des = new DES();
      des.init(false, generateKeyFromPasswordSaltWithMD5(pw, salt, 8));
      bc = new CBCMode(des, salt, false);
    }
    else if (algo.equals("AES-128-CBC"))
    {
      AES aes = new AES();
      aes.init(false, generateKeyFromPasswordSaltWithMD5(pw, salt, 16));
      bc = new CBCMode(aes, salt, false);
    }
    else if (algo.equals("AES-192-CBC"))
    {
      AES aes = new AES();
      aes.init(false, generateKeyFromPasswordSaltWithMD5(pw, salt, 24));
      bc = new CBCMode(aes, salt, false);
    }
    else if (algo.equals("AES-256-CBC"))
    {
      AES aes = new AES();
      aes.init(false, generateKeyFromPasswordSaltWithMD5(pw, salt, 32));
      bc = new CBCMode(aes, salt, false);
    }
    else
    {
      throw new IOException("Cannot decrypt PEM structure, unknown cipher " + algo);
    }

    if ((ps.data.length % bc.getBlockSize()) != 0)
      throw new IOException("Invalid PEM structure, size of encrypted block is not a multiple of "
          + bc.getBlockSize());

    /* Now decrypt the content */

    byte[] dz = new byte[ps.data.length];

    for (int i = 0; i < ps.data.length / bc.getBlockSize(); i++)
    {
      bc.transformBlock(ps.data, i * bc.getBlockSize(), dz, i * bc.getBlockSize());
    }

    /* Now check and remove RFC 1423/PKCS #7 padding */

    dz = removePadding(dz, bc.getBlockSize());

    ps.data = dz;
    ps.dekInfo = null;
    ps.procType = null;
  }
View Full Code Here

    /* Tell the other side that we start using the new material */

    PacketNewKeys ign = new PacketNewKeys();
    tm.sendKexMessage(ign.getPayload());

    BlockCipher cbc;
    MAC mac;

    try
    {
      cbc = BlockCipherFactory.createCipher(kxs.np.enc_algo_client_to_server, true, km.enc_key_client_to_server,
View Full Code Here

TOP

Related Classes of ch.ethz.ssh2.crypto.cipher.BlockCipher

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.