Android JKS MD5 SHA1 公钥生成 私钥生成 APP备案 内容获取

本文介绍了如何使用keytool管理Javakeystore(jks)和PKCS12文件,包括列出keystore内容、导出证书、转换为.p12文件,以及使用openssl操作私钥和公钥。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 查看 jks

keytool -list -v -keystore /Users/lipengfei/Desktop/android/androidproject.jks
密钥库类型: jks
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: ddgj
创建日期: 2018-11-16
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=cn, OU=cn, O=cn, L=cn, ST=cn, C=cn
发布者: CN=cn, OU=cn, O=cn, L=cn, ST=cn, C=cn
序列号: 7576600d
有效期为 Fri Nov 16 11:39:38 CST 2018 至 Tue Nov 10 11:39:38 CST 2043
证书指纹:
	 MD5:  xx:xx:xx:xx:xx:xx:66:7B:C1:B2:50:xx:00:xx:00:9C
	 SHA1: xx:xx:xx:C3:02:xx:2A:E4:xx:20:0B:21:xx:37:9F:xx:26:DA:C1:18
	 SHA256: xx:xx:xx:xx:xx:xx:xx:xx:B4:FE:xx:78:CC:5C:xx:E1:5D:xx:21:B8:5B:7E:AE:7D:40:51:C8:91:4A:4B:3F:72
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

2 cre证书

keytool -list -rfc -keystore /Users/lipengfei/Desktop/android/androidproject.jks -storepass 123456
密钥库类型: jks
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: ddgj
创建日期: 2018-11-16
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXCCAiOgAwIBAgIEdXZgDTANBgkqhkiG9w0BAQsFADBOMQswCQYD
bjELMAkGA1UECBMCY24xCzAJBgNVBAcTAmNuMQswCQYDVQQKEwJjbjELMAkGA1UE
CxMCY24xCzAJBgNVBAMTAmNuMB4XDTE4MTExNjAzMzkzOFoXDTQzMTExMDAzMzkz
OFowTjELMAkGA1UEBhMCY24xCzAJBgNVBAgTAmNuMQswCQYDVQQHEwJjbjELMAkG
A1UEChMCY24xCzAJBgNVBAsTAmNuMQswCQYDVQQDEwJjbjCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAIclHpMCY50D+3fZ8xEW6HLUHxzj0JHY5NjH4KCI
rd0oU7GpgP/IaFb/rlh/3WU+S1ObdHZ56dvWQasy0fvzl2WlL0SdECa0mJKOabks
BL+70UL3tr/CxS/JQWMIB/UpKRXvgbuqXst8eXLENOkRLz/LUcdcuKyf0wljgofb
yqsrekO/DCk+tVBNfyTqvTOblwwtRL6zFJGyJ6xIJhKDiaTgNobeY7IlTpJlt5EC
IOGGhhIC1LCEOGoljZJnCy+9yyfmBNonhW/iFBd7f0LiZ1I3WhrkuF+Rgnny4Js1
VlPSzDrhjDkP3d4bYuvYr8CtbEZebRcEBSwCKF6SfOtHbIMCAwEAAaMhMB8wHQYD
VR0OBBYEFK5O6Jj7cPy0HVsoFWtMhpOpTV+AMA0GCSqGSIb3DQEBCwUAA4IBAQAQ
JSavzixRa5J/G+0saC2LO/+MinTdvA6iOGBmPc9GVKpsDCArpPv2RQ4yWbYnK5fj
PaQ61em26aKf5utYWabZkzpGHoopEaoBZ+EIpNKCB/k61PQLzW6Nyb0zDWJj6fQa
g3dMQkN55hgWFwh5Zg+2WCizVQdjf3T2GEX8xuxwrEH9C/ABcp3RO81pkOvuGHMw
8lAuGBBvIzvMSqcrAOcO2W+3TfsrxIoDabW8qSAfNzoXZmjvDggS+zNpHJw63KzB
7nCdpnGZ7wI0Gb++gAUyK5EqnZVFssG5PI+LTQgyZeVpOdfHVOQVz0OvtP7hqijJ
mDYbBmWmTR4BXXXXXXXX
-----END CERTIFICATE-----


*******************************************
*******************************************

3 生成 .p12 文件

keytool -importkeystore -srckeystore /Users/lipengfei/Desktop/android/androidproject.jks -destkeystore /Users/lipengfei/Desktop/android/fanyfull.p12 -deststoretype PKCS12 -srcalias ddgj -deststorepass 123456 -destkeypass 123456

在这里插入图片描述
4 生成私钥

openssl pkcs12 -nodes -in /Users/lipengfei/Desktop/android/fanyfull.p12 -out /Users/lipengfei/Desktop/android/private.pem

在这里插入图片描述
4 生成公钥

openssl pkey -in /Users/lipengfei/Desktop/android/private.pem -pubout -out /Users/lipengfei/Desktop/android/public.pem

在这里插入图片描述
在这里插入图片描述

### 回答1: 在 Studio中,签名密钥可以通过以下步骤生成APK文件: 1. 在“Gradle”面板中,打开“app”文件夹并展开“Tasks”>“android”>“signingReport”。 2. 单击“signingReport”并等待一段时间,Gradle将生成签名密钥并在“Run”面板中显示。 3. 复制签名密钥的内容,包括“SHA1”和“MD5”指纹以及“debug”和“release”密钥别名。 4. 在“Build”菜单中,选择“Generate Signed Bundle / APK”。 5. 在“Generate Signed Bundle or APK”对话框中,选择“APK”并单击“Next”。 6. 在“Keystore path”字段中,输入签名密钥的路径。如果您没有现成的签名密钥,可以单击“Create new”并按照向导创建一个新的。 7. 输入密钥库密码、密钥别名和密钥密码。 8. 选择“Release”版本的构建类型并单击“Finish”。 9. 这将生成一个签名的APK文件,可以在“app / release”文件夹中找到。 ### 回答2: 在安卓应用开发中,生成“签名密钥”(Signing Key)是为了保证 APK 文件的完整性和身份验证。下面是一种常用的方式来生成 APK 文件的签名密钥: 1. 首先,在开发环境中使用 Java Development Kit (JDK) 来生成一个签名密钥。可以使用 JDK 提供的 keytool 工具来完成此操作。在命令行界面中,输入以下命令: ``` keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 10000 -keystore mykeystore.jks ``` 2. 上述命令中的 `-alias` 参数指定了密钥的别名,可以为其指定任意名称。`-keyalg` 参数指定了密钥的算法,这里使用 RSA 算法。`-keysize` 参数指定了密钥的长度,这里选择 2048 位。`-validity` 参数指定了有效期,以天为单位。`-keystore` 参数指定了密钥库的名称,这里为 `mykeystore.jks`。 3. 运行上述命令后,系统会提示输入一些信息,如姓名、组织等。按照提示逐步输入并确认相关信息。 4. 完成上述步骤后,系统将生成一个名为 `mykeystore.jks` 的密钥库文件,并在该文件中存储了生成私钥公钥对。 5. 接下来,将该密钥库文件放置在开发环境合适的目录下,并在项目的构建过程中引用该文件。在 Android Studio 中,可以在构建 gradle 脚本文件中指定签名密钥的位置。 6. 在构建 APK 文件时,使用具有签名权限的密钥库文件和别名对 APK 进行签名。可通过运行下面的命令来签名 APK: ``` jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mykeystore.jks myapp.apk myalias ``` 7. 运行上述命令后,将需要签名的 APK 文件(这里为 `myapp.apk`)以及密钥库文件和别名作为参数传入。系统将使用密钥库中的私钥为 APK 文件进行签名。 通过以上步骤,将会生成一个经过签名的 APK 文件。签名密钥的目的是确保 APK 文件的完整性和来源,以防止未经授权的篡改和欺骗。 ### 回答3: 在Android应用的开发过程中,签名密钥(Signing Key)起着至关重要的作用,用于确保APK文件的完整性并验证应用的身份。以下是签名密钥生成APK文件的步骤。 首先,我们需要生成一个私钥文件(keystore)作为签名密钥的载体。可以使用Java Keytool工具来生成私钥文件。打开命令行或终端窗口,输入以下命令: ``` keytool -genkey -v -keystore mykey.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000 ``` 这个命令会生成一个名为mykey.keystore的私钥文件,并创建一个别名为mykey的密钥对。 在生成私钥文件时,我们需要设置以下内容- 密钥存储库的密码(-keystore):这是用于保护私钥文件的密码。 - 别名(-alias):用于标识密钥对的别名,可以自定义。 - 密钥算法(-keyalg):指定加密算法的名称,通常选择RSA。 - 密钥大小(-keysize):指定密钥的长度,一般选择2048位。 - 有效期(-validity):指定密钥的有效期,单位为天。 生成私钥文件后,我们可以使用它来为APK文件进行签名。在Android Studio中,可以将私钥文件添加到项目的“app”目录下,并在构建配置中指定签名配置。具体操作为: 1. 打开项目中的build.gradle文件,找到android -> signingConfigs -> config项。 2. 在config项中添加以下代码,指定私钥文件的路径和密码: ``` storeFile file("mykey.keystore") storePassword "密钥存储库密码" keyAlias "别名" keyPassword "密钥密码" ``` 3. 在buildTypes中的release项中,添加以下代码,将签名配置指定为config: ``` signingConfig signingConfigs.config ``` 完成以上配置后,即可使用签名密钥生成APK文件。每次进行构建时,Android Studio将使用私钥文件对APK文件进行签名,以确保APK文件的完整性和应用的身份验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值