Mender-artifact validate error

After compiling mender-artifact from source for Linux and Windows, I noticed that I cannot validate a signed image using the Windows binary. From what I can tell this is related to the use of “archive/tar” and how paths are handled between operating systems.

Behavior in Windows
get-wmiobject -class win32_operatingsystem

SystemDirectory : C:\WINDOWS\system32
Organization : $COMAPANY
BuildNumber : 17763
RegisteredUser : $COMPANY
SerialNumber : $SERIAL
Version : 10.0.17763

PS C:\path\mender-artifact-windows.exe --version
mender-artifact version 62d044b
PS C:\path\mender-artifact-windows.exe validate -k .\pub.key .\signed.mender
reader: error getting header Payload number: can not get Payload order from tar path

Behavior in Ubuntu 16.04 x64
$uname -a
Linux $MACHINE 4.4.0-17763-Microsoft #379-Microsoft Wed Mar 06 19:16:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux

$ ./mender-artifact --version
mender-artifact version 62d044b

$ ./mender-artifact validate -k /mnt/c/path/pub.key /mnt/c/path/signed.mender
Artifact file ‘/mnt/c/path/signed.mender’ validated successfully

Interesting. Currently the mender-artifact binary is only validated (tested) for macOS and linux. I don’t currently have the time, or a VM with windows available to look at this, but PR’s are always welcome :wink: