ExchangeKeys Method
Causes the class to exchange a new set of session keys on the specified connection.
Syntax
ANSI (Cross Platform) int ExchangeKeys(int iConnectionId); Unicode (Windows) INT ExchangeKeys(INT iConnectionId);
- (void)exchangeKeys:(int)connectionId;
#define MID_SSHDAEMON_EXCHANGEKEYS 6 IPWORKSSSH_EXTERNAL int IPWORKSSSH_CALL IPWorksSSH_SSHDaemon_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);
Remarks
SSH key renegotiation can be initiated by either end of an established SSH connection. ExchangeKeys allows the server to start such a renegotiation with the client. During this process, SSHStatus events will fire containing updates regarding the key negotiation process.
The SSH 2.0 specification recommends that key renegotiation be done once for 2 gigabytes (GB) of data processed by the connection, or once every day. This makes it more difficult to break the security of data-intensive or long-lived connections.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)