Actions

Verify Whonix ™ Virtual Machine Images in Windows

From Whonix



Approved-29149640.png

Introduction[edit]

notice Digital signatures can increase security but this requires knowledge. Learn more about digital software signature verification.

GnuPG [archive] is a complete and free implementation of OpenPGP that allows users to encrypt and sign data and communications. Gpg4win [archive] is a graphical front end for GnuPG that is used for file and email encryption in Windows. The verification process for the Whonix ™ images begins with securely downloading and verifying the gpg4win package. Once completed GPG can be used from the command-line to verify the Whonix ™ images.

The following guide provides steps to:

  1. Install SignTool.
  2. Download and verify GPG4win.
  3. Download the Whonix ™ signing key.
  4. Verify the Whonix ™ images.

Verify Whonix ™ Images in Windows using Gpg4win[edit]

Install SignTools[edit]

The following instructions install SignTool in Windows 10 (stable release). For earlier Windows releases (Windows XP, Vista, 7 and 8) users can install SignTool by substituting the corresponding SDK Installer found in the Windows SDK archives [archive] for the Windows 10 SDK installer in the below instructions.

SignTools [archive] is a Windows command-line tool that uses Authenticode [archive] to digitally sign files and verify both signatures in files and time stamp files. SignTool is available as part of Mirosoft Windows SDK [archive], which can be can be installed in just a few easy steps. Once installed it can be used to verify the gpg4win package before installation.

1. Browse to https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk [archive]

  • Right-click Downloading The InstallerRight-click SaveRight-click Run.

2. Set the correct path.

After the the installer finishes loading:

  • Right-click Continuechoose PATHC:\Users\<user_name>\Downloads\Windows Kits\<windows_version>\WindowsSDKRight-click Next.

Figure: Choose SDK Installation Path

Sdk installer specify download path.png

3. Install the necessary SDK package.

The Windows SDK installer provides a number of different packages that can be installed. The only package needed for gpg4win verification is Windows SDK Signing Tools for Desktop Apps (SignTools). Be mindful that earlier SDK version packages may be named differently from later SDK versions. For example, the package that contains SignTool in SDK for Windows 8.1 is named Windows Software Developmental Kit. This differs from the corresponding package in Windows 10.

Figure: Select SignTools Package

Select sdk features for download.png

Once the box to the corresponding package is "checked", right-click Download. Once installation is complete, close the installer.

Figure: Finalized SDK Download

Sdk installer download complete.png

Download and Verify Gpg4win[edit]

SignTool can be used to verify the authenticity of the gpg4win package itself.

Note: To simplify the SignTool verification process be sure to download the gpg4win package to the Downloads directory.

1. Download the gpg4win package.

  • Navigate to https://files.gpg4win.org [archive]
  • Scroll down and download the latest version of gpg4win and the corresponding signature. At the time of writing (August 2020) gpg4win-3.1.12.exe was the latest version.

2. Verify the gpg4win package by running SignTool from the command prompt.

To open a command prompt, in the Windows Start Menu, run.

cmd.exe

From the command prompt, change to the Downloads directory.

cd C:\Users\<your_user_name>\Downloads

Verify the gpg4win package using SignTool.

signtool verify /pa gpg4win-3-1.12.exe

The following output shows a successful gpg4win verification.

Figure: Successful Verification

Signtool verify gpg4win success.png

Ambox warning pn.svg.png Warning: if verification fails, delete the gpg4win package and repeat the download and verification process again.

Download the Whonix ™ Signing Key[edit]

Info This entry is strongly related to the Placing Trust in Whonix ™ page.

Info This entry is for Download the Whonix ™ Signing Key on the Windows platform. Includes Windows specifics such as file paths. This chapter might be out of date. In case of questions, see the Whonix Signing Key page first which takes presedence.

Since all Whonix ™ releases are signed with the same key, it is unnecessary to verify the key every time a new release is announced. Trust in the key might gradually increase over time, but cryptographic signatures must still be verified every time a new release is downloaded.

Note: With the exception of step 1 all commands should be run from C:\Users\<user_name\Downloads

1. If not already completed, have GnuPG initialize your user data folder.

gpg --fingerprint

2. Download Patrick Schleizer's (adrelanos') OpenPGP key. [1]
derivative.asc

Store the key as C:\Users\<user_name>\Downloads\derivative.asc

3. Change to the C:\Users\<user_name>\Downloads\ directory.

cd C:\Users\<user_name>\Downloads\

4. Check fingerprints/owners without importing anything.

gpg --keyid-format long --with-fingerprint derivative.asc

5. Verify the output.

The most important check is confirming the key fingerprint exactly matches the output below. [2]

      Key fingerprint = 916B 8D99 C38E AF5E 8ADC  7A2A 8D66 066A 2EEA CCDA

The message gpg: key 8D66066A2EEACCDA: 104 signatures not checked due to missing keys is related to the The OpenPGP Web of Trust. Advanced users can learn more about this here.

6. Import the key.

gpg --import derivative.asc

The output should include the key was imported.

gpg: Total number processed: 1
gpg:               imported: 1

If the Whonix ™ signing key was already imported in the past, the output should include the key is unchanged.

gpg: Total number processed: 1
gpg:              unchanged: 1

If the following message appears at the end of the output.

gpg: no ultimately trusted keys found

This extra message does not relate to the Whonix ™ signing key itself, but instead usually means the user has not created an OpenPGP key yet, which is of no importance when verifying virtual machine images.

Analyze the other messages as usual.

Verify the Whonix ™ Images[edit]

1. If not already completed, download both Whonix.ova images and the corresponding OpenGPG signature which will be used to verify the image.

Both the signature and .ova image should be downloaded into the same directory.

2. Start the cryptographic verification; this process can take several minutes.

At the Windows command prompt, change to the directory with the Whonix.ova and corresponding signature file.

cd C:\Users\<user_name>\<directory_name>

3. Verify the Whonix.ova image.

gpg --verify-options show-notations --verify Whonix*.ova.asc Whonix*.ova

If the Virtual Machine image is correct the output will tell you that the signature is good.

gpg: Signature made Mon 19 Jan 2015 11:45:41 PM CET using RSA key ID 77BB3C48
gpg: Good signature from "Patrick Schleizer <adrelanos@riseup.net>" [unknown]
gpg: Signature notation: issuer-fpr@notations.openpgp.fifthhorseman.net=6E979B28A6F37C43BE30AFA1CB8D50BB77BB3C48
gpg: Signature notation: file@name=Whonix-Gateway-16.0.3.1.ova
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 916B 8D99 C38E AF5E 8ADC  7A2A 8D66 066A 2EEA CCDA
     Subkey fingerprint: 6E97 9B28 A6F3 7C43 BE30  AFA1 CB8D 50BB 77BB 3C48

This might be followed by a warning saying:

gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

The above "gpg: WARNING" can be ignored since it does not alter the validity of the signature related to the downloaded key. Rather, this warning refers to the level of trust placed in the developers signing key and the web of trust. To remove this warning, the developers signing key must be personally signed with your own key.

warning Check the GPG signature timestamp makes sense. For example, if you previously saw a signature from 2021 and now see a signature from 2020, then this might be a targeted rollback (downgrade) or indefinite freeze attack. [3]

The first line includes the signature creation timestamp. Example.

gpg: Signature made Mon 19 Jan 2015 11:45:41 PM CET using RSA key ID 77BB3C48

warning Note: OpenPGP signatures sign files, but not file names. [4]

To help users confirm that the file name has not been tampered with, beginning with Whonix ™ version 9.6 and above the file@name OpenPGP notation includes the file name.

Ambox warning pn.svg.png Do not continue if verification fails! This risks using infected or erroneous files! The whole point of verification is to confirm file integrity. This page is strongly related to the pages Placing Trust in Whonix ™ and Verifying Software Signatures.

4. When Whonix ™ verification is complete, continue with the VirtualBox installation.

Troubleshooting[edit]

SignTool is not Recognized[edit]

Figure: SignTool not Recognized Error

Signtool command not recognized.png

This error means the SignTool executable is not accessible through cmd.exe. A common cause for this error is SignTool was not installed in the user's PATH [archive]. To fix this issue add signtool.exe to your system PATH. [5]

Note: This solution is temporary and works only until the command prompt is closed. When the command prompt is restarted signtool.exe must be added to the system PATH again.

1. Open a command prompt.

In the Windows Start menu, run.

cmd.exe

2. Add the path to signtool.exe to your system PATH.

The default installation path for signtool.exe:

x86 systems:  C:\Program Files (x86)\Windows Kits\<windows_version>\bin\x86 
x64 systems:  C:\Program Files (x86)\Windows Kits\<windows_version>\bin\x64

Run the following command to add "path\to\signtool.exe" to your system PATH. Also be sure to add the Windows version to the path.

set PATH="path to signtool.ext";%PATH%

For example, the following command adds the path for an x64 system.

set PATH="C:\Program Files (x86)\Windows Kits\<windows_version>\bin\x64";%PATH%

SignTool Certificate Chain Error[edit]

Figure: Root Certificate Error

Signtool error root certificate not trusted.png

This error message occurs if the /pa switch is not used with SignTool. This is because the default SignTool verify some_file.exe command uses the Windows Driver Verification Policy. [6] In order for the file to verify properly the /pa switch must be used so SignTool uses the Default Authentication Verification Policy.

Encountering GPG Errors[edit]

When a GPG error is encountered, first try a web search for the relevant error. The security stackexchange website [archive] can also help to resolve GPG problems. Describe the problem thoroughly, but be sure it is GPG-related and not specific to Whonix ™.

More help resources are available on the Support page.

Footnotes[edit]

  1. curl --tlsv1.3 --proto =https --max-time 180 --output derivative.asc https://www.whonix.org/derivative.asc

  2. Minor changes in the output such as new uids (email addresses) or newer expiration dates are inconsequential.
  3. As defined by TUF: Attacks and Weaknesses:
  4. https://lists.gnupg.org/pipermail/gnupg-users/2015-January/052185.html [archive]
  5. https://www.godaddy.com/help/windows-cmd-signtool-is-not-recognized-as-an-internal-or-external-command-operable-program-or-batch-file-19987 [archive]
  6. See stackoverflow for further information: Why's My Root Certificate Not Trusted? [archive]


Fosshost is sponsors Kicksecure ™ stage server Whonix old logo.png
Fosshost About Advertisements

Search engines: YaCy | Qwant | ecosia | MetaGer | peekier | Whonix ™ Wiki


Follow: 1024px-Telegram 2019 Logo.svg.png Iconfinder Apple Mail 2697658.png Twitter.png Facebook.png Rss.png Reddit.jpg 200px-Mastodon Logotype (Simple).svg.png

Support: Discourse logo.png

Donate: Donate Bank Wire Paypal Bitcoin accepted here Monero accepted here Contriute

Whonix donate bitcoin.png Monero donate Whonix.png United Federation of Planets 1000px.png

Twitter-share-button.png Facebook-share-button.png Telegram-share.png link=mailto:?subject=Verify the virtual machine images using Windows&body=https://www.whonix.org/wiki/Verify_the_virtual_machine_images_using_Windows link=https://reddit.com/submit?url=https://www.whonix.org/wiki/Verify_the_virtual_machine_images_using_Windows&title=Verify the virtual machine images using Windows link=https://news.ycombinator.com/submitlink?u=https://www.whonix.org/wiki/Verify_the_virtual_machine_images_using_Windows&t=Verify the virtual machine images using Windows link=https://mastodon.technology/share?message=Verify the virtual machine images using Windows%20https://www.whonix.org/wiki/Verify_the_virtual_machine_images_using_Windows&t=Verify the virtual machine images using Windows

Have you contributed to Whonix ™? If so, feel free to add your name and highlight what you did on the Whonix ™ authorship page.

https link onion link Priority Support | Investors | Professional Support

Whonix | © ENCRYPTED SUPPORT LP | Heckert gnu.big.png Freedom Software / Osi standard logo 0.png Open Source (Why?)

The personal opinions of moderators or contributors to the Whonix ™ project do not represent the project as a whole.

By using our website, you acknowledge that you have read, understood and agreed to our Privacy Policy, Cookie Policy, Terms of Service, and E-Sign Consent.