code: def process_csr(self, csr, name, idx=None, data=None, pem=True, source='', aux=None):
          
          if csr is None:
              return
  
          from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicKey
  
          pub = csr.public_key()
          if not isinstance(pub, RSAPublicKey):
              return
  
          self.num_rsa += 1
          pubnum = csr.public_key().public_numbers()
  
          js = collections.OrderedDict()
          js['type'] = source
          js['fname'] = name
          js['idx'] = idx
          js['subject'] = utf8ize(try_get_dn_string(csr.subject, shorten=True))
          js['pem'] = data if pem else None
          js['aux'] = aux
          js['e'] = '0x%x' % pubnum.e
          js['n'] = '0x%x' % pubnum.n
  
          if self.has_fingerprint(pubnum.n):
              logger.warning('Fingerprint found in the CSR %s idx %s ' % (name, idx))
              self.mark_and_add_effort(pubnum.n, js)
  
              if self.do_print:
                  print(json.dumps(js))
  
          return TestResult(js)
docs: Processing parsed X509 csr
          :param csr:
          :type csr: cryptography.x509.CertificateSigningRequest
          :param name:
          :param idx:
          :param data:
          :param pem:
          :param source:
          :param aux:
          :return: