应用程序身份验证 - 从命令行提取公共签名密钥

Posted

技术标签:

【中文标题】应用程序身份验证 - 从命令行提取公共签名密钥【英文标题】:app authentication - Extract public sign key from command line 【发布时间】:2017-02-01 20:24:33 【问题描述】:

我的客户没有安装用于 Eclipse 的 MobileFirst 插件,我需要指导他提取公共签名密钥以进行应用身份验证。 有没有办法从命令行中提取公共签名密钥?

【问题讨论】:

【参考方案1】:

用于保存用于签署 APK 的密钥的密钥库只是 JKS 格式的普通 Java 密钥库,可以使用标准 Java“keytool”命令对其进行操作。您可以通过执行以下操作以 PEM 格式提取证书:

keytool -exportcert -keystore keystore_name -alias alias_name -rfc > cert.txt

(其中“keystore_name”是密钥库文件的名称,“alias_name”是用于签署 APK 的密钥的密钥别名)

然后通过执行以下操作从您刚刚创建的“cert.txt”文件中提取公钥:

openssl x509 -in cert.txt -pubkey -noout

您需要的公钥将出现在“-----BEGIN PUBLIC KEY-----”和“-----END PUBLIC KEY-----”行之间。

如果您想在单个命令中执行此操作,例如:

keytool -exportcert -keystore keystore_name -alias alias_name -storepass keystore_password -rfc | openssl x509 -pubkey -noout | grep -v PUBLIC

只提取和打印公钥,以便您可以在 shell 变量或其他东西中捕获它。

【讨论】:

以上是关于应用程序身份验证 - 从命令行提取公共签名密钥的主要内容,如果未能解决你的问题,请参考以下文章

一文理解 Windows 身份验证原理

一文理解 Windows 身份验证原理

一文理解 Windows 身份验证原理

一文理解 Windows 身份验证原理

IBM MobileFirst - 应用程序真实性公钥提取

使用 .NET Core 中的公共安全密钥配置 JWT Bearer 令牌验证