Hi,
I'm trying to play a content from the demo page using the SetServerCertificate method to avoid certificate requests. This is the information I'm using:
1. Request the serverCertificate:
var http = new XMLHttpRequest();
http.responseType = 'arraybuffer';
http.onload = function() {
var arrayBuffer = http.response;
if (arrayBuffer) {
cert = new Uint8Array(arrayBuffer);
}
};
http.send(atob('CAQ='));
I have a question here:
- Body send (CAQ=) in the request to the serverCertificate is always the same or it depends on the proxy/content?
2. Configure serverCertificate in shaka-player
player.configure({
drm: {
advanced: {
'com.widevine.alpha': {
serverCertificate: cert
}
}
}
});
As you can see above I'm converting the arrayBuffer returned in the response to Uint8Array and this value is passed to the player as it is shown above.
Errors obtained
Results obtained are:
- LicenseServer is returning a 200OK with a body including what it seems a proper certificate.
- Player fails playback because SetServerCertificate method rejects with this error: "Rejected with system code (17)"
- Shaka-player fails fails with a code 6004
SetServerCertificate error:

Shaka-player error:

Would it be possible to have an example of the whole flow to configure the shaka-player with a proper certificate for the content specified above or other?