❶ 安卓 軟體證書可以刪除嗎
不可以。
android 簽名的證書
在Android系統中,所有安裝
到系統的應用程序都必有一個數字證書,此數字證書用於標識應用程序的作者和在應用程序之間建立信任關系,如果一個 permission的protectionLevel為signature,那麼就只有那些跟該permission所在的程序擁有同一個數字證書的應用程序才能取得該許可權。Android使用java的數字證書相關的機制
來給apk加蓋數字證書,要理解android的數字證書,需要先了解以下數字證書的概念和java的數字證書機制。Android系統要求每一個安裝進系統的應用程序都是經過數字證書簽名的,數字證書的私鑰則保存在程序開發者的手中。Android將數字證書用來標識應用程序的作者和在應用程序之間建立信任關系,不是用來決定最終用戶可以安裝哪些應用程序。這個數字證書並不需要權威的數字證書簽名機構認證,它只是用來讓應用程序包自我認證的 一:同一個開發者的多個程序盡可能使用同一個數字證書
❷ 如何在安卓手機安裝數字證書 crt和p12
當點擊Wi-Fi Settings, Advanced界面的「安裝證書」;或者在Settings的Security界面下的CredentialStorage界面點擊「安裝證書」。com.android.certinstaller包中的CertInstallerMain類會收到Settings發送的Credentials.INSTALL_AS_USER_ACTION intent。
然後,CertInstallerMain類開始創建一個線程,並開始run。在run中,因為收到了Credentials.INSTALL_AS_USER_ACTION intent, CertInstallerMain開始判斷SD卡是否存在,這里,我們將證書都push到SD卡里了,SD卡當然是存在的。這種情況下,CertInstallerMain類通過其繼承的CertFile類開始讀取卡里的所有證書文件。CertFile類讀取證書的過程很簡單:它把自己設置成了一個FileFilter,在accept方法中,CertFile只接收後綴為Credentials.EXTENSION_CRT, Credentials.EXTENSION_P12, Credentials.EXTENSION_CER, Credentials.EXTENSION_PFX的文件。也就是說當前,Android只支持後綴為crt, p12,cer和pfx的數字證書。
接著,當SD卡里只有一個證書的時候它彈出一個安裝提示框,當SD卡里有一堆證書的時候,它會彈出一個證書列表,這個列表由CertFileList類維護,放點擊某個證書的時候,會和當SD卡里只有一個證書的時候一樣,調用installFromFile方法,彈出一個對話框。CertFile類的install方法會通知CertInstaller來負責證書的安裝。
CertFile類對p12證書和其它證書進行了分類,要是p12證書,我給個對話框,輸入完密碼就OK了。我這里,還使用了WIFI WAP需要的CA證書進行測試。對於CA證書,當點擊彈出對話框的「確認」對應的按鈕後,它會通過CredentialHelper類建立一個com.android.credentials.INSTALL intent發給com.android.settings.CredentialStorage類。當CertInstaller類啟動後它會直接創建一個CredentialHelper類,CredentialHelper類就直接將安裝的證書分類成CA和USER,所以當點擊「確認」後,CredentialHelper會將CA證書的信息通過Credentials.EXTRA_CA_CERTIFICATES_NAME和Credentials.EXTRA_CA_CERTIFICATES_DATA放到com.android.credentials.INSTALL的intent中。
最後,Settings收到了這個intent,通過installIfAvailable()方法,將CA證書的信息保存到了KeyStore中。然後,Settings可以通過KeyStore來讀取保存的證書。
❸ Android網路請求加密機制
密碼學的三大作用:加密( Encryption)、認證(Authentication),鑒定(Identification)
加密 :防止壞人獲取你的數據。
鑒權 :防止壞人假冒你的身份。
認證 :防止壞人修改了你的數據而你卻並沒有發現。
1. URLEncode和URLDecoder 作用:URLEncode就是將URL中特殊部分進行編碼。URLDecoder就是對特殊部分進行解碼。
為什麼URL要encode原因呢?
url轉義其實也只是為了符合url的規范而已。因為在標準的url規范中 中文和很多的字元 是不允許出現在url中的。
2. Base64編碼
為什麼要進行Base64編碼?
在計算機中任何數據都是按ascii碼存儲的,而ascii碼的128~255之間的值是不可見字元。而在網路上交換數據時,比如攔薯枝說從A地傳到B地,往往要經過多個路由設備,由於手腔不同的設備對字元的處理方式有一些不同,這樣那些不可見字元就有可能被處理錯誤,這是不利於傳輸的。所以簡敏就先把數據先做一個Base64編碼,統統變成可見字元,這樣出錯的可能性就大降低了。
應用場景:主要是對於二進制數據進行編碼,(文件、圖片、加密後的二進制數據)
3. 消息認證演算法
要確保加密的消息不是別人偽造的,需要提供一個消息認證碼(MAC,Message authentication code) 。
消息認證碼是帶密鑰的hash函數,基於密鑰和hash函數(單向散列函數)。
密鑰雙方事先約定,不能讓第三方知道。
消息發送者使用MAC演算法計算出消息的MAC值,追加到消息後面一起發送給接收者。
接收者收到消息後,用相同的MAC演算法計算接收到消息MAC值,並與接收到的MAC值對比是否一樣。
消息認證碼的作用:檢查某段消息的完整性,以及作身份驗證。
防止重放 攻擊可以有 3 種方法:
序號
每條消息都增加一個遞增的序號,並且在計算 MAC 值的時候把序號也包含在消息中。這樣攻擊者如果不破解消息認證碼就無法計算出正確的 MAC 值。這個方法的弊端是每條消息都需要多記錄最後一個消息的序號。
時間戳
發送消息的時候包含當前時間,如果收到的時間與當前的不符,即便 MAC 值正確也認為是錯誤消息直接丟棄。這樣也可以防禦重放攻擊。這個方法的弊端是,發送方和接收方的時鍾必須一致,考慮到消息的延遲,所以需要在時間上留下一定的緩沖餘地。這個緩沖之間還是會造成重放攻擊的可趁之機。
nonce
在通信之前,接收者先向發送者發送一個一次性的隨機數 nonce。發送者在消息中包含這個 nonce 並計算 MAC 值。由於每次 nonce 都會變化,因此無法進行重放攻擊。這個方法的缺點會導致通信的數據量增加。
4. 對稱加密演算法
特點:加解密只有一個密鑰。優點:速度快、效率高。缺點:密鑰交換問題。演算法:AES(256位元組,主流)、DES(8位元組,淘汰)。
密鑰交換問題如何解決,MAC同樣也有這個問題,可以使用非對稱加密傳輸,或者私下約定,密鑰管理中心。
5. 非對稱加密
非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密(這個過程可以做數字簽名) 。 非對稱加密主要使用的是RSA演算法。
特點:公/私鑰機制。優點:只需要交換公鑰,安全。缺點:加解密速度慢,特別是解密。演算法:RSA。應用:數字簽名。
數字簽名 :
簡單解釋:
A:將明文進行摘要運算後得到摘要(消息完整性),再將摘要用A的私鑰加密(身份認證),得到數字簽名,將密文和數字簽名一塊發給B。
B:收到A的消息後,先將密文用自己的私鑰解密,得到明文。將數字簽名用A的公鑰進行解密後,得到正確的摘要(解密成功說明A的身份被認證了)。
數字證書 :
6. Android端 AES+RSA結合實踐
基本流程
Android端
伺服器端
基本上如下圖所示的流程:
❹ Android自有證書生成指南
Android部署打包apk應用,需要用上數字證書進行簽名,來表明身份的。
安卓證書可以使用Java的keytool工具生成,以下是window平台生成的方法:
一、安裝java
可訪問Oracle官方去安裝java: https://www.java.com/zh_CN/download/win10.jsp
下面已安裝目錄「C:UsersxabscDownloadsjdk-16.0.1」為例,實際操作請修改自己的安裝目錄
安裝java完成後,打開安裝目錄,找到bin文件夾,如果裡面有keytool.exe這個文件,那麼下面的安卓證書就能搞了
注意:1. testalias是證書別名,可修改為自己想設置的字元,建議使用英文字母和數字
2. test.keystore是證書文件名稱,可修改為自己想設置的文件名稱,也可以指定完整文件路徑
❺ Android簽名機制之簽名文件和數字證書的作用
Android簽名機制目的是確保app的可靠通信,其一,要確定消息的來源確實是其申明
的那個人;其二,要保證信息在傳遞的過程中不被第三方篡改,即使被篡改了,也可以
發覺出來。
所謂數字簽名,就是為了解決這兩個問題而產生的,它是對非對稱加密技術與數字摘要
技術的一個具體的應用。
對於消息的發送者來說,先要生成一對公私鑰對,則穗將公鑰給消息的接收者。
如果消息的發送者有一天想給消息接收者發消息,在發送的信息中,除了要包含原始的
消息外,還要加上另外一段消息。這段消息通過如下兩步生成:
1)對要發送的原始消息提取消息摘要;
2)對提取的信息摘要用自己的私鑰加密。
通過這兩步得出的消息,就是所謂的原始信息的數字簽名。
而對於信息的接收者來說,他所收到的信息,將包含兩個部分,一是原始的消息內容,
二是附加的那段數字簽名。他將通過以下三步來驗證消息的真偽:
1)對原始消息部分提取消息摘要,注意這里使用的消息摘要演算法要和發送方使用的一孫游卜致;
2)對附加上的那段數字簽名,使用預先得到的公鑰解密;
3)比較前兩步所得到的兩段消息是否一致。如果一致,則表明消息確實是期望的發送者
發的,且內容沒有被篡改過;相反,如果不一致,則表明傳送的過程中一定出了問題,
消息不可信。
通過這種所謂的數字簽名技術,確實可以有效解決可靠通信的問題。如果原始消息在傳
送的過程中被篡改了,那麼在消息接收者那裡,對被篡改的消息提取的摘要肯定和原始
的不一樣。並且,由於篡改者沒有消息發送方的私鑰,即使他可以重新算出被篡改消息
的摘要,也不能偽造出數字簽名。
那麼數字簽名呢?
綜上所述,數字簽名其實就是只有信息的發送者才能產生的別人無法偽造的一段數字
串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。
不知道大家有沒有注意,前面講的這種數字簽名方法,有一個前提,就是消息的接收者
必須要事先得到正確的公鑰。如果一開始公鑰就被別人篡改了,那壞人就會被你當成好
人,而真正的消息發送者給你發的消息會被你視作無效的。而且,很多時候根本就不具
備事先溝通公鑰的信息通道。那麼如何保證公鑰的安全可信磨吵呢?這就要靠數字證書來解
決了。
所謂數字證書,一般包含以下一些內容:
證書的發布機構(Issuer)
證書的有效期(Validity)
消息發送方的公鑰
證書所有者(Subject)
數字簽名所使用的演算法
數字簽名
可以看出,數字證書其實也用到了數字簽名技術。只不過要簽名的內容是消息發送方的
公鑰,以及一些其它信息。但與普通數字簽名不同的是,數字證書中簽名者不是隨隨便
便一個普通的機構,而是要有一定公信力的機構。這就好像你的大學畢業證書上簽名的
一般都是德高望重的校長一樣。一般來說,這些有公信力機構的根證書已經在設備出廠
前預先安裝到了你的設備上了。所以,數字證書可以保證數字證書里的公鑰確實是這個
證書的所有者的,或者證書可以用來確認對方的身份。數字證書主要是用來解決公鑰的
安全發放問題。
綜上所述,總結一下,數字簽名和簽名驗證的大體流程如下圖所示:
引用鏈接: https://www.cnblogs.com/dacainiao/p/5842987.html
❻ 安卓手機怎麼安裝數字證書(pfx格式的證書)
方法1.iPhone 手機、Android 4.0以上系統、黑莓
這些手機內置的瀏覽器都支持「帶私鑰」的客戶端證書PFX, 使用這些手機時,如要如下兩步便可以完成:
1、 安裝PFX證書, 管理員可以把帶私鑰的PFX證書文件放在某個共享的地方,手機用戶通過這個共享地方(可以是網站),直接點擊下載,系統會自動安裝,(在安裝過程中需要輸入訪問密碼)
2.直接訪問HTTPS的網站。
方法2. Android 2.X 系統 (內置的瀏覽器不支持)
1.進入列有PFX文件的共享文件夾或是網站目錄,下載pfx文件到SD卡的根目錄
2.通過Google Play Store,即谷歌電子市場下載 SandroB 這個支持SSL Client的瀏覽器
支持 2.3 系統的 請點擊:https://play.google.com/store/apps/details?id=org.sandrob.stock233&hl=zh_CN
支持 2.2 系統的 請點擊:https://play.google.com/store/apps/details?id=org.sandrob&feature=more_from_developer#?t=W10.
備註:如果谷歌鏈接無法打開,可以在網路搜 SandroB,下載即可。
3. 對於中文網站來說,這個軟體對於中文的出錯頁,不會自動判斷,因此打開SandroB中的Setting,把"SSL dialog only on errors" 取消
4. 訪問HTTPS網站,系統會彈出對話框,上面填您下載的PFX文件的路徑,下面的安裝密碼電詢管理員:
❼ android 無法安裝該證書,因為無法讀取證書文件,怎麼辦
那是因為你已經裝了一個同名的程序。
系統發現你現在要裝的程序的簽名(一種用於識別程序開發者得數字證書)和之前的不一致,系統於是拒絕安裝。
如果你非要裝現在的程序,只有把舊程序刪除。
❽ 如何將數字證書導入到Android文件系統中
將數字證書文件「srca.cer」復制到SD卡的根目錄下,差慧然後操作:
設置→安全→信任的證書→從設備存儲空間安裝→「確猜談定」安裝srca證書穗慶碰
❾ android手機如何導入CA證書
1、請先將數字證書文件「******.cer」文件復制到SD卡的根目錄下;
(9)android數字證書擴展閱讀:
CA 也擁有一個證書(內含公鑰和私鑰)。網上的公眾用戶通過驗證 CA 的簽字從而信任 CA ,任何人都可以得到 CA 的證書(含公鑰),用以驗證它所簽發的證書。
如果用戶想得到一份屬於自己的證書,他應先向 CA 提出申請。在 CA 判明申請者的身份後,便為他分配一個公鑰,並且 CA 將該公鑰與申請者的身份信息綁在一起,並為之簽字後,便形成證書發給申請者。
如果一個用戶想鑒別另一個證書的真偽,他就用 CA 的公鑰對那個證書上的簽字進行驗證,一旦驗證通過,該證書就被認為是有效的。證書實際是由證書簽證機關(CA)簽發的對用戶的公鑰的認證。
證書的內容包括:電子簽證機關的信息、公鑰用戶信息、公鑰、權威機構的簽字和有效期等等。目前,證書的格式和驗證方法普遍遵循X.509國際標准。
2019年9月2日,據新疆生產建設兵團自然資源局消息稱:自然資源部新近為新疆兵團本級及13個師市頒發礦業權管理。