Some developers have recently encountered TLS certificate errors when connecting to the LootLocker API from game builds using engines such as Unity and Unreal Engine. These issues are most commonly reported on Windows 10, but can also affect other operating systems and older systems that do not have up-to-date root certificates.
For example, you might see errors like:
libcurl error: 60 (SSL peer certificate or SSH remote key was not OK)
SSL certificate problem: unable to get local issuer certificate
While the API endpoint (e.g., https://api.lootlocker.com/
) works fine for the developers, game engine builds for older systems may fail to connect securely. This guide explains the root cause of these TLS issues, why they are appearing now, and how to resolve them in a way that works across both Unity and Unreal Engine, and for a wide range of systems.
The solution is to bundle the missing root certificate with your game and ensure your engine (Unity or Unreal) uses it when making API calls. This approach will resolve TLS issues not only for Windows 10, but for any system that may lack the required root certificate. Future-proofing your game against similar certificate authority changes.
Here is how this guide is structured, with quick links to each section:
1. How to obtain the correct root certificate.
2. How to bundle and configure it with your Unity or Unreal Engine project.
3. Additional notes and troubleshooting.
The root certificate you need is the "Starfield Services Root Certificate Authority - G2". This is the new root CA used by Amazon for SSL certificates as of 2025.
SFSRootCAG2.pem
(or similar) in your project directory.Content/Certificates/cacert.pem
in your project.SFSRootCAG2.pem
to the end of cacert.pem
(you can have multiple certificates in this file).cacert.pem
is included in your packaged builds (Unreal does this automatically for files in Content/Certificates
). If this is not the case for you during testing then add the Certificates folder to non-asset directory to package and copyUnity handles most certificate validation internally. LootLocker uses UnityWebRequest to make HTTP requests, which relies on Unity's own certificate bundle rather than the operating system's certificate store. This bundle is regularly updated by Unity and already includes major certificate authorities, such as Amazon’s Starfield Services Root CA.
If you do encounter TLS certificate issues, you can:
SFSRootCAG2.pem
file in your Assets/StreamingAssets
folder to make it accessible at runtime.Project Settings > Player > Other Settings > Script Compilation > Scripting Define Symbols
and adding LOOTLOCKER_ENABLE_HTTP_CONFIGURATION_OVERRIDE
.LootLockerSDKManager._OverrideLootLockerCertificateHandler(new <Your Certificate Handler>())
. The custom certificate handler will now be used.LootLockerSDKManager._OverrideLootLockerCertificateHandler(null)
..pem
file.If you are still experiencing issues after following this guide, don't hesitate to reach out on Discord for further assistance.