Landing Recent QUIC changes until 8/19/2015 17:00 UTC.
[chromium-blink-merge.git] / crypto / ec_signature_creator_impl.h
blob91a60a89963d7c92583c99acfda9bca30c423dac
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 ~ECSignatureCreatorImpl() override;
18 bool Sign(const uint8* data,
19 int data_len,
20 std::vector<uint8>* signature) override;
22 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_