@Test public void testSetData_setCertAndKeyData() throws Exception { final byte[] certData = FileUtils.readFileToByteArray(new File("./src/test/resources/certs/gm2552.der")); final byte[] keyData = FileUtils.readFileToByteArray(new File("./src/test/resources/certs/gm2552Key.der")); final byte[] rawCertData = CertUtils.certAndWrappedKeyToRawByteFormat(keyData, CertUtils.toX509Certificate(certData)); Certificate cert = new Certificate(); cert.setData(rawCertData); // just make sure an exception didn't happen here } }
@Test public void testWrapToRawBytes_assertConverted() throws Exception { final byte[] key = FileUtils.readFileToByteArray(new File("./src/test/resources/certs/gm2552Key.der")); final X509Certificate cert = CertUtils.toX509Certificate(FileUtils.readFileToByteArray(new File("./src/test/resources/certs/gm2552.der"))); byte[] rawBytes = CertUtils.certAndWrappedKeyToRawByteFormat(key, cert); assertNotNull(rawBytes); // convert back; final CertContainer container = CertUtils.toCertContainer(rawBytes); assertEquals(cert, container.getCert()); assertTrue(Arrays.equals(key, container.getWrappedKeyData())); assertNull(container.getKey()); }
@Test public void testWrapToRawBytes_signedBytesInSize_assertConverted() throws Exception { final byte[] rawP12 = FileUtils.readFileToByteArray(new File("./src/test/resources/certs/certCheckA.p12")); final CertUtils.CertContainer cont = CertUtils.toCertContainer(rawP12); byte[] rawBytes = CertUtils.certAndWrappedKeyToRawByteFormat(cont.getKey().getEncoded(), cont.getCert()); assertNotNull(rawBytes); // convert back; final CertContainer container = CertUtils.toCertContainer(rawBytes); assertEquals(cont.getCert(), container.getCert()); assertTrue(Arrays.equals(cont.getKey().getEncoded(), container.getWrappedKeyData())); assertNull(container.getKey()); } }
@Test public void saveWithCertAndPrivKeyData() throws Exception { cleanDatabase(); final byte[] certData = FileUtils.readFileToByteArray(new File("./src/test/resources/certs/gm2552.der")); final byte[] keyData = FileUtils.readFileToByteArray(new File("./src/test/resources/certs/gm2552Key.der")); Certificate addCert = new Certificate(); addCert.setData(CertUtils.certAndWrappedKeyToRawByteFormat(keyData, CertUtils.toX509Certificate(certData))); addCert.setOwner("gm2552@cerner.com"); certificateDao.save(addCert); final Collection<Certificate> certificates = certificateDao.list((String)null); assertEquals(1, certificates.size()); final Certificate cert = certificates.iterator().next(); assertTrue(cert.isPrivateKey()); CertUtils.CertContainer container = CertUtils.toCertContainer(certData); assertEquals(container.getCert(), CertUtils.toCertContainer(cert.getData()).getCert()); }
@Test public void testStripP12ProtectionTest_X509CertAndWrappedData_noMager_assertX509Returned() throws Exception { cleanDatabase(); final byte[] certData = loadCertificateData("gm2552.der"); final byte[] keyData = loadCertificateData("gm2552Key.der"); Certificate addCert = new Certificate(); addCert.setData(CertUtils.certAndWrappedKeyToRawByteFormat(keyData, CertUtils.toX509Certificate(certData))); addCert.setOwner("gm2552@cerner.com"); certificateDao.save(addCert); final Collection<Certificate> certificates = certificateDao.list((String)null); assertEquals(1, certificates.size()); final Certificate cert = certificates.iterator().next(); assertTrue(cert.isPrivateKey()); CertUtils.CertContainer container = CertUtils.toCertContainer(certData); assertEquals(container.getCert(), CertUtils.toCertContainer(cert.getData()).getCert()); }