/* * This file is part of cert-signer * Copyright (c) 2024 Paolo Lulli. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package net.lulli.certsigner.util; import org.bouncycastle.pkcs.PKCS10CertificationRequest; import org.bouncycastle.util.io.pem.PemObject; import org.bouncycastle.util.io.pem.PemWriter; import java.io.StringWriter; import java.security.PrivateKey; import java.security.cert.X509Certificate; public class PemUtil { private PemUtil(){} public static String toString(PKCS10CertificationRequest csr) { try { var pemObject = new PemObject("CERTIFICATE REQUEST", csr.getEncoded()); var str = new StringWriter(); var pemWriter = new PemWriter(str); pemWriter.writeObject(pemObject); pemWriter.close(); str.close(); return str.toString(); } catch (Exception e) { throw new IllegalStateException(e.getMessage()); } } public static String toString(PrivateKey privateKey) { try { var pemObject = new PemObject("RSA PRIVATE KEY", privateKey.getEncoded()); var str = new StringWriter(); var pemWriter = new PemWriter(str); pemWriter.writeObject(pemObject); pemWriter.close(); str.close(); return str.toString(); } catch (Exception e) { throw new IllegalStateException(e.getMessage()); } } public static String toString(X509Certificate x509Certificate) { try { var pemObject = new PemObject("CERTIFICATE", x509Certificate.getEncoded()); var str = new StringWriter(); var pemWriter = new PemWriter(str); pemWriter.writeObject(pemObject); pemWriter.close(); str.close(); return str.toString(); } catch (Exception e) { throw new IllegalStateException(e.getMessage()); } } }