diff options
author | Tim Costen <tim.costen@isode.com> | 2019-09-06 10:32:12 (GMT) |
---|---|---|
committer | Tim Costen <tim.costen@isode.com> | 2019-09-19 15:27:01 (GMT) |
commit | e58cf7d5d7d3bab330bccf6a098dd476fbf4dc86 (patch) | |
tree | f3632c379e2d92022bdb8af5d980b44883cc2360 /Swift/QtUI/QtConnectionSettingsWindow.cpp | |
parent | 8051f94932b6932a2e3eb60a26c758fbfed6d6ad (diff) | |
download | swift-e58cf7d5d7d3bab330bccf6a098dd476fbf4dc86.zip swift-e58cf7d5d7d3bab330bccf6a098dd476fbf4dc86.tar.bz2 |
Add support for use of shared certificate chain when setting up TLS context
Actual implementation is in OpenSSL subclass. This allows a permanent
vector of shared certificates to be used when creating multiple OpenSSL
contexts. This replaces the existing use of a vector of unique pointers
to certificates which handed over responsibility for the underlying
OpenSSL certs to the OpenSSL context. To enable this to work, a
new method is added to the OpenSSLCertificate class which enables
the reference count on the the contained OpenSSL certificate to
be incremented - this stops the OpenSSL certificate being deleted
when the OpenSSL context is freed.
Use of conditional compilation was necessary to get the reference
counting to build with the different versions of OpenSSL in use.
Modify the method in OpenSSLCertificateFactory (and stub in CertificateFactory)
which generates a vector of certificates, so that it generates a vector
of shared_ptrs rather than unique_ptrs.
Add test of CreateCertificateChain to Swiften CertificateTest
class, together with sample certificate file in PEM form.
JIRA: LINK-1763
Bug:
Release-notes:
Manual:
Test-information:
Tested via development version of Mystique - created multiple
TLS sessions using single certificate chain.
Swift unit tests now build and run again.
New Swiften TLS unit test builds and runs.
Change-Id: I7fa4888b640c94b68712a6bff1f7aa334a358df2
Diffstat (limited to 'Swift/QtUI/QtConnectionSettingsWindow.cpp')
0 files changed, 0 insertions, 0 deletions