Post

Replies

Boosts

Views

Activity

Reply to Archived app failing to get root certificates for SSL websocket connection
Thanks a lot that is very helpful information. I'm going to continue investigating Unreals libwebsocket module to better understand how it attempts to access root certs. I have noticed on my build machine that I had a macOS security update which I hadn't installed, I assume this security update contains updated root certs and this is what I would have needed to have my app build use the correct certs. Appreciate the help!
Nov ’25
Reply to Archived app failing to get root certificates for SSL websocket connection
Thank you for this response. I believe I now understand what was happening but still don't fully understand why it suddenly started happening. Ultimately what's happening is that the packaged build from Unreal (which is then also built through XCode) is not packaging the cacerts with it. I don't think it previously did either, but I wonder if my built app is now being sandboxed and no longer has access to the devices root certs? The solution was essentially to ensure that a cacert.pem file (with the latest root certs) is packaged with my app so it could access that to verify my servers certs. I can also see that root certificates got updated since Nov 4th here: https://curl.se/docs/caextract.html (which is the same day I made this post, coincidence?) - I am thinking this might have something to do with why I am suddenly seeing this issue. If there is no sandboxing and my app has access to my devices certs, then maybe my device did not get the latest certs update (but my websocket server did) and therefore can't verify the servers cert? In any case I thank you for the information you've shared! I would like to know however if it is possible that my MacOS did not have the latest certs available? And if so, what would be the best way to ensure that an Apple device has the latest root certificates?
Nov ’25
Reply to Archived app failing to get root certificates for SSL websocket connection
Hello @DTS Engineer , thanks for the response. Just to clarify, my app do send HTTPS requests and those work fine. It's when it tries to do a websocket connection with SSL that it fails to get the root certificate. The specific error would read something like "SSL error: unable to get local issuer certificate (preverify_ok=0;err=20;depth=2)" I am using Unreal Engine's built-in libwebsocket module to make a connection to a secure websocket server. I have built this project in the past with the same code and it used to work. I actually still have an old build that I can run and see it working. But any new build I am making with the same exact codebase, is now failing. The only things that have changed are updates to the build environment, we upgraded XCode at some point (I don't remember exactly when) to 16.4 - That is why my first suspicion was that it is caused by a change in the build environment. I'm kind of stumped honestly, this issue came out of nowhere and we made no code changes to our project. The built project was also tested on more than one Mac machine, so that eliminates the possibility that it is the root certificate that isn't in the right place. I will continue to dig deeper, and will also ask in the Unreal Engine forums. But I still suspect this might be an XCode/MacOS issue, at least for now.
Nov ’25