Мне нужно подписать сертификат с помощью ЦС, но я не могу понять, как это сделать. Система, с которой мы работаем, в основном имеет клиента и сервер. Сервер имеет доступ к ЦС, необходимому для подписи сертификата клиента. Когда клиенту требуется обновленный сертификат, он сгенерирует пару ключей и отправит открытый ключ на сервер. После этого сервер подпишет открытый ключ в сертификат с помощью ЦС и отправит его обратно, чтобы клиент мог использовать его для установления будущих соединений.
Проблема, с которой я сталкиваюсь, заключается в том, что я не могунайти способ подписать новый сертификат. Я пытался использовать класс KeyPairGenerator
и класс CertAndKeyGen
, но все слишком расплывчато, чтобы понять это.
Вот что я имею сейчас:
CertAndKeyGen cert = new CertAndKeyGen("RSA", "SHA1WithRSA", "");
cert.generate(2048);
Signature dsa = Signature.getInstance("RSA", "SUN");
PKCS10 pkcs10 = cert.getCertRequest(new X500Name("AME"));
pkcs10.encodeAndSign(new X500Name("AME"), dsa);
код не включает в себя CA, хотя. Есть ли способ подписать его с помощью CA?