keyStore 和.jks的签名的区别

本文解释了在Android应用开发中keystore与.jks文件的区别。keystore是Eclipse使用的签名文件,.jks则是Android Studio使用的签名文件。两者都用于确保应用的唯一性和安全性。

    很多做安卓的朋友,打包的时候,有时候遇到的是keystore 有时候看到的是。jks。这两个都是打包的生成的签名,可能很多做android 的新手对他们都有这样的疑问:它们到底有什么区别?

如果突然有人问你这个问题,可能临时还答不上来,具体有什么区别?

     其实他们的区别在于:

        keystore 是Eclipse 打包生成的签名。 而 。jks是Android  studio 生成的签名!都是用来打包的,并保证应用的唯一性!这就是他们的最大的区别!

   备注:很多第三方市场,我们上传apk的时候,他们只支持keystore,需要我们把.jks签名转化为.keystore!

### Keytool `-genkeypair` 命令详解 #### 功能概述 Keytool 是 Java 提供的一个密钥证书管理工具,主要用于生成密钥对、创建自签名证书以及管理密钥库。其中,`-genkeypair` 子命令用于生成一对公钥/私钥,并将其存储到指定的密钥库中。 --- #### 参数说明 以下是 `keytool -genkeypair` 的主要参数及其作用: 1. **`-alias`** - 指定密钥对的唯一别名。 - 示例:`myKeyAlias` - 注释:此别名将在后续操作中用来引用该密钥对[^1]。 2. **`-keyalg`** - 指定使用的加密算法。 - 支持的常见算法有 RSA EC (Elliptic Curve)。 - 示例:`RSA` 3. **`-keystore`** - 指定密钥库文件的位置名称。 - 如果文件不存在,则会自动创建新的密钥库。 - 示例:`uat.jks` 4. **`-storetype`** - 指定密钥库的类型,默认为 JKS(Java Keystore),推荐使用 PKCS12 格式以满足现代安全需求。 - 示例:`PKCS12` 5. **`-storepass`** - 设置或确认密钥库的密码。 - 此密码用于保护整个密钥库的安全性。 - 示例:`changeit` 6. **`-keysize`** - 指定密钥的长度(以位为单位)。 - 对于 RSA 算法,通常设置为 2048 或更高。 - 示例:`2048` 7. **`-validity`** - 定义生成的证书有效期(以天为单位)。 - 示例:`365` 8. **`-dname`** - 指定 Distinguished Name 字段的内容,包含 CN(Common Name)、OU(Organizational Unit)、O(Organization)、L(Locality)、S(State)、C(Country Code)等信息。 - 示例:`CN=uat.example.com, OU=Development, O=Example Inc., L=CityName, S=StateName, C=US` 9. **`-keypass`** - 可选参数,用于单独定义私钥的密码。 - 若未提供,则默认密钥库密码相同。 --- #### 使用示例 以下是一条完整的命令,按照您的需求生成一个基于 PKCS12 格式的 UAT 密钥库文件 (`uat.jks`),并配置必要的字段: ```bash keytool -genkeypair \ -alias uatKey \ -keyalg RSA \ -keysize 2048 \ -validity 365 \ -keystore uat.jks \ -storetype PKCS12 \ -storepass changeit \ -keypass changeit \ -dname "CN=uat.example.com, OU=Development, O=Example Inc., L=CityName, S=StateName, C=US" ``` - 上述命令中的各部分均对应前面提到的功能描述。 - 特别注意 `-storetype PKCS12` 部分,这是为了确保生成的密钥库符合行业标准格式[^4]。 --- #### 查看生成的密钥库信息 可以使用以下命令验证生成的密钥库内容: ```bash keytool -list -v -keystore uat.jks -storetype PKCS12 -storepass changeit ``` 这将显示详细的密钥库结构、证书链以及其他元数据。 --- ###
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值