PkiFreeText
using System;
namespace Org.BouncyCastle.Asn1.Cmp
{
public class PkiFreeText : Asn1Encodable
{
private readonly Asn1Sequence m_strings;
public virtual int Count => m_strings.Count;
public DerUtf8String this[int index] {
get {
return (DerUtf8String)m_strings[index];
}
}
public static PkiFreeText GetInstance(object obj)
{
if (obj == null)
return null;
PkiFreeText pkiFreeText = obj as PkiFreeText;
if (pkiFreeText != null)
return pkiFreeText;
return new PkiFreeText(Asn1Sequence.GetInstance(obj));
}
public static PkiFreeText GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new PkiFreeText(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
public static PkiFreeText GetOptional(Asn1Encodable element)
{
if (element == null)
throw new ArgumentNullException("element");
PkiFreeText pkiFreeText = element as PkiFreeText;
if (pkiFreeText != null)
return pkiFreeText;
Asn1Sequence optional = Asn1Sequence.GetOptional(element);
if (optional != null)
return new PkiFreeText(optional);
return null;
}
public static PkiFreeText GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new PkiFreeText(Asn1Sequence.GetTagged(taggedObject, declaredExplicit));
}
internal PkiFreeText(Asn1Sequence seq)
{
foreach (Asn1Encodable item in seq) {
if (!(item is DerUtf8String))
throw new ArgumentException("attempt to insert non UTF8 STRING into PkiFreeText");
}
m_strings = seq;
}
public PkiFreeText(DerUtf8String p)
{
m_strings = new DerSequence(p);
}
public PkiFreeText(string p)
: this(new DerUtf8String(p))
{
}
public PkiFreeText(DerUtf8String[] strs)
{
m_strings = new DerSequence(strs);
}
public PkiFreeText(string[] strs)
{
m_strings = DerSequence.Map(strs, (string str) => new DerUtf8String(str));
}
public override Asn1Object ToAsn1Object()
{
return m_strings;
}
}
}