当无法使用操作声明中与用来为软件包签名的密钥配对的证书来验证 signature 操作中的值时,将出现以下错误。
pkg install: A signature in pkg://test/example_pkg@1.0,5.11-0:20110919T195801Z could not be verified for this reason: The signature value did not match the expected value. Res: 0 The signature's hash is 0ce15c572961b7a0413b8390c90b7cac18ee9010
这种错误可能有两种原因:
第一个可能的原因是软件包自签名后已进行更改。这是不大可能的,但是如果软件包清单自签名后进行了手动编辑,这也是有可能的。如果不进行手动干预,软件包自签名后不应该会更改,因为 pkgsend 在发布期间可以去除现有 signature 操作,软件包获得新时间戳时旧签名将变为无效。
第二个最可能的原因是用来对软件包进行签名的密钥和证书不是匹配的密钥/证书对。如果提供给 pkgsign 的 -c 选项的证书不是使用提供给 pkgsign 的 -k 选项的密钥创建的,尽管会对软件包签名,但是其签名将无法验证。