public abstract class java.security.cert.X509Certificate extends java.security.cert.Certificate implements java.security.cert.X509Extension
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.security.cert.X509Certificate
super_class: java.security.cert.Certificate
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2491127588187038216
private transient javax.security.auth.x500.X500Principal subjectX500Principal;
descriptor: Ljavax/security/auth/x500/X500Principal;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient javax.security.auth.x500.X500Principal issuerX500Principal;
descriptor: Ljavax/security/auth/x500/X500Principal;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "X.509"
invokespecial java.security.cert.Certificate.<init>:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/security/cert/X509Certificate;
public abstract void checkValidity();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException
public abstract void checkValidity(java.util.Date);
descriptor: (Ljava/util/Date;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException
MethodParameters:
Name Flags
date
public abstract int getVersion();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.math.BigInteger getSerialNumber();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.security.Principal getIssuerDN();
descriptor: ()Ljava/security/Principal;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public javax.security.auth.x500.X500Principal getIssuerX500Principal();
descriptor: ()Ljavax/security/auth/x500/X500Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.security.cert.X509Certificate.issuerX500Principal:Ljavax/security/auth/x500/X500Principal;
ifnonnull 2
1: aload 0
aload 0
invokestatic sun.security.x509.X509CertImpl.getIssuerX500Principal:(Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
putfield java.security.cert.X509Certificate.issuerX500Principal:Ljavax/security/auth/x500/X500Principal;
2: StackMap locals:
StackMap stack:
aload 0
getfield java.security.cert.X509Certificate.issuerX500Principal:Ljavax/security/auth/x500/X500Principal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/cert/X509Certificate;
public abstract java.security.Principal getSubjectDN();
descriptor: ()Ljava/security/Principal;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public javax.security.auth.x500.X500Principal getSubjectX500Principal();
descriptor: ()Ljavax/security/auth/x500/X500Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.security.cert.X509Certificate.subjectX500Principal:Ljavax/security/auth/x500/X500Principal;
ifnonnull 2
1: aload 0
aload 0
invokestatic sun.security.x509.X509CertImpl.getSubjectX500Principal:(Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
putfield java.security.cert.X509Certificate.subjectX500Principal:Ljavax/security/auth/x500/X500Principal;
2: StackMap locals:
StackMap stack:
aload 0
getfield java.security.cert.X509Certificate.subjectX500Principal:Ljavax/security/auth/x500/X500Principal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/cert/X509Certificate;
public abstract java.util.Date getNotBefore();
descriptor: ()Ljava/util/Date;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.util.Date getNotAfter();
descriptor: ()Ljava/util/Date;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract byte[] getTBSCertificate();
descriptor: ()[B
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.cert.CertificateEncodingException
public abstract byte[] getSignature();
descriptor: ()[B
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.String getSigAlgName();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.String getSigAlgOID();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract byte[] getSigAlgParams();
descriptor: ()[B
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean[] getIssuerUniqueID();
descriptor: ()[Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean[] getSubjectUniqueID();
descriptor: ()[Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean[] getKeyUsage();
descriptor: ()[Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.util.List<java.lang.String> getExtendedKeyUsage();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.security.x509.X509CertImpl.getExtendedKeyUsage:(Ljava/security/cert/X509Certificate;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/cert/X509Certificate;
Exceptions:
throws java.security.cert.CertificateParsingException
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public abstract int getBasicConstraints();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.security.x509.X509CertImpl.getSubjectAlternativeNames:(Ljava/security/cert/X509Certificate;)Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/cert/X509Certificate;
Exceptions:
throws java.security.cert.CertificateParsingException
Signature: ()Ljava/util/Collection<Ljava/util/List<*>;>;
public java.util.Collection<java.util.List<?>> getIssuerAlternativeNames();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.security.x509.X509CertImpl.getIssuerAlternativeNames:(Ljava/security/cert/X509Certificate;)Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/cert/X509Certificate;
Exceptions:
throws java.security.cert.CertificateParsingException
Signature: ()Ljava/util/Collection<Ljava/util/List<*>;>;
public void verify(java.security.PublicKey, java.security.Provider);
descriptor: (Ljava/security/PublicKey;Ljava/security/Provider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
astore 3
start local 3 1: aload 2
ifnonnull 3
2: aload 3
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
goto 4
3: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 2
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
4: StackMap locals:
StackMap stack: java.security.Signature
astore 4
start local 4 5: aload 4
aload 1
6: aload 3
aload 0
invokevirtual java.security.cert.X509Certificate.getSigAlgParams:()[B
invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;[B)Ljava/security/spec/AlgorithmParameterSpec;
7: invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
8: goto 13
StackMap locals: java.security.cert.X509Certificate java.security.PublicKey java.security.Provider java.lang.String java.security.Signature
StackMap stack: java.security.ProviderException
9: astore 5
start local 5 10: new java.security.cert.CertificateException
dup
aload 5
invokevirtual java.security.ProviderException.getMessage:()Ljava/lang/String;
aload 5
invokevirtual java.security.ProviderException.getCause:()Ljava/lang/Throwable;
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 11: StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
astore 5
start local 5 12: new java.security.cert.CertificateException
dup
aload 5
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.security.cert.X509Certificate.getTBSCertificate:()[B
astore 5
start local 5 14: aload 4
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.security.Signature.update:([BII)V
15: aload 4
aload 0
invokevirtual java.security.cert.X509Certificate.getSignature:()[B
invokevirtual java.security.Signature.verify:([B)Z
ifne 17
16: new java.security.SignatureException
dup
ldc "Signature does not match."
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: byte[]
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/security/cert/X509Certificate;
0 18 1 key Ljava/security/PublicKey;
0 18 2 sigProvider Ljava/security/Provider;
1 18 3 sigName Ljava/lang/String;
5 18 4 sig Ljava/security/Signature;
10 11 5 e Ljava/security/ProviderException;
12 13 5 e Ljava/security/InvalidAlgorithmParameterException;
14 18 5 tbsCert [B
Exception table:
from to target type
5 8 9 Class java.security.ProviderException
5 8 11 Class java.security.InvalidAlgorithmParameterException
Exceptions:
throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException
MethodParameters:
Name Flags
key
sigProvider
}
SourceFile: "X509Certificate.java"