I have encrypted notifications enabled with Facebook. I originally provided my ECC public key which uses EdDSA (ed25519) and ECDH (cv25519). When my keys expired I extended the expiration date and created new subkeys. Facebook didn't accept my public key and gave this error message:
Unknown PGP Public Key Error
Please check that the value you entered is a valid PGP key and does not contain any missing or corrupted data, and that if headers are present they are separated from the body by a blank line.
The master key and signing and encrypting sub keys are good according to Kleopatra. The entire public key block from -----BEGIN PGP PUBLIC KEY BLOCK----- to -----END PGP PUBLIC KEY BLOCK----- was copied so no missing data. I tried the public key blocks with and without headers. I also tried creating a new OpenPGP key pair with ECDSA/EdDSA but Facebook also rejected it for the same reason. When I tried a new key pair with RSA/RSA Facebook accepted it. I'm not sure if Kleopatra is generating malformed ECC keys or if Facebook is no longer accepting ECC keys.
Steps to reproduce:
- Create a new personal OpenPGP key pair with ECDSA/EdDSA as the key material.
- Copy and paste the new public key block into the OpenPGP public key text field on Facebook (under security > encrypted notifications).
- Facebook rejects the public key.
- Repeat step 1 but with RSA/RSA as the key material and repeat step 2.
- Facebook will accept the public key.
Versions:
gpg (GnuPG) 2.2.27
libgcrypt 1.8.7
Gpg4win-3.1.15