Beispiel #1
0
        // Containers go here

        public BitmovinApi(string apiKey, string apiUrl = "https://api.bitmovin.com/v1/")
        {
            ApiKey      = apiKey;
            _apiUrl     = apiUrl;
            _restClient = new RestClient(apiKey, apiUrl);

            this.Input     = new InputContainer(_restClient);
            this.Output    = new OutputContainer(_restClient);
            this.Codec     = new CodecContainer(_restClient);
            this.Encoding  = new EncodingContainer(_restClient);
            this.Manifest  = new ManifestContainer(_restClient);
            this.Statistic = new StatisticContainer(_restClient);
        }
Beispiel #2
0
        public SignatureFileContainer CreateCadesSignatureFile(ManifestContainer manifestContainer)
        {
            var signedDataGenerator = new CmsSignedDataGenerator();

            signedDataGenerator.AddSigner(
                this.certificateHolder.GetPrivateKey(),
                this.certificateHolder.GetPublicCertificate(),
                CmsSignedDataGenerator.DigestSha256);
            signedDataGenerator.AddSignerInfoGenerator(CreateSignerInfoGenerator());
            signedDataGenerator.AddCertificates(CreateX509Store());
            var signedData =
                signedDataGenerator.Generate(new CmsProcessableByteArray(manifestContainer.Data.ToArray()));

            return(new SignatureFileContainer(manifestContainer.SignatureFileRef, signedData.GetEncoded()));
        }
Beispiel #3
0
        /// <summary>
        /// Saves all open System Files to disk.
        /// </summary>
        /// <param name="directory"></param>
        /// <param name="manifestDirectory">Optional stores the Versions/CDNs in a different location</param>
        public void Save(string directory, string manifestDirectory = "")
        {
            // if this field exists and mismatches the generated file; the client will error
            // if this field is missing the client will generate the file and variable itself
            ConfigContainer?.CDNConfig?.GetValues("archive-group")?.Clear();

            IndexContainer?.Save(directory, ConfigContainer);
            RootFile?.Write(directory, this);
            DownloadFile?.Write(directory, this);
            DownloadSizeFile?.Write(directory, this);
            InstallFile?.Write(directory, this);
            EncodingFile?.Write(directory, this);
            ConfigContainer?.Save(directory, ManifestContainer);

            // save the manifests
            if (string.IsNullOrWhiteSpace(manifestDirectory))
            {
                manifestDirectory = directory;
            }

            ManifestContainer?.Save(manifestDirectory);

            RootFile?.FileLookup?.Close();
        }