code: def _HasExpired(self, key):
      
      self.logger.debug('Processing key: %s.', key)
  
      try:
        schema, json_str = key.split(None, 3)[2:]
      except (ValueError, AttributeError):
        self.logger.debug('No schema identifier. Not expiring key.')
        return False
  
      if schema != 'google-ssh':
        self.logger.debug('Invalid schema %s. Not expiring key.', schema)
        return False
  
      try:
        json_obj = json.loads(json_str)
      except ValueError:
        self.logger.debug('Invalid JSON %s. Not expiring key.', json_str)
        return False
  
      if 'expireOn' not in json_obj:
        self.logger.debug('No expiration timestamp. Not expiring key.')
        return False
  
      expire_str = json_obj['expireOn']
      format_str = '%Y-%m-%dT%H:%M:%S+0000'
      try:
        expire_time = datetime.datetime.strptime(expire_str, format_str)
      except ValueError:
        self.logger.warning(
            'Expiration timestamp "%s" not in format %s. Not expiring key.',
            expire_str, format_str)
        return False
  
      # Expire the key if and only if we have exceeded the expiration timestamp.
      return datetime.datetime.utcnow() > expire_time
docs: Check whether an SSH key has expired.
  
      Uses Google-specific semantics of the OpenSSH public key format's comment
      field to determine if an SSH key is past its expiration timestamp, and
      therefore no longer to be trusted. This format is still subject to change.
      Reliance on it in any way is at your own risk.
  
      Args:
        key: string, a single public key entry in OpenSSH public key file format.
            This will be checked for Google-specific comment semantics, and if
            present, those will be analysed.
  
      Returns:
        bool, True if the key has Google-specific comment semantics and has an
            expiration timestamp in the past, or False otherwise.