liiir1985 7f62dcda9f | ||
---|---|---|
.. | ||
public/chromium_verifier/pthread | ||
BUILD.bazel | ||
BUILD.gn | ||
OWNERS | ||
README.md | ||
chromium_verifier.gni | ||
sources.gni |
README.md
Chrome Certificate Verifier Library
The folder provides targets for building the certificate verifier used by
chromium. The sources live in the chromium source repo. It is recommended
to download the repo via pw package install chromium_verifier
, which
performs a sparse checkout instead of checking out the who repo. For gn build,
set dir_pw_third_party_chromium_verifier
to point to the repo path. The
library requires third_party/boringssl
and need to be setup first. See
third_party/boringssl/README.md
for instruction. The library will primarily
be used by pw_tls_client when using boringssl backend.
The verifier we build for embedded target excludes the chromium metric feature.
Specifically, for the current port, we use a noop implementation for function
UmaHistogramCounts10000()
. The function is originally used to generate
histograms that record iteration count. For the verifier, the iteration count
is only used in unittest. Compiling the feature requires to bring in a
significant amount of additional sources and also many system dependencies
including threading, file system, memory mapping management (sys/mman.h) etc.
It's too complicated to accomodate for embedded target.
However we do build a full version including the metric feature on Linux host platform for running native unittest, as a criterion for rolling.
Certain chromium sources include header pthread.h
and use data type and
functions such as pthread_t
, pthread_mutex_lock
etc. Although the code
the verifier executes has no reference to them, they are still needed for
compilation. If the target platform does not have a native POSIX thread
implementation, we provide a pthread.h
that declares the needed data types
and functions for build. For GN builds, simply set
pw_third_party_chromium_verifier_HAS_NATIVE_PTHREAD
to false.