Built for Citrix NetScaler
Pre-built templates for standalone appliances, HA pairs, and clusters ship in your CertKit account. No scripting required.
When a certificate renews, the files under
/nsconfig/ssl go stale and every binding keeps serving the old certificate
until someone uploads the new files, updates the certkey, and saves the configuration.
Every 47 days.
On every appliance you manage.
CertKit centralizes certificate issuance and renewal, then pushes the renewed certificate to your NetScaler appliances (Citrix ADC) automatically via the CertKit Agent over SSH, refreshes the certkey pair in place, and saves the config.
Pre-built templates for standalone appliances, HA pairs, and clusters ship in your CertKit account. No scripting required.
CertKit renews your NetScaler certificate for you. On every renewal it uploads the new
certificate, private key, and intermediate chain over SCP, runs
update ssl certkey so the pair refreshes in place, wires the chain links,
and saves the running configuration. Every SSL-offload virtual server, service, and
Citrix Gateway bound to that certkey serves the new certificate immediately. No
per-vserver rebinding, no service restart.
Three pre-built NetScaler templates ship with your CertKit account — one each for a standalone appliance, an HA pair, and a cluster. Point CertKit at your appliance once and it handles every renewal after that. If you want to see or adjust exactly what runs, the full deployment script is right there in your account.
The manual process, if you want to do it yourself:
/nsconfig/ssl over SCP. Point at the wrong path and the install fails
with "cannot find file or folder".
save ns config, or the renewal disappears on the next reboot.
Then repeat on every appliance that doesn't share HA config.
Every one of these steps is manual, and NetScaler won't repeat any of them for you when the certificate renews. With lifetimes shrinking to 47 days, installation stops being an annual chore and becomes a recurring task: twelve times a year, on every MPX, VPX, and SDX you run. Miss one and Citrix Gateway greets remote workers with an expired certificate.
At 47 days, automation is the only sustainable way to run NetScaler certificates. Here's how CertKit does it.
Your network CertKit ACME CA ┌───────────────────┐ ┌──────────────────┐ ┌─────────────┐ │ ┌─────────────┐ │ │ │ │ │ │ │Deploy Agent │◄─┼─────┤ Issue & Renew │◄──►│ │ │ └──┬────┬─────┘ │ │ Certificates │ │ │ │ │ │ SSH/ │ │ ┌───┐ └─────────────┘ │ │ │ SCP │ └───────────┬────│DNS│ │ ▼ ▼ │ │ └───┘ │ ┌──────────────┐ │ │ │ │ NetScaler │ │ │ │ │ [x] Uploaded │ │ ◄───────────────┘ │ │ [x] Updated │ │ Verify │ └──────────────┘ │ └───────────────────┘
CertKit issues and renews certificates centrally in the cloud using delegated DNS validation. You create a one-time CNAME record; CertKit handles every ACME challenge after that.
The deploy agent is a small service you run on a Windows host inside your network. It makes an outbound HTTPS connection to CertKit to pull each renewed certificate, then connects to the NetScaler management address — the NSIP, or the cluster IP for a cluster — over SSH on your LAN to upload the files and refresh the certkey pair. The appliance never talks to CertKit or the public internet directly, never runs ACME, needs no port 80 open, and never stores DNS credentials. One deploy agent can reach every NetScaler and other appliance on that network, so there's nothing to install on the appliances themselves.
From an operational perspective, CertKit is easy to deploy and manage. The ability to configure unique and specialized certificates is key to replacing our manual certificate processes.
Laura Thomas, Senior Central Systems Administrator, University of St. Thomas
A certificate renewal has to land differently on a standalone appliance, an HA pair, and a cluster — files that exist on only one node are a certificate outage waiting for a failover. CertKit ships a separate template for each topology, so the deployment matches how your NetScalers are actually built.
The HA pair template can point at either node. It reads the HA state and
deploys through whichever node is currently primary, refuses to run if either node is
down or command propagation is disabled, and runs sync HA files ssl so the
uploaded files reach the secondary before any certkey command that depends on them.
Certkey commands and the config save propagate to the secondary, so both nodes serve the
new certificate — including after a failover.
The cluster template connects through the cluster management IP (CLIP),
where the configuration coordinator propagates every command to every node. It runs
sync cluster files ssl after the uploads so the files exist cluster-wide
before the certkey refresh, and verifies cluster health before and after the update.
A certificate renewal has to land differently on a standalone appliance, an HA pair, and a cluster — files that exist on only one node are a certificate outage waiting for a failover. CertKit ships a separate template for each topology, so the deployment matches how your NetScalers are actually built.
The HA pair template can point at either node. It reads the HA state and
deploys through whichever node is currently primary, refuses to run if either node is
down or command propagation is disabled, and runs sync HA files ssl so the
uploaded files reach the secondary before any certkey command that depends on them.
Certkey commands and the config save propagate to the secondary, so both nodes serve the
new certificate — including after a failover.
The cluster template connects through the cluster management IP (CLIP),
where the configuration coordinator propagates every command to every node. It runs
sync cluster files ssl after the uploads so the files exist cluster-wide
before the certkey refresh, and verifies cluster health before and after the update.
/nsconfig/ssl, next to the appliance's existing SSL files.
update ssl certkey over SSH, so every virtual server,
service, and Citrix Gateway bound to the pair serves the new certificate the moment
the update lands. No per-vserver rebinding, no restart, no dropped sessions. The
update passes -noDomainCheck, so a renewal whose subject changed — or a
short-lived certificate with no Common Name at all — doesn't fail NetScaler's
domain-match check.
certkit-i- name — reusing it if it's already installed
under another name — and wires the links leaf → intermediate → intermediate. Routine
renewals leave the links untouched; they're rewired only when the chain itself changed.
save ns config so the
renewal survives a reboot.
ssh-keygen and add the public key to the
NetScaler user's authorized keys (/nsconfig/ssh/authorized_keys for
nsroot). A dedicated automation account is better practice than nsroot.
Answering ACME challenges from the appliance itself is fragile. HTTP-01 means maintaining responder policies for the challenge path on every domain's virtual server. DNS-01 means storing DNS provider credentials on the device that terminates TLS for your applications, which is a privilege escalation waiting to happen.
Scripting the renewal yourself has its own sharp edges: SSH automation against the NSIP,
the domain check that rejects an update when the subject changed, keeping
/nsconfig/ssl in sync across HA nodes, and the save ns config
everyone forgets until a reboot rolls the certificate back. We built and tested the
deployment so you don't have to. CertKit issues the certificate via
delegated DNS validation, then the agent
handles the upload, the certkey update, and the save as one verified step, with
no ACME client on the appliance.
Most networks have more than one place where TLS certificates live: other load balancers like F5 BIG-IP and Kemp LoadMaster, firewalls like Fortinet, Palo Alto, SonicWall, Cisco Firepower, and Juniper SRX, plus the web servers behind them. CertKit automates all of it from one account.
Free 90-day trial. No credit card required. Direct access to our engineering team to get you set up.