Intel其實還滿早就公告關於上傳Windows 應用程式需要簽署憑證這檔事(詳情參考IADP網站部落格 : Application Signing to be introduced to the Intel AppUp developer program starting July 18th ),可以看的出來這在當地時間的6/4就已經公布了。我之所以一直沒有對於這件事情寫篇文章的原因一則是因為不曉得會不會臨時有變 (實際上後來有點小小變更,就是延到7/25才開始實施),二則是因為我必須有了親自實作的經驗才會瞭解詳細的狀況與技巧;因為如果在沒有實際經驗下直接就拿Intel的文件來翻譯一下湊湊文章數對大家實際上是沒多大幫助的,反而有點像三流的江湖郎中在街上賣膏藥騙錢。
Intel其實還滿早就公告關於上傳Windows 應用程式需要簽署憑證這檔事(詳情參考IADP網站部落格 : Application Signing to be introduced to the Intel AppUp developer program starting July 18th ),可以看的出來這在當地時間的6/4就已經公布了。我之所以一直沒有對於這件事情寫篇文章的原因一則是因為不曉得會不會臨時有變 (實際上後來有點小小變更,就是延到7/25才開始實施),二則是因為我必須有了親自實作的經驗才會瞭解詳細的狀況與技巧;因為如果在沒有實際經驗下直接就拿Intel的文件來翻譯一下湊湊文章數對大家實際上是沒多大幫助的,反而有點像三流的江湖郎中在街上賣膏藥騙錢。
這段時間小朱和我一直緊盯的關於這件事的消息,在IADP Forum上面也有諸多討論,第一個心頭大患是其實申請個一年份的程式簽署憑證並不便宜,Intel此時又順便展現了他們的決心,目前全部具有Program Member資格的開發者 (如果你還沒有帳號,快看我之前的IADP Member 帳號申請程序申請一個來用用)每個人送你一年免費的 COMODO 程式簽署憑證,所以要從自己口袋掏出小朋友的問題就獲得解決了。第二個是這個申請與簽署的程序我也沒試過,還不曉得前方有多少困難險阻需要克服,所以這一陣子就在忙著搞懂這整個程序。
在新版的 Validation Guidelines 2.2節中加入了以下那麼一段,說明了所有以Windows為目標平台的應用程式在上傳前必須將其經過憑證簽署與Intel 所認可的憑證發行單位。
App Signing:
All applications targeted for windows operating system must be signed by an accepted Certificate Authority:
- Verisign
- Thawte
- Globalsign
- Chosensecurity
- Comodo
- Go Daddy
- TrustCenter
終於在7/18,Intel官網發佈了開發者可以由My Dashboard上的新連結開始向 COMODO 申請憑證,當開發者進到自己的儀表板後可以看到畫面右邊有一個 Apply for code signing certificate 的超連結,點下這個超連結就可以進入申請程序,不過千萬別急著點,咱們還有一些準備工作要先完成。以下的程序是以個人名義申請憑證,如果是以公司申請憑證會有其它的相關需求 (依照我申請的經驗和相關討論看起來,如果要用公司名或商標名(Trading Name),組織名稱必須相同,而且用公司名還滿麻煩的樣子,要一個瞎米 Dun & Bradstreet company number )
事前準備
(1) 在開發者儀表板的Ptofile功能中,請將First Name與 Last Name欄位改為與你的護照或國際駕照上的相同。
(2) 請準備好護照或國際駕照 (擇一),並將其有資料的那一頁掃描成圖檔。
(3) 以個人名義申請的時候,COMODO 會要求至少有兩份文件是有申請人姓名以及地址的,列示如下 (在他的電子郵件中說明為三項選二):
(3-1) Copy of a recent phone bill of the certificate applicant:電話費帳單。 關於電話費帳單要特別說明的是因為他有一個附加條件是需要固定線路式電話,在憑證申請的最後一個步驟中COMODO的人員會打這個固定線路式電話和你確認資料 (因此我覺得這個帳單根本就是必備),不過我猜他們也分不出來台灣的市話和手機號碼有什麼差別,所以你用手機的帳單搞不好也行的通。由於咱們的電話費帳單不會有英文的姓名與住址,後來經過詢問,COMODO 允許我們在帳單上用筆加註英文姓名與住址,並簽名認證 (其它單據也可同此用法)。電話費帳單還有一個重點是它上面的電話號碼為保密緣故通常會印成 02-12***567之類的,請加註完整電話號碼與國碼,如 +886-2-12345678。
(3-2) Copy of a major utility bill (i.e. power bill, water bill, etc.) :公用事業帳單,例如電費單或水費單,一樣請加上英文加註。
(3-3) Copy of a bank statement of the certificate applicant:個人銀行帳戶對帳單,這玩意我沒有申請過,不知道上面是不是真的有姓名和地址。若是沒有英文的,也要加註英文。
(註) 其實我的過程還滿悲慘的,因為我只有一個中華電信的市話帳單,又不想去銀行搞東搞西,在快被搞瘋的時候,我用了另一個方法,我先把身份證正反面掃描後放在Word檔再列印出來後用筆加註英文姓名與地址 (記得要圈起來用箭頭標示你哪個英文翻譯的是姓名,哪個是地址),再加上我的護照與中華電信的市話帳單,居然就搞定了。
(4) 請注意,以上文件請先準備好然後掃描成圖檔,如果很不幸一堆帳單都不是你的名字,建議你先去改帳單姓名,因為我試過了,他們不接受上面名字和你不一樣的帳單,即使你拼命地想證明那帳單上的姓名和你有合法的關係 (例如血緣或我國法律認可的室友) 都沒用。
進入申請網頁
(1) 當資料準備完成後,就可以開心地點下 Apply for code signing certificate 的超連結進入申請程序
(2) 然後出現一個對話框告訴你為了申請憑證這個功能將會把你在Intel上所填寫的某些資料移轉到COMODO去,然後根據COMODO的政策將會要求你在他們的申請網頁上填寫其它所需的資料,如果你要繼續申請就按OK。
(3) 進入COMODO 為此專案設立的申請網頁填寫資料
進入審核程序
(1) 接下來會收到一封來自於COMODO的確認信件,標題會包含你的訂購號碼 ( ORDER #) ,之後你會回信的標題只要保留此ORDER #就行了,比方說是 ORDER #123456之類的。
(2) 收到了這封信之後,就準備回覆你的驗證文件,先把先前準備好的檔案附加到回傳郵件中,由於我們要申請的是個人憑證,請在郵件內容中加上
(2-1) applied for in my own personal name (這表示憑證為個人申請)
(2-2) 註明你所附加的檔案內容為何,例如:
Passport: 1.JPG
Phone bill: 2.JPG
Water bill: 3.JPG
(3) 如果你運氣夠好的話,接下來你會收到一份郵件,告知他們已核可你所回覆的文件,並且將進入電話審核程序,內容大概是這樣
We have changed your account details to individual. Now your order #123456 is in callback status. We need to verify your order information through phone. We will be contacting you to the telephone number : +886-2-12345678. Kindly confirm us, whether the above mentioned telephone number is right and also reply with your available time.
(4) 然後你就要再回覆一封信,告知他你確認電話號碼是正確的,並且附註你可以接電話的時間 (時間請註明時區為Taipei Time UTC+ 08:00,當然如果你住在其它時區就另當別論了)。
(5) 接下來就等著老外打電話給你,很囧的是打電話給我的老外不知道是拉丁腔還印度腔,那英文聽的我有點吃力,雖然是英文 (而且你搞不好會和我一樣碰到一個腔很重的) 但也不用害怕,他的內容大概和你確認幾件事:
(5-1) 你是不是某某某 (老實說這只要聽的懂 Are you 和你自己的名字就行了)
(5-2) 你是不是有透過Intel 申請憑證 (如果聽到Intel字眼大概就是這回事了)
(5-3) 你申請時使用的 email address (聽到 confirm your email 就是這回事了)
(5-4) 所以從頭到尾要不是講你自己的名字, 不然就是yes, 不然就是你的email address
取得憑證
在經過這些磨難後 (其實我的意思是程序),將會收到一封標題是 『Your Code Signing Certificate is ready!』的信件,內容有一段 To collect your Code Signing Certificate, please click here,點選那個here就會開啟一個超連結讓你取得憑證。
參考資料
Application Signing to be introduced to the Intel AppUp developer program starting July 18th
Intel AppUp(SM) Developer Program Application Signing FAQs
附帶說明
在這整過程中,務必注意你所使用的瀏覽器的設定,安全性的設定有時會讓某些動作失敗,而我整個過程是在 FireFox 5.0版下完成的。