Add Cdm support for Cast provision 4.0 flow
Bug: 259455235 Test: CorePIGTest.CastReceiverProvisioning* Merged from https://widevine-internal-review.googlesource.com/174150 Change-Id: I8d546a73a64a71a4d61225d9c6d14d893decce22
This commit is contained in:
@@ -1030,6 +1030,14 @@ message SignedProvisioningMessage {
|
||||
INTEL_SIGMA_210 = 210; // Intel Sigma 2.1.0 protocol.
|
||||
}
|
||||
|
||||
// Used by provisioning 4.0 to deliver cast certificates in which the server
|
||||
// delivers a new rsa private key that must be encrypted and signed.
|
||||
enum SessionKeyType {
|
||||
UNDEFINED = 0;
|
||||
WRAPPED_AES_KEY = 1;
|
||||
EPHEMERAL_ECC_PUBLIC_KEY = 2;
|
||||
}
|
||||
|
||||
// Serialized protobuf message for the corresponding protocol and stage of
|
||||
// the provisioning exchange. ProvisioningRequest or ProvisioningResponse
|
||||
// in the case of Provisioning 2.0, 3.0, 4.0 and ARCPP_PROVISIONING. Required.
|
||||
@@ -1056,6 +1064,21 @@ message SignedProvisioningMessage {
|
||||
optional HashAlgorithmProto hash_algorithm = 7;
|
||||
// Indicates which version of the protocol is in use.
|
||||
optional ProvisioningProtocolVersion protocol_version = 8;
|
||||
// If populated, the contents of this field will be signaled by the
|
||||
// |session_key_type| type. If the |session_key_type| is WRAPPED_AES_KEY the
|
||||
// key is the bytes of an encrypted AES key. If the |session_key_type| is
|
||||
// EPHEMERAL_ECC_PUBLIC_KEY the field contains the bytes of an RFC5208 ASN1
|
||||
// serialized ECC public key.
|
||||
// This field is only required to be set in a success response to
|
||||
// Provisioning 4.0 X509 (cast) certificate request.
|
||||
optional bytes session_key = 9;
|
||||
// Optional field that contains the algorithm type used to generate the
|
||||
// session_key and signature in a ProvisioningResponse message. This value is
|
||||
// populated in a success response to a request for a X509 (cast) certificate.
|
||||
// The value used depends on the key type of the PublicKeyToCertify contained
|
||||
// in Provisioning 4.0 ProvisioningMessage.
|
||||
// This value must be populated if session_key is populated.
|
||||
optional SessionKeyType session_key_type = 10;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user