RegularExpression
using Org.BouncyCastle.Utilities;
using System;
namespace Org.BouncyCastle.Bcpg.Sig
{
public class RegularExpression : SignatureSubpacket
{
public string Regex => Strings.FromUtf8ByteArray(base.Data, 0, base.Data.Length - 1);
public RegularExpression(bool critical, bool isLongLength, byte[] data)
: base(SignatureSubpacketTag.RegExp, critical, isLongLength, data)
{
if (data[data.Length - 1] != 0)
throw new ArgumentException("data in regex missing null termination");
}
public RegularExpression(bool critical, string regex)
: base(SignatureSubpacketTag.RegExp, critical, false, ToNullTerminatedUtf8ByteArray(regex))
{
}
public byte[] GetRawRegex()
{
return GetData();
}
private static byte[] ToNullTerminatedUtf8ByteArray(string str)
{
byte[] array = Strings.ToUtf8ByteArray(str, 0, 1);
array[array.Length - 1] = 0;
return array;
}
}
}