C++
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.
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.
The SDK contains a list of root certificates that are included in Mozilla products. See https://wiki.mozilla.org/CA/Included_Certificates.
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:
- with SearchPath, see https://learn.microsoft.com/en-us/windows/win32/api/processenv/nf-processenv-searchpatha,
- in the certificates folder, placed in the executable directory.
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
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.