Widevine Service Certificates
With Widevine, you can eliminate one round-trip to your license server or proxy
per session by preloading a Widevine service certificate. You can either provide
it directly or set a URI and let Shaka fetch it for you. Do this before calling
player.load(). The values will persist across multiple calls to load() on
the same shaka.Player instance.
// This is an example of loading the certificate from your site at runtime.
// You could also choose to bundle it into your JavaScript as a Uint8Array.
const req = await fetch('https://example.com/service.cert');
const cert = new Uint8Array(await req.arrayBuffer());
// This is the short form for configuration of a certificate:
player.configure('drm.advanced.com\\.widevine\\.alpha.serverCertificate',
                 cert);
// This is the long form:
player.configure({
  drm: {
    advanced: {
      'com.widevine.alpha': {
        'serverCertificate': cert,
      },
    },
  },
});
// This is the short form for configuration of a certificate URI:
player.configure('drm.advanced.com\\.widevine\\.alpha.serverCertificateUri',
                 'https://example.com/service.cert');
// This is the long form:
player.configure({
  drm: {
    advanced: {
      'com.widevine.alpha': {
        'serverCertificateUri': 'https://example.com/service.cert',
      },
    },
  },
});