code: private void serverKeyExchange(DH_ServerKeyExchange mesg)
              throws IOException {
          if (debug != null && Debug.isOn("handshake")) {
              mesg.print(System.out);
          }
          dh = new DHCrypt(mesg.getModulus(), mesg.getBase(),
                                              sslContext.getSecureRandom());
          serverDH = mesg.getServerPublicKey();
      }
docs: /*
  Diffie-Hellman key exchange.  We save the server public key and
  our own D-H algorithm object so we can defer key calculations
  until after we've sent the client key exchange message (which
  gives client and server some useful parallelism).