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

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.