handleMSG_KEX_DH_GEX_REQUEST method

void handleMSG_KEX_DH_GEX_REQUEST(
  1. MSG_KEX_DH_GEX_REQUEST msg
)

Implementation

void handleMSG_KEX_DH_GEX_REQUEST(MSG_KEX_DH_GEX_REQUEST msg) {
  MapEntry<BigInt, BigInt> group =
      gexRequest == null ? null : gexRequest(msg);
  if (group == null) {
    DiffieHellman group14 = DiffieHellman.group14();
    group = MapEntry<BigInt, BigInt>(group14.p, group14.g);
  }
  initializeDiffieHellman(kexMethod, random);
  initializeDiffieHellmanGroup(group.key, group.value, random);
  writeClearOrEncrypted(MSG_KEX_DH_GEX_GROUP(group.key, group.value));
}