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 |