public override void Write(
byte[] buf,
int offset,
int len)
{
while (len > 0)
{
int numToCopy = System.Math.Min(len, _buf.Length - _off);
if (numToCopy == _buf.Length)
{
DerOctetString.Encode(_derOut, buf, offset, numToCopy);
}
else
{
Array.Copy(buf, offset, _buf, _off, numToCopy);
_off += numToCopy;
if (_off < _buf.Length)
{
break;
}
DerOctetString.Encode(_derOut, _buf, 0, _off);
_off = 0;
}
offset += numToCopy;
len -= numToCopy;
}
}