---
title: 'How to get rid of the warning when updating apt-get update "W: key is stored in legacy trusted.gpg keyring"?'
url: 'https://ra1ahq.blog/en/w-key-is-stored-in-legacy-trusted-gpg-keyring'
markdown: 'https://ra1ahq.blog/en/w-key-is-stored-in-legacy-trusted-gpg-keyring.md'
lang: en
date: '2023-10-25'
description: 'If third-party repositories are connected to the Linux operating system, when updating packages you may receive the error message "Key is stored in legacy trusted.gpg keyring". Reason'
taxonomy:
  category:
    - blog
  tag:
    - Linux
  archives_month:
    - oct_2023
  archives_year:
    - '2023'
---

# How to get rid of the warning when updating apt-get update "W: key is stored in legacy trusted.gpg keyring"?

25 

 October 

 2023 

 ![How to get rid of the warning when updating apt-get update "W: key is stored in legacy trusted.gpg keyring"?](https://ra1ahq.blog/images/9/7/e/3/9/97e397963f12b03a835b536fd6c8031adda52d20-deprication.png)16:15

### How to get rid of the warning when updating apt-get update "W: key is stored in legacy trusted.gpg keyring"?

 [Linux](https://ra1ahq.blog/en/tag:Linux) 

25 October 2023 16:15

If third-party repositories are connected to the Linux operating system, when updating packages you may receive the error message "Key is stored in legacy trusted.gpg keyring".

### Reason for this warning

In several recent versions of Ubuntu and Linux Mint, the use of the apt-key program, which added the repository key to a single repository, is being abandoned. Which is outdated (legacy), although it has not lost compatibility, but it is not recommended to use it. Instead of the "old" keystore **`/etc/apt/trusted.gpg`**, следует использовать новые хранилища ключей GPG для каждого из репозиториев, в папке: **`/etc/apt/trusted.gpg.d`**.

### Solving the problem

1. We know the name of the repository (written in the error message when apt-get update). In this case it is dl.winehq.org
2. Using the sudo apt-key list command, we find out the hexadecimal code of the repository signature

    sudo apt-key list

you have to search with your eyes by name. The following lines are visible:
`------------------------------------------------<br></br>pub rsa3072 2018-12-10 [SC]<br></br>D43F 6401 4536 9C51 D786  DDEA 76F1 A20F F987 672F<br></br>uid [unknown] WineHQ packages <a class="mailto" href="mailto:wine-devel@winehq.org">wine-devel@winehq.org</a>`

3. I find out the signature code - the last 8 characters of the full GPG key code.

From the code D43F 6401 4536 9C51 D786 DDEA 76F1 A20F F987 672F I take the last 8 characters and remove the space.
It turned out F987672F.

4. I import a new repository into a GPG file using a one-line command:

    sudo apt-key export F987672F | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/wine-hq.gpg

where I use apt-key only to export a key with fingerprint F987672F

For other programs, the example command must be corrected accordingly. You only need to replace the export key code and the destination file name.

For example, for the Yandex browser, the signature will be stored in the /etc/apt/trusted.gpg.d/ folder in the file yandex-browser.gpg:

sudo apt-key export 083A7A9A | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/yandex-browser.gpg

### How to avoid the error recurring when adding third-party repositories

Any use of the command should be avoided `sudo apt-key`, such as:
*`sudo apt-key import файл_ключа.key` or* `wget -qO- <URL> | sudo apt-key add -`
\*`curl -sS <URL>.gpg | sudo apt-key add -`

\*`sudo apt-key  adv --keyserver keyserver.ubuntu.com --recv-keys 00000000`

The adv key is deprecated, as stated in the man.
Team `sudo apt-key add` outdated.

#### The correct (new) way to add a repository key using the example of the WineHQ repository:

If the key is on the server:

```
wget  -qO- https://dl.winehq.org/wine-builds/winehq.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/winehq.gpg  > /dev/null
```

If **public key** located in the cryptographic key database on the server **keyserver.ubuntu.com**:

**First team** imports the key into the local database:

```
gpg --keyserver keyserver.ubuntu.com --recv E084DAB9
```

**Second team** exports the key and adds it to the private some.gpg store:

```
gpg --export E084DAB9  | sudo tee /etc/apt/trusted.gpg.d/some.gpg  > /dev/null
```

where E084DAB9 is the public key fingerprint, some.gpg is the user-generated GPG keystore file name.

Check that gpg generated the correct file:

```
file /etc/apt/trusted.gpg.d/some.gpg
```

The output should show that we have a file in the OpenPGP binary certificate format:

`/etc/apt/trusted.gpg.d/some.gpg: OpenPGP Public Key Version 4, Created Mon Dec 10 16:56:24 2018, RSA (Encrypt or Sign, 3072 bits); User ID; Signature; OpenPGP Certificate`

After importing the key, you can run the command as usual `apt-add-repository` and installing the program, for example:
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/ main'
sudo apt update
sudo apt install wine

### The correct way to solve problem No. 2 (taken from the OpenVPN installation instructions)

Download the repo-public.gpg key from the site and add it to the keyring /usr/share/keyrings/openvpn-public.gpg

```
curl -fsSL https://swupdate.openvpn.net/repos/repo-public.gpg | sudo gpg --dearmor -o /usr/share/keyrings/openvpn-public.gpg
```

In this method, curl is used instead of wget, the -o parameter is used instead of tee, and /usr/share/keyrings/ is used instead of the /etc/apt/trusted.gpg.d/ folder.

In the data source description file for the third-party software repository Ubuntu Linux 22 "Jammy" we indicate the imported GPG key with which the repository is signed

```
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/openvpn-public.gpg] https://build.openvpn.net/debian/openvpn/stable jammy main" > /etc/apt/sources.list.d/openvpn-repo.list
```

Here in the file in sources.list.d a mention of the key is added `[arch=amd64 signed-by=/usr/share/keyrings/openvpn-public.gpg]` from the gpg keychain.

### Which folder is best to store gpg keys?

*(Addendum dated November 24, 2023)*

***Where is the correct place to store keys - in the /etc/apt/trusted.gpg.d/ folder or in /usr/share/keyrings?***

The man sources.list instruction answers this question this way:

*"The recommended locations for storing keys are /usr/share/keyrings for package-managed keyrings, and /etc/apt/keyrings for sysop-managed keyrings. If keyring files are not specified, the default is the trusted.gpg keyring and all keyrings in the trusted.gpg.d/ directory (...)"*

So there is no direct guidance on how to properly store gpg keys. Logical keys for repositories **apt** place in a folder `/etc/apt/trusted.gpg.d/`, тогда как наборы ключей для других целей можно помещать в `/usr/share/keyrings`. Если стоит цель - сохранить ключи при переустановке системы, то следует использовать папку `~/.local/share/keyrings`, in which the user's private keys can be stored.

---

**Sources:**

- [Solving the problem "W: "The key is stored in Legacy Trusted.GPG Keyring""](https://itsfoss.com/key-is-stored-in-legacy-trusted-gpg/)
    \*[Example of using curl, GPG and sources.list.d to install OpenVPN](https://serverspace.ru/support/help/configuring-openvpn-on-ubuntu/)

### Related publications

 [ ![](https://ra1ahq.blog/images/6/8/1/3/3/68133cc0ab7ddf32ba1a9c7eaeef3a6fa562e88f-msg.png) Tox Messenger ](https://ra1ahq.blog/en/tox-messenger) 

 [ ![](https://ra1ahq.blog/images/f/3/a/2/c/f3a2c07ef5b32c0308ab703405a5a5ca87b75283-archer-ac600-728.webp) Installing the kernel driver for the TP-Link Wi-Fi adapter after updating the Debian OS ](https://ra1ahq.blog/en/ustanovka-draivera-yadra-dlya-wi-fi-adaptera-tp-link-posle-obnovleniya-os-debian) 

 [ ![](https://ra1ahq.blog/images/d/2/5/c/7/d25c7282750b398f71041fb8b90640b692e7e4b8-decibelfmtitle.png) Linux Cinnamon Desktop Applets for Listening to Internet Radio Stations ](https://ra1ahq.blog/en/applety-dlya-rabochego-stola-linux-cinnamon-dlya-proslushivaniya-internet-radiostancii) 

 [ ![No picture](https://ra1ahq.blog/user/themes/mytheme/images/no-image.png) Passing a parameter to a Linux module/driver ](https://ra1ahq.blog/en/peredacha-parametra-modulyu-draiveru-linux) 

 [ ![](https://ra1ahq.blog/images/5/c/4/e/a/5c4ea9c8c3f0b4dd890116d8fe7cbadfdb9814ba-archer-ac600.webp) Installing the TP-Link Archer T600U Nano Wi-Fi adapter driver in Debian 13 "Trixie" ](https://ra1ahq.blog/en/ustanovka-draivera-wi-fi-adaptera-tp-link-archer-t600u-nano-v-debian-13-trixie) 

[ Backward](https://ra1ahq.blog/en/621-kgc-muzykalnaya-radiostanciya-iz-tiraspolya "Previuous page")

[ Forward ](https://ra1ahq.blog/en/sinkhronizaciya-vremeni-v-linux-ispolzovanie-sluzhby-sntp "Next page")

## Languages

- [Русский](https://ra1ahq.blog/w-key-is-stored-in-legacy-trusted-gpg-keyring)
- [English](https://ra1ahq.blog/en/w-key-is-stored-in-legacy-trusted-gpg-keyring)
- [Deutsch](https://ra1ahq.blog/de/w-key-is-stored-in-legacy-trusted-gpg-keyring)
- [Français](https://ra1ahq.blog/fr/w-key-is-stored-in-legacy-trusted-gpg-keyring)
- [中文 (简体) (cn)](https://ra1ahq.blog/zh-cn/w-key-is-stored-in-legacy-trusted-gpg-keyring)

## Theme

## RSS feeds

 [ Atom 1.0](https://ra1ahq.blog/en/.atom) [ RSS](https://ra1ahq.blog/en/.rss) 

## Popular tags

 [APRS](https://ra1ahq.blog/en/tag:APRS) [CW](https://ra1ahq.blog/en/tag:CW) [DX](https://ra1ahq.blog/en/tag:DX) [FM](https://ra1ahq.blog/en/tag:FM) [Linux](https://ra1ahq.blog/en/tag:Linux) [VHF](https://ra1ahq.blog/en/tag:VHF) [antennas](https://ra1ahq.blog/en/tag:antennas) [firefox](https://ra1ahq.blog/en/tag:firefox) [morse](https://ra1ahq.blog/en/tag:morse) [soundtrack](https://ra1ahq.blog/en/tag:soundtrack) [video](https://ra1ahq.blog/en/tag:video) [windows](https://ra1ahq.blog/en/tag:windows) [youtube](https://ra1ahq.blog/en/tag:youtube) [КВ](https://ra1ahq.blog/en/tag:%D0%9A%D0%92) [ТВ](https://ra1ahq.blog/en/tag:%D0%A2%D0%92) [УКВ](https://ra1ahq.blog/en/tag:%D0%A3%D0%9A%D0%92) [антенны](https://ra1ahq.blog/en/tag:%D0%B0%D0%BD%D1%82%D0%B5%D0%BD%D0%BD%D1%8B) [безопасность](https://ra1ahq.blog/en/tag:%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C) [длинные волны](https://ra1ahq.blog/en/tag:%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [путешествия](https://ra1ahq.blog/en/tag:%D0%BF%D1%83%D1%82%D0%B5%D1%88%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D1%8F) [религия](https://ra1ahq.blog/en/tag:%D1%80%D0%B5%D0%BB%D0%B8%D0%B3%D0%B8%D1%8F) [соревнования](https://ra1ahq.blog/en/tag:%D1%81%D0%BE%D1%80%D0%B5%D0%B2%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) [спутники](https://ra1ahq.blog/en/tag:%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%B8) [средние волны](https://ra1ahq.blog/en/tag:%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [схемы](https://ra1ahq.blog/en/tag:%D1%81%D1%85%D0%B5%D0%BC%D1%8B) [тесты](https://ra1ahq.blog/en/tag:%D1%82%D0%B5%D1%81%D1%82%D1%8B) [трансивер](https://ra1ahq.blog/en/tag:%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%B8%D0%B2%D0%B5%D1%80) [управление](https://ra1ahq.blog/en/tag:%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5) [фотографии](https://ra1ahq.blog/en/tag:%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8) 

## Random post

 [ I'll be lucky!](https://ra1ahq.blog/en/random) 

## Archive of posts

- [ October 2026 ✒ 5 ](https://ra1ahq.blog/en/archives_month:oct_2026)
- [ September 2026 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2026)
- [ August 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2026)
- [ July 2026 ✒ 13 ](https://ra1ahq.blog/en/archives_month:jul_2026)
- [ June 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2026)
- [ May 2026 ✒ 2 ](https://ra1ahq.blog/en/archives_month:may_2026)
- [ April 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2026)
- [ March 2026 ✒ 3 ](https://ra1ahq.blog/en/archives_month:mar_2026)
- [ February 2026 ✒ 7 ](https://ra1ahq.blog/en/archives_month:feb_2026)
- [ January 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jan_2026)
- [ December 2025 ✒ 12 ](https://ra1ahq.blog/en/archives_month:dec_2025)
- [ November 2025 ✒ 9 ](https://ra1ahq.blog/en/archives_month:nov_2025)
- [ October 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2025)
- [ September 2025 ✒ 5 ](https://ra1ahq.blog/en/archives_month:sep_2025)
- [ August 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2025)
- [ July 2025 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jul_2025)
- [ June 2025 ✒ 10 ](https://ra1ahq.blog/en/archives_month:jun_2025)
- [ May 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:may_2025)
- [ April 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2025)
- [ March 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2025)
- [ February 2025 ✒ 11 ](https://ra1ahq.blog/en/archives_month:feb_2025)
- [ December 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2024)
- [ November 2024 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2024)
- [ October 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2024)
- [ September 2024 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2024)
- [ August 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2024)
- [ July 2024 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jul_2024)
- [ June 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jun_2024)
- [ May 2024 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2024)
- [ April 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:apr_2024)
- [ March 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2024)
- [ February 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:feb_2024)
- [ January 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jan_2024)
- [ December 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2023)
- [ November 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:nov_2023)
- [ October 2023 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2023)
- [ September 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:sep_2023)
- [ August 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:aug_2023)
- [ July 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2023)
- [ June 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2023)
- [ May 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:may_2023)
- [ April 2023 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2023)
- [ March 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2023)
- [ February 2023 ✒ 2 ](https://ra1ahq.blog/en/archives_month:feb_2023)
- [ January 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jan_2023)
- [ December 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2022)
- [ November 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:nov_2022)
- [ October 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:oct_2022)
- [ September 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2022)
- [ August 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2022)
- [ July 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jul_2022)
- [ June 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jun_2022)
- [ May 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2022)
- [ April 2022 ✒ 3 ](https://ra1ahq.blog/en/archives_month:apr_2022)
- [ March 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2022)
- [ February 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:feb_2022)
- [ January 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jan_2022)
- [ December 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2021)
- [ November 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:nov_2021)
- [ October 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:oct_2021)
- [ September 2021 ✒ 10 ](https://ra1ahq.blog/en/archives_month:sep_2021)
- [ August 2021 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2021)
- [ July 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2021)
- [ June 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2021)
- [ May 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2021)
- [ April 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2021)
- [ March 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2021)
- [ February 2021 ✒ 3 ](https://ra1ahq.blog/en/archives_month:feb_2021)
- [ January 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jan_2021)
- [ December 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2020)
- [ November 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2020)
- [ October 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:oct_2020)
- [ September 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2020)
- [ August 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2020)
- [ July 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jul_2020)
- [ June 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2020)
- [ May 2020 ✒ 10 ](https://ra1ahq.blog/en/archives_month:may_2020)
- [ April 2020 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2020)
- [ March 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:mar_2020)
- [ January 2020 ✒ 1 ](https://ra1ahq.blog/en/archives_month:jan_2020)
- [ December 2019 ✒ 2 ](https://ra1ahq.blog/en/archives_month:dec_2019)

## Search

## Weather forecast

[На 14 дней](https://world-weather.ru/pogoda/russia/saint_petersburg/14days/)
[world-weather.ru](https://world-weather.ru/)

---

## Navigation

- Parent: [RA1AHQ](https://ra1ahq.blog/en/index.md)
- Previous: [Time Synchronization in Linux: Using the SNTP Service](https://ra1ahq.blog/en/sinkhronizaciya-vremeni-v-linux-ispolzovanie-sluzhby-sntp.md)
- Next: [621 kHz - musical radio station from Tiraspol "Radio Odin Plus"](https://ra1ahq.blog/en/621-kgc-muzykalnaya-radiostanciya-iz-tiraspolya.md)
