63 lines
1.3 KiB
C#
63 lines
1.3 KiB
C#
using System;
|
|
using Org.BouncyCastle.Utilities;
|
|
|
|
namespace Org.BouncyCastle.Asn1.Cmp;
|
|
|
|
public class PkiFreeText : Asn1Encodable
|
|
{
|
|
internal Asn1Sequence strings;
|
|
|
|
[Obsolete("Use 'Count' property instead")]
|
|
public int Size => strings.Count;
|
|
|
|
public int Count => strings.Count;
|
|
|
|
public DerUtf8String this[int index] => (DerUtf8String)strings[index];
|
|
|
|
public static PkiFreeText GetInstance(Asn1TaggedObject obj, bool isExplicit)
|
|
{
|
|
return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
|
|
}
|
|
|
|
public static PkiFreeText GetInstance(object obj)
|
|
{
|
|
if (obj is PkiFreeText)
|
|
{
|
|
return (PkiFreeText)obj;
|
|
}
|
|
if (obj is Asn1Sequence)
|
|
{
|
|
return new PkiFreeText((Asn1Sequence)obj);
|
|
}
|
|
throw new ArgumentException("Unknown object in factory: " + Platform.GetTypeName(obj), "obj");
|
|
}
|
|
|
|
public PkiFreeText(Asn1Sequence seq)
|
|
{
|
|
foreach (object item in seq)
|
|
{
|
|
if (!(item is DerUtf8String))
|
|
{
|
|
throw new ArgumentException("attempt to insert non UTF8 STRING into PkiFreeText");
|
|
}
|
|
}
|
|
strings = seq;
|
|
}
|
|
|
|
public PkiFreeText(DerUtf8String p)
|
|
{
|
|
strings = new DerSequence(p);
|
|
}
|
|
|
|
[Obsolete("Use 'object[index]' syntax instead")]
|
|
public DerUtf8String GetStringAt(int index)
|
|
{
|
|
return this[index];
|
|
}
|
|
|
|
public override Asn1Object ToAsn1Object()
|
|
{
|
|
return strings;
|
|
}
|
|
}
|