33 lines
542 B
C#
33 lines
542 B
C#
using System.IO;
|
|
using Org.BouncyCastle.Utilities.IO;
|
|
|
|
namespace Org.BouncyCastle.Crypto.Tls;
|
|
|
|
internal class DigestInputBuffer : MemoryStream
|
|
{
|
|
private class DigStream : BaseOutputStream
|
|
{
|
|
private readonly IDigest d;
|
|
|
|
internal DigStream(IDigest d)
|
|
{
|
|
this.d = d;
|
|
}
|
|
|
|
public override void WriteByte(byte b)
|
|
{
|
|
d.Update(b);
|
|
}
|
|
|
|
public override void Write(byte[] buf, int off, int len)
|
|
{
|
|
d.BlockUpdate(buf, off, len);
|
|
}
|
|
}
|
|
|
|
internal void UpdateDigest(IDigest d)
|
|
{
|
|
Streams.WriteBufTo(this, new DigStream(d));
|
|
}
|
|
}
|