2015-08-28 10 views
2

Неужели кому-нибудь удалось реализовать эту часть? Apple выпустила некоторый ссылочный код вместе с FairPlay SDK (предварительный просмотр), но есть довольно немного отсутствующих бит. Есть ли руководства/учебные пособия, которые помогут/помогут реализовать?Реализация ключевого сервера Apple FairPlay

+0

Вам удалось заставить его работать? Я удивлен, что всего лишь несколько записей о реализации Apple FairPlay и KSM (Key Server Module). Я был бы рад, если бы вы могли мне помочь. Благодарю. –

+0

Тот же вопрос - смогли ли вы его реализовать? –

ответ

4

Самой неприятной частью ссылки является то, что ей не хватает секретного ключа, который, по их словам, просто помещается в некоторый массив. ПРОБЛЕМА: ключ находится в файле pem и имеет текстовое представление. После небольшого тестирования я смог преодолеть это. Я взял соответствующий файл .pem, который начинается с строки «----- BEGIN RSA PRIVATE KEY -----», а затем закодированный ключ base64 и заканчивается «----- END RSA PRIVATE KEY - --- ", поэтому я просто взял все данные (включая строки открытия и закрытия) и преобразовал их в представление байтов. Я использовал следующий код питона file = open("dev_private_key.pem", "r") a = file.read() b = new bytearray(a) for ch in b: sys.stdout.write(str(ch)+",") Тогда я взял этот вывод и просто вставить его в нужную строку в SKDServerUtils.c так это выглядит примерно так статического сопзЬ Uint8 pKeyPem [] = {45,45,45,45, 45 ....}

Скомпилировано все, и это хорошо работает для меня.

Надеюсь, это поможет людям в будущем, так как я не мог найти лучшей документации по этой конкретной части.

+0

Можете ли вы уточнить, как вы могли управлять реализацией. В SDK, предоставляемом apple, я могу видеть некоторые файлы .h и .c. Где размещать эти файлы? и как управлять клиентом, вызывающим модуль сервера ключей? – abhinavroy23

+1

Я запускаю его с помощью Linux-системы, я создал свой собственный make-файл и скомпилировал его как общую библиотеку, тогда вы можете использовать любую инфраструктуру для загрузки этой библиотеки. Метод, который вы должны вызывать, это «SKDServerGenCKC», заявленный в «SKDServer.h», обратите внимание, что в коде, который вы должны редактировать, есть несколько мест (они четко обозначены) –

 Смежные вопросы

  • Нет связанных вопросов^_^