- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Dec 8 2022
External projects should have been using pkgconfig since a long time. The *-config scripts are for systems which lack pkgconfig.
In T6305#165907, @ebo wrote:With GnuPG VSD 3.1.25 the Certify action is not disabled for me. Neither on Windows nor on Linux system.
How did you manage to certify an expired key? For me the Certify action is always disabled for an expired key or user ID.
Should be fixed. Tested as described in the above comment T5960#165845.
Dec 7 2022
In T5951#165848, @aheinecke wrote:Ok. So after further discussion. It is good that you kept a WKDRefreshJob copy :)
I would suggest the following, if it is somehow possible. I think we have the API for this now that we can search for WKD keys without importing them. We should additionally check WKD, if the key from WKD has the same fingerprint, we update, if it has not, we show the user something like a search result. Give indication that a different key was found for these UserIDs and then let the user decide to import them?
stringFromGpgOutput actually received the following 8-bit data:
[1352] org.kde.pim.libkleo: stringFromGpgOutput ba: " Subject: CN=\xE6\x97\xA5\xE6\x9C\xAC\xE5\x9B\xBD,C=JP"
This looks very much like UTF-8 (i.e. codepage 65001).
Debug output in stringFromGpgOutput gives me
[1352] org.kde.pim.libkleo: stringFromGpgOutput GetConsoleOutputCP() returned 0 [1352] org.kde.pim.libkleo: stringFromGpgOutput GetOEMCP() returned 850 [1352] org.kde.pim.libkleo: stringFromGpgOutput GetACP() returned 1252
I created a self-signed X.509 test certficate with subject CN=日本国,C=JP (Nihon-koku/Nippon-koku; formal name of Japan).
stringFromGpgOutput is used by
- DumpCertificateCommand
- DumpCrlCacheCommand
- ImportCrlCommand
- GnuPGProcessCommand which is the base for
- ClearCrlCacheCommand
- ExportOpenPGPCertsToServerCommand
- ExportPaperKeyCommand
- GenRevokeCommand
- ImportPaperKeyCommand
- LearnCardKeysCommand
- RefreshOpenPGPCertsCommand
- RefreshX509CertsCommand
Dec 6 2022
This overlaps with T5959: Kleopatra: Show key source in details widget if it is not unkown.
Another idea (based on above ideas): We add an optional column named "Valid For" and only list the usages that are currently possible. If the encryption subkey is expired, then the key will probably only be valid for signing and certifying. This should be easier to understand than my fancy color coding idea while still giving the user a hint what a certain certificate can be used for. I'd still abbreviate the usage to a single letter in English. Translators could still use more letters if a single letter would be ambiguous.
If you enter a wrong password in a window, the error message will only be given after you have answered all requests for the transport passwords.
A failed import is now reported immediately when the file was processed.
I think showing "partially certified" makes sense.
And what do we return if no keyserver is configured?
By the way, I don't know exactly what Werner means with
Works on the command line but needs more testing.
because at least on Linux gpg cannot import UTF-16LE-encoded armored certificates:
$ gpg --show-keys <test1-pub.utf16.asc gpg: [don't know]: partial length invalid for packet type 63 gpg: read_block: read error: Invalid packet gpg: import from '[stdin]' failed: Invalid keyring
Kleopatra is now able to import certificates from UTF-16 (or UTF-32 or UTF-8-with-BOM) encoded text files.
Not so fun fact: If you enter tcp://1.2.3.4:10001 (literally) as value for gpg-agent's log file, then on save gpgconf calls
gpg-connect-agent --homedir /home/ingo/dev/g10/.gnupghomes/utf16 --no-autostart RELOADAGENT
which hangs (probably trying to connect to the not existing IP address or to the blocked port). This also makes Kleopatra hang.
Dec 5 2022
But what about real Windows filenames?
The same problem will very likely occur with any file dialog opened by Kleopatra because file dialogs are always modal. It may not be nice that people can maneuver themselves in such a situation, but how likely is it that a normal user (and not just a good test engineer who is looking for such problems) will run into this problem.
Support for multiple smart cards has been vastly improved in the last few years. I will tentatively close this as resolved because it's very likely that the problems have been resolved.
Looks like Kleopatra is writing the filename with the system's preferred directory separator. If GnuPG on Windows works if filenames are written with Unix directory separators, e.g. c:/foo/bla or //server/foo/bla, to the config files, then we can certainly change this in Kleopatra.
Wild guess: Since creating a local certification seems to work, but creating an exportable certification fails, maybe the problem occurs when trying to promote an existing local certification to an exportable certification.
This has been fixed some time ago when the UI for generating OpenPGP keys was rewritten.
In T2671#158357, @werner wrote:It seems that editing a pre-created revocation certificate on Windows with Notepad doesn't let Kleopatra detect this correctly as OpenPGP file and thus refuses to import. Works on the command line but needs more testing.
I don't see why this would be a Kleopatra issue. How is Kleopatra supposed to know that "mytestfile.txt (002)" isn't the original filename, but just the result of another program that's too stupid to properly resolve filename conflicts?
Another idea would be a gpgconf daemon that answers all queries from its in-memory cache. Obviously, this wouldn't help with the very first start unless the daemon is started automatically on login which should probably be default behavior at least on Windows anyway. OTOH, gpgme does already cache the config so this would only have an effect when starting Kleopatra.
Dec 2 2022
If the keys on the smart card are already known to Kleopatra/GnuPG (which should be the case if the smart card was inserted when Kleopatra was started), then on import of the corresponding public key Kleopatra now asks whether the certificate is the user's certificate (instead of asking whether they want to certify it).
