4[!org/postgresql/ssl/LazyKeyManagerjava/lang/Objectjavax/net/ssl/X509KeyManagerLazyKeyManager.java6org/postgresql/ssl/LibPQFactory$ConsoleCallbackHandlerorg/postgresql/ssl/LibPQFactory ConsoleCallbackHandlercert%[Ljava/security/cert/X509Certificate;keyLjava/security/PrivateKey;certfileLjava/lang/String;keyfilecbh.Ljavax/security/auth/callback/CallbackHandler; defaultfileZerror#Lorg/postgresql/util/PSQLException;V(Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;Z)V()V      !  #  %  '  )  +this#Lorg/postgresql/ssl/LazyKeyManager;throwKeyManagerException!org/postgresql/util/PSQLException0chooseClientAliasR([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;user4getCertificateChain9(Ljava/lang/String;)[Ljava/security/cert/X509Certificate; 67 8"java/security/cert/X509Certificate;getIssuerX500Principal*()Ljavax/security/auth/x500/X500Principal; => <?[Ljava/lang/String;A[Ljava/security/Principal;Cjava/net/SocketE&javax/security/auth/x500/X500PrincipalGequals(Ljava/lang/Object;)Z IJ HKjava/lang/StringMissuerLjava/security/Principal; ourissuer(Ljavax/security/auth/x500/X500Principal;found certchainkeyTypeissuerssocketLjava/net/Socket;chooseServerAliasQ(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;'java/security/cert/CertificateException[java/io/FileNotFoundException]X.509_%java/security/cert/CertificateFactorya getInstance;(Ljava/lang/String;)Ljava/security/cert/CertificateFactory; cd beVCould not find a java cryptographic algorithm: X.509 CertificateFactory not available.gorg/postgresql/util/GTitr9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; kl jmorg/postgresql/util/PSQLStateoCONNECTION_FAILURELorg/postgresql/util/PSQLState; qr psI(Ljava/lang/String;Lorg/postgresql/util/PSQLState;Ljava/lang/Throwable;)V u 1vjava/io/FileInputStreamx(Ljava/lang/String;)V z y{generateCertificates-(Ljava/io/InputStream;)Ljava/util/Collection; }~ b(Could not open SSL certificate file {0}.9Loading the SSL certificate {0} into a KeyManager failed.java/util/CollectiontoArray(([Ljava/lang/Object;)[Ljava/lang/Object; cf'Ljava/security/cert/CertificateFactory;ex)Ljava/security/cert/CertificateException;certs9Ljava/util/Collection<+Ljava/security/cert/Certificate;>;Ljava/util/Collection;ioexLjava/io/FileNotFoundException;gsexaliasgetClientAliasesA(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String; 23  readFileFully(Ljava/lang/String;)[Bjava/io/IOExceptionjava/io/RandomAccessFiler'(Ljava/lang/String;Ljava/lang/String;)V  length()J  readFully([B)V close  java/lang/Throwableret[BpathrafLjava/io/RandomAccessFile; getPrivateKey.(Ljava/lang/String;)Ljava/security/PrivateKey;*java/security/spec/InvalidKeySpecException#javax/crypto/NoSuchPaddingException9javax/security/auth/callback/UnsupportedCallbackException&java/security/GeneralSecurityException&java/security/NoSuchAlgorithmException  getPublicKey()Ljava/security/PublicKey; <java/security/PublicKey getAlgorithm()Ljava/lang/String; java/security/KeyFactory.(Ljava/lang/String;)Ljava/security/KeyFactory; c &java/security/spec/PKCS8EncodedKeySpec  generatePrivate8(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey; $javax/crypto/EncryptedPrivateKeyInfo  getAlgName javax/crypto/Cipher)(Ljava/lang/String;)Ljavax/crypto/Cipher; c  getMessage *(Ljava/lang/String;Ljava/lang/Throwable;)V  -javax/security/auth/callback/PasswordCallbackEnter SSL password: (Ljava/lang/String;Z)V  %javax/security/auth/callback/Callback,javax/security/auth/callback/CallbackHandlerhandle+([Ljavax/security/auth/callback/Callback;)V Console is not available NKCCould not read password for SSL key file, console is not available.@Could not read password for SSL key file by callbackhandler {0}.getClass()Ljava/lang/Class;  java/lang/Class getName    javax/crypto/spec/PBEKeySpec getPassword()[C  ([C)V   clearPassword  javax/crypto/SecretKeyFactory3(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory; c generateSecret6(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;  !getAlgParameters%()Ljava/security/AlgorithmParameters; #$ %init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V '( ) getKeySpec?(Ljavax/crypto/Cipher;)Ljava/security/spec/PKCS8EncodedKeySpec; +, -#Could not decrypt SSL key file {0}./ Could not read SSL key file {0}.13Could not find a java cryptographic algorithm: {0}.3 keydata pkcs8KeySpecLjava/security/spec/KeySpec;cipherLjavax/crypto/Cipher;npex%Ljavax/crypto/NoSuchPaddingException;ucex;Ljavax/security/auth/callback/UnsupportedCallbackException; pbeKeySpecLjavax/crypto/spec/PBEKeySpec;skFacLjavax/crypto/SecretKeyFactory;pbeKeyLjava/security/Key; algParams#Ljava/security/AlgorithmParameters;ikex(Ljava/security/GeneralSecurityException;ePKInfo&Ljavax/crypto/EncryptedPrivateKeyInfo;pwdcb/Ljavax/security/auth/callback/PasswordCallback;,Ljava/security/spec/InvalidKeySpecException;kfLjava/security/KeyFactory;Ljava/io/IOException;(Ljava/security/NoSuchAlgorithmException;getServerAliasesCodeLocalVariableTableLineNumberTable StackMapTable ExceptionsLocalVariableTypeTable SourceFile InnerClasses!  S)** *"*$*+&*,(*-**,T4)-.))))U& B1 27CDE"F(G/SH *$*$T  -.UPQ SV W123SI l*&,,5*59:d2@:6,:66   2:  L6 5TRM OP 1;QR48SOTl-.lUAlVClWXU:WX Z]bc"d$f1g4hMiWjZh`mV3 : BDF:HD @NYZSJT*-.UVCWXUu67S* *&`fMN*1Yhnt-w$,yY*&|NR:*,#*1YY*&Sntw$:*1YY*&Sntw$*-<: * \2BE^2Bp\T\ BG)r"2s-.XBUJz02BEGN`nprV3W\bR^(^Nb\#S&*NY+S,FN- N NY-ST*&-.&U&VCU V NGB S)Y*L+M+,,N+-:+  " T  ) U  V NWS *"*(x* *59*(MN*,-* 2ɹNY,:*-ܵ"&:Y,:::YYn:**YSb:** - *1Yntw$**1YY** Sntw$Y::  ": &:   *.: *- ܵ"(:*1Y0Y*(Sntw$JM*1Y2Y*(Snt,w$&M*1Y4Y,5Snt,w$*" (+^I]`lvy[^ 67 67T(6, S 78v9:{;<]=><?@.-AB 7$CD >EF Q 78 `#GHlIJ9:KLb!M7L6I:NO P"Q-.U7 (+,357IS]`blvy{$.7>HQ[^`sV J^ ^N(NN'N5&L$NBc"RSCNT -.UVCUYZ