FFmpeg开发笔记(五)更新MSYS的密钥环

使用MSYS对FFmpeg进行交叉编译时,需要事先安装交叉编译工具链,也就是执行下面命令。

复制代码
pacman -S mingw-w64-x86_64-toolchain

一般情况可以正常安装交叉编译工具链,不过有时会提示错误"signature from "David Macek <david.macek.0@gmail.com>" is unknown trust",这是因为MSYS安装之后的密钥环有效期只有150天左右,而工具链中的个别组件会检查密钥环是否有效。如果密钥环过了150天之后才安装工具链,MSYS就会报前面的错,意思是签名不被信任,这便是密钥环过期导致的。

执行下面命令查看密钥环的有效时间。

复制代码
pacman-key --list-sigs

从上面命令的执行结果找到"david.macek.0@gmail.com"所在的那几行信息,如下所示。

复制代码
pub   rsa4096 2018-01-14 [SC] [过期于:2023-04-22]
      87771331B3F1FF5263856A6D974C8BE49078F532
uid             [ 过期 ] David Macek <david.macek.0@gmail.com>
sig          790AE56A1D3CFDDC 2020-06-19  David Macek (MSYS2 master key) <david.macek.0@gmail.com>
sig          5F92EFC1A47D45A1 2020-06-23  Alexey Pavlov (Alexpux) <alexpux@gmail.com>
sig          F40D263ECA25678A 2020-06-25  Alexey Pavlov (Alexpux) <alexey.pawlow@gmail.com>
sig          755B8182ACD22879 2020-06-25  Christoph Reiter (MSYS2 master key) <reiter.christoph@gmail.com>
sig 3        974C8BE49078F532 2022-10-24  David Macek <david.macek.0@gmail.com>

根据上述的密钥环有效信息,得知"david.macek.0@gmail.com"对应的密钥环已于2023-04-22到期,可见确实出现了密钥环过期的问题。

若想解决密钥环过期的问题,要么更新密钥环,要么重新安装MSYS。采取更新密钥环方式的话,得先到以下网址寻找msys2-keyring的最新文件。

复制代码
https://repo.msys2.org/msys/x86_64/

比如找到msys2-keyring的最新文件为msys2-keyring-1~20231013-1-any.pkg.tar.zst和msys2-keyring-1~20231013-1-any.pkg.tar.zst.sig,于是执行下面命令将这两个签名文件下载到本地。如果最新文件的日期发生变化,注意同步修改下面命令中的文件名。

复制代码
curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20231013-1-any.pkg.tar.zst
curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20231013-1-any.pkg.tar.zst.sig

等待两个文件下载完毕,接着执行下面命令验证并配置密钥环。

复制代码
pacman-key --verify msys2-keyring-1~20231013-1-any.pkg.tar.zst{.sig,}
pacman -U --config <(echo) msys2-keyring-1~20231013-1-any.pkg.tar.zst

上面命令的执行结果最后一行如下所示,可见密钥环的失效时间已经延长到了2024-04-10。

复制代码
gpg: next trustdb check due at 2024-04-10

重新执行下面命令查看密钥环的有效时间。

复制代码
pacman-key --list-sigs

从上面命令的执行结果找到"david.macek.0@gmail.com"所在的那几行信息,如下所示。

复制代码
pub   rsa4096 2018-01-14 [SC] [expires: 2024-04-10]
      87771331B3F1FF5263856A6D974C8BE49078F532
uid           [  full  ] David Macek <david.macek.0@gmail.com>
sig          790AE56A1D3CFDDC 2020-06-19  David Macek (MSYS2 master key) <david.macek.0@gmail.com>
sig          5F92EFC1A47D45A1 2020-06-23  Alexey Pavlov (Alexpux) <alexpux@gmail.com>
sig          F40D263ECA25678A 2020-06-25  Alexey Pavlov (Alexpux) <alexey.pawlow@gmail.com>
sig          755B8182ACD22879 2020-06-25  Christoph Reiter (MSYS2 master key) <reiter.christoph@gmail.com>
sig 3        974C8BE49078F532 2023-03-16  David Macek <david.macek.0@gmail.com>
sig 3        974C8BE49078F532 2023-10-13  David Macek <david.macek.0@gmail.com>
sub   rsa4096 2018-01-14 [E] [expires: 2024-04-10]
sig          974C8BE49078F532 2023-03-16  David Macek <david.macek.0@gmail.com>
sig          974C8BE49078F532 2023-10-13  David Macek <david.macek.0@gmail.com>
sub   rsa3072 2018-01-14 [S] [expires: 2024-04-10]
sig          974C8BE49078F532 2023-03-16  David Macek <david.macek.0@gmail.com>
sig          974C8BE49078F532 2023-10-13  David Macek <david.macek.0@gmail.com>

根据上述的密钥环有效信息,得知"david.macek.0@gmail.com"对应的密钥环将于2024-04-10到期,可见密钥环的有效期果然往后延长了150天(从当天开始往后150天,不是对上个失效日期简单相加)。

相关推荐
k4m7v2pz16 小时前
Rust 程序在 ReactOS 上“加载即崩“:从崩溃地址 0x6107104d 到 CRT 依赖的深度排查
rust·交叉编译·逆向工程·reactos·pe格式·windows兼容
k4m7v2pz16 小时前
在Arch Linux笔记本上搭建ReactOS 0.4.15虚拟机:从Mac远程开发调试Windows XP风格应用的完整指南
qemu·虚拟机·kvm·交叉编译·mingw-w64·reactos
诸葛大钢铁2 天前
视频转音频怎么转换?在线工具、VLC、FFmpeg 三种方法详解
ffmpeg·音视频·mp4转mp3·视频转音频·视频转mp3·视频提取音频
qingmiaozhuan2 天前
电脑录屏软件追剧高光截取:FFmpeg帧裁剪与可视化方案对比
ffmpeg·电脑·音视频开发·录屏技术·电脑录屏
程序员老陆2 天前
FFmpeg6操作 RTMP参数详解
ffmpeg·音视频·rtmp
戒了,最后一次2 天前
Windows 安装 FFmpeg 完整教程(附环境变量配置 + 常用命令示例)
windows·ffmpeg
≮傷£≯√3 天前
FFmpeg + qt 音频播放
qt·ffmpeg·音视频
程序员老陆3 天前
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?
开发语言·qt·ffmpeg·音视频
程序员老陆3 天前
如何使用FFmpeg6的API进行HLS开发呢?
ffmpeg·音视频·hls
程序员老陆4 天前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg