Chrome Release Bot (LUCI) 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
..
algorithms 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
BUILD.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
COMMON_METADATA 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
DEPS 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
DIR_METADATA 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
OWNERS 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
PLAN.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
README.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
algorithm_dispatch.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
algorithm_dispatch.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
algorithm_implementation.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
algorithm_implementation.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
algorithm_implementations.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
algorithm_registry.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
algorithm_registry.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
blink_key_handle.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
blink_key_handle.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
ec_import_key_pkcs8_fuzzer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
ec_import_key_raw_fuzzer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
ec_import_key_spki_fuzzer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
fuzzer_support.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
fuzzer_support.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
generate_key_result.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
generate_key_result.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
jwk.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
jwk.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
rsa_import_key_pkcs8_fuzzer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
rsa_import_key_spki_fuzzer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
status.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
status.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
status_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
webcrypto_impl.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve
webcrypto_impl.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 éve

README.md

Web Crypto

This directory contains the cryptographic code for Chromium’s Web Crypto implementation.

The Web Crypto implementation is split between Blink and this directory.

Blink is responsible for parsing Web Crypto’s Web IDL, and translating requests into method calls on blink::WebCrypto, which in turn is implemented here by WebCryptoImpl.

WebCryptoImpl is what carries out the actual cryptographic operations. Crypto is done directly in the renderer process, in software, using BoringSSL. There is intentionally no support for hardware backed tokens.

Threading:

The Web Crypto API expects asynchronous completion of operations, even when used from Web Workers. WebCryptoImpl takes a blanket approach of dispatching incoming work to a small worker pool. This favors main thread responsiveness/simplicity over throughput. Operations minimally take two thread hops.

The split of responsibilities between Blink and content (content is what registers blink::WebCrypto to the Blink Platform) is dated and could be simplified. See also crbug.com/614385.