![]() |
Qt 6.x
The Qt SDK
|
#include <qauthenticator.h>
#include <qauthenticator_p.h>
#include <qdebug.h>
#include <qloggingcategory.h>
#include <qhash.h>
#include <qbytearray.h>
#include <qcryptographichash.h>
#include <qiodevice.h>
#include <qdatastream.h>
#include <qendian.h>
#include <qstring.h>
#include <qdatetime.h>
#include <qrandom.h>
Go to the source code of this file.
Classes | |
class | QNtlmBuffer |
class | QNtlmPhase1BlockBase |
class | QNtlmPhase2BlockBase |
class | QNtlmPhase3BlockBase |
class | QNtlmPhase1Block |
class | QNtlmPhase2Block |
class | QNtlmPhase3Block |
Macros | |
#define | NTLMSSP_NEGOTIATE_UNICODE 0x00000001 |
#define | NTLMSSP_NEGOTIATE_OEM 0x00000002 |
#define | NTLMSSP_REQUEST_TARGET 0x00000004 |
#define | NTLMSSP_NEGOTIATE_SIGN 0x00000010 |
#define | NTLMSSP_NEGOTIATE_SEAL 0x00000020 |
#define | NTLMSSP_NEGOTIATE_DATAGRAM 0x00000040 |
#define | NTLMSSP_NEGOTIATE_LM_KEY 0x00000080 |
#define | NTLMSSP_NEGOTIATE_NTLM 0x00000200 |
#define | NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x00001000 |
#define | NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x00002000 |
#define | NTLMSSP_NEGOTIATE_LOCAL_CALL 0x00004000 |
#define | NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x00008000 |
#define | NTLMSSP_TARGET_TYPE_DOMAIN 0x00010000 |
#define | NTLMSSP_TARGET_TYPE_SERVER 0x00020000 |
#define | NTLMSSP_TARGET_TYPE_SHARE 0x00040000 |
#define | NTLMSSP_NEGOTIATE_NTLM2 0x00080000 |
#define | NTLMSSP_NEGOTIATE_TARGET_INFO 0x00800000 |
#define | NTLMSSP_NEGOTIATE_128 0x20000000 |
#define | NTLMSSP_NEGOTIATE_KEY_EXCHANGE 0x40000000 |
#define | NTLMSSP_NEGOTIATE_56 0x80000000 |
#define | AVTIMESTAMP 7 |
Variables | |
const int | blockSize = 64 |
const quint8 | respversion = 1 |
const quint8 | hirespversion = 1 |
#define AVTIMESTAMP 7 |
Definition at line 976 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_128 0x20000000 |
Definition at line 958 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_56 0x80000000 |
Definition at line 971 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x00008000 |
Definition at line 919 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_DATAGRAM 0x00000040 |
Definition at line 880 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x00001000 |
Definition at line 899 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_KEY_EXCHANGE 0x40000000 |
Definition at line 966 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_LM_KEY 0x00000080 |
Definition at line 886 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_LOCAL_CALL 0x00004000 |
Definition at line 913 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_NTLM 0x00000200 |
Definition at line 891 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_NTLM2 0x00080000 |
Definition at line 946 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_OEM 0x00000002 |
Definition at line 857 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_SEAL 0x00000020 |
Definition at line 875 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_SIGN 0x00000010 |
Definition at line 869 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_TARGET_INFO 0x00800000 |
Definition at line 953 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_UNICODE 0x00000001 |
Definition at line 852 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x00002000 |
Definition at line 906 of file qauthenticator.cpp.
#define NTLMSSP_REQUEST_TARGET 0x00000004 |
Definition at line 863 of file qauthenticator.cpp.
#define NTLMSSP_TARGET_TYPE_DOMAIN 0x00010000 |
Definition at line 925 of file qauthenticator.cpp.
#define NTLMSSP_TARGET_TYPE_SERVER 0x00020000 |
Definition at line 931 of file qauthenticator.cpp.
#define NTLMSSP_TARGET_TYPE_SHARE 0x00040000 |
Definition at line 938 of file qauthenticator.cpp.
|
static |
Definition at line 1328 of file qauthenticator.cpp.
References Q_ASSERT, and QByteArray::right().
Referenced by qEncodeLmv2Response(), and qEncodeNtlmv2Response().
|
static |
Definition at line 729 of file qauthenticator.cpp.
References Qt::CaseInsensitive, QByteArrayView::compare(), hash, QByteArrayView::isNull(), QCryptographicHash::Md5, method, and QByteArray::toHex().
Referenced by QAuthenticatorPrivate::digestMd5Response().
|
static |
Definition at line 1089 of file qauthenticator.cpp.
|
static |
Definition at line 1146 of file qauthenticator.cpp.
References NTLMSSP_NEGOTIATE_UNICODE, qStreamNtlmString(), and QDataStream::writeRawData().
|
static |
Definition at line 1162 of file qauthenticator.cpp.
References NTLMSSP_NEGOTIATE_UNICODE, qStreamNtlmBuffer(), qStreamNtlmString(), and QDataStream::writeRawData().
|
static |
Definition at line 1095 of file qauthenticator.cpp.
Q_DECLARE_LOGGING_CATEGORY | ( | lcAuthenticator | ) |
Q_LOGGING_CATEGORY | ( | lcAuthenticator | , |
"qt.network.authenticator" | |||
) |
|
static |
Definition at line 1305 of file qauthenticator.cpp.
References QCryptographicHash::addData(), QNtlmPhase3Block::domainStr, QCryptographicHash::Md4, Q_ASSERT, qEncodeHmacMd5(), qStringAsUcs2Le(), QCryptographicHash::result(), QByteArray::size(), and QNtlmPhase3Block::v2Hash.
Referenced by qEncodeLmv2Response(), and qEncodeNtlmv2Response().
QByteArray qEncodeHmacMd5 | ( | QByteArray & | key, |
QByteArrayView | message | ||
) |
Definition at line 1246 of file qauthenticator.cpp.
References QByteArray::append(), blockSize, hash, i, QCryptographicHash::Md5, and Q_ASSERT_X.
Referenced by qCreatev2Hash(), qEncodeLmv2Response(), and qEncodeNtlmv2Response().
|
static |
Definition at line 1428 of file qauthenticator.cpp.
References QByteArray::append(), ch, clientChallenge(), Q_ASSERT, qCreatev2Hash(), qEncodeHmacMd5(), and QNtlmPhase3Block::v2Hash.
Referenced by qNtlmPhase3().
|
static |
Definition at line 1069 of file qauthenticator.cpp.
Referenced by qEncodeNtlmString(), and qNtlmPhase3().
|
static |
Definition at line 1078 of file qauthenticator.cpp.
References qEncodeNtlmBuffer().
Referenced by qNtlmPhase3().
|
static |
Definition at line 1361 of file qauthenticator.cpp.
References QByteArray::append(), ch, clientChallenge(), QByteArray::constData(), QDateTime::currentSecsSinceEpoch(), hirespversion, QDataStream::LittleEndian, Q_ASSERT, Q_UINT64_C, qCreatev2Hash(), qEncodeHmacMd5(), qExtractServerTime(), respversion, QDataStream::setByteOrder(), QByteArray::size(), time, QNtlmPhase3Block::v2Hash, QIODeviceBase::WriteOnly, and QDataStream::writeRawData().
Referenced by qNtlmPhase3().
|
static |
Definition at line 1336 of file qauthenticator.cpp.
References AVTIMESTAMP, QByteArray::data(), QDataStream::LittleEndian, QDataStream::readRawData(), QByteArray::resize(), QDataStream::setByteOrder(), and QDataStream::skipRawData().
Referenced by qEncodeNtlmv2Response().
|
static |
Definition at line 1447 of file qauthenticator.cpp.
References ch, QDataStream::LittleEndian, Q_ASSERT, qStringFromUcs2Le(), QDataStream::readRawData(), QDataStream::setByteOrder(), and QNtlmPhase2BlockBase::Size.
Referenced by qNtlmPhase3().
|
static |
Definition at line 1191 of file qauthenticator.cpp.
References QDataStream::LittleEndian, QDataStream::setByteOrder(), and QIODeviceBase::WriteOnly.
Referenced by QAuthenticatorPrivate::calculateResponse().
|
static |
Definition at line 1490 of file qauthenticator.cpp.
References ch, QNtlmPhase3BlockBase::domain, QNtlmPhase3Block::domainStr, QNtlmPhase3BlockBase::flags, QDataStream::LittleEndian, QNtlmPhase3BlockBase::lmResponse, QNtlmPhase3Block::lmResponseBuf, QNtlmPhase3BlockBase::ntlmResponse, QNtlmPhase3Block::ntlmResponseBuf, NTLMSSP_NEGOTIATE_ALWAYS_SIGN, NTLMSSP_NEGOTIATE_NTLM2, NTLMSSP_NEGOTIATE_OEM, NTLMSSP_NEGOTIATE_UNICODE, Q_ASSERT, qEncodeLmv2Response(), qEncodeNtlmBuffer(), qEncodeNtlmString(), qEncodeNtlmv2Response(), qNtlmDecodePhase2(), QDataStream::setByteOrder(), QNtlmPhase3BlockBase::Size, QNtlmPhase3BlockBase::user, QNtlmPhase3Block::userStr, QNtlmPhase3BlockBase::workstation, QNtlmPhase3Block::workstationStr, and QIODeviceBase::WriteOnly.
Referenced by QAuthenticatorPrivate::calculateResponse().
|
static |
Definition at line 1050 of file qauthenticator.cpp.
References QDataStream::writeRawData().
Referenced by operator<<(), and qStreamNtlmString().
|
static |
Definition at line 1056 of file qauthenticator.cpp.
References ch, and qStreamNtlmBuffer().
Referenced by operator<<(), and operator<<().
|
static |
Definition at line 1202 of file qauthenticator.cpp.
References ch, d, QByteArray::data(), and qToLittleEndian().
Referenced by qCreatev2Hash().
|
static |
Definition at line 1213 of file qauthenticator.cpp.
References d, i, Q_ASSERT, and qFromLittleEndian().
Referenced by qNtlmDecodePhase2().
|
static |
Definition at line 432 of file qauthenticator.cpp.
References Qt::CaseInsensitive, QSet< T >::cend(), QSet< T >::constFind(), QByteArrayView::first(), it, QAuthenticatorPrivate::parseDigestAuthenticationChallenge(), QByteArray::size(), and view.
Referenced by QAuthenticatorPrivate::parseHttpResponse().
const int blockSize = 64 |
Definition at line 981 of file qauthenticator.cpp.
Referenced by QRhiImplementation::compressedFormatInfo(), QByteArray::operator>>(), QString::operator>>(), qEncodeHmacMd5(), QDataStream::readBytes(), QGIFFormat::scan(), QMessageAuthenticationCodePrivate::setKey(), and QIODevice::write().
const quint8 hirespversion = 1 |
Definition at line 983 of file qauthenticator.cpp.
Referenced by qEncodeNtlmv2Response().
const quint8 respversion = 1 |
Definition at line 982 of file qauthenticator.cpp.
Referenced by qEncodeNtlmv2Response().