List of usage examples for org.apache.commons.lang.time DateUtils addYears
public static Date addYears(Date date, int amount)
From source file:mitm.common.security.certificate.GenerateTestCertificates.java
private void generateCertificateCriticalExtendedKeyUsage() throws Exception { X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder(); String encodedPrivateKey = "30820276020100300d06092a864886f70d0101010500048202603082025c" + "0201000281810096990cdd93c7bd2ca4d406285833cd356cc668f2571338" + "46fb4dfc885f275bdfb9bf45d539f89e826e442c0a750206a33d40600711" + "09ba96eb400710edf90590604e13ff7b624001b4b75c3fd388d18bcd71b4" + "c3e4a06c08da3fed5365db5d08cfb10321235da904886ea0329dbf041fa1" + "890f97d2b53a366f643dd344cc2e69020301000102818050ee10d6e67ad9" + "73ab6471a6aeb7afd8bd0ae70d0cb43c7310cbf9210419afaacc3438fffc" + "765a2077c754ef8dafb807737c2bdec04e3d22ab6bae206ff27a05284a96" + "015d5437739ffdb6801f537b7b7406e6088a56324105bce1fcfc86bc8a29" + "e9adb0ae4152d23f695bfe585557d73da61bf7eb7c1bbdc164afed60e54e" + "bd024100ca4e8e4e7e905e4b273d1381f4323ce673d5d33ce5a75f46d719" + "8c4ea1bcc13b621f314fa6166cc6193ff912814c54a717b93804b258ec44" + "d0a212d371078cdf024100be9133919b1093a3d8c7afa1ff70ab769076c9" + "aeb5c548cdc9aef63812a57eccf77f0def9c979cfaf117d8ffb454f823de" + "245a1b90da34adaf57b8a561fde5b702407d8dcd51b7c89f4ca2f88bbfce" + "2ed38eee7ad8d3656fbf78b68c1b80bd6de8ba9305ead394af3c28a1890b" + "6a49a676af10d1198c08a7995287ecde242d74d31f024032a09ac5ad1f8b" + "49b536dfc736f8b4e4cbde7318523c366a4d9188e23eb9eee4ff3fa6f128" + "75f3038bf79cf3d9f1d4f69a76a7e5b8e6efa5d0f68a1c8ddb0923024100" + "b44f03887aa2d95203f3dee44298b12b90c163bffebdc077551208c53987" + "11e35c60f8d6348f7fd51f7a384bb397ead4957e37b0440addecc19f9fac" + "b129564b"; String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d003081890281810096" + "990cdd93c7bd2ca4d406285833cd356cc668f257133846fb4dfc885f275b" + "dfb9bf45d539f89e826e442c0a750206a33d4060071109ba96eb400710ed" + "f90590604e13ff7b624001b4b75c3fd388d18bcd71b4c3e4a06c08da3fed" + "5365db5d08cfb10321235da904886ea0329dbf041fa1890f97d2b53a366f" + "643dd344cc2e690203010001"; PrivateKey privateKey = decodePrivateKey(encodedPrivateKey); PublicKey publicKey = decodePublicKey(encodedPublicKey); X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder(); String email = "test@example.com"; subjectBuilder.setCommonName("Valid certificate"); subjectBuilder.setEmail(email);/* w w w.j a v a 2 s . co m*/ subjectBuilder.setCountryCode("NL"); subjectBuilder.setLocality("Amsterdam"); subjectBuilder.setState("NH"); AltNamesBuilder altNamesBuider = new AltNamesBuilder(); altNamesBuider.setRFC822Names(email); X500Principal subject = subjectBuilder.buildPrincipal(); GeneralNames altNames = altNamesBuider.buildAltNames(); // use TreeSet because we want a deterministic certificate (ie. hash should not change) Set<KeyUsageType> keyUsage = new TreeSet<KeyUsageType>(); keyUsage.add(KeyUsageType.DIGITALSIGNATURE); keyUsage.add(KeyUsageType.KEYENCIPHERMENT); keyUsage.add(KeyUsageType.NONREPUDIATION); Set<ExtendedKeyUsageType> extendedKeyUsage = new TreeSet<ExtendedKeyUsageType>(); extendedKeyUsage.add(ExtendedKeyUsageType.CLIENTAUTH); extendedKeyUsage.add(ExtendedKeyUsageType.EMAILPROTECTION); BigInteger serialNumber = new BigInteger("116a448f117ff69fe4f2d4d38f689d7", 16); Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK) .parse("21-Nov-2007 10:38:35"); certificateBuilder.setSubject(subject); certificateBuilder.setAltNames(altNames, true); certificateBuilder.setKeyUsage(keyUsage, true); certificateBuilder.setExtendedKeyUsage(extendedKeyUsage, true /* critical */); certificateBuilder.setNotBefore(DateUtils.addDays(now, -20)); certificateBuilder.setNotAfter(DateUtils.addYears(now, 20)); certificateBuilder.setPublicKey(publicKey); certificateBuilder.setSerialNumber(serialNumber); certificateBuilder.setSignatureAlgorithm("SHA1WithRSAEncryption"); certificateBuilder.addSubjectKeyIdentifier(true); X509Certificate certificate = certificateBuilder.generateCertificate(caPrivateKey, caCertificate); assertNotNull(certificate); certificates.add(certificate); Certificate[] chain = new Certificate[] { certificate, caCertificate, rootCertificate }; keyStore.setKeyEntry("CriticalEKU", privateKey, null, chain); }
From source file:gov.nih.nci.firebird.selenium2.tests.investigator.annual.registration.SubmitAnnualRegistrationForReviewTest.java
private AnnualForm1572Tab addLaboratorCertificate(AnnualForm1572Tab form1572Tab, OrganizationAssociation clinicalLab) { LaboratoryCertificate laboratorCertificate = new LaboratoryCertificate(LaboratoryCertificateType.CLIA); laboratorCertificate.setEffectiveDate(new Date(0)); laboratorCertificate.setExpirationDate(DateUtils.addYears(new Date(), 99)); laboratorCertificate.setCertificateFile(FirebirdFileFactory.getInstance().create()); ((ClinicalLaboratory) clinicalLab.getOrganizationRole()).addCertificate(laboratorCertificate); dataSet.update(clinicalLab);/*from w w w .jav a2 s .co m*/ return form1572Tab.getPage().clickOverviewTab().getPage().clickForm1572Tab(); }
From source file:com.nec.harvest.controller.SuihController.java
/** * /* w ww. ja v a 2 s .c o m*/ * * @param userOrgCode * @param businessDay * @param unitDept * @param deptCode * @param year * @param quarter * @param model * @return */ private String processingSuih(String userOrgCode, Date businessDay, String unitDept, String deptCode, Date year, int quarter, Model model) { // check department code empty final String CURRENT_MONTHLIES = "monthlies"; // get three month in quarter business String[] monthiesCurrentQuarter = DateUtil.getMonthliesOfQuarter(year, quarter); model.addAttribute(CURRENT_MONTHLIES, monthiesCurrentQuarter); // get final tighten Date finalTighten = checkFinalMonthlyTighten(businessDay, model); if (finalTighten == null) { return getViewName(); } List<String> listOrgCodes = null; try { listOrgCodes = organizationService.findOrgsByDepartmentCode(unitDept); } catch (IllegalArgumentException | ObjectNotFoundException ex) { logger.warn(ex.getMessage()); } catch (ServiceException ex) { logger.error(ex.getMessage(), ex); // ??????????? model.addAttribute(ERROR_MESSAGE, getSystemError()); model.addAttribute(ERROR, true); return getViewName(); } // ???[?]????? if (!availableNext(quarter, year, model, finalTighten, listOrgCodes, businessDay)) { // enable, disable Next return getViewName(); } // ?????????? if (!availablePrevious(quarter, year, model, finalTighten, listOrgCodes)) { // enable, disable Previous return getViewName(); } if (!unitDept.equals(deptCode)) { try { listOrgCodes = organizationService.findOrgsByDepartmentCode(deptCode); } catch (IllegalArgumentException | ObjectNotFoundException ex) { logger.warn(ex.getMessage()); } catch (ServiceException ex) { logger.error(ex.getMessage(), ex); // ??????????? model.addAttribute(ERROR_MESSAGE, getSystemError()); model.addAttribute(ERROR, true); return getViewName(); } } // get startMonth String currentYear = DateFormatUtil.format(year, "yyyy"); String startMonth = currentYear.concat("04"); // get endMonth String nextYear = DateFormatUtil.format(DateUtils.addYears(year, 1), "yyyy"); String endMonth = nextYear.concat("03"); int countMonth = 12; try { Date endDate = DateFormatUtil.parse(endMonth, DateFormat.DATE_WITHOUT_DAY); if (endDate.after(businessDay)) { countMonth = countMonth - DateUtil.monthsBetween(businessDay, endDate); endMonth = DateFormatUtil.format(businessDay, DateFormat.DATE_WITHOUT_DAY); } } catch (NullPointerException | IllegalArgumentException | ParseException ex) { logger.warn(ex.getMessage()); } // ???jiseki?? Map<String, List<VJiseki>> mapSuis = null; List<VJiseki> listSuisYear = null; try { if (CollectionUtils.isNotEmpty(listOrgCodes)) { listSuisYear = actualViewService.findByPeriodMonthlyAndOrgCodes(startMonth, endMonth, listOrgCodes); } } catch (IllegalArgumentException | ObjectNotFoundException | NullPointerException ex) { logger.warn(ex.getMessage()); } catch (ServiceException ex) { logger.error(ex.getMessage(), ex); // ??????????? model.addAttribute(ERROR_MESSAGE, getSystemError()); model.addAttribute(ERROR, true); return getViewName(); } // ???? try { mapSuis = getMapOfSuihsByMonthly(listSuisYear, DateFormatUtil.parse(startMonth, DateFormat.DATE_WITHOUT_DAY), countMonth); } catch (NullPointerException | IllegalArgumentException | ParseException ex) { logger.warn(ex.getMessage()); } // find data budget performance Map<String, BudgetPerformanceBean> mapBudgetPerformance = null; try { mapBudgetPerformance = budgetPerformanceService.findByOrgCodesAndPeriodMonthAndKmkCodeJs(listOrgCodes, startMonth, endMonth, Constants.DEFAULT_KMKCODEJ_K7111, Constants.DEFAULT_KMKCODEJ_K7521, Constants.DEFAULT_KMKCODEJ_K8110, Constants.DEFAULT_KMKCODEJ_K8210, Constants.DEFAULT_KMKCODEJ_K8310); } catch (IllegalArgumentException | ObjectNotFoundException ex) { logger.warn(ex.getMessage()); } catch (ServiceException ex) { logger.error(ex.getMessage(), ex); // ??????????? model.addAttribute(ERROR_MESSAGE, getSystemError()); model.addAttribute(ERROR, true); return getViewName(); } // ??? Map<String, Double> mapInventory = null; try { mapInventory = inventoryService.findByPeriodMonthAndOrgCodes(startMonth, endMonth, listOrgCodes); } catch (IllegalArgumentException | ObjectNotFoundException ex) { logger.warn(ex.getMessage()); } catch (ServiceException ex) { logger.error(ex.getMessage(), ex); // ??????????? model.addAttribute(ERROR_MESSAGE, getSystemError()); model.addAttribute(ERROR, true); return getViewName(); } // ?? calculateSuih(mapSuis, finalTighten, businessDay, mapBudgetPerformance, mapInventory, quarter, model); return getViewName(); }
From source file:gov.nih.nci.firebird.selenium2.tests.investigator.annual.registration.SubmitAnnualRegistrationForReviewTest.java
private void checkForRenewalDate(boolean withinRenewalWindow) { renewal = dataSet.reloadObject(renewal); Date expectedRenewalDate;//from w ww .ja v a 2s .c o m if (withinRenewalWindow) { expectedRenewalDate = DateUtils.addYears(renewal.getDueDate(), 1); } else { expectedRenewalDate = DateUtils.addYears(new Date(), 1); } assertEquals(DateUtils.truncate(expectedRenewalDate, Calendar.DATE), renewal.getRenewalDate()); }
From source file:mitm.common.security.certificate.GenerateTestCertificates.java
private void generateCertificateKeyUsageNotForEncryption() throws Exception { X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder(); String encodedPrivateKey = "30820276020100300d06092a864886f70d0101010500048202603082025c" + "0201000281810096383c89ad7b3c3be9dfcb24c1ba2b19f681847eaf862c" + "eec3cb2daf20da3f68f30221b46444c259228cc84f35095af19d2496a486" + "b4e818ce17241dd792a6c6ad07f8601c728f71f8016e1dbc5905fade3ecf" + "37b6374f4668bb3a5de16059125cea11ef3bd712a375dd33894670faa18b" + "8c733227a530ec569fcb5ade02523d020301000102818030202c24df934f" + "a4d234845c6e443a72c2ea938c12a7a5d5889c9b32341037a863d2170237" + "ed5f66370f6b4d14ecbe5a11c21b10f2a71a8477e22a0bf578623d5e961d" + "41151118d6114296baa55c479a33de26ef872f61eb59388bddb43c970614" + "52983edf79e71def89879820f06667b237be04b1fb18eaa203fb59d82ebc" + "71024100c9b7820310a62a3815564519a038bcfd99965ed9adf494214fca" + "d0d08019b9ba6821bcfc9faf448f1650e9e7aeba6b9ce3e7d6f9449c1897" + "d7dd7d0f4e8c39fb024100bea50896dc44c9cd710611e229fd7fe01c06f8" + "db7ea4428c99b243ba26937eaedfd9fae5eed02e292a8a4c7092320e29dc" + "143223b85cfeb43efbb1603ebce72702407bc7f82819575e20fc36ec4045" + "698bcfb327eb1c78fad4cb7c4360d0114bb805035170bf34de409bed7dc9" + "8b3a557b23d356b93c4d35dc81911d81589b42c17102406eb7cfc6358469" + "a2bb8a27e6ae364006baa03df4d396b7e389fb62a4007556745f22ec388f" + "3a2e24d044e361d935e2cde2b783eb04ce5549feee13b46e9b2caf024100" + "a8c35546c2241ce9b90b14c667d2b83512a6ad3b50f1511696c3eb7f608b" + "c292bad19c4fe11b466a045ebfdb92f371199369e22e5ce6a16578c9a25c" + "7b67e997"; String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d003081890281810096" + "383c89ad7b3c3be9dfcb24c1ba2b19f681847eaf862ceec3cb2daf20da3f" + "68f30221b46444c259228cc84f35095af19d2496a486b4e818ce17241dd7" + "92a6c6ad07f8601c728f71f8016e1dbc5905fade3ecf37b6374f4668bb3a" + "5de16059125cea11ef3bd712a375dd33894670faa18b8c733227a530ec56" + "9fcb5ade02523d0203010001"; PrivateKey privateKey = decodePrivateKey(encodedPrivateKey); PublicKey publicKey = decodePublicKey(encodedPublicKey); X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder(); String email = "test@example.com"; subjectBuilder.setCommonName("Valid certificate"); subjectBuilder.setEmail(email);/*from www.j a v a2 s . c o m*/ subjectBuilder.setCountryCode("NL"); subjectBuilder.setLocality("Amsterdam"); subjectBuilder.setState("NH"); AltNamesBuilder altNamesBuider = new AltNamesBuilder(); altNamesBuider.setRFC822Names(email); X500Principal subject = subjectBuilder.buildPrincipal(); GeneralNames altNames = altNamesBuider.buildAltNames(); // use TreeSet because we want a deterministic certificate (ie. hash should not change) Set<KeyUsageType> keyUsage = new TreeSet<KeyUsageType>(); keyUsage.add(KeyUsageType.DIGITALSIGNATURE); keyUsage.add(KeyUsageType.NONREPUDIATION); Set<ExtendedKeyUsageType> extendedKeyUsage = new TreeSet<ExtendedKeyUsageType>(); extendedKeyUsage.add(ExtendedKeyUsageType.CLIENTAUTH); extendedKeyUsage.add(ExtendedKeyUsageType.EMAILPROTECTION); BigInteger serialNumber = new BigInteger("1178c336c7b51cadd4ccecdd14daf22", 16); Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK) .parse("21-Nov-2007 10:38:35"); certificateBuilder.setSubject(subject); certificateBuilder.setAltNames(altNames, true); certificateBuilder.setKeyUsage(keyUsage, true); certificateBuilder.setExtendedKeyUsage(extendedKeyUsage, true /* critical */); certificateBuilder.setNotBefore(DateUtils.addDays(now, -20)); certificateBuilder.setNotAfter(DateUtils.addYears(now, 20)); certificateBuilder.setPublicKey(publicKey); certificateBuilder.setSerialNumber(serialNumber); certificateBuilder.setSignatureAlgorithm("SHA1WithRSAEncryption"); certificateBuilder.addSubjectKeyIdentifier(true); X509Certificate certificate = certificateBuilder.generateCertificate(caPrivateKey, caCertificate); assertNotNull(certificate); certificates.add(certificate); Certificate[] chain = new Certificate[] { certificate, caCertificate, rootCertificate }; keyStore.setKeyEntry("KeyUsageNotForEncryption", privateKey, null, chain); }
From source file:gov.nih.nci.firebird.selenium2.tests.protocol.registration.ReviseReturnedRegistrationFormsTest.java
private LaboratoryCertificate addLabCertificate(LabCertificatesDialog dialog) throws IOException { LaboratoryCertificate certificate = new LaboratoryCertificate(LaboratoryCertificateType.CLP); certificate.setEffectiveDate(DateUtils.addYears(new Date(), -1)); certificate.setExpirationDate(DateUtils.addYears(new Date(), 1)); dialog.getHelper().fillOutCertificate(certificate); dialog.setUploadFile(createTemporaryFile()); dialog.clickSave();/*from ww w .j a va 2 s . co m*/ dialog.getHelper().checkCertificateDisplayed(certificate); assertTrue(dialog.getHelper().getListing(certificate).hasDownloadLink()); return certificate; }
From source file:com.nridge.connector.common.con_com.crawl.CrawlQueue.java
/** * Clears the active state from the queue file system. This involves * clearing the crawl id, extraction complete flag, crawl type and * date last modified. Finally, this method will remove the queue * lock file.//from www . j av a 2 s. c o m * * @return <i>true</i> if lock file is successfully removed or * <i>false</i> otherwise. */ public boolean clear() { Logger appLogger = mAppMgr.getLogger(this, "clear"); appLogger.trace(mAppMgr.LOGMSG_TRACE_ENTER); mCrawlId = 0L; mCrawlType = StringUtils.EMPTY; mPhaseComplete.put(Connector.PHASE_EXTRACT, new AtomicBoolean(false)); mPhaseComplete.put(Connector.PHASE_TRANSFORM, new AtomicBoolean(false)); mPhaseComplete.put(Connector.PHASE_PUBLISH, new AtomicBoolean(false)); mCrawlLastModified = DateUtils.addYears(new Date(), CRAWL_BEGINNING_OF_TIME); appLogger.trace(mAppMgr.LOGMSG_TRACE_DEPART); return releaseLock(); }
From source file:mitm.common.security.certificate.GenerateTestCertificates.java
private void generateCertificateKeyUsageNotForSigning() throws Exception { X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder(); String encodedPrivateKey = "30820278020100300d06092a864886f70d0101010500048202623082025e" + "02010002818100c5ca31e3581e600cd09c7892837aecedc10d4b5eeb9d1d" + "77ac0ab497deeb842b6fe3cdd3d021bb9680691310387259acc73e6d8173" + "fa734069d0d9216c58eae254f68a075f8f9fa99c77c0383f1736be7e697a" + "859f476de03c54cb171e984f29b42813244625ff75916bb66b2839cfb661" + "acafbf045b08d682544c3a832e9f6102030100010281805a7f5328344f61" + "9f3b6bfc76fd15a78679483dee265bf2f9a88c15694fa3ef0b78dc8076a3" + "ca6b6c4740cc6a25899ca2435fbaf6fa3be3b3db36a5c277328ff544736c" + "6042e589f910f3c1df23701dec59a8e2679cde9e9984fc6032b6c8734416" + "07f062afdd59ac5d48a902b02915892d8b07ed222ba63986e02c7c2b3e3a" + "09024100f252c537b30837deb16283ac2691229a9d1a90d0832e9717a6b9" + "7321026d8a9ed001d0ce192794e1a1466371cec0e68f06a3def7daed21a0" + "32fc101021e98e3f024100d0f3fa76613b4320d47817741841c4bd36c19a" + "4a01bb57c39e854a4678d237e08b27ff4778eca5440e04856f64be56bc8b" + "67b42d32f3450fb63d2d5be1b3aa5f024100a8a1cf1af6dd063c54073188" + "908239a98d20da9c305e30c945be128f6b281dea6ce8868d9655c436cc4b" + "b69291860e2c843b6fc3de375d4a2590e200c808c7730241008e673832a5" + "61360691c6a6754072d21a01cf3fcf600ec569540792ef2438604c6f89fa" + "b842f9444875252fab1305852749fa8b18a2b8984074fa8c8729f2c01102" + "4100808c7c7d221cd46df7a56112b0fd424ca4b2755a416bf8ba23a7b292" + "253157c35eac72069a07b0145cc48bb3f15cc3f2b1e924be4af863801ba3" + "ad0d909505c8"; String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d0030818902818100c5" + "ca31e3581e600cd09c7892837aecedc10d4b5eeb9d1d77ac0ab497deeb84" + "2b6fe3cdd3d021bb9680691310387259acc73e6d8173fa734069d0d9216c" + "58eae254f68a075f8f9fa99c77c0383f1736be7e697a859f476de03c54cb" + "171e984f29b42813244625ff75916bb66b2839cfb661acafbf045b08d682" + "544c3a832e9f610203010001"; PrivateKey privateKey = decodePrivateKey(encodedPrivateKey); PublicKey publicKey = decodePublicKey(encodedPublicKey); X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder(); String email = "test@example.com"; subjectBuilder.setCommonName("Valid certificate"); subjectBuilder.setEmail(email);/*from www . jav a 2s . com*/ subjectBuilder.setCountryCode("NL"); subjectBuilder.setLocality("Amsterdam"); subjectBuilder.setState("NH"); AltNamesBuilder altNamesBuider = new AltNamesBuilder(); altNamesBuider.setRFC822Names(email); X500Principal subject = subjectBuilder.buildPrincipal(); GeneralNames altNames = altNamesBuider.buildAltNames(); // use TreeSet because we want a deterministic certificate (ie. hash should not change) Set<KeyUsageType> keyUsage = new TreeSet<KeyUsageType>(); keyUsage.add(KeyUsageType.KEYENCIPHERMENT); Set<ExtendedKeyUsageType> extendedKeyUsage = new TreeSet<ExtendedKeyUsageType>(); extendedKeyUsage.add(ExtendedKeyUsageType.CLIENTAUTH); extendedKeyUsage.add(ExtendedKeyUsageType.EMAILPROTECTION); BigInteger serialNumber = new BigInteger("1178c38151374d6c4b29f891b9b4a77", 16); Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK) .parse("21-Nov-2007 10:38:35"); certificateBuilder.setSubject(subject); certificateBuilder.setAltNames(altNames, true); certificateBuilder.setKeyUsage(keyUsage, true); certificateBuilder.setExtendedKeyUsage(extendedKeyUsage, true /* critical */); certificateBuilder.setNotBefore(DateUtils.addDays(now, -20)); certificateBuilder.setNotAfter(DateUtils.addYears(now, 20)); certificateBuilder.setPublicKey(publicKey); certificateBuilder.setSerialNumber(serialNumber); certificateBuilder.setSignatureAlgorithm("SHA1WithRSAEncryption"); certificateBuilder.addSubjectKeyIdentifier(true); X509Certificate certificate = certificateBuilder.generateCertificate(caPrivateKey, caCertificate); assertNotNull(certificate); certificates.add(certificate); Certificate[] chain = new Certificate[] { certificate, caCertificate, rootCertificate }; keyStore.setKeyEntry("KeyUsageNotForSigning", privateKey, null, chain); }
From source file:mitm.common.security.certificate.GenerateTestCertificates.java
private void generateCertificateKeyUsageOnlyNonRepudiation() throws Exception { X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder(); String encodedPrivateKey = "30820277020100300d06092a864886f70d0101010500048202613082025d" + "02010002818100b342cf47e9e631e987a91cd281303c79be1ee94355e439" + "4a11606b740e30752eedd3a4d4c476963be7a329d7c92ed1f818f862389b" + "2c6bbec1b3f37e83a19aa05444d89c0d3bf7e567368320d1c1f4f1ef53c0" + "cb939f1c5cd01d4a8f4f637f0c4b16ff8e6ee4ba3beb4beddfc588ae1490" + "414dcaf1277f9c3287c9ea77897219020301000102818059a6a813c71ea1" + "07b21919990d931a2ba8b1bce7382593a13f5f815de15acac055a0eb669d" + "7ad157d458fdac35a97cc91f73d96b85ef8953357cd1e20be2de79470d67" + "841c79736d3938cf751816e214c176932d1ba26158d80da6f3f5ba61ac54" + "c1c9446435b2a0ef12b5cf25a03eabd931995175d40fe6aaef17b7b46bb8" + "01024100ff909d5f9ae1d2d3317137c9a9d775c0bdbf66b88b4a5d4893a4" + "ad9c7be321b78f00e76525e4269f0c1529750e87a4d4d6e5ac20e86a7095" + "c3441663ccb5f5f9024100b390f04e1944969dc3c05a4a699e6f9ae3e28b" + "e88d5d749271c849f4ca044648bff99de49257d07bcde0900a46294e233b" + "689bd447ce1280c1f3034416b5e521024100acb70c54677504a92c39eacd" + "045693c30db983ef665b7c8da7125d2e6b5f8612eab75eaab21feda60161" + "6fe2274eaeac150ba4f79c7b0ad97bdcd110e37179e9024100a17326ed41" + "80cedf68bad133e8c50059c69dd1e7b4fb1b2df4c9fddcefaa6a3b4d08b5" + "b366f537c9a8f148f143e62d9036013762e570de68107a5c2c633306a102" + "400cb68f16900107b2d2db6175807a05261caa05cf5bb14bcbafd9202cc4" + "5f75922185187c30f95d4ce5f44481d59174548e5bddd7bfe2896e6401a8" + "ed79797fed"; String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d0030818902818100b3" + "42cf47e9e631e987a91cd281303c79be1ee94355e4394a11606b740e3075" + "2eedd3a4d4c476963be7a329d7c92ed1f818f862389b2c6bbec1b3f37e83" + "a19aa05444d89c0d3bf7e567368320d1c1f4f1ef53c0cb939f1c5cd01d4a" + "8f4f637f0c4b16ff8e6ee4ba3beb4beddfc588ae1490414dcaf1277f9c32" + "87c9ea778972190203010001"; PrivateKey privateKey = decodePrivateKey(encodedPrivateKey); PublicKey publicKey = decodePublicKey(encodedPublicKey); X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder(); String email = "test@example.com"; subjectBuilder.setCommonName("Valid certificate"); subjectBuilder.setEmail(email);/* w w w. jav a2 s.c om*/ subjectBuilder.setCountryCode("NL"); subjectBuilder.setLocality("Amsterdam"); subjectBuilder.setState("NH"); AltNamesBuilder altNamesBuider = new AltNamesBuilder(); altNamesBuider.setRFC822Names(email); X500Principal subject = subjectBuilder.buildPrincipal(); GeneralNames altNames = altNamesBuider.buildAltNames(); // use TreeSet because we want a deterministic certificate (ie. hash should not change) Set<KeyUsageType> keyUsage = new TreeSet<KeyUsageType>(); keyUsage.add(KeyUsageType.NONREPUDIATION); Set<ExtendedKeyUsageType> extendedKeyUsage = new TreeSet<ExtendedKeyUsageType>(); extendedKeyUsage.add(ExtendedKeyUsageType.CLIENTAUTH); extendedKeyUsage.add(ExtendedKeyUsageType.EMAILPROTECTION); BigInteger serialNumber = new BigInteger("1178c3b653829e895acb7100eb1f627", 16); Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK) .parse("21-Nov-2007 10:38:35"); certificateBuilder.setSubject(subject); certificateBuilder.setAltNames(altNames, true); certificateBuilder.setKeyUsage(keyUsage, true); certificateBuilder.setExtendedKeyUsage(extendedKeyUsage, true /* critical */); certificateBuilder.setNotBefore(DateUtils.addDays(now, -20)); certificateBuilder.setNotAfter(DateUtils.addYears(now, 20)); certificateBuilder.setPublicKey(publicKey); certificateBuilder.setSerialNumber(serialNumber); certificateBuilder.setSignatureAlgorithm("SHA1WithRSAEncryption"); certificateBuilder.addSubjectKeyIdentifier(true); X509Certificate certificate = certificateBuilder.generateCertificate(caPrivateKey, caCertificate); assertNotNull(certificate); certificates.add(certificate); Certificate[] chain = new Certificate[] { certificate, caCertificate, rootCertificate }; keyStore.setKeyEntry("KeyUsageOnlyNonRepudiation", privateKey, null, chain); }
From source file:mitm.common.security.certificate.GenerateTestCertificates.java
/** * Generates a valid certificate/* w w w . j av a 2 s . co m*/ * * @throws Exception */ private void generateValidCertificateUppercaseEmail() throws Exception { X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder(); String encodedPrivateKey = "30820278020100300d06092a864886f70d0101010500048202623082025e" + "02010002818100cc65b29afd51609fb23b4968518b54fe26f41519dfad63" + "1e1a5e240bbd57c133bcbf98572f533263294a31ba77b1f56abeeff2ce5e" + "02f0d1c07d23464a096e06ea8d643f7205b7002f9a6ba370493b27217cd0" + "e5e0577cf305557cdbe7c6602badba2ae297493e75f165d2d2340fad59b7" + "ee0d7c05b231379aad7854c873f703020301000102818100a90547e6a6a7" + "8e91405f8a5a7b640e8a8447bed340862eba8bef613b5bfd9f445b46cc80" + "fc1f7e4145b996d9ad75398e660a21ecc90d017b5203a911ccd373694628" + "11f5ef0e96152fa85a1e38901ef41ee675c4de1c7ce2ed2e2af84bb8f91b" + "9936f699071b24e58cf44746547fee72a7d869333267dbf17fa3ac4316c2" + "6b91024100ed1d02ad8294c88c6e1dd376080e2265b0b872c8913ec7d735" + "a07be89c5432b37417265e75e388122edb4d430adc116d745824e599f8c9" + "9e96a5ee09e8beaf7d024100dcad92821ff13e18942db08ca02d74ecb86a" + "1a48c9807be5a86197361851c259c89cfb46c78f51c52558230bfe0b437b" + "513908c6f6d0bd0b57a74edaba0b087f02410085ed81eab13c0a7ecf5fc7" + "65feacc51efd0f61be09d4151a68aee9edfc06ced06fbcf7ae1916587034" + "c927bdbb6f8be46ff7ad77865d70bc43c91b47bb8fa11d024100bfe28594" + "7465f692b4b60de0199fad1df1350169ed1cb59efa8cf148ee5899602c9a" + "a3bbe5e66f39b7c12da84ddc496f3f2f12bcbefcbe84d05100b61c335fcd" + "0240403c12a1c4e1536a877631b36a075bad052b8f94580b50617fe656a8" + "7b45d2ada4358483fea964b25500ab2579395bafe79fd315af79fe7706c9" + "1378aab9b2be"; String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d0030818902818100cc" + "65b29afd51609fb23b4968518b54fe26f41519dfad631e1a5e240bbd57c1" + "33bcbf98572f533263294a31ba77b1f56abeeff2ce5e02f0d1c07d23464a" + "096e06ea8d643f7205b7002f9a6ba370493b27217cd0e5e0577cf305557c" + "dbe7c6602badba2ae297493e75f165d2d2340fad59b7ee0d7c05b231379a" + "ad7854c873f7030203010001"; PrivateKey privateKey = decodePrivateKey(encodedPrivateKey); PublicKey publicKey = decodePublicKey(encodedPublicKey); X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder(); String email = "TEST@EXAMPLE.COM"; subjectBuilder.setCommonName("Valid certificate uppercase email"); subjectBuilder.setEmail(email); subjectBuilder.setCountryCode("NL"); subjectBuilder.setLocality("Amsterdam"); subjectBuilder.setState("NH"); AltNamesBuilder altNamesBuider = new AltNamesBuilder(); altNamesBuider.setRFC822Names(email); X500Principal subject = subjectBuilder.buildPrincipal(); GeneralNames altNames = altNamesBuider.buildAltNames(); Set<KeyUsageType> keyUsage = new TreeSet<KeyUsageType>(); keyUsage.add(KeyUsageType.DIGITALSIGNATURE); keyUsage.add(KeyUsageType.KEYENCIPHERMENT); keyUsage.add(KeyUsageType.NONREPUDIATION); Set<ExtendedKeyUsageType> extendedKeyUsage = new TreeSet<ExtendedKeyUsageType>(); extendedKeyUsage.add(ExtendedKeyUsageType.CLIENTAUTH); extendedKeyUsage.add(ExtendedKeyUsageType.EMAILPROTECTION); BigInteger serialNumber = new BigInteger("115fcde9dc082e7e9c8eef4cc69b94c", 16); Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK) .parse("21-Nov-2007 10:39:35"); certificateBuilder.setSubject(subject); certificateBuilder.setAltNames(altNames, true); certificateBuilder.setKeyUsage(keyUsage, true); certificateBuilder.setExtendedKeyUsage(extendedKeyUsage, false); certificateBuilder.setNotBefore(DateUtils.addDays(now, -20)); certificateBuilder.setNotAfter(DateUtils.addYears(now, 20)); certificateBuilder.setPublicKey(publicKey); certificateBuilder.setSerialNumber(serialNumber); certificateBuilder.setSignatureAlgorithm("SHA1WithRSAEncryption"); certificateBuilder.addSubjectKeyIdentifier(true); X509Certificate certificate = certificateBuilder.generateCertificate(caPrivateKey, caCertificate); assertNotNull(certificate); certificates.add(certificate); Certificate[] chain = new Certificate[] { certificate, caCertificate, rootCertificate }; keyStore.setKeyEntry("UppercaseEmail", privateKey, null, chain); }