如何使用OpenPGP(Yubikey)签署应用程序包(APK)?

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

我想使用存储在我的Yubikey的OpenPGP小程序中的OpenPGP密钥来签署APK文件。

我知道,有一个solution for APK signing using Yubikey's PIV applet。但是,PIV applet只能处理密钥长度最多2048位的RSA密钥。

BSI TR-02102-1 Cryptographic Mechanisms Technical Guidelines(翻译英文版)指出,从2023年开始(或者在2023年及之后的使用中),仅允许密钥长度大于或等于3000位的RSA密钥。第一个可用的标准密钥长度是3072位。我必须遵守BSI TR-02102。

这总结为要求,我必须使用3072位的密钥长度和RSA作为算法,我不能使用PIV APK唱歌方法。

有没有办法使用Yubikey 4的OpenPGP小程序使用标准程序或使用自定义程序签署APK文件?

注意:私钥是在Yubikey上生成的,不可导出。这是由于Yubikey的设计和我的最低安全要求。因此,出口和对话不是一种可能的解决方案。

java android apk code-signing jar-signing
1个回答
0
投票

使用支持RSA的USB令牌或SmartCard 3072 4096用于个人身份验证?甚至Yubikey 5都不支持PIV / FIPS 201-2(这是一个SmartCard仿真)。我已经搜索了一段时间,但似乎几乎没有任何支持它的硬件(万一它甚至适用);我能找到的替代品是RSA SecurIDNitrokey Pro 2Gemalto IDBridge K50

随着APK签署v2v3,上传密钥的强度甚至可能不那么重要...它说RSA 1024, RSA 2048, RSA 4096, RSA 8192, RSA 16384得到支持,但它说实际释放密钥将具有哪个强度,这将是相当有趣的部分它。 V3SchemeSigner提示PKCS1 V1.5编码格式;但找到答案的唯一方法是通过运行ssh-keygen -lf ./rsa_key.pub(显示公钥文件的指纹,也显示密钥的强度)来检查Play商店中包的公钥。

security.stackexchange.com可能会提供进一步的线索。

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