Example #1
0
 public DigestReadStream(Stream stream, string fileName, MessageDigestAlgorithm messageDigestAlgorithm, IDigestReceiver digestReceiver)
     : base(
         stream,
         messageDigestAlgorithm.Digest,
         null)
 {
     this._fileName       = fileName ?? throw new ArgumentNullException(nameof(fileName));
     this._digestReceiver = digestReceiver ?? throw new ArgumentNullException(nameof(digestReceiver));
 }
Example #2
0
        /// <summary>
        /// Create builder
        /// </summary>
        /// <param name="stream">The stream where the ASiC-E data will be written. Can not be null and must be writable</param>
        /// <param name="messageDigestAlgorithm">The digest algorithm to use. Not nullable</param>
        /// <param name="signCertificate">A private/public keypair to use for signing. May be null</param>
        /// <returns>A builder that may be used to construct a ASiC-E package</returns>
        /// <exception cref="ArgumentException">If the provided stream is not writable</exception>
        public static AsiceBuilder Create(
            Stream stream,
            MessageDigestAlgorithm messageDigestAlgorithm,
            ICertificateHolder signCertificate)
        {
            var outStream = stream ?? throw new ArgumentNullException(nameof(stream));
            var algorithm = messageDigestAlgorithm ?? throw new ArgumentNullException(nameof(messageDigestAlgorithm));

            if (!outStream.CanWrite)
            {
                throw new ArgumentException("The provided Stream must be writable", nameof(stream));
            }

            var cadesManifestCreator = signCertificate == null
                ? CadesManifestCreator.CreateWithoutSignatureFile()
                : CadesManifestCreator.CreateWithSignatureFile();

            return(new AsiceBuilder(AsiceArchive.Create(outStream, cadesManifestCreator, signCertificate), algorithm));
        }
 public void TestStaticProperties(MessageDigestAlgorithm messageDigestAlgorithm)
 {
     messageDigestAlgorithm.Name.Should().NotBeNull();
     messageDigestAlgorithm.Uri.Should().NotBeNull();
     messageDigestAlgorithm.Digest.Should().NotBeNull();
 }
Example #4
0
 private AsiceBuilder(AsiceArchive asiceArchive, MessageDigestAlgorithm messageDigestAlgorithm)
 {
     this.asiceArchive      = asiceArchive;
     MessageDigestAlgorithm = messageDigestAlgorithm;
 }
 public void TestFromUri(Uri uri, MessageDigestAlgorithm expectedAlgorithm)
 {
     MessageDigestAlgorithm.FromUri(uri).Should().Be(expectedAlgorithm);
 }
Example #6
0
 public void TestStaticProperties(MessageDigestAlgorithm messageDigestAlgorithm)
 {
     AssertionExtensions.Should(messageDigestAlgorithm.Name).NotBeNull();
     AssertionExtensions.Should(messageDigestAlgorithm.Uri).NotBeNull();
     AssertionExtensions.Should(messageDigestAlgorithm.Digest).NotBeNull();
 }
Example #7
0
 public void TestFromUri(Uri uri, MessageDigestAlgorithm expectedAlgorithm)
 {
     AssertionExtensions.Should(MessageDigestAlgorithm.FromUri(uri)).Be(expectedAlgorithm);
 }
Example #8
0
 public IAsiceBuilder <AsiceArchive> GetBuilder(
     Stream outStream,
     MessageDigestAlgorithm messageDigestAlgorithm)
 {
     return(AsiceBuilder.Create(outStream, messageDigestAlgorithm, null));
 }