Article - CS357916

In Vuforia View, Experiences are not displayed when using a CA SSL certificate and with HTTPS enabled in Vuforia Experience Service

Modified: 23-Sep-2025   


Applies To

  • Vuforia Studio 8.0.0 N/A to 10.1.0
  • Vuforia Experience Service 8.0.0 to 10.1.0
  • Vuforia View 8.0.0 to 10.1.0
  • CA who signed this certificate is embedded in NodeJS

Description

  • In Vuforia View, Experiences are not displayed when using a CA SSL certificate and with HTTPS enabled in Vuforia Experience Service
  • In Vuforia View log file, this exception is reported:
MM-DD HH:MM:SS.ms  1963  2752 I TGXIdentityRequestTask: TGXIdentityRequestTask full request URL: https://<hostname vuforia experience service>:<port>/ExperienceService/id-resolution/resolutions?key=urn:vuforia:nokey&resourcetype=Experience&wNdp=360&aspect=spatial-tracking
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask: Exception processing identity resolution request
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask: java.io.IOException: Exception while obtaining HttpURLConnection.getResponseCode() result
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.getResponseCode(TGXUtils.java:445)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.openConnection(TGXUtils.java:604)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.identity.TGXIdentityRequestTask.run(TGXIdentityRequestTask.java:76)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at java.lang.Thread.run(Thread.java:929)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask: Caused by: java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at java.util.concurrent.FutureTask.report(FutureTask.java:123)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at java.util.concurrent.FutureTask.get(FutureTask.java:193)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.getResponseCode(TGXUtils.java:436)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        ... 7 more
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask: Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:231)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.lambda$getResponseCode$0(TGXUtils.java:433)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.-$$Lambda$TGXUtils$6p3gtawriLJcgD-X_3j-WMeQvs4.call(Unknown Source:4)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        ... 4 more
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask: Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:658)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:507)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:426)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:354)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:89)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:224)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(ConscryptFileDescriptorSocket.java:407)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:387)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:226)
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        ... 19 more
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask: Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2752 E TGXIdentityRequestTask:        ... 30 more
MM-DD HH:MM:SS.ms  1963  2752 W TGX_ExperienceLoader: Error occurred while fetching experiences from VES; error: java.io.IOException: Exception while obtaining HttpURLConnection.getResponseCode() result, statusCode: 0, wasInterrupted: false
MM-DD HH:MM:SS.ms  1963  2752 I TGXIdentityRequestTask: TGXIdentityRequestTask complete.
MM-DD HH:MM:SS.ms  1963  1963 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:40.916565, limit is:60The moving distance of Y is:123.84546, limit is:60
MM-DD HH:MM:SS.ms  1963  2758 I TGXIdentityRequestTask: TGXIdentityRequestTask starting on thread 4311 (ExperienceListLoader-5) for https://<hostname vuforia experience service>:<port>/ExperienceService/id-resolution/resolutions?key=urn:vuforia:nokey&resourcetype=Experience&wNdp=360 ...
MM-DD HH:MM:SS.ms  1963  2758 I TGXIdentityRequestTask: TGXIdentityRequestTask full request URL: https://<hostname vuforia experience service>:<port>/ExperienceService/id-resolution/resolutions?key=urn:vuforia:nokey&resourcetype=Experience&wNdp=360&aspect=spatial-tracking
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask: Exception processing identity resolution request
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask: java.io.IOException: Exception while obtaining HttpURLConnection.getResponseCode() result
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.getResponseCode(TGXUtils.java:445)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.openConnection(TGXUtils.java:604)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.identity.TGXIdentityRequestTask.run(TGXIdentityRequestTask.java:76)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at java.lang.Thread.run(Thread.java:929)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask: Caused by: java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at java.util.concurrent.FutureTask.report(FutureTask.java:123)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at java.util.concurrent.FutureTask.get(FutureTask.java:193)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.getResponseCode(TGXUtils.java:436)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        ... 7 more
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask: Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:231)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.TGXUtils.lambda$getResponseCode$0(TGXUtils.java:433)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.ptc.thingx.cordova.plugin.core.-$$Lambda$TGXUtils$6p3gtawriLJcgD-X_3j-WMeQvs4.call(Unknown Source:4)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        ... 4 more
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask: Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:658)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:507)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:426)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:354)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:89)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:224)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(ConscryptFileDescriptorSocket.java:407)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:387)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:226)
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        ... 19 more
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask: Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
MM-DD HH:MM:SS.ms  1963  2758 E TGXIdentityRequestTask:        ... 30 more
MM-DD HH:MM:SS.ms  1963  2758 W TGX_ExperienceLoader: Error occurred while fetching experiences from VES; error: java.io.IOException: Exception while obtaining HttpURLConnection.getResponseCode() result, statusCode: 0, wasInterrupted: false
  • In Vuforia Studio, in a Project when validating Vuforia Experience Service URL, it fails
  • In Vuforia Studio log file, we can see this exception reported :
[YYYY-MM-DDTHH:MM:SS.MSZ] error: [twx-studio:auth:oauthHandler] Error making request for oauth config unable to verify the first certificate Error: unable to verify the first certificate
    at TLSSocket.onConnectSecure (_tls_wrap.js:1514:34)
    at TLSSocket.emit (events.js:375:28)
    at TLSSocket.emit (domain.js:470:12)
    at TLSSocket._finishInit (_tls_wrap.js:936:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:708:12)
    at TLSWrap.callbackTrampoline (internal/async_hooks.js:131:17) {
  code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
  • When running this command : openssl s_client -connect https://<hostname vuforia experience service>:<port>
  • Output of this command reports these errors : 
    • verify error:num=20:unable to get local issuer certificate
    • verify error:num=21:unable to verify the first certificate
    • Verify return code: 21 (unable to verify the first certificate)
  • Vuforia Experience Service failed to startup correctly after ThingWorx certificate was renewed
This is a printer-friendly version of Article 357916 and may be out of date. For the latest version click CS357916