2013-02-22 98 views
4

好的,看看this diagramiOS MDM配置文件簽名,使用哪個證書?

有兩個小盒子,這意味着一個給定的輪廓應該如何進行簽名。

在階段2的第1步中,它表示「Apple頒發的證書」,但它並沒有說哪個蘋果頒發了證書(他們頒發了多個證書)。我嘗試了我的開發人員證書和MDM(APNS)證書。這不是其中之一。有什麼我需要的第三個神奇證書(以及我如何得到它)?

在階段3,第2步,它說:「身份證書」,但同樣是在細節上有點粗略。我知道的唯一身份證書是使用設備的私鑰在設備上安裝的,服務器應該如何使用它來簽署配置文件?

我已經得到這個工作的唯一辦法,就是創建自己的自簽名的證書,並預安裝在設備上。顯然,這不是一種優雅或特別安全的做事方式。

後續問題

我的服務器證書是由「DigiCert高保證EV根CA」頒佈的,名單上:http://support.apple.com/kb/ht5012,但簽約配置文件時,iOS 6的設備認爲「不可信」,但只是適用於SSL的SSL很好。 iOS 5設備雖然不錯。任何想法爲什麼?

我也不太瞭解加密位。從MDM文檔:「每個設備都必須具有唯一的客戶端身份證書,您可以將這些證書作爲PKCS#12容器或通過SCEP傳送。建議使用SCEP,因爲協議確保身份的私鑰只存在於設備。」

雖然我同意最終更安全的是隻有設備本身知道它的私鑰,但它有點問題,因爲2048位公鑰只能用於加密大約100個字節的數據,這對於即使是儘可能小的有效載荷

回答

7

容我過去相2和相3第一

在階段2,步驟1,iOS裝置將發送到由設備證書/密鑰簽署的服務器響應(每個設備預裝了證書/密鑰對於每個設備是不同的)。這些設備證書/密鑰由Apple頒發。

在服務器端,你應該使用蘋果根Cetificate驗證。

在第2階段,步驟1-3您的個人資料服務將發送SCEP請求。此SCEP請求包含讓設備知道應該與哪個SCEP服務器通信的信息。此SCEP服務器是您的服務器。因此,設備將與此SCEP服務器進行通話並向其請求新的身份證書。

在階段3,步驟2設備響應將與該身份證書的證書/密鑰簽名。現在您應該使用您的證書頒發機構根證書來驗證它。 (再次注意,階段2中的SCEP服務器是您的證書頒發機構的種類代理)

現在回答您的問題「MDM配置文件簽名,要使用哪個證書?「

MDM配置文件可以被加密和/或簽名。

如果你想對它進行加密,您可以使用與此設備相關的身份證明文件加密。因此,設備具有此標識的密鑰,所以它可以BTW解密。

如果你要簽名,你與你的服務器密鑰簽名。設備應安裝一個服務器證書,所以它可以驗證簽名。

。在這個問題上,有一兩件事,沒有顯示在這個圖表上,但通常是被要求的 - 第一步(在整個註冊之前)是通常安裝服務器證書(用於將來的配置文件簽名驗證)。如果您的服務器證書由知名CA(例如Verisign或類似的產品)頒發,則可能會跳過此步驟。

讓我知道,如果您有任何後續問題。我花了一段時間才瞭解整個OTA/MDM招生情況。

更新1

我不知道爲什麼iOS 6的對待你的證書不可信的簽名。我沒有使用由知名CA簽署的證書。

我只有一個猜測。可能是iOS 5和iOS 6之間他們改變了一些關鍵鏈。一般來說,每個應用程序都有自己的鑰匙鏈。而且所有的知名證書,我相信應該存儲在Mobile Safari鑰匙串中。可能是因爲MDM/Preferences在iOS 6中與MobileSafari共享此鑰匙串,現在他們不共享它。 在這種情況下,您必須通過配置文件(將其放置在正確的鑰匙串中)安裝此「DigiCert高保證EV根CA」。然而,這是瘋狂的猜測。

關於加密。首先,你是對的,如果每個設備都有自己的私鑰,它就更安全。在這種情況下,如果有人竊取個人資料,他們將無法解密(因爲只有一個設備有私鑰才能這樣做)。如果您發送的是敏感的個人資料(例如,包含用戶名和密碼的電子郵件帳戶),這尤其關鍵。

非常高的水平引入到加密:

任意鍵(具有任何長度)可以加密任意長度的數據。所有的加密算法都是這樣設計的,您可以使用相同的密鑰來加密任意數量的數據。

非對稱加密算法(如RSA)很少用於將數據直接加密。在大多數情況下,該算法用於對對稱算法的密鑰(例如AES)進行加密,並且所有後續的加密/解密都使用AES完成。有兩個原因:性能(AES比RSA快)和資源(AES比RSA資源消耗少)。

因此,如果您需要加密使用PKCS7的配置文件,該文件在內部使用RSA,AES(或其他算法)。通常,你有一個庫來做到這一點(OpenSSL或BouncyCastle)。所以,你不必弄清楚所有這些複雜性。

順便說一句。如果您有任何不適合SO的問題,歡迎直接與我聯繫(我的個人資料中有我的聯繫信息)。

+0

謝謝你,我已將我的後續問題添加到原始問題中。 :) – 2013-02-25 07:30:38

+0

不客氣:)我更新了答案。 – 2013-02-25 16:59:49

+0

@VictorRonin,你能否看到這個問題,https://stackoverflow.com/q/44886700/3145189 – 2017-07-11 13:26:14