コード例 #1
0
 public AsiceArchive(ZipArchive archive, IManifestCreator creator, MessageDigestAlgorithm messageDigestAlgorithm, ICertificateHolder signatureCertificate)
 {
     Archive                = archive ?? throw new ArgumentNullException(nameof(archive));
     manifestCreator        = creator ?? throw new ArgumentNullException(nameof(creator));
     MessageDigestAlgorithm = messageDigestAlgorithm ?? throw new ArgumentNullException(nameof(messageDigestAlgorithm));
     SignatureCertificate   = signatureCertificate;
 }
コード例 #2
0
        public static AsiceArchive Create(Stream zipOutStream, IManifestCreator manifestCreator, ICertificateHolder signatureCertificateHolder)
        {
            Log.Debug("Creating ASiC-e Zip");
            var zipArchive = new ZipArchive(zipOutStream, ZipArchiveMode.Create, false, Encoding.UTF8);

            // Add mimetype entry
            var zipArchiveEntry = zipArchive.CreateEntry(AsiceConstants.FileNameMimeType);

            using (var stream = zipArchiveEntry.Open())
            {
                var contentAsBytes = Encoding.UTF8.GetBytes(AsiceConstants.ContentTypeASiCe);
                stream.Write(contentAsBytes, 0, contentAsBytes.Length);
            }

            return(new AsiceArchive(zipArchive, manifestCreator, MessageDigestAlgorithm.SHA256, signatureCertificateHolder));
        }