Helpviewer/SslInfoDialog.py

changeset 1427
09d6731b73ad
parent 1367
a652a6794953
child 1509
c0b5e693b0eb
--- a/Helpviewer/SslInfoDialog.py	Sat Nov 05 11:19:51 2011 +0100
+++ b/Helpviewer/SslInfoDialog.py	Sun Nov 06 19:48:46 2011 +0100
@@ -7,14 +7,10 @@
 Module implementing a dialog to show SSL certificate infos.
 """
 
-from PyQt4.QtCore import QCryptographicHash, QDateTime, Qt
 from PyQt4.QtGui import QDialog
-from PyQt4.QtNetwork import QSslCertificate
 
 from .Ui_SslInfoDialog import Ui_SslInfoDialog
 
-import Utilities
-
 
 class SslInfoDialog(QDialog, Ui_SslInfoDialog):
     """
@@ -30,98 +26,4 @@
         super().__init__(parent)
         self.setupUi(self)
         
-        self.blacklistedLabel.setVisible(False)
-        self.blacklistedLabel.setStyleSheet(
-            "QLabel { color : white; background-color : red; }")
-        self.expiredLabel.setVisible(False)
-        self.expiredLabel.setStyleSheet(
-            "QLabel { color : white; background-color : red; }")
-        
-        self.subjectCommonNameLabel.setText(self.__certificateString(
-            certificate.subjectInfo(QSslCertificate.CommonName)))
-        self.subjectOrganizationLabel.setText(self.__certificateString(
-            certificate.subjectInfo(QSslCertificate.Organization)))
-        self.subjectOrganizationalUnitLabel.setText(self.__certificateString(
-            certificate.subjectInfo(QSslCertificate.OrganizationalUnitName)))
-        self.serialNumberLabel.setText(self.__serialNumber(certificate))
-        self.issuerCommonNameLabel.setText(self.__certificateString(
-            certificate.issuerInfo(QSslCertificate.CommonName)))
-        self.issuerOrganizationLabel.setText(self.__certificateString(
-            certificate.issuerInfo(QSslCertificate.Organization)))
-        self.issuerOrganizationalUnitLabel.setText(self.__certificateString(
-            certificate.issuerInfo(QSslCertificate.OrganizationalUnitName)))
-        self.effectiveLabel.setText(Qt.escape(
-            certificate.effectiveDate().toString("yyyy-MM-dd")))
-        self.expiresLabel.setText(Qt.escape(
-            certificate.expiryDate().toString("yyyy-MM-dd")))
-        self.sha1Label.setText(self.__formatHexString(
-            str(certificate.digest(QCryptographicHash.Sha1).toHex(), encoding="ascii")))
-        self.md5Label.setText(self.__formatHexString(
-            str(certificate.digest(QCryptographicHash.Md5).toHex(), encoding="ascii")))
-        
-        if not certificate.isValid():
-            # something is wrong; indicate it to the user
-            if self.__hasExpired(certificate.effectiveDate(), certificate.expiryDate()):
-                self.expiredLabel.setVisible(True)
-            else:
-                self.blacklistedLabel.setVisible(True)
-    
-    def __certificateString(self, txt):
-        """
-        Private method to prepare some text for display.
-        
-        @param txt text to be displayed (string)
-        @return prepared text (string)
-        """
-        if txt is None or txt == "":
-            return self.trUtf8("<not part of the certificate>")
-        
-        return Qt.escape(Utilities.decodeString(txt))
-    
-    def __serialNumber(self, cert):
-        """
-        Private slot to format the certificate serial number.
-        
-        @param cert reference to the SSL certificate (QSslCertificate)
-        @return formated serial number (string)
-        """
-        serial = cert.serialNumber()
-        if serial == "":
-            return self.trUtf8("<not part of the certificate>")
-        
-        if ':' in serial:
-            return str(serial, encoding="ascii").upper()
-        else:
-            hexString = hex(int(serial))[2:]
-            return self.__formatHexString(hexString)
-    
-    def __formatHexString(self, hexString):
-        """
-        Private method to format a hex string for display.
-        
-        @param hexString hex string to be formatted (string)
-        @return formatted string (string)
-        """
-        hexString = hexString.upper()
-        
-        if len(hexString) % 2 == 1:
-            hexString = '0' + hexString
-        
-        hexList = []
-        while hexString:
-            hexList.append(hexString[:2])
-            hexString = hexString[2:]
-        
-        return Qt.escape(':'.join(hexList))
-    
-    def __hasExpired(self, effectiveDate, expiryDate):
-        """
-        Private method to check for a certificate expiration.
-        
-        @param effectiveDate date the certificate becomes effective (QDateTime)
-        @param expiryDate date the certificate expires (QDateTime)
-        @return flag indicating the expiration status (boolean)
-        """
-        now = QDateTime.currentDateTime()
-        
-        return now < effectiveDate or now >= expiryDate
+        self.sslWidget.showCertificate(certificate)

eric ide

mercurial