密钥库内的 Android pem 证书

问题描述 投票:0回答:1

我有一个不是我做的项目,但现在我需要修复一些东西, 有人在项目中添加了一个 pem 证书(私钥和证书),该项目允许应用程序与服务器通信(在 network_security_config 信任锚中使用),问题是我需要构建签名的发布 apk,构建过程崩溃,因为 pem 证书在里面一个明显违反规则的项目,如何在密钥库中添加此 pem 证书(或创建新的证书),或者是否有其他解决方案来解决此问题?可能是沟通方式不好。 谢谢您的回答!

我尝试创建带有证书的新密钥库,但没有成功

android certificate apk digital-signature pem
1个回答
0
投票

要将 PEM 文件中的私钥和证书包含到密钥库中,您可以使用 Java 开发工具包 (JDK) 附带的 keytool 命令行工具。以下是一般步骤:

将 PEM 转换为 PKCS12:

openssl pkcs12 -export -out keystore.p12 -inkey private-key.pem -in certificate.pem

此命令将提示您输入密钥库的密码。请务必记住它,因为稍后您将需要它。

将 PKCS12 转换为 JKS(Java 密钥库):

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS

您需要提供密钥库密码并为 JKS 密钥库设置新密码。

将密钥库添加到您的应用程序:

将生成的 keystore.jks 文件移动到项目中的安全位置。 更新您的构建配置以使用此密钥库来签署发布 APK。 例如,在您的 build.gradle 文件中,您可能有这样的内容:

android {
    ...
    signingConfigs {
        release {
            storeFile file('path/to/your/keystore.jks')
            storePassword 'your_keystore_password'
            keyAlias 'your_key_alias'
            keyPassword 'your_key_password'
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            ...
        }
    }
    ...
}

将“path/to/your/keystore.jks”、“your_keystore_password”、“your_key_alias”和“your_key_password”替换为您的实际值。

进行这些更改后,您应该能够构建签名的发布 APK,而不会违反任何安全规则。

注意:始终安全地处理密钥库文件、密码和密钥。确保它们不被共享或存储在公共存储库中。

© www.soinside.com 2019 - 2024. All rights reserved.