VMware Horizon Community
MaracaMagician
Contributor
Contributor
Jump to solution

vmware view client 5.0.0 on Linux x64 Debian 9, "Error: An SSL error occured"

Greetings, having an issue on Debian 9 vmware-view client using CAC card to .mil domain. The error message after SSL login is:

"Error: An SSL error occured"

Some more details:

DoD root certificates all installed in /etc/ssl/config

For CAC smartcard middleware, using opensc (working great in Firefox and Chromium)

For Vmware version, I used 5.0.0 (Download VMware Horizon Clients ) using wget and then running the bundle:

https://download3.vmware.com/software/view/viewclients/CART20FQ1/VMware-Horizon-Client-5.0.0-1255742...


This had a bunch of segfaults, so I installed and symlinked these library dependencies (got some help from the manual https://docs.vmware.com/en/VMware-Horizon-Client-for-Linux/4.10/horizon-client-linux-installation.pd... 😞

sudo apt-get update

sudo apt-get install -y v4l-utils libv4l-0 gstreamer1.0 open-vm-tools-desktop python-gtk2 libglibmm-2.4-1v5 libglibmm-2.4-dev libffi-dev libffi6 libengine-pkcs11-openssl1.1

sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.6 /usr/lib/x86_64-linux-gnu/libffi.so.5

sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

#install libpng12, because of old dependencies

wget http://http.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb

chmod +x libpng12-0_1.2.50-2+deb8u3_amd64.deb

sudo dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb

Vmware then loaded and the CAC card successfully unlocks with pin. Then the SSL error popped up.

Wireshark indicated SSL Certificate failure with TLSv1.2 packet "Alert (Level: Fatal, Description: Unknown CA)"

The server announcement and Wireshark on a working Windows 10 vmware client session indicated that the protocol in use was TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

This protocol is in TLSv1.2 of openssl 1.1.1, but not in Debian 9 xenial which uses openssl 1.1.0

Thus, I added Debian 10 buster apt stream and installed openssl 1.1.1, which now shows the needed cipher available (openssl calls it ECDHE-RSA-AES256-SHA384 instead of TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, see https://www.openssl.org/docs/manmaster/man1/ciphers.html ).

Additionally, I had made these modifications to attempt to prevent a TLSv1.2 fallback:

#Vmware config files modified with "sudo nano ~/.vmware/view-preferences"

view.autoHideToolbar = "FALSE"

view.deviceID = "00:16:3E:5E:6C:00"

view.enableDataSharing = "FALSE"

view.enableH264 = "TRUE"

view.enableH264YUV444 = "FALSE"

view.sslProtocolString = "TLSv1.2"

view.sslVerificationMode = "2"

view.usbAutoConnectAtStartUp = "FALSE"

view.usbAutoConnectOnInsert = "FALSE"

Log provided with some personal info redactions, the log has two apparently relevant lines:

"Built using OpenSSL 1.0.2q-fips"

As well as:

2019-07-16 18:32:02.872-04:00: vmware-view 30041| Found a valid EKU: TLS Web Server Authentication

2019-07-16 18:32:02.872-04:00: vmware-view 30041| certsList has 1 certificates

2019-07-16 18:32:02.873-04:00: vmware-view 30041| cdk_cryptoki_rsa_sign: need to sign 32 bytes of data and hash type is: 672

2019-07-16 18:32:03.047-04:00: vmware-view 30041| C_Sign failed: 0x101 [ ]

2019-07-16 18:32:03.048-04:00: vmware-view 30041| CdkRpc_ProcessResponseForCall: Returning the whole response for not finding response element of set-locale

2019-07-16 18:32:03.048-04:00: vmware-view 30041| CdkRpc_HandleResponsesAsync: Handle Response with rpc call id: 3.

2019-07-16 18:32:03.048-04:00: vmware-view 30041| Got a response to request 3

Some ideas:

Is there a way to force the openssl version to use the newer 1.1.1, or is this issue possibly due to it being baked in so that my particular server's cipher ECDHE-RSA-AES256-SHA384 cannot be used at this time?

Other avenues:

Is vmware definitely using the root certificate store in /etc/ssl/certs/ca-certificates.crt? I do get a green lock in vmware-view and no other certificate errors, and the DoD certs work in Firefox and Chromium allowing logins using the OpenSC CAC middleware.

1 Solution

Accepted Solutions
MaracaMagician
Contributor
Contributor
Jump to solution

Solved, turns out in my environment Mac/Linux clients had to use TLSv1.1. What worked:

1. Change vmware profile settings to force TLSv1.1

sudo nano ~/.vmware/view-preferences

Ensure you add:

view.sslProtocolString = "TLSv1.1"

#Most everyone should probably disable default data and USB sharing unless you have your reasons:

view.enableDataSharing = "FALSE"
view.usbAutoConnectAtStartUp = "FALSE"
view.usbAutoConnectOnInsert = "FALSE"

What was also done:

2. Upgrade to Debian 10

3. Install and use coolkey instead of opensc due to segfaults with vmware in Debian 10

opensc had some segfaults with vmware-view but not other software:

/usr/bin/vmware-view: line 149:  1060 Segmentation fault      "$binPath/bin/$binFile" "$@"

Log read:

2019-07-22 13:04:36.993-04:00: vmware-view 1060| Initializing smartcard modules

2019-07-22 13:04:36.995-04:00: vmware-view 1060| Attempting to load cryptoki module /usr/lib/vmware/view/pkcs11/libopenscpkcs11.so

So to switch to coolkey:

sudo apt-get update

sudo apt-get install -y coolkey

#If you're doing this for the first time, remember to make the pkcs11 directory first: sudo mkdir /usr/lib/vmware/view/pkcs11

#Remove OpenSC symlink, symlink coolkey instead:

sudo rm /usr/lib/vmware/view/pkcs11/libopenscpkcs11.so
sudo ln -s /usr/lib/pkcs11/libcoolkeypk11.so /usr/lib/vmware/view/pkcs11/libcoolkeypk11.so

/usr/bin/vmware-view: line 149:  1060 Segmentation fault      "$binPath/bin/$binFile" "$@"

Log reaLLog ff2019-07-22 13:04:36.993-04:00: vmware-view 1060| Initializing smartcard modules 2019-07-22 13:04:36.995-04:00: vmware-view 1060| Attempting to load cryptoki module /usr/lib/vmware/view/pkcs11/libopenscpkcs11.so

View solution in original post

0 Kudos
2 Replies
MaracaMagician
Contributor
Contributor
Jump to solution

Log attached here, the website is throwing errors saying I'm logged out when I attempt to post an attachment. Attempting it as a comment instead.

0 Kudos
MaracaMagician
Contributor
Contributor
Jump to solution

Solved, turns out in my environment Mac/Linux clients had to use TLSv1.1. What worked:

1. Change vmware profile settings to force TLSv1.1

sudo nano ~/.vmware/view-preferences

Ensure you add:

view.sslProtocolString = "TLSv1.1"

#Most everyone should probably disable default data and USB sharing unless you have your reasons:

view.enableDataSharing = "FALSE"
view.usbAutoConnectAtStartUp = "FALSE"
view.usbAutoConnectOnInsert = "FALSE"

What was also done:

2. Upgrade to Debian 10

3. Install and use coolkey instead of opensc due to segfaults with vmware in Debian 10

opensc had some segfaults with vmware-view but not other software:

/usr/bin/vmware-view: line 149:  1060 Segmentation fault      "$binPath/bin/$binFile" "$@"

Log read:

2019-07-22 13:04:36.993-04:00: vmware-view 1060| Initializing smartcard modules

2019-07-22 13:04:36.995-04:00: vmware-view 1060| Attempting to load cryptoki module /usr/lib/vmware/view/pkcs11/libopenscpkcs11.so

So to switch to coolkey:

sudo apt-get update

sudo apt-get install -y coolkey

#If you're doing this for the first time, remember to make the pkcs11 directory first: sudo mkdir /usr/lib/vmware/view/pkcs11

#Remove OpenSC symlink, symlink coolkey instead:

sudo rm /usr/lib/vmware/view/pkcs11/libopenscpkcs11.so
sudo ln -s /usr/lib/pkcs11/libcoolkeypk11.so /usr/lib/vmware/view/pkcs11/libcoolkeypk11.so

/usr/bin/vmware-view: line 149:  1060 Segmentation fault      "$binPath/bin/$binFile" "$@"

Log reaLLog ff2019-07-22 13:04:36.993-04:00: vmware-view 1060| Initializing smartcard modules 2019-07-22 13:04:36.995-04:00: vmware-view 1060| Attempting to load cryptoki module /usr/lib/vmware/view/pkcs11/libopenscpkcs11.so

0 Kudos