技术文章 - CS324873

由于 TLSv1.3 握手后行为发生改变,Windchill 与 ThingWorx Navigate 连接失败,并出现错误“SSL_verify_client_post_handshake:未收到扩展名”

已修改: 05-Aug-2025   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • Windchill PDMLink 11.0 M030-CPS19 to 12.1.2.4
  • Windchill Navigate (formerly ThingWorx Navigate) 8.5.0 to 10.0
  • ThingWorx Platform 8.5 to 10.0
  • Java 11
  • Apache 2.4.36+ with OpenSSL 1.1.1 (required for TLSv1.3 support)

说明

  • ptc-windchill-integration-connectorThingWorx Composer中的监控中显示失败状态
  • 成功登录ThingWorx ComposerWindchill Navigate后显示空白页
  • ptc-windchill-integration-connector ValidateConnection服务失败,错误代码为403-Forbidden
图像.png
  • 由于 TLSv1.3 握手后行为发生改变,Windchill 与 Thingworx Navigate 连接失败
  • Windchill 进行 CAC PKI 身份验证时,身份验证失败,错误代码为 403 Forbidden
    • 浏览器错误:
 Forbidden - You don't have permission to access this resource. Reason: Cannot perform Post-Handshake Authentication
  • 对于Windchill ,将OpenSSL更新到 1.1.1x 版本后, Windchill Apache [开箱即用] 将在 Chrome 和 Firefox 浏览器中使用 TLSv1.3;但是 Chrome 和 Firefox 不支持握手后身份验证
  • ThingWorx Navigate中执行GetEndpointDefinition 服务 配置了 Windchill 身份验证(Windchill 作为 IdP)的连接失败, ThingWorx Navigate的浏览器出现错误
    • 此行为在所有浏览器中都会发生
  • ThingWorx Java 从 Oracle JDK 更改为 Amazon Corretto JDK(或反之亦然)后,HTTP 操作失败,状态为 [403 - 禁止]错误
  • Thingworx 中搜索部件时出错,导航如下 -
We can’t complete your request due to connection problems
  • <ThingworxStorage>/logs/ApplicationLog.log中出现错误
 Unable to execute service GetEndpointDefinition on WindchillSwaggerConnectorThing: Your route exchange has failed.  HTTP operation failed with status [403 - Forbidden]
  • 错误 <Windchill>/HTTPServer/logs/error.log:
 [ssl:error] [pid 18516:tid 3016] [client <IP Address>:<Port>] AH10158: cannot perform post-handshake authentication
[ssl:error] [pid 18516:tid 3016] SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received
  • <Windchill>/HTTPServer/logs/access.log 中出现错误:
 <IP Address> - - [TIME/DATE] "GET /Windchill/sslClientAuth/servlet/rest/swagger.json?wt.effectiveUid=Administrator HTTP/1.1" 403 258 0
  • <ThingworxNavigate>\IRLogs\IntegrationRuntime-<serial>.log 中出现错误:
 [ClientProcessor-4] ERROR c.t.i.r.IntegrationEngine - Exchange process failed with exception thrown : Your route exchange has failed.  HTTP operation failed with status [403 - Forbidden]
java.lang.RuntimeException: Your route exchange has failed.  HTTP operation failed with status [403 - Forbidden]
                at com.twx.integration.route.exceptions.ExceptionHelper.convertToRuntimeException(ExceptionHelper.java:77)
                at com.twx.integration.route.IntegrationEngine.dispatchRoute(IntegrationEngine.java:159)
                at com.twx.integration.client.things.IntegrationRuntimeServer.Invoke(IntegrationRuntimeServer.java:72)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:566)
                at com.thingworx.common.processors.ReflectionProcessor.processService(ReflectionProcessor.java:261)
                at com.thingworx.communications.client.things.VirtualThing.invokeService(VirtualThing.java:1120)
                at com.thingworx.communications.client.things.VirtualThing.handleServiceRequest(VirtualThing.java:1028)
                at com.thingworx.communications.client.ConnectedThingClient.handleRequest(ConnectedThingClient.java:315)
                at com.thingworx.communications.client.processor.ClientProcessorTask.run(ClientProcessorTask.java:55)
                at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
                at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
                at java.base/java.lang.Thread.run(Thread.java:829)




这是文章 324873 的 PDF 版本,可能已过期。最新版本 CS324873