Подтвердить что ты не робот

Цифровой знак PDF документ в iOS

Недавно мне был назначен проект iOS, где мне нужно подписать документ в формате PDF с помощью ключа, который приложение будет загружать с сервера. У меня пока нет четкого представления о процессе, связанном с подписанием документов, что до сих пор я знаю, что я буду подписывать свой pdf файл, используя предоставленный мне файл закрытого ключа, а затем проверка будет выполнена с использованием открытого ключа версию того же файла.

Я видел, что цифровой знак может быть достигнут с помощью таких библиотек, как iText для Java или iTextSharp для С#. Вот почему я хотел бы знать, есть ли что-то подобное для iOS?. И если нет, каков был бы процесс достижения этого с помощью кварцевых способностей для управления pdf-документами? Любая идея была бы отличной отправной точкой. Большое спасибо.


Ну... Я проверял документы яблока, и я нашел это:

http://developer.apple.com/library/ios/#DOCUMENTATION/Security/Reference/certifkeytrustservices/Reference/reference.html

Я думаю, что это подстегнуто для поддержки формата X.509... который я мог бы использовать для подписи pdf в качестве экземпляра os CFData, который я предполагаю. Кроме того, я проверял пример кода CryptoExercise, но я не уверен на 100%, если это то, что я ищу.

Другие предложения сказали мне проверить документацию Adobe, но еще не обнаружили, что C api подписывает документы, используя сертификаты.

Если кто-то использовал сервисы сертификатов, предоставляемые apple... было бы здорово предложить любое предложение или несколько примеров кода для понимания процесса. Большое спасибо.

4b9b3361

Ответ 1

Пабло,

Подписание документов в формате PDF является сложной задачей (моя компания делает это в мире Windows в Паскале).

В общем, могу вам сказать, что вы, вероятно, не найдете полезный исходный код, который вы можете просто включить в свой проект. Чтобы увидеть, как это делается, источник iText является хорошей отправной точкой, потому что все там.

В objective-c вы находитесь на правильном пути. Использование сертификатов X.509 с такими функциями, как SecKeyRawSign, является правильным способом (поскольку фактические данные прописных букв являются старыми, вам необходимо создать например, SHA256. Вы можете видеть здесь, как это делается: В чем разница между различными типами дополнений в iOS?). "DataToSign" - это не что иное, как хеш содержимого PDF (например, SHA256), который вы хотите подписать.

Чтобы узнать, какую часть источника PDF вы должны подписать точно, вы должны проверить документацию Adobe Adobe PDF 1.6 или выполнить некоторые поисковые запросы в группах, говорящих об этом. Не имеет значения, на каком языке вы собираетесь подписывать PDF.

В конце вы добавите подпись и некоторую информацию о подписи в предопределенную часть документа PDF (обратите внимание, чтобы не нарушить действительный хеш, выполнив это;)), и его можно было увидеть и проверить с помощью любого другое программное обеспечение для подписи/проверки PDF.

Мне жаль, что я не могу предоставить вам соответствующий код, но вы найдете достаточно образцов вокруг сертификатов X.509 - например. создавая соединение SSL/SSH. И если вы ищете SecKeyRawSign, вы даже найдете несколько образцов для подписи (по крайней мере, с другими шаблонами). Это все, что вам нужно, если вы найдете синтаксис PDF для того, чтобы взять часть контента для подписания и вставить подпись в окончательный PDF.

Надеюсь, это помогло вам.

Джимми