From a233ac20849f9228a29ade831a2deaaa9f6856f5 Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Tue, 3 Sep 2013 10:49:35 -0700 Subject: [PATCH] Replace staging with production Root CA public key A staging Root CA public key was used in earlier releases to verify service certificates. These were in turn used to encrypt the client identification. This met our needs for an end-to-end verification. Now that the production Root CA and service certs are available this change replaces staging certs with production ones. Merge of https://widevine-internal-review.googlesource.com/#/c/7560/ from the widevine CDM repo b/10329328 Change-Id: Id02649201d9a8ba4d08acc4166503341a5bbdd23 --- libwvdrmengine/cdm/core/src/license.cpp | 84 +++++++++++-------- .../cdm/test/request_license_test.cpp | 20 ++--- 2 files changed, 60 insertions(+), 44 deletions(-) diff --git a/libwvdrmengine/cdm/core/src/license.cpp b/libwvdrmengine/cdm/core/src/license.cpp index 15008c73..df1009fb 100644 --- a/libwvdrmengine/cdm/core/src/license.cpp +++ b/libwvdrmengine/cdm/core/src/license.cpp @@ -22,40 +22,56 @@ std::string kProductNameKey = "product_name"; std::string kBuildInfoKey = "build_info"; std::string kDeviceIdKey = "device_id"; const unsigned char kServiceCertificateCAPublicKey[] = { - 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81, 0x00, 0xa5, 0x62, 0x07, - 0xdf, 0xc8, 0x84, 0x74, 0xe1, 0x2a, 0xb7, 0xbb, 0xc0, 0x78, 0x76, 0xbe, - 0x13, 0x3b, 0xe6, 0x2c, 0x09, 0x9d, 0x35, 0x3f, 0xf3, 0x0f, 0xe9, 0x61, - 0x96, 0x20, 0x53, 0x6e, 0x78, 0x62, 0xe0, 0x10, 0xd2, 0xca, 0xe4, 0xdd, - 0xd5, 0x96, 0xaf, 0x9a, 0xd7, 0x08, 0x47, 0xe4, 0x55, 0x1b, 0x83, 0xbe, - 0x10, 0x66, 0x74, 0x08, 0xf2, 0x49, 0x79, 0xea, 0x29, 0x46, 0xc2, 0x65, - 0x97, 0xa6, 0xcc, 0x4b, 0xa4, 0x08, 0xc3, 0x04, 0x17, 0x01, 0xb5, 0x11, - 0x53, 0xe9, 0x68, 0x34, 0x3c, 0x26, 0x56, 0x44, 0x37, 0x5c, 0xb4, 0x7a, - 0x1d, 0x5d, 0x6c, 0x58, 0xc2, 0x82, 0xa0, 0x92, 0xf1, 0x14, 0xf1, 0x22, - 0xff, 0x64, 0xde, 0xdf, 0xb3, 0x3d, 0x9d, 0xa5, 0x86, 0xcd, 0xa0, 0x0a, - 0x63, 0x08, 0xdd, 0x60, 0x5d, 0xfd, 0xa4, 0x01, 0xe3, 0xb6, 0x0e, 0x85, - 0xe4, 0xc3, 0x37, 0x61, 0xd0, 0xe7, 0x12, 0xe9, 0xc4, 0xde, 0xf2, 0x59, - 0x11, 0xe3, 0x5b, 0x02, 0x9f, 0x24, 0xb9, 0xb0, 0xbb, 0x31, 0xa0, 0xee, - 0x6a, 0x2c, 0xb4, 0x30, 0xff, 0xe0, 0xf0, 0x93, 0xee, 0x3a, 0xae, 0xb2, - 0x2e, 0x84, 0xa0, 0x47, 0x42, 0x51, 0xbb, 0xfa, 0xbb, 0x90, 0x97, 0x2c, - 0x77, 0x45, 0xee, 0x2c, 0xfb, 0xec, 0x5d, 0xd8, 0xca, 0x49, 0x94, 0x53, - 0x5d, 0x37, 0xaf, 0x86, 0x47, 0xda, 0xe2, 0xbd, 0xf0, 0x5f, 0x07, 0x53, - 0x8a, 0x10, 0xd0, 0x9a, 0xd0, 0x7f, 0xe9, 0xef, 0xf6, 0xda, 0xea, 0x1e, - 0x2e, 0x54, 0xec, 0x44, 0xde, 0x3a, 0xe1, 0xc8, 0xdb, 0x17, 0xe8, 0xc9, - 0x3a, 0x81, 0x11, 0x4d, 0xb7, 0x2d, 0x09, 0x83, 0xab, 0x30, 0xb7, 0xf5, - 0x1b, 0x03, 0x86, 0x21, 0xa9, 0xf5, 0xca, 0x15, 0x26, 0xaf, 0x39, 0xf3, - 0x5d, 0x01, 0x7d, 0xe3, 0x19, 0x54, 0xd1, 0x2e, 0x10, 0x16, 0x9c, 0xee, - 0xc3, 0xbd, 0xcc, 0xdb, 0x02, 0x82, 0xd0, 0x60, 0x0b, 0x42, 0x72, 0x85, - 0xec, 0xdc, 0x41, 0x7c, 0xf1, 0x34, 0xd8, 0x27, 0x21, 0xf9, 0xa6, 0x82, - 0x40, 0xd3, 0xc5, 0xc9, 0xf9, 0x6b, 0xc9, 0x12, 0x64, 0xe4, 0x3a, 0x3b, - 0xc9, 0x8f, 0x3c, 0xd0, 0x2c, 0xb8, 0xb8, 0xf3, 0x05, 0x4a, 0xe9, 0x4c, - 0x46, 0x2b, 0xb6, 0xe1, 0xed, 0x82, 0xb2, 0xf0, 0xd1, 0x72, 0x71, 0x04, - 0x35, 0x19, 0xc1, 0x16, 0x17, 0xd6, 0x75, 0xe0, 0xab, 0xde, 0x8f, 0xe1, - 0xc1, 0x49, 0x68, 0x0c, 0xc8, 0xce, 0x6d, 0x87, 0x50, 0x04, 0xb5, 0xd7, - 0x24, 0xf4, 0x2e, 0x0c, 0x11, 0x35, 0xb2, 0x67, 0x85, 0x1b, 0x38, 0xff, - 0x2f, 0x71, 0xf5, 0x30, 0x18, 0x1e, 0x6f, 0xd7, 0xf0, 0x33, 0x61, 0x53, - 0x7e, 0x55, 0x7f, 0x0d, 0x60, 0x83, 0xf3, 0x8a, 0x2b, 0x67, 0xd5, 0xf0, - 0x2e, 0x23, 0x23, 0x60, 0x0b, 0x83, 0x9c, 0xc2, 0x87, 0x02, 0x03, 0x01, - 0x00, 0x01}; + 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81, + 0x00, 0xb4, 0xfe, 0x39, 0xc3, 0x65, 0x90, 0x03, + 0xdb, 0x3c, 0x11, 0x97, 0x09, 0xe8, 0x68, 0xcd, + 0xf2, 0xc3, 0x5e, 0x9b, 0xf2, 0xe7, 0x4d, 0x23, + 0xb1, 0x10, 0xdb, 0x87, 0x65, 0xdf, 0xdc, 0xfb, + 0x9f, 0x35, 0xa0, 0x57, 0x03, 0x53, 0x4c, 0xf6, + 0x6d, 0x35, 0x7d, 0xa6, 0x78, 0xdb, 0xb3, 0x36, + 0xd2, 0x3f, 0x9c, 0x40, 0xa9, 0x95, 0x26, 0x72, + 0x7f, 0xb8, 0xbe, 0x66, 0xdf, 0xc5, 0x21, 0x98, + 0x78, 0x15, 0x16, 0x68, 0x5d, 0x2f, 0x46, 0x0e, + 0x43, 0xcb, 0x8a, 0x84, 0x39, 0xab, 0xfb, 0xb0, + 0x35, 0x80, 0x22, 0xbe, 0x34, 0x23, 0x8b, 0xab, + 0x53, 0x5b, 0x72, 0xec, 0x4b, 0xb5, 0x48, 0x69, + 0x53, 0x3e, 0x47, 0x5f, 0xfd, 0x09, 0xfd, 0xa7, + 0x76, 0x13, 0x8f, 0x0f, 0x92, 0xd6, 0x4c, 0xdf, + 0xae, 0x76, 0xa9, 0xba, 0xd9, 0x22, 0x10, 0xa9, + 0x9d, 0x71, 0x45, 0xd6, 0xd7, 0xe1, 0x19, 0x25, + 0x85, 0x9c, 0x53, 0x9a, 0x97, 0xeb, 0x84, 0xd7, + 0xcc, 0xa8, 0x88, 0x82, 0x20, 0x70, 0x26, 0x20, + 0xfd, 0x7e, 0x40, 0x50, 0x27, 0xe2, 0x25, 0x93, + 0x6f, 0xbc, 0x3e, 0x72, 0xa0, 0xfa, 0xc1, 0xbd, + 0x29, 0xb4, 0x4d, 0x82, 0x5c, 0xc1, 0xb4, 0xcb, + 0x9c, 0x72, 0x7e, 0xb0, 0xe9, 0x8a, 0x17, 0x3e, + 0x19, 0x63, 0xfc, 0xfd, 0x82, 0x48, 0x2b, 0xb7, + 0xb2, 0x33, 0xb9, 0x7d, 0xec, 0x4b, 0xba, 0x89, + 0x1f, 0x27, 0xb8, 0x9b, 0x88, 0x48, 0x84, 0xaa, + 0x18, 0x92, 0x0e, 0x65, 0xf5, 0xc8, 0x6c, 0x11, + 0xff, 0x6b, 0x36, 0xe4, 0x74, 0x34, 0xca, 0x8c, + 0x33, 0xb1, 0xf9, 0xb8, 0x8e, 0xb4, 0xe6, 0x12, + 0xe0, 0x02, 0x98, 0x79, 0x52, 0x5e, 0x45, 0x33, + 0xff, 0x11, 0xdc, 0xeb, 0xc3, 0x53, 0xba, 0x7c, + 0x60, 0x1a, 0x11, 0x3d, 0x00, 0xfb, 0xd2, 0xb7, + 0xaa, 0x30, 0xfa, 0x4f, 0x5e, 0x48, 0x77, 0x5b, + 0x17, 0xdc, 0x75, 0xef, 0x6f, 0xd2, 0x19, 0x6d, + 0xdc, 0xbe, 0x7f, 0xb0, 0x78, 0x8f, 0xdc, 0x82, + 0x60, 0x4c, 0xbf, 0xe4, 0x29, 0x06, 0x5e, 0x69, + 0x8c, 0x39, 0x13, 0xad, 0x14, 0x25, 0xed, 0x19, + 0xb2, 0xf2, 0x9f, 0x01, 0x82, 0x0d, 0x56, 0x44, + 0x88, 0xc8, 0x35, 0xec, 0x1f, 0x11, 0xb3, 0x24, + 0xe0, 0x59, 0x0d, 0x37, 0xe4, 0x47, 0x3c, 0xea, + 0x4b, 0x7f, 0x97, 0x31, 0x1c, 0x81, 0x7c, 0x94, + 0x8a, 0x4c, 0x7d, 0x68, 0x15, 0x84, 0xff, 0xa5, + 0x08, 0xfd, 0x18, 0xe7, 0xe7, 0x2b, 0xe4, 0x47, + 0x27, 0x12, 0x11, 0xb8, 0x23, 0xec, 0x58, 0x93, + 0x3c, 0xac, 0x12, 0xd2, 0x88, 0x6d, 0x41, 0x3d, + 0xc5, 0xfe, 0x1c, 0xdc, 0xb9, 0xf8, 0xd4, 0x51, + 0x3e, 0x07, 0xe5, 0x03, 0x6f, 0xa7, 0x12, 0xe8, + 0x12, 0xf7, 0xb5, 0xce, 0xa6, 0x96, 0x55, 0x3f, + 0x78, 0xb4, 0x64, 0x82, 0x50, 0xd2, 0x33, 0x5f, + 0x91, 0x02, 0x03, 0x01, 0x00, 0x01}; } namespace wvcdm { diff --git a/libwvdrmengine/cdm/test/request_license_test.cpp b/libwvdrmengine/cdm/test/request_license_test.cpp index 9f2b00b1..22025d60 100644 --- a/libwvdrmengine/cdm/test/request_license_test.cpp +++ b/libwvdrmengine/cdm/test/request_license_test.cpp @@ -35,16 +35,16 @@ bool g_use_secure_transfer = false; wvcdm::LicenseServerId g_license_server_id = wvcdm::kGooglePlayServer; std::string kServiceCertificate = - "0803120F736572766963655F636572745F736E187B228E023082010A028201010" - "0A700366065DCBD545A2A40B4E1159458114F9458DDDEA71F3C2CE08809296157" - "675E567EEE278F59349A2AAA9DB44EFAA76AD4C97A53C14E9FE334F73DB7C9104" - "74F28DA3FCE317BFD0610EBF7BE92F9AFFB3E68DAEE1A644CF329F2739E39D8F6" - "6FD8B28082718EB5A4F2C23ECD0ACAB604CD9A138B54735425548CBE987A67ADD" - "AB34EB3FA82A84A679856575471CD127FEDA301C06A8B24039688BE97662ABC53" - "C98306515A88651318E43AED6BF1615B4CC81EF4C2AE085E2D5FF8127FA2FCBB2" - "11830DAFE40FB01CA2E370ECEDD768782460B3A778FC072072C7F9D1E865BED27" - "29DF039762EF44D35B3DDB9C5E1B7B39B40B6D046BBBBB2C5FCFB37A050203010" - "0013A0D6D79736572766963652E636F6D"; + "0803121028703454C008F63618ADE7443DB6C4C8188BE7F99005228E023082010" + "A0282010100B52112B8D05D023FCC5D95E2C251C1C649B4177CD8D2BEEF355BB0" + "6743DE661E3D2ABC3182B79946D55FDC08DFE95407815E9A6274B322A2C7F5E06" + "7BB5F0AC07A89D45AEA94B2516F075B66EF811D0D26E1B9A6B894F2B9857962AA" + "171C4F66630D3E4C602718897F5E1EF9B6AAF5AD4DBA2A7E14176DF134A1D3185" + "B5A218AC05A4C41F081EFFF80A3A040C50B09BBC740EEDCD8F14D675A91980F92" + "CA7DDC646A06ADAD5101F74A0E498CC01F00532BAC217850BD905E90923656B7D" + "FEFEF42486767F33EF6283D4F4254AB72589390BEE55808F1D668080D45D893C2" + "BCA2F74D60A0C0D0A0993CEF01604703334C3638139486BC9DAF24FD67A07F9AD" + "94302030100013A1273746167696E672E676F6F676C652E636F6D"; // TODO(rfrias): refactor to print out the decryption test names struct SubSampleInfo {