為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2018-07 文章編輯:小燈 瀏覽次數(shù):2643
MDM - Moblie Device Management
介紹MDM的文章:
https://www.jianshu.com/p/6112050ea31a
MDM是服務(wù)于企業(yè)級(jí)應(yīng)用的一種模式。
MDM可以突破許多App Store應(yīng)用的束縛。
目前我實(shí)踐的有獲取UDID。
還有一個(gè)功能會(huì)吸引一些人:靜默更新(無提示的強(qiáng)制更新)。這個(gè)功能我沒有進(jìn)行過實(shí)驗(yàn)和驗(yàn)證,是從幾個(gè)方面有提示和比較可信的推論。有興趣的可以進(jìn)一步研究。
關(guān)于如何獲取手機(jī)的UDID。目前可行的方法是通過安裝描述文件來獲取到設(shè)備的真實(shí)UDID。
網(wǎng)上已經(jīng)有許多相關(guān)的文章,大多數(shù)轉(zhuǎn)載自這一篇:
http://www.skyfox.org/safari-ios-device-udid.html
這個(gè)是關(guān)于證書【eizih
http://www.rootmanager.com/iphone-ota-configuration/iphone-ota-setup-with-signed-mobileconfig.html
本文僅介紹iOS方面的技術(shù)點(diǎn),這篇文章有關(guān)于證書上傳服務(wù)器的內(nèi)容。了解原理可以看看。想拿現(xiàn)成就用下面舉例的內(nèi)容,記得兩點(diǎn)就行:1、更改自定義的內(nèi)容;2、文件的格式為.mobileconfig
描述文件舉例:
<!--參考:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/ConfigurationProfileExamples/ConfigurationProfileExamples.html--> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> <dict> <key>URL</key> <string>你接受數(shù)據(jù)的URL</string> <!--接收數(shù)據(jù)的接口地址--> <key>DeviceAttributes</key> <array> <string>UDID</string> <string>IMEI</string> <string>ICCID</string> <string>VERSION</string> <string>PRODUCT</string> </array> </dict> <key>PayloadOrganization</key> <string>安裝顯示的組織者</string><!--組織名稱--> <key>PayloadDisplayName</key> <string>安裝顯示標(biāo)題</string><!--安裝時(shí)顯示的標(biāo)題--> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>十六進(jìn)制,格式為:8-4-4-4-12</string><!--自己隨機(jī)填寫的唯一字符串--> <key>PayloadIdentifier</key> <string>你的標(biāo)識(shí)符</string> <key>PayloadDescription</key> <string>安裝顯示內(nèi)容</string> <!--描述--> <key>PayloadType</key> <string>Profile Service</string> </dict> </plist>
關(guān)于獲取UDID的配置文件有上述的格式。
URL
是把UDID發(fā)送給服務(wù)器的接口
array
里面的信息是獲取的設(shè)備信息
PayloadOrganization
是組織者標(biāo)識(shí)
PayloadDisplayName
是顯示的標(biāo)題
PayloadDescription
是顯示的描述
關(guān)于證書的簽名有兩種方式:使用SSL證書來進(jìn)行簽名;使用描述文件來進(jìn)行簽名
我在處理的過程中使用的是SSL證書來進(jìn)行簽名。
最好準(zhǔn)備有如下六個(gè)文件:
ca.crt
額,根證書
ssl.crt
公鑰
ssl.pem
公鑰的一種格式,還是公鑰
ssl.key
私鑰
unsign.mobileconfig
未簽名配置文件
sign.mobileconfig
已簽名配置文件(占位作用,實(shí)際是未簽名文件拷貝的)
注意的是SSL證書的頒發(fā)機(jī)構(gòu)要和CA證書是同一家。
簡單介紹一下ssl.crt
和ssl.pem
。ssl.crt
和ssl.pem
是可以互相導(dǎo)出的。
這兩個(gè)文件內(nèi)容是一樣的。區(qū)別在于格式。這個(gè)文件其實(shí)是ssl證書的私鑰。pem是一種格式。一般情況下默認(rèn)是這種格式。
我在使用中用了兩家公司的。一個(gè)是symantec
GeoTrust
。其實(shí)不論哪一家,都是可以獲取到的,網(wǎng)上有很多方法,現(xiàn)在介紹一種簡單粗暴的。
Chrome中,訪問官網(wǎng),然后通過點(diǎn)擊瀏覽器輸入框的https:/****
前的鎖。來找到證書。拖動(dòng)詳情里的證書可以保存在電腦。(我改機(jī)構(gòu)后使用的證書是和知乎的一樣是RSA,GeoTrust官網(wǎng)的是SHA2。這個(gè)狀態(tài)是補(bǔ)這篇博客的時(shí)候測(cè)試的)
.pem
來保證后續(xù)處理。 ssl文件需要服務(wù)器的同事去請(qǐng)求。
文件準(zhǔn)備全之后。打開終端,進(jìn)入到存放這些證書的文件夾。執(zhí)行如下的命令
openssl smime -sign -in sign.mobileconfig -out sign.mobileconfig -signer ssl.crt -inkey ssl.key -certfile ca.crt -outform der -nodetach
上面的crt文件
都可以改為pem文件
.
簽名后的證書在安裝的時(shí)候是綠色。未簽名的證書是紅色。
簽名的證書如果過期之后,瀏覽器可能顯示出證書內(nèi)容,是亂碼。
未簽名證書也有可能被瀏覽器展示出來,是明文。