// 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); }
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())); }
/// <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(); }