WebSocketClient Class
Properties Methods Events Configuration Settings Errors
The WebSocketClient class provides the client-side functionality of the WebSocket protocol.
Syntax
SecureBlackboxWebSocketClient
SecureBlackboxWebSocketClientSwift
Remarks
Use this component to set up secure connections from your application with a WebSocket server.
Property List
The following is the full list of the properties of the class with short descriptions. Click on the links for further details.
- blockedCertCount | The number of records in the BlockedCert arrays. |
- blockedCertBytes:(int)blockedCertIndex | Returns raw certificate data in DER format. |
- blockedCertHandle:(int)blockedCertIndex | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
- clientCertCount | The number of records in the ClientCert arrays. |
- clientCertBytes:(int)clientCertIndex | Returns raw certificate data in DER format. |
- clientCertHandle:(int)clientCertIndex | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
- connected | Indicates whether the connection is active. |
- connInfoAEADCipher | Indicates whether the encryption algorithm used is an AEAD cipher. |
- connInfoChainValidationDetails | The details of a certificate chain validation outcome. |
- connInfoChainValidationResult | The outcome of a certificate chain validation routine. |
- connInfoCiphersuite | The cipher suite employed by this connection. |
- connInfoClientAuthenticated | Specifies whether client authentication was performed during this connection. |
- connInfoClientAuthRequested | Specifies whether client authentication was requested during this connection. |
- connInfoConnectionEstablished | Indicates whether the connection has been established fully. |
- connInfoConnectionID | The unique identifier assigned to this connection. |
- connInfoDigestAlgorithm | The digest algorithm used in a TLS-enabled connection. |
- connInfoEncryptionAlgorithm | The symmetric encryption algorithm used in a TLS-enabled connection. |
- connInfoExportable | Indicates whether a TLS connection uses a reduced-strength exportable cipher. |
- connInfoKeyExchangeAlgorithm | The key exchange algorithm used in a TLS-enabled connection. |
- connInfoKeyExchangeKeyBits | The length of the key exchange key of a TLS-enabled connection. |
- connInfoNamedECCurve | The elliptic curve used in this connection. |
- connInfoPFSCipher | Indicates whether the chosen ciphersuite provides perfect forward secrecy (PFS). |
- connInfoPreSharedIdentityHint | A hint professed by the server to help the client select the PSK identity to use. |
- connInfoPublicKeyBits | The length of the public key. |
- connInfoResumedSession | Indicates whether a TLS-enabled connection was spawned from another TLS connection. |
- connInfoSecureConnection | Indicates whether TLS or SSL is enabled for this connection. |
- connInfoServerAuthenticated | Indicates whether server authentication was performed during a TLS-enabled connection. |
- connInfoSignatureAlgorithm | The signature algorithm used in a TLS handshake. |
- connInfoSymmetricBlockSize | The block size of the symmetric algorithm used. |
- connInfoSymmetricKeyBits | The key length of the symmetric algorithm used. |
- connInfoTotalBytesReceived | The total number of bytes received over this connection. |
- connInfoTotalBytesSent | The total number of bytes sent over this connection. |
- connInfoValidationLog | Contains the server certificate's chain validation log. |
- connInfoVersion | Indicates the version of SSL/TLS protocol negotiated during this connection. |
- externalCryptoCustomParams | Custom parameters to be passed to the signing service (uninterpreted). |
- externalCryptoData | Additional data to be included in the async state and mirrored back by the requestor. |
- externalCryptoExternalHashCalculation | Specifies whether the message hash is to be calculated at the external endpoint. |
- externalCryptoHashAlgorithm | Specifies the request's signature hash algorithm. |
- externalCryptoKeyID | The ID of the pre-shared key used for DC request authentication. |
- externalCryptoKeySecret | The pre-shared key used for DC request authentication. |
- externalCryptoMethod | Specifies the asynchronous signing method. |
- externalCryptoMode | Specifies the external cryptography mode. |
- externalCryptoPublicKeyAlgorithm | Provide public key algorithm here if the certificate is not available on the pre-signing stage. |
- knownCertCount | The number of records in the KnownCert arrays. |
- knownCertBytes:(int)knownCertIndex | Returns raw certificate data in DER format. |
- knownCertHandle:(int)knownCertIndex | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
- knownCRLCount | The number of records in the KnownCRL arrays. |
- knownCRLBytes:(int)knownCRLIndex | Returns raw CRL data in DER format. |
- knownCRLHandle:(int)knownCRLIndex | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
- knownOCSPCount | The number of records in the KnownOCSP arrays. |
- knownOCSPBytes:(int)knownOCSPIndex | Buffer containing raw OCSP response data. |
- knownOCSPHandle:(int)knownOCSPIndex | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
- proxyAddress | The IP address of the proxy server. |
- proxyAuthentication | The authentication type used by the proxy server. |
- proxyPassword | The password to authenticate to the proxy server. |
- proxyPort | The port on the proxy server to connect to. |
- proxyProxyType | The type of the proxy server. |
- proxyRequestHeaders | Contains HTTP request headers for WebTunnel and HTTP proxy. |
- proxyResponseBody | Contains the HTTP or HTTPS (WebTunnel) proxy response body. |
- proxyResponseHeaders | Contains response headers received from an HTTP or HTTPS (WebTunnel) proxy server. |
- proxyUseIPv6 | Specifies whether IPv6 should be used when connecting through the proxy. |
- proxyUseProxy | Enables or disables proxy-driven connection. |
- proxyUsername | Specifies the username credential for proxy authentication. |
- reqParamsAccept | Specifies the Accept header property of the HTTP request. |
- reqParamsAcceptCharset | Specifies the Accept-Charset header property of the HTTP request. |
- reqParamsAcceptLanguage | Specifies the Accept-Language header property of the HTTP request. |
- reqParamsAcceptRangeEnd | This property, in combination with AcceptRangeStart, defines the media-range of the HTTP request. |
- reqParamsAcceptRangeStart | This property, in combination with AcceptRangeEnd, defines the media-range of the HTTP request. |
- reqParamsAuthorization | Specifies the Authorization header of the HTTP request. |
- reqParamsConnection | Specifies the value to pass to the Connection header property of HTTP request. |
- reqParamsContentLength | Specifies the size of the entity-body of the HTTP request. |
- reqParamsContentRangeEnd | Specifies the upper bound used in the Content-Range header of the HTTP request. |
- reqParamsContentRangeFullSize | Specifies the total length of the full entity-body of the HTTP request. |
- reqParamsContentRangeStart | Specifies the lower bound used in the Content-Range header of the HTTP request. |
- reqParamsContentType | The Content-Type header property of the HTTP request. |
- reqParamsCookie | This header is expected to be assigned with cookies previously received from the server and stored by the client. |
- reqParamsCustomHeaders | Assign any custom HTTP headers to be passed to the server to this property. |
- reqParamsDate | The date and time of the request. |
- reqParamsFrom | Contains the From header property of the HTTP request. |
- reqParamsHost | This property contains the Host header property of the HTTP request. |
- reqParamsHTTPVersion | Specifies the version of HTTP protocol to use: 1. |
- reqParamsIfMatch | Contains the If-Match request header property. |
- reqParamsIfModifiedSince | Contains the If-Modified-Since request header property. |
- reqParamsIfNoneMatch | Contains the If-None-Match request header property. |
- reqParamsIfUnmodifiedSince | Contains the If-Unmodified-Since request header property. |
- reqParamsPassword | Assign this property with the user's password. |
- reqParamsReferer | The Referer property of the HTTP request header specifies the address of the resource from which the Request-URI was obtained (the referrer). |
- reqParamsUserAgent | The User-Agent property of the HTTP request provides information about the software that initiates the request. |
- reqParamsUsername | Assign this property with the user's login name. |
- serverCertCount | The number of records in the ServerCert arrays. |
- serverCertBytes:(int)serverCertIndex | Returns raw certificate data in DER format. |
- serverCertCAKeyID:(int)serverCertIndex | A unique identifier (fingerprint) of the CA certificate's private key. |
- serverCertFingerprint:(int)serverCertIndex | Contains the fingerprint (a hash imprint) of this certificate. |
- serverCertHandle:(int)serverCertIndex | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
- serverCertIssuer:(int)serverCertIndex | The common name of the certificate issuer (CA), typically a company name. |
- serverCertIssuerRDN:(int)serverCertIndex | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer. |
- serverCertKeyAlgorithm:(int)serverCertIndex | Specifies the public key algorithm of this certificate. |
- serverCertKeyBits:(int)serverCertIndex | Returns the length of the public key. |
- serverCertKeyFingerprint:(int)serverCertIndex | Returns a fingerprint of the public key contained in the certificate. |
- serverCertKeyUsage:(int)serverCertIndex | Indicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set. |
- serverCertPublicKeyBytes:(int)serverCertIndex | Contains the certificate's public key in DER format. |
- serverCertSelfSigned:(int)serverCertIndex | Indicates whether the certificate is self-signed (root) or signed by an external CA. |
- serverCertSerialNumber:(int)serverCertIndex | Returns the certificate's serial number. |
- serverCertSigAlgorithm:(int)serverCertIndex | Indicates the algorithm that was used by the CA to sign this certificate. |
- serverCertSubject:(int)serverCertIndex | The common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name. |
- serverCertSubjectKeyID:(int)serverCertIndex | Contains a unique identifier (fingerprint) of the certificate's private key. |
- serverCertSubjectRDN:(int)serverCertIndex | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject). |
- serverCertValidFrom:(int)serverCertIndex | The time point at which the certificate becomes valid, in UTC. |
- serverCertValidTo:(int)serverCertIndex | The time point at which the certificate expires, in UTC. |
- socketDNSMode | Selects the DNS resolver to use: the class's (secure) built-in one, or the one provided by the system. |
- socketDNSPort | Specifies the port number to be used for sending queries to the DNS server. |
- socketDNSQueryTimeout | The timeout (in milliseconds) for each DNS query. |
- socketDNSServers | The addresses of DNS servers to use for address resolution, separated by commas or semicolons. |
- socketDNSTotalTimeout | The timeout (in milliseconds) for the whole resolution process. |
- socketIncomingSpeedLimit | The maximum number of bytes to read from the socket, per second. |
- socketLocalAddress | The local network interface to bind the socket to. |
- socketLocalPort | The local port number to bind the socket to. |
- socketOutgoingSpeedLimit | The maximum number of bytes to write to the socket, per second. |
- socketTimeout | The maximum period of waiting, in milliseconds, after which the socket operation is considered unsuccessful. |
- socketUseIPv6 | Enables or disables IP protocol version 6. |
- TLSAutoValidateCertificates | Specifies whether server-side TLS certificates should be validated automatically using internal validation rules. |
- TLSBaseConfiguration | Selects the base configuration for the TLS settings. |
- TLSCiphersuites | A list of ciphersuites separated with commas or semicolons. |
- TLSECCurves | Defines the elliptic curves to enable. |
- TLSForceResumeIfDestinationChanges | Whether to force TLS session resumption when the destination address changes. |
- TLSPreSharedIdentity | Defines the identity used when the PSK (Pre-Shared Key) key-exchange mechanism is negotiated. |
- TLSPreSharedKey | Contains the pre-shared for the PSK (Pre-Shared Key) key-exchange mechanism, encoded with base16. |
- TLSPreSharedKeyCiphersuite | Defines the ciphersuite used for PSK (Pre-Shared Key) negotiation. |
- TLSRenegotiationAttackPreventionMode | Selects renegotiation attack prevention mechanism. |
- TLSRevocationCheck | Specifies the kind(s) of revocation check to perform. |
- TLSSSLOptions | Various SSL (TLS) protocol options, set of cssloExpectShutdownMessage 0x001 Wait for the close-notify message when shutting down the connection cssloOpenSSLDTLSWorkaround 0x002 (DEPRECATED) Use a DTLS version workaround when talking to very old OpenSSL versions cssloDisableKexLengthAlignment 0x004 Do not align the client-side PMS by the RSA modulus size. |
- TLSTLSMode | Specifies the TLS mode to use. |
- TLSUseExtendedMasterSecret | Enables Extended Master Secret Extension, as defined in RFC 7627. |
- TLSUseSessionResumption | Enables or disables TLS session resumption capability. |
- TLSVersions | Th SSL/TLS versions to enable by default. |
- trustedCertCount | The number of records in the TrustedCert arrays. |
- trustedCertBytes:(int)trustedCertIndex | Returns raw certificate data in DER format. |
- trustedCertHandle:(int)trustedCertIndex | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
- useDigestAuth | Enables or disables the HTTP Digest authentication. |
- useNTLMAuth | Enables or disables NTLM authentication. |
Method List
The following is the full list of the methods of the class with short descriptions. Click on the links for further details.
- config | Sets or retrieves a configuration setting. |
- connect | Establishes connection to the server. |
- disconnect | Disconnects from the server. |
- sendData | Sends a piece of binary data to the server. |
- sendKeepAlive | Sends a keep-alive message. |
- sendText | Sends a piece of text data to the server. |
Event List
The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.
- onBinaryData | Passes a received chunk of binary data to the application. |
- onCertificateValidate | Fires when the server's TLS certificate has to be validated. |
- onError | Information about errors during data delivery. |
- onExternalSign | Handles remote or external signing initiated by the SignExternal method or other source. |
- onKeepAliveResponse | Reports a response to a keep-alive message. |
- onNotification | This event notifies the application about an underlying control flow event. |
- onTextData | Passes a received chunk of text data to the application. |
Configuration Settings
The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.
CacheStreamOutput | Tells the class whether to cache stream- and file-bound responses in the class. |
ForceNTLMAuth | Activates and enforces NTLM authentication. |
IgnoreUnknownTransferEncodings | All incoming responses with unknown transfer encodings are ignored if this property is true. |
MaxRedirections | The maximum number of HTTP redirects. |
PersistentAuthHeader | Whether to resend NTLM negotiation on every request. |
RequestCompressionGZip | Ask server to use GZip compression. |
RequestCompressionLevel | Ask server to use the specified compression level. |
SendBufferSize | Size of send buffer in bytes. |
SuppressRedirectionContent | Whether to suppress the redirection content. |
TempPath | Path for storing temporary files. |
Use100Continue | Whether to use 100-continue for POST and PUT commands. |
UseCompression | Whether to use GZip compression. |
CheckKeyIntegrityBeforeUse | Enables or disable private key integrity check before use. |
CookieCaching | Specifies whether a cookie cache should be used for HTTP(S) transports. |
Cookies | Gets or sets local cookies for the class (supported for HTTPClient, RESTClient and SOAPClient only). |
DefDeriveKeyIterations | Specifies the default key derivation algorithm iteration count. |
EnableClientSideSSLFFDHE | Enables or disables finite field DHE key exchange support in TLS clients. |
GlobalCookies | Gets or sets global cookies for all the HTTP transports. |
HttpUserAgent | Specifies the user agent name to be used by all HTTP clients. |
LogDestination | Specifies the debug log destination. |
LogDetails | Specifies the debug log details to dump. |
LogFile | Specifies the debug log filename. |
LogFilters | Specifies the debug log filters. |
LogFlushMode | Specifies the log flush mode. |
LogLevel | Specifies the debug log level. |
LogMaxEventCount | Specifies the maximum number of events to cache before further action is taken. |
LogRotationMode | Specifies the log rotation mode. |
MaxASN1BufferLength | Specifies the maximal allowed length for ASN.1 primitive tag data. |
MaxASN1TreeDepth | Specifies the maximal depth for processed ASN.1 trees. |
OCSPHashAlgorithm | Specifies the hash algorithm to be used to identify certificates in OCSP requests. |
UseOwnDNSResolver | Specifies whether the client classes should use own DNS resolver. |
UseSharedSystemStorages | Specifies whether the validation engine should use a global per-process copy of the system certificate stores. |
UseSystemOAEPAndPSS | Enforces or disables the use of system-driven RSA OAEP and PSS computations. |
UseSystemRandom | Enables or disables the use of the OS PRNG. |