2011-09-05 54 views
6

Tôi đang viết Ứng dụng iOS. Máy chủ gửi khóa công khai RSA đến ứng dụng. Bây giờ ứng dụng phải mã hóa một số thông tin bằng thuật toán RSAMã hóa RSA bằng khóa công khai

Vui lòng cung cấp cho tôi một số tham chiếu. Cảm ơn

+1

Nhìn vào câu hỏi này về cách mã hóa với RSA: http://stackoverflow.com/questions/4211484/send-rsa-public-key-to-iphone-and -use-it-to-encrypt –

+0

Xem câu hỏi và câu trả lời này: http://stackoverflow.com/questions/28291609/encryption-with-rsa-public-key-on-ios/28291683#28291683 – ideawu

Trả lời

0

Tôi không biết nhiều về iOS nhưng Certificate, Key, and Trust Services Reference có vẻ là những gì bạn cần. Có vẻ như SecKeyEncrypt sẽ được bạn sử dụng tại một số thời điểm.

+2

có, Để sử dụng API, tôi cần SecKeyRef của RSA public ey, mà tôi có như NSSTring. Tôi không thể lấy được SecKeyRef. Tôi đang sử dụng iOS 4.2 – macdev30

+0

@ macdev30, tôi đang gặp khó khăn với cùng một vấn đề: mã hóa bằng khóa công khai RSSS NSString. Bạn đã quản lý để giải quyết điều này? – juanignaciosl

4

iOS không có API đặc biệt cho RSA, nhưng có một số API về Chứng chỉ. Bạn có thể sử dụng các API này để mã hóa dữ liệu của mình bằng RSA.

Trước tiên, bạn phải sử dụng openssl để tạo khóa cá nhân và khóa công khai RSA của bạn. Điều quan trọng nhất là khóa công khai phải được ký. Đây là một hướng dẫn để tạo ra các phím.

openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650 

Tuy nhiên, nếu bạn đã có một khóa riêng (file .pem), bạn có thể làm theo hướng dẫn:

openssl req -new -out cert.csr -key private_key.pem 
openssl x509 -req -in cert.csr -out public_key.der -outform der -signkey private_key.pem -days 3650 

Bạn có thể kiểm tra public_key.der bằng cách mở nó trong xcode.

Khi bạn nhận được tệp public_key.der chính xác, bạn có thể xem RSA.h và RSA.m here. Tôi xin lỗi vì tôi không có thời gian để viết lại bài đăng này bằng tiếng Anh.

+1

Hoàn hảo, cảm ơn bạn! Bạn có mã mở để truy xuất thông tin được mã hóa bằng các khóa đó không? – xlarsx

+0

Xin chào, bạn đã nói để tạo khóa với chứng chỉ, nhưng tôi có khóa công khai do nhà phát triển JAVA cung cấp, vì vậy tôi muốn giải mã thư bằng khóa đó ... vậy làm cách nào tôi có thể làm điều đó? – Apple

+0

Tôi cho rằng khóa của bạn là một chuỗi. Rất tiếc, tôi không biết cách chuyển đổi khóa chuỗi thành tệp. – zsxwing

Các vấn đề liên quan