# Metadata key cannot be generated

**URL:** <https://community.passbolt.com/t/metadata-key-cannot-be-generated/13708>\
**Category:** Installation Issues\
**Created:** [September 28, 2025, 2:27am UTC](https://community.passbolt.com/t/metadata-key-cannot-be-generated/13708 "2025-09-28T02:27:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![et15](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.passbolt.com/et15/32/5353_2.png) [@et15](https://community.passbolt.com/u/et15)\
**Post date:** [September 28, 2025, 2:27am UTC](https://community.passbolt.com/t/metadata-key-cannot-be-generated/13708/1 "2025-09-28T02:27:57Z")

</div>

I have a fresh docker installation of Passbolt 5.5 which cannot generate the shared metadata keys.  
In the `organization settings > Metadata key`, I try to generate a key (`Created: Pending`) as demanded but upon saving, an error is raised and the key not saved:

```auto
{
    "code": 400,
    "body": {
        "metadata_private_keys": {
            "_empty": "The metadata private keys should not be empty."
        }
    }
}

```

I couldn’t find any solution. All other issues (GPG server key, JWT tokens etc.) are resolved.

**Checklist**  
 I have read intro post: [https://community.passbolt.com/t/about-the-installation-issues-category/12](https://community.passbolt.com/t/about-the-installation-issues-category/12)  
 I have read the tutorials, help and searched for similar issues  
 I provide relevant information about my server (component names and versions, etc.)  
 I provide a copy of my logs and healthcheck  
 I describe the steps I have taken to trouble shoot the problem  
 I describe the steps on how to reproduce the issue

**Server**

- Debian 13
- Docker installation
- Passbolt 5.5.0

**Health check**

```auto
     ______  ____
    / __\____  _________ / /_ ____ / / /_
   / /_/ / __`/___ / ___/__ \/ __\/ /__ /
  / ____/ /_/ (__ |__ ) /_/ / /_/ / / /
 /_/ \ __,_/____ / ____/_.___ /\ ____/_/\__ /

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell
 If you want to have more information about the different checks, please take a look at the documentation: https://www.passbolt.com/docs/admin/server-maintenance/passbolt-api-status/..........................................................
-------------------------------------------------------------------------------

 Environment

 [INFO] Linux 7b8408cb078b 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64 GNU/Linux
 [PASS] PHP version 8.4.11.
 [PASS] PHP version is 8.2 or above.
 [PASS] 64-bit architecture system detected.
 [INFO] gpg (GnuPG) 2.4.7 / libgcrypt 1.11.0
 [PASS] PCRE compiled with unicode support.
 [PASS] Mbstring extension is installed.
 [PASS] Intl extension is installed.
 [PASS] GD or Imagick extension is installed.
 [PASS] The temporary directory and its content are writable and not executable.
 [PASS] The logs directory /var/log/passbolt/ and its content are writable.
 [WARN] System clock and NTP service information cannot be found.
 [HELP] See `timedatectl | grep -i -A 1 clock`. More information: https://www.passbolt.com/docs/hosting/configure/ntp/

 Config files

 [PASS] The application config file is present
 [WARN] The passbolt config file is missing in /etc/passbolt/
 [HELP] Copy /etc/passbolt/passbolt.default.php to /etc/passbolt/passbolt.php
 [HELP] The passbolt config file is not required if passbolt is configured with environment variables

 Core config

 [PASS] Cache is working.
 [PASS] Debug mode is off.
 [PASS] Unique value set for security.salt
 [PASS] Full base url is set to https://passbolt.jdav.erikt.eu
 [PASS] App.fullBaseUrl validation OK.
 [PASS] /healthcheck/status is reachable.

 SSL Certificate

 [PASS] SSL peer certificate validates.
 [PASS] Hostname is matching in SSL certificate.
 [PASS] Not using a self-signed certificate.

 SMTP settings

 [PASS] The SMTP Settings plugin is enabled.
 [PASS] SMTP Settings coherent. You may send a test email to validate them.
 [PASS] The SMTP Settings source is: database.
 [WARN] The SMTP Settings plugin endpoints are enabled.
 [HELP] It is recommended to disable the plugin endpoints.
 [HELP] Set the PASSBOLT_SECURITY_SMTP_SETTINGS_ENDPOINTS_DISABLED environment variable to true.
 [HELP] Or set passbolt.security.smtpSettings.endpointsDisabled to true in /etc/passbolt/passbolt.php.
 [PASS] No custom SSL configuration for SMTP server.

 JWT Authentication

 [PASS] The JWT Authentication plugin is enabled.
 [PASS] The /etc/passbolt/jwt/ directory is not writable.
 [PASS] A valid JWT key pair was found.

 GPG Configuration

 [PASS] PHP GPG Module is installed and loaded.
 [PASS] The environment variable GNUPGHOME is set to /var/lib/passbolt/.gnupg.
 [PASS] The directory /var/lib/passbolt/.gnupg containing the keyring is writable by the webserver user.
 [PASS] The server OpenPGP key is not the default one.
 [PASS] The public key file is defined in /etc/passbolt/passbolt.php and readable.
 [PASS] The private key file is defined in /etc/passbolt/passbolt.php and readable.
 [PASS] The server key fingerprint matches the one defined in /etc/passbolt/passbolt.php.
 [PASS] The server public key defined in the /etc/passbolt/passbolt.php (or environment variables) is in the keyring.
 [PASS] There is a valid email id defined for the server key.
 [PASS] The public key can be used to encrypt a message.
 [PASS] The private key can be used to sign a message.
 [PASS] The public and private keys can be used to encrypt and sign a message.
 [PASS] The private key can be used to decrypt a message.
 [PASS] The private key can be used to decrypt and verify a message.
 [PASS] The public key can be used to verify a signature.
 [PASS] The server public key format is Gopengpg compatible.
 [PASS] The server private key format is Gopengpg compatible.

 Application configuration

 [PASS] Using latest passbolt version (5.5.0).
 [PASS] Passbolt is configured to force SSL use.
 [PASS] App.fullBaseUrl is set to HTTPS.
 [PASS] Selenium API endpoints are disabled.
 [PASS] Search engine robots are told not to index content.
 [INFO] The Self Registration plugin is enabled.
 [INFO] The self registration provider is: Email domain safe list.
 [PASS] The deprecated self registration public setting was not found in /etc/passbolt/passbolt.php.
 [WARN] Host availability checking is disabled.
 [HELP] Make sure this instance is not publicly available on the internet.
 [HELP] Or set the PASSBOLT_EMAIL_VALIDATE_MX environment variable to true.
 [HELP] Or set passbolt.email.validate.mx to true in /etc/passbolt/passbolt.php.
 [PASS] Serving the compiled version of the javascript app.
 [PASS] All email notifications will be sent.
 [PASS] The database schema is up to date.

 Database

 [PASS] The application is able to connect to the database
 [PASS] 34 tables found.
 [PASS] Some default content is present.

 Metadata

 [FAIL] No server metadata private key found.
 [FAIL] No active metadata key found.
 [PASS] The server has access to the metadata keys or does not require access to it.
 [PASS] The server metadata private key is valid.

 [FAIL] 2 error(s) found. Hang in there!

```

---

<div class="post-metadata">

**Author:** ![ishan](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.passbolt.com/ishan/32/1583_2.png) [@ishan](https://community.passbolt.com/u/ishan)\
**Post date:** [September 29, 2025, 11:42am UTC](https://community.passbolt.com/t/metadata-key-cannot-be-generated/13708/2 "2025-09-29T11:42:10Z")

</div>

Hey there, thank you for your report. A hotfix is already made and we are in process of releasing the fix soon.

---

<div class="post-metadata">

**Author:** ![antony](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.passbolt.com/antony/32/3130_2.png) [@antony](https://community.passbolt.com/u/antony)\
**Post date:** [September 29, 2025, 1:33pm UTC](https://community.passbolt.com/t/metadata-key-cannot-be-generated/13708/3 "2025-09-29T13:33:09Z")

</div>

Hello @et15,

Version 5.5.2 has been published and should resolve the issues, you can take look at our [**update documentations**](https://www.passbolt.com/docs/hosting/update/). Can you let us know if everything works as expected after that?

---

<div class="post-metadata">

**Author:** ![et15](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.passbolt.com/et15/32/5353_2.png) [@et15](https://community.passbolt.com/u/et15)\
**Post date:** [September 29, 2025, 8:24pm UTC](https://community.passbolt.com/t/metadata-key-cannot-be-generated/13708/4 "2025-09-29T20:24:34Z")

</div>

Hey @antony,  
yes, the new update makes it work. Now the installation is fully operational 🙂
