I've been fiddling around with virtualized OpenWrt 18.06.04 stable quite intensivley for some weeks now. link.
Since today suddenly there were some luci-app-* packages missing. I firgured opkg update gave back:
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/luci/Packages.sig
Signature check failed.
Remove wrong Signature file.
Did something go wrong with building packages related to the signature process, recently?
I think that the old keys expired or were somehow otherwise disabled. Jow made new ones and stored them in the keyring. I think that you could download them there and store in the opkg key directory https://git.openwrt.org/?p=keyring.git;a=summary
I've tried verifying the sig of /18.06.4/packages/arm_cortex-a9_vfpv3/luci/ on 18.06.4 - x86_64 and works fine using the same keys in /etc/opkg/keys/, unlike /18.06.4/packages/x86_64/luci/ which fails like op shows.
On ubuntu I was able to verify /18.06.4/packages/x86_64/luci/ sig using signify-openbsd, and signify-rs using key 1035ac73cc4e59e3 without issue.
I downgrade my router back to 18.06.4 and tested.
It seems to work ok for me:
OpenWrt 18.06.4, r7808-ef686b7292
-----------------------------------------------------
root@router1:# opkg update
Downloading http://downloads.openwrt.org/releases/18.06.4/targets/ipq806x/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading http://downloads.openwrt.org/releases/18.06.4/targets/ipq806x/generic/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/targets/ipq806x/generic/kmods/4.14.131-1-c88f42e7e6dcd9861f5cef23dee0dcdb/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading http://downloads.openwrt.org/releases/18.06.4/targets/ipq806x/generic/kmods/4.14.131-1-c88f42e7e6dcd9861f5cef23dee0dcdb/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/base/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/luci/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/routing/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/arm_cortex-a15_neon-vfpv4/telephony/Packages.sig
Signature check passed.
Sure, no as I have no x86 routers. But there should not be any built-in difference between x86 and other targets in signature checking.
Does the signature check still fail in x86? For all feeds or just one/some? (Buildbot builds packages frequently, so if there has been error in buildbot signature files, the error may have corrected itself in the new build rounds.)
Right, thats a buildroot/buildbot interaction bug - will look into it. It is unrelated to this issue however.
No, none of the usign keys related to 18.06 were touched.
I am unable to reproduce the OP's issue. This happened when I spun up the image linked above in QEMU:
root@OpenWrt:/# Please press Enter to activate this console.
BusyBox v1.28.4 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 18.06.4, r7808-ef686b7292
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/#
root@OpenWrt:/# opkg update
Downloading http://downloads.openwrt.org/releases/18.06.4/targets/x86/64/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading http://downloads.openwrt.org/releases/18.06.4/targets/x86/64/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/base/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/luci/Packages.sig
Signature check failed.
Remove wrong Signature file.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/routing/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/telephony/Packages.sig
Signature check passed.
root@OpenWrt:/#
I tracked the issue down to a bug in usign's SHA512 implementation. The final padding of the last SHA512 block is wrong under certain circumstances, working on a fix now.
Turned out to be a bad magic value which triggered bad hash calculation when the final data buffer was exactly 110 or 111 bytes long.
The patch below should fix it, still doing more tests.
I think that you could install an updated version of usign once the packages buildbot has completed builds for x86_64. That should fix the signature verification. (it may take 1-2 days for the build to get generated)
usign was updated to version 2019-08-06 in all current branches (master, 19.07, 18.06 and 17.01)
Jow has applied an addtional fix to creating the packages index, which fix aims to prevent creating packages inex files that would trigger the buggy behaviour.