|
|
|
@ -3,30 +3,6 @@
|
|
|
|
|
#include <cryptopp/files.h>
|
|
|
|
|
#include <cryptopp/xed25519.h>
|
|
|
|
|
|
|
|
|
|
void Load(const std::string& filename, CryptoPP::BufferedTransformation& bt)
|
|
|
|
|
{
|
|
|
|
|
CryptoPP::FileSource file(filename.c_str(), true);
|
|
|
|
|
|
|
|
|
|
file.TransferTo(bt);
|
|
|
|
|
bt.MessageEnd();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPrivateKey(const std::string& filename, CryptoPP::PrivateKey& key)
|
|
|
|
|
{
|
|
|
|
|
CryptoPP::ByteQueue queue;
|
|
|
|
|
Load(filename, queue);
|
|
|
|
|
|
|
|
|
|
key.Load(queue);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPublicKey(const std::string& filename, CryptoPP::PublicKey& key)
|
|
|
|
|
{
|
|
|
|
|
CryptoPP::ByteQueue queue;
|
|
|
|
|
Load(filename, queue);
|
|
|
|
|
|
|
|
|
|
key.Load(queue);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void test_extract_archive()
|
|
|
|
|
{
|
|
|
|
|
std::cout << "\n*** test: extract_archive()\n\n";
|
|
|
|
@ -59,7 +35,7 @@ void test_decrypt_distribution_key()
|
|
|
|
|
std::cout << "\n*** test: decrypt_distribution_key()\n\n";
|
|
|
|
|
|
|
|
|
|
CryptoPP::RSA::PrivateKey provisioning_key;
|
|
|
|
|
LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
SignedPackage::LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
|
|
|
|
|
SignedPackage::decrypt_distribution_key("DIST.KEY", provisioning_key);
|
|
|
|
|
}
|
|
|
|
@ -69,7 +45,7 @@ void test_decrypt_distribution_archive()
|
|
|
|
|
std::cout << "\n*** test: decrypt_distribution_archive()\n\n";
|
|
|
|
|
|
|
|
|
|
CryptoPP::RSA::PrivateKey provisioning_key;
|
|
|
|
|
LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
SignedPackage::LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
|
|
|
|
|
SignedPackage::decrypt_distribution_archive("DIST.A", "DIST.KEY",
|
|
|
|
|
provisioning_key);
|
|
|
|
@ -80,10 +56,10 @@ void test_extract_deployment_archive()
|
|
|
|
|
std::cout << "\n*** test: extract_deployment_archive()\n\n";
|
|
|
|
|
|
|
|
|
|
CryptoPP::ed25519PublicKey deployment_key;
|
|
|
|
|
LoadPublicKey("deployment_key-pub.der", deployment_key);
|
|
|
|
|
SignedPackage::LoadPublicKey("deployment_key-pub.der", deployment_key);
|
|
|
|
|
|
|
|
|
|
CryptoPP::RSA::PrivateKey provisioning_key;
|
|
|
|
|
LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
SignedPackage::LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
|
|
|
|
|
std::filesystem::path tmp_path =
|
|
|
|
|
SignedPackage::extract_deployment_archive(deployment_key,
|
|
|
|
@ -98,10 +74,10 @@ void test_install_if_location_empty()
|
|
|
|
|
std::cout << "\n*** test: install_if_location_empty()\n\n";
|
|
|
|
|
|
|
|
|
|
CryptoPP::ed25519PublicKey deployment_key;
|
|
|
|
|
LoadPublicKey("deployment_key-pub.der", deployment_key);
|
|
|
|
|
SignedPackage::LoadPublicKey("deployment_key-pub.der", deployment_key);
|
|
|
|
|
|
|
|
|
|
CryptoPP::RSA::PrivateKey provisioning_key;
|
|
|
|
|
LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
SignedPackage::LoadPrivateKey("provisioning_key.der", provisioning_key);
|
|
|
|
|
|
|
|
|
|
SignedPackage::install_if_location_empty(deployment_key, provisioning_key,
|
|
|
|
|
"pEp.ppk", "PER_USER_DIRECTORY", "pEp.target");
|
|
|
|
|