Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。Android证书的生成是自助和免费的,不需要审批或付费。
Oracle官方下载jre安装包:https://www.oracle.com/technetwork/java/javase/downloads/index.html
jdk1.8.0_201的百度网盘地址:https://pan.baidu.com/s/1SPpySlZksTuti8IKe7kCrQ ,提取码:fly6
需确保电脑上安装了JRE(JRE环境),我们将使用JRE自带的创建和管理数字证书的工具Keytool,并使用keytool命令生成签名证书。
以Windows平台,jre安装目录为“E:\jdk1.8.0_201”为例,安装完成后,需要设置为全局变量:
点击电脑右键->选择“属性”,进入“关于”界面,点击右侧“相关设置”下方的“高级系统设置”,然后在“高级”栏目底部,选择“环境变量”,如图所示:
除了上面的方式,我们还可以通过cmd命令行的添加:
set PATH=%PATH%;"E:\jdk1.8.0_201\jre\bin"
注意:
1.环境变量配置是安装目录下的\jre\bin文件夹。如果是其他版本,直接选择\bin文件夹目录。
2.安装JRE环境,建议低版本。否则容易出现证书无法使用的情况,建议jdk1.8.0的版本。
使用keytool -genkey命令生成证书:
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
回车后会提示:
Enter keystore password: /*输入证书文件密码,输入完成回车*/
Re-enter new password: /*再次输入证书文件密码,输入完成回车*/
What is your first and last name?
[Unknown]: /*输入名字和姓氏,输入完成回车 */
What is the name of your organizational unit?
[Unknown]: /*输入组织单位名称,输入完成回车 */
What is the name of your organization?
[Unknown]: /*输入组织名称,输入完成回车 */
What is the name of your City or Locality?
[Unknown]: /*输入城市或区域名称,输入完成回车 */
What is the name of your State or Province?
[Unknown]: /*输入省/市/自治区名称,输入完成回车 */
What is the two-letter country code for this unit?
[Unknown]: /*输入国家/地区代号(两个字母),中国为CN,输入完成回车 */
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?
[no]: /*确认上面输入的内容是否正确,输入y,回车 */
Enter key password for <testalias>
(RETURN if same as keystore password): /*确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以*/
以上命令运行完成后就会生成证书。注意:上述信息填写要规范,乱填有可能会影响应用上架应用市场。
注意:出现“JKS 密钥库使用专用格式”的提示,如下:
解决方案:把它复制粘贴后,在终端中黏贴进行运行,就可以了。
keytool -importkeystore -srckeystore test.keystore -destkeystore test.keystore -deststoretype pkcs12
如果你不想下载java的jdk,直接可以使用第三方在线工具进行生成:http://www.applicationloader.net/appuploader/keystore.php
只需要输入证书的别名,密码和创建者名称或者公司名称即可创建安卓证书。如果是测试环境,推荐使用这种方式。
可以使用以下命令查看:
keytool -list -v -keystore test.keystore
Enter keystore password: //*输入密码,回车
会输出以下格式信息:
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: test
Creation date: 2019-10-28
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN
Serial number: 7dd12840
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119
Certificate fingerprints:
MD5: F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5
SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7
SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
其中证书指纹信息(Certificate fingerprints):
在应用上架市场的时候,部分应用市场可能需要你提供jks,或者pem格式的文件,这里就需要进行转换操作。下面以“test.keystore”文件为例:
先转成.p12
keytool -importkeystore -srckeystore test.keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore test.p12
后把.p12转成.jks
keytool -v -importkeystore -srckeystore test.p12 -srcstoretype PKCS12 -destkeystore test.jks -deststoretype JKS
keytool -export -rfc -keystore test.jks -alias fishjump -file test.pem
在每次进行转换的时候,都需要你输入3次证书文件密码。
首先需要下载Pepk.jar文件。
pepk.jar的 百度网盘地址:https://pan.baidu.com/s/1FEnsLuytvtBbUOyWdau1Xw,提取码:fly6
把Pepk.jar和你项目的签名文件(xxx.jks)复制到同一文件夹下,然后运行cmd命令cd到该文件夹,执行如下命令:
java -jar pepk.jar --keystore test.jks --alias alias --output=output.zip --encryptionkey=…… --include-cert
执行过程会让你输入key的密码,直接输入就行,执行完成会在目录下生成output.zip文件。
注意:使用git bash来输入命令可能会出现生成失败的情况,建议使用cmd。
今天带大家做一个网页版的一个精美的计算器,使用的计算器可以实现标准计算器的功能,题目:计算器的实现,技术:html+css+js,使用html+css+js实现简易计算器,开启你的计算之旅吧。效果图如下,复制即可使用
C/S(Client/Server) :客户端/服务器结构,其中客户端和服务器端都是独立的计算机;B/S(Browser/Server):浏览器/服务器结构,B/S是特殊的一种C/S结构,是对C/S的改进和变化,B/S是基于应用层http协议的web
多页面应用:每次页面跳转,后台都会返回一个新的HTML文档,就是多页面应用。单页应用:用vue写的项目是单页应用,刷新页面会请求一个HTML文件,切换页面的时候,并不会发起新的请求一个HTML文件,只是页面内容发生了变化
我们在开发多Tab应用时候,常常会遇到多个Tab状态同步的问题。想象如下场景:用户主界面,显示用户购物车内待结算的商品总数。此时,用户可能打开多个Tab
1.flutter开发者网站下载url_launcher插件;在 pubspec.yaml 文件中添加依赖;安装:flutter pub get;导入;_launchURL、_openMapApp为自定义方法名 可以根据自己的场景自定义名称
Flask是一个使用Python编写的轻量级Web应用框架。以管理员身份,打开命令提示符窗口,输入下面命令py -3 -m pip install flask
你是否正处于选择 App 开发技术的两难境地?如今,渐进式 Web 应用程序需求旺盛。知道这是为什么吗 ?下面让我们来详细的梳理一下。移动电话用户的增长促使在线企业重新考虑对移动应用的优化
心理学中有一篇相当古老、但又非常重要的论文,题为《魔法数字七(上下浮动二):人类信息处理能力中的一些限制》。这篇文章衡量了大脑处理信息的极限,并给出了一个具体的数字:人脑可以同时容纳五到九个概念
使用typescript构建Vue应用和使用js一样,都是通过vue-cli去初始化并创建一个vue项目,只不过使用typescript构建的时候要在脚手架问卷操作的时候勾选上typescript选项。使用typescript构建的Vue项目发生了一些变化:
BFC就是块级格式化上下文,是页面盒模型布局中的一种 CSS 渲染模式,相当于一个独立的容器,里面的元素和外部的元素相互不影响。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!