Example usage for org.apache.commons.lang.time DateUtils addDays

List of usage examples for org.apache.commons.lang.time DateUtils addDays

Introduction

In this page you can find the example usage for org.apache.commons.lang.time DateUtils addDays.

Prototype

public static Date addDays(Date date, int amount) 

Source Link

Document

Adds a number of days to a date returning a new object.

Usage

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 w  w  w.  jav  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.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:gov.utah.dts.det.ccl.model.Facility.java

public void addSinglePerson(FacilityPerson person) {
    if (person != null) {
        person.setFacility(this);
        // default the start date to today
        if (person.getStartDate() == null) {
            person.setStartDate(DateUtils.truncate(new Date(), Calendar.DATE));
        }//from   w w  w  .java 2 s  . c  o  m
        // if the person has an end date then they are just adding historical data
        // if the person does not have an end date then they are the new person in that role - deactivate the old person
        if (person.getEndDate() == null) {
            List<FacilityPerson> peopleOfType = getPeopleOfType(person.getType(), true);
            for (FacilityPerson oldPerson : peopleOfType) {
                if (oldPerson.getEndDate() == null) {
                    if (oldPerson.getStartDate().getTime() == person.getStartDate().getTime()) {
                        people.remove(oldPerson);
                    } else {
                        oldPerson.setEndDate(DateUtils.addDays(person.getStartDate(), -1));
                    }
                }
            }
        }
        people.add(person);
    }
}

From source file:mitm.common.security.crl.PKITSTest.java

@Test
public void test_4_4_11_Invalid_Old_CRL_nextUpdate_Test11() throws Exception {
    // add certificates
    addCertificates(new File(testBase, "certs/OldCRLnextUpdateCACert.crt"), certStoreParams.getCertStore());
    addCertificates(new File(testBase, "certs/InvalidOldCRLnextUpdateTest11EE.crt"),
            certStoreParams.getCertStore());

    // add crls//from w ww.j  av  a2s  .c o  m
    addCRL(new File(testBase, "crls/TrustAnchorRootCRL.crl"), certStoreParams.getCRLStore());
    addCRL(new File(testBase, "crls/OldCRLnextUpdateCACRL.crl"), certStoreParams.getCRLStore());

    X509CertSelector selector = new X509CertSelector();

    selector.setSerialNumber(BigIntegerUtils.hexDecode("1"));
    selector.setIssuer("CN=Old CRL nextUpdate CA, O=Test Certificates, C=US");

    PKIXCertPathBuilderResult result = getCertPathBuilderResult(selector);

    CertPath certPath = result.getCertPath();

    TrustAnchor trustAnchor = result.getTrustAnchor();

    assertNotNull(trustAnchor);
    assertEquals("CN=Trust Anchor, O=Test Certificates, C=US",
            trustAnchor.getTrustedCert().getSubjectX500Principal().toString());

    PKIXRevocationChecker revocationChecker = new PKIXRevocationChecker(certStoreParams.getCRLStore());

    Date now = TestUtils.parseDate("02-Jan-2002 16:38:35 GMT");

    RevocationResult revocationResult = revocationChecker.getRevocationStatus(certPath, trustAnchor, now);

    assertEquals(RevocationStatus.EXPIRED, revocationResult.getStatus());
    assertEquals(null, revocationResult.getReason());

    RevocationDetail[] detail = revocationResult.getDetails();

    assertEquals(detail.length, 2);
    assertEquals(RevocationStatus.EXPIRED, detail[0].getStatus());
    assertTrue(DateUtils.addDays(detail[0].getNextUpdate(), 2).after(now));
    assertEquals(RevocationStatus.NOT_REVOKED, detail[1].getStatus());
}

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);/*from  w  w w  .  j  a v a2s.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.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/*from w  w  w.  j av  a  2s .c  o 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);
}

From source file:mitm.common.security.certificate.GenerateTestCertificates.java

/**
 * Generate a certificate without an email but with S/MIME extended key usage
 * /*from w  w w.  j  a  v a  2 s.c om*/
 * @throws Exception
 */
private void generateCertificateNoEmail() throws Exception {
    X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder();

    String encodedPrivateKey = "30820277020100300d06092a864886f70d0101010500048202613082025d"
            + "0201000281810086246af6ba05ff48133e66771615a3e70742ff52d60db8"
            + "a4d808e73369d0c689fc21a2691ee7297311ad840fb7be841d813991f84e"
            + "9590f20a6e4d284d4d3775e646d7aed3a7142159281c9d0171bb98c1a659"
            + "b930f1e158df079136804d89864c0484e4f15482fa4c3b64c3ac58091dc4"
            + "83766b0283c2bd7c8ad12aa19c3b45020301000102818018291f0ae95e83"
            + "285c2ef50da5f0a7e0c8b20c82c3031daab32e8755ff4d17356b3033ac73"
            + "60775abe685e4ce66f6e24524e28386d0f0b584d00a8ed055f4f09ad206d"
            + "22f72a9b8b7724a43b42f0239c44e9db007652d1abf59e9d51731fda6153"
            + "3dd996c06af7761326ac57645be68f3ccc8a665aca9efc37d781c058e98f"
            + "51024100e294e1a1ddc5dbb20d09ef2113a1ddd864c444191c1b51917b69"
            + "fb9718fe6adb5bd29e9603c63d189ee79e194fa9c1484f9a5792f9a29b49"
            + "44f5efc403cd4fbb024100978f09d7c6a74c9a446510f203996b253df437"
            + "94c66e76209570ee5de5c33ee9cc09b75d06543d5b8127b7c9511253bcbf"
            + "2c74c0270c24ca36494954b02870ff024050a19eb1d594059c951b45e7c5"
            + "6ec2ddb0ee4f358855086ff7353dfd053df494df56526d1c26bdb3374941"
            + "6fcc73a27eb3253fa8e40143b58d3edff6274c36e502410088b05dfd38d2"
            + "3c5949e428f34ce1ba6bbd439c3956f9db1a2a0dcf3dea723c349a6c0cef"
            + "1e3d2d957097c4bf119a48e18b3dea123f65496d02a6f8372425653b0241"
            + "00bf58e07f459aa53487e6fb3b40caf2055e181c8505d2deb29cffffbde3"
            + "aeb5ccd0f2c353b47fe53cd3b488be85acaf55956a678ff6e37cca327f1b" + "b82044be77";

    String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d003081890281810086"
            + "246af6ba05ff48133e66771615a3e70742ff52d60db8a4d808e73369d0c6"
            + "89fc21a2691ee7297311ad840fb7be841d813991f84e9590f20a6e4d284d"
            + "4d3775e646d7aed3a7142159281c9d0171bb98c1a659b930f1e158df0791"
            + "36804d89864c0484e4f15482fa4c3b64c3ac58091dc483766b0283c2bd7c" + "8ad12aa19c3b450203010001";

    PrivateKey privateKey = decodePrivateKey(encodedPrivateKey);
    PublicKey publicKey = decodePublicKey(encodedPublicKey);

    X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder();

    subjectBuilder.setCommonName("No email");
    subjectBuilder.setCountryCode("NL");
    subjectBuilder.setLocality("Amsterdam");
    subjectBuilder.setState("NH");

    X500Principal subject = subjectBuilder.buildPrincipal();

    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("115fce43c64c3a7547678e8f0b67559", 16);

    Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK)
            .parse("21-Nov-2007 11:39:35");

    certificateBuilder.setSubject(subject);
    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("noEmail", privateKey, null, chain);
}

From source file:mitm.common.security.certificate.GenerateTestCertificates.java

/**
 * Generate a certificate with email in subject but not in AltNames
 * //from   w w w.  j  ava  2 s . com
 * @throws Exception
 */
private void generateCertificateEmailInSubjectNotInAltNames() throws Exception {
    X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder();

    String encodedPrivateKey = "30820276020100300d06092a864886f70d0101010500048202603082025c"
            + "02010002818100d101622e0d0d3edb037b595281d54029fb4d5c0bc2025f"
            + "d378f7098b6cdf3a90450978cac7b699ab1457c361384d38278f62a2a3a0"
            + "42988d7ce079170c942ee8b6cbbf2cd2f85be52bd686f4b0d344c24d6acb"
            + "47f926034bfe312353893499bcb6eb6f9aa6e8b203768c93579c93e3234c"
            + "0a345dcfa5e0a3434a205f87dc6ec50203010001028180423a7d00f8b3cc"
            + "ca1bd5575d94b49d6b702d7850657ed91caac5252a202ab0650ceb4e727b"
            + "4c7a6f42b7f8ba72dbcd4283e60e81690411512c53f92afb9a6d2e4fd74d"
            + "bc4c34b73575e60b4e656f23f730a08436fb32bd89c44f120a73757e8fde"
            + "63a12fd9e7860406604acbf006fd235573be8bfb4ffcb3e55f2785cbb009"
            + "a1024100f90a4dbd692dd5948472e5d589fe52c58f85e5ec778ab22cf965"
            + "557e6ad46e08ff8e532e800fe58643c1eae5ef8c3bf1e3f746c0e51f8f97"
            + "4bfeed4dcdd89d69024100d6d8a918fffc750e02ecd443139515ce624e68"
            + "24b808f244e0aabcf00f5323fb0dfe54ffa56b1fcd5b90f6ddff639fea7b"
            + "0843debed0088a0f7dd42cb8802efd024075b569091dad8c45a654a84d45"
            + "ebef3371a2d809ec76a1c0a02045487b35eccc53fdf15309347a47fbbeac"
            + "4801f146640e5bd2155a3690a7f2438be63a6528010240772d644fcbe03d"
            + "0672b4f0e1ec80ecc1b96288fea55fc11458141e0e8451b849d16f5db31a"
            + "0d9c6c8bf894187d4cc42e8be4ffd115c3cc98d9131199651725f9024100"
            + "c74bca53cdd2650796285a3cd9ad48f25e9308532fa3ce3f366abe2a9e5c"
            + "b55dc7a1a7c9d6d30070eeb1584505e493a39515a3e306ed8299ccfcbc02" + "32984aef";

    String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d0030818902818100d1"
            + "01622e0d0d3edb037b595281d54029fb4d5c0bc2025fd378f7098b6cdf3a"
            + "90450978cac7b699ab1457c361384d38278f62a2a3a042988d7ce079170c"
            + "942ee8b6cbbf2cd2f85be52bd686f4b0d344c24d6acb47f926034bfe3123"
            + "53893499bcb6eb6f9aa6e8b203768c93579c93e3234c0a345dcfa5e0a343" + "4a205f87dc6ec50203010001";

    PrivateKey privateKey = decodePrivateKey(encodedPrivateKey);
    PublicKey publicKey = decodePublicKey(encodedPublicKey);

    X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder();

    String email = "test@example.com";

    subjectBuilder.setCommonName("Email in Subject not in AltNames");
    subjectBuilder.setEmail(email);
    subjectBuilder.setCountryCode("NL");
    subjectBuilder.setLocality("Amsterdam");
    subjectBuilder.setState("NH");

    X500Principal subject = subjectBuilder.buildPrincipal();

    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("115fceb7f46b98775dbb8287965f838", 16);

    Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK)
            .parse("21-Nov-2007 11:40:35");

    certificateBuilder.setSubject(subject);
    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("emailInSubjectNotInAltNames", privateKey, null, chain);
}

From source file:de.hybris.platform.commerceservices.order.impl.DefaultCommerceCartServiceTest.java

@Test
public void shouldRestoreCartForDelivery() throws CommerceCartRestorationException {
    final CommerceCartParameter parameter = new CommerceCartParameter();
    parameter.setEnableHooks(true);//from www . j av  a 2s.  c o  m
    parameter.setCart(oldCartForDelivery);
    given(timeService.getCurrentTime()).willReturn(new Date());
    given(oldCartForDelivery.getModifiedtime()).willReturn(DateUtils.addDays(new Date(), -1));

    final CommerceCartRestoration commerceCartRestoration = commerceCartService.restoreCart(parameter);
    final List<CommerceCartModification> modifications = commerceCartRestoration.getModifications();
    Assert.assertThat(Integer.valueOf(modifications.size()), CoreMatchers.equalTo(Integer.valueOf(1)));
    assertEquals(oldCartForDelivery.getEntries().get(0).getProduct(),
            modifications.get(0).getEntry().getProduct());

}

From source file:de.hybris.platform.commerceservices.order.impl.DefaultCommerceCartServiceTest.java

@Test
public void shouldRestoreCartForWeb() throws CommerceCartRestorationException {
    final CommerceCartParameter parameter = new CommerceCartParameter();
    parameter.setEnableHooks(true);/* www .ja  v a2 s. c  o  m*/
    parameter.setCart(oldCartForWeb);
    given(timeService.getCurrentTime()).willReturn(new Date());
    given(oldCartForWeb.getModifiedtime()).willReturn(DateUtils.addDays(new Date(), -1));

    final CommerceCartRestoration commerceCartRestoration = commerceCartService.restoreCart(parameter);
    final List<CommerceCartModification> modifications = commerceCartRestoration.getModifications();
    Assert.assertThat(Integer.valueOf(modifications.size()), CoreMatchers.equalTo(Integer.valueOf(1)));
    assertEquals(oldCartForWeb.getEntries().get(0).getProduct(), modifications.get(0).getEntry().getProduct());
}

From source file:mitm.common.security.certificate.GenerateTestCertificates.java

/**
 * Generate a certificate with email in AltNames but not in subject
 * //from w  w  w  . j a  va2 s  . co m
 * @throws Exception
 */
private void generateCertificateEmailInAltNamesNotInSubject() throws Exception {
    X509CertificateBuilder certificateBuilder = securityFactory.createX509CertificateBuilder();

    String encodedPublicKey = "30819f300d06092a864886f70d010101050003818d003081890281810088"
            + "350aa5de312b8d6d2bcb1845ae426b52f53bed933d05c1914753651911dd"
            + "2f2e449e5ebf0a9708d16bbf7ad3ff7e56bf149e26eb37112e1d92989884"
            + "ec3f9c27d4a37efe804a55e97e3ec62aa30610952b3f60f8a3f7516cf00b"
            + "1bc1d3a75f5d4f5834962d091c5676f5ecd6a12ac4e4fbb6069048684696" + "bfbf72483feb210203010001";

    String encodedPrivateKey = "30820275020100300d06092a864886f70d01010105000482025f3082025b"
            + "0201000281810088350aa5de312b8d6d2bcb1845ae426b52f53bed933d05"
            + "c1914753651911dd2f2e449e5ebf0a9708d16bbf7ad3ff7e56bf149e26eb"
            + "37112e1d92989884ec3f9c27d4a37efe804a55e97e3ec62aa30610952b3f"
            + "60f8a3f7516cf00b1bc1d3a75f5d4f5834962d091c5676f5ecd6a12ac4e4"
            + "fbb6069048684696bfbf72483feb2102030100010281802a20257be93d51"
            + "d7fab4b9aa771a8f063c710628d309e376db64b0e12aa0c0c4afcd9f2174"
            + "7a64fde02f2fd8602abbbb3e7bb4f21a7b3c8003bb6c2077b3cd741b4b83"
            + "37c1330742875962dc56a91ecd9b6ccbc54d9c86ac7533dae9d3b792844a"
            + "2135e35b7ce2720f4d2fc25e2013aaadecd35a93d74a08921f1d4991023b"
            + "05024100e5b57d7eeeef447c9ca66643f8b38d743a2e1247e0b2bbe6925f"
            + "1a6166c580d10d87dff02a15ffc963e0f192ea060862e4ad3d1a6afbd280"
            + "3e5b409ea283119b02410097cbef487d4309e5646303b1c75e88db469c8a"
            + "653f93eac9713d570fad45b85f583c2c0314f3a290e6cc8a5cce2ca60ad5"
            + "4ea549779c829429f1645530dc6ff302402daac0314d052a636fad312590"
            + "3afa034251c8769bb84cdcd0fab13eedf493e07bc52883118ae018449002"
            + "d6c749bdbf136151858001625ef686a3b925ebd2c30240698a333e55494d"
            + "121eeff0dba460880add576da9e3c07657c4d1ff3c391ee687f413320e9a"
            + "7ca2a4d8b391e7e0b98e60adda567574226f6f9091f34e8000641d024031"
            + "7135e36f1533cffe338cbd103f44cc8ca257a27682c41b50f5458f7d0fde"
            + "7fe60171fc6718614fca2a756648fe87c9b2551d54cf4162035d59e7730f" + "a0783d";

    PrivateKey privateKey = decodePrivateKey(encodedPrivateKey);
    PublicKey publicKey = decodePublicKey(encodedPublicKey);

    X500PrincipalBuilder subjectBuilder = new X500PrincipalBuilder();

    String email = "test@example.com";

    subjectBuilder.setCommonName("Email in DN not in AltNames");
    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("115fceeccd07fe8929f68cc6b359a5a", 16);

    Date now = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK)
            .parse("21-Nov-2007 11:41: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(new Date(), 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("emailInAltNamesNotInSubject", privateKey, null, chain);
}