public class org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager implements javax.net.ssl.X509TrustManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager
  super_class: java.lang.Object
{
  java.security.cert.X509Certificate cert;
    descriptor: Ljava/security/cert/X509Certificate;
    flags: (0x0000) 

  javax.net.ssl.X509TrustManager trustManager;
    descriptor: Ljavax/net/ssl/X509TrustManager;
    flags: (0x0000) 

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
        start local 1 // java.io.InputStream in
         0: .line 149
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            astore 2 /* ks */
        start local 2 // java.security.KeyStore ks
         2: .line 152
            aload 2 /* ks */
            aconst_null
            invokevirtual java.security.KeyStore.load:(Ljava/security/KeyStore$LoadStoreParameter;)V
         3: .line 153
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 3 /* cf */
        start local 3 // java.security.cert.CertificateFactory cf
         4: .line 154
            aload 0 /* this */
            aload 3 /* cf */
            aload 1 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            putfield org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager.cert:Ljava/security/cert/X509Certificate;
         5: .line 155
            aload 2 /* ks */
            invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager.cert:Ljava/security/cert/X509Certificate;
            invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
         6: .line 157
            invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
            invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
         7: .line 156
            astore 4 /* tmf */
        start local 4 // javax.net.ssl.TrustManagerFactory tmf
         8: .line 158
            aload 4 /* tmf */
            aload 2 /* ks */
            invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
         9: .line 159
            aload 4 /* tmf */
            invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 15
      StackMap locals: org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager java.io.InputStream java.security.KeyStore java.security.cert.CertificateFactory javax.net.ssl.TrustManagerFactory top int int javax.net.ssl.TrustManager[]
      StackMap stack:
        10: aload 8
            iload 6
            aaload
            astore 5 /* tm */
        start local 5 // javax.net.ssl.TrustManager tm
        11: .line 160
            aload 5 /* tm */
            instanceof javax.net.ssl.X509TrustManager
            ifeq 14
        12: .line 161
            aload 0 /* this */
            aload 5 /* tm */
            checkcast javax.net.ssl.X509TrustManager
            putfield org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager.trustManager:Ljavax/net/ssl/X509TrustManager;
        13: .line 162
            goto 16
        end local 5 // javax.net.ssl.TrustManager tm
        14: .line 159
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        15: iload 6
            iload 7
            if_icmplt 10
        16: .line 165
      StackMap locals: org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager java.io.InputStream java.security.KeyStore java.security.cert.CertificateFactory javax.net.ssl.TrustManagerFactory
      StackMap stack:
            aload 0 /* this */
            getfield org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager.trustManager:Ljavax/net/ssl/X509TrustManager;
            ifnonnull 18
        17: .line 166
            new java.security.GeneralSecurityException
            dup
            ldc "No X509TrustManager found"
            iconst_0
            anewarray java.lang.Object
            invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 168
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.net.ssl.TrustManagerFactory tmf
        end local 3 // java.security.cert.CertificateFactory cf
        end local 2 // java.security.KeyStore ks
        end local 1 // java.io.InputStream in
        end local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/postgresql/ssl/SingleCertValidatingFactory$SingleCertTrustManager;
            0   19     1    in  Ljava/io/InputStream;
            2   19     2    ks  Ljava/security/KeyStore;
            4   19     3    cf  Ljava/security/cert/CertificateFactory;
            8   19     4   tmf  Ljavax/net/ssl/TrustManagerFactory;
           11   14     5    tm  Ljavax/net/ssl/TrustManager;
    Exceptions:
      throws java.io.IOException, java.security.GeneralSecurityException
    MethodParameters:
      Name  Flags
      in    

  public void checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String);
    descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
        start local 1 // java.security.cert.X509Certificate[] chain
        start local 2 // java.lang.String authType
         0: .line 172
            return
        end local 2 // java.lang.String authType
        end local 1 // java.security.cert.X509Certificate[] chain
        end local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/postgresql/ssl/SingleCertValidatingFactory$SingleCertTrustManager;
            0    1     1     chain  [Ljava/security/cert/X509Certificate;
            0    1     2  authType  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      chain     
      authType  

  public void checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String);
    descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
        start local 1 // java.security.cert.X509Certificate[] chain
        start local 2 // java.lang.String authType
         0: .line 176
            aload 0 /* this */
            getfield org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager.trustManager:Ljavax/net/ssl/X509TrustManager;
            aload 1 /* chain */
            aload 2 /* authType */
            invokeinterface javax.net.ssl.X509TrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
         1: .line 177
            return
        end local 2 // java.lang.String authType
        end local 1 // java.security.cert.X509Certificate[] chain
        end local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/postgresql/ssl/SingleCertValidatingFactory$SingleCertTrustManager;
            0    2     1     chain  [Ljava/security/cert/X509Certificate;
            0    2     2  authType  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      chain     
      authType  

  public java.security.cert.X509Certificate[] getAcceptedIssuers();
    descriptor: ()[Ljava/security/cert/X509Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
         0: .line 180
            iconst_1
            anewarray java.security.cert.X509Certificate
            dup
            iconst_0
            aload 0 /* this */
            getfield org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager.cert:Ljava/security/cert/X509Certificate;
            aastore
            areturn
        end local 0 // org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/postgresql/ssl/SingleCertValidatingFactory$SingleCertTrustManager;
}
SourceFile: "SingleCertValidatingFactory.java"
NestHost: org.postgresql.ssl.SingleCertValidatingFactory
InnerClasses:
  public abstract LoadStoreParameter = java.security.KeyStore$LoadStoreParameter of java.security.KeyStore
  public SingleCertTrustManager = org.postgresql.ssl.SingleCertValidatingFactory$SingleCertTrustManager of org.postgresql.ssl.SingleCertValidatingFactory