Sto cercando di implementare lo scambio di chiavi SSH2 in Java e di avere alcune difficoltà. RFC4419 afferma che:
The server responds with:
byte SSH_MSG_KEX_DH_GEX_REPLY string server public host key and certificates (K_S) mpint f string signature of H
La mia domanda è: come deve essere composta la "chiave pubblica server e i certificati (K_S)"? Dove posso trovare queste informazioni?
Ho una chiave pubblica e privata host e posso leggere tutte le informazioni necessarie come ad esempio:
/*
Read the required variables from the public key.
*/
DSAParams pubKeyDSAParams = ((DSAPublicKey) pair.getPublic()).getParams();
BigInteger p = pubKeyDSAParams.getP();
BigInteger q = pubKeyDSAParams.getQ();
BigInteger g = pubKeyDSAParams.getG();
/*
Read the private exponent from the private key.
*/
DSAPrivateKey privKey = (DSAPrivateKey) pair.getPrivate();
BigInteger x = privKey.getX();