📄 generalname.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: GeneralName.java
package jit.asn1.x509;
import jit.asn1.*;
// Referenced classes of package jit.asn1.x509:
// X509Name, OtherName
public class GeneralName
implements DEREncodable
{
DEREncodable obj;
int tag;
boolean isInsideImplicit;
public GeneralName(X509Name directoryName)
{
isInsideImplicit = false;
obj = directoryName;
tag = 4;
}
public GeneralName(DERObject name, int tag)
{
isInsideImplicit = false;
obj = name;
this.tag = tag;
}
public static GeneralName getInstance(Object obj)
{
if(obj == null || (obj instanceof GeneralName))
return (GeneralName)obj;
if(obj instanceof ASN1TaggedObject)
{
ASN1TaggedObject tagObj = (ASN1TaggedObject)obj;
int tag = tagObj.getTagNo();
switch(tag)
{
case 0: // '\0'
return new GeneralName(tagObj.getObject(), tag);
case 1: // '\001'
return new GeneralName(DERIA5String.getInstance(tagObj, false), tag);
case 2: // '\002'
return new GeneralName(DERIA5String.getInstance(tagObj, false), tag);
case 3: // '\003'
throw new IllegalArgumentException("unknown tag: ".concat(String.valueOf(String.valueOf(tag))));
case 4: // '\004'
return new GeneralName(tagObj.getObject(), tag);
case 5: // '\005'
return new GeneralName(tagObj.getObject(), tag);
case 6: // '\006'
return new GeneralName(DERIA5String.getInstance(tagObj, false), tag);
case 7: // '\007'
return new GeneralName(ASN1OctetString.getInstance(tagObj, false), tag);
case 8: // '\b'
return new GeneralName(DERObjectIdentifier.getInstance(tagObj, false), tag);
}
}
throw new IllegalArgumentException("unknown object in getInstance");
}
public static GeneralName getInstance(ASN1TaggedObject tagObj, boolean explicit)
{
return getInstance(ASN1TaggedObject.getInstance(tagObj, explicit));
}
public void markInsideImplicit(boolean isInsideImplicit)
{
this.isInsideImplicit = isInsideImplicit;
}
public int getTagNo()
{
return tag;
}
public DEREncodable getName()
{
return obj;
}
public DERObject getDERObject()
{
if(tag == 4)
return new DERTaggedObject(true, tag, obj);
else
return new DERTaggedObject(false, tag, obj);
}
public String getStringName()
throws Exception
{
if(getTagNo() == 3)
throw new Exception("unsupported tag: 3");
if(getTagNo() == 5)
throw new Exception("unsupported tag: 5");
if(getTagNo() == 4)
{
X509Name name = X509Name.getInstance(getName());
return name.toString();
}
if(getTagNo() == 1 || getTagNo() == 2 || getTagNo() == 6)
{
DERIA5String dstr = (DERIA5String)getName();
return dstr.getString();
}
if(getTagNo() == 7)
{
ASN1OctetString oct = (ASN1OctetString)getName();
return new String(oct.getOctets());
}
if(getTagNo() == 8)
{
DERObjectIdentifier oid = (DERObjectIdentifier)getName();
return oid.getId();
} else
{
return null;
}
}
public OtherName getOtherName()
throws Exception
{
if(getTagNo() != 0)
{
throw new Exception(String.valueOf(String.valueOf((new StringBuffer("tag is")).append(getTagNo()).append(",no otherName in GeneralName"))));
} else
{
DERObject derObj = getName().getDERObject();
return OtherName.getInstance(derObj);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -