當前位置:首頁 » 網頁前端 » 腳本生成android證書
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

腳本生成android證書

發布時間: 2022-06-15 15:35:41

1. 如何發布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使用強密碼。

2. 如何提取apk簽名key

如果不知道密碼就很難提取,如果有密碼 用JDK裡面的key tools工具可以提取

3. 運行android程序會默認生成簽名嗎

開發Android的人這么多,完全有可能大家都把類名,包名起成了一個同樣的名字,這時候如何區分?簽名這時候就是起區分作用的。
由於開發商可能通過使用相同的Package Name來混淆替換已經安裝的程序,簽名可以保證相當名字,但是簽名不同的包不被替換。
APK如果使用一個key簽名,發布時另一個key簽名的文件將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應用被惡意的第三方覆蓋或替換掉。
這樣簽名其實也是開發者的身份標識。交易中抵賴等事情發生時,簽名可以防止抵賴的發生。
二、簽名的注意事項
Android系統要求所有的程序經過數字簽名才能安裝,如果沒有可用的數字簽名,系統將不許安裝運行此程序。不管是模擬器還是真實手機。因此,在設備或者是模擬器上運行調試程序之前,必須為應用程序設置數字簽名。
Android簽名的數字證書不需要權威機構來認證,是開發者自己產生的數字證書,即所謂的自簽名。數字證書用來標識應用程序的作者和在應用程序之間建立信任關系,而不是用來決定最終用戶可以安裝哪些應用程序。
系統僅僅會在安裝的時候測試簽名證書的有效期,如果應用程序的簽名是在安裝之後才到期,那麼應用程序仍然可以正常啟用。
可以使用標准工具-Keytool and Jarsigner-生成密鑰,來簽名應用程序的.apk文件。
簽名後需使用zipalign優化程序。
模擬器開發環境,開發時通過ADB介面上傳的程序會先自動被簽有Debug許可權,然後才傳遞到模擬器。Eclipse菜單的Window -> Preferences -> Android –> Build 下顯示的是我們默認的調試用的簽名數字證書。
正式發布一個Android應用時,必須使用一個合適的私鑰生成的數字證書來給程序簽名,不能使用ADT插件或者ANT工具生成的調試證書來發布。
三、簽名方法:
1.使用Keytool 和jarsigner工具簽名(在jdk/bin目錄下)
1.生成簽名keystore:
確保電腦上安裝了JDK,因為我們將使用JDK自帶的創建和管理數字證書的工具Keytool。在命令行下輸入如下命令:
keytool -genkey -v -keystore app.keystore -alias alias_name -keyalg RSA -validity 20000
-alias 後面跟的是別名這里是alias_name
-keyalg 是加密方式這里是RSA
-validity 是有效期這里是20000
-keystore 就是要生成的keystore的名稱這里是app.keystore
然後按回車鍵
按回車後首先會提示你輸入的密碼:這個在簽名時要用的,要記住
然後會再確認你的密碼。
之後會依次叫你輸入姓名、組織單位、組織名稱、城市區域、省份名稱、國家代碼(CN)等。
2.簽名:

jarsigner -verbose -keystore app.keystore -signedjar app_signed.apk app.apk alias_name
-keystore: keystore的名稱
-signedjar app_signed.apk: 指定簽名後生成的APK名稱
app.apk: 目標APK
然後按回車:會要求輸入剛才設置的密碼,輸入後按回車就開始簽名了。

3.查看簽名:

jarsigner -verify app_signed.apk

查看是否簽名,如果已經簽名會列印 "jar verified".

jarsigner -verify -verbose -certs app_signed.apk

查看簽名詳細信息。

4.通過zipalign工具進行優化apk(android自帶的工具,./build/tools/zipalign)

zipalign -v 4 app_signed.apk androidres.apk 對apk優化

zipalign -c -v 4 androidres.apk 查看apk是否經過優化

2.使用eclipse ADT工具簽名
在Package Explorer 窗口,右鍵,選擇Android Tools--->Export Signed Application Package 然後按照提示一步一步,生成已簽名的apk。通過eclipse也可以導出未簽名的APK文件。

註:需要輸入兩次密碼,第一次是私鑰密碼,第二次時私鑰別名的密碼。

3.eclipse在debug模式下自動簽名(無須手動配置):

在debug模式下用eclipse 的ADT為android簽名,只要應用程序在eclipse下開發,系統就會自動給apk簽名和優化。

在Eclipse中Windows > Preferences > Android > Build可以看到你keysotre的位置;

四、生成Android系統簽名

上面講的Android數字簽名大多是與Android APK相關,做CTS 認證時,需要用到Android系統簽名。為什麼需要給Android系統簽個名才能進行CTS認證呢?原來我們通過make -j4編譯出來的system.img使用的是test key,這種類型的key只適用於開發階段,而且這種秘鑰是公開的,誰都可以使用。當發布一款android產品,就需要另外給整個系統簽個名,防止被別人盜用。這種系統就是release版本的Android系統。

1、生成加密key文件

要對Android系統進行簽名,需要生成四種類型的key文件。

a)releasekey (testkey)

b)media

c)shared

d)platform

1)進入/android_src/development/tools目錄。

2)使用make_key工具生成簽名文件。需要分別生成 releasekey,media,shared,platform。

./make_key releasekey '/C=CN/ST=JiangSu/L=NanJing/O=Company/OU=Department/CN=Your Name/emailAddress=YourE-mailAddress' (系統將會提示輸入針對各種key的密碼,按照提示輸入即可)

將會生成 releasekey.pk8 和 releasekey.x509.pem文件,其中 *.pk8是生成的私鑰,而*.x509.pem是公鑰,生成時兩者是成對出現的.

註:如果出現 openssl : relocation error :openssl : symbol ...嘗試用 sudo 執行命令,問題解決了!

2.回到根目錄android_src。

命令執行的時候都最好在工程的根目錄下執行,要不然腳本用到的某些文件找不到的。

3.編譯系統

make -j4 PRODUCT-generic-user dist

其中generic 表示生成的TARGET_PRODUCT類型為generic,

user代表TARGET_BUILD_VARIANT為user版本。

編譯完成之後回在android_src/dist/目錄內生成個proct_generic-user_files開頭的zip文件.這就是我們需要進行簽名的文件系統.

4.開始簽名

./build/tools/releasetools/sign_target_files_apks -d key_directory/ out/dist/proct_mol-target_files.zip out/dist/signed_target_files.zip

通過sign_target_files_apks 腳本,完成android系統的簽名工作.

key_directory/ 表示key所在的目錄。

out/dist/proct_mol-target_files.zip 源文件。

out/dist/signed_target_files.zip 生成簽名的目標文件。

可能會出現:

ERROR: no key specified for:
CalendarWidget.apk
Contacts_yellowpage.apk
SnsAppMain.apk

這表示,簽名並沒有成功,原因是由於有些apk程序已經簽過名了或者找不到對應的key. 這需要我們對apk設置過濾,不對上面的應用進行簽名.方法如下:

通過參數"-e <apkname>=" 來過濾這些應用.

./build/tools/releasetools/sign_target_files_apks -d key_directory/ -e CalendarWidget.apk= -e Contacts_yellowpage.apk= -e SnsAppMain.apk= -e out/dist/proct_mol-target_files.zip out/dist/signed_target_files.zip

輸入該命令時會提示輸入key的密碼,會出現四次密碼輸入提示。分別為四種類型的key的密碼。

5.生成image文件

./build/tools/releasetools/img_from_target_files out/dist/signed-target-files.zip signed-img.zip

用img_from_target_files 命令對生成的igned-target-files.zip文件進行打包,signed-img.zip包含了boot.img,userdate.img,system.img文件等.

6.通過fastboot下載signed-img.zip文件

fastboot update signed-img.zip

通過fastboot就可以把簽了名的系統文件燒到手機上了。

4. 怎麼生成android 的測試腳本

4.1、建立工程

用Eclipse新建Java Project,注意,不是Android Project!

4.2、添加JUnit庫

next->Libraries->Add Library


4.3、添加Android庫

Add External JARs:

找到路徑Android-sdkplatformsandroid-17下面的android.jar和uiautomator.jar添加進來:

所有庫添加完應該是這個樣子:

4.4、在src中添加包,然後添加class文件

文件內容為:

[java] view plain

package com;

import com.android.uiautomator.core.UiObject;

import com.android.uiautomator.core.UiObjectNotFoundException;

import com.android.uiautomator.core.UiScrollable;

import com.android.uiautomator.core.UiSelector;

import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class Runner extends UiAutomatorTestCase {

public void testDemo() throws UiObjectNotFoundException {

getUiDevice().pressHome();

// 進入設置菜單

UiObject settingApp = new UiObject(new UiSelector().text("Settings"));

settingApp.click();

//休眠3秒

try {

Thread.sleep(3000);

} catch (InterruptedException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

// 進入語言和輸入法設置

UiScrollable settingItems = new UiScrollable( new UiSelector().scrollable(true));

UiObject languageAndInputItem = settingItems.getChildByText(

new UiSelector().text("Language & input"), "Language & input", true);

languageAndInputItem.clickAndWaitForNewWindow();

}

}

上面工程路徑在e:workspaceAutoRunner,類全名為com.Runner,至於具體的作用我們現在不去關心。

4.5、找到SDK ID

CMD進入Android-sdk ools目錄下,運行命令:

android list


查看對應android版本的SDK的ID值,當前是60;

4.6、創建build文件

仍然在Android-sdk ools目錄下,運行命令:

android create uitest-project -n <name> -t <android-sdk-ID> -p <path>

比如:

android create uitest-project -n AutoRunner -t 60 -p e:workspaceAutoRunner

上面的name就是將來生成的jar包的名字,可以自己定義,android-sdk-ID就是上面看到的6;path是Eclipse新建的工程的路徑;運行命令後,將會在工程的根目錄下生成build.xml文件。如果沒生成,檢查上面的步驟。

4.7、編譯生成jar

CMD進入項目的工程目錄,然後運行ant build,將使用ant編譯生成jar,成功將會提示:

然後會在bin目錄下生成jar文件。

4.8、push並運行jar

adb push <jar文件路徑> data/local/tmp

adb shell uiautomator runtest <jar文件名> -c <工程中的類名,包含包名>

比如:

adb push e:workspaceAutoRunnerinAutoRunner.jar data/local/tmp

adb shell uiautomator runtest AutoRunner.jar -c com.Runner

然後就能看到手機會按照Runner中的步驟自動執行。具體效果就是,進入設置菜單,然後再進入「語言和輸入法」菜單

5. 如何生成android的BKS證書

android 系統中使用的證書要求以BKS的庫文件結構保存,通常情況下,我們使用java的keytool只能生成jks的證書庫,如果生成BKS的則需要下載BC庫,如是JDK1.6則下載bcprov-jdk16-141.jar,且將該文件放到jdk1.6.0_03\jre\lib\ext目錄下,然後運行以下命令即可以生成BKS的證書庫和相應的證書。

keytool -genkey -alias <別名> -keypass <密鑰口令> -keyalg RSA -keysize 1024 -validity 365 -keystore <庫文件名,如runcerts.keystore> -storepass <證書庫密碼> -dname "cn=runtestuser3, ou=vpn, o=run, c=CN, l=shanghai" -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

或是:
keytool -import -alias serverkey -file server.crt -keystore tclient.bks -
storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider


1

android 系統中使用的證書要求以BKS的庫文件結構保存,通常情況下,我們使用java的keytool只能生成jks的證書庫,如果生成BKS的則需要下載BC庫,如是JDK1.6則下載bcprov-jdk16-141.jar,且將該文件放到jdk1.6.0_03\jre\lib\ext目錄下,然後運行以下命令即可以生成BKS的證書庫和相應的證書。

keytool -genkey -alias <別名> -keypass <密鑰口令> -keyalg RSA -keysize 1024 -validity 365 -keystore <庫文件名,如runcerts.keystore> -storepass <證書庫密碼> -dname "cn=runtestuser3, ou=vpn, o=run, c=CN, l=shanghai" -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

或是:
keytool -import -alias serverkey -file server.crt -keystore tclient.bks -
storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider


1

6. android生成的證書keytool沒有

生成的keystore是一個證書文件,以便於在下次簽名打包的時候,導入以便生成apk。你看看保存的位置是否正確。

7. 如何生成Android的簽名證書

cmd命令生成android簽名證書,有空在寫一篇eclipse導出帶簽名的apk,這裡麵包括生成新的簽名。現在還是講講在cmd怎麼操作生成簽名證書。
1、dos下進入JDK的bin目錄
運行如下命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(-validity 20000代表有效期天數),命令完成後,bin目錄中會生成android.keystore
示例:
C:\Program Files (x86)\Java\jdk1.8.0_25\bin>
keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore d:\test.keystore
ps:-alias test 生成的keystore別名,-keyalg RSA 加密和數字簽名的演算法,-validity 20000 有效天數

輸入密鑰庫口令:123456
再次輸入新口令:123456
您的名字與姓氏是什麼?
[Unknown]: rob
您的組織單位名稱是什麼?
[Unknown]: abc
您的組織名稱是什麼?
[Unknown]: abc
您所在的城市或區域名稱是什麼?
[Unknown]: guangzhou
您所在的省/市/自治區名稱是什麼?
[Unknown]: guangzhou
該單位的雙字母國家/地區代碼是什麼?
[Unknown]: cn
CN=rob, OU=abc, O=abc, L=guangzhou, ST=guangzhou, C=cn是否正確?
[否]: y
輸入 <test> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
如果沒有錯誤則回去查看D盤根目錄下,多了test.keystore

所以第一次輸入的是,密鑰庫的密碼。
最後輸入時密鑰別名的密碼。到這里生成簽名就搞定啦。
2、查看md5指紋驗證
輸入keytool -list -v -alias androiddebugkey -keystore 再加上剛剛從紅色框中復制出來的內容
我這里的就是keytool -list -v -alias androiddebugkey -keystore C:\Users\ZLQ\.android\debug.keystore了,回車
-alias androiddebugkey 這個是別名
-keystore C:\Users\ZLQ\.android\debug.keystore 具體位置的密鑰庫
要求輸入密碼,密碼是android,至此就可以拿到MD5認證指紋了

8. android 平台搭建https伺服器,證書怎麼生成了

首先您要去淘寶Gworg獲取SSL證書,拿到證書後安裝到伺服器,按照平台才可以實現信任,才有HTTPS。

9. android中pem證書是怎樣生成的

證書都可以用openssl工具鏈來生成。
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。
在OpenSSL被曝出現嚴重安全漏洞後,發現多數通過SSL協議加密的網站使用名為OpenSSL的開源軟體包。由於這是互聯網應用最廣泛的安全傳輸方法,被網銀、在線支付、電商網站、門戶網站、電子郵件等重要網站廣泛使用,所以該漏洞影響范圍廣大。
OpenSSL漏洞不僅影響以https開頭的網站,黑客還可利用此漏洞直接對個人PC發起"心臟出血"(Heartbleed)攻擊。據分析,Windows上有大量軟體使用了存在漏洞的OpenSSL代碼庫,可能被黑客攻擊抓取用戶電腦上的內存數據。

10. 如何生成android簽名文件

工具/原料

Win7 x64
adt-bundle-windows-x86_64-20140702
方法/步驟

新建一個工程命名為「HelloWorld」,操作如下圖所示, 處前兩個界面外,其他的界面都點擊默認值即可;

通過 「右鍵工程->Run As...->Android Application」, 在 工程目錄的 bin/HelloWorld.apk 會生成一個apk文件

點擊 「Use the Export Wizard」,如下圖所示:

點擊 Next, 如下圖所示:

1、選擇 "Create New Keystore",
2、輸入將要保存的數字簽名文件,如「D:\Android\key\HelloWorld.key」
3、輸入密碼,如:HelloWorld
4、輸入確認碼,如 HelloWorld
5、點擊 Next
效果如下:

輸入昵稱,密碼,確認碼,期限,名字後,點擊next,如下圖所示:

輸入需要簽名的apk包,點擊Finish後,就完成了對apk包的數字簽名

同時也會生成數字簽名用的文件,如:「"D:\Android\key\HelloWorld.key"」