Проблема с подключением уведомлений apple push - ошибка несоответствия значения ключа для проверки сообщения закрытого ключа

Я пытаюсь проверить push-уведомления для своего приложения, но не могу подключиться к изолированной программной среде apple с моим сертификатом и закрытым ключом. Я следую этот учебник.

Я установил новый сертификат и идентификатор приложения для учебника, установил закрытый ключ и сгенерировал файлы .pem для сертификата и закрытого ключа:

openssl x509 -in aps_developer_identity.cer -inform der -out PushTestCert.pem
openssl pkcs12 -nocerts -out PushTestKey.pem -in PushTestKey.p12 

Для закрытого ключа он просит меня ввести оригинальный пароль как ключ, так и новый. Я использовал один и тот же пароль.

Затем я тестирую соединение с apple и запрашиваю мой пароль, и я ввожу новый пароль для ключевого файла .pem, который совпадает с старым паролем:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushTestCert.pem -key PushTestKey.pem
Enter pass phrase for PushTestKey.pem:
error setting private key
59244:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:/SourceCache/OpenSSL098/OpenSSL098-35.1/src/crypto/x509/x509_cmp.c:406:

Есть ли что-то, что мне не хватает? На портале инициализации iOS мой идентификатор приложения говорит, что он включен для разработки (push). Я попробовал повторно загрузить сертификат openssl, без сигары.

Ответ 1

I reset мой логин-логин и начался с нуля на портале инициализации ios. Я думаю, что у меня был дополнительный ключ, который мешал.

Ответ 2

Просто для того, чтобы следить, причина, по которой это происходит, заключается в том, что вы не использовали новый открытый ключ для создания сертификата push-уведомления для вашего приложения на developer.apple.com. Таким образом, он не может соответствовать, потому что ваш закрытый ключ не соответствует открытому ключу, используемому для создания сертификата push push

Ответ 3

Нужно ли шифрование с секретным ключом? Если нет, попробуйте удалить шифрование, например: openssl rsa -в PushTestKey.pem -out PushTestKey.unencrypted.pem