Commit Graph

111 Commits (d2bb9d64d222be0131a59af1481552cc299718bd)

Author SHA1 Message Date
Chris Conlon d2bb9d64d2 JSSE: WolfSSLEngineHelper.setLocalServerNames() - get System/Security properties on class creation to avoid potential thread contention during handshake 2025-06-10 09:40:26 -06:00
Ruby Martin 74bf974354 JSSE: implement SNIMatcher logic for wolfSSLSockets
add thread safety
2025-05-14 16:11:23 -06:00
Chris Conlon e60387d4f6 JNI/JSSE: switch to Java Logging, use Lambda expressions to defer String creation 2025-04-30 15:41:18 -06:00
Chris Conlon b00f14ebbb JNI/JSSE: wrap wolfSSL_DisableExtendedMasterSecret(), add support for System property jdk.tls.useExtendedMasterSecret 2025-02-17 10:53:19 -07:00
Chris Conlon 372ef97746 JSSE: add initial SSLEngine support for DTLSv1.3 2025-02-17 10:53:19 -07:00
Reda Chouk d075893cbc wolfjsse: auto-enable SNI for HttpsURLConnection
Enable SNI automatically when detecting HttpsURLConnection's unique initialization pattern, fixing ImpactOnSNI test while preserving default SNI behavior for SSL sockets.
2025-02-05 15:23:52 +01:00
Reda Chouk 9657eee8a0 Add wolfjsse.autoSNI Security property
Introduce wolfjsse.autoSNI property to make SNI behavior configurable. When
set to true, enables legacy automatic SNI based on hostname/peer. By default,
SNI is only set through explicit SSLParameters configuration.

- Fixes SSLSocketExplorerWithSrvSNI test failures
- Maintains compatibility for existing applications
- Adds test coverage in WolfSSLSocketTest
2025-02-01 00:25:10 +01:00
Chris Conlon eb4ee89bd0 JNI/JSSE: update copyright to 2025 2025-01-06 15:48:38 -07:00
Reda Chouk 967f75e84b Proper styling for comments to match code standards (WolfSSLEngineHelper.java) and fixed identation (WolfSSLSocket.java) 2024-12-23 23:52:23 +01:00
Reda Chouk 20befbc368 Added check for legacy DHE keys (for cipher suites using keys less than 1024 bits) 2024-12-23 23:23:44 +01:00
Chris Conlon f164e6465d JSSE: add SSLSocket.getSession() tests throughout different times of connection establishment 2024-12-05 17:13:05 -07:00
Chris Conlon 36f54b02e8 JSSE: fixes for calling SSLSocket methods after SSLSocket.close() has been called 2024-11-25 10:08:08 -07:00
Chris Conlon 2fa04177fc JNI: add wolfSSL JNI Java level debugging, add wolfssljni.debug=true System property support 2024-11-21 15:33:14 -07:00
Chris Conlon 7b13a4b42c JSSE: add Security property to disable Java client session cache: wolfjsse.clientSessionCache.disabled 2024-10-09 15:48:44 -06:00
Reda Chouk 58ffe8951e 80 characters limit 2024-09-26 10:57:55 +02:00
Reda Chouk a4dfa7e2cb Erroring out on invalid port during the creation of a SSLEngine 2024-09-25 19:42:33 +02:00
Chris Conlon 9d66046323 JNI/JSSE: clean up ant build warnings for Corretto 20.0.1 2024-09-20 16:08:38 -06:00
Chris Conlon b7ed1d3140 JSSE: fixes for some items found with SpotBugs 2024-09-16 15:51:12 -06:00
Sage Stefonic bde37eec21 add rsa_pss support in wolfJSSE 2024-08-08 15:18:08 -07:00
Chris Conlon 7231009800 JSSE: only resume sessions from Java client cache if same cipher suite and protocol are enabled 2024-08-06 14:31:52 -06:00
Chris Conlon 6e08b929dc JNI/JSSE: use poll() instead of select() as default descriptor event function 2024-06-27 16:34:39 -06:00
JacobBarthelmeh 3dcfb63999
Merge pull request #189 from cconlon/gcTesting
Optimization pass for better garbage collection
2024-04-24 16:53:01 -06:00
Chris Conlon b5090598a5 JSSE: fix for Infer warning about javaVersion being null in WolfSSLEngineHelper 2024-04-22 16:04:40 -06:00
Chris Conlon 65e4191ba4 JSSE: release WolfSSLEngineHelper state from WolfSSLSocket when SSLSocket.close() is called 2024-04-19 14:18:51 -06:00
Chris Conlon b173f29297 Infer fixes for WolfSSLEngineHelper 2024-04-05 10:57:26 -06:00
Chris Conlon 115e93aaa7 JSSE: unset native verify callback when SSLEngine is finished, allows garbage collection 2024-03-26 14:53:08 -06:00
Chris Conlon 1d0b807d9c JSSE: fix handling of setWantClientAuth()/setNeedClientAuth in SSLEngine and choosing of key alias with chooseEngineClient/ServerAlias() 2024-02-14 13:39:44 -07:00
Chris Conlon 85cfeeaf90 update copyright to 2024 2024-01-16 15:35:09 -07:00
Chris Conlon 682f1ea5fc JSSE: add support for SSLSocket/SSLEngine get/setHandshakeApplicationProtocolSelector() for ALPN select support 2024-01-03 11:19:47 -07:00
Chris Conlon 76513f60de JSSE: set peer InetAddress in WolfSSLSocket.connect(), use as first choice for SNI if jdk.tls.trustNameService set to true 2023-11-28 10:27:03 -07:00
Chris Conlon f29486d72e JSSE: add implementation of X509ExtendedTrustManager for internal hostname verification 2023-11-27 15:47:43 -07:00
Chris Conlon 35ab8366c1 Avoid calling InetAddress.getHostName() unless jdk.tls.trustNameService property is set, avoids unnecessary DNS lookups 2023-11-03 15:52:32 -06:00
Chris Conlon 40e94f3f73 JNI/JSSE: throw SocketException with native errno if native socket select() fails 2023-11-03 10:36:12 -06:00
Chris Conlon 3d6ceb09a3 JNI/JSSE: pass socket timeout to select() for wolfSSL_accept() 2023-10-19 15:04:30 -06:00
Chris Conlon 90a1f0308c JSSE: delay creation of WolfSSLImplementSSLSession objects until needed, reduces overall memory usage by active objects 2023-10-18 10:43:52 -06:00
Chris Conlon d358c5bd84 JSSE: remove client-side cache entry on resumption attempt for compatibility with TLS 1.3, print SessionStore entries when wolfjsse.debug enabled 2023-10-06 11:59:25 -06:00
Chris Conlon 22264bc3b2 JSSE: fix client session cache and resumption to make copy of WolfSSLImplementSSLSession when taking out of WolfSSLAuthStore cache, prevents multiple objects overwriting/changing WolfSSLSession held internally 2023-09-06 17:29:42 -06:00
Chris Conlon 8b22fde8fa JSSE: add finalize for WolfSSLEngineHelper, reset some class variables back to null 2023-08-21 14:27:22 -06:00
Chris Conlon 4db4c2bdcf JNI/JSSE: wrap native wolfSSL_SetServerID() and call on client side from WolfSSLEngineHelper.doHandshake() 2023-08-16 10:40:40 -06:00
Chris Conlon 02c1cb8f4d JSSE: add wolfjsse.enabledSupportedCurves Security property support 2023-08-03 14:38:12 -06:00
Chris Conlon 1e5bfb39cb JNI/JSSE: call wolfSSL_get1_session() for saving session, add WolfSSLAuthStore store lock, adjust calls to saveSession/addSession 2023-07-18 12:01:26 -06:00
Chris Conlon 0ecfe9b957 JSSE: add support for wolfjsse.enabledSignatureAlgorithms system Security property, wrap native wolfSSL_set1_sigalgs_list() 2023-07-07 08:39:30 -06:00
Chris Conlon 7d5918c266 JSSE: add support for wolfjsse.enabledCipherSuites system Security property 2023-07-07 08:39:30 -06:00
Chris Conlon eb6919e0b5 JSSE: add support for jdk.tls.disabledAlgorithms and disabled SSL/TLS protocol versions 2023-07-07 08:39:25 -06:00
Chris Conlon a8db5c4c5e initial fixes from SonarQube 2023-05-19 16:45:33 -06:00
Chris Conlon 2eaa54d892 add script to run Facebook Infer, fix reported issues 2023-05-12 15:18:47 -06:00
Chris Conlon 21ea49b6bd update copyright dates to 2023 2023-03-30 15:28:19 -06:00
Chris Conlon 9d6e2fd20c wrap secure renegotiation API, enable in wolfJSSE if compiled at native level 2022-08-17 12:07:55 -06:00
Chris Conlon 751ca6ebee fix missing Javadoc warnings in ALPN additions 2022-05-26 12:05:08 -06:00
Chris Conlon bb97579595 add support for SSLEngine.getApplicationProtocol 2022-05-26 11:36:51 -06:00