Extract protobuf database into a new 'leveldb_proto' component
[chromium-blink-merge.git] / crypto / ec_signature_creator_impl.h
blob8ef67cd7f3dbbab0f1a528731fd46dfa86dbf19a
1 // Copyright (c) 2012 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 CRYPTO_EC_SIGNATURE_CREATOR_IMPL_H_
6 #define CRYPTO_EC_SIGNATURE_CREATOR_IMPL_H_
8 #include "base/compiler_specific.h"
9 #include "crypto/ec_signature_creator.h"
11 namespace crypto {
13 class ECSignatureCreatorImpl : public ECSignatureCreator {
14 public:
15 explicit ECSignatureCreatorImpl(ECPrivateKey* key);
16 virtual ~ECSignatureCreatorImpl();
18 virtual bool Sign(const uint8* data,
19 int data_len,
20 std::vector<uint8>* signature) OVERRIDE;
22 virtual bool DecodeSignature(const std::vector<uint8>& der_sig,
23 std::vector<uint8>* out_raw_sig) OVERRIDE;
25 private:
26 ECPrivateKey* key_;
27 size_t signature_len_;
29 DISALLOW_COPY_AND_ASSIGN(ECSignatureCreatorImpl);
32 } // namespace crypto
34 #endif // CRYPTO_EC_SIGNATURE_CREATOR_IMPL_H_