Back to product page

HostFingerprint callback method


Called when remote server provides public key fingerprint information.

Syntax

  • Basic
object.HostFingerprint (Owner, Fingerprint, Accept)
The HostFingerprint(object,Owner,Fingerprint,Accept) syntax has these parts:
objectAn expression evaluating to an object of type IwodTelnetNotify
OwnerAn expression evaluating to an object of type wodTelnetDLX
FingerprintA String value. Represents remote server's Fingerprint.
AcceptA Boolean value. When set to False, wodTelnetDLX aborts connection.

Remarks

NOTE: This method is called only if you implemented IwodTelnetNotify interface in your application, and wodTelnet.Notification property has received reference to instance of your implementation.

This notification method can be called only for SSH protocols. Since SSH architecture doesn't know about certificates, or other means of checking if remote server is really the one you intended to connect to, it is a matter of 'trust' if you will accept connection or not. This is how SSH works in real life - once you connect to remote server and you are sure it is really the server you expect it to be, you should store Fingerprint information locally.

For each new connection, you should test if Fingerprint information is same as stored one - to be sure that no one is 'in the middle' spying on your connection. Fingerprint information is almost unique among different server, and it is generated from server's private key.

If you set Accept to True (default), wodTelnetDLX will continue to perform negotiation with the server normally. If you set it to False (for instance, because you see that Fingerprint information is not the same as before), it will drop the connection.

Even you connect to same server, different protocol versions will produce different Fingerprint information. So, if you use SSH1 and store fingerprint information, and then later you use SSH2 - you will see this information is different. This is to be expected. You should store new information also.

Platforms

Windows