Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. import org.bouncycastle.openssl.PEMWriter;
  2. import org.bouncycastle.operator.ContentSigner;
  3. import org.bouncycastle.pkcs.PKCS10CertificationRequest;
  4. import org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder;
  5. import org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequestBuilder;
  6. import org.bouncycastle.util.io.pem.PemObject;
  7. import sg.sleek.pdf.signing.GoogleKMSContentSigner;
  8.  
  9. /*(imports)*/
  10.  
  11. public class GenerateCSR {
  12.  
  13. private static PublicKey getPublicKey() throws IOException, NoSuchAlgorithmException, InvalidKeySpecException {
  14. File file = new File("<path to public file>");
  15. byte[] byteKey = Files.readAllBytes(file.toPath());
  16.  
  17. X509EncodedKeySpec X509publicKey = new X509EncodedKeySpec(byteKey);
  18. KeyFactory kf = KeyFactory.getInstance("RSA");
  19.  
  20. return kf.generatePublic(X509publicKey);
  21. }
  22.  
  23. public static void main(String[] args) throws IOException,InvalidKeySpecException, NoSuchAlgorithmException {
  24. PKCS10CertificationRequestBuilder p10Builder = new JcaPKCS10CertificationRequestBuilder(
  25. new X500Principal("CN=Sleek, O=Sleek Tech (Pte. Ltd.), OU=, C=SG, L=Singapore"), getPublicKey());
  26.  
  27. ContentSigner signer = new GoogleKMSContentSigner();
  28. PKCS10CertificationRequest csr = p10Builder.build(signer);
  29.  
  30. PemObject pemObject = new PemObject("CERTIFICATE REQUEST", csr.getEncoded());
  31. StringWriter csrString = new StringWriter();
  32. PEMWriter pemWriter = new PEMWriter(csrString);
  33. pemWriter.writeObject(pemObject);
  34. pemWriter.close();
  35. csrString.close();
  36.  
  37. //Certificate request will be printed into STDOUT
  38. System.out.println(csrString);
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement