29#ifdef COMPILE_SSL_SUPPORT
37#ifdef DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER
38#undef DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER
39#define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER
42#include <openssl/ssl.h>
47 KviSSLCertificate(X509 * x509);
62 void extractSubject();
64 void extractPubKeyInfo();
65 void extractSerialNumber();
66 void extractSignature();
69 int getFingerprint(
unsigned char * bufferData,
unsigned int * bufferLen,
const char * digestName);
72 void setX509(X509 * x509);
73 char * getX509Base64();
75 const char * signatureType() {
return m_szSignatureType.
ptr(); };
76 const char * signatureContents() {
return m_szSignatureContents.
ptr(); };
78 const char * subjectCountry() {
return dictEntry(m_pSubject,
"C"); };
79 const char * subjectStateOrProvince() {
return dictEntry(m_pSubject,
"ST"); };
80 const char * subjectLocality() {
return dictEntry(m_pSubject,
"L"); };
81 const char * subjectOrganization() {
return dictEntry(m_pSubject,
"O"); };
82 const char * subjectOrganizationalUnit() {
return dictEntry(m_pSubject,
"OU"); };
83 const char * subjectCommonName() {
return dictEntry(m_pSubject,
"CN"); };
85 const char * issuerCountry() {
return dictEntry(m_pIssuer,
"C"); };
86 const char * issuerStateOrProvince() {
return dictEntry(m_pIssuer,
"ST"); };
87 const char * issuerLocality() {
return dictEntry(m_pIssuer,
"L"); };
88 const char * issuerOrganization() {
return dictEntry(m_pIssuer,
"O"); };
89 const char * issuerOrganizationalUnit() {
return dictEntry(m_pIssuer,
"OU"); };
90 const char * issuerCommonName() {
return dictEntry(m_pIssuer,
"CN"); };
92 int publicKeyBits() {
return m_iPubKeyBits; };
93 const char * publicKeyType() {
return m_szPubKeyType.
ptr(); };
95 const char * serialNumber() {
return m_szSerialNumber.
len() ? m_szSerialNumber.
ptr() :
nullptr; };
97 int version() {
return m_iVersion; };
99 bool fingerprintIsValid();
100 int fingerprintDigestId();
101 const char * fingerprintDigestStr();
102 const char * fingerprintContents(QString digestName =
"");
104#ifdef COMPILE_ON_WINDOWS
110 void *
operator new(
size_t tSize);
111 void operator delete(
void *
p);
118#if OPENSSL_VERSION_NUMBER >= 0x10000000L
119 KviSSLCipherInfo(
const SSL_CIPHER * c,
const SSL *
s);
121 KviSSLCipherInfo(SSL_CIPHER * c, SSL *
s);
133 const char *
name() {
return m_szName.
ptr(); };
134 const char * description() {
return m_szDescription.
ptr(); };
135 int bits() {
return m_iNumBits; };
136 int bitsUsed() {
return m_iNumBitsUsed; };
137 const char *
version() {
return m_szVersion.
ptr(); };
138#ifdef COMPILE_ON_WINDOWS
144 void *
operator new(
size_t tSize);
145 void operator delete(
void *
p);
186 static void globalInit();
187 static void globalDestroy();
188 static void globalSSLInit();
189 static void globalSSLDestroy();
193 bool initContext(KviSSL::Method
m);
195 bool setTLSHostname(
const char * name);
196 bool enableADHCiphers();
198 KviSSL::Result accept();
199 int read(
char * buffer,
int len);
200 int write(
const char * buffer,
int len);
202 unsigned long getLastError(
bool bPeek =
false);
203 bool getLastErrorString(
KviCString & buffer,
bool bPeek =
false);
205 KviSSL::Result getProtocolError(
int ret);
206 KviSSLCertificate * getPeerCertificate();
207 KviSSLCertificate * getLocalCertificate();
208 KviSSLCipherInfo * getCurrentCipherInfo();
209 KviSSL::Result useCertificateFile(QString cert, QString pass);
210 KviSSL::Result usePrivateKeyFile(QString key, QString pass);
211#ifdef COMPILE_ON_WINDOWS
217 void *
operator new(
size_t tSize);
218 void operator delete(
void *
p);
221 KviSSL::Result connectOrAcceptError(
int ret);
connect(m_pFtp, SIGNAL(commandFinished(int, bool)), this, SLOT(slotCommandFinished(int, bool)))
Definition KviCString.h:102
char * ptr() const
Definition KviCString.h:163
int len() const
Definition KviCString.h:165
A fast pointer hash table implementation.
Definition KviPointerHashTable.h:450
#define m
Definition detector.cpp:78
#define t
Definition detector.cpp:85
#define s
Definition detector.cpp:84
#define p
Definition detector.cpp:81
This file contains compile time settings.
#define KVILIB_API
Definition kvi_settings.h:124
int kvi_socket_t
Definition kvi_sockettype.h:40
@ UnknownError
Definition KviError.h:50
@ SSLError
Definition KviError.h:162
@ Success
Definition KviError.h:49
@ RemoteEndClosedConnection
Definition KviError.h:97
QString version()
Definition KviRuntimeInfo.cpp:690
QString name()
Definition KviRuntimeInfo.cpp:676