package io.cattle.platform.token; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.security.PrivateKey; import java.security.cert.X509Certificate; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import org.bouncycastle.openssl.jcajce.JcaPEMWriter; public class CertSet { X509Certificate cert; X509Certificate ca; PrivateKey key; public CertSet(X509Certificate ca, X509Certificate cert, PrivateKey key) { super(); this.cert = cert; this.ca = ca; this.key = key; } public X509Certificate getCert() { return cert; } public X509Certificate getCa() { return ca; } public PrivateKey getKey() { return key; } public void writeZip(OutputStream output) throws IOException { ZipOutputStream zos = new ZipOutputStream(output); write(zos, "ca.pem", ca); write(zos, "cert.pem", cert); write(zos, "key.pem", key); zos.close(); } protected void write(ZipOutputStream zos, String name, Object obj) throws IOException { ZipEntry ze = new ZipEntry(name); zos.putNextEntry(ze); @SuppressWarnings("resource") JcaPEMWriter writer = new JcaPEMWriter(new OutputStreamWriter(zos)); writer.writeObject(obj); writer.flush(); zos.closeEntry(); } }