This article was created in response to a support issue logged with K2. The content may include typographical errors and may be revised at any time without notice This article is not considered official documentation for K2 software and is provided "as is" with no warranties.

Issue

After upgrading K2, the K2 Management site does not load and just shows a gray box.

Symptoms

1.  The Browser Developer tools indicates 500 errors:

SCRIPT1002: Syntax Error

SCRIPT5009: 'Sys' is undefined

SCRIPT5009: 'StyleHelper' is undefined

2.  Disabling Bundling and PostRender got the page to load (however this is a debugging step to confirm this issue; it is recommended that these two settings are enabled):

<add key="UseBundledFiles" value="false" />
<add key="Forms.PostRenderCombining.Enabled" value="false" />

3.  Enabled Global ErrorLogging by creating a 'C:\Debug' folder and replicating the issue.  Generated log files contains errors similar to:

Failed to get resource: /Management/Styles/Themes/Platinum2.css?v_{versionnumber}

Exception:

Sourcode.Forms.AppFramework.AsyncException:  Asynchronous operation failed ---> System.Net.Exception: The request was aborted:  Could not create SSL/TLS secure channel.

This indicates that an attempt to retrieve the resources for bundling was not successful because it was not able to establish a successful HTTPS connection.

If you attempt to invoke the following PowerShell command (against the K2 site URL):

Invoke-WebRequest 'https://k2site.denallix.com'

The same error would be logged:

The request was aborted:  Could not create SSL/TLS secure channel.

Invoking:

[System.Net.ServicePointManager]::SecurityProtocol

Indicates that only 'Ssl3,Tls' is available.  These are outdated/vulnerable protocols.  TLS 1.1 and TLS 1.2 should be enabled.

Resolution

Adding and enabling the SchUseStrongCrypto registry key resolved the K2 Management site loading issue.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

SchUseStrongCrypto = 1 (Type = DWord)

If you start a new Powershell session and retrieve the SecurityProtocol property for the ServicePointManager:

[System.Net.ServicePointManager]::SecurityProtocol

This should now return 'Tls,Tls11,Tls12'. 

Perform an IISRESET and retest the K2 Management site afterwards.