Product Documentation

sslprofile

Sep 07, 2016

Configuration for SSL profile resource.

Properties (click to see Operations)

Name Data Type Permissions Description
name
<String>
Read-write
Name for the SSL profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the profile is created.
Minimum length = 1
Maximum length = 127
sslprofiletype
<String>
Read-write
Type of profile. Front end profiles apply to the entity that receives requests from a client. Backend profiles apply to the entity that sends client requests to a server.
Default value: FrontEnd
Possible values = BackEnd, FrontEnd
dhcount
<Double>
Read-write
Number of interactions, between the client and the NetScaler appliance, after which the DH private-public pair is regenerated. A value of zero (0) specifies infinite use (no refresh).
This parameter is not applicable when configuring a backend profile.
Minimum value = 0
Maximum value = 65534
dh
<String>
Read-write
State of Diffie-Hellman (DH) key exchange.
This parameter is not applicable when configuring a backend profile.
Default value: DISABLED
Possible values = ENABLED, DISABLED
dhfile
<String>
Read-write
The file name and path for the DH parameter.
Minimum length = 1
ersa
<String>
Read-write
State of Ephemeral RSA (eRSA) key exchange. Ephemeral RSA allows clients that support only export ciphers to communicate with the secure server even if the server certificate does not support export clients. The ephemeral RSA key is automatically generated when you bind an export cipher to an SSL or TCP-based SSL virtual server or service. When you remove the export cipher, the eRSA key is not deleted. It is reused at a later date when another export cipher is bound to an SSL or TCP-based SSL virtual server or service. The eRSA key is deleted when the appliance restarts.
This parameter is not applicable when configuring a backend profile.
Default value: ENABLED
Possible values = ENABLED, DISABLED
ersacount
<Double>
Read-write
The refresh count for the re-generation of RSA public-key and private-key pair.
Minimum value = 0
Maximum value = 65534
sessreuse
<String>
Read-write
State of session reuse. Establishing the initial handshake requires CPU-intensive public key encryption operations. With the ENABLED setting, session key exchange is avoided for session resumption requests received from the client.
Default value: ENABLED
Possible values = ENABLED, DISABLED
sesstimeout
<Double>
Read-write
The Session timeout value in seconds.
Minimum value = 0
Maximum value = 4294967294
cipherredirect
<String>
Read-write
State of Cipher Redirect. If this parameter is set to ENABLED, you can configure an SSL virtual server or service to display meaningful error messages if the SSL handshake fails because of a cipher mismatch between the virtual server or service and the client.
This parameter is not applicable when configuring a backend profile.
Default value: DISABLED
Possible values = ENABLED, DISABLED
cipherurl
<String>
Read-write
The redirect URL to be used with the Cipher Redirect feature.
clientauth
<String>
Read-write
State of client authentication. In service-based SSL offload, the service terminates the SSL handshake if the SSL client does not provide a valid certificate.
This parameter is not applicable when configuring a backend profile.
Default value: DISABLED
Possible values = ENABLED, DISABLED
clientcert
<String>
Read-write
The rule for client certificate requirement in client authentication.
Possible values = Mandatory, Optional
dhkeyexpsizelimit
<String>
Read-write
This option enables the use of NIST recommended (NIST Special Publication 800-56A) bit size for private-key size. For example, for DH params of size 2048bit, the private-key size recommended is 224bits. This is rounded-up to 256bits.
Default value: DISABLED
Possible values = ENABLED, DISABLED
sslredirect
<String>
Read-write
State of HTTPS redirects for the SSL service.
For an SSL session, if the client browser receives a redirect message, the browser tries to connect to the new location. However, the secure SSL session breaks if the object has moved from a secure site (https://) to an unsecure site (http://). Typically, a warning message appears on the screen, prompting the user to continue or disconnect.
If SSL Redirect is ENABLED, the redirect message is automatically converted from http:// to https:// and the SSL session does not break.
This parameter is not applicable when configuring a backend profile.
Default value: DISABLED
Possible values = ENABLED, DISABLED
redirectportrewrite
<String>
Read-write
State of the port rewrite while performing HTTPS redirect. If this parameter is set to ENABLED, and the URL from the server does not contain the standard port, the port is rewritten to the standard.
Default value: DISABLED
Possible values = ENABLED, DISABLED
ssl3
<String>
Read-write
State of SSLv3 protocol support for the SSL profile.
Default value: DISABLED
Possible values = ENABLED, DISABLED
tls1
<String>
Read-write
State of TLSv1.0 protocol support for the SSL profile.
Default value: ENABLED
Possible values = ENABLED, DISABLED
tls11
<String>
Read-write
State of TLSv1.1 protocol support for the SSL profile.
Default value: ENABLED
Possible values = ENABLED, DISABLED
tls12
<String>
Read-write
State of TLSv1.2 protocol support for the SSL profile.
Default value: ENABLED
Possible values = ENABLED, DISABLED
snienable
<String>
Read-write
State of the Server Name Indication (SNI) feature on the virtual server and service-based offload. SNI helps to enable SSL encryption on multiple domains on a single virtual server or service if the domains are controlled by the same organization and share the same second-level domain name. For example, *.sports.net can be used to secure domains such as login.sports.net and help.sports.net.
Default value: DISABLED
Possible values = ENABLED, DISABLED
serverauth
<String>
Read-write
State of server authentication support for the SSL Backend profile.
Default value: DISABLED
Possible values = ENABLED, DISABLED
commonname
<String>
Read-write
Name to be checked against the CommonName (CN) field in the server certificate bound to the SSL server.
Minimum length = 1
pushenctrigger
<String>
Read-write
Trigger encryption on the basis of the PUSH flag value. Available settings function as follows:
* ALWAYS - Any PUSH packet triggers encryption.
* IGNORE - Ignore PUSH packet for triggering encryption.
* MERGE - For a consecutive sequence of PUSH packets, the last PUSH packet triggers encryption.
* TIMER - PUSH packet triggering encryption is delayed by the time defined in the set ssl parameter command or in the Change Advanced SSL Settings dialog box.
Possible values = Always, Merge, Ignore, Timer
sendclosenotify
<String>
Read-write
Enable sending SSL Close-Notify at the end of a transaction.
Default value: YES
Possible values = YES, NO
cleartextport
<Integer>
Read-write
Port on which clear-text data is sent by the appliance to the server. Do not specify this parameter for SSL offloading with end-to-end encryption.
Range 1 - 65535
* in CLI is represented as 65535 in NITRO API
insertionencoding
<String>
Read-write
Encoding method used to insert the subject or issuer's name in HTTP requests to servers.
Default value: Unicode
Possible values = Unicode, UTF-8
denysslreneg
<String>
Read-write
Deny renegotiation in specified circumstances. Available settings function as follows:
* NO - Allow SSL renegotiation.
* FRONTEND_CLIENT - Deny secure and nonsecure SSL renegotiation initiated by the client.
* FRONTEND_CLIENTSERVER - Deny secure and nonsecure SSL renegotiation initiated by the client or the NetScaler during policy-based client authentication.
* ALL - Deny all secure and nonsecure SSL renegotiation.
* NONSECURE - Deny nonsecure SSL renegotiation. Allows only clients that support RFC 5746.
Default value: ALL
Possible values = NO, FRONTEND_CLIENT, FRONTEND_CLIENTSERVER, ALL, NONSECURE
quantumsize
<String>
Read-write
Amount of data to collect before the data is pushed to the crypto hardware for encryption. For large downloads, a larger quantum size better utilizes the crypto resources.
Default value: 8192
Possible values = 4096, 8192, 16384
strictcachecks
<String>
Read-write
Enable strict CA certificate checks on the appliance.
Default value: NO
Possible values = YES, NO
encrypttriggerpktcount
<Double>
Read-write
Maximum number of queued packets after which encryption is triggered. Use this setting for SSL transactions that send small packets from server to NetScaler.
Default value: 45
Minimum value = 10
Maximum value = 50
pushflag
<Double>
Read-write
Insert PUSH flag into decrypted, encrypted, or all records. If the PUSH flag is set to a value other than 0, the buffered records are forwarded on the basis of the value of the PUSH flag. Available settings function as follows:
0 - Auto (PUSH flag is not set.)
1 - Insert PUSH flag into every decrypted record.
2 -Insert PUSH flag into every encrypted record.
3 - Insert PUSH flag into every decrypted and encrypted record.
Minimum value = 0
Maximum value = 3
dropreqwithnohostheader
<String>
Read-write
Host header check for SNI enabled sessions. If this check is enabled and the HTTP request does not contain the host header for SNI enabled sessions, the request is dropped.
Default value: NO
Possible values = YES, NO
pushenctriggertimeout
<Double>
Read-write
PUSH encryption trigger timeout value. The timeout value is applied only if you set the Push Encryption Trigger parameter to Timer in the SSL virtual server settings.
Default value: 1
Minimum value = 1
Maximum value = 200
ssltriggertimeout
<Double>
Read-write
Time, in milliseconds, after which encryption is triggered for transactions that are not tracked on the NetScaler appliance because their length is not known. There can be a delay of up to 10ms from the specified timeout value before the packet is pushed into the queue.
Default value: 100
Minimum value = 1
Maximum value = 200
clientauthuseboundcachain
<String>
Read-write
Certficates bound on the VIP are used for validating the client cert. Certficates came along with client cert are not used for validating the client cert.
Default value: DISABLED
Possible values = ENABLED, DISABLED
ciphername
<String>
Read-write
The cipher group/alias/individual cipher configuration.
cipherpriority
<Double>
Read-write
cipher priority.
Minimum value = 1
nonfipsciphers
<String>
Read-only
State of usage of ciphers that are not FIPS approved. Valid only for an SSL service bound with a FIPS key and certificate.
Default value: DISABLED
Possible values = ENABLED, DISABLED
crlcheck
<String>
Read-only
The state of the CRL check parameter. (Mandatory/Optional).
Possible values = Mandatory, Optional
ocspcheck
<String>
Read-only
The state of the OCSP check parameter. (Mandatory/Optional).
Possible values = Mandatory, Optional
snicert
<Boolean>
Read-only
The name of the CertKey. Use this option to bind Certkey(s) which will be used in SNI processing.
skipcaname
<Boolean>
Read-only
The flag is used to indicate whether this
particular CA certificate's CA_Name needs to be sent to
the SSL client while requesting for client certificate
in a SSL handshake.
invoke
<Boolean>
Read-only
Invoke flag. This attribute is relevant only for ADVANCED policies.
labeltype
<String>
Read-only
Type of policy label invocation.
Possible values = vserver, service, policylabel
service
<Double>
Read-only
Service.
builtin
<String[]>
Read-only
Flag to determine whether ssl profile is built-in or not.
Possible values = MODIFIABLE, DELETABLE, IMMUTABLE, PARTITION_ALL
sslpfobjecttype
<Double>
Read-only
Internal flag to indicate what type of object binds this profile: monitor or service.
__count
<Double>
Read-only
count parameter

Operations (click to see Properties)

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the "warning" query parameter as "yes". For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http://<netscaler-ip-address>/nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code "209 X-NITRO-WARNING".

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER:<username>

    X-NITRO-PASS:<password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

메모

Mandatory parameters are marked in red and placeholder content is marked in <green>.

add

URL: http://<netscaler-ip-address>/nitro/v1/config/sslprofile

HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Content-Type:application/json

Request Payload:

{"sslprofile":{
      "name":<String_value>,
      "sslprofiletype":<String_value>,
      "dhcount":<Double_value>,
      "dh":<String_value>,
      "dhfile":<String_value>,
      "ersa":<String_value>,
      "ersacount":<Double_value>,
      "sessreuse":<String_value>,
      "sesstimeout":<Double_value>,
      "cipherredirect":<String_value>,
      "cipherurl":<String_value>,
      "clientauth":<String_value>,
      "clientcert":<String_value>,
      "dhkeyexpsizelimit":<String_value>,
      "sslredirect":<String_value>,
      "redirectportrewrite":<String_value>,
      "ssl3":<String_value>,
      "tls1":<String_value>,
      "tls11":<String_value>,
      "tls12":<String_value>,
      "snienable":<String_value>,
      "serverauth":<String_value>,
      "commonname":<String_value>,
      "pushenctrigger":<String_value>,
      "sendclosenotify":<String_value>,
      "cleartextport":<Integer_value>,
      "insertionencoding":<String_value>,
      "denysslreneg":<String_value>,
      "quantumsize":<String_value>,
      "strictcachecks":<String_value>,
      "encrypttriggerpktcount":<Double_value>,
      "pushflag":<Double_value>,
      "dropreqwithnohostheader":<String_value>,
      "pushenctriggertimeout":<Double_value>,
      "ssltriggertimeout":<Double_value>,
      "clientauthuseboundcachain":<String_value>
}}

Response:

HTTP Status Code on Success: 201 Created
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

delete

URL: http://<netscaler-ip-address>/nitro/v1/config/sslprofile/name_value<String>

HTTP Method: DELETE

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

update

URL: http://<netscaler-ip-address>/nitro/v1/config/sslprofile

HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Content-Type:application/json

Request Payload:

{"sslprofile":{
      "name":<String_value>,
      "dh":<String_value>,
      "dhfile":<String_value>,
      "dhcount":<Double_value>,
      "dhkeyexpsizelimit":<String_value>,
      "ersa":<String_value>,
      "ersacount":<Double_value>,
      "sessreuse":<String_value>,
      "sesstimeout":<Double_value>,
      "cipherredirect":<String_value>,
      "cipherurl":<String_value>,
      "clientauth":<String_value>,
      "clientcert":<String_value>,
      "sslredirect":<String_value>,
      "redirectportrewrite":<String_value>,
      "ssl3":<String_value>,
      "tls1":<String_value>,
      "tls11":<String_value>,
      "tls12":<String_value>,
      "snienable":<String_value>,
      "serverauth":<String_value>,
      "commonname":<String_value>,
      "pushenctrigger":<String_value>,
      "sendclosenotify":<String_value>,
      "cleartextport":<Integer_value>,
      "insertionencoding":<String_value>,
      "denysslreneg":<String_value>,
      "quantumsize":<String_value>,
      "strictcachecks":<String_value>,
      "encrypttriggerpktcount":<Double_value>,
      "pushflag":<Double_value>,
      "dropreqwithnohostheader":<String_value>,
      "pushenctriggertimeout":<Double_value>,
      "ssltriggertimeout":<Double_value>,
      "clientauthuseboundcachain":<String_value>,
      "ciphername":<String_value>,
      "cipherpriority":<Double_value>
}}

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

unset

URL: http://<netscaler-ip-address>/nitro/v1/config/sslprofile?action=unset

HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Content-Type:application/json

Request Payload:

{"sslprofile":{
      "name":<String_value>,
      "dh":true,
      "dhfile":true,
      "dhcount":true,
      "dhkeyexpsizelimit":true,
      "ersa":true,
      "ersacount":true,
      "sessreuse":true,
      "sesstimeout":true,
      "cipherredirect":true,
      "cipherurl":true,
      "clientauth":true,
      "clientcert":true,
      "sslredirect":true,
      "redirectportrewrite":true,
      "ssl3":true,
      "tls1":true,
      "tls11":true,
      "tls12":true,
      "snienable":true,
      "serverauth":true,
      "commonname":true,
      "pushenctrigger":true,
      "sendclosenotify":true,
      "cleartextport":true,
      "insertionencoding":true,
      "denysslreneg":true,
      "quantumsize":true,
      "strictcachecks":true,
      "encrypttriggerpktcount":true,
      "pushflag":true,
      "dropreqwithnohostheader":true,
      "pushenctriggertimeout":true,
      "ssltriggertimeout":true,
      "clientauthuseboundcachain":true,
      "ciphername":true,
      "cipherpriority":true
}}

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

get (all)

URL: http://<netscaler-ip-address>/nitro/v1/config/sslprofile

Query-parameters:

attrs

http://<netscaler-ip-address>/nitro/v1/config/sslprofile?attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

filter

http://<netscaler-ip-address>/nitro/v1/config/sslprofile?filter=property-name1:property-val1,property-name2:property-val2

Use this query-parameter to get the filtered set of sslprofile resources configured on NetScaler.Filtering can be done on any of the properties of the resource.

view

http://<netscaler-ip-address>/nitro/v1/config/sslprofile?view=summary

Note: By default, the retrieved results are displayed in detail view (?view=detail).

pagination

http://<netscaler-ip-address>/nitro/v1/config/sslprofile?pagesize=#no&pageno=#no

Use this query-parameter to get the sslprofile resources in chunks.

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Accept:application/json

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Headers:

Content-Type:application/json

Response Payload:

{ "sslprofile": [ {
      "name":<String_value>,
      "dh":<String_value>,
      "dhfile":<String_value>,
      "dhcount":<Double_value>,
      "dhkeyexpsizelimit":<String_value>,
      "ersa":<String_value>,
      "ersacount":<Double_value>,
      "sessreuse":<String_value>,
      "sesstimeout":<Double_value>,
      "cipherredirect":<String_value>,
      "cipherurl":<String_value>,
      "clientauth":<String_value>,
      "clientcert":<String_value>,
      "sslredirect":<String_value>,
      "redirectportrewrite":<String_value>,
      "nonfipsciphers":<String_value>,
      "ssl3":<String_value>,
      "tls1":<String_value>,
      "tls11":<String_value>,
      "tls12":<String_value>,
      "snienable":<String_value>,
      "serverauth":<String_value>,
      "commonname":<String_value>,
      "pushenctrigger":<String_value>,
      "sendclosenotify":<String_value>,
      "cleartextport":<Integer_value>,
      "insertionencoding":<String_value>,
      "denysslreneg":<String_value>,
      "quantumsize":<String_value>,
      "strictcachecks":<String_value>,
      "encrypttriggerpktcount":<Double_value>,
      "pushflag":<Double_value>,
      "dropreqwithnohostheader":<String_value>,
      "pushenctriggertimeout":<Double_value>,
      "ssltriggertimeout":<Double_value>,
      "cipherpriority":<Double_value>,
      "ciphername":<String_value>,
      "crlcheck":<String_value>,
      "ocspcheck":<String_value>,
      "snicert":<Boolean_value>,
      "skipcaname":<Boolean_value>,
      "invoke":<Boolean_value>,
      "labeltype":<String_value>,
      "sslprofiletype":<String_value>,
      "clientauthuseboundcachain":<String_value>,
      "service":<Double_value>,
      "builtin":<String[]_value>,
      "sslpfobjecttype":<Double_value>
}]}

get

URL: http://<netscaler-ip-address>/nitro/v1/config/sslprofile/name_value<String>

Query-parameters:

attrs

http://<netscaler-ip-address>/nitro/v1/config/sslprofile/name_value<String>?attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

view

http://<netscaler-ip-address>/nitro/v1/config/sslprofile/name_value<String>?view=summary

Note: By default, the retrieved results are displayed in detail view (?view=detail).

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Accept:application/json

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Headers:

Content-Type:application/json

Response Payload:

{ "sslprofile": [ {
      "name":<String_value>,
      "dh":<String_value>,
      "dhfile":<String_value>,
      "dhcount":<Double_value>,
      "dhkeyexpsizelimit":<String_value>,
      "ersa":<String_value>,
      "ersacount":<Double_value>,
      "sessreuse":<String_value>,
      "sesstimeout":<Double_value>,
      "cipherredirect":<String_value>,
      "cipherurl":<String_value>,
      "clientauth":<String_value>,
      "clientcert":<String_value>,
      "sslredirect":<String_value>,
      "redirectportrewrite":<String_value>,
      "nonfipsciphers":<String_value>,
      "ssl3":<String_value>,
      "tls1":<String_value>,
      "tls11":<String_value>,
      "tls12":<String_value>,
      "snienable":<String_value>,
      "serverauth":<String_value>,
      "commonname":<String_value>,
      "pushenctrigger":<String_value>,
      "sendclosenotify":<String_value>,
      "cleartextport":<Integer_value>,
      "insertionencoding":<String_value>,
      "denysslreneg":<String_value>,
      "quantumsize":<String_value>,
      "strictcachecks":<String_value>,
      "encrypttriggerpktcount":<Double_value>,
      "pushflag":<Double_value>,
      "dropreqwithnohostheader":<String_value>,
      "pushenctriggertimeout":<Double_value>,
      "ssltriggertimeout":<Double_value>,
      "cipherpriority":<Double_value>,
      "ciphername":<String_value>,
      "crlcheck":<String_value>,
      "ocspcheck":<String_value>,
      "snicert":<Boolean_value>,
      "skipcaname":<Boolean_value>,
      "invoke":<Boolean_value>,
      "labeltype":<String_value>,
      "sslprofiletype":<String_value>,
      "clientauthuseboundcachain":<String_value>,
      "service":<Double_value>,
      "builtin":<String[]_value>,
      "sslpfobjecttype":<Double_value>
}]}

count

URL: http://<netscaler-ip-address>/nitro/v1/config/sslprofile?count=yes

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Accept:application/json

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Headers:

Content-Type:application/json

Response Payload:

{ "sslprofile": [ { "__count": "#no"} ] }