Чтение онлайн

на главную - закладки

Жанры

iOS. Приемы программирования

Нахавандипур Вандад

Шрифт:

3. В области Category (Категория) слева выберите My Certificates (Мои сертификаты).

4. Найдите ваш сертификат для идентификатора типа талона в правой части экрана и щелкните на нем правой кнопкой мыши.

5. Теперь выберите функцию Export (Экспортировать) (рис. 19.14) и завершите экспорт вашего файла на диск в виде файла. p12. Не сохраняйте сертификат в каталоге pass. Сертификат должен находиться вне этого каталога.

Рис. 19.14.

Экспорт сертификата идентификатора типа талона из программы Keychain Access

6. После того как вы попытаетесь экспортировать свой сертификат, система запросит у вас два пароля: пароль, который требуется задать для сертификата, и пароль вашей учетной записи пользователя в OS X — это должен быть пользователь, владеющий доступом к связке ключей. Первый пароль, сопровождающий сертификат, гарантирует, что без этого пароля сертификат нельзя будет импортировать на произвольную машину. Второй пароль удостоверяет, что человек, импортирующий сертификат из связки ключей, действительно имеет на это право. Например, если вы отойдете от компьютера, оставив его незаблокированным, а ваш приятель попытается экспортировать сертификат из вашей связки ключей, для этого ему придется указать пароль вашей учетной записи. В любом случае рекомендуется гарантировать, что у разных учетных записей в одной системе разные пароли. Например, если вы с братом работаете на одном и том же Mac, то ваш пароль должен быть уникальным именно для вашей учетной записи. Если пароль у вас будет одинаковым, это поставит под сомнение всю систему безопасности вашего компьютера.

Убедитесь, что не сохраняете сертификат в каталоге pass. Нельзя рассылать сертификат вместе с талоном.

Итак, вы экспортировали сертификат. У вас должен был получиться файл, который, возможно, называется Certificates.p12. Теперь нужно разделить этот файл на сертификат как таковой и закрытый ключ. Однако если вы подписываете талон с помощью OpenSSL, то вам приходится передавать сертификат и закрытый ключ по отдельности. Чтобы получить из файла Certificates.p12 закрытый ключ и сертификат (этот файл мы только что экспортировали из программы Keychain Access), выполните следующее.

1. Откройте окно терминала, если еще не сделали этого.

2. Перейдите в каталог, в котором вы сохранили экспортированный сертификат (файл. p12).

3. Чтобы получить сертификат, введите в окне терминала следующую команду:

openssl pkcs12 — in «Certificates.p12» — clcerts — nokeys \

— out «exported-certificate»

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

4. Чтобы получить закрытый ключ из сертификата, экспортированного из связки ключей, выполните в окне терминала следующую команду:

openssl pkcs12 — in «NAME OF YOUR.P12 CERTIFICATE FILE» \

— nocerts — out «NAME OF THE OUTPUT KEY»

Я назвал экспортированный закрытый ключ exported-key, но вы можете назвать его и иначе, если желаете:

openssl pkcs12 — in «Certificates.p12» — nocerts — out «exported-key»

От

вас вновь потребуется ввести пароли для ключа. Для моего ключа я указал пароль 1234, чтобы его можно было легко запомнить. Такой же пароль я задал для сертификата. Но если вы работаете в организации, где безопасности уделяется должное внимание, такой пароль вам, разумеется, не подойдет. Выберите пароль, который кажется вам осмысленным. Для максимальной защиты необходимо гарантировать, что все пароли для экспортируемых вами сертификатов/ключей являются уникальными.

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

1. Если вы еще не сделали этого, поместите все файлы, относящиеся к талону (pass.json, manifest.json и все соответствующие изображения), в каталог pass. Вы можете назвать этот каталог как хотите, но в рамках этого раздела рекомендую давать создаваемым каталогам такие же названия, какие даю я. Так нам будет проще ориентироваться, в каком каталоге мы находимся и что делаем в окне терминала.

2. Воспользуйтесь командой cd, чтобы перейти из текущего рабочего каталога в каталог pass, где находятся все интересующие нас файлы талона.

3. Выполните команду rm — f.DS_Store, чтобы убедиться, что в каталоге pass отсутствуют ненужные скрытые системные файлы OS X. Вы также должны проверить, перечислены ли все файлы из этого каталога в файле manifest.json, где наряду с самими файлами должны находиться и их SHA1-хеши. Если в этот каталог просочатся какие-то другие файлы (как перечисленные в файле описания, так и не указанные там), то талон получится недействительным. Его не удастся прочитать в приложении Passbook ни на устройстве с iOS, ни на симуляторе.

4. Выполните в окне терминала следующую команду, чтобы сгенерировать в каталоге pass файл signature:

openssl smime — binary — sign — signer «PATH TO YOUR EXPORTED CERTIFICATE» \

— inkey «PATH TO YOUR EXPORTED PRIVATE KEY» — in manifest.json \

— out signature — outform DER

Эта команда должна выполняться в каталоге pass, где находятся все ваши ресурсы, связанные с талоном. Экспортированный сертификат и закрытый ключ — это тот сертификат и тот ключ, которые были извлечены из сертификата, экспортированного из связки ключей. Не указывайте в этой команде сертификат в том виде, в каком он был экспортирован из связки ключей. Ранее мы уже рассмотрели, как извлекать реальный сертификат и закрытый ключ из файла. p12, экспортированного из связки ключей. Можете перечитать этот фрагмент раздела, чтобы проверить, все ли вы делаете правильно.

На последнем этапе система запросит у вас пароль к закрытому ключу. Помните его? Вы задавали этот пароль, когда извлекали закрытый ключ из сертификата, экспортированного из связки ключей. Теперь эта команда создаст файл signature в каталоге pass. Почти все готово. Остается заархивировать подготовленный каталог в виде файла с расширением. pkpass. Для этого выполните следующие шаги.

1. Откройте окно терминала и с помощью команды cd перейдите в каталог pass.

2. Чтобы запаковать ваш каталог pass в файл pass.pkpass, выполните в текущем каталоге следующую команду:

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит