// Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/webcrypto/algorithm_implementation.h" #include "components/webcrypto/status.h" namespace webcrypto { namespace { // This class implements the Ed25519 algorithm, which is a particular parameter // choice for the EdDSA algorithm specified by RFC 8032. The underlying curve // used by Ed25519 is equivalent to Curve25519 specified by RFC 7748. // // TODO(crbug.com/1032821): See also // https://chromestatus.com/feature/4913922408710144. class Ed25519Implementation : public AlgorithmImplementation { public: Status Sign(const blink::WebCryptoAlgorithm& algorithm, const blink::WebCryptoKey& key, const CryptoData& data, std::vector* buffer) const override { // TODO(crbug.com/1032821): Implement this. return Status::ErrorUnsupported(); } Status Verify(const blink::WebCryptoAlgorithm& algorithm, const blink::WebCryptoKey& key, const CryptoData& signature, const CryptoData& data, bool* signature_match) const override { // TODO(crbug.com/1032821): Implement this. return Status::ErrorUnsupported(); } }; } // namespace std::unique_ptr CreateEd25519Implementation() { return std::make_unique(); } } // namespace webcrypto