}
BN_clear_free(bn);
fSet = true;
- if (fCompressed || fCompressedPubKey)
+ if (fCompressed)
SetCompressedPubKey();
return true;
}
EVP_PKEY *evpKey = EVP_PKEY_new();
if (!EVP_PKEY_assign_EC_KEY(evpKey, pkey))
return error("CKey::WritePEM() : Error initializing EVP_PKEY instance.");
-
if(!PEM_write_bio_PKCS8PrivateKey(streamObj, evpKey, EVP_aes_256_cbc(), (char *)&strPassKey[0], strPassKey.size(), NULL, NULL))
return error("CKey::WritePEM() : Error writing private key data to stream object");
- if(!PEM_write_bio_PUBKEY(streamObj, evpKey))
- return error("CKey::WritePEM() : Error writing public key data to stream object");
-
return true;
}
if (!DecodeBase58Check(strMalleablePubKey, vchTemp)) {
throw key_error("CMalleablePubKey::SetString() : Provided key data seems corrupted.");
}
+ if (vchTemp.size() != 68)
+ return false;
CDataStream ssKey(vchTemp, SER_NETWORK, PROTOCOL_VERSION);
ssKey >> *this;
if (!DecodeBase58Check(strMutableKey, vchTemp)) {
throw key_error("CMalleableKey::SetString() : Provided key data seems corrupted.");
}
-
+ if (vchTemp.size() != 66)
+ return false;
CDataStream ssKey(vchTemp, SER_NETWORK, PROTOCOL_VERSION);
ssKey >> *this;
throw key_error("CMalleableKeyView::SetString() : Provided key data seems corrupted.");
}
+ if (vchTemp.size() != 67)
+ return false;
+
CDataStream ssKey(vchTemp, SER_NETWORK, PROTOCOL_VERSION);
ssKey >> *this;