package org.limewire.security.certificate; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; /** * This class must be run from the root of the limewire repository. */ public class CertificateImporter { public static void main(String[] args) throws CertificateException, KeyStoreException, NoSuchAlgorithmException, IOException { String base = "src/main/java/org/limewire/security/certificate/v3certs/"; // The keystore to add the certificates to // FileInputStream ksis = new FileInputStream(base + "keystore"); // The certificate files, to be added to keystore FileInputStream certFile1 = new FileInputStream(new File(base, "cacert.der")); FileInputStream certFile2 = new FileInputStream(new File(base, "promocert.der")); CertificateFactory cf = CertificateFactory.getInstance("X.509"); // Read the 3 certificates into memory Certificate cert1 = cf.generateCertificate(certFile1); X509Certificate cert2 = (X509Certificate)cf.generateCertificate(certFile2); // Read the keystore file, type="jks" KeyStore ks = KeyStore.getInstance("jks"); char[] password = "".toCharArray(); ks.load(null, password); // Add certificates to keystore ks.setCertificateEntry("ca.limewire.com", cert1); ks.setCertificateEntry("promotion.limewire.com", cert2); // Write keystore to file system ks.store(new FileOutputStream(new File(base, "limewire.keystore")), password); } }