LG.BALUKATION's Weblog

Ничего, это тоже кое-что… А при желании из него можно сделать что угодно

Экспорт приватного ключа разработчика из MacOS X в Marmalade SDK

Posted by LG.BALUKATION на 2012/06/04

Пятиминутка разработничества в моём бложике…

Как известно, для разработки под iOS (iPhone/iPad) считается обязательным наличие мака и крайне желательным знание «фирменного» языка программирования. Это конечно хорошие мысли, но такие перспективы устраивают не всех и тут да там мелькают всякие способы обхода этих ограничений.

Одно из решений представляет собой Marmalade SDK (бывший AirPlay SDK). Там можно пейсать на сях/плюсах, собирать код для x86/arm/mips и линковать его в приложения под множество мобильных и не очень ОСей (iOS тоже можно). То есть, даже в Windows можно собрать плюсовое приложение для айфона, не набрав ни строчки кода на Obj-C и оно даже будет работать… если его правильно подписать.

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

Казалось бы, порегать в конторе двух разработчиком (для мака и венды, если нужно пользовать обе системы), сделать для них по ключу и можно жить, однако есть способ всёж вытащить ключики в заветном формате из уже имеющихся в системе.

Сертификат разработчика вместе с приватным клюм можно экспортировать в *.cer или *.p12. Оба эти формата можно импортировать в венду и дже экспортировать из неё обратно, но тоже только в таких форматах. Первый вариант всегда можно скачать с сайта разработчиков, так что нам интересен второй — из него предстоит выдрать приватный ключ, причём что бы он был в простом текстовом формате (мармелад умеет работать только с такими). Оказывается, старый-добрый OpenSSL умеет потрошить *.p12 на ключ и сертификат. Это можно сделать прямо на маке, мне же было лениво опять перезагружаться и хотелось скорее попробовать — так что я пользовал openssl.exe из поставки git.

Казалось бы, можно просто извлечь приватный ключ командой вроде
openssl pkcs12 -in нечто_экспортированное.p12 -nocerts -out приватный_ключ.key

но openssl решит зашифровать ключ паролем, а мармелад не умеет спрашивать пароль — он хочет самый простой незашифрованный ключ открытым текстом. Так что ещё применим
openssl rsa -in приватный_ключ.key -out расшифрованный.key

и вот последнее уже можно скармливать мармеладу.

Всё остальное можно слить с сайта разработчиков подобно тому, как это качается для мака.

PS:
ссылки с подробностями (на англицком)
http://www.madewithmarmalade.com/devnet/forum/6181
http://sycure.wordpress.com/2008/05/15/tips-using-openssl-to-extract-private-key-pem-file-from-pfx-personal-information-exchange/

Advertisements

Один ответ to “Экспорт приватного ключа разработчика из MacOS X в Marmalade SDK”

  1. […] похожем посте я описал лишь один вариант одновременной работы на MacOS […]

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s