93 lines
3.0 KiB
C++
93 lines
3.0 KiB
C++
////////////////////////////////////////////////////////////////////////////////
|
|
// Copyright 2016 Google LLC.
|
|
//
|
|
// This software is licensed under the terms defined in the Widevine Master
|
|
// License Agreement. For a copy of this agreement, please contact
|
|
// widevine-licensing@google.com.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
// Description:
|
|
// RSA keys generated using fake_prng for purposes of testing.
|
|
|
|
#ifndef COMMON_RSA_TEST_KEYS_H_
|
|
#define COMMON_RSA_TEST_KEYS_H_
|
|
|
|
#include <string>
|
|
|
|
namespace widevine {
|
|
|
|
// Container for test RSA keys
|
|
//
|
|
// Except for the keys noted below, these keys were generated using Euler's
|
|
// Totient.
|
|
//
|
|
class RsaTestKeys {
|
|
public:
|
|
RsaTestKeys();
|
|
|
|
// Returns 3072-bit private RSA test key 1
|
|
const std::string& private_test_key_1_3072_bits() const {
|
|
return private_key_1_3072_bits_;
|
|
}
|
|
// Returns 3072-bit public RSA test key 1
|
|
const std::string& public_test_key_1_3072_bits() const {
|
|
return public_key_1_3072_bits_;
|
|
}
|
|
// Returns 2048-bit private RSA test key 2
|
|
const std::string& private_test_key_2_2048_bits() const {
|
|
return private_key_2_2048_bits_;
|
|
}
|
|
// Returns 2048-bit public RSA test key 2
|
|
const std::string& public_test_key_2_2048_bits() const {
|
|
return public_key_2_2048_bits_;
|
|
}
|
|
// Returns 2048-bit private RSA test key 3
|
|
const std::string& private_test_key_3_2048_bits() const {
|
|
return private_key_3_2048_bits_;
|
|
}
|
|
// Returns 2048-bit public RSA test key 3
|
|
const std::string& public_test_key_3_2048_bits() const {
|
|
return public_key_3_2048_bits_;
|
|
}
|
|
|
|
// This key was converted to a Carmichael totient version from the original
|
|
// private_key_2_2048_bits_.
|
|
const std::string& private_test_key_2_carmichael_totient_2048_bits() const {
|
|
return private_key_2_carmichael_totient_2048_bits_;
|
|
}
|
|
|
|
// This key was converted to a Carmichael totient version from the original
|
|
// private_key_3_2048_bits_.
|
|
const std::string& private_test_key_3_carmichael_totient_2048_bits() const {
|
|
return private_key_3_carmichael_totient_2048_bits_;
|
|
}
|
|
|
|
// This key has been created using the Carmichael totient. This is
|
|
// useful for testing with some RSA implementations that had challenges
|
|
// with keys generated this way.
|
|
const std::string& private_test_key_4_carmichael_totient_2048_bits() const {
|
|
return private_key_4_carmichael_totient_2048_bits_;
|
|
}
|
|
|
|
private:
|
|
RsaTestKeys(const RsaTestKeys&) = delete;
|
|
RsaTestKeys& operator=(const RsaTestKeys&) = delete;
|
|
|
|
std::string private_key_1_3072_bits_;
|
|
std::string public_key_1_3072_bits_;
|
|
std::string private_key_2_2048_bits_;
|
|
std::string public_key_2_2048_bits_;
|
|
std::string private_key_3_2048_bits_;
|
|
std::string public_key_3_2048_bits_;
|
|
|
|
// Tests keys that use the Carmichael totient to calculate d.
|
|
std::string private_key_2_carmichael_totient_2048_bits_;
|
|
std::string private_key_3_carmichael_totient_2048_bits_;
|
|
std::string private_key_4_carmichael_totient_2048_bits_;
|
|
};
|
|
|
|
} // namespace widevine
|
|
|
|
#endif // COMMON_RSA_TEST_KEYS_H_
|