编程语言
首页 > 编程语言> > 如何使用OpenPGP(Yubikey)签署应用程序包(APK)?

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

作者:互联网

我想使用存储在我的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的设计和我的最低安全要求.因此,出口和对话不是一种可能的解决方案.

解决方法:

使用支持RSA 3072 4096的USB令牌或SmartCard进行个人身份验证?甚至Yubikey 5也不支持PIV / FIPS 201-2(这是一个SmartCard仿真).我已经搜索了一段时间,但似乎几乎没有任何支持它的硬件(万一它甚至适用);我能找到的替代品是RSA SecurID,Nitrokey 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可能提供进一步的线索.

标签:jar-signing,android,java,apk,code-signing
来源: https://codeday.me/bug/20190910/1800358.html