Пример #1
0
        public static async Task <StreamingLocatorContentKey> GenerateAndRegisterCBCSKeyToIrdeto(string liveEventName, ConfigWrapper config)
        {
            // CBCS Key
            var    cbcsGuid       = Guid.NewGuid();
            string cbcskeyId      = cbcsGuid.ToString();
            string cbcscontentKey = Convert.ToBase64String(IrdetoHelpers.GetRandomBuffer(16));
            var    cbcsIV         =
                Convert.ToBase64String(
                    IrdetoHelpers.HexStringToByteArray(cbcsGuid.ToString().Replace("-", string.Empty)));
            var responsecbcs = await IrdetoHelpers.CreateSoapEnvelopRegisterKeys(config.IrdetoSoapService,
                                                                                 liveEventName, config, cbcskeyId, cbcscontentKey, cbcsIV, true);

            var contentcbcs = await responsecbcs.Content.ReadAsStringAsync();

            if (responsecbcs.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Error Irdeto response cbcs - code " + responsecbcs.StatusCode);
            }

            var cbcskeyIdFromIrdeto      = IrdetoHelpers.ReturnDataFromSoapResponse(contentcbcs, "KeyId=");
            var cbcscontentKeyFromIrdeto = IrdetoHelpers.ReturnDataFromSoapResponse(contentcbcs, "ContentKey=");

            return(new StreamingLocatorContentKey()
            {
                Id = Guid.Parse(ReturnDataFromSoapResponse(contentcbcs, "KeyId=")),
                Value = ReturnDataFromSoapResponse(contentcbcs, "ContentKey=")
            });
        }
Пример #2
0
        public static async Task <StreamingLocatorContentKey> GenerateAndRegisterCENCKeyToIrdeto(string contentId, ConfigWrapper config)
        {
            // CENC Key
            var    cencGuid       = Guid.NewGuid();
            string cenckeyId      = cencGuid.ToString();
            string cenccontentKey = Convert.ToBase64String(IrdetoHelpers.GetRandomBuffer(16));
            var    cencIV         = Convert.ToBase64String(cencGuid.ToByteArray());
            var    responsecenc   = await IrdetoHelpers.CreateSoapEnvelopRegisterKeys(config.IrdetoSoapService,
                                                                                      contentId, config, cenckeyId, cenccontentKey, cencIV, false);

            var contentcenc = await responsecenc.Content.ReadAsStringAsync();

            if (responsecenc.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Error Irdeto response cenc - code " + responsecenc.StatusCode);
            }
            //return IrdetoHelpers.ReturnErrorException(log, "Error Irdeto response cenc - " + contentcenc);


            return(new StreamingLocatorContentKey()
            {
                Id = Guid.Parse(ReturnDataFromSoapResponse(contentcenc, "KeyId=")),
                Value = ReturnDataFromSoapResponse(contentcenc, "ContentKey=")
            });
        }