验证签名的导出
更新时间:2020-05-14 13:10:00
先决条件
要验证签名导出的完整性,建议使用OpenSSL或LibreSSL。如果尚未在进行验证的计算机上安装OpenSSL或LibreSSL,请按照以下说明进行操作。Linux或MacOS
使用内置的程序包管理来安装最新版本的OpenSSL或LibreSSL。视窗
LibreSSL项目提供Windows二进制文件。从https://www.libressl.org下载最新可用版本,并将其解压缩到本地磁盘。 建议将包含openssl.exe可执行文件的位置添加到系统的PATH变量中。否则,在执行以下命令之前,请使用以下命令更新正在运行的PowerShell实例的PATH变量: env:Path += ";C:\PATH_TO_OPENSSL_EXECUTABLE"
创建公钥哈希
以下命令生成公用密钥的SHA256哈希,以便对照MailStore的审核日志中记录的哈希对它进行验证。 openssl dgst -sha256 -hex publickey.pem
验证所有电子邮件
以下单行代码可用于验证已签名的导出,包括所有子目录。这些命令将在导出的目标目录中执行。Linux或MacOS
find . -name '*.eml' -exec openssl dgst -sha256 -verify publickey.pem -signature \{}.sig \{} \;
Windows(PowerShell)
ls -r *.eml | ForEach-Object { $file_sig = ($_.FullName) + '.sig'; $file_eml = $_.FullName; Write-Host -NoNewLine ($_.Basename) `t": " ; openssl.exe dgst -sha256 -verify publickey.pem -signature "$file_sig" "$file_eml" }