VMware Remote Console Fails to Connect due to SSL Negotiation Error
book
Article ID: 342532
calendar_today
Updated On:
Products
VMware Cloud Director
Issue/Introduction
This KB is intended to resolve issues with VMware Remote Console (VMRC) after upgrading to version 10.4.X.
Symptoms:
VMRC fails to connect, however, the Web Consoles may work just fine
This often occurs after an upgrade to VMware Cloud Director version 10.4.X
The VMRC failures can be identified in the console-proxy logs, a failed VMRC console may present a similar log sequence as shown below:
2023-09-22T09:07:14.345Z In(05) main REMOTEMKS: expected thumbprint for remote display: 90:D8:##:##:##:72:46:15:A9:2F:72:92:F9:a1:30:72:B9:A8:FC:C1 2023-09-22T09:07:14.345Z In(05) main SOCKET connect to wss://labs-cloud.example.com:443 2023-09-22T09:07:14.345Z In(05) main SOCKET webSocket's hostname: labs-cloud.example.com 2023-09-22T09:07:14.382Z In(05) main SOCKET creating new IPv4 socket, connecting to 10.21.6.21:443 (labs-cloud.example.com) 2023-09-22T09:07:14.390Z In(05) main PollSocketPairConnect: Blocking socket 1184 connected immediately! 2023-09-22T09:07:14.390Z In(05) main PollSocketPairConnect: Blocking socket 1196 connected immediately! 2023-09-22T09:07:14.411Z In(05) main MKSRoleMain: PowerOn finished. 2023-09-22T09:07:14.419Z In(05) mks MKSControlMgr: connected 2023-09-22T09:07:14.422Z In(05) mks MKS-VMDB: VMDB requested a screenshot 2023-09-22T09:07:14.422Z In(05) svga MKSScreenShotMgr: Taking a screenshot 2023-09-22T09:07:14.427Z In(05) mks KHBKL: Unable to parse keystring at: '' 2023-09-22T09:07:14.429Z In(05) mks KHBKL: Unable to parse keystring at: '' 2023-09-22T09:07:14.505Z Wa(03) mks SSL: Unknown SSL Error 2023-09-22T09:07:14.505Z In(05) mks SSL Error: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed 2023-09-22T09:07:14.505Z Wa(03) mks SOCKET 2 (1164) Could not negotiate SSL 2023-09-22T09:07:14.505Z Wa(03)+ mks The remote host certificate has these problems: 2023-09-22T09:07:14.505Z Wa(03)+ mks 2023-09-22T09:07:14.505Z Wa(03)+ mks * self signed certificate in certificate chain 2023-09-22T09:07:14.506Z Wa(03) mks SOCKET 2 (1164) Expected thumbprint doesn't match actual thumbprint. 2023-09-22T09:07:14.506Z Wa(03) mks Expected thumbprint is: 90:D8:##:##:##:72:46:15:A9:2F:72:92:F9:a1:30:72:B9:A8:FC:C1 2023-09-22T09:07:14.506Z Wa(03)+ mks Actual thumbprint is: 69:63:##:##:##:21:5F:98:BD:4A:FC:37:BE:ff:C3:c0:A6:3A:B7:5F 2023-09-22T09:07:14.506Z Wa(03) mks SOCKET 2 (1164) Cannot verify target host. 2023-09-22T09:07:14.506Z Wa(03) mks MVNCClient: received socket error 13: Connection error: could not negotiate SSL 2023-09-22T09:07:14.506Z In(05) mks MVNCClient: Setting vncClient.mksConnectionError, previous error is 0, new error is 1 2023-09-22T09:07:14.506Z In(05) mks MVNCClient: Destroying VNC Client socket. 2023-09-22T09:07:14.506Z In(05) mks MKSRoleMain: Disconnected from server (error=1) 2023-09-22T09:07:14.506Z In(05) mks MKS-RoleRemote: Disconnected from server with error code 1. 2023-09-22T09:07:14.506Z In(05) mks MKSThread: Requesting MKS exit
2023-09-22T09:07:14.506Z In(05) main Stopping MKS/SVGA threads
Environment
VMware Cloud Director for Service Provider 10.x VMware Cloud Director 10.x
Cause
VMRC connection failures on version 10.4.X are usually attributed to a thumbprint mismatch -- this happens when the expected thumbprint for the VMRC console does not match the actual thumbprint presented
The thumbprint mismatch occurs because the certificate in the Administration > Settings > Public Addresses tab is incomplete, out of order, or otherwise corrupt
The certificate imported to the Administration > Settings > Public Addresses tab must include the full chain as well as the correct endpoint certificate
Resolution
The best way to resolve this issue is to validate the quality of the certificate chain, then import that chain via the built-in UI functionality to the Administration > Settings > Public Addresses tab. This can be done as follows:
Review the /opt/vmware/vcloud-director/etc/global.properties file to identify the location of the HTTPS certificate. This path is referenced by the entry labeled "user.certificate.path". The default path is /opt/vmware/vcloud-director/etc/user.http.pem
Copy the certificate from the path identified in step 1 to your workstation
Navigate to the Provider portal and go to Administration > Settings > Public Addresses
Click the "Edit" button at the top of page. Then proceed to click the "Replace Certificate File" button and upload the certificate from step 1
Save this configuration for the Web Portal and API endpoint.
Test VMRC again to see if the same issue occurs
Additional Information
Impact/Risks: VMRC consoles will be inaccessible due to the thumbprint mismatch