docs: def get_public_key(key_info, ctx):
          """
          Get the public key if its defined in X509Certificate node. Otherwise,
          take self.public_key element
          :param sign: Signature node
          :type sign: lxml.etree.Element
          :return: Public key to use
          """
          key = key_info.find(
              'ds:KeyInfo/ds:KeyValue/ds:RSAKeyValue', namespaces=NS_MAP
          )
          if key is not None:
              n = os2ip(b64decode(key.find(
                  'ds:Modulus', namespaces=NS_MAP).text))
              e = os2ip(b64decode(key.find(
                  'ds:Exponent', namespaces=NS_MAP).text))
              return rsa.RSAPublicNumbers(e, n).public_key(default_backend())
          return super(RSAAlgorithm, RSAAlgorithm).get_public_key(key_info, ctx)