Android拒绝自签名CA证书
创始人
2024-10-08 15:01:38
0

Android设备默认情况下会拒绝使用经过自签名的CA证书,因此需要使用证书授权机构(CA)来签名证书。以下是使用Bouncy Castle库创建自签名证书和CA证书的示例代码:

第一步是创建CA证书和私钥。这里使用RSA算法和SHA256散列:

Security.addProvider(new BouncyCastleProvider());

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA", "BC");
keyPairGenerator.initialize(2048, new SecureRandom());

KeyPair caKeyPair = keyPairGenerator.generateKeyPair();

X509v3CertificateBuilder caCertBuilder =
    new JcaX509v3CertificateBuilder(new X500Name("CN=MyCA"), BigInteger.valueOf(1),
                                    new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000),
                                    new Date(System.currentTimeMillis() + 10 * 365 * 24 * 60 * 60 * 1000),
                                    new X500Name("CN=MyCA"), caKeyPair.getPublic());

ContentSigner signer =
    new JcaContentSignerBuilder("SHA256WithRSAEncryption").setProvider("BC")
        .build(caKeyPair.getPrivate());

X509Certificate caCert = new JcaX509CertificateConverter().setProvider("BC")
    .getCertificate(caCertBuilder.build(signer));

第二步是创建服务器证书和私钥,并将其用CA证书签名:

KeyPair serverKeyPair = keyPairGenerator.generateKeyPair();
X509v3CertificateBuilder serverCertBuilder =
    new JcaX509v3CertificateBuilder(caCert.getSubject(), BigInteger.valueOf(1),
                                    new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000),
                                    new Date(System.currentTimeMillis() + 10 * 365 * 24 * 60 * 60 * 1000),
                                    new X500Name("CN=MyServer"), serverKeyPair.getPublic());

signer = new JcaContentSignerBuilder("SHA256WithRSAEncryption").setProvider("BC")
    .build(caKeyPair.getPrivate());

X509Certificate serverCert = new Jca

相关内容

热门资讯

透视总结!poker worl... 透视总结!poker world辅助(透视)都是有挂(详细辅助2025新版);1、实时开挂更新:用户...
一分钟揭秘!约局吧德州有挂吗,... 一分钟揭秘!约局吧德州有挂吗,拱趴大菠萝万能挂图解,详细教程(有挂软件);致您一封信;亲爱拱趴大菠萝...
透视了解!wepoker透视脚... 透视了解!wepoker透视脚本(透视)都是存在有挂(详细辅助透牌教程)1、用户打开应用后不用登录就...
重大通报!aa poker辅助... 这是一款非常优秀的aa poker辅助 ia辅助检测软件,能够让你了解到aa poker辅助中牌率当...
查到实测辅助!hhpoker是... 您好,菠萝辅助器免费版的功能介绍这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】...
透视了解!wepoker有没有... 透视了解!wepoker有没有机器人(透视)果然存在有挂(详细辅助软件教程);1、系统规律教程、辅助...
透视ai代打!hhpoker免... 透视ai代打!hhpoker免费透视脚本(透视)一贯有挂(详细辅助规律教程)hhpoker免费透视脚...
重要通知!wepoker挂,h... 重要通知!wepoker挂,hh poker辅助有用吗,专业教程(有挂技巧);最新版2024是一款经...
透视线上!wepoker轻量版... 透视线上!wepoker轻量版辅助(透视)竟然真的有挂(详细辅助详细教程)1、任何ai辅助神器的玩家...
推荐十款!pokemmo辅助官... 推荐十款!pokemmo辅助官网,wepoker钻石怎么看底牌,力荐教程(有挂教程);建议优先通过w...