2012-01-09 22 views
5

Đây là câu hỏi đầu tiên của tôi ở đây như trước khi tôi tìm thấy tất cả cách giải quyết từ một câu hỏi khác.Triển khai Diffie-Hellman cho iOS?

Câu hỏi rất ngắn: Có ai biết nếu có bất kỳ triển khai Diffie-Hellman nào cho iOS không? Ý tôi là ... ý tưởng là chia sẻ giữa 2 thiết bị (một là iOS và một dịch vụ web java khác) một khóa bí mật, và tôi nghĩ ý tưởng tốt nhất nên là phương pháp đó.

Nếu không, bất kỳ ai cũng có thể đề xuất cho tôi một tùy chọn khác không?

Tôi không phải là nhà phát triển nâng cao, đó là lý do tại sao tôi đang cố gắng kiểm tra khung cho việc này.

Cảm ơn mọi người trước!

+0

Trong trường hợp bạn không biết, có những hạn chế về việc sử dụng mã hóa sẽ ảnh hưởng đến sự chấp thuận của ứng dụng khi bạn gửi App Store. Xem ví dụ http://stackoverflow.com/questions/2128927/using-ssl-in-an-iphone-app-export-compliance – Clafou

Trả lời

1

Google cung cấp nhanh;

http://www.chilkatsoft.com/dh-objc.asp

Bạn nên thực sự nhìn vào chỉ sử dụng SSL nhưng thay vì phát minh ra giao thức bảo mật của riêng bạn.

+0

vâng tôi quên đề cập đến tôi thấy rằng thực hiện chilkat. Vấn đề là nó xuất hiện gần như trong mọi kết quả google và nó không miễn phí. – user1138682

+1

Miễn phí không phải là một yêu cầu trong câu hỏi :) Tuy nhiên, phát minh ra giao thức bảo mật của riêng bạn khi SSL có sẵn âm thanh tinh ranh. Có bất kỳ yêu cầu đặc biệt nào không bao gồm SSL không? –

+0

không hề, tôi chỉ là người mới trong phát triển bảo mật. Tôi đọc rằng với SSL tôi cho phép tạo kết nối an toàn (mà tôi nghĩ ASIHTTPRequest sẽ mang lại cho bạn sự yên tĩnh dễ dàng này) nhưng nó không cung cấp cho tôi một phương pháp mã hóa thứ gì đó và giải mã nó từ phía bên phải không? – user1138682

0

Bạn có thể bao gồm openssl làm thư viện tĩnh trong dự án ứng dụng của mình và sử dụng các chức năng Diffie-Hellman. Tuy nhiên, như Joachim đã nói đúng, nếu bạn đang giao tiếp với một dịch vụ web, cách tiếp cận dễ nhất và tốt nhất là sử dụng SSL.

0

Có triển khai Diffie-Hellman cho iOS trong github. Bạn có thể sử dụng nó. https://github.com/benjholla/Diffie-Hellman-iOS Ngoài ra, bạn có thể sử dụng openssl với ios. Xem xét openssl là một thư viện đã được chứng minh, tốt hơn là sử dụng openssl cho mục đích này.

2

Apple đã triển khai Diffie-Hellman trong iOS như một phần của Secure Transport. Đây là Secure Transport Reference

Tôi đăng câu trả lời này lên một câu hỏi rất cũ vì câu hỏi vẫn còn phù hợp và các câu hỏi khác có thể liên kết với câu hỏi này. Cải thiện tính đầy đủ của câu hỏi này có thể giúp trả lời các câu hỏi mới hơn.