-
Notifications
You must be signed in to change notification settings - Fork 9
/
sslparameter.go
162 lines (157 loc) · 8.39 KB
/
sslparameter.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/*
* Copyright (c) 2021 Citrix Systems, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ssl
/**
* Configuration for SSL parameter resource.
*/
type Sslparameter struct {
/**
* 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.
*/
Quantumsize string `json:"quantumsize,omitempty"`
/**
* Maximum memory size to use for certificate revocation lists (CRLs). This parameter reserves memory for a CRL but sets a limit to the maximum memory that the CRLs loaded on the appliance can consume.
*/
Crlmemorysizemb int `json:"crlmemorysizemb,omitempty"`
/**
* Enable strict CA certificate checks on the appliance.
*/
Strictcachecks string `json:"strictcachecks,omitempty"`
/**
* Time, in milliseconds, after which encryption is triggered for transactions that are not tracked on the Citrix ADC 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.
*/
Ssltriggertimeout int `json:"ssltriggertimeout,omitempty"`
/**
* Send an SSL Close-Notify message to the client at the end of a transaction.
*/
Sendclosenotify string `json:"sendclosenotify,omitempty"`
/**
* Maximum number of queued packets after which encryption is triggered. Use this setting for SSL transactions that send small packets from server to Citrix ADC.
*/
Encrypttriggerpktcount int `json:"encrypttriggerpktcount,omitempty"`
/**
* 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 Citrix ADC 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.
*/
Denysslreneg string `json:"denysslreneg,omitempty"`
/**
* Encoding method used to insert the subject or issuer's name in HTTP requests to servers.
*/
Insertionencoding string `json:"insertionencoding,omitempty"`
/**
* Size, per packet engine, in megabytes, of the OCSP cache. A maximum of 10% of the packet engine memory can be assigned. Because the maximum allowed packet engine memory is 4GB, the maximum value that can be assigned to the OCSP cache is approximately 410 MB.
*/
Ocspcachesize int `json:"ocspcachesize,omitempty"`
/**
* 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.
*/
Pushflag int `json:"pushflag,omitempty"`
/**
* 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(i.e vserver or profile bound to vserver has SNI enabled and 'Client Hello' arrived with SNI extension), the request is dropped.
*/
Dropreqwithnohostheader string `json:"dropreqwithnohostheader,omitempty"`
/**
* Controls how the HTTP 'Host' header value is validated. These checks are performed only if the session is SNI enabled (i.e when vserver or profile bound to vserver has SNI enabled and 'Client Hello' arrived with SNI extension) and HTTP request contains 'Host' header.
Available settings function as follows:
CERT - Request is forwarded if the 'Host' value is covered
by the certificate used to establish this SSL session.
Note: 'CERT' matching mode cannot be applied in
TLS 1.3 connections established by resuming from a
previous TLS 1.3 session. On these connections, 'STRICT'
matching mode will be used instead.
STRICT - Request is forwarded only if value of 'Host' header
in HTTP is identical to the 'Server name' value passed
in 'Client Hello' of the SSL connection.
NO - No validation is performed on the HTTP 'Host'
header value.
*/
Snihttphostmatch string `json:"snihttphostmatch,omitempty"`
/**
* 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.
*/
Pushenctriggertimeout int `json:"pushenctriggertimeout,omitempty"`
/**
* Limit to the number of disabled SSL chips after which the ADC restarts. A value of zero implies that the ADC does not automatically restart.
*/
Cryptodevdisablelimit int `json:"cryptodevdisablelimit,omitempty"`
/**
* Name of the undefined built-in control action: CLIENTAUTH, NOCLIENTAUTH, NOOP, RESET, or DROP.
*/
Undefactioncontrol string `json:"undefactioncontrol,omitempty"`
/**
* Name of the undefined built-in data action: NOOP, RESET or DROP.
*/
Undefactiondata string `json:"undefactiondata,omitempty"`
/**
* Global parameter used to enable default profile feature.
*/
Defaultprofile string `json:"defaultprofile,omitempty"`
/**
* Citrix ADC CPU utilization threshold (in percentage) beyond which crypto operations are not done in software.
A value of zero implies that CPU is not utilized for doing crypto in software.
*/
Softwarecryptothreshold int `json:"softwarecryptothreshold,omitempty"`
/**
* When this mode is enabled, system will use additional crypto hardware to accelerate symmetric crypto operations.
*/
Hybridfipsmode string `json:"hybridfipsmode,omitempty"`
/**
* Signature Digest Algorithms that are supported by appliance. Default value is "ALL" and it will enable the following algorithms depending on the platform.
On VPX: ECDSA-SHA1 ECDSA-SHA224 ECDSA-SHA256 ECDSA-SHA384 ECDSA-SHA512 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 DSA-SHA1 DSA-SHA224 DSA-SHA256 DSA-SHA384 DSA-SHA512
On MPX with Nitrox-III and coleto cards: RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 ECDSA-SHA1 ECDSA-SHA224 ECDSA-SHA256 ECDSA-SHA384 ECDSA-SHA512
Others: RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512.
Note:ALL doesnot include RSA-MD5 for any platform.
*/
Sigdigesttype []string `json:"sigdigesttype,omitempty"`
/**
* Enable or disable dynamically learning and caching the learned information to make the subsequent interception or bypass decision. When enabled, NS does the lookup of this cached data to do early bypass.
*/
Sslierrorcache string `json:"sslierrorcache,omitempty"`
/**
* Specify the maximum memory that can be used for caching the learned data. This memory is used as a LRU cache so that the old entries gets replaced with new entry once the set memory limit is fully utilised. A value of 0 decides the limit automatically.
*/
Sslimaxerrorcachemem int `json:"sslimaxerrorcachemem,omitempty"`
/**
* To insert space between lines in the certificate header of request
*/
Insertcertspace string `json:"insertcertspace,omitempty"`
/**
* Applies when the Citrix ADC appliance acts as a client (back-end connection).
Settings apply as follows:
YES - During certificate verification, ignore the common name if SAN is present in the certificate.
NO - Do not ignore common name.
*/
Ndcppcompliancecertcheck string `json:"ndcppcompliancecertcheck,omitempty"`
/**
* To support both cavium and coleto based platforms in cluster environment, this mode has to be enabled.
*/
Heterogeneoussslhw string `json:"heterogeneoussslhw,omitempty"`
/**
* Limit in percentage of capacity of the crypto operations queue beyond which new SSL connections are not accepted until the queue is reduced.
*/
Operationqueuelimit int `json:"operationqueuelimit,omitempty"`
//------- Read only Parameter ---------;
Svctls1112disable string `json:"svctls1112disable,omitempty"`
Montls1112disable string `json:"montls1112disable,omitempty"`
}