A. 什麼是代碼簽名證書我做的程序是用這個嗎
代碼簽名證書是提供給軟體開發者,對其開發的軟體代碼進行數字簽名的數字證書,用於驗證開發者身份真實性、保護代碼的完整性。用戶下載軟體時,能通過數字簽名驗證軟體來源可信,確認軟體沒有被非法篡改或植入病毒木馬,保護用戶不會被病毒、惡意代碼和間諜軟體所侵害,也保護了軟體開發者的利益,讓軟體能在互聯網上快速安全地發布。
B. 代碼簽名證書是啥介紹下
代碼簽名證書主要在微軟平台下對即將要發布的程序進行簽名的,以確保此程序的發布者的身份,來保證程序的安全性,有了代碼簽名證書簽過名的程序,在安裝的時候,可以順利安裝,如果沒有簽名,那麼在安裝的時候,會提示此程序未經數字簽名,國際上使用廣泛的代碼簽名證書為verisign的證書,申請verisign代碼簽名證書可以對程序簽名消除此類提示,並且還可以以此證書申請微軟徽標認證,verisign在國內的官方代理為北京天威誠信,你有需要的話,可以在他們網站上看看代碼證書的信息。
C. 什麼是代碼簽名證書
代碼簽名證書(Code Signing Certificate)是權威CA機構發布的專門為代碼和程序進行簽名的數字證書專,可以驗證屬發布者的身份,下載軟體時防止殺毒系統攔截,彈出安全警告。是進行程序分發不可或缺的證書。
D. windows裡面的程序屬性中的數字簽名→證書安裝是做什麼用的
首先,從圖復片看,你選的是一制張,簽名證書。這種證書是可以對某個文件做簽名,做了簽名後,如果這個文件被篡改,則會有能被偵測到,作用是防篡改和防抵賴。
你安裝了此證書沒什麼用。所有數字證書都可以安裝到你的電腦上,安裝上證書一般有兩種目的,一是信任證書,一是作為自己的標識。而這張簽名證書已經是受信的,並且由於你沒有私鑰,所以不能代表自己。
這是數字證書的概念,如果有興趣,可了解下。
E. 代碼簽名證書有什麼作用
保護發行商身份來安全
通過對代源碼進行數字簽名來標識發行商身份,可以保證發行商身份和代碼在簽名之後不被非法篡改。篡改代碼或捆綁木馬、惡意攻擊程序、修改發行商身份信息等任何對已發行代碼進行編輯的操作都會導致軟體簽名信息失效,失去相應安全應用授權。
防止用戶下載有害文件
代碼簽名 針對網上發布控制項、應用程序、驅動程序,如設備驅動程序、硬體固化程序、病毒更新碼、配置文件等代碼和內容創建數字「保護膜」,以便在軟體發行者和用戶通過 Internet 與移動網路下載代碼及內容時對他們加以保護。給代碼添加數字簽名可驗證內容的來源及完整性,促進軟體的下載使用與分發。減少錯誤消息和安全警告,增加軟體發行、下載。
F. 代碼簽名證書應該去哪裡申請呢是免費的嗎
在傳統的軟體采購模式中,購買者通過檢查軟體外盒包裝來確定應用程序的來源及完整性。然而,在互聯網下載的軟體因為存在著難以確認開發商及發行商的風險,若不慎在互聯網中下載到夾有惡意代碼的應用程序或軟體,不僅會給終端用戶的智能手機或移動設備帶來風險,亦可能使所有用戶遭受攻擊,並導致服務中斷,嚴重損害應用程序開發業者的聲譽。
代碼簽名證書技術基於公共密鑰加密法技術,為一種數字簽名技術,開發者或軟體發行商使用「私有」密鑰,在軟體代碼中加設一個數字簽名,在移動應用程序下載過程中,使用「公共」密鑰驗證簽名,將應用程序簽名中的散列碼與所下載程序中的散列碼進行對比。而數字簽名中的散列碼用以確認文件內容,檢驗文件在簽名後代碼是否被更改或損壞,下載該軟體或應用程序的用戶便能能夠驗證文件內容及軟體的完整性。
GlobalSign 代碼簽名證書服務簡介:
GlobalSign代碼簽名證書針對程序代碼和內容建立了一種數字化的驗證及保護程序,可在軟體發行者和用戶透過互聯網和行動網路下載、安裝代碼程序和內容時,由系統跳出開發者的信息,大幅提高安全性。簡單來說,代碼簽名證書的功能為:驗證內容的來源為與完整性,而終端使用者也會意識到該代碼程序及內容自發布後皆未遭到非法竄改,進而對開發商及組織機構產生高度信賴感,保護了軟體開發商的利益,使得軟體開發商能安全地快速地通過互聯網發布軟體或應用程序。
G. 怎麼在應用程序(*.exe)中加入數字簽名
代碼簽名證書,支持Windows 32位和64位用戶模式下的 .exe, .cab, .dll, .ocx, .msi, .xpi, and .xap files)等應用程序和內核模式下的sys,cat等驅動程序文件簽名。代碼簽名證書能驗證軟體的來源和代碼的完整性,使用者也會知道該代碼程序自發布後未遭到非法竄改,從而對軟體開發商產生高度信賴感,保護了軟體開發商的利益,使得軟體開發商能安全地快速地通過互聯網發布軟體。所以,首先你需要有一個自己公司所有的代碼簽名證書
H. 如何發布android 應用程序,app增加簽名證書
Android系統要求,所有的程序經過數字簽名後才能安裝。Android系統使用這個證書來識別應用程序的作者,並且建立程序間的信任關系。證書不是用於用戶控制哪些程序可以安裝。證書不需要授權中心來簽名:Android應用程序上使用自己簽名的證書是完全允許且普遍的。
理解Android應用程序簽名有以下幾個重要點:
·所有的應用程序都必須簽名。系統不會安裝任何一個不簽名的程序。
·你可以使用自己的證書來簽名。不需要任何授權中心。
·當你要為最終用戶發布你的應用程序的時候,你必須簽入一個合適的密鑰。你不可以發布程序的時候還使用SDK工具簽入的DebugKey。
·系統只在安裝應用程序的時候檢測證書的有效期。如果應用程序在安裝之後證書失效了,那麼,應用程序還是可以正常工作。
·你可以使用標准工具——Keytool和Jarsigner——生成Key並簽名apk文件。
·一旦你為應用程序簽名了,一定要使用zipalign工具來優化最終的APK包。
Android系統不會安裝和運行沒有正確簽名的應用程序。這條規則適用於任何運行Android系統的地方,不管是真機還是模擬器。正是由於這個原因,你必須在模擬器或真機上運行/調試程序之前對程序進行簽名。
當你調試應用程序時,AndroidSDK工具替你對應用程序進行了簽名。Eclipse的ADT插件和Ant編譯工具都提供了兩種簽名模式——Debug模式和Release模式。
·當開發和測試時,你可以使用Debug模式。在Debug模式下,編譯工具使用內嵌在JDK中的Keytool工具來創建一個keystore和一個key(包含公認的名字和密碼)。在每次編譯的時候,使用這個DebugKey來為apk文件簽名。由於密碼是公認的,在每次編譯的時候,也不需要提示你輸入keystore和key密碼。
·當你的程序准備發布時,你必須在Release模式下,使用密鑰來為apk文件簽名。有以下兩種方式可以做到:
1.命令行中使用Keytool和Jarsigner。在這個方法中,首先需要編譯出一個未簽名的apk。然後使用Jarsigner(或相似的工具),用你的密鑰為apk手動簽名。如果你沒有合適的密鑰,你可以運行Keytool來手動生成自己的keystore/key。
2.使用ADT導出向導。如果你使用Eclipse/ADT插件進行開發,你可以使用導出向導來編譯程序,生成密鑰(如果需要),並為apk簽名,所有這些操作都在導出向導中。一旦你的程序簽名了,別忘了運行zipalign來為apk進行額外的優化。
簽名策略
應用程序簽名的某些方面可能會影響應用程序的開發,特別是你打算一起發布多個應用程序的時候。一般來說,推薦的策略是在整個應用程序壽命內,所有的程序簽上相同的證書。
以下有幾個應該這么做的原因:
·應用程序升級——當你對應用程序進行升級時,如果你想用戶平穩的升級,那麼,你就需要簽上相同的證書。當系統安裝一個升級應用程序時,如果新版本的證書與老版本的證書有匹配的話,那麼,系統才會允許進行升級。如果你沒有為版本簽上合適的證書,當你安裝時,你需要給應用程序指定一個新的包名——在這種情況下,用戶安裝的新版本,被當作是一個全新的應用程序。
·應用程序模塊化——如果應用程序請求的話,Android系統允許簽有相同證書的應用程序運行在相同的進程里,這樣,系統就會把它們看作是一個單一的應用程序。用這種方法配置應用程序,用戶可以選擇更新每個獨立的模塊。
·代碼/數據許可權共享——Android系統提供了基於簽名的許可權檢查,因此,如果應用程序間簽有特定的證書,那麼,它們之間可以共享功能。通過多個程序簽有相同的證書並且使用基於簽名的許可權檢查,你的程序可以以一種安全的方式共享代碼和數據。還有一個決定簽名策略的重要因素是:如何設定key的有效期。
·如果你計劃支持單個應用程序的升級,你需要確保你的key擁有一個超過期望的應用程序生命周期的有效期。推薦使用25年或更多的有效期。當你的key過期了,用戶也就不能平穩的更新到新版本了。
·如果你想給多個無關的應用程序簽上相同的key,那麼,你必須確保key的有效期超過所有應用程序所有版本的生命周期,包括將來有可能添加到這一陣營的程序。
·如果你想在AndroidMarket上發布你的程序,key的有效期必須在2033.10.22以後。Market伺服器強制這一要求,目前是保證用戶可以平穩的更新他們的程序。
當你設計應用程序時,一定要把這些點記在腦子里,並且使用一個合適的證書來為應用程序簽名。
簽名的基本設定
在你開始之前,你必須保證Keytool對SDK編譯工具來說是可利用的。多數情況下,你可以通過設置JAVA_HOME環境變數來告訴SDK編譯工具如何找到Keytool。另外,你還可以添加JDK中Keytool的路徑到PATH的變數里。
如果你在Linux上開發,並且使用GNU編譯器來編譯Java,那麼,請確保系統是使用JDK中的Keytool,而不是gcj。如果Keytool已經在你的PATH中,它有可能是對/usr/bin/keytool的符號鏈接。在這種情況下,檢查符號鏈接的目標,確保它是指向JDK中的Keytool。如果你打算對公眾釋放你的應用程序,你還需要Jarsigner工具。Jarsigner和Keytool都包含在JDK中。
Debug模式下簽名
Android編譯工具提供了Debug簽名模式,使得開發和調試應用程序更加容易,而且還滿足Android系統的簽名要求。當使用Debug模式編譯你的app時,SDK工具會調用Keytool工具自動創建一個Debug的keystore和key。然後,這個Debugkey會自動用於apk的簽名,這樣,你不需要使用你自己的key來為應用程序包簽名。
SDK工具使用預先定義好的名字/密碼來創建Debugkeystore/key:
·Keystore名字:「debug.keysotre」
·Keystore密碼:「android」
·Key別名:「androiddebugkey」
·Key密碼:「android」
·CN:「CN=AndroidDebug,O=Android,C=US」
如果需要的話,你可以改變Debugkeystore/key的位置和名字,或者提供一個自定義的Debugkeysotre/key。然而,任何自定義的Debugkeystore/key必須使用和默認Debugkey(上面描述的)相同的名字和密碼。(在Eclipse/ADT中,操作Windows>Preferences>Android>Build實現。)
注意:你不能將簽有Debug證書的應用程序發布給公眾。
Eclipse用戶
如果你在Eclipse/ADT下開發(並且已經按照上面描述的「簽名的基本設定」配置了Keytool),Debug模式下簽名默認是開啟的。當你運行或是調試應用程序時,ADT會使用Debug證書進行簽名,並運行zipalign,然後安裝到選擇的模擬器或是連接上的設備。整個過程不需要你參與,前提是ADT能訪問Keytool。
Ant用戶
如果你使用Ant來編譯你的apk文件,需要在ant命令中添加debug選項來開啟Debug簽名模式(假設你正在使用由android工具生成build.xml文件)。當你運行antdebug來編譯你的程序時,編譯腳本會生成一個keystore/key,並為apk進行簽名。然後腳本會使用zipalign工具對apk進行對齊處理。整個過程不需要你參與。閱讀「其它IDE下開發:Debug模式編譯」來了解更多的信息。
Debug證書過期
Debug模式下簽名用的證書(默認是Eclipse/ADT和Ant編譯)自從它創建之日起,1年後就會失效。
當證書失效時,你會得到一個編譯錯誤,在Ant編譯上,
錯誤如下:
debug:
[echo]Packagingbin/samples-debug.apk,andsigningitwithadebugkey...
[exec]DebugCertificateexpiredon8/4/083:43PM
在Eclipse/ADT中,Android控制台上你將會看到一個相似的錯誤。
為了解決這個問題,只需要刪掉debug.keystore文件即可。AVD默認存儲的位置在:~/.android/avd(OSX和Linux),C:DocumentsandSettings\.android(WindowsXP),C:Users\.android(WindowsVista)。
當下一次編譯的時候,編譯工具會重新生成一個新的keystore和Debugkey。
Release模式下簽名
當你的程序准備好釋放給其它用戶時,你必須:
1.獲取一個合適的密鑰
2.在Release模式下編譯程序
3.使用密鑰簽名程序
4.對齊APK包
如果你是使用Eclipse/ADT插件開發,你可以使用導出向導來完成編譯、簽名和對齊等操作。在整個過程中,導出向導甚至還可以生成一個新的keystore和密鑰。因此,如果你使用Eclipse,你可以直接跳到「使用EclipseADT編譯和簽名」。
獲取一個合適的密鑰為了進行程序的簽名,首先,你必須有一個合適的密鑰。密鑰指:
·個人持有。
·代表個人、公司或組織實體的身份。
·擁有一個有效期。有效期推薦超過25年。
如果你在AndroidMarket上發布你的程序,需要注意一點的是:程序的有效期需要在2033.10.22之後。你不能上傳一個應用程序,而它的key的有效期是在這個日期之前。
·不是由AndroidSDK工具生成的Debugkey。
如果你沒有一個合適的key,你一定要使用Keytool來生成一個。如「基本設定」中描述的,確保Keytool可用。
為了用Keytool生成一個key,使用keytool命令並傳入一些可選參數,如下表所示。
警告:確保密鑰的安全。一定要閱讀「安全儲存你的密鑰」中討論如何確保你的密鑰的安全以及這對你和用戶為何如此重要。尤其是,當你生成你的密鑰時,一定要為keystore和key使用強密碼。
I. 怎樣製作Windows應用程序數字簽名證書
證書自簽是不會被認證的,所以你得花錢到權威CA上進行購買證書,你可以訪問 VeriSign的官方網站購買證書。
證書自簽的話,你可以使用Sever系統自建證書管理伺服器,並對證書進行發布管理,但是因為你不是權威CA,你得證書也就只能在你創建的活動目錄中被承認,不能用於對外確認。
J. 如何對EXE程序進行數字簽名
方法一
1、購買或自己創立一個的數字簽名證書文件。
有工具軟體可以製作數字簽名證書,比如openssl,但自簽的,在別人的機器上,回出現簽名無法校驗的問題。除非人家信任,否則人家不會安裝你的證書。
2、用工具軟體對exe或其他任何文件,進行數字簽名。 可以是免費的UI工具,比如:kSign;也可以類似signtool(微軟的命令行工具);還可以操作系統的向導程序(比如微軟Windows上的簽名文件安裝,導入並對文件數字簽名的向導)。 xNix下,可以用GnuPG (gpg)從證書到簽名,一次搞定。
3、你要是做程序開發的,可以利用signtool這樣的命令行工具,寫批處理,然後加入自己項目的make過程中自動加簽。