def list_public_keys(StartTime=None, EndTime=None, NextToken=None):
    """
    Returns all public keys whose private keys were used to sign the digest files within the specified time range. The public key is needed to validate digest files that were signed with its corresponding private key.
    See also: AWS API Documentation
    
    
    :example: response = client.list_public_keys(
        StartTime=datetime(2015, 1, 1),
        EndTime=datetime(2015, 1, 1),
        NextToken='string'
    )
    
    
    :type StartTime: datetime
    :param StartTime: Optionally specifies, in UTC, the start of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used, and the current public key is returned.

    :type EndTime: datetime
    :param EndTime: Optionally specifies, in UTC, the end of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used.

    :type NextToken: string
    :param NextToken: Reserved for future use.

    :rtype: dict
    :return: {
        'PublicKeyList': [
            {
                'Value': b'bytes',
                'ValidityStartTime': datetime(2015, 1, 1),
                'ValidityEndTime': datetime(2015, 1, 1),
                'Fingerprint': 'string'
            },
        ],
        'NextToken': 'string'
    }
    
    
    """
    pass
