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.
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_