public final class sun.security.provider.certpath.ssl.SSLServerCertStore extends java.security.cert.CertStoreSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.provider.certpath.ssl.SSLServerCertStore
  super_class: java.security.cert.CertStoreSpi
{
  private final java.net.URI uri;
    descriptor: Ljava/net/URI;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager trustManager;
    descriptor: Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final javax.net.ssl.SSLSocketFactory socketFactory;
    descriptor: Ljavax/net/ssl/SSLSocketFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final javax.net.ssl.HostnameVerifier hostnameVerifier;
    descriptor: Ljavax/net/ssl/HostnameVerifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=2, args_size=0
         0: .line 69
            new sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager
            dup
            invokespecial sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager.<init>:()V
            putstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
         1: .line 70
            new sun.security.provider.certpath.ssl.SSLServerCertStore$1
            dup
            invokespecial sun.security.provider.certpath.ssl.SSLServerCertStore$1.<init>:()V
            putstatic sun.security.provider.certpath.ssl.SSLServerCertStore.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
         2: .line 78
            ldc "SSL"
            invokestatic javax.net.ssl.SSLContext.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
            astore 1 /* context */
        start local 1 // javax.net.ssl.SSLContext context
         3: .line 79
            aload 1 /* context */
            aconst_null
            iconst_1
            anewarray javax.net.ssl.TrustManager
            dup
            iconst_0
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            aastore
            aconst_null
            invokevirtual javax.net.ssl.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
         4: .line 80
            aload 1 /* context */
            invokevirtual javax.net.ssl.SSLContext.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
            astore 0 /* tempFactory */
        end local 1 // javax.net.ssl.SSLContext context
        start local 0 // javax.net.ssl.SSLSocketFactory tempFactory
         5: .line 81
            goto 8
        end local 0 // javax.net.ssl.SSLSocketFactory tempFactory
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
         6: pop
         7: .line 82
            aconst_null
            astore 0 /* tempFactory */
        start local 0 // javax.net.ssl.SSLSocketFactory tempFactory
         8: .line 85
      StackMap locals: javax.net.ssl.SSLSocketFactory
      StackMap stack:
            aload 0 /* tempFactory */
            putstatic sun.security.provider.certpath.ssl.SSLServerCertStore.socketFactory:Ljavax/net/ssl/SSLSocketFactory;
        end local 0 // javax.net.ssl.SSLSocketFactory tempFactory
         9: .line 86
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            5    6     0  tempFactory  Ljavax/net/ssl/SSLSocketFactory;
            8    9     0  tempFactory  Ljavax/net/ssl/SSLSocketFactory;
            3    5     1      context  Ljavax/net/ssl/SSLContext;
      Exception table:
        from    to  target  type
           2     5       6  Class java.security.GeneralSecurityException

  void <init>(java.net.URI);
    descriptor: (Ljava/net/URI;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.ssl.SSLServerCertStore this
        start local 1 // java.net.URI uri
         0: .line 89
            aload 0 /* this */
            aconst_null
            invokespecial java.security.cert.CertStoreSpi.<init>:(Ljava/security/cert/CertStoreParameters;)V
         1: .line 90
            aload 0 /* this */
            aload 1 /* uri */
            putfield sun.security.provider.certpath.ssl.SSLServerCertStore.uri:Ljava/net/URI;
         2: .line 91
            return
        end local 1 // java.net.URI uri
        end local 0 // sun.security.provider.certpath.ssl.SSLServerCertStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/provider/certpath/ssl/SSLServerCertStore;
            0    3     1   uri  Ljava/net/URI;
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
      Name  Flags
      uri   

  public java.util.Collection<java.security.cert.X509Certificate> engineGetCertificates(java.security.cert.CertSelector);
    descriptor: (Ljava/security/cert/CertSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // sun.security.provider.certpath.ssl.SSLServerCertStore this
        start local 1 // java.security.cert.CertSelector selector
         0: .line 97
            aload 0 /* this */
            getfield sun.security.provider.certpath.ssl.SSLServerCertStore.uri:Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 2 /* urlConn */
        start local 2 // java.net.URLConnection urlConn
         1: .line 98
            aload 2 /* urlConn */
            instanceof javax.net.ssl.HttpsURLConnection
            ifeq 31
         2: .line 99
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.socketFactory:Ljavax/net/ssl/SSLSocketFactory;
            ifnonnull 6
         3: .line 100
            new java.security.cert.CertStoreException
            dup
         4: .line 101
            ldc "No initialized SSLSocketFactory"
         5: .line 100
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 104
      StackMap locals: java.net.URLConnection
      StackMap stack:
            aload 2 /* urlConn */
            checkcast javax.net.ssl.HttpsURLConnection
            astore 3 /* https */
        start local 3 // javax.net.ssl.HttpsURLConnection https
         7: .line 105
            aload 3 /* https */
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.socketFactory:Ljavax/net/ssl/SSLSocketFactory;
            invokevirtual javax.net.ssl.HttpsURLConnection.setSSLSocketFactory:(Ljavax/net/ssl/SSLSocketFactory;)V
         8: .line 106
            aload 3 /* https */
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
            invokevirtual javax.net.ssl.HttpsURLConnection.setHostnameVerifier:(Ljavax/net/ssl/HostnameVerifier;)V
         9: .line 107
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            dup
            astore 4
            monitorenter
        10: .line 109
            aload 3 /* https */
            invokevirtual javax.net.ssl.HttpsURLConnection.connect:()V
        11: .line 111
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            getfield sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager.serverChain:Ljava/util/List;
            aload 1 /* selector */
        12: .line 110
            invokestatic sun.security.provider.certpath.ssl.SSLServerCertStore.getMatchingCerts:(Ljava/util/List;Ljava/security/cert/CertSelector;)Ljava/util/List;
            astore 7
        13: .line 123
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            invokevirtual sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager.cleanup:()V
        14: .line 110
            aload 4
            monitorexit
        15: aload 7
            areturn
        16: .line 112
      StackMap locals: sun.security.provider.certpath.ssl.SSLServerCertStore java.security.cert.CertSelector java.net.URLConnection javax.net.ssl.HttpsURLConnection sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager
      StackMap stack: java.io.IOException
            astore 5 /* ioe */
        start local 5 // java.io.IOException ioe
        17: .line 115
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            getfield sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager.exchangedServerCerts:Z
            ifeq 23
        18: .line 117
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            getfield sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager.serverChain:Ljava/util/List;
            aload 1 /* selector */
        19: .line 116
            invokestatic sun.security.provider.certpath.ssl.SSLServerCertStore.getMatchingCerts:(Ljava/util/List;Ljava/security/cert/CertSelector;)Ljava/util/List;
            astore 7
        20: .line 123
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            invokevirtual sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager.cleanup:()V
        21: .line 116
            aload 4
            monitorexit
        22: aload 7
            areturn
        23: .line 121
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 5 /* ioe */
            athrow
        end local 5 // java.io.IOException ioe
        24: .line 122
      StackMap locals: sun.security.provider.certpath.ssl.SSLServerCertStore java.security.cert.CertSelector java.net.URLConnection javax.net.ssl.HttpsURLConnection sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager
      StackMap stack: java.lang.Throwable
            astore 6
        25: .line 123
            getstatic sun.security.provider.certpath.ssl.SSLServerCertStore.trustManager:Lsun/security/provider/certpath/ssl/SSLServerCertStore$GetChainTrustManager;
            invokevirtual sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager.cleanup:()V
        26: .line 124
            aload 6
            athrow
        27: .line 107
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        28: athrow
        end local 3 // javax.net.ssl.HttpsURLConnection https
        end local 2 // java.net.URLConnection urlConn
        29: .line 127
      StackMap locals: sun.security.provider.certpath.ssl.SSLServerCertStore java.security.cert.CertSelector
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
        30: .line 128
            new java.security.cert.CertStoreException
            dup
            aload 2 /* ioe */
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ioe
        31: .line 131
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 1 // java.security.cert.CertSelector selector
        end local 0 // sun.security.provider.certpath.ssl.SSLServerCertStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   32     0      this  Lsun/security/provider/certpath/ssl/SSLServerCertStore;
            0   32     1  selector  Ljava/security/cert/CertSelector;
            1   29     2   urlConn  Ljava/net/URLConnection;
            7   29     3     https  Ljavax/net/ssl/HttpsURLConnection;
           17   24     5       ioe  Ljava/io/IOException;
           30   31     2       ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          10    13      16  Class java.io.IOException
          10    13      24  any
          16    20      24  any
          23    24      24  any
          10    15      27  any
          16    22      27  any
          23    28      27  any
           0    15      29  Class java.io.IOException
          16    22      29  Class java.io.IOException
          23    29      29  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertStoreException
    Signature: (Ljava/security/cert/CertSelector;)Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
    MethodParameters:
          Name  Flags
      selector  

  private static java.util.List<java.security.cert.X509Certificate> getMatchingCerts(java.util.List<java.security.cert.X509Certificate>, java.security.cert.CertSelector);
    descriptor: (Ljava/util/List;Ljava/security/cert/CertSelector;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.List certs
        start local 1 // java.security.cert.CertSelector selector
         0: .line 138
            aload 1 /* selector */
            ifnonnull 2
         1: .line 139
            aload 0 /* certs */
            areturn
         2: .line 141
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* certs */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* matchedCerts */
        start local 2 // java.util.List matchedCerts
         3: .line 142
            aload 0 /* certs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: java.util.List java.security.cert.CertSelector java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         5: .line 143
            aload 1 /* selector */
            aload 3 /* cert */
            invokeinterface java.security.cert.CertSelector.match:(Ljava/security/cert/Certificate;)Z
            ifeq 7
         6: .line 144
            aload 2 /* matchedCerts */
            aload 3 /* cert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.security.cert.X509Certificate cert
         7: .line 142
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 147
            aload 2 /* matchedCerts */
            areturn
        end local 2 // java.util.List matchedCerts
        end local 1 // java.security.cert.CertSelector selector
        end local 0 // java.util.List certs
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0         certs  Ljava/util/List<Ljava/security/cert/X509Certificate;>;
            0    9     1      selector  Ljava/security/cert/CertSelector;
            3    9     2  matchedCerts  Ljava/util/List<Ljava/security/cert/X509Certificate;>;
            5    7     3          cert  Ljava/security/cert/X509Certificate;
    Signature: (Ljava/util/List<Ljava/security/cert/X509Certificate;>;Ljava/security/cert/CertSelector;)Ljava/util/List<Ljava/security/cert/X509Certificate;>;
    MethodParameters:
          Name  Flags
      certs     
      selector  

  public java.util.Collection<java.security.cert.X509CRL> engineGetCRLs(java.security.cert.CRLSelector);
    descriptor: (Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.ssl.SSLServerCertStore this
        start local 1 // java.security.cert.CRLSelector selector
         0: .line 153
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.security.cert.CRLSelector selector
        end local 0 // sun.security.provider.certpath.ssl.SSLServerCertStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/security/provider/certpath/ssl/SSLServerCertStore;
            0    1     1  selector  Ljava/security/cert/CRLSelector;
    Exceptions:
      throws java.security.cert.CertStoreException
    Signature: (Ljava/security/cert/CRLSelector;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
    MethodParameters:
          Name  Flags
      selector  

  public static java.security.cert.CertStore getInstance(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/security/cert/CertStore;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.net.URI uri
         0: .line 159
            new sun.security.provider.certpath.ssl.SSLServerCertStore$CS
            dup
            new sun.security.provider.certpath.ssl.SSLServerCertStore
            dup
            aload 0 /* uri */
            invokespecial sun.security.provider.certpath.ssl.SSLServerCertStore.<init>:(Ljava/net/URI;)V
            aconst_null
            ldc "SSLServer"
            aconst_null
            invokespecial sun.security.provider.certpath.ssl.SSLServerCertStore$CS.<init>:(Ljava/security/cert/CertStoreSpi;Ljava/security/Provider;Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)V
            areturn
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   uri  Ljava/net/URI;
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
      Name  Flags
      uri   
}
SourceFile: "SSLServerCertStore.java"
NestMembers:
  sun.security.provider.certpath.ssl.SSLServerCertStore$1  sun.security.provider.certpath.ssl.SSLServerCertStore$CS  sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager
InnerClasses:
  sun.security.provider.certpath.ssl.SSLServerCertStore$1
  private CS = sun.security.provider.certpath.ssl.SSLServerCertStore$CS of sun.security.provider.certpath.ssl.SSLServerCertStore
  private GetChainTrustManager = sun.security.provider.certpath.ssl.SSLServerCertStore$GetChainTrustManager of sun.security.provider.certpath.ssl.SSLServerCertStore