Chromium Code Reviews| Index: crypto/ec_signature_creator_nss.cc |
| diff --git a/crypto/ec_signature_creator_nss.cc b/crypto/ec_signature_creator_nss.cc |
| index 933f1cccf3d329c033d8240056133bedf9ce1696..09dded76e00550f11391f91d194a4ccca1842d74 100644 |
| --- a/crypto/ec_signature_creator_nss.cc |
| +++ b/crypto/ec_signature_creator_nss.cc |
| @@ -48,23 +48,31 @@ SECStatus SignData(SECItem* result, |
| return DSAU_EncodeDerSigWithLen(result, &sig, sig.len); |
| } |
| -} // namespace |
| +class ECSignatureCreatorNSS : public ECSignatureCreator { |
| + public: |
| + explicit ECSignatureCreatorNSS(ECPrivateKey* key); |
| + virtual ~ECSignatureCreatorNSS(); |
| -// static |
| -ECSignatureCreator* ECSignatureCreator::Create(ECPrivateKey* key) { |
| - return new ECSignatureCreator(key); |
| -} |
| + virtual bool Sign(const uint8* data, |
| + int data_len, |
| + std::vector<uint8>* signature) OVERRIDE; |
| + |
| + private: |
| + ECPrivateKey* key_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ECSignatureCreatorNSS); |
| +}; |
| -ECSignatureCreator::ECSignatureCreator(ECPrivateKey* key) |
| +ECSignatureCreatorNSS::ECSignatureCreatorNSS(ECPrivateKey* key) |
| : key_(key) { |
| EnsureNSSInit(); |
| } |
| -ECSignatureCreator::~ECSignatureCreator() { } |
| +ECSignatureCreatorNSS::~ECSignatureCreatorNSS() { } |
|
wtc
2012/02/23 23:39:57
Nit: remove the space inside {}.
mattm
2012/02/24 01:05:28
Done.
|
| -bool ECSignatureCreator::Sign(const uint8* data, |
| - int data_len, |
| - std::vector<uint8>* signature) { |
| +bool ECSignatureCreatorNSS::Sign(const uint8* data, |
| + int data_len, |
| + std::vector<uint8>* signature) { |
| // Data to be signed |
| SECItem secret; |
| secret.type = siBuffer; |
| @@ -91,4 +99,11 @@ bool ECSignatureCreator::Sign(const uint8* data, |
| return true; |
| } |
| +} // namespace |
| + |
| +// static |
| +ECSignatureCreator* ECSignatureCreator::CreatePlatformImpl(ECPrivateKey* key) { |
| + return new ECSignatureCreatorNSS(key); |
| +} |
| + |
| } // namespace crypto |