gpt4 book ai didi

android - 在我的应用程序中固定公钥

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:01 27 4
gpt4 key购买 nike

作为安全措施的一部分,我将公钥固定在我的应用程序中,因为我已经从我的 PEM 证书中提取公钥,看起来像

-----BEGIN PUBLIC KEY-----
MIIBIj....IDAQAB
-----END PUBLIC KEY-----

但是在 OWASP 的示例代码中,我们确实看到了比较 DER 编码公钥的代码,

// DER encoded public key
private static String PUB_KEY = "30820122300d06092a864886f70d0101"
+ "0105000382010f003082010a0282010100b35ea8adaf4cb6db86068a836f3c85"
+ "5a545b1f0cc8afb19e38213bac4d55c3f2f19df6dee82ead67f70a990131b6bc"
+ "ac1a9116acc883862f00593199df19ce027c8eaaae8e3121f7f329219464e657"
+ "2cbf66e8e229eac2992dd795c4f23df0fe72b6ceef457eba0b9029619e0395b8"
+ "609851849dd6214589a2ceba4f7a7dcceb7ab2a6b60c27c69317bd7ab2135f50"
+ "c6317e5dbfb9d1e55936e4109b7b911450c746fe0d5d07165b6b23ada7700b00"
+ "33238c858ad179a82459c4718019c111b4ef7be53e5972e06ca68a112406da38"
+ "cf60d2f4fda4d1cd52f1da9fd6104d91a34455cd7b328b02525320a35253147b"
+ "e0b7a5bc860966dc84f10d723ce7eed5430203010001";

我知道 DER 是一种二进制格式,但不确定作者如何转换或提取上述格式?当我转换为 DER 时,它的原始字节与上述格式不同。有人对此有指点吗?

替代方法可以是,示例代码,

//Hack ahead: BigInteger and toString(). We know a DER encoded Public Key begins
//with 0x30 (ASN.1 SEQUENCE and CONSTRUCTED), so there is no leading 0x00 to drop.
RSAPublicKey pubkey = (RSAPublicKey) chain[0].getPublicKey();
String enc

oded = new BigInteger(1 /* positive */, pubkey.getEncoded()).toString(16);

如果我转换“编码”变量 base64 PEM 公钥格式。如何在 Android 中实现?

任何帮助将不胜感激

最佳答案

下面一行解决了我的问题:

String base64Encoded = Base64.encodeToString(pubkey.getEncoded(), Base64.DEFAULT).
replaceAll("\n", "");

关于android - 在我的应用程序中固定公钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667575/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com