code: def import_rsa_publickey_from_file(filepath):
    
  
    # Does 'filepath' have the correct format?
    # Ensure the arguments have the appropriate number of objects and object
    # types, and that all dict keys are properly named.
    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
    securesystemslib.formats.PATH_SCHEMA.check_match(filepath)
  
    # Read the contents of the key file that should be in PEM format and contains
    # the public portion of the RSA key.
    with open(filepath, 'rb') as file_object:
      rsa_pubkey_pem = file_object.read().decode('utf-8')
  
    # Convert 'rsa_pubkey_pem' to 'securesystemslib.formats.RSAKEY_SCHEMA' format.
    try:
      rsakey_dict = securesystemslib.keys.import_rsakey_from_public_pem(rsa_pubkey_pem)
  
    except securesystemslib.exceptions.FormatError as e:
      raise securesystemslib.exceptions.Error('Cannot import improperly formatted'
        ' PEM file.' + repr(str(e)))
  
    return rsakey_dict
docs: <Purpose>
      Import the RSA key stored in 'filepath'.  The key object returned is in the
      format 'securesystemslib.formats.RSAKEY_SCHEMA'.  If the RSA PEM in
      'filepath' contains a private key, it is discarded.
  
    <Arguments>
      filepath:
        <filepath>.pub file, an RSA PEM file.
  
    <Exceptions>
      securesystemslib.exceptions.FormatError, if 'filepath' is improperly
      formatted.
  
      securesystemslib.exceptions.Error, if a valid RSA key object cannot be
      generated.  This may be caused by an improperly formatted PEM file.
  
    <Side Effects>
      'filepath' is read and its contents extracted.
  
    <Returns>
      An RSA key object conformant to 'securesystemslib.formats.RSAKEY_SCHEMA'.