public class DHGEXServer extends AbstractDHServerKeyExchange
Modifier and Type | Field and Description |
---|---|
protected DHG |
dh |
protected byte |
expected |
protected DHFactory |
factory |
protected int |
max |
protected int |
min |
protected boolean |
oldRequest |
protected int |
prf |
h, hash, i_c, i_s, k, v_c, v_s
log
GROUP_KEX_OPCODES_MAP, SIMPLE_KEX_OPCODES_MAP
BY_NAME_COMPARATOR, NAME_EXTRACTOR
Modifier | Constructor and Description |
---|---|
protected |
DHGEXServer(DHFactory factory,
Session session) |
Modifier and Type | Method and Description |
---|---|
protected DHG |
chooseDH(int min,
int prf,
int max) |
protected DHG |
getDH(java.math.BigInteger p,
java.math.BigInteger g) |
java.lang.String |
getName() |
void |
init(byte[] v_s,
byte[] v_c,
byte[] i_s,
byte[] i_c)
Initialize the key exchange algorithm.
|
protected java.util.List<Moduli.DhGroup> |
loadModuliGroups(ServerSession session) |
static KeyExchangeFactory |
newFactory(DHFactory factory) |
boolean |
next(int cmd,
Buffer buffer)
Process the next packet
|
protected java.util.List<Moduli.DhGroup> |
selectModuliGroups(ServerSession session,
int min,
int prf,
int max,
java.util.List<Moduli.DhGroup> groups) |
getServerSession
getE, getEValue, getF, getFValue, getH, getHash, getK, getSession, setE, setF, toString, updateE, updateE, updateF, updateF, validateEValue, validateFValue
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getGroupKexOpcodeName, getSimpleKexOpcodeName, isValidDHValue
findByName, findFirstMatchByName, getNameList, getNames, ofName, removeByName, safeCompareByName
getSessionContext
protected final DHFactory factory
protected DHG dh
protected int min
protected int prf
protected int max
protected byte expected
protected boolean oldRequest
public final java.lang.String getName()
public static KeyExchangeFactory newFactory(DHFactory factory)
public void init(byte[] v_s, byte[] v_c, byte[] i_s, byte[] i_c) throws java.lang.Exception
KeyExchange
init
in interface KeyExchange
init
in class AbstractDHKeyExchange
v_s
- the server identification stringv_c
- the client identification stringi_s
- the server key initialization packeti_c
- the client key initialization packetjava.lang.Exception
- if an error occurspublic boolean next(int cmd, Buffer buffer) throws java.lang.Exception
KeyExchange
cmd
- the commandbuffer
- the packet contents positioned after the commandjava.lang.Exception
- if an error occursprotected DHG chooseDH(int min, int prf, int max) throws java.lang.Exception
java.lang.Exception
protected java.util.List<Moduli.DhGroup> selectModuliGroups(ServerSession session, int min, int prf, int max, java.util.List<Moduli.DhGroup> groups) throws java.lang.Exception
java.lang.Exception
protected java.util.List<Moduli.DhGroup> loadModuliGroups(ServerSession session) throws java.io.IOException
java.io.IOException
protected DHG getDH(java.math.BigInteger p, java.math.BigInteger g) throws java.lang.Exception
java.lang.Exception