Skip to content

Commit da9b2e5

Browse files
committed
fix(ios) patch SocketRocket to support WebSocket with TLS 1.3
Upstream PR: facebookincubator/SocketRocket#701
1 parent 06c571c commit da9b2e5

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

ios/Podfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,7 @@ post_install do |installer|
9797
config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
9898
end
9999
end
100+
101+
# Patch SocketRocket to support TLS 1.3
102+
%x(patch Pods/SocketRocket/SocketRocket/SRSecurityPolicy.m -N < patches/ws-tls13.diff)
100103
end

ios/Podfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2209,6 +2209,6 @@ SPEC CHECKSUMS:
22092209
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
22102210
Yoga: 1dd9dabb9df8fe08f12cd522eae04a2da0e252eb
22112211

2212-
PODFILE CHECKSUM: 8a3e5d019861b37d4159f2d178cc534be3ac528c
2212+
PODFILE CHECKSUM: 4f6abcf3cec0d9e8e1d5f5d81a35d99adde9ae45
22132213

22142214
COCOAPODS: 1.16.2

ios/patches/ws-tls13.diff

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
diff --git a/SocketRocket/SRSecurityPolicy.m b/SocketRocket/SRSecurityPolicy.m
2+
index 3759d26e..271477e8 100644
3+
--- a/SocketRocket/SRSecurityPolicy.m
4+
+++ b/SocketRocket/SRSecurityPolicy.m
5+
@@ -56,8 +56,8 @@ - (instancetype)init
6+
7+
- (void)updateSecurityOptionsInStream:(NSStream *)stream
8+
{
9+
- // Enforce TLS 1.2
10+
- [stream setProperty:(__bridge id)CFSTR("kCFStreamSocketSecurityLevelTLSv1_2") forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
11+
+ // Enforce TLS >= 1.2
12+
+ [stream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
13+
14+
// Validate certificate chain for this stream if enabled.
15+
NSDictionary<NSString *, id> *sslOptions = @{ (__bridge NSString *)kCFStreamSSLValidatesCertificateChain : @(self.certificateChainValidationEnabled) };

0 commit comments

Comments
 (0)