Frequently asked questions

Unable to link with the static build of protocolfilters.lib, the linker shows “unresolved external symbol” errors.

Define the symbol _PF_STATIC_LIB in the project configuration or insert the following string before including protocolfilters.h: #define _PF_STATIC_LIB 1

The browser doesn’t open HTTPS pages and displays a warning.

The root certificate must be imported into the certificate stores of all browsers to avoid errors.

The filtering process must have administrative privileges to access all user profile folders and the system certificate store.

Chrome, Opera, Edge and other Chromium-based browsers use the system store, where the certificate is always imported automatically.

For Firefox and other Mozilla products SSL filter requires the following:

  • It is necessary to copy the protocolfilters\sources\tools\import_root_cert\nss subfolder with certutil.exe and all dependent libraries to the folder containing your application. This tool is used to import certificates to Mozilla stores.

  • It is necessary to call pf_setRootSSLCertSubject after pf_init to start importing the root certificate to all supported stores. The process can take up to several minutes depending on the number of files in user profile folders.

  • The filter must be started before Firefox and other Mozilla products, because they overwrite the certificate storage in the profile folder (cert8.db, cert9.db).