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
Firefox doesn't open HTTPS pages and displays a warning.
The root certificate must be imported to certificate storages of all
browsers to avoid errors. Chrome and IE use 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 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.
- The filtering process must have elevated administrative privileges
to access all user profile folders.
- 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).
- The latest versions of Firefox (58.x) use a different storage format
for the certificate database. It is supported in latest builds of
ProtocolFilters (126.96.36.199), with included nss tools version 3.35.