Roll src/third_party/WebKit 605a979:06cb9e9 (svn 202556:202558)
[chromium-blink-merge.git] / components / webcrypto / algorithm_implementations.h
bloba6bea01f63f632c8060491b3af410b8a5826b8b0
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_WEBCRYPTO_ALGORITHM_IMPLEMENTATIONS_H_
6 #define COMPONENTS_WEBCRYPTO_ALGORITHM_IMPLEMENTATIONS_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "third_party/WebKit/public/platform/WebCrypto.h"
11 // The definitions for these functions live in the algorithms/ directory.
12 namespace webcrypto {
14 class AlgorithmImplementation;
16 scoped_ptr<blink::WebCryptoDigestor> CreateDigestorImplementation(
17 blink::WebCryptoAlgorithmId algorithm);
19 scoped_ptr<AlgorithmImplementation> CreateShaImplementation();
20 scoped_ptr<AlgorithmImplementation> CreateAesCbcImplementation();
21 scoped_ptr<AlgorithmImplementation> CreateAesCtrImplementation();
22 scoped_ptr<AlgorithmImplementation> CreateAesGcmImplementation();
23 scoped_ptr<AlgorithmImplementation> CreateAesKwImplementation();
24 scoped_ptr<AlgorithmImplementation> CreateHmacImplementation();
25 scoped_ptr<AlgorithmImplementation> CreateRsaOaepImplementation();
26 scoped_ptr<AlgorithmImplementation> CreateRsaSsaImplementation();
27 scoped_ptr<AlgorithmImplementation> CreateRsaPssImplementation();
28 scoped_ptr<AlgorithmImplementation> CreateEcdsaImplementation();
29 scoped_ptr<AlgorithmImplementation> CreateEcdhImplementation();
30 scoped_ptr<AlgorithmImplementation> CreateHkdfImplementation();
31 scoped_ptr<AlgorithmImplementation> CreatePbkdf2Implementation();
33 } // namespace webcrypto
35 #endif // COMPONENTS_WEBCRYPTO_ALGORITHM_IMPLEMENTATIONS_H_