diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-05-15 09:11:04 +0200 |
---|---|---|
committer | Witchspace <witchspace81@gmail.com> | 2011-05-15 12:04:20 +0200 |
commit | 223b6f1ba4819e9a146e7aa451d546726d0bc714 (patch) | |
tree | 8d52eaba84ba2817d2227cf9fda0c71af75246cd /src/key.h | |
parent | c22feee634ade7f887d7e29635a8e5dc44675273 (diff) |
make bitcoin include files more modular
Diffstat (limited to 'src/key.h')
-rw-r--r-- | src/key.h | 23 |
1 files changed, 15 insertions, 8 deletions
@@ -1,7 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Distributed under the MIT/X11 software license, see the accompanying // file license.txt or http://www.opensource.org/licenses/mit-license.php. +#ifndef BITCOIN_KEY_H +#define BITCOIN_KEY_H +#include <openssl/ec.h> +#include <openssl/ecdsa.h> +#include <openssl/obj_mac.h> // secp160k1 // const unsigned int PRIVATE_KEY_SIZE = 192; @@ -36,7 +41,7 @@ public: // secure_allocator is defined in serialize.h -typedef vector<unsigned char, secure_allocator<unsigned char> > CPrivKey; +typedef std::vector<unsigned char, secure_allocator<unsigned char> > CPrivKey; @@ -109,7 +114,7 @@ public: return vchPrivKey; } - bool SetPubKey(const vector<unsigned char>& vchPubKey) + bool SetPubKey(const std::vector<unsigned char>& vchPubKey) { const unsigned char* pbegin = &vchPubKey[0]; if (!o2i_ECPublicKey(&pkey, &pbegin, vchPubKey.size())) @@ -118,19 +123,19 @@ public: return true; } - vector<unsigned char> GetPubKey() const + std::vector<unsigned char> GetPubKey() const { unsigned int nSize = i2o_ECPublicKey(pkey, NULL); if (!nSize) throw key_error("CKey::GetPubKey() : i2o_ECPublicKey failed"); - vector<unsigned char> vchPubKey(nSize, 0); + std::vector<unsigned char> vchPubKey(nSize, 0); unsigned char* pbegin = &vchPubKey[0]; if (i2o_ECPublicKey(pkey, &pbegin) != nSize) throw key_error("CKey::GetPubKey() : i2o_ECPublicKey returned unexpected size"); return vchPubKey; } - bool Sign(uint256 hash, vector<unsigned char>& vchSig) + bool Sign(uint256 hash, std::vector<unsigned char>& vchSig) { vchSig.clear(); unsigned char pchSig[10000]; @@ -142,7 +147,7 @@ public: return true; } - bool Verify(uint256 hash, const vector<unsigned char>& vchSig) + bool Verify(uint256 hash, const std::vector<unsigned char>& vchSig) { // -1 = error, 0 = bad sig, 1 = good if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1) @@ -150,7 +155,7 @@ public: return true; } - static bool Sign(const CPrivKey& vchPrivKey, uint256 hash, vector<unsigned char>& vchSig) + static bool Sign(const CPrivKey& vchPrivKey, uint256 hash, std::vector<unsigned char>& vchSig) { CKey key; if (!key.SetPrivKey(vchPrivKey)) @@ -158,7 +163,7 @@ public: return key.Sign(hash, vchSig); } - static bool Verify(const vector<unsigned char>& vchPubKey, uint256 hash, const vector<unsigned char>& vchSig) + static bool Verify(const std::vector<unsigned char>& vchPubKey, uint256 hash, const std::vector<unsigned char>& vchSig) { CKey key; if (!key.SetPubKey(vchPubKey)) @@ -166,3 +171,5 @@ public: return key.Verify(hash, vchSig); } }; + +#endif |