diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-11-07 12:31:41 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-11-07 14:18:04 (GMT) |
commit | 70d19e3b5d3757310caf32e1732cac2cd4ae0a63 (patch) | |
tree | db1e206fd1164d85c5e00b408e9dd5ed728a7ed6 /Swiften/TLS/TLSContext.h | |
parent | 647e2cc6fc6bc1764c1bf449b4110917f6c723df (diff) | |
download | swift-contrib-70d19e3b5d3757310caf32e1732cac2cd4ae0a63.zip swift-contrib-70d19e3b5d3757310caf32e1732cac2cd4ae0a63.tar.bz2 |
Added certificate verification API to TLS context.
Diffstat (limited to 'Swiften/TLS/TLSContext.h')
-rw-r--r-- | Swiften/TLS/TLSContext.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Swiften/TLS/TLSContext.h b/Swiften/TLS/TLSContext.h index 9e911d4..2d05100 100644 --- a/Swiften/TLS/TLSContext.h +++ b/Swiften/TLS/TLSContext.h @@ -9,6 +9,8 @@ #include "Swiften/Base/boost_bsignals.h" #include "Swiften/Base/ByteArray.h" +#include "Swiften/TLS/Certificate.h" +#include "Swiften/TLS/CertificateVerificationError.h" namespace Swift { class PKCS12Certificate; @@ -18,11 +20,19 @@ namespace Swift { virtual ~TLSContext(); virtual void connect() = 0; + virtual bool setClientCertificate(const PKCS12Certificate& cert) = 0; virtual void handleDataFromNetwork(const ByteArray&) = 0; virtual void handleDataFromApplication(const ByteArray&) = 0; + virtual Certificate::ref getPeerCertificate() const = 0; + virtual boost::optional<CertificateVerificationError> getPeerCertificateVerificationError() const = 0; + + protected: + static const char* ID_ON_XMPPADDR_OID; + static const char* ID_ON_DNSSRV_OID; + public: boost::signal<void (const ByteArray&)> onDataForNetwork; boost::signal<void (const ByteArray&)> onDataForApplication; |