Frequently asked questions

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

Define a symbol _PF_STATIC_LIB in 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 to certificate storages of all browsers to avoid errors.

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

Chrome, Opera, Edge and other browsers based on Chromium are using system storage, where the certificate is always imported automatically.

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

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

  • It is necessary to call pf_setRootSSLCertSubject after pf_init to start importing root certificate to all supported storages. 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 profile folder (cert8.db, cert9.db).