Tôi đang viết một ứng dụng sử dụng chức năng SSL của NSStream trên iphone. Tôi biết rằng SSL đang hoạt động vì tôi có thể kết nối trực tiếp máy chủ bằng SSL.
Tôi đã gặp phải sự cố trong đó các giao thức sử dụng starttls yêu cầu tôi giao tiếp trên ổ cắm không an toàn, hãy gửi lệnh starttls và sau đó sử dụng lại cùng một socket cho SSL. Theo như tôi biết kết nối nsstream không thể được tái sử dụng và tôi không thể bắt đầu SSL trên chúng sau khi tôi đã mở kết nối.SSL NSStream trên ổ cắm đã sử dụng
Tôi đã nghĩ đến việc tạo ổ cắm của riêng mình, giao tiếp theo cách thủ công và sau đó thiết lập NSstream bằng ổ cắm hiện có và khởi động SSL theo cách đó. Tuy nhiên, nó xuất hiện các giao tiếp trên socket đặt nó trong một trạng thái mà tôi không thể bắt đầu SSL trên đó. Bất kỳ nỗ lực nào để sử dụng socket cho kết quả nsstream đều bị lỗi.
Mọi suy nghĩ?
Các bạn đã thử gọi setProperty: forKey: với các hằng số bảo mật thích hợp trên một NSSocket đã mở? Tôi tin rằng mã SecureTransport bên dưới hỗ trợ chuyển đổi sang TLS/SSL từ một kết nối ban đầu không được mã hóa. –
Vì vậy, tôi đã tìm ra điều này. Bạn nên sử dụng CFsockets và không NSsockets và sau đó áp dụng SSL SAU kết nối ngay cả khi tài liệu nói rằng bạn không thể làm điều đó, nó sẽ chính xác thương lượng một kết nối an toàn. – anurodhp
không có điều gì giống như "NSsockets" – user102008