using System;
using System.Text;
using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.X509
{
public class GeneralNames
: Asn1Encodable
{
private static GeneralName[] Copy(GeneralName[] names)
{
return (GeneralName[])names.Clone();
}
public static GeneralNames GetInstance(object obj)
{
if (obj is GeneralNames)
return (GeneralNames)obj;
if (obj == null)
return null;
return new GeneralNames(Asn1Sequence.GetInstance(obj));
}
public static GeneralNames GetInstance(Asn1TaggedObject obj, bool explicitly)
{
return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
}
public static GeneralNames FromExtensions(X509Extensions extensions, DerObjectIdentifier extOid)
{
return GetInstance(X509Extensions.GetExtensionParsedValue(extensions, extOid));
}
private readonly GeneralName[] names;
///
* GeneralNames ::= Sequence SIZE {1..MAX} OF GeneralName **/ public override Asn1Object ToAsn1Object() { return new DerSequence(names); } public override string ToString() { StringBuilder buf = new StringBuilder(); buf.AppendLine("GeneralNames:"); foreach (GeneralName name in names) { buf.Append(" ") .Append(name) .AppendLine(); } return buf.ToString(); } } }