def equals(
        self,
        other: 'TLSClientHelloSignature',
        allow_tls_permutation: bool = False,
        reason: bool = False
    ):
        """Checks whether two Client Hello messages have the same signature.

        Parameters
        ----------
        other : TLSClientHelloSignature
            The signature of the other Client Hello message.
        allow_tls_permutation : bool
            Allow TLS extension permutations. If set to True, and the TLS
            extensions are identical between the signatures but differ in
            order, the signatures will be considered equal.
        reason : bool
            If True, returns an additional string describing the reason of the
            difference in case of a difference, and None otherwise.
        """
        equal, msg = self._equals(
            other,
            allow_tls_permutation=allow_tls_permutation
        )
        if reason:
            return equal, msg
        else:
            return equal
Checks whether two Client Hello messages have the same signature.

        Parameters
        ----------
        other : TLSClientHelloSignature
            The signature of the other Client Hello message.
        allow_tls_permutation : bool
            Allow TLS extension permutations. If set to True, and the TLS
            extensions are identical between the signatures but differ in
            order, the signatures will be considered equal.
        reason : bool
            If True, returns an additional string describing the reason of the
            difference in case of a difference, and None otherwise.
        
tests/signature.py