IOPLEX

Jespa Technical Documentation

Learn / Possible Issues using the HttpSecurityService
Install the HttpSecurityService for Windows Silent SSO with SPNEGO Install the Jespa Example Webapp Diagnosing and Fixing Issues with Kerberos The HssSetup Console Menu Program How Silent SSO with SPNEGO Over HTTP Works SPNEGO Silent SSO with Apache Tomcat and a Self-Signed Certificate Manually Create the Computer Account for the HttpSecurityService Upgrading a Pre-Jespa 2.1 Installation for Windows Silent SSO with SPNEGO Increasing Request Header Size for Users in Many Groups

Possible Issues using the HttpSecurityService

The following is a list of issues and resolutions applicable to the HttpSecurityService.

Kerberos specific issues are described separately in Diagnosing and Fixing Issues with Kerberos.

CHANNEL BINDINGS FAILURE

If the HSS logs the following error:

HttpSecurityService: 10.11.12.13:54321: Authn failure: CHANNEL BINDINGS FAILURE: channel bindings did not match bindings.cert.hash, channel bindings not submitted or bindings.cert.hash was not successfully initialized.
The CHANNEL BINDINGS FAILURE log message

This error will be logged if the browser is not using HTTPS (channel bindings are a hash of the TLS / SSL certificate).

Resolution: Use HTTPS. Even a self-signed certificate is better than nothing. Or, if security is not a concern, disable channel binding with bindings.cert.hash.policy = 0.

The most likely cause of this error is that the HTTPS certificate has changed.

Resolution: To fix this issue, run HssSetup on the HSS properties file, select the url) option and re-enter the URL to update the bindings.cert.hash property. Save and exit with the .) option. The HSS should reload the properties file within 5 seconds.

See also: HssSetup bindings.cert.url property option

The less likely cause of this error is that an attacker has compromised the TLS / SSL session.

SPN BINDINGS FAILURE

If the HSS logs the following error:

SPN BINDINGS FAILURE: SPN did not match bindings.targetSpns, SPN not submitted or bindings.targetSpns was not successfully initialized.
The SPN BINDINGS FAILURE log message

This error means that the SPN derived from the hostname of the URL used with the browser or client, did not match any of the SPNs composed from the bindings.targetSpns property and SubjectAltName entries in the HTTPS certificate.

Resolution: Use HssSetup to ensure that the bindings.cert.url and bindings.targetSpns properties are set correctly. If necessary, run HssSetup and select the url) option to re-populate the SPNs.

If clients connect directly to non-HTTPS transport, it may be necessary to add SPNs with port numbers to the bindings.targetSpns property:

For example, if HTTPS is served on port 8443 and non-HTTPS on port 8080, an SPN with port 8080 must be added like:

bindings.cert.url = https://rkyas15.mega.corp:8443
bindings.targetSpns = HTTP/rkyas15.mega.corp,HTTP/rkyas15.mega.corp:8080

Note: The HSS will log the list of SPNs used to check SPN bindings with the first successful authentication after the HSS is initialized.

Set jespa.log.level = 4 and look for the Bindings init success entry like:

Bindings init success: bindingsTargetSpns: [HTTP/rkyas15.mega.corp:8443,HTTP/rkyas15.mega.corp:8080] bindingsCertHash: B065A440F73F84F0B7373D977C3EDE42

400 Invalid SNI

If the application server reports the an error like the following:

HTTP ERROR 400 Invalid SNI 
    URI: https://rkyas15.mega.corp:8443/
 STATUS: 400 
MESSAGE: Invalid SNI
The 400 Invalid SNI error returned by Jetty

This error indicates that the supplied URL does not match a SubjectAltName (SAN) entry in the HTTPS certificate.

Resolution: Either use a URL with a hostname that has a SAN entry or update the certificate to include a SAN entry corresponding to the desired URL.

The HssSetup SPN Constraint Violation

Each unique SPN can only be set on at most one account. If HssSetup detects that an SPN being set is already set on a different account, HssSetup will emit an SPN Constraint Violation and prompt the operator to remove it like:

[EXXX] Constraint Violation
The SPN:
  HTTP/eng15.aero.corp
is already set on the account:
  jespa1$
Remove SPN from account jespa1$? [n] y
Successfully removed conflicting SPN
Resolving an SPN conflict when trying to set an SPN

If the SPN is removed from the other account, Kerberos will stop working for any service using the other account.