Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.bouncycastle.openssl.PEMWriter;
- import org.bouncycastle.operator.ContentSigner;
- import org.bouncycastle.pkcs.PKCS10CertificationRequest;
- import org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder;
- import org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequestBuilder;
- import org.bouncycastle.util.io.pem.PemObject;
- import sg.sleek.pdf.signing.GoogleKMSContentSigner;
- /*(imports)*/
- public class GenerateCSR {
- private static PublicKey getPublicKey() throws IOException, NoSuchAlgorithmException, InvalidKeySpecException {
- File file = new File("<path to public file>");
- byte[] byteKey = Files.readAllBytes(file.toPath());
- X509EncodedKeySpec X509publicKey = new X509EncodedKeySpec(byteKey);
- KeyFactory kf = KeyFactory.getInstance("RSA");
- return kf.generatePublic(X509publicKey);
- }
- public static void main(String[] args) throws IOException,InvalidKeySpecException, NoSuchAlgorithmException {
- PKCS10CertificationRequestBuilder p10Builder = new JcaPKCS10CertificationRequestBuilder(
- new X500Principal("CN=Sleek, O=Sleek Tech (Pte. Ltd.), OU=, C=SG, L=Singapore"), getPublicKey());
- ContentSigner signer = new GoogleKMSContentSigner();
- PKCS10CertificationRequest csr = p10Builder.build(signer);
- PemObject pemObject = new PemObject("CERTIFICATE REQUEST", csr.getEncoded());
- StringWriter csrString = new StringWriter();
- PEMWriter pemWriter = new PEMWriter(csrString);
- pemWriter.writeObject(pemObject);
- pemWriter.close();
- csrString.close();
- //Certificate request will be printed into STDOUT
- System.out.println(csrString);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement