def import_rsakey_from_private_pem(pem, scheme='<STR_LIT>', password=None):
<EOL>securesystemslib.formats.PEMRSA_SCHEMA.check_match(pem)<EOL>securesystemslib.formats.RSA_SCHEME_SCHEMA.check_match(scheme)<EOL>if password is not None:<EOL><INDENT>securesystemslib.formats.PASSWORD_SCHEMA.check_match(password)<EOL><DEDENT>else:<EOL><INDENT>logger.debug('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>rsakey_dict = {}<EOL>keytype = '<STR_LIT>'<EOL>public = None<EOL>private = None<EOL>public, private =securesystemslib.pyca_crypto_keys.create_rsa_public_and_private_from_pem(<EOL>pem, password)<EOL>public =  extract_pem(public, private_pem=False)<EOL>private = extract_pem(private, private_pem=True)<EOL>key_value = {'<STR_LIT>': public.replace('<STR_LIT:\r\n>', '<STR_LIT:\n>'),<EOL>'<STR_LIT>': '<STR_LIT>'}<EOL>keyid = _get_keyid(keytype, scheme, key_value)<EOL>key_value['<STR_LIT>'] = private<EOL>rsakey_dict['<STR_LIT>'] = keytype<EOL>rsakey_dict['<STR_LIT>'] = scheme<EOL>rsakey_dict['<STR_LIT>'] = keyid<EOL>rsakey_dict['<STR_LIT>'] = key_value<EOL>return rsakey_dict<EOL>
<Purpose>
  Import the private RSA key stored in 'pem', and generate its public key
  (which will also be included in the returned rsakey object).  In addition,
  a keyid identifier for the RSA key is generated.  The object returned
  conforms to 'securesystemslib.formats.RSAKEY_SCHEMA' and has the form:

  {'keytype': 'rsa',
   'scheme': 'rsassa-pss-sha256',
   'keyid': keyid,
   'keyval': {'public': '-----BEGIN RSA PUBLIC KEY----- ...',
              'private': '-----BEGIN RSA PRIVATE KEY----- ...'}}

  The private key is a string in PEM format.

  >>> rsa_key = generate_rsa_key()
  >>> scheme = rsa_key['scheme']
  >>> private = rsa_key['keyval']['private']
  >>> passphrase = 'secret'
  >>> encrypted_pem = create_rsa_encrypted_pem(private, passphrase)
  >>> rsa_key2 = import_rsakey_from_private_pem(encrypted_pem, scheme, passphrase)
  >>> securesystemslib.formats.RSAKEY_SCHEMA.matches(rsa_key)
  True
  >>> securesystemslib.formats.RSAKEY_SCHEMA.matches(rsa_key2)
  True

<Arguments>
  pem:
    A string in PEM format.  The private key is extracted and returned in
    an rsakey object.

  scheme:
    The signature scheme used by the imported key.

  password: (optional)
    The password, or passphrase, to decrypt the private part of the RSA key
    if it is encrypted.  'password' is not used directly as the encryption
    key, a stronger encryption key is derived from it.

<Exceptions>
  securesystemslib.exceptions.FormatError, if the arguments are improperly
  formatted.

  securesystemslib.exceptions.UnsupportedAlgorithmError, if 'pem' specifies
  an unsupported key type.

<Side Effects>
  None.

<Returns>
  A dictionary containing the RSA keys and other identifying information.
  Conforms to 'securesystemslib.formats.RSAKEY_SCHEMA'.