explicit AES_256_CTR(CephContext* cct): cct(cct) {
}
~AES_256_CTR() {
- memset(key, 0, AES_256_KEYSIZE);
+ ::ceph::crypto::zeroize_for_security(key, AES_256_KEYSIZE);
}
bool set_key(const uint8_t* _key, size_t key_size) {
if (key_size != AES_256_KEYSIZE) {
explicit AES_256_CBC(CephContext* cct): cct(cct) {
}
~AES_256_CBC() {
- memset(key, 0, AES_256_KEYSIZE);
+ ::ceph::crypto::zeroize_for_security(key, AES_256_KEYSIZE);
}
bool set_key(const uint8_t* _key, size_t key_size) {
if (key_size != AES_256_KEYSIZE) {
secret_req.get_http_status() < 300 &&
secret_bl.length() == AES_256_KEYSIZE) {
actual_key.assign(secret_bl.c_str(), secret_bl.length());
- memset(secret_bl.c_str(), 0, secret_bl.length());
+ ::ceph::crypto::zeroize_for_security(secret_bl.c_str(), secret_bl.length());
} else {
res = -EACCES;
}
} else {
res = -EIO;
}
- memset(_actual_key, 0, sizeof(_actual_key));
+ ::ceph::crypto::zeroize_for_security(_actual_key, sizeof(_actual_key));
} else {
ldout(cct, 20) << "Wrong size for key=" << key_id << dendl;
res = -EIO;
reinterpret_cast<const uint8_t*>(master_encryption_key.c_str()), AES_256_KEYSIZE,
reinterpret_cast<const uint8_t*>(key_selector.c_str()),
actual_key, AES_256_KEYSIZE) != true) {
- memset(actual_key, 0, sizeof(actual_key));
+ ::ceph::crypto::zeroize_for_security(actual_key, sizeof(actual_key));
return -EIO;
}
if (block_crypt) {
aes->set_key(reinterpret_cast<const uint8_t*>(actual_key), AES_256_KEYSIZE);
*block_crypt = std::move(aes);
}
- memset(actual_key, 0, sizeof(actual_key));
+ ::ceph::crypto::zeroize_for_security(actual_key, sizeof(actual_key));
return 0;
}
}
AES_256_KEYSIZE,
reinterpret_cast<const uint8_t*>(attr_key_selector.c_str()),
actual_key, AES_256_KEYSIZE) != true) {
- memset(actual_key, 0, sizeof(actual_key));
+ ::ceph::crypto::zeroize_for_security(actual_key, sizeof(actual_key));
return -EIO;
}
auto aes = std::unique_ptr<AES_256_CBC>(new AES_256_CBC(s->cct));
aes->set_key(actual_key, AES_256_KEYSIZE);
- memset(actual_key, 0, sizeof(actual_key));
+ ::ceph::crypto::zeroize_for_security(actual_key, sizeof(actual_key));
if (block_crypt) *block_crypt = std::move(aes);
return 0;
}