目前我们有一个PowerBuilder 12.5应用程序,该应用程序多年来一直运行良好,直到我们发送数据的公司将其安全性更改为仅接受TLS 1.2。 有谁知道是否有可能使PowerBuilder 12.5与TLS 1.2一起使用?
问题是 TLS 1.2合规性需要.NET 4.5,而PowerBuilder支持的最高版本的.NET是.NET 4.0。
- PowerBuilder 11 使用 .NET 2.0
- PowerBuilder 12 使用 .NET 3.5
- PowerBuilder 12.5 使用 .NET 4.0
这种笨拙可能会起作用:
注册表更改以强制 .Net 4.0 使用 TLS 1.2
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319: SchUseStrongCrypto to DWORD 1
默认值将为 0。只需将其更改为 1 即可获取 .Net 4.5 系统.dll使用 TLS 1.2。由于我们的 4.0 应用程序使用 4.5 系统.dll因此 4.0 获得了 TLS 1.2 支持。
使用Powerbuilder 12.5 Web服务代理时也有类似的问题。 尝试上述解决方案有效,但必须将丢失的Reg密钥添加到此位置
32Bit Version:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv4.0.30319]
"SchUseStrongCrypto"=dword:00000001
64Bit Version:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001