QDebug operator<<(QDebug debug, const QSslCipher &cipher) { debug << "QSslCipher(name=" << qPrintable(cipher.name()) << ", bits=" << cipher.usedBits() << ", proto=" << qPrintable(cipher.protocolString()) << ")"; return debug; }
QDebug operator<<(QDebug debug, const QSslCipher &cipher) { QDebugStateSaver saver(debug); debug.resetFormat().nospace().noquote(); debug << "QSslCipher(name=" << cipher.name() << ", bits=" << cipher.usedBits() << ", proto=" << cipher.protocolString() << ')'; return debug; }
QString dumpCipher(const QSslCipher &cipher) { QString s = "\n"; s += "Authentication: " + cipher.authenticationMethod() + "\n"; s += "Encryption: " + cipher.encryptionMethod() + "\n"; s += "Key Exchange: " + cipher.keyExchangeMethod() + "\n"; s += "Cipher Name: " + cipher.name() + "\n"; s += "Protocol: " + cipher.protocolString() + "\n"; s += "Supported Bits: " + QString(cipher.supportedBits()) + "\n"; s += "Used Bits: " + QString(cipher.usedBits()) + "\n"; return s; }
SslInfoDlg::SslInfoDlg(const QSslSocket *socket, QWidget *parent) : QDialog(parent), _socket(socket) { ui.setupUi(this); QSslCipher cipher = socket->sessionCipher(); ui.hostname->setText(socket->peerName()); ui.address->setText(socket->peerAddress().toString()); ui.encryption->setText(cipher.name()); ui.protocol->setText(cipher.protocolString()); connect(ui.certificateChain, SIGNAL(currentIndexChanged(int)), SLOT(setCurrentCert(int))); foreach(const QSslCertificate &cert, socket->peerCertificateChain()) { ui.certificateChain->addItem(subjectInfo(cert, QSslCertificate::CommonName)); } }