bool RippleAddress::isValid() const { bool bValid = false; if (!vchData.empty()) { CKey key; switch (nVersion) { case VER_NODE_PUBLIC: bValid = key.SetPubKey(getNodePublic()); break; case VER_ACCOUNT_PUBLIC: bValid = key.SetPubKey(getAccountPublic()); break; case VER_ACCOUNT_PRIVATE: bValid = key.SetPrivateKeyU(getAccountPrivate()); break; default: bValid = true; break; } } return bValid; }
std::vector<unsigned char> RippleAddress::accountPrivateDecrypt(const RippleAddress& naPublicFrom, const std::vector<unsigned char>& vucCipherText) const { CKey ckPrivate; CKey ckPublic; std::vector<unsigned char> vucPlainText; if (!ckPublic.SetPubKey(naPublicFrom.getAccountPublic())) { // Bad public key. cLog(lsWARNING) << "accountPrivateDecrypt: Bad public key."; } else if (!ckPrivate.SetPrivateKeyU(getAccountPrivate())) { // Bad private key. cLog(lsWARNING) << "accountPrivateDecrypt: Bad private key."; } else { try { vucPlainText = ckPrivate.decryptECIES(ckPublic, vucCipherText); } catch (...) { nothing(); } } return vucPlainText; }
Blob RippleAddress::accountPrivateDecrypt (const RippleAddress& naPublicFrom, Blob const& vucCipherText) const { CKey ckPrivate; CKey ckPublic; Blob vucPlainText; if (!ckPublic.SetPubKey (naPublicFrom.getAccountPublic ())) { // Bad public key. WriteLog (lsWARNING, RippleAddress) << "accountPrivateDecrypt: Bad public key."; } else if (!ckPrivate.SetPrivateKeyU (getAccountPrivate ())) { // Bad private key. WriteLog (lsWARNING, RippleAddress) << "accountPrivateDecrypt: Bad private key."; } else { try { vucPlainText = ckPrivate.decryptECIES (ckPublic, vucCipherText); } catch (...) { nothing (); } } return vucPlainText; }
bool RippleAddress::accountPrivateVerify(const uint256& uHash, const std::vector<unsigned char>& vucSig) const { CKey ckPrivate; bool bVerified; if (!ckPrivate.SetPrivateKeyU(getAccountPrivate())) { // Bad private key. cLog(lsWARNING) << "accountPrivateVerify: Bad private key."; bVerified = false; } else { bVerified = ckPrivate.Verify(uHash, vucSig); } return bVerified; }
bool RippleAddress::accountPrivateVerify (uint256 const& uHash, Blob const& vucSig) const { CKey ckPrivate; bool bVerified; if (!ckPrivate.SetPrivateKeyU (getAccountPrivate ())) { // Bad private key. WriteLog (lsWARNING, RippleAddress) << "accountPrivateVerify: Bad private key."; bVerified = false; } else { bVerified = ckPrivate.Verify (uHash, vucSig); } return bVerified; }
bool RippleAddress::accountPrivateSign(const uint256& uHash, std::vector<unsigned char>& vucSig) const { CKey ckPrivate; bool bResult; if (!ckPrivate.SetPrivateKeyU(getAccountPrivate())) { // Bad private key. cLog(lsWARNING) << "accountPrivateSign: Bad private key."; bResult = false; } else { bResult = ckPrivate.Sign(uHash, vucSig); tLog(!bResult, lsWARNING) << "accountPrivateSign: Signing failed."; } return bResult; }
bool RippleAddress::accountPrivateSign (uint256 const& uHash, Blob& vucSig) const { CKey ckPrivate; bool bResult; if (!ckPrivate.SetPrivateKeyU (getAccountPrivate ())) { // Bad private key. WriteLog (lsWARNING, RippleAddress) << "accountPrivateSign: Bad private key."; bResult = false; } else { bResult = ckPrivate.Sign (uHash, vucSig); CondLog (!bResult, lsWARNING, RippleAddress) << "accountPrivateSign: Signing failed."; } return bResult; }