fix(ios) patch SocketRocket to support WebSocket with TLS 1.3

Upstream PR: https://github.com/facebookincubator/SocketRocket/pull/701
This commit is contained in:
Saúl Ibarra Corretgé
2025-03-07 14:32:59 +01:00
committed by Saúl Ibarra Corretgé
parent 8bd377098d
commit b082354773
3 changed files with 19 additions and 1 deletions

View File

@@ -97,4 +97,7 @@ post_install do |installer|
config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
end
end
# Patch SocketRocket to support TLS 1.3
%x(patch Pods/SocketRocket/SocketRocket/SRSecurityPolicy.m -N < patches/ws-tls13.diff)
end

View File

@@ -2209,6 +2209,6 @@ SPEC CHECKSUMS:
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
Yoga: 1dd9dabb9df8fe08f12cd522eae04a2da0e252eb
PODFILE CHECKSUM: 8a3e5d019861b37d4159f2d178cc534be3ac528c
PODFILE CHECKSUM: 4f6abcf3cec0d9e8e1d5f5d81a35d99adde9ae45
COCOAPODS: 1.16.2

15
ios/patches/ws-tls13.diff Normal file
View File

@@ -0,0 +1,15 @@
diff --git a/SocketRocket/SRSecurityPolicy.m b/SocketRocket/SRSecurityPolicy.m
index 3759d26e..271477e8 100644
--- a/SocketRocket/SRSecurityPolicy.m
+++ b/SocketRocket/SRSecurityPolicy.m
@@ -56,8 +56,8 @@ - (instancetype)init
- (void)updateSecurityOptionsInStream:(NSStream *)stream
{
- // Enforce TLS 1.2
- [stream setProperty:(__bridge id)CFSTR("kCFStreamSocketSecurityLevelTLSv1_2") forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
+ // Enforce TLS >= 1.2
+ [stream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
// Validate certificate chain for this stream if enabled.
NSDictionary<NSString *, id> *sslOptions = @{ (__bridge NSString *)kCFStreamSSLValidatesCertificateChain : @(self.certificateChainValidationEnabled) };