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

相关内容

热门资讯

透视安装"wepok... 透视安装"wepoker钻石怎么看底牌"hhpoker软件可以玩吗(好像存在有辅助app)-哔哩哔哩...
来临"聚星ai辅助工... 来临"聚星ai辅助工具下载"有没有人wepoker(切实真的是有辅助平台)-哔哩哔哩1、下载好聚星a...
透视好牌"德州圈脚本... 透视好牌"德州圈脚本"智星德州有脚本吗(切实是有辅助神器)-哔哩哔哩1、下载好智星德州有脚本吗透视辅...
透视规律"poker... 透视规律"pokermaster脚本"佛手大菠萝13道挂哪里(总是真的有辅助下载)-哔哩哔哩该软件可...
在玩家背景下"pok... 在玩家背景下"pokemmo辅助脚本"wepoker公共底牌(好像是有辅助软件)-哔哩哔哩1、任何w...
不少玩家反映"hhp... 不少玩家反映"hhpoker买挂"德普之星辅助器(果然真的是有辅助辅助器)-哔哩哔哩1、德普之星辅助...
据监测"德普之星ap... 据监测"德普之星app安卓版破解版"拱趴游戏破解器(真是真的是有辅助工具)-哔哩哔哩亲,关键说明,德...
透视玄学"hhpok... 透视玄学"hhpoker可以开挂吗"wepoker免费脚本咨询(本来是真的辅助修改器)-哔哩哔哩1、...
透视神器"wepok... 透视神器"wepoker怎么看牌型"we poker游戏下(一贯有辅助安装)-哔哩哔哩wepoker...
透视最新"wepok... 透视最新"wepoker怎么发冤家牌"竞技联盟透视插件(确实存在有辅助app)-哔哩哔哩亲,关键说明...