生成Apk签名证书keystore,openssl与证书,keystore,jks,pem/pk8
? android app 無簽名能否安裝?可以! ?其實這句話說得不全對。 你所謂的無簽名其實里面已經有一個默認debug簽名了。只不過debug簽名時效只有一年而已。
-- Android簽名文件有很多種,比如最早的keystore,jks,pem/pk8等
?1.KeyStore: KeyStore是Eclipse開發Android的時候最早的簽名文件了.
?2.JKS(Java key store): JKS是目前Android Studio中創建簽名文件的格式(Build -> Generate Signed APK)即可創建和使用簽名文件為對應apk進行簽名
?3.pem/pk8 :這個是系統的簽名文件,Android系統在編譯的時候也是需要簽名,所以這個是系統的簽名文件,那系統簽名文件可不可以簽名APK呢?答案是:可以.
> JDK生成Keystore簽名文件,Android包簽名;數字證書KeyStore
使用Keytool工具生成證書Keystore和證書簽名請求文件- http://blog.csdn.net/u014386474/article/details/51996019
如何生成KeyStore文件 android-- http://jingyan.baidu.com/article/59703552e877f98fc00740f0.html
Android中應用程序如何獲得系統簽名權限- http://blog.csdn.net/jingwen3699/article/category/1235730
1.命令行生成keystore,dos下進入JDK的bin目錄,運行如下命令:
?keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
?(-validity 20000代表有效期天數),命令完成后,bin目錄中會生成android.keystore,查看命令keytool -list -keystore "android.keystore" 輸入你設置的keystore密碼
2. 使用Studio的Build-Generate Signed Apk生成Key store
-- 使用cmd時cd命令失效- https://blog.csdn.net/u010603823/article/details/52182679
-- 查看Keystore中的一些信息:如MD5 Sha1
keytool -list -v -keystore apk_keystore.jks
--?進行簽名需要的工具有哪些?
? 對apk進行簽名需要用到簽名證書和簽名工具。Android系統要求對APP進行簽名的數字證書可以由開發者自己生成。簽名工具有jarsigner和signapk。jarsigner是Java本身自帶的一個工具,他也可以對jar進行簽名的;而signapk是專門為了Android應用程序apk進行簽名的工具。二者的區別是:jarsigner工具簽名時使用的是keystore簽名文件,signapk工具簽名時使用的是pk8,x509.pem文件。
> openssl證書的生成和使用
? 證書類別?
- 根證書:生成服務器證書,客戶端證書的基礎。自簽名。?
- 服務器證書:由根證書簽發。配置在服務器上。?
- 客戶端證書:由根證書簽發。配置在服務器上,并發送給客戶,讓客戶安裝在瀏覽器里。
? 要注意,?
1. 服務器證書的cn要和servername一致,否則啟動httpd時有警告。?
2. 瀏覽器安裝客戶端證書時,需要用pkcs12轉換成pfx格式,否則可以安裝但無效。?
3. 把根證書安裝到瀏覽器的受信CA中,訪問服務器時就不會出警告了。
Ubuntu 交叉編譯 OpenSSL,并在 Android 中使用- https://blog.csdn.net/twilightdream/article/details/74735991
OpenSSL Library for iOS and Android- https://github.com/leenjewel/openssl_for_ios_and_android
http://git.oschina.net/wandererparsifal/openssldemo
openSSL 生成自簽公鑰證書和私鑰:
?- generate key
? 1.創建EC參數和私鑰文件?
openssl ecparam -genkey -name prime256v1 -out attestation_key.pem
? 2.查看EC私鑰文件?
cat attestation_key.pem
? 3.查看EC私鑰?
openssl ecparam -in attestation_key.pem -text
? 4.驗證EC參數?
openssl ecparam -in attestation_key.pem -check
?- self-signed certificate
? 5.創建公鑰證書?
openssl req -new -sha256 -key attestation_key.pem -out csr.csr -subj “/C=CN/ST=Shanghai/O=WhoAreYou/CN=WAY\ Fingerprint\ U2F\ Authenticator”
? 6.自簽發公鑰證書至attestation.pem?
openssl req -config opnssl.cnf -x509 -sha256 -days 3650 -key attestation_key.pem -in csr.csr -out attestation.pem
?- convert to der
openssl x509 -outform der -in attestation.pem -out attestation.der?
openssl ec -in attestation_key.pem -outform der -out attestation_key.der
?- generate C code
python dump-der.py > certificates.c || ( rm certificates.c && exit 1 )
> 使用openssl模擬CA和CA證書的簽發
當使用ssl/tls進行加密通信時,必須要有數字證書。若通信只限制在局域網內,可以不向第三方機構申請簽發證書,可以通過openssl模擬CA(Certificate Authority),并通過該CA簽發證書。
利用OpenSSL建立SSL安全通信(C/S)(win10 VS)- https://blog.csdn.net/qq_40394039/article/details/80570207
?
總結
以上是生活随笔為你收集整理的生成Apk签名证书keystore,openssl与证书,keystore,jks,pem/pk8的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2226):react之组件
- 下一篇: “约见”面试官系列之常见面试题第三十二篇