Bug 86174

Summary: kopete needs to display SSL certificate details
Product: [openSUSE] openSUSE 11.1 Reporter: Thomas Biege <thomas>
Component: KDE4 ApplicationsAssignee: Will Stephenson <wstephenson>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P2 - High CC: security-team
Version: GMC   
Target Milestone: ---   
Hardware: Other   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Thomas Biege 2005-05-27 09:51:16 UTC
Hi,
I just recognized that SSL certs from Novell are rejected by konqueror and
kopete due to the absence of the root cert used by Novell.

For example using kopete to connect to im.novell.com:443 will trigger a warning.

Looking at the cert reveals that the root CA is unkown.

Either the root CA should be an official one (not a problem of the KDE
maintainers, but of who is responsible then?) or the root cert should be
published as part of the KDE apps.
Comment 1 Adrian Schröter 2005-05-31 07:08:22 UTC
do you know an official download place for that CA ? 
Comment 2 Marcus Meissner 2005-05-31 07:30:07 UTC
i already tried to inquire regarding this certificate problem, but 
received no feedback. 
 
it is probably not just a missing root ca 
Comment 3 Thomas Biege 2005-05-31 12:04:13 UTC
If the client also verifies the CN to be the same as the server's hostname it
will fail too.
im.novell.com uses a cert with CN im.provo.novell.com
Comment 4 Dirk Mueller 2005-05-31 23:20:49 UTC
the CA is "SERVICES2" - "Organizational CA". Whatever it is, it doesn't look 
trustworthy enough to be shipped as root-CA. Innerweb etc is signed by Equifax 
which is part of the root CA list.  
 
Besides that as Thomas already noted the certificate is issued for a totally 
different host (not even the same IP). As such the data is bogus and its a 
server configuration error.  
 
Its correct that the Certificate is rejected.  
 
 
Comment 5 Thomas Biege 2005-06-02 11:17:54 UTC
Ok.

We need to get in touch with the folks providing ssl certs on the novell site.

I remeber there are even more problems beside the 2 mentioned above.

I'll ask Ed Reed maybe he can give us a pointer.

Comment 6 Thomas Biege 2005-06-09 07:47:40 UTC
Steve Whitehouse from Novell will investigate in changing this CN.
Then we could ship their CA cert and everything will be fine.
Comment 7 Thomas Biege 2005-08-02 07:02:27 UTC
Ed,
was this issue solved or are there any other news you can give us. Thanks.
Comment 8 Ed Reed 2005-08-02 11:50:47 UTC
Some internal Novell servers use self-signed certs, others use certs created  
through Novell's PKI hierarchy and are thus rooted in a Novell root cert (that  
is not widely distributed for obscure reasons), and still other services use  
3rd-party defined certs.  
  
Steve Whitehouse (Novell IS&T) reports that the certs for the im server, for  
instance, are self=signed certs, and so are bogus - not suitable for  
distribution.  It is their intention to continue to use their own CA for  
signing.  
  
Why the server name would not match the certificate name is another mystery.  
  
Steve points out that if the application (Kopete?) gives the user the chance  
to review the unrecognized cert and, upon inspection, accept it as valid (yes,  
I know the whole idea of certs was to avoid man-in-the-middle attacks, so the  
discerning user would want to verify the authenticity of the servers cert via  
some out-of-band means), then they can choose to "trust" it.  Or should be  
able to.  
  
That's the present story. I don't think there's any further action on this 
required, unless there is need for a user dialog to allow users to add new 
certs to their trusted cache through some dialog or command-line scripted 
action (via YOU or YAST or Red Carpet or ZEN or whatever). 
  
Ed  
Comment 9 Dirk Mueller 2005-08-06 16:59:46 UTC
ok, not a KDE bug. Ed, please assign it to the responsible person.  
Comment 10 Thomas Biege 2005-08-08 07:26:53 UTC
Dirk,
Ed said it needs to be fixed by changing both ends a) fixing the CN in the
certificate b) adding a more verbose SSL certification process (like konqueror
uses) to kopete. So, it still is a KDE "bug". :)
Comment 11 Dirk Mueller 2005-08-16 09:40:57 UTC
well, the main reason that isn't done is because kopete doesn't use kdelibs 
providers for SSL validation. At least I heard George complaining about this 
multiple times already.  
 
 
Comment 12 Will Stephenson 2005-08-17 13:31:34 UTC
Kopete asks the user to accept or reject an invalid cert.  The code in Kopete 
is a copy of kdelibs code adapted to work with the numerous non-kdelibs SSL 
backends in use in Kopete.  Pending a rewrite of every protocol plugin to use 
kdelibs for SSL, what's the more verbose process you would like to see?  'The 
certificate is valid, but untrusted'? 
Comment 13 Thomas Biege 2005-08-18 05:40:56 UTC
The other way around: Invalid but trusted. :)

We have 2 choices with this. Either show the kopete user the certificate and its
fingerprint (md5 and sha1) and let the user decide or we can include the CA cert
from Novell.
Comment 14 Ed Reed 2005-08-18 11:48:35 UTC
Here's the need:  untrusted certs (from whomever) need to be dealt with once 
and for all - by displaying them to the user and inviting them to trust them 
or not, per the industry norm (at this point).  There will always be customers 
who choose to use self-signed certs.  The ONLY way to responsibly handle them 
is to let the user populate them into their trusted root-CA cache.  Such is 
the "magic" of the "web of trust" security model of PGP and peer-wise PKI.   
 
KDE needs to be consistent on how this is done, and Kopete needs to use that 
consistent mechanism (or at least, look and feel).  Why wouldn't it? 
Comment 15 Thomas Biege 2005-10-05 10:23:58 UTC
Will,
ideas how to solve it? I would prefer the dialog konqueror uses. But showing at
least the md5 and sha1 fingerprint would be ok.
Comment 16 Will Stephenson 2005-10-05 14:42:40 UTC
There's only one good way to solve it, and that's a massive, invasive rewrite 
of the different SSL code in each protocol plugin in Kopete, so that it can 
call out to present a common prompt to the user.  Either showing fingerprints 
or the Konq dialog requires the same approach.  Since it's such a lot of work 
I am loath to pick it up before the scheduled massive, invasive rewrite of 
Kopete for KDE4. 
Comment 17 Thomas Biege 2005-10-05 15:04:35 UTC
I think that it is ok and we can live with it till KDE4.
Comment 18 Will Stephenson 2006-03-16 09:36:58 UTC
Ok, closing as later.
Comment 19 Ludwig Nussel 2008-03-06 15:06:21 UTC
so. any improvements with kde4?
Comment 20 Thomas Biege 2008-06-23 08:54:13 UTC
Will?
Comment 22 Andreas Jaeger 2008-10-24 11:26:37 UTC
Will?
Comment 23 Will Stephenson 2008-12-01 09:51:21 UTC
No, the new SSL socket in kdelibs which will be able to be used all over Kopete is still being worked on, and can't be used in 4.1.
Comment 24 Thomas Biege 2009-10-02 10:30:20 UTC
Will, will this bug ever get fixed?
Comment 25 Will Stephenson 2009-10-02 11:36:48 UTC
I'm pinging upstream again to find out the socket class' status now.
Comment 26 Will Stephenson 2009-10-02 12:08:28 UTC
Just checked, and the SSL socket class (KTcpSocket) is ready for use but none of the Kopete protocol impls are using it.  I'm asking upstream Kopete if they want to port.
Comment 27 Will Stephenson 2015-09-11 10:21:00 UTC
Mass-closing all my openSUSE bug reports for old openSUSE version.