ERROR: Your private key appears corrupted (no valid primary key self-signature or key(s) have expired)
- Dominant language
- Go
- Stars
- 9.2k
- Forks
- 1.3k
- Avg merge
- 12h 58m
- Merged PRs (30d)
- 56
Description
Hi,
I recently updated the prefs of my pgp key in gpg cli, and tried to update the public key on my keybase (@aayushjain), but am unable to do so. The error I get after entering my keybase passphrase is: **Error: Your private key appears corrupted (no valid primary key self-signature or key(s) have expired)**.
Here is my old public key:
```
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
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
KtXu0VN3i5H2OjPrzg==
=PeIy
-----END PGP PUBLIC KEY BLOCK-----
```
I then went to my terminal and ran `gpg --edit-key b4dc30f2`, then `setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed`, followed by `save`.
The new public key after this modification is:
```
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
7tFTd4uR9joz684=
=TSCI
-----END PGP PUBLIC KEY BLOCK-----
```
My key appears fine in kGPG, but Keybase wont accept it. It went through the updation process on Github and Facebook, and fingerprint remained unchanged. As far as I feel, me changing the cipher, digest and compression preferences may have been a wrong move.
I did a pgpdump of my **old key**, and this was the the signature packet:
```
...
Old: Signature Packet(tag 2)(598 bytes)
Ver 4 - new
Sig type - Positive certification of a User ID and Public Key packet(0x13).
Pub alg - RSA Encrypt or Sign(pub 1)
Hash alg - SHA256(hash 8)
Hashed Sub: key flags(sub 27)(1 bytes)
Flag - This key may be used to certify other keys
Flag - This key may be used to sign data
Hashed Sub: preferred symmetric algorithms(sub 11)(6 bytes)
Sym alg - AES with 256-bit key(sym 9)
Sym alg - AES with 192-bit key(sym 8)
Sym alg - AES with 128-bit key(sym 7)
Sym alg - CAST5(sym 3)
Sym alg - Triple-DES(sym 2)
Sym alg - IDEA(sym 1)
Hashed Sub: preferred hash algorithms(sub 21)(5 bytes)
Hash alg - SHA256(hash 8)
Hash alg - SHA1(hash 2)
Hash alg - SHA384(hash 9)
Hash alg - SHA512(hash 10)
Hash alg - SHA224(hash 11)
Hashed Sub: preferred compression algorithms(sub 22)(3 bytes)
Comp alg - ZLIB (comp 2)
Comp alg - BZip2(comp 3)
Comp alg - ZIP (comp 1)
Hashed Sub: features(sub 30)(1 bytes)
Flag - Modification detection (packets 18 and 19)
Hashed Sub: key server preferences(sub 23)(1 bytes)
Flag - No-modify
Hashed Sub: issuer fingerprint(sub 33)(21 bytes)
v4 - Fingerprint - 32 c3 a7 c1 0a 41 ba 48 15 e2 1f 5e 3e a4 9b 84 b4 dc 30 f2
Hashed Sub: signature creation time(sub 2)(4 bytes)
Time - Mon Jun 24 01:31:23 IST 2019
Hashed Sub: key expiration time(sub 9)(4 bytes)
Time - Wed Jun 23 01:31:23 IST 2021
Sub: issuer key ID(sub 16)(8 bytes)
Key ID - 0x3EA49B84B4DC30F2
Hash left 2 bytes - ad 80
RSA m^d mod n(4096 bits) - ...
-> PKCS-1
...
```
A pgpdump of the new key, brings the same block but with changes (as modified):
```
...
Old: Signature Packet(tag 2)(596 bytes)
Ver 4 - new
Sig type - Positive certification of a User ID and Public Key packet(0x13).
Pub alg - RSA Encrypt or Sign(pub 1)
Hash alg - SHA256(hash 8)
Hashed Sub: key flags(sub 27)(1 bytes)
Flag - This key may be used to certify other keys
Flag - This key may be used to sign data
Hashed Sub: features(sub 30)(1 bytes)
Flag - Modification detection (packets 18 and 19)
Hashed Sub: key server preferences(sub 23)(1 bytes)
Flag - No-modify
Hashed Sub: key expiration time(sub 9)(4 bytes)
Time - Wed Jun 23 01:31:23 IST 2021
Hashed Sub: issuer fingerprint(sub 33)(21 bytes)
v4 - Fingerprint - 32 c3 a7 c1 0a 41 ba 48 15 e2 1f 5e 3e a4 9b 84 b4 dc 30 f2
Hashed Sub: signature creation time(sub 2)(4 bytes)
Time - Fri Jun 28 17:49:46 IST 2019
Hashed Sub: preferred symmetric algorithms(sub 11)(4 bytes)
Sym alg - AES with 256-bit key(sym 9)
Sym alg - AES with 192-bit key(sym 8)
Sym alg - AES with 128-bit key(sym 7)
Sym alg - CAST5(sym 3)
Hashed Sub: preferred hash algorithms(sub 21)(4 bytes)
Hash alg - SHA512(hash 10)
Hash alg - SHA384(hash 9)
Hash alg - SHA256(hash 8)
Hash alg - SHA224(hash 11)
Hashed Sub: preferred compression algorithms(sub 22)(4 bytes)
Comp alg - ZLIB (comp 2)
Comp alg - BZip2(comp 3)
Comp alg - ZIP (comp 1)
Comp alg - Uncompressed(comp 0)
Sub: issuer key ID(sub 16)(8 bytes)
Key ID - 0x3EA49B84B4DC30F2
Hash left 2 bytes - 7f 4d
RSA m^d mod n(4094 bits) - ...
-> PKCS-1
...
```
If you can observe, the changes after running `setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed` resulted in:
- removal of Triple DES, and IDEA from symm algos
- removal of SHA1 from hash algos
- addition of Uncompressed to compression algos.
Another thing to observe that in my profile when I click on "Update my key (I edited it elsewhere)", I paste my (updated) _Public Key_, but the error is about a _Private Key_ being corrupted. I also tried the same with my ascii armored Private Key, but it's the same error message as in the title.
Am I doing anything wrong with my approach here?
If yes, what should be the corrective measure? Should I stick with the old key or is this one okay?
Or is there an issue with how Keybase is processing this key? Maybe it's catching a different error, but the error message isn't correct/comprehensive?
I have little idea, but am willing to help in any way possible.
Thanks.
Contributor guide
No contributing guide indexed for this repository
Research direction
No repository file or test is named. Start with the profile's “Update my key (I edited it elsewhere)” flow and compare the old and new armored keys, including the pgpdump output and the reported private-key error. Done means determining whether the updated public key is valid for Keybase, correcting the rejection or its error message, and documenting the result.
Written by the indexing model from the issue text.
Assessment
- Domain
- cryptography
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100