📄 tbscertificatestructure.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: TBSCertificateStructure.java
package jit.asn1.x509;
import jit.asn1.*;
import jit.asn1.pkcs.PKCSObjectIdentifiers;
import jit.math.BigInteger;
// Referenced classes of package jit.asn1.x509:
// X509ObjectIdentifiers, AlgorithmIdentifier, X509Name, Time,
// SubjectPublicKeyInfo, X509Extensions
public class TBSCertificateStructure
implements DEREncodable, X509ObjectIdentifiers, PKCSObjectIdentifiers
{
ASN1Sequence seq;
DERInteger version;
DERInteger serialNumber;
AlgorithmIdentifier signature;
X509Name issuer;
Time startDate;
Time endDate;
X509Name subject;
SubjectPublicKeyInfo subjectPublicKeyInfo;
DERBitString issuerUniqueId;
DERBitString subjectUniqueId;
X509Extensions extensions;
public static TBSCertificateStructure getInstance(ASN1TaggedObject obj, boolean explicit)
{
return getInstance(ASN1Sequence.getInstance(obj, explicit));
}
public static TBSCertificateStructure getInstance(Object obj)
{
if(obj instanceof TBSCertificateStructure)
return (TBSCertificateStructure)obj;
if(obj instanceof ASN1Sequence)
return new TBSCertificateStructure((ASN1Sequence)obj);
else
throw new IllegalArgumentException("unknown object in factory");
}
public TBSCertificateStructure(ASN1Sequence seq)
{
int seqStart = 0;
this.seq = seq;
if(seq.getObjectAt(0) instanceof DERTaggedObject)
{
version = DERInteger.getInstance(seq.getObjectAt(0));
} else
{
seqStart = -1;
version = new DERInteger(0);
}
serialNumber = DERInteger.getInstance(seq.getObjectAt(seqStart + 1));
signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(seqStart + 2));
issuer = X509Name.getInstance(seq.getObjectAt(seqStart + 3));
ASN1Sequence dates = (ASN1Sequence)seq.getObjectAt(seqStart + 4);
startDate = Time.getInstance(dates.getObjectAt(0));
endDate = Time.getInstance(dates.getObjectAt(1));
subject = X509Name.getInstance(seq.getObjectAt(seqStart + 5));
subjectPublicKeyInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(seqStart + 6));
for(int extras = seq.size() - (seqStart + 6) - 1; extras > 0; extras--)
{
DERTaggedObject extra = (DERTaggedObject)seq.getObjectAt(seqStart + 6 + extras);
switch(extra.getTagNo())
{
case 1: // '\001'
issuerUniqueId = DERBitString.getInstance(extra);
break;
case 2: // '\002'
subjectUniqueId = DERBitString.getInstance(extra);
break;
case 3: // '\003'
extensions = X509Extensions.getInstance(extra);
break;
}
}
}
public int getVersion()
{
return version.getValue().intValue() + 1;
}
public DERInteger getVersionNumber()
{
return version;
}
public DERInteger getSerialNumber()
{
return serialNumber;
}
public AlgorithmIdentifier getSignature()
{
return signature;
}
public X509Name getIssuer()
{
return issuer;
}
public Time getStartDate()
{
return startDate;
}
public Time getEndDate()
{
return endDate;
}
public X509Name getSubject()
{
return subject;
}
public SubjectPublicKeyInfo getSubjectPublicKeyInfo()
{
return subjectPublicKeyInfo;
}
public DERBitString getIssuerUniqueId()
{
return issuerUniqueId;
}
public DERBitString getSubjectUniqueId()
{
return subjectUniqueId;
}
public X509Extensions getExtensions()
{
return extensions;
}
public DERObject getDERObject()
{
return seq;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -