---
title: "CSV files description"
canonical: "https://docs.cuesystem.com/space/TOPSS/276005113/CSV%20files%20description"
format: markdown
---
The list of units/certificates with which the power shell script will work is given in the CSV (comma-separated value) file.

A comma-separated values (CSV) file is a delimited text file that uses a comma to separate values. Each record consists of one or more fields, separated by commas. Each line is separated by CR-LF characters. A CSV file typically stores tabular data (numbers and text) in plain text, in which case each line will have the same number of fields. CSV is a common data exchange format that is widely supported by consumer, business, and scientific applications, e.g. Microsoft Excel.

## CSV file for firmware update

The CSV file must contain one column that has an name IP. The individual lines then contain the IP addresses of the individual touchONE units in which the firmware update is to be performed. Alternatively, you can use a fully qualified hostname instead of an IP address. The firmware (cvcf) files for the units and the CSV file must be in the same directory as the script.

Example file content:  
IP  
192.168.1.128  
192.168.1.129

An example of this file is bundled with **touchone_v1.ps1** script under the name **table_update.csv**.

CSV file for a firmware update can be easily created using Cue Network Scanner. Details can be found below.

## CSV file for 802.1X certificate upload

Certificate files must be in the same directory as the script. 

Certificates in **Base 64 Encoded X.509 PEM** (typically *.pem, *.crt, *.cer, *.key, *.txt) and **PKCS #12** (typically *.p12, *.pfx) format are supported.

Each line of CSV file contains the settings for one touchONE unit in which 802.1x is to be set. 

The CSV file must contain five columns: 

- **IP **- IP address ot the unit. Alternatively, you can use a fully qualified hostname here.
- **Usercertificate **- the name of the file that contains the user certificate in PEM or PKCS12 format. The file can also contain a private key.
- **Userprivatekey **- the name of the file that contains the private key to the user certificate. Blank text if the private key is already part of the Usercertificate file.
- **Password **- password to the private key file. If the private key is not encrypted with a password, then the text is blank.
- **ServerCACertificate **- CA server certificate file.

## Example file content:

| **IP** | Usercertificate | Userprivatekey | Password | ServerCACertificate |
| --- | --- | --- | --- | --- |
| 192.168.1.128 | u1.pem | u1_priv.pem | abc | serverCA.pem |
| 192.168.1.129 | u2_priv.pem | u2_priv.pem | xyz | serverCA.pem |

An example of this file is bundled with touchone_v1.ps1 script under the name **table_8021x**.

You can create a file skeleton with the appropriate columns and a list of IP addresses using Cue Network Scanner.