diff --git a/encoder/firmware.php b/encoder/firmware.php index 9cb3189..c365b17 100755 --- a/encoder/firmware.php +++ b/encoder/firmware.php @@ -129,32 +129,40 @@ EwIDAQAB -----END PUBLIC KEY----- "; + error_log("starting"); $tmpDir = sys_get_temp_dir() . '/payload_' . bin2hex(random_bytes(6)); $zipFile = $tmpDir . '/payload.zip'; $sigFile = $tmpDir . '/payload.zip.sig'; $extractDir = $tmpDir . '/extract'; + error_log("setting up directory"); mkdir($tmpDir, 0700, true); mkdir($extractDir, 0700, true); + error_log("directory created"); + error_log($tmpDir); download($data['link'], $zipFile); download($data['signature'], $sigFile); + error_log("download compltete"); $publicKey = openssl_pkey_get_public($public_key); if (!$publicKey) fail('Invalid public key'); $data = file_get_contents($zipFile); $signature = file_get_contents($sigFile); + error_log("loading zip and sig"); $verified = openssl_verify($data, $signature, $publicKey, OPENSSL_ALGO_SHA256); - openssl_free_key($publicKey); if ($verified !== 1) { + error_log("verification failed"); fail('Signature verification FAILED'); } + error_log("varification complete"); $zip = new ZipArchive(); if ($zip->open($zipFile) !== true) { + error_log("zip unzip problem"); fail('Unable to open ZIP'); } for ($i = 0; $i < $zip->numFiles; $i++) {