diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-10-16 11:30:27 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-10-16 11:30:27 +0200 |
| commit | 4b8f2b64ebb7fcba20c3c03d7bccd08e48612fbb (patch) | |
| tree | 06d00068ef681534f0e64bede699bf1ce5a19929 /src/lib | |
| parent | e2dfb7e571fa80e6216dcedb16e5eaca3c5648d4 (diff) | |
Remove unused code.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/config.cc | 1 | ||||
| -rw-r--r-- | src/lib/crypto.cc | 130 | ||||
| -rw-r--r-- | src/lib/crypto.h | 35 | ||||
| -rw-r--r-- | src/lib/util.cc | 1 | ||||
| -rw-r--r-- | src/lib/wscript | 1 |
5 files changed, 0 insertions, 168 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc index 063fbcab9..d032e6c64 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -25,7 +25,6 @@ #include "config.h" #include "constants.h" #include "cross.h" -#include "crypto.h" #include "dcp_content_type.h" #include "dkdm_recipient.h" #include "dkdm_wrapper.h" diff --git a/src/lib/crypto.cc b/src/lib/crypto.cc deleted file mode 100644 index 777969c10..000000000 --- a/src/lib/crypto.cc +++ /dev/null @@ -1,130 +0,0 @@ -/* - Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net> - - This file is part of DCP-o-matic. - - DCP-o-matic is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DCP-o-matic is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. - -*/ - - -/* Based on code from https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption */ - - -#include "crypto.h" -#include "exceptions.h" -#include <openssl/conf.h> -#include <openssl/evp.h> -#include <openssl/err.h> -#include <openssl/rand.h> -#include <boost/scoped_array.hpp> - - -using std::string; -using namespace dcpomatic; - - -/** The cipher that this code uses */ -#define CIPHER EVP_aes_256_cbc() - - -dcp::ArrayData -dcpomatic::random_iv () -{ - EVP_CIPHER const * cipher = CIPHER; - dcp::ArrayData iv (EVP_CIPHER_iv_length(cipher)); - RAND_bytes (iv.data(), iv.size()); - return iv; -} - - -dcp::ArrayData -dcpomatic::encrypt (string plaintext, dcp::ArrayData key, dcp::ArrayData iv) -{ - auto ctx = EVP_CIPHER_CTX_new (); - if (!ctx) { - throw CryptoError ("could not create cipher context"); - } - - int r = EVP_EncryptInit_ex (ctx, CIPHER, 0, key.data(), iv.data()); - if (r != 1) { - throw CryptoError ("could not initialise cipher context for encryption"); - } - - dcp::ArrayData ciphertext (plaintext.size() * 2); - - int len; - r = EVP_EncryptUpdate (ctx, ciphertext.data(), &len, (uint8_t const *) plaintext.c_str(), plaintext.size()); - if (r != 1) { - throw CryptoError ("could not encrypt data"); - } - - int ciphertext_len = len; - - r = EVP_EncryptFinal_ex (ctx, ciphertext.data() + len, &len); - if (r != 1) { - throw CryptoError ("could not finish encryption"); - } - - ciphertext.set_size (ciphertext_len + len); - - EVP_CIPHER_CTX_free (ctx); - - return ciphertext; -} - - -string -dcpomatic::decrypt (dcp::ArrayData ciphertext, dcp::ArrayData key, dcp::ArrayData iv) -{ - auto ctx = EVP_CIPHER_CTX_new (); - if (!ctx) { - throw CryptoError ("could not create cipher context"); - } - - int r = EVP_DecryptInit_ex (ctx, CIPHER, 0, key.data(), iv.data()); - if (r != 1) { - throw CryptoError ("could not initialise cipher context for decryption"); - } - - dcp::ArrayData plaintext (ciphertext.size() * 2); - - int len; - r = EVP_DecryptUpdate (ctx, plaintext.data(), &len, ciphertext.data(), ciphertext.size()); - if (r != 1) { - throw CryptoError ("could not decrypt data"); - } - - int plaintext_len = len; - - r = EVP_DecryptFinal_ex (ctx, plaintext.data() + len, &len); - if (r != 1) { - throw CryptoError ("could not finish decryption"); - } - - plaintext_len += len; - plaintext.set_size (plaintext_len + 1); - plaintext.data()[plaintext_len] = '\0'; - - EVP_CIPHER_CTX_free (ctx); - - return string ((char *) plaintext.data()); -} - - -int -dcpomatic::crypto_key_length () -{ - return EVP_CIPHER_key_length (CIPHER); -} diff --git a/src/lib/crypto.h b/src/lib/crypto.h deleted file mode 100644 index 41a93010d..000000000 --- a/src/lib/crypto.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net> - - This file is part of DCP-o-matic. - - DCP-o-matic is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DCP-o-matic is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. - -*/ - - -#include <dcp/array_data.h> - - -namespace dcpomatic { - - -dcp::ArrayData random_iv (); -dcp::ArrayData encrypt (std::string plaintext, dcp::ArrayData key, dcp::ArrayData iv); -std::string decrypt (dcp::ArrayData ciphertext, dcp::ArrayData key, dcp::ArrayData iv); -int crypto_key_length (); - - -} - diff --git a/src/lib/util.cc b/src/lib/util.cc index 1a340cbce..e0b5a294f 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -33,7 +33,6 @@ #include "config.h" #include "constants.h" #include "cross.h" -#include "crypto.h" #include "dcp_content_type.h" #include "dcpomatic_log.h" #include "digester.h" diff --git a/src/lib/wscript b/src/lib/wscript index 56ffc39fe..dad8947b1 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -62,7 +62,6 @@ sources = """ create_cli.cc crop.cc cross_common.cc - crypto.cc curl_uploader.cc datasat_ap2x.cc dcp_content.cc |
