diff --git a/src/PhpseclibV2/SftpConnectionProvider.php b/src/PhpseclibV2/SftpConnectionProvider.php index efd8ab5d1..c04a12ede 100644 --- a/src/PhpseclibV2/SftpConnectionProvider.php +++ b/src/PhpseclibV2/SftpConnectionProvider.php @@ -143,7 +143,12 @@ private function checkFingerprint(SFTP $connection): void return; } - $publicKey = $connection->getServerPublicHostKey() ?: 'no-public-key'; + $publicKey = $connection->getServerPublicHostKey(); + + if ($publicKey === false) { + throw UnableToEstablishAuthenticityOfHost::becauseTheAuthenticityCantBeEstablished($this->host); + } + $fingerprint = $this->getFingerprintFromPublicKey($publicKey); if (0 !== strcasecmp($this->hostFingerprint, $fingerprint)) { diff --git a/src/PhpseclibV3/SftpConnectionProvider.php b/src/PhpseclibV3/SftpConnectionProvider.php index 4dda92093..082e6d3fb 100644 --- a/src/PhpseclibV3/SftpConnectionProvider.php +++ b/src/PhpseclibV3/SftpConnectionProvider.php @@ -150,7 +150,12 @@ private function checkFingerprint(SFTP $connection): void return; } - $publicKey = $connection->getServerPublicHostKey() ?: 'no-public-key'; + $publicKey = $connection->getServerPublicHostKey(); + + if ($publicKey === false) { + throw UnableToEstablishAuthenticityOfHost::becauseTheAuthenticityCantBeEstablished($this->host); + } + $fingerprint = $this->getFingerprintFromPublicKey($publicKey); if (0 !== strcasecmp($this->hostFingerprint, $fingerprint)) {