4                     !  $  !" (# $ % (& '() * +,- ./ 0 1 23 45 678 9:; <=> ? @A BC DE FG HI FJ FK FLMN OP Q RS T UV WXYZ[ \ ]^ _`a _bc d _e fghi h (j klmn (o pq p rs (t (u vw xy (z{ |}~     nameLjava/lang/String;baseUrl ConstantValueazureKeyVaultDomainName$rsaEncryptionAlgorithmWithOAEPForAKV firstVersion[BkeyVaultClient-Lcom/microsoft/azure/keyvault/KeyVaultClient; credentials1Lcom/microsoft/sqlserver/jdbc/KeyVaultCredential;$assertionsDisabledZsetName(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisMLcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionAzureKeyVaultProvider;getName()Ljava/lang/String;o(Lcom/microsoft/sqlserver/jdbc/SQLServerKeyVaultAuthenticationCallback;Ljava/util/concurrent/ExecutorService;)VauthenticationCallbackFLcom/microsoft/sqlserver/jdbc/SQLServerKeyVaultAuthenticationCallback;executorService&Ljava/util/concurrent/ExecutorService; Exceptions DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated;I(Lcom/microsoft/sqlserver/jdbc/SQLServerKeyVaultAuthenticationCallback;)VformLjava/text/MessageFormat;msgArgs1[Ljava/lang/Object; restClientLcom/microsoft/rest/RestClient; StackMapTable'(Ljava/lang/String;Ljava/lang/String;)VclientId clientKeydecryptColumnEncryptionKey*(Ljava/lang/String;Ljava/lang/String;[B)[BmsgArgse(Ljava/security/NoSuchAlgorithmException; masterKeyPathencryptionAlgorithmencryptedColumnEncryptionKeykeySizeInBytesI currentIndex keyPathLengthScipherTextLengthsignatureLength cipherText signaturehashmdLjava/security/MessageDigest; dataToVerify decryptedCEKconvertTwoBytesToShort([BI)SinputindexshortVal byteBufferLjava/nio/ByteBuffer;encryptColumnEncryptionKeycolumnEncryptionKeyversionmasterKeyPathBytes dataToHashdestinationPosition dataToSign signedHash"encryptedColumnEncryptionKeyLengthvalidateEncryptionAlgorithm&(Ljava/lang/String;)Ljava/lang/String;ValidateNonEmptyAKVPathLjava/net/URISyntaxException; parsedUriLjava/net/URI;AzureKeyVaultWrapjsonEncryptionAlgorithmCLcom/microsoft/azure/keyvault/webkey/JsonWebKeyEncryptionAlgorithm; wrappedKey8Lcom/microsoft/azure/keyvault/models/KeyOperationResult;AzureKeyVaultUnWrap unwrappedKeyAzureKeyVaultSignHashedData([BLjava/lang/String;)[B signedDataAzureKeyVaultVerifySignature([B[BLjava/lang/String;)Zvalid5Lcom/microsoft/azure/keyvault/models/KeyVerifyResult; getAKVKeySize(Ljava/lang/String;)I keyTokens[Ljava/lang/String; retrievedKey/Lcom/microsoft/azure/keyvault/models/KeyBundle;()V SourceFile3SQLServerColumnEncryptionAzureKeyVaultProvider.java AZURE_KEY_VAULThttps://{vaultBaseUrl} vault.azure.net RSA-OAEP java/text/MessageFormat R_NullValue  java/lang/Object'SQLServerKeyVaultAuthenticationCallback/com/microsoft/sqlserver/jdbc/SQLServerException  /com/microsoft/sqlserver/jdbc/KeyVaultCredential %com/microsoft/rest/RestClient$BuilderBuilder InnerClassesokhttp3/OkHttpClient$Builderretrofit2/Retrofit$Builder Kcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionAzureKeyVaultProvider  2com/microsoft/azure/serializer/AzureJacksonAdapter 0com/microsoft/azure/AzureResponseBuilder$FactoryFactory  +com/microsoft/azure/keyvault/KeyVaultClient   "R_NullEncryptedColumnEncryptionKey#R_EmptyEncryptedColumnEncryptionKey "R_InvalidEcryptionAlgorithmVersion%02X     R_AKVKeyLengthError  R_AKVSignatureLengthError SHA-256 &java/security/NoSuchAlgorithmExceptionR_NoSHA256Algorithm   R_HashNull R_CEKSignatureNotMatchCMK R_ByteToShortConversion     R_NullColumnEncryptionKey R_EmptyCEK     !R_CipherTextLengthNotMatchRSASize R_SignedHashLengthErrorR_InvalidSignatureComputedR_NullKeyEncryptionAlgorithmRSA_OAEP  R_InvalidKeyEncryptionAlgorithm  R_AKVPathNull java/net/URIjava/net/URISyntaxExceptionR_AKVURLInvalid   R_AKVMasterKeyPathInvalid R_CEKNullAcom/microsoft/azure/keyvault/webkey/JsonWebKeyEncryptionAlgorithm  R_EncryptedCEKNullR_EmptyEncryptedCEK  java/lang/AssertionError      / R_AKVKeyNotFoundRSA   RSA-HSM R_NonRSAKey  Fcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProviderDcom/microsoft/sqlserver/jdbc/SQLServerKeyVaultAuthenticationCallbackjava/lang/Stringjava/security/MessageDigest-com/microsoft/azure/keyvault/models/KeyBundle getErrStringformat&(Ljava/lang/Object;)Ljava/lang/String;*(Ljava/lang/String;Ljava/lang/Throwable;)Vcom/microsoft/rest/RestClientokhttp3/OkHttpClientretrofit2/Retrofit=(Lokhttp3/OkHttpClient$Builder;Lretrofit2/Retrofit$Builder;)V withBaseUrl;(Ljava/lang/String;)Lcom/microsoft/rest/RestClient$Builder;withCredentialsb(Lcom/microsoft/rest/credentials/ServiceClientCredentials;)Lcom/microsoft/rest/RestClient$Builder;withSerializerAdapterX(Lcom/microsoft/rest/protocol/SerializerAdapter;)Lcom/microsoft/rest/RestClient$Builder;(com/microsoft/azure/AzureResponseBuilderwithResponseBuilderFactory^(Lcom/microsoft/rest/protocol/ResponseBuilder$Factory;)Lcom/microsoft/rest/RestClient$Builder;build!()Lcom/microsoft/rest/RestClient;"(Lcom/microsoft/rest/RestClient;)V<(Lcom/microsoft/rest/credentials/ServiceClientCredentials;)Vjava/lang/BytevalueOf(B)Ljava/lang/Byte;9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;;(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)Vjava/lang/Short(S)Ljava/lang/Short;java/lang/Integer(I)Ljava/lang/Integer;java/lang/System arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V getInstance1(Ljava/lang/String;)Ljava/security/MessageDigest;update([B)Vdigest()[Bjava/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer;java/nio/ByteOrder LITTLE_ENDIANLjava/nio/ByteOrder;order+(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;put(B)Ljava/nio/ByteBuffer;getShort(I)Sjava/util/LocaleENGLISHLjava/util/Locale; toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;!java/nio/charset/StandardCharsetsUTF_16LELjava/nio/charset/Charset;getBytes(Ljava/nio/charset/Charset;)[BequalsIgnoreCase(Ljava/lang/String;)ZtrimisEmpty()Z=(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)VgetHostendsWithwrapKey(Ljava/lang/String;Lcom/microsoft/azure/keyvault/webkey/JsonWebKeyEncryptionAlgorithm;[B)Lcom/microsoft/azure/keyvault/models/KeyOperationResult;6com/microsoft/azure/keyvault/models/KeyOperationResultresult unwrapKey@com/microsoft/azure/keyvault/webkey/JsonWebKeySignatureAlgorithmRS256BLcom/microsoft/azure/keyvault/webkey/JsonWebKeySignatureAlgorithm;sign(Ljava/lang/String;Lcom/microsoft/azure/keyvault/webkey/JsonWebKeySignatureAlgorithm;[B)Lcom/microsoft/azure/keyvault/models/KeyOperationResult;verify(Ljava/lang/String;Lcom/microsoft/azure/keyvault/webkey/JsonWebKeySignatureAlgorithm;[B[B)Lcom/microsoft/azure/keyvault/models/KeyVerifyResult;3com/microsoft/azure/keyvault/models/KeyVerifyResultvalue()Ljava/lang/Boolean;java/lang/Boolean booleanValuegetKeyC(Ljava/lang/String;)Lcom/microsoft/azure/keyvault/models/KeyBundle;split'(Ljava/lang/String;)[Ljava/lang/String;key2()Lcom/microsoft/azure/keyvault/webkey/JsonWebKey;.com/microsoft/azure/keyvault/webkey/JsonWebKeykty6()Lcom/microsoft/azure/keyvault/webkey/JsonWebKeyType;2com/microsoft/azure/keyvault/webkey/JsonWebKeyTypetoStringnjava/lang/ClassdesiredAssertionStatus3com/microsoft/rest/protocol/ResponseBuilder$Factory+com/microsoft/rest/protocol/ResponseBuilder! >*+ CD/*G H*+ ]^ F***** *YT +( Y MYSNY,-*Y+YYY* !Y"#$Y%&'M*(Y,)*Bj1 357<'k,l9mCnQp]qtrstu49C QD***** *YT *Y+,+*(Y*,*& 1 357<'4C DDD5 *+--Y.-Y/*,0M*+16-3* 3W Y2:Y3Y-34S5SY3Y* 34S5S:Y*6* 6*-76*-76`6> Y8:Y9SY:SY+S: Y* 6-dd6> Y;: Y:SY:SY+S: Y*  6: - <`6: - <- d: - - d<: =>: : Y@   A B:  YC*  +D. YE:Y+S:Y*6*+, F:?2 ,29EKS|  :MS^ekvSF-  - :  9ri] S k   X A lgKM ?!6E`+YG6H:IJW+3KW+`3KWL>"(1 < C 4EEEC&P-*+--YM-YN*,0M*+16Y* 3T:+OPQR::~Tz~T*+,-S::  ~T z~TYT` ```: 6  <  < `6     <  `6   < `6   <: =>: : Y@   A B: * +U:YV* +DYW `````6:6<`6<`6  < `6<`6<`6<07:?7! "%&,*2-94G7V9[:h;x>@ABDEJLMOPRS UV X-Z0\7_:]<^K`RaYdbfjgxjkpruvwz{~*< ----9GV[ ] X 0 Y b|y_  ?,\+YX6Y+Z L +[Z/ Y\MY+SY SNY*,-6+& ".;IZ*;I\\ 7+ +[]* Y^MY+SNY,-6M_Y+`M.N Yb:Y+S:Y-c,dOPe, YfNY+S:Y-68ADaB%68ADES]of %S]E*8r& _a*:0-YghY,i:**+-j:k*>0000*D-Yl-YmhY,i:**+-n:k'1>>DDDD1>+o+ + pYq**,r+sN-k&*+++&Jo+ + pYqo, , pYq**-r+,t:uv"#2%A(4JJJJA Q**+wM,:+xyN Yz:Y--d2S:Y6{,|}~ZG,|}~Z5 YNY,|}~S:Y-6,|2 5 78:#;2<E?Z@iAvBCFR0#"2v%  EU4o, @* $