public class org.bouncycastle.est.jcajce.JcaJceUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.est.jcajce.JcaJceUtils
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/est/jcajce/JcaJceUtils;
public static javax.net.ssl.X509TrustManager getTrustAllTrustManager();
descriptor: ()Ljavax/net/ssl/X509TrustManager;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.bouncycastle.est.jcajce.JcaJceUtils$1
dup
invokespecial org.bouncycastle.est.jcajce.JcaJceUtils$1.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static javax.net.ssl.X509TrustManager[] getCertPathTrustManager(java.util.Set<java.security.cert.TrustAnchor>, java.security.cert.CRL[]);
descriptor: (Ljava/util/Set;[Ljava/security/cert/CRL;)[Ljavax/net/ssl/X509TrustManager;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.Set.size:()I
anewarray java.security.cert.X509Certificate
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
start local 4 3: goto 6
4: StackMap locals: java.security.cert.X509Certificate[] int java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 5
start local 5 5: aload 2
iload 3
iinc 3 1
aload 5
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
aastore
end local 5 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 4 7: iconst_1
anewarray javax.net.ssl.X509TrustManager
dup
iconst_0
new org.bouncycastle.est.jcajce.JcaJceUtils$2
dup
aload 0
aload 1
aload 2
invokespecial org.bouncycastle.est.jcajce.JcaJceUtils$2.<init>:(Ljava/util/Set;[Ljava/security/cert/CRL;[Ljava/security/cert/X509Certificate;)V
aastore
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 anchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
0 8 1 revocationLists [Ljava/security/cert/CRL;
1 8 2 x509CertificateTrustAnchors [Ljava/security/cert/X509Certificate;
2 8 3 c I
3 7 4 it Ljava/util/Iterator;
5 6 5 ta Ljava/security/cert/TrustAnchor;
Signature: (Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;[Ljava/security/cert/CRL;)[Ljavax/net/ssl/X509TrustManager;
MethodParameters:
Name Flags
anchors final
revocationLists final
public static void validateServerCertUsage(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new org.bouncycastle.cert.X509CertificateHolder
dup
aload 0
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
invokespecial org.bouncycastle.cert.X509CertificateHolder.<init>:([B)V
astore 1
start local 1 1: aload 1
invokevirtual org.bouncycastle.cert.X509CertificateHolder.getExtensions:()Lorg/bouncycastle/asn1/x509/Extensions;
invokestatic org.bouncycastle.asn1.x509.KeyUsage.fromExtensions:(Lorg/bouncycastle/asn1/x509/Extensions;)Lorg/bouncycastle/asn1/x509/KeyUsage;
astore 2
start local 2 2: aload 2
ifnull 7
3: aload 2
iconst_4
invokevirtual org.bouncycastle.asn1.x509.KeyUsage.hasUsages:(I)Z
ifeq 5
4: new java.security.cert.CertificateException
dup
ldc "Key usage must not contain keyCertSign"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.bouncycastle.cert.X509CertificateHolder org.bouncycastle.asn1.x509.KeyUsage
StackMap stack:
aload 2
sipush 128
invokevirtual org.bouncycastle.asn1.x509.KeyUsage.hasUsages:(I)Z
ifne 7
aload 2
bipush 32
invokevirtual org.bouncycastle.asn1.x509.KeyUsage.hasUsages:(I)Z
ifne 7
6: new java.security.cert.CertificateException
dup
ldc "Key usage must be none, digitalSignature or keyEncipherment"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.cert.X509CertificateHolder.getExtensions:()Lorg/bouncycastle/asn1/x509/Extensions;
invokestatic org.bouncycastle.asn1.x509.ExtendedKeyUsage.fromExtensions:(Lorg/bouncycastle/asn1/x509/Extensions;)Lorg/bouncycastle/asn1/x509/ExtendedKeyUsage;
astore 3
start local 3 8: aload 3
ifnull 17
9: aload 3
getstatic org.bouncycastle.asn1.x509.KeyPurposeId.id_kp_serverAuth:Lorg/bouncycastle/asn1/x509/KeyPurposeId;
invokevirtual org.bouncycastle.asn1.x509.ExtendedKeyUsage.hasKeyPurposeId:(Lorg/bouncycastle/asn1/x509/KeyPurposeId;)Z
ifne 17
10: aload 3
getstatic org.bouncycastle.asn1.x509.KeyPurposeId.id_kp_msSGC:Lorg/bouncycastle/asn1/x509/KeyPurposeId;
invokevirtual org.bouncycastle.asn1.x509.ExtendedKeyUsage.hasKeyPurposeId:(Lorg/bouncycastle/asn1/x509/KeyPurposeId;)Z
ifne 17
11: aload 3
getstatic org.bouncycastle.asn1.x509.KeyPurposeId.id_kp_nsSGC:Lorg/bouncycastle/asn1/x509/KeyPurposeId;
invokevirtual org.bouncycastle.asn1.x509.ExtendedKeyUsage.hasKeyPurposeId:(Lorg/bouncycastle/asn1/x509/KeyPurposeId;)Z
ifne 17
12: new java.security.cert.CertificateException
dup
ldc "Certificate extended key usage must include serverAuth, msSGC or nsSGC"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 13: StackMap locals: java.security.cert.X509Certificate
StackMap stack: java.security.cert.CertificateException
astore 1
start local 1 14: aload 1
athrow
end local 1 15: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 16: new java.security.cert.CertificateException
dup
aload 1
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 1
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 17: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 x509Certificate Ljava/security/cert/X509Certificate;
1 13 1 cert Lorg/bouncycastle/cert/X509CertificateHolder;
2 13 2 keyUsage Lorg/bouncycastle/asn1/x509/KeyUsage;
8 13 3 extendedKeyUsage Lorg/bouncycastle/asn1/x509/ExtendedKeyUsage;
14 15 1 c Ljava/security/cert/CertificateException;
16 17 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 13 13 Class java.security.cert.CertificateException
0 13 15 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
x509Certificate
public static javax.net.ssl.KeyManagerFactory createKeyManagerFactory(java.lang.String, java.lang.String, java.security.KeyStore, char[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/security/KeyStore;[C)Ljavax/net/ssl/KeyManagerFactory;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
ifnonnull 4
aload 1
ifnonnull 4
2: invokestatic javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
astore 4
3: goto 8
4: StackMap locals: javax.net.ssl.KeyManagerFactory
StackMap stack:
aload 1
ifnonnull 7
5: aload 0
invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
astore 4
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
astore 4
8: StackMap locals:
StackMap stack:
aload 4
aload 2
aload 3
invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
9: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 type Ljava/lang/String;
0 10 1 provider Ljava/lang/String;
0 10 2 clientKeyStore Ljava/security/KeyStore;
0 10 3 clientKeyStorePass [C
1 10 4 keyManagerFactory Ljavax/net/ssl/KeyManagerFactory;
Exceptions:
throws java.security.UnrecoverableKeyException, java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.NoSuchProviderException
MethodParameters:
Name Flags
type
provider
clientKeyStore
clientKeyStorePass
}
SourceFile: "JcaJceUtils.java"
NestMembers:
org.bouncycastle.est.jcajce.JcaJceUtils$1 org.bouncycastle.est.jcajce.JcaJceUtils$2
InnerClasses:
org.bouncycastle.est.jcajce.JcaJceUtils$1
org.bouncycastle.est.jcajce.JcaJceUtils$2