Bug 476580

Summary: SASL Cert does not support ecdsa certificates.
Product: [Applications] konversation Reporter: fxzxmic
Component: generalAssignee: Konversation Developers <konversation-devel>
Status: RESOLVED FIXED    
Severity: major CC: adachristine18
Priority: NOR    
Version: 1.9.23043   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 0b571f70ecffcd7918d8d23cab1420888c93d5fc
Sentry Crash Report:

Description fxzxmic 2023-11-05 11:10:52 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Add a ecdsa key signed cert to SASL identity
2. Connect to server
3. get error: Cannot provide a certificate with no key, error:0300007F:digital envelope routines::expecting an rsa key

OBSERVED RESULT
Connect Failed.

EXPECTED RESULT
Connect to the server successfully and verified by the server.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 5.105.0
Qt Version: 5.15.9

ADDITIONAL INFORMATION
Comment 1 Ada Christine Fontaine 2024-06-28 08:20:15 UTC
https://invent.kde.org/network/konversation/-/merge_requests/103 resolves this
Comment 2 argonel 2024-06-29 04:11:52 UTC
Git commit 3d4c92619a6a086449e14b0d28b21af8cf7178a4 by Eli MacKenzie, on behalf of Ada Christine.
Committed on 29/06/2024 at 04:11.
Pushed by argonel into branch 'master'.

attempt to use elliptic curve private key if default RSA is null

Libera.chat changed their instructions for client certificates to use ed25519 keys. The default overload for QSslSocket::setPrivateKey() expects RSA. Attempt to add EC private key if RSA is null.

M  +6    -0    src/irc/server.cpp

https://invent.kde.org/network/konversation/-/commit/3d4c92619a6a086449e14b0d28b21af8cf7178a4