//////////////////////////////////////////////////////////////////////////////// // 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 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_