📄 testcertificatedata.java
字号:
ICertificateStoreSessionRemote store = storehome.create(); CertificateInfo data3 = store.getCertificateInfo(admin, fp); assertNotNull("Failed to find cert", data3); log.debug("found by key! =" + data3); log.debug("fp=" + data3.getFingerprint()); log.debug("issuer=" + data3.getIssuerDN()); log.debug("subject=" + data3.getSubjectDN()); log.debug("cafp=" + data3.getCAFingerprint()); assertNotNull("wrong CAFingerprint", data3.getCAFingerprint()); log.debug("status=" + data3.getStatus()); assertTrue("wrong status", data3.getStatus() == CertificateDataBean.CERT_REVOKED); log.debug("type=" + data3.getType()); assertTrue("wrong type", (data3.getType() & SecConst.USER_ENDUSER) == SecConst.USER_ENDUSER); log.debug("serno=" + data3.getSerialNumber()); log.debug("expiredate=" + data3.getExpireDate()); log.debug("revocationdate=" + data3.getRevocationDate()); log.debug("revocationreason=" + data3.getRevocationReason()); assertEquals("Wrong revocation reason", data3.getRevocationReason(), RevokedCertInfo.REVOKATION_REASON_KEYCOMPROMISE); log.debug("Looking for cert with DN=" + CertTools.getSubjectDN(cert)); Collection certs = store.findCertificatesBySubjectAndIssuer(new Admin(Admin.TYPE_INTERNALUSER), CertTools.getSubjectDN(cert), CertTools.getIssuerDN(cert)); Iterator iter = certs.iterator(); while (iter.hasNext()) { X509Certificate xcert = (X509Certificate) iter.next(); log.debug(CertTools.getSubjectDN(xcert) + " - " + xcert.getSerialNumber().toString()); //log.debug(certs[i].toString()); } log.debug("<test05FindAgain()"); } /** * finds certs by expire time * * @throws Exception error */ public void test06FindByExpireTime() throws Exception { log.debug(">test06FindByExpireTime()"); ICertificateStoreSessionRemote store = storehome.create(); String fp = CertTools.getFingerprintAsString(cert); CertificateInfo data = store.getCertificateInfo(admin, fp); assertNotNull("Failed to find cert", data); log.debug("expiredate=" + data.getExpireDate()); // Seconds in a year long yearmillis = 365 * 24 * 60 * 60 * 1000; long findDateSecs = data.getExpireDate().getTime() - (yearmillis * 100); Date findDate = new Date(findDateSecs); log.info("1. Looking for cert with expireDate=" + findDate); Collection certs = store.findCertificatesByExpireTime(new Admin(Admin.TYPE_INTERNALUSER), findDate); log.debug("findCertificatesByExpireTime returned " + certs.size() + " certs."); assertTrue("No certs should have expired before this date", certs.size() == 0); findDateSecs = data.getExpireDate().getTime() + 10000; findDate = new Date(findDateSecs); log.info("2. Looking for cert with expireDate=" + findDate); certs = store.findCertificatesByExpireTime(new Admin(Admin.TYPE_INTERNALUSER), findDate); log.debug("findCertificatesByExpireTime returned " + certs.size() + " certs."); assertTrue("Some certs should have expired before this date", certs.size() != 0); Iterator iter = certs.iterator(); while (iter.hasNext()) { X509Certificate cert = (X509Certificate) iter.next(); Date retDate = cert.getNotAfter(); log.debug(retDate); assertTrue("This cert is not expired by the specified Date.", retDate.getTime() < findDate.getTime()); } log.debug("<test06FindByExpireTime()"); } /** * finds certs by issuer and serialno * * @throws Exception error */ public void test07FindByIssuerAndSerno() throws Exception { log.debug(">test07FindByIssuerAndSerno()"); String issuerDN = CertTools.getIssuerDN(cert); ICertificateStoreSessionRemote store = storehome.create(); String fp = CertTools.getFingerprintAsString(cert); CertificateInfo data3 = store.getCertificateInfo(admin, fp); assertNotNull("Failed to find cert", data3); log.debug("Looking for cert with DN:" + CertTools.getIssuerDN(cert) + " and serno " + cert.getSerialNumber()); Certificate fcert = store.findCertificateByIssuerAndSerno(new Admin(Admin.TYPE_INTERNALUSER), issuerDN, cert.getSerialNumber()); assertNotNull("Cant find by issuer and serno", fcert); //log.debug(fcert.toString()); log.debug("<test07FindByIssuerAndSerno()"); } /** * checks if a certificate is revoked * * @throws Exception error */ public void test08IsRevoked() throws Exception { log.debug(">test08IsRevoked()"); ICertificateStoreSessionRemote store = storehome.create(); String fp = CertTools.getFingerprintAsString(cert); CertificateInfo data3 = store.getCertificateInfo(admin, fp); assertNotNull("Failed to find cert", data3); log.debug("found by key! =" + data3); log.debug("fp=" + data3.getFingerprint()); log.debug("issuer=" + data3.getIssuerDN()); log.debug("subject=" + data3.getSubjectDN()); log.debug("cafp=" + data3.getCAFingerprint()); assertNotNull("wrong CAFingerprint", data3.getCAFingerprint()); log.debug("status=" + data3.getStatus()); assertTrue("wrong status", data3.getStatus() == CertificateDataBean.CERT_REVOKED); log.debug("type=" + data3.getType()); assertTrue("wrong type", (data3.getType() == CertificateDataBean.CERTTYPE_ENDENTITY)); log.debug("serno=" + data3.getSerialNumber()); log.debug("expiredate=" + data3.getExpireDate()); log.debug("revocationdate=" + data3.getRevocationDate()); log.debug("revocationreason=" + data3.getRevocationReason()); assertEquals("wrong reason", data3.getRevocationReason(), RevokedCertInfo.REVOKATION_REASON_KEYCOMPROMISE); log.debug("Checking if cert is revoked DN:'" + CertTools.getIssuerDN(cert) + "', serno:'" + cert.getSerialNumber().toString() + "'."); RevokedCertInfo revinfo = store.isRevoked(new Admin(Admin.TYPE_INTERNALUSER), CertTools.getIssuerDN(cert), cert.getSerialNumber()); assertNotNull("Certificate not found, it should be!", revinfo); int reason = revinfo.getReason(); assertEquals("Certificate not revoked, it should be!", RevokedCertInfo.REVOKATION_REASON_KEYCOMPROMISE, reason); assertTrue("Wrong revocationDate!", revinfo.getRevocationDate().compareTo(data3.getRevocationDate()) == 0); assertTrue("Wrong reason!", revinfo.getReason() == data3.getRevocationReason()); log.debug("Removed it!"); log.debug("<test08IsRevoked()"); } /** * Adds two certificate request histroy datas to the database. * * @throws Exception error */ public void test09addCertReqHist() throws Exception { log.debug(">test09addCertReqHist()"); ICertificateStoreSessionRemote store = storehome.create(); cert1 = CertTools.genSelfCert("C=SE,O=PrimeCA,OU=TestCertificateData,CN=CertReqHist1", 24, null, keyPair.getPrivate(), keyPair.getPublic(), false); cert2 = CertTools.genSelfCert("C=SE,O=PrimeCA,OU=TestCertificateData,CN=CertReqHist2", 24, null, keyPair.getPrivate(), keyPair.getPublic(), false); UserDataVO userdata = new UserDataVO(); Random rand = new Random(new Date().getTime() + 4711); for (int i = 0; i < 6; i++) { int randint = rand.nextInt(9); username += (new Integer(randint)).toString(); } log.debug("Generated random username: username =" + username); userdata.setUsername(username); userdata.setDN("C=SE,O=PrimeCA,OU=TestCertificateData,CN=CertReqHist1"); store.addCertReqHistoryData(admin,cert1, userdata); userdata.setDN("C=SE,O=PrimeCA,OU=TestCertificateData,CN=CertReqHist2"); store.addCertReqHistoryData(admin,cert2, userdata); log.debug("<test09addCertReqHist()"); } /** * checks that getCertReqHistory(Admin admin, BigInteger certificateSN, String issuerDN) * returns the right data. * * @throws Exception error */ public void test10getCertReqHistByIssuerDNAndSerial() throws Exception { log.debug(">test10getCertReqHistByIssuerDNAndSerial()"); ICertificateStoreSessionRemote store = storehome.create(); CertReqHistory certreqhist = store.getCertReqHistory(admin, cert1.getSerialNumber(),cert1.getIssuerDN().toString()); assertNotNull("Error couldn't find the certificate request data stored previously", certreqhist); UserDataVO userdata = certreqhist.getUserDataVO(); assertTrue("Error wrong username.", (userdata.getUsername().equals(username))); assertTrue("Error wrong DN.", (userdata.getDN().equals("C=SE,O=PrimeCA,OU=TestCertificateData,CN=CertReqHist1"))); log.debug("<test10getCertReqHistByIssuerDNAndSerial()"); } /** * checks that getCertReqHistory(Admin admin, String username) * returns the the two CertReqHistory object previously stored. * * @throws Exception error */ public void test11getCertReqHistByUsername() throws Exception { log.debug(">test11getCertReqHistByUsername()"); ICertificateStoreSessionRemote store = storehome.create(); Collection result = store.getCertReqHistory(admin, username); assertTrue("Error size of the returned collection.", (result.size() == 2)); Iterator iter = result.iterator(); while(iter.hasNext()){ CertReqHistory certreqhist = (CertReqHistory) iter.next(); assertTrue("Error wrong DN", ((certreqhist.getUserDataVO().getDN().equals("C=SE,O=PrimeCA,OU=TestCertificateData,CN=CertReqHist1"))|| (certreqhist.getUserDataVO().getDN().equals("C=SE,O=PrimeCA,OU=TestCertificateData,CN=CertReqHist2")))); } log.debug("<test11getCertReqHistByUsername()"); } /** * Removes all the previously stored certreqhist data. * * @throws Exception error */ public void test12removeCertReqHistData() throws Exception { log.debug(">test12removeCertReqHistData()"); ICertificateStoreSessionRemote store = storehome.create(); store.removeCertReqHistoryData(admin, CertTools.getFingerprintAsString(cert1)); store.removeCertReqHistoryData(admin, CertTools.getFingerprintAsString(cert2)); CertReqHistory certreqhist = store.getCertReqHistory(admin, cert1.getSerialNumber(),cert1.getIssuerDN().toString()); assertNull("Error removing cert req history data, cert1 data is still there", certreqhist); certreqhist = store.getCertReqHistory(admin, cert2.getSerialNumber(),cert2.getIssuerDN().toString()); assertNull("Error removing cert req history data, cert2 data is still there", certreqhist); log.debug("<test12removeCertReqHistData()"); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -