Change order of loading certificates from pk7 cert
------------- Add libcurl to media_cas_packager_sdk. libcurl will later be used by a key fetcher to retrieve entitlement key from License Server using a HTTP request. ------------- Add a function named parsehelper to parse DCSL from the key smith response. ------------- Move wv_cas_key_fetcher to media_cas_packager_sdk so partners can use it request entitlement keys from License Server. ------------- Add pkcs7 write method to x509_cert.cc ------------- Update boringssl_repo to latest in master-with-bazel ------------- Add a TsPacket class to media_cas_packager_sdk to allow the construction of a ECM TS packet in the SDK. ------------- Move InsertEcm() from our internal CAS directory to the media_cas_packager_sdk, to be used to build a ECM TS packet by the SDK. ------------- Add METADATA in common folder ------------- Refactoring of certificate verification into DrmRootCertificate. ------------- Extend the default duration of leaf certificates. ------------- Fix moe_test ------------- Add a new method to WvCasEcm to allow partner to create a TS packet carrying the generated ECM. ------------- Change from SHA1 to SHA256 for Cast certificates ------------- Update crypto mode enumeration to match WV ECM document ------------- Fix the way we set the validity dates ------------- Move exported_root/util/status to common/ to prepare for util::Status migration Also added constructor/operator to copy from/to util::Status. ------------- Add GenerateDCSLrequest function to certificate_util.h. ------------- Fix build break ------------- Allow 'table_id' (in the section header) be specified by caller of SDK method WvCasEcm::GenerateTsPacket(). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=224535399
This commit is contained in:
76
common/status.cc
Normal file
76
common/status.cc
Normal file
@@ -0,0 +1,76 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright 2017 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.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "common/status.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "absl/base/macros.h"
|
||||
#include "absl/strings/str_cat.h"
|
||||
#include "util/status.h"
|
||||
|
||||
namespace widevine {
|
||||
namespace util {
|
||||
|
||||
namespace {
|
||||
|
||||
const char* kGenericErrorStatusMessage[] = {"OK",
|
||||
"unknown_error",
|
||||
"unknown_error",
|
||||
"invalid_argument",
|
||||
"unknown_error",
|
||||
"not_found",
|
||||
"already_exists",
|
||||
"permission_denied",
|
||||
"unknown_error",
|
||||
"unknown_error",
|
||||
"unknown_error",
|
||||
"unknown_error",
|
||||
"unimplemented",
|
||||
"internal",
|
||||
"unavailable"};
|
||||
|
||||
} // namespace
|
||||
|
||||
class GenericErrorSpace : public util::ErrorSpaceImpl<GenericErrorSpace> {
|
||||
public:
|
||||
static std::string space_name();
|
||||
static std::string code_to_string(int code);
|
||||
};
|
||||
|
||||
std::string GenericErrorSpace::space_name() { return "generic"; }
|
||||
|
||||
std::string GenericErrorSpace::code_to_string(int code) {
|
||||
static_assert(
|
||||
ABSL_ARRAYSIZE(kGenericErrorStatusMessage) == error::NUM_ERRORS,
|
||||
"mismatching generic error status message and generic error status.");
|
||||
|
||||
if (code >= 0 && code < error::NUM_ERRORS)
|
||||
return kGenericErrorStatusMessage[code];
|
||||
return std::to_string(code);
|
||||
}
|
||||
|
||||
|
||||
|
||||
const util::ErrorSpace* Status::canonical_space() {
|
||||
return GenericErrorSpace::Get();
|
||||
}
|
||||
|
||||
std::string Status::ToString() const {
|
||||
if (status_code_ == error::OK) return "OK";
|
||||
return absl::StrCat("Errors::", error_space_->String(status_code_), ": ",
|
||||
error_message_);
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const Status& x) {
|
||||
os << x.ToString();
|
||||
return os;
|
||||
}
|
||||
|
||||
} // namespace util
|
||||
} // namespace widevine
|
||||
Reference in New Issue
Block a user