Я создал самозаверяющий сертификат и успешно закодировал его. Но я хочу подписать этот сертификат с другим самоподписанным сертификатом, который будет действовать как орган сертификации.Подписание сертификата X509 с другим самоподписанным сертификатом x509 [действует как CA]
код ниже:
X509Certificate caCert;
KeyStore keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(null, null);
CertAndKeyGen keypair = new CertAndKeyGen("RSA", "SHA1WithRSA", null);
X500Name x500Name = new X500Name(commonName, organizationalUnit, organization, city, state, country);
keypair.generate(keysize);
PrivateKey privKey = keypair.getPrivateKey();
X509Certificate[] chain = new X509Certificate[1];
chain[0] = keypair.getSelfCertificate(x500Name, new Date(), (long) validity * 24 * 60 * 60);
keypair.getCertRequest(x500Name);
keyStore.setKeyEntry(alias, privKey, keyPass, chain);
keyStore.store(new FileOutputStream("test.keystore"), keyPass);
caCert = (X509Certificate) keyStore.getCertificate(alias);
File crtFile = new File("saif.der");
writeCertificate(new FileOutputStream(crtFile), caCert);
Хотите сделать перекресток сертификации? или вы хотите подписать самоподписанный сертификат с другим самоподписанным сертификатом? –
@SaqibRezwan Я хочу подписать самоподписанный сертификат с подписанным сертификатом anothre. –
Как это возможно? проверьте сертификат asn1sturectureof X509. Допускается только одна подпись. Вы не можете иметь две подписи в одном сертификате. –