<PackageReference Include="BouncyCastle.Cryptography" Version="2.7.0-beta.98" />

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; } } }