credential_file_name may be nil