2013-02-28 41 views
1

目前,我有一個應用程序發佈在appStore中,我不知道爲什麼推送通知不起作用。事情是錯的.p12文件在我的服務器,因爲當我的服務器嘗試生成一推,將其發送給蘋果環境,我可以在我的日誌中看到的下一個錯誤:我已經失去了生成.p12的認證,我如何生成一個新的?

02-27 11:42:11,868 [IOSPushNotificationSender] ERROR javapns.notification.PushNotificationManager - Delivery error: javapns.communication.exceptions.InvalidCertificateChainException: Invalid certificate chain (Received fatal alert: certificate_unknown)!  Verify that the keystore you provided was produced according to specs...

2013-02-27 11:42:11,874 [IOSPushNotificationSender] ERROR camMan.server.mobile.ApplePNSSender - javapns.communication.exceptions.InvalidCertificateChainException: Invalid certificate chain (Received fatal alert: certificate_unknown)!  Verify that the keystore you provided was produced according to specs...

好吧,我試着生成一個新的.p12文件,但我不記得確切哪個是原始證書(.cer)。

我嘗試從配置文件下載(.cer),但是當我用鑰匙串訪問打開它時,此證書沒有任何私鑰。

所以,我迷路了,我不知道該怎麼辦......我可以生成一個新的.p12文件,而無需修改任何認證或任何在我的應用程序?我不想在AppStore上傳我的應用程序的新版本...我只需要知道如何生成或下載或無論如何設置新的有效.p12文件並再次發送推送通知。

而且我已經檢查了所有的在配置門戶,一切設置中啓用,主動與其他人一樣的應用程序,我有......所以我認爲唯一的問題是中.P12

而且我仍然有同樣的第12頁的關鍵/ paswoord ...只有我失去了CSR(.cer)。

+1

是從你下載證書的開發者帳戶是你的客戶的帳戶?或者這個證書不是從同一個mac生成的? – Dilip 2013-02-28 14:39:50

+0

您是a)使用開發證書還是b)將您的有效載荷發送到gateway.sandbox.push.apple.com而不是gateway.push.apple.com? – 2013-02-28 15:13:42

+0

的確如此,我在其他mac中工作......我剛剛從配置文件下載了一個production.cer證書,當我用鑰匙串訪問打開它時,確切地說!!!,CSR在那裏,還有私鑰哇!我剛剛生成.p12,但現在我無法測試它...我會讓你知道發生了什麼......謝謝 – 2013-02-28 15:29:20

回答

2

聽起來你的機器上缺少私鑰 - 它被刪除了,或者它屬於另一臺Mac。

在這兩種情況下,您都可以通過上傳新的CSR(由Mac上的Keychain Access應用程序創建)來簡單地撤消現有vert並創建一個新的。

+0

謝謝,正是,私鑰在其他計算機中。謝謝 – 2013-03-01 14:59:08

1

由於您在開發階段的推送通知可能熟悉將證書安裝到您的服務器的過程。

如果您丟失了舊文件,您可以隨時創建並安裝新的證書。

兩件事情,你必須保持你的眼睛:

發展階段:

您使用的發展推SSL證書

目標服務器是:gateway.sandbox.push.apple .COM

生產階段:

您使用的生產推送SSL證書

目標服務器是:gateway.push.apple.com

+1

我在iOS中沒有太多的經驗,但我一直在想,我不會在開發環境中獲得推送通知。我會看看...感謝這個提示。 – 2013-03-01 14:53:43

2

沒有私鑰,您的證書和配置文件是毫無價值的。在仔細重新閱讀有關該主題的Apple文檔後,將它們全部撤銷,全部刪除,重新生成新的證書和條款。您必須修改Xcode項目中的「生成」設置才能使用新設置,如果它沒有自動執行此操作。這不會影響已獲得批准的應用和App Store中的應用。

+0

謝謝,我沒有'需要生成一個新的證書,因爲問題是與私人密鑰(在其他計算機中)。但是,無論如何,這是非常重要的最後提到的東西......如果您應該撤銷併爲您的應用程序生成新證書並在Xcode配置(目標)中更改它,記住這一點非常重要當前應用/版本的應用不會受到影響。謝謝 – 2013-03-01 14:56:48

+0

但是,在這種情況下,你應該撤銷和重新生成,.p12文件將是一個新的和不同的,對嗎?因此,在這種情況下,如果您在服務器中更新新的.p12文件,那麼在appstore中批准的當前版本如何不受影響?當然是......對嗎? – 2013-03-01 14:58:28

+0

已經在App Store中的應用程序在修改應用程序包後,不會通過Apple的證書進行簽名。你可以通過從App Store下載你自己的應用程序來檢查。 – hotpaw2 2013-03-02 11:54:00

相關問題