init commit
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using Org.BouncyCastle.Utilities;
|
||||
|
||||
namespace Org.BouncyCastle.Asn1.X509;
|
||||
|
||||
public class DistributionPointName : Asn1Encodable, IAsn1Choice
|
||||
{
|
||||
public const int FullName = 0;
|
||||
|
||||
public const int NameRelativeToCrlIssuer = 1;
|
||||
|
||||
internal readonly Asn1Encodable name;
|
||||
|
||||
internal readonly int type;
|
||||
|
||||
public int PointType => type;
|
||||
|
||||
public Asn1Encodable Name => name;
|
||||
|
||||
public static DistributionPointName GetInstance(Asn1TaggedObject obj, bool explicitly)
|
||||
{
|
||||
return GetInstance(Asn1TaggedObject.GetInstance(obj, explicitly: true));
|
||||
}
|
||||
|
||||
public static DistributionPointName GetInstance(object obj)
|
||||
{
|
||||
if (obj == null || obj is DistributionPointName)
|
||||
{
|
||||
return (DistributionPointName)obj;
|
||||
}
|
||||
if (obj is Asn1TaggedObject)
|
||||
{
|
||||
return new DistributionPointName((Asn1TaggedObject)obj);
|
||||
}
|
||||
throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj");
|
||||
}
|
||||
|
||||
public DistributionPointName(int type, Asn1Encodable name)
|
||||
{
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public DistributionPointName(GeneralNames name)
|
||||
: this(0, name)
|
||||
{
|
||||
}
|
||||
|
||||
public DistributionPointName(Asn1TaggedObject obj)
|
||||
{
|
||||
type = obj.TagNo;
|
||||
if (type == 0)
|
||||
{
|
||||
name = GeneralNames.GetInstance(obj, explicitly: false);
|
||||
}
|
||||
else
|
||||
{
|
||||
name = Asn1Set.GetInstance(obj, explicitly: false);
|
||||
}
|
||||
}
|
||||
|
||||
public override Asn1Object ToAsn1Object()
|
||||
{
|
||||
return new DerTaggedObject(explicitly: false, type, name);
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
string newLine = Platform.NewLine;
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.Append("DistributionPointName: [");
|
||||
stringBuilder.Append(newLine);
|
||||
if (type == 0)
|
||||
{
|
||||
appendObject(stringBuilder, newLine, "fullName", name.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
appendObject(stringBuilder, newLine, "nameRelativeToCRLIssuer", name.ToString());
|
||||
}
|
||||
stringBuilder.Append("]");
|
||||
stringBuilder.Append(newLine);
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
private void appendObject(StringBuilder buf, string sep, string name, string val)
|
||||
{
|
||||
string value = " ";
|
||||
buf.Append(value);
|
||||
buf.Append(name);
|
||||
buf.Append(":");
|
||||
buf.Append(sep);
|
||||
buf.Append(value);
|
||||
buf.Append(value);
|
||||
buf.Append(val);
|
||||
buf.Append(sep);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user