(Reposting my conversation with Wojtek to the mailing list. I have
just noticed we switched away from it).

2013/6/7 Bartosz Brachaczek <b.brachac...@gmail.com>:
> 2013/6/6 Wojtek Kaniewski <wojte...@toxygen.net>:
>> Dnia 2013-06-04, wto o godzinie 13:37 +0200, Bartosz Brachaczek pisze:
>>> But checking which certificates are accepted by the proprietary client
>>> should be straightforward, as the current version of it is written in
>>> XUL and uses xulrunner's/gecko's methods of verifying certificates. I
>>> can volunteer to check this. If it turns out that the proprietary
>>> client trusts a CA that is not universally trusted, we might want to
>>> trust the same one when connecting to the Gadu-Gadu network in
>>> libgadu.
>> Right now they use RapidSSL certificate issued by Equifax Secure
>> Certificate Authority. I can see their certificate in my Ubuntu, so I
>> guess it would be a matter of setting some flag to verify against
>> preinstalled certificates, adding them to a list of trusted CA's or
>> something similar.
> That's right, I have incorrectly assumed OpenSSL is using system CA
> cert store by default, and it's not the case.
> So the functions of interest are:
> a) for OpenSSL:
> -- SSL_CTX_set_default_verify_paths() to use CA cert store configured
> during OpenSSL's build
> -- SSL_get_verify_result() to retrieve certificate verification result
> b) for GnuTLS:
> -- gnutls_certificate_set_x509_system_trust() to use default system CA
> cert store, requires GnuTLS >= 3.0 so it can be problematic
> (alternatively gnutls_certificate_set_x509_trust_file() can be used to
> point to specific files; in OpenSSL that would of course be possible,
> too)
> -- gnutls_certificate_verify_peers2() and
> gnutls_x509_crt_check_hostname() to verify the certificate validity
>> As for rejecting invalid certificates, what do you think about leaving
>> behaviour for GG_SSL_ENABLED as is, but adding a obligatory check in
>> case of GG_SSL_REQUIRED? This way users would be still able to use SSL
>> (on their own risk) if the CA changed to something obscure.
> I think it makes sense.
>> Regards,
>> Wojtek
libgadu-devel mailing list

Reply via email to