Sau*_*ode 11 freebsd security package-management openssl checksum
我正在尝试在FreeBSD 软件包网站上验证软件包的签名
wget http://pkg.freebsd.org/FreeBSD:11:amd64/latest/digests.txz
tar xf digests.txz
Run Code Online (Sandbox Code Playgroud)
这给出了三个文件:digests,digests.pub digests.sig
我认为它digests.sig是文件的签名digests,digests.pub作为公钥。但我试图确认:
openssl dgst -verify digests.pub -signature digests.sig digests
并收到消息
Verification Failure
我想我有什么问题 - 谁能告诉我我错过了什么?
编辑:基于对源代码的搜索,我认为重要的函数是在这里找到,从 openssl 库调用rsa_verify_cert_cbwhich 调用RSA_verify。但我还没有弄清楚它被输入了什么,或者是否可以使用openssl命令行工具调用该函数。
小智 0
该消息表明公钥与您下载的文件不匹配。根据 dgst -verify filename 的手册页,使用“filename”中的公钥验证签名。 输出是“验证正常”或“验证失败”最可能的原因是文件在下载过程中损坏。我会尝试再次下载它,如果它仍然无法通过检查,那么这就是下载链接受损的迹象(但由于它来自 freebsd 网站,我怀疑这只是一个下载错误。即便如此,我也会验证新的为了安全起见,请下载)。如果您的互联网连接速度慢/不可靠,可能需要尝试几次才能正确下载。如果您需要检查有关命令的信息,那么检查联机帮助页总是一个好主意 (man )