on 2025 Mar 05 1:52 PM
Dear Experts,
We get a “iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure” error when testing a webservice:
The API doesn’t require User Authentication, It only requires a Header “apiKey” which was successfully entered.
We can get a successfull response on postman, seems the issue must be on the SAP PO system.
As per blogs and SAP note 2616423 this seems like a TLS error.
HTTPS is not enabled on the SAP PO system. I see HTTPS is required for TLS 1.3. Please confirm that the first step I should do is to enable HTTPS on the SAP PO system to point me in the right direction? Or is HTTPS not relevant on the SAP PO system?
Kind Regards,
Request clarification before answering.
certificate from target server should be imported to your po as trusted.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'll reply feedback from SAP Incident here, as it was very helpfull:
Proposed Solution:
Hello Team,
I hope you're doing well.
Thank you for the information you've provided so far.
This target server "..." demands the below ciphers on the client side (PO JAVA)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Please follow below steps:
1)Please make sure your SSLContext.properties should be maintained in right path as per KBA:0002693382 - Cannot read config file SSLContext.properties
Incorrect configurations:
-Diaik.security.ssl.configFile=D:\usr\sap\<SID>\SYS\global\security\lib\tools\SSLContext.properties
-Diaik.security.ssl.configFile=/sapmnt/<SID>/global/security/lib/tools/SSLContext.properties
Correct configuration for Windows Systems: -Diaik.security.ssl.configFile=file:/<Logical Drive>:/usr/sap/<SID>/SYS/global/security/lib/tools/SSLContext.properties
Correct configuration for Unix based Systems: -Diaik.security.ssl.configFile=file:/usr/sap/<SID>/SYS/global/security/lib/tools/SSLContext.properties
2)Please SET JVM parameter in config tool refer point C as per KBA: 0002569156
3)And once this file is created,modify it by adding "Profile 3" from 0002708581 - ECC Support for Outbound Connections in SAP NW AS Java in the SSLConext.properties file.
Prerequisite for Example Profile 3: Unlimited strength jurisdiction policy (crypto.policy=unlimited) is enabled on the used JVM according to SAP KBA 1240081 (Java Cryptography Extension (JCE) Jurisdiction Policy Files)
In this KBA mentioned how to set crypto.policy=unlimited: 0003292308 : AES-256 algorithm requires unlimited cryptography!
Add like below:
#
client.allowLegacyRenegotiation=true
extension=signature_algorithms
extension=server_name.noncritical
extension=elliptic_curves
extension=ec_point_formats
securityProvider=iaik.security.ssl.ECCelerateProvider
# enable cipher suites with ECDHE key exchange (unlimited strength)
cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
cipherSuite=TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
cipherSuite=TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
cipherSuite=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
cipherSuite=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
cipherSuite=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
cipherSuite=TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
cipherSuite=TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
#
# keep default cipher suites as fallback
cipherSuite=TLS_RSA_WITH_AES_128_GCM_SHA256
cipherSuite=TLS_RSA_WITH_AES_128_CBC_SHA
cipherSuite=TLS_RSA_WITH_AES_128_CBC_SHA256
cipherSuite=TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
cipherSuite=TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
cipherSuite=TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
cipherSuite=TLS_RSA_WITH_AES_256_GCM_SHA384
cipherSuite=TLS_RSA_WITH_AES_256_CBC_SHA
cipherSuite=TLS_RSA_WITH_AES_256_CBC_SHA256
cipherSuite=TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
cipherSuite=TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
cipherSuite=TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
cipherSuite=SSL_RSA_WITH_3DES_EDE_CBC_SHA
cipherSuite=SSL_RSA_WITH_RC4_128_SHA
#
# enable old&slow DHE cipher suites (you don't want them with limited strength 1024-bit DHE at all)
cipherSuite=TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
cipherSuite=TLS_DHE_RSA_WITH_AES_128_CBC_SHA
cipherSuite=TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
cipherSuite=TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
cipherSuite=TLS_DHE_RSA_WITH_AES_256_CBC_SHA
cipherSuite=TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
Save the config file and restart J2EE system then test again the SSl flow.
This should resolve the problem...
Regards,
User | Count |
---|---|
88 | |
10 | |
9 | |
8 | |
7 | |
6 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.