summaryrefslogtreecommitdiffstats
path: root/security-utils/src/main/java/com/yahoo/security/Pkcs10CsrUtils.java
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-10-17 16:21:59 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2018-10-17 16:21:59 +0200
commit19ca55a3bb4e308ef1122a1cdd8c911b811e18be (patch)
tree17aa598f52f0034d2246babe749796923e90a7bf /security-utils/src/main/java/com/yahoo/security/Pkcs10CsrUtils.java
parent39da869d94cebe5bd851e1b4fb456372586a6870 (diff)
Move classes in com.yahoo.security to security-utils
Diffstat (limited to 'security-utils/src/main/java/com/yahoo/security/Pkcs10CsrUtils.java')
-rw-r--r--security-utils/src/main/java/com/yahoo/security/Pkcs10CsrUtils.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/Pkcs10CsrUtils.java b/security-utils/src/main/java/com/yahoo/security/Pkcs10CsrUtils.java
new file mode 100644
index 00000000000..6f12450528d
--- /dev/null
+++ b/security-utils/src/main/java/com/yahoo/security/Pkcs10CsrUtils.java
@@ -0,0 +1,38 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.security;
+
+import org.bouncycastle.openssl.PEMParser;
+import org.bouncycastle.openssl.jcajce.JcaPEMWriter;
+import org.bouncycastle.pkcs.PKCS10CertificationRequest;
+import org.bouncycastle.util.io.pem.PemObject;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.UncheckedIOException;
+
+/**
+ * @author bjorncs
+ */
+public class Pkcs10CsrUtils {
+
+ private Pkcs10CsrUtils() {}
+
+ public static Pkcs10Csr fromPem(String pem) {
+ try (PEMParser pemParser = new PEMParser(new StringReader(pem))) {
+ return new Pkcs10Csr((PKCS10CertificationRequest) pemParser.readObject());
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+
+ public static String toPem(Pkcs10Csr csr) {
+ try (StringWriter stringWriter = new StringWriter(); JcaPEMWriter pemWriter = new JcaPEMWriter(stringWriter)) {
+ pemWriter.writeObject(new PemObject("CERTIFICATE REQUEST", csr.getBcCsr().getEncoded()));
+ pemWriter.flush();
+ return stringWriter.toString();
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+}