DigestInputBuffer.cs 959 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using System.IO;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
  6. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
  7. {
  8. internal class DigestInputBuffer
  9. : MemoryStream
  10. {
  11. internal void UpdateDigest(IDigest d)
  12. {
  13. Streams.WriteBufTo(this, new DigStream(d));
  14. }
  15. private class DigStream
  16. : BaseOutputStream
  17. {
  18. private readonly IDigest d;
  19. internal DigStream(IDigest d)
  20. {
  21. this.d = d;
  22. }
  23. public override void WriteByte(byte b)
  24. {
  25. d.Update(b);
  26. }
  27. public override void Write(byte[] buf, int off, int len)
  28. {
  29. d.BlockUpdate(buf, off, len);
  30. }
  31. }
  32. }
  33. }
  34. #pragma warning restore
  35. #endif