Kali : Keying Expired and/or Invalid?

Recently I encountered an error while trying to update my Kali Linux system. When running apt-get update, I was greeted with the following error messages:

W: An error occurred during the signature verification. The repository is not updated and the previous
index files will be used. GPG error: http://mirrors.jevincanders.net/kali kali-rolling InRelease: The
following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository

W: Failed to fetch http://http.kali.org/kali/dists/kali-rolling/InRelease  The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository 

Understanding the Problem

This error occurs because the Kali Linux repository signing key had expired. Repository keys have expiration dates for security reasons, and when they expire, you'll need to update them to continue receiving package updates.

The critical part of the error message is : EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository, which tells me that the key with ID ED444FF07D8D0BF6 has expired.

How do I resolve this?

Download the new keyring package

First, I needed to download the updated keyring package:

wget http://http.kali.org/kali/pool/main/k/kali-archive-keyring/
kali-archive-keyring_2024.1_all.deb

Install the new keyring

Once downloaded, I installed the new keyring using dpkg:

sudo dpkg -i kali-archive-keyring_2024.1_all.deb

Clean up

After installation, I removed the downloaded file to keep my system tidy:

rm kali-archive-keyring_2024.1_all.deb

Update the package lists

Finally, I ran the update command again:

sudo apt-get update

And voila! The update process completed successfully without any errors. My Kali system was ready to install and update packages again.

How to Find the Correct Keyring Files

Finding the correct keyring file can sometimes be tricky. Here's my process:

  1. Check the official Kali documentation: The Kali Linux website often has announcements about keyring updates.
  2. Visit the Kali package repository: Browse to http://http.kali.org/kali/pool/main/k/kali-archive-keyring/ to see available keyring packages.

    Then look for the most recent version: Sort by date and choose the newest keyring package.

  3. Use apt to search for keyring packages: If you can still use apt, run:

    apt search kali-archive-keyring

Tips for Preventing Future Keyring Issues

I've learned some best practices to avoid or minimize these issues:

  1. Regular updates: I try to run sudo apt update && sudo apt upgrade at least weekly. This helps ensure I catch keyring updates before they expire.

  2. Use keyring maintenance commands: Occasionally running sudo apt install --reinstall kali-archive-keyring as preventative maintenance helps.

  3. Consider automatic updates: For non-production systems, enabling automatic updates with:

    sudo apt install unattended-upgrades
    sudo dpkg-reconfigure -plow unattended-upgrades

  1. Add stable repositories: Adding both rolling and stable repositories to your sources.list can provide fallback options:

    echo "deb http://http.kali.org/kali kali-rolling main non-free contrib" 
    | sudo tee /etc/apt/sources.list
    echo "deb http://http.kali.org/kali kali-last-snapshot main non-free contrib" 
    | sudo tee -a /etc/apt/sources.list
    

Summary and Lessons Learnt

Expired keyrings are an occasional annoyance but fixing them is straightforward. The key is knowing where to find the updated keyring package and having a routine for system maintenance.

By staying proactive about updates, I've minimized disruptions to my workflow. Hopefully, this post helps you quickly resolve similar issues if you encounter them.

Remember, keeping your system updated isn't just about having the latest features—it's an essential part of maintaining your system's security posture.

Previous Post Next Post

نموذج الاتصال