HTTP / SSL Errors with prefetch statement downloads

I get the following error when a prefetch is being downloaded by the root server in some cases:

HTTP Error 60: Peer certificate cannot be authenticated with given CA certificates: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed


This is the prefetch statement I am using:

prefetch PortableGit-32-bit.7z.exe sha1:6134d8f45ad3d6b31956df49c4e9a99c1c7d51fd size:29334128 http://github.com/git-for-windows/git/releases/download/v2.6.4.windows.1/PortableGit-2.6.4-32-bit.7z.exe sha256:5b0fcea5262db1a7676b5cd21df717cd02f1835a270d7f94d1537028462e61df

It would be interesting if I could turn off SSL certificate validation for downloads that are validated with size/hash, but even better would be for this to be fixed.

1 Like

So I just had something similar happen and I spent a couple hours confused… But! I found the solution!

In my experience this happens if you use an http url and the webserver automatically rewrites HTTP to HTTPS before the download.

If I changed my prefetch to https it worked. I tried with your prefetch statement and when it’s HTTP it fails but if you change it to HTTPS it works just fine.

1 Like

I will have to try that, but I think in my case, it was HTTPS and it failed, so I switched it to HTTP to see if that would succeed and that also failed.

I made a fixlet with your prefetch and got the same error, your prefetch from github worked after changing to https. Hopefully the solution is that easy!

1 Like

That did seem to help, but then I got this error: HTTP Error 28: Timeout was reached

I think I just need to increase the _BESGather_Download_InactivityTimeout

Recent attempt at deploying Adobe AIR 20.0.260 resulted in the HTTP/SSL Error and did go in to the fixlet and change the prefetch link from http to https and the AdobeAIRInstaller.exe successfully completed cache to the server. Thanks for the tip.

2 Likes

I believe the AdobeAIR fixlets have been updated by IBM to work correctly now.

1 Like

Hi All

I have the same issue, but with Core Protection Module --> Propagate.exe:

D:\Program Files\BigFix Enterprise\BES Server>PropagateFiles.exe CreateFileOnlyCustomSiteUserAuthorization "C:\BigFix\license.pvk" "x" "http://x.be:52311" "cpm_admin" "x" "FileOnlyCustomSite_CPMAutoUpdate"
HTTP Error 60: Peer certificate cannot be authenticated with given CA certificates: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

I’ve based me on the manual procedure:
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli%20Endpoint%20Manager/page/CPM%20Automatic%20Updates%20-%20Manual%20Setup%20Process

Any help would be appreciated…

(@BigFixNinja: sorry to tag you straight away, but I saw it’s your manual soo… :slight_smile: )

As always, big thanks for the help!

What version of BigFix server are you running? Where do you see this error occurring? At what step?

Hi @BigFixNinja

Thanks for your reply.
That issue is already solved (still have another one but working on it, PMR logged with prio 1).

The issue was that we had Web Reports installed on the root server a couple of months ago. We uninstalled it and re installed it on another server. The problem was that 2 settings ( _BESRelay_HTTPServer_SSLCertificateFilePath and _BESRelay_HTTPServer_SSLFlag ) were still on the root server. I’ve deleted those settings and it worked again.

One thing that i’ve already said a couple of times to Support too and maybe you can give an explanation: why isn’t there local logging of the .exe that needs to run??? We’ve already had a couple of problems with different exe’s, but there is no way to troubleshoot them? You only have the client log, but that only gives the last exit code from the exe right?
This is something that needs to be done I think, It would help to solve a lot of PMR’s.

But thanks for your help, really appreciate it!

For the second part of your post here are you referring to the logging that would be generated from the Windows Installer (for example, when patching)? Or what additional logging are you looking for?

There is a way to activate logging for the Windows installer. Please see the following MS article?

Is this what you were looking for?

Hi

I’ll try that, but then you need to adjust the commando’s in the fixlet.
For example: Core Protection Module - Set ActiveUpdate Server Pattern Update Interval - ID 25

This runs a couple of .exe’s. The action always failed with us, but without logging it’s pretty hard to troubleshoot. So you suggest that I edit the originel fixlet and put in the commando’s for logging?

I’ve found the error myself by running the commands manually etc and then there was an error in the DOS box itself, but that was just lucky then. I think the .exe should be temporary logged and when failed the logs should be kept. When the action succeeds, the install logs should be deleted.

We also had this with the installation of WebReports. We had an issue during installation (problems with the user authentication and cluster DB), but there was no logging. After 3 days we found the solution ourself (there had to be a local user created), but just by trial and error.

Hi @jgstew,

Increasing the _BESGather_Download_InactivityTimeout helped you in fixing this issue ?
I’m facing the same Issue while deploying Python on end user.

Action Script:
> // Install Python for Windows
> prefetch python-3.5.2.exe sha1:3873deb137833a724be8932e3ce659f93741c20b size:29269656 http://www.python.org/ftp/python/3.5.2/python-3.5.2.exe sha256:529c46b9fd3dcf83029b8bfc95034e640ea2c69835b1aa4b75edeec8de764193
> wait msiexec.exe /i “__Download\python-3.5.2.exe” /qn /quiet /norestart

Any help on this will be highly appreciated. :slight_smile:

increasing the timeout should not help with the peer cert issue.

try changing the url to use https instead of http and see if that helps.

Yes @jgstew, I have changed the code by replacing with https and the action completed successfully.

But, Once after checking on the end-user I can see file has been deployed successfully but not installed correctly using Script.

// Install Python for Windows
prefetch python-3.5.2.exe sha1:3873deb137833a724be8932e3ce659f93741c20b size:29269656 https://www.python.org/ftp/python/3.5.2/python-3.5.2.exe sha256:529c46b9fd3dcf83029b8bfc95034e640ea2c69835b1aa4b75edeec8de764193
wait msiexec.exe /i "__Download\python-3.5.2.exe" /qn /quiet /norestart

I have used this as well:
wait "{pathname of system folder & "\msiexec.exe"}" /i "{(pathname of client folder of current site) & "\__Download\python-3.5.2.exe"}" /qn /norestart

Any idea on this please.

try running the msiexec.exe through command prompt and see if that installs python perfectly on the machine. If that does not work, you have to modify your installation parameters and try it until the exit code is “0”.

to check exit code in cmd, “echo %ERRORLEVEL%”, you have to run this only after the msiexec completes its operation.

This is an EXE installer. You do not install it using MSI Exec. You have to figure out what type of installer it is and how to silently install it on the command line. You should do this outside of bigfix and only try it through bigfix once you have a command line option working silently.

There are many types of EXE installers and each has their own method for silent install. NSIS, InstallShield, InnoSetup, and many others. One way to try to figure out which you are dealing with is to upload the file to VirusTotal and see the analysis and look for the type of installer there. It can often be in the comments or other file metadata. VirusTotal will also give you the TrID results which can be useful.

1 Like

I’m just trying to write a script for Installing Intel® HD Graphics Driver for Windows 7/8-64-bit*

The only prompt during installation is the license agreement. How we can inbuilt EULA into scripting ??


We know it’ll work with the Windows software distribution wizard after downloading the file but what If I need to deploy it using Custom Fixlet.

Action Script:

// Display Driver Update
prefetch win64_152824.exe sha1:788ed2d229fe51b7e8553fcca775849e0c95c8d4 size:131611952 http://downloadcenter.intel.com/downloads/eula/24971/Intel-HD-Graphics-Driver-for-Windows-7-8-64-bit?httpDown=https%3A%2F%2Fdownloadmirror.intel.com%2F24971%2Fa08%2Fwin64_152824.exe sha256:8b8d53cffef85118daf38a0c82a357b255bab792de3db85a76557c06b7af9398
wait "{pathname of system folder & "\cmd.exe"}" /Q /C "{(pathname of client folder of current site) & "\__Download\win64_152824.exe"}" /s /qn /norestart

Please advise…

Once you have the package, you can pre-cache the package on your BES Server and then use it as the download point. BigFix Downloads don’t support automation of prompts.

Other way, could be use the direct download link:

https://downloadmirror.intel.com/24971/a08/win64_152824.exe

But I’m not sure if the link is dynamic.

@fermt

Yes, I’ve modified the script using below:

// Display Driver Update
prefetch win64_152824.exe sha1:788ed2d229fe51b7e8553fcca775849e0c95c8d4 size:131611952 http://downloadmirror.intel.com/24971/a08/win64_152824.exe sha256:8b8d53cffef85118daf38a0c82a357b255bab792de3db85a76557c06b7af9398
waithidden "__Download\win64_152824.exe" /S /qn /norestart 

Now, Script is able to download the file “win64_152824.exe” from internet and Complete Cached on Server but after some time it’s getting failed during deployment on the end-user with Status: Download Failed.

Any Idea on this please…!!