C++

chevron-rightVM Detection on the Windows platform when linking with the static librarieshashtag

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

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

To reduce the number of dynamic libraries your application requires, you can 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.

chevron-rightWhat SSL certificates does the SDK use?hashtag

Check out the Extended options documentarrow-up-right 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_Certificatesarrow-up-right.

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

chevron-rightHow to identify which certificate was used to authenticate the License API?hashtag

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.

Was this helpful?