有什么方法可以为openwrt ipk做包签名

时间:2015-12-24 08:19:54

标签: openwrt package-managers opkg

OpenWRT使用opkg来管理包。默认情况下,它会在运行opkg update时下载文件Packages和Packages.sig,然后它会针对文件Packages验证签名文件Packages.sig。 这似乎是整个存储库的签名机制。我想知道是否有签署singleton ipk的方法?

2 个答案:

答案 0 :(得分:5)

是的,opkg(v0.3.0-rc0起)验证单个包签名文件。

在opkg.conf中启用包签名选项。

选项check_pkg_signature 1

您可以使用gpg或openssl创建签名文件,并将签名文件和包保存在opkg配置为下载包的位置。 应以以下格式创建签名文件:.ipk.sig

您可以通过克隆git://git.yoctoproject.org/opkg下载最新的来源 或从http://git.yoctoproject.org/cgit/cgit.cgi/opkg/下载

答案 1 :(得分:0)

你可以显然签署一个包(例如使用openssl sign实用程序),但opkg工具不会检查签名并且无论如何都会安装包。

如果你想要这样的机制,你可以像opkg install一样围绕if openssl verify ...; then opkg install ...写一个包装器: var w; $http.get("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22islamabad%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys") .success(function (response) { var result = response.query; var temp=result.results.channel.item.condition.temp; var text=result.results.channel.item.condition.text; window.w = $scope.weather = temp+" "+text; }); window.alert(w);