Back to product page

HostFingerprint method


Called when the remote server provides public key fingerprint information.

Type

None

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 IwodSSHNotify.
OwnerA wodSSHCom object.
FingerprintA String value. Represents remote server fingerprint.
AcceptA Boolean value. When set to False, wodSSH will abort the connection.

Remarks

This method is called only if you implemented the IwodSSHNotify interface in your application, and the wodSSH.Notification property has received a reference to the instance of your implementation.

This notification method can be called only for SSH protocols. Since SSH architecture doesn't know about certificates or any other means of checking if the 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 the 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 the new Fingerprint information is same as the stored Fingerprint - 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 a server's private key.

If you set Accept to True (default), wodSSH 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 if you connect to the 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