コード例 #1
0
ファイル: Proposal.java プロジェクト: wcc526/commons-net-ssh
  public Proposal(Config config) {
    kex = Factory.Named.Util.getNames(config.getKeyExchangeFactories());
    sig = Factory.Named.Util.getNames(config.getSignatureFactories());
    c2sCipher = s2cCipher = Factory.Named.Util.getNames(config.getCipherFactories());
    c2sMAC = s2cMAC = Factory.Named.Util.getNames(config.getMACFactories());
    c2sComp = s2cComp = Factory.Named.Util.getNames(config.getCompressionFactories());

    packet = new SSHPacket(Message.KEXINIT);

    // Put cookie
    packet.ensureCapacity(16);
    config.getRandomFactory().create().fill(packet.array(), packet.wpos(), 16);
    packet.wpos(packet.wpos() + 16);

    // Put algorithm lists
    packet.putString(toCommaString(kex));
    packet.putString(toCommaString(sig));
    packet.putString(toCommaString(c2sCipher));
    packet.putString(toCommaString(s2cCipher));
    packet.putString(toCommaString(c2sMAC));
    packet.putString(toCommaString(s2cMAC));
    packet.putString(toCommaString(c2sComp));
    packet.putString(toCommaString(s2cComp));
    packet.putString("");
    packet.putString("");

    packet.putBoolean(false); // Optimistic next packet does not follow
    packet.putInt(0); // "Reserved" for future by spec
  }