// Copyright (c) 2012 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. #ifndef CRYPTO_EC_SIGNATURE_CREATOR_IMPL_H_ #define CRYPTO_EC_SIGNATURE_CREATOR_IMPL_H_ #include "base/compiler_specific.h" #include "crypto/ec_signature_creator.h" namespace crypto { class ECSignatureCreatorImpl : public ECSignatureCreator { public: explicit ECSignatureCreatorImpl(ECPrivateKey* key); virtual ~ECSignatureCreatorImpl(); virtual bool Sign(const uint8* data, int data_len, std::vector* signature) OVERRIDE; virtual bool DecodeSignature(const std::vector& der_sig, std::vector* out_raw_sig) OVERRIDE; private: ECPrivateKey* key_; size_t signature_len_; DISALLOW_COPY_AND_ASSIGN(ECSignatureCreatorImpl); }; } // namespace crypto #endif // CRYPTO_EC_SIGNATURE_CREATOR_IMPL_H_