Пример #1
0
    def _update_results(self, context: ssl.SSLContext, ssock: ssl.SSLSocket,
                        success: bool):

        self.results['ssl.success'] = success

        cert = ssock.getpeercert() if success else None
        self.results['ssl.con.cert'] = cert
        self.results['ssl.con.cipher'], self.results[
            'ssl.con.protocol'], self.results[
                'ssl.con.secret_bits'] = ssock.cipher() or (None, None, None)
        self.results['ssl.con.compression'] = ssock.compression() or None
        self.results['ssl.con.alpn_protocol'] = ssock.selected_alpn_protocol(
        ) or None
        self.results['ssl.con.npn_protocol'] = ssock.selected_npn_protocol(
        ) or None
        self.results['ssl.con.ssl_version'] = ssock.version() or None
        self.results['ssl.con.server_hostname'] = ssock.server_hostname or None
        self.results[
            'ssl.con.cert.matches_hostname'] = True if cert is not None and ssl.match_hostname(
                cert, self.host) else False