chromium/components/webcrypto/webcrypto_fuzzer.cc

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <string>

#include "components/webcrypto/algorithm_dispatch.h"
#include "components/webcrypto/status.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/platform/web_crypto_algorithm.h"
#include "third_party/blink/public/platform/web_crypto_algorithm_params.h"
#include "third_party/blink/public/platform/web_crypto_key.h"
#include "third_party/blink/public/platform/web_crypto_key_algorithm.h"
#include "third_party/fuzztest/src/fuzztest/fuzztest.h"

auto AnyKeyUsage() {}

auto AesCbcAlgorithm() {}

auto AesCtrAlgorithm() {}

auto AesGcmAlgorithm() {}

auto AesKwAlgorithm() {}

auto HmacAlgorithm(fuzztest::Domain<blink::WebCryptoAlgorithm> entry_domain) {}

auto X25519Algorithm() {}

auto Ed25519Algorithm() {}

auto Pbkdf2Algorithm(fuzztest::Domain<blink::WebCryptoAlgorithm> entry_domain) {}

auto HkdfAlgorithm(fuzztest::Domain<blink::WebCryptoAlgorithm> entry_domain) {}

auto RsaPssAlgorithm() {}

auto RsaOaepAlgorithm() {}

auto Sha1Algorithm() {}

auto Sha256Algorithm() {}

auto Sha384Algorithm() {}

auto Sha512Algorithm() {}

auto AnyAlgorithm() {}

static void ImportKeyFuzzer(blink::WebCryptoAlgorithm algo,
                            blink::WebCryptoKeyUsage key_usage,
                            base::span<uint8_t> key_data) {}

static void EncryptFuzzer(blink::WebCryptoAlgorithm algo,
                          blink::WebCryptoKeyUsage key_usage,
                          base::span<uint8_t> key_data,
                          base::span<uint8_t> data) {}

static void DecryptFuzzer(blink::WebCryptoAlgorithm algo,
                          blink::WebCryptoKeyUsage key_usage,
                          base::span<uint8_t> key_data,
                          base::span<uint8_t> data) {}

static void DigestFuzzer(blink::WebCryptoAlgorithm algo,
                         base::span<uint8_t> data) {}

static void SignFuzzer(blink::WebCryptoAlgorithm algo,
                       blink::WebCryptoKeyUsage key_usage,
                       base::span<uint8_t> key_data,
                       base::span<uint8_t> data) {}

static void VerifyFuzzer(blink::WebCryptoAlgorithm algo,
                         blink::WebCryptoKeyUsage key_usage,
                         base::span<uint8_t> key_data,
                         base::span<uint8_t> signature,
                         base::span<uint8_t> data) {}

static void DeriveBitsFuzzer(blink::WebCryptoAlgorithm algo,
                             blink::WebCryptoKeyUsage key_usage,
                             base::span<uint8_t> key_data,
                             unsigned int length_bits) {}

FUZZ_TEST();

FUZZ_TEST();

FUZZ_TEST();

FUZZ_TEST();

FUZZ_TEST();

FUZZ_TEST();

FUZZ_TEST();