@@ -106,6 +106,10 @@ const okHttp3CertificatePinnerCheck = (ident: number): Promise<any | undefined>
106106 const certificatePinner : CertificatePinner = Java . use ( "okhttp3.CertificatePinner" ) ;
107107 send ( c . blackBright ( `Found okhttp3.CertificatePinner, overriding CertificatePinner.check()` ) ) ;
108108
109+ if ( ! certificatePinner . check ) {
110+ return null ;
111+ }
112+
109113 const CertificatePinnerCheck = certificatePinner . check . overload ( "java.lang.String" , "java.util.List" ) ;
110114
111115 // tslint:disable-next-line:only-arrow-functions
@@ -147,6 +151,11 @@ const okHttp3CertificatePinnerCheckOkHttp = (ident: number): Promise<any | undef
147151 return wrapJavaPerform ( ( ) => {
148152 try {
149153 const certificatePinner : CertificatePinner = Java . use ( "okhttp3.CertificatePinner" ) ;
154+
155+ if ( ! certificatePinner . check$okhttp ) {
156+ return null ;
157+ }
158+
150159 send ( c . blackBright ( `Found okhttp3.CertificatePinner, overriding CertificatePinner.check$okhttp()` ) ) ;
151160
152161 const CertificatePinnerCheckOkHttp = certificatePinner . check$okhttp . overload ( "java.lang.String" , "u15" ) ;
@@ -175,12 +184,17 @@ const appceleratorTitaniumPinningTrustManager = (ident: number): Promise<any | u
175184 return wrapJavaPerform ( ( ) => {
176185 try {
177186 const pinningTrustManager : PinningTrustManager = Java . use ( "appcelerator.https.PinningTrustManager" ) ;
187+ const PinningTrustManagerCheckServerTrusted = pinningTrustManager . checkServerTrusted ;
188+
189+ if ( ! PinningTrustManagerCheckServerTrusted ) {
190+ return null ;
191+ }
192+
178193 send (
179194 c . blackBright ( `Found appcelerator.https.PinningTrustManager, ` +
180195 `overriding PinningTrustManager.checkServerTrusted()` ) ,
181196 ) ;
182197
183- const PinningTrustManagerCheckServerTrusted = pinningTrustManager . checkServerTrusted ;
184198
185199 // tslint:disable-next-line:only-arrow-functions
186200 PinningTrustManagerCheckServerTrusted . implementation = function ( ) {
@@ -213,14 +227,21 @@ const trustManagerImplVerifyChainCheck = (ident: number): Promise<any> => {
213227 return wrapJavaPerform ( ( ) => {
214228 try {
215229 const trustManagerImpl : TrustManagerImpl = Java . use ( "com.android.org.conscrypt.TrustManagerImpl" ) ;
216- send (
217- c . blackBright ( `Found com.android.org.conscrypt.TrustManagerImpl, ` +
218- `overriding TrustManagerImpl.verifyChain()` ) ,
219- ) ;
220230
221231 // https://github.com/google/conscrypt/blob/c88f9f55a523f128f0e4dace76a34724bfa1e88c/
222232 // platform/src/main/java/org/conscrypt/TrustManagerImpl.java#L650
223233 const TrustManagerImplverifyChain = trustManagerImpl . verifyChain ;
234+
235+ if ( ( ! TrustManagerImplverifyChain ) ) {
236+ return null ;
237+ }
238+
239+ send (
240+ c . blackBright ( `Found com.android.org.conscrypt.TrustManagerImpl, ` +
241+ `overriding TrustManagerImpl.verifyChain()` ) ,
242+ ) ;
243+
244+
224245 // tslint:disable-next-line:only-arrow-functions
225246 TrustManagerImplverifyChain . implementation = function ( untrustedChain , trustAnchorChain ,
226247 host , clientAuth , ocspData , tlsSctData ) {
@@ -252,14 +273,19 @@ const trustManagerImplCheckTrustedRecursiveCheck = (ident: number): Promise<any>
252273 try {
253274 const arrayList : ArrayList = Java . use ( "java.util.ArrayList" ) ;
254275 const trustManagerImpl : TrustManagerImpl = Java . use ( "com.android.org.conscrypt.TrustManagerImpl" ) ;
276+
277+ if ( ! trustManagerImpl . checkTrustedRecursive ) {
278+ return null ;
279+ }
280+
281+ // https://android.googlesource.com/platform/external/conscrypt/+/1186465/src/
282+ // platform/java/org/conscrypt/TrustManagerImpl.java#391
283+ const TrustManagerImplcheckTrustedRecursive = trustManagerImpl . checkTrustedRecursive ;
255284 send (
256285 c . blackBright ( `Found com.android.org.conscrypt.TrustManagerImpl, ` +
257286 `overriding TrustManagerImpl.checkTrustedRecursive()` ) ,
258287 ) ;
259288
260- // https://android.googlesource.com/platform/external/conscrypt/+/1186465/src/
261- // platform/java/org/conscrypt/TrustManagerImpl.java#391
262- const TrustManagerImplcheckTrustedRecursive = trustManagerImpl . checkTrustedRecursive ;
263289 // tslint:disable-next-line:only-arrow-functions
264290 TrustManagerImplcheckTrustedRecursive . implementation = function ( certs , host , clientAuth , untrustedChain ,
265291 trustAnchorChain , used ) {
@@ -287,6 +313,11 @@ const phoneGapSSLCertificateChecker = (ident: number): Promise<any> => {
287313 return wrapJavaPerform ( ( ) => {
288314 try {
289315 const sslCertificateChecker : SSLCertificateChecker = Java . use ( "nl.xservices.plugins.SSLCertificateChecker" ) ;
316+
317+ if ( ! sslCertificateChecker . execute ) {
318+ return null ;
319+ }
320+
290321 send (
291322 c . blackBright ( `Found nl.xservices.plugins.SSLCertificateChecker, ` +
292323 `overriding SSLCertificateChecker.execute()` ) ,
0 commit comments