Java tutorial
/** * WS-Attacker - A Modular Web Services Penetration Testing Framework Copyright * (C) 2013 Juraj Somorovsky * * 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; either version 2 of the License, or (at your option) any later * version. * * 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, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package wsattacker.library.signatureFaking.helper; import java.io.ByteArrayInputStream; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import junit.framework.TestCase; import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import sun.security.x509.X509CertImpl; /** * @author Juraj Somorovsky - juraj.somorovsky@rub.de * @version 0.1 */ public class CertificateHandlerTest extends TestCase { public static final String DIR = "src/test/resources/test-certificates"; Logger log = Logger.getLogger(CertificateHandlerTest.class); private static String LOG_FILE = "logging.properties"; /** * Create the test case * * @param testName name of the test case */ public CertificateHandlerTest(String testName) { super(testName); PropertyConfigurator.configure(LOG_FILE); } public static void testCertificateHandler() throws Exception { String certificate = FileReader.readFile(DIR + "/test-cert"); CertificateHandler ch = new CertificateHandler(certificate); ch.createFakedCertificate(); X509CertImpl faked = ch.getFakedCertificate(); CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); X509Certificate original = (X509Certificate) certFactory .generateCertificate(new ByteArrayInputStream(Base64.decodeBase64(certificate))); assertEquals(faked.getIssuerDN().getName(), original.getIssuerDN().getName()); assertEquals(faked.getSigAlgOID(), original.getSigAlgOID()); assertEquals(faked.getSubjectDN().getName(), original.getSubjectDN().getName()); faked.verify(faked.getPublicKey()); } }