Reference · Tools

Citrix ADC (NetScaler)

Manage SSL certificates and files on a Citrix ADC (NetScaler) appliance via the NITRO REST API.

Action (binary) Utility v1 Binary data

The Citrix ADC (NetScaler) node manages SSL certificates and files on a NetScaler appliance through the NITRO REST API. You can build a full certificate lifecycle workflow — uploading a purchased certificate and key, binding them for SSL termination, and scheduling expiry notifications — entirely without touching the appliance GUI. It also handles arbitrary binary file operations: upload, download, and delete against the appliance filesystem.

Node type
Action (binary)
Parameters
29
Outputs
Output, Error
Credentials
Netscaler ADC API

Citrix ADC (NetScaler)

Manage SSL certificates and files on a Citrix ADC appliance

Overview

The Citrix ADC (NetScaler) tool manages SSL certificates and files on a Citrix ADC appliance through the NITRO REST API. Supports two resources: (1) Certificate — create self-signed Root-CA or CA-signed Intermediate/Server/Client certificates, and install certificate-key pairs for SSL termination. (2) File — upload binary files to the appliance filesystem, download files as binary data, and delete files. File download produces binary output; file upload reads from the item binary property.

Category: Utility
Tool Name: netscaler
Version: 1

Appearance: Icon: lucide-Server | Color: #452170

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Netscaler ADC API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Certificatecertificate
Filefile

Operations

OperationValueDescription
DeletedeleteDelete a file from the appliance
DownloaddownloadDownload a file from the appliance
UploaduploadUpload a file to the appliance
CreatecreateCreate (generate) an SSL certificate
InstallinstallInstall a certificate-key pair for SSL termination

delete, download and upload belong to the File resource; create and install belong to the Certificate resource.

Parameters

Every parameter below supports {{ }} expressions, so paths, file names and certificate names can come from the incoming item.

File: Upload

ParameterTypeRequiredDefaultDescription
File LocationstringYes/nsconfig/ssl/Destination directory path on the appliance (e.g. /nsconfig/ssl/).
Binary PropertystringYesdataName of the binary property containing the file data to upload. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use.
OptionscollectionNo{}Optional upload settings.
— File NamestringNoOverride for the file name on the appliance. If empty, the original filename from binary data is used.

File: Download

ParameterTypeRequiredDefaultDescription
File LocationstringYes/nsconfig/ssl/Directory path on the appliance where the file resides.
File NamestringYesName of the file (without path, just the filename).
Binary PropertystringYesdataName of the binary property to store the downloaded file data. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use.

File: Delete

ParameterTypeRequiredDefaultDescription
File LocationstringYes/nsconfig/ssl/Directory path on the appliance where the file resides.
File NamestringYesName of the file (without path, just the filename).

Certificate: Create

ParameterTypeRequiredDefaultDescription
Certificate File NamestringYesName for and, optionally, path to the generated certificate file. /nsconfig/ssl/ is the default path.
Certificate FormatoptionsYesPEMFormat in which the certificate is stored on the appliance.
Options: PEM, DER
Certificate TypeoptionsYesROOT_CERTType of certificate to create.
Options: ROOT_CERT (self-signed Root-CA certificate; requires a private key file), INTM_CERT (Intermediate-CA certificate signed by a CA), SRVR_CERT (SSL server certificate for end-to-end encryption), CLNT_CERT (end-user client certificate for client authentication)
Certificate Request File NamestringYesName for and, optionally, path to the CSR file. /nsconfig/ssl/ is the default path.
Private Key File NamestringYesName and optional path to the private key file for Root-CA. Stored in /nsconfig/ssl/ by default. (shown when Certificate Type is ROOT_CERT)
CA Certificate File NamestringYesName of the CA certificate file that signs this certificate. (shown when Certificate Type is INTM_CERT, SRVR_CERT, CLNT_CERT)
CA Certificate File FormatoptionsYesPEMFormat of the CA certificate. (shown when Certificate Type is INTM_CERT, SRVR_CERT, CLNT_CERT)
Options: PEM, DER
CA Private Key File NamestringYesPrivate key file associated with the CA certificate used to sign this certificate. (shown when Certificate Type is INTM_CERT, SRVR_CERT, CLNT_CERT)
CA Private Key File FormatoptionsYesPEMFormat of the CA private key. (shown when Certificate Type is INTM_CERT, SRVR_CERT, CLNT_CERT)
Options: PEM, DER
CA Serial File NumberstringYesSerial number file maintained for the CA certificate. (shown when Certificate Type is INTM_CERT, SRVR_CERT, CLNT_CERT)
Additional FieldscollectionNo{}Optional certificate creation parameters.
— PEM PassphrasestringNoPassphrase for the encrypted private key or CA key.
— Subject Alternative NamestringNoSubject Alternative Name (SAN) extension value, e.g. DNS:example.com,DNS:www.example.com.
— Validity Period (Days)stringNoNumber of days the certificate will be valid.

Certificate: Install

ParameterTypeRequiredDefaultDescription
Certificate-Key Pair NamestringYesUnique name for the certificate and private-key pair.
Certificate File NamestringYesPath to the X509 certificate file on the appliance. /nsconfig/ssl/ is the default path.
Private Key File NamestringYesPath to the private key file on the appliance. /nsconfig/ssl/ is the default path.
Certificate FormatoptionsYesPEMFormat of the certificate and private-key files.
Options: PEM, DER
PasswordstringYesPassphrase for PEM-formatted certificate and key files. Leave empty when the key is not encrypted. (shown when Certificate Format is PEM)
Notify When ExpiresbooleanYesfalseWhether to enable an alert when the certificate is about to expire.
Notification Period (Days)numberYes10Days before certificate expiry at which to generate an alert. Between 10 and 100. (shown when Notify When Expires is true)
Certificate BundlebooleanNofalseWhether to parse the certificate chain as a single file after linking the server certificate to its issuer. (shown when Certificate Format is PEM)

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo5Maximum number of items to process concurrently. Keep low for appliance management APIs.

Output Data

Every operation merges its result onto the input item JSON — the incoming fields pass through unchanged — and produces one output item per input item. No operation fans out.

Resource / OperationFields merged onto the itemBinary
file / uploadsuccess: trueThe item’s binary is forwarded unchanged; nothing new is written.
file / downloadfilename, filelocation, fileSize (bytes)The downloaded file is written to the named Binary Property, alongside any binary the item already carried. Its MIME type is detected from the file name and contents.
file / deletesuccess: trueForwarded unchanged.
certificate / createsuccess: trueForwarded unchanged.
certificate / installsuccess: trueForwarded unchanged.

Only file / download returns detail; the other four confirm the call succeeded and rely on the Error output (or the workflow stopping) to signal failure. Reference the result downstream by expression, e.g. {{ $json.filename }} or {{ $json.success }}.

Usage Examples

  • Download an SSL certificate from the ADC appliance
  • Upload a PEM file to /nsconfig/ssl/
  • Create a self-signed Root-CA certificate
  • Install a certificate-key pair for SSL termination
  • Delete an obsolete certificate file from the appliance

Example Configuration

Upload a file from an upstream node into the appliance’s SSL directory, renaming it:

{
  "type": "netscaler",
  "parameters": {
    "resource": "file",
    "operation": "upload",
    "fileLocation": "/nsconfig/ssl/",
    "binaryPropertyName": "fileData",
    "options": {
      "fileName": "server-cert.pem"
    },
    "maxConcurrency": 3
  }
}

Download a certificate file off the appliance into binary data:

{
  "type": "netscaler",
  "parameters": {
    "resource": "file",
    "operation": "download",
    "fileLocation": "/nsconfig/ssl/",
    "fileName": "{{ $json.certFile }}",
    "binaryPropertyName": "downloadedData",
    "maxConcurrency": 2
  }
}

Delete a superseded certificate file:

{
  "type": "netscaler",
  "parameters": {
    "resource": "file",
    "operation": "delete",
    "fileLocation": "/nsconfig/ssl/",
    "fileName": "old-cert.pem"
  }
}

Create a self-signed Root-CA certificate valid for ten years:

{
  "type": "netscaler",
  "parameters": {
    "resource": "certificate",
    "operation": "create",
    "certificateType": "ROOT_CERT",
    "certificateFileName": "root-ca.pem",
    "certificateFormat": "PEM",
    "privateKeyFileName": "root-ca-key.pem",
    "certificateRequestFileName": "root-ca.csr",
    "additionalFields": {
      "days": "3650",
      "pempassphrase": "rootca123"
    }
  }
}

Create a CA-signed server certificate with subject alternative names:

{
  "type": "netscaler",
  "parameters": {
    "resource": "certificate",
    "operation": "create",
    "certificateType": "SRVR_CERT",
    "certificateFileName": "server.pem",
    "certificateFormat": "PEM",
    "certificateRequestFileName": "server.csr",
    "caCertificateFileName": "ca-cert.pem",
    "caCertificateFileFormat": "PEM",
    "caPrivateKeyFileName": "ca-key.pem",
    "caPrivateKeyFileFormat": "PEM",
    "caSerialFileNumber": "ca-serial",
    "additionalFields": {
      "days": "365",
      "subjectaltname": "DNS:www.example.com,DNS:example.com"
    }
  }
}

Create an Intermediate-CA certificate signed by that root:

{
  "type": "netscaler",
  "parameters": {
    "resource": "certificate",
    "operation": "create",
    "certificateType": "INTM_CERT",
    "certificateFileName": "intermediate-ca.pem",
    "certificateFormat": "PEM",
    "certificateRequestFileName": "intermediate-ca.csr",
    "caCertificateFileName": "internal-ca.pem",
    "caCertificateFileFormat": "PEM",
    "caPrivateKeyFileName": "internal-ca-key.pem",
    "caPrivateKeyFileFormat": "PEM",
    "caSerialFileNumber": "ca-serial.txt",
    "additionalFields": {
      "days": "3650"
    }
  }
}

Install a certificate-key pair for SSL termination, with an expiry alert:

{
  "type": "netscaler",
  "parameters": {
    "resource": "certificate",
    "operation": "install",
    "certificateKeyPairName": "web-server-ssl",
    "certificateFileName": "/nsconfig/ssl/server.pem",
    "privateKeyFileName": "/nsconfig/ssl/server-key.pem",
    "certificateFormat": "PEM",
    "password": "cert123",
    "notifyExpiration": true,
    "notificationPeriod": 30,
    "certificateBundle": true
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manage SSL certificates and files on a Citrix ADC (NetScaler) appliance — upload, download, delete files and create/install certificates.

Behavior notes

  • Certificate Type changes which fields you must fill. ROOT_CERT needs a private key file; the other three need the five CA fields instead. The editor hides the ones that do not apply, and the item fails if a required one is blank.
  • Create needs a CSR. Both the certificate file name and the certificate request (CSR) file name are required for create, whichever type you pick.
  • Install expects files already on the appliance. Upload the certificate and key with file / upload first, then reference their appliance paths in install.
  • Notification Period only applies with Notify When Expires on, and the appliance accepts 10 to 100 days.
  • Keep concurrency low. Appliance management APIs are not built for parallel load; the default of 5 is already generous for most appliances.

Common patterns

  • SSL certificate lifecycle — upload the purchased certificate and key with file / upload, then bind them with certificate / install and switch on expiry notification.
  • Internal CA management — create a Root-CA with ROOT_CERT, then create an Intermediate-CA with INTM_CERT that references the root’s files, and issue server certificates with SRVR_CERT.
  • Certificate cleanup — remove expired files from /nsconfig/ssl/ with file / delete.

Frequently asked questions

Do I need to upload files before I can install a certificate?

Yes. The `certificate` / `install` action expects the certificate and key files to already exist on the appliance. You must run `file` / `upload` first to put them in place, then reference their appliance paths in the install step. Skipping the upload and going straight to install will fail because the appliance cannot locate the files.

Why does the form look different depending on which Certificate Type I choose?

The required fields change based on certificate type. `ROOT_CERT` requires a private key file, while the other types (`INTM_CERT`, `SRVR_CERT`, `CLNT_CERT`) require the five CA fields instead. The editor hides fields that do not apply to your selection, but if a required field for your chosen type is left blank, the action will fail. Both the certificate file name and the CSR file name are always required for `create` regardless of type.

How does the node handle binary files during upload and download?

File download produces binary output directly on the node's Output path, not a text or base64 string. File upload reads from the item's binary property, so the file content must already be present as binary data in your workflow before this step runs. Plan your upstream nodes accordingly if you are fetching a file from an external source.

What is the Notification Period setting and when does it actually do anything?

Notification Period only takes effect when the Notify When Expires option is also enabled. It accepts values between 10 and 100 days — the appliance will reject values outside that range. If Notify When Expires is off, the Notification Period field is ignored entirely.

How many parallel executions should I allow when using this node?

Keep concurrency low. The NITRO REST API on NetScaler appliances is not designed for high parallel load, and the default of 5 concurrent executions is already on the generous side for most appliances. If you are running bulk certificate or file operations, consider reducing concurrency further to avoid overwhelming the management plane.

Build with the Citrix ADC (NetScaler) node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Netscaler ADC API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.