Привет, новый для ios 7 и php . Ив пытался сделать это PHP-PKPass Class для работы с ios 7 он отлично работает с моим браузером Safari. Я могу визуализировать билет, когда я пытаюсь загрузить пакет, чтобы добавить его в сафари на моей сберегательной книжке, говорит мне: «Не могу скачать файл» это ссылка, где у нее есть sample running with my certificates Я посмотрел в телефонных журналах говорится:PHP-PKPass Не работает с iOS 7, добавьте дату и время, в которые был подписан протокол, используя атрибут S-MIME-времени подписания в PHP
Предоставленный passTypeIdentifier или teamIdentifier может не соответствовать вашему сертификату или цепочка доверия сертификатов не может быть проверена.
все мои сертификаты работают нормально, json прав, так как я могу визуализировать его на своем Mac, исследование, которое Ive сделало до сих пор, указывает на пакет, который должен быть подписан с датой сервера, не выполняемой в ios 6, но принудительно в ios 7
Кто-нибудь может помочь с добавлением даты и времени, в течение которого пропуск был подписан с использованием атрибута S/MIME-подписи через php для текущего класса php?
protected function createSignature($manifest) {
$paths = $this->paths();
file_put_contents($paths['manifest'], $manifest);
$pkcs12 = file_get_contents($this->certPath);
$certs = array();
if(openssl_pkcs12_read($pkcs12, $certs, $this->certPass) == true) {
$certdata = openssl_x509_read($certs['cert']);
$privkey = openssl_pkey_get_private($certs['pkey'], $this->certPass);
if(!empty($this->WWDRcertPath)){
if(!file_exists($this->WWDRcertPath)){
$this->sError = 'WWDR Intermediate Certificate does not exist';
return false;
}
openssl_pkcs7_sign($paths['manifest'], $paths['signature'], $certdata, $privkey, array(), PKCS7_BINARY | PKCS7_DETACHED, $this->WWDRcertPath);
}else{
openssl_pkcs7_sign($paths['manifest'], $paths['signature'], $certdata, $privkey, array(), PKCS7_BINARY | PKCS7_DETACHED);
}
$signature = file_get_contents($paths['signature']);
$signature = $this->convertPEMtoDER($signature);
file_put_contents($paths['signature'], $signature);
return true;
} else {
$this->sError = 'Could not read the certificate';
return false;
}
}
im все еще получаю ту же ошибку, похоже, что яблоко изменило что-то, я попробовал новую библиотеку passkit http://cdn.simon.waldherr.eu/projects/passkit.php ту же ошибку "Can not скачать файл " – user3008885
Что говорят консольные журналы устройства (включите ведение журнала Passbook из меню разработчика на устройстве и монитора в Xcode). Если вы не видите журналы устройств, можете ли вы разместить ссылку на свой пакет .pkpass, и я могу взглянуть на это. – PassKit
образец работает с моими сертификатами http://www.rivertechservices.com/passbookpass/index.php – user3008885