Frequently Asked Questions
SDK

C++

6min

VM Detection on the Windows platform when linking with the static libraries

VM detection is possible on Windows OS. linking to LicenseSpring library can be done statically or dynamically. LicenseSpring library loads LicenseSpringVMD.dll at run time, when detecting for VM. LicenseSpringVMD.dll cannot be used independently, only within LicenseSpring SDK.

When using C++, there is a large number of files.Is it possible somehow to decrease the number of files to a small number?

To reduce the number of dynamic libraries your application requires, youcan statically link the libraries into your executable, incorporating their code directly into the application at compile time. This results in a standalone executable that does not depend on external library files at runtime.

What SSL certificates does the SDK use?

Check out the Extended options document for more information about setting up native TLS for curl.

The C++ SDK uses multiple fallbacks to look up valid SSL certificates for reaching the License API. Certificates are checked in the following order:

  • system certificates,
  • SDK embedded certificates,
  • certificates from a bundle file.

Embedded certificates

The SDK contains a list of root certificates that are included in Mozilla products. See https://wiki.mozilla.org/CA/Included_Certificates.

Certificate bundle file

The SDK also contains a standalone file containing the same certificates, that you can bundle with your binary.

On Windows, the SDK searches for curl-ca-bundle.crt and ca-certificates.crt files:

On Linux and macOS, the SDK searches for the ca-certificates.crt file:

  • in the executable directory,
  • in the certificates directory, placed in the executable directory,
  • in the current working directory,
  • in the certificates directory, placed in the current working directory.

If that fails, the SDK also tries to find a certificate file commonly found on different Linux and BSD distributions:

  • /etc/ssl/certs/ca-certificates.crt
  • /etc/pki/tls/certs/ca-bundle.txt
  • /etc/pki/tls/cacert.pem
  • etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
  • /etc/ssl/cert.pem
  • /usr/local/etc/ssl/cert.pem
  • /usr/local/share/certs/ca-root-nss.crt
  • /etc/openssl/certs/ca-certificates.crt
  • /usr/local/etc/openssl/cert.pem

How to identify which certificate was used to authenticate the License API?

This is currently not possible. Enabling logging will write Failed to verify SSL certificate using system/embedded/ca file certs. to the log file. If the request fails, an appropriate exception will be thrown.

Updated 26 Jul 2024
Doc contributor
Doc contributor
Doc contributor
Did this page help you?