public static Time getInstance( Object obj) { if (obj == null || obj instanceof Time) { return (Time)obj; } else if (obj instanceof DERUTCTime) { return new Time((DERUTCTime)obj); } else if (obj instanceof DERGeneralizedTime) { return new Time((DERGeneralizedTime)obj); } throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); }
public Date getDate() { try { if (time instanceof DERUTCTime) { return ((DERUTCTime)time).getAdjustedDate(); } else { return ((DERGeneralizedTime)time).getDate(); } } catch (ParseException e) { // this should never happen throw new IllegalStateException("invalid date string: " + e.getMessage()); } }
private PrivateKeyUsagePeriod(ASN1Sequence seq) { Enumeration en = seq.getObjects(); while (en.hasMoreElements()) { ASN1TaggedObject tObj = (ASN1TaggedObject)en.nextElement(); if (tObj.getTagNo() == 0) { _notBefore = DERGeneralizedTime.getInstance(tObj, false); } else if (tObj.getTagNo() == 1) { _notAfter = DERGeneralizedTime.getInstance(tObj, false); } } }
private CrlID( ASN1Sequence seq) { Enumeration e = seq.getObjects(); while (e.hasMoreElements()) { ASN1TaggedObject o = (ASN1TaggedObject)e.nextElement(); switch (o.getTagNo()) { case 0: crlUrl = DERIA5String.getInstance(o, true); break; case 1: crlNum = ASN1Integer.getInstance(o, true); break; case 2: crlTime = DERGeneralizedTime.getInstance(o, true); break; default: throw new IllegalArgumentException( "unknown tag number: " + o.getTagNo()); } } }
/** * make OcspResponsesID from BasicOCSPResp * * @param ocspResp * @return OcspResponsesID * @throws NoSuchAlgorithmException * @throws OCSPException * @throws IOException */ private OcspResponsesID makeOcspResponsesID(BasicOCSPResp ocspResp) throws NoSuchAlgorithmException, OCSPException, IOException { Digest digest = DigestFactory.getInstance().factoryDefault(); digest.setAlgorithm(DigestAlgorithmEnum.SHA_256); byte[] digestValue = digest.digest(ocspResp.getEncoded()); OtherHash hash = new OtherHash(digestValue); OcspResponsesID ocsprespid = new OcspResponsesID(new OcspIdentifier( ocspResp.getResponderId().toASN1Object(), new DERGeneralizedTime(ocspResp.getProducedAt())), hash); return ocsprespid; }
/** * Creates a time object from a given date - if the date is between 1950 * and 2049 a UTCTime object is generated, otherwise a GeneralizedTime * is used. * * @param time a date object representing the time of interest. */ public Time( Date time) { SimpleTimeZone tz = new SimpleTimeZone(0, "Z"); SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmss"); dateF.setTimeZone(tz); String d = dateF.format(time) + "Z"; int year = Integer.parseInt(d.substring(0, 4)); if (year < 1950 || year > 2049) { this.time = new DERGeneralizedTime(d); } else { this.time = new DERUTCTime(d.substring(2)); } }
/** * Creates a time object from a given date and locale - if the date is between 1950 * and 2049 a UTCTime object is generated, otherwise a GeneralizedTime * is used. You may need to use this constructor if the default locale * doesn't use a Gregorian calender so that the GeneralizedTime produced is compatible with other ASN.1 implementations. * * @param time a date object representing the time of interest. * @param locale an appropriate Locale for producing an ASN.1 GeneralizedTime value. */ public Time( Date time, Locale locale) { SimpleTimeZone tz = new SimpleTimeZone(0, "Z"); SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmss", locale); dateF.setTimeZone(tz); String d = dateF.format(time) + "Z"; int year = Integer.parseInt(d.substring(0, 4)); if (year < 1950 || year > 2049) { this.time = new DERGeneralizedTime(d); } else { this.time = new DERUTCTime(d.substring(2)); } }
public static Time getInstance( Object obj) { if (obj instanceof Time) { return (Time)obj; } else if (obj instanceof DERUTCTime) { return new Time((DERUTCTime)obj); } else if (obj instanceof DERGeneralizedTime) { return new Time((DERGeneralizedTime)obj); } throw new IllegalArgumentException("unknown object in factory"); }
/** * Return a Time object from the given object. * <p> * Accepted inputs: * <ul> * <li> null → null * <li> {@link Time} object * <li> {@link org.bouncycastle.asn1.DERUTCTime DERUTCTime} object * <li> {@link org.bouncycastle.asn1.DERGeneralizedTime DERGeneralizedTime} object * </ul> * * @param obj the object we want converted. * @exception IllegalArgumentException if the object cannot be converted. */ public static Time getInstance( Object obj) { if (obj == null || obj instanceof Time) { return (Time)obj; } else if (obj instanceof DERUTCTime) { return new Time((DERUTCTime)obj); } else if (obj instanceof DERGeneralizedTime) { return new Time((DERGeneralizedTime)obj); } throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); }
/** * Get java.util.Date version of date+time. */ public Date getDate() { try { if (time instanceof DERUTCTime) { return ((DERUTCTime)time).getAdjustedDate(); } else { return ((DERGeneralizedTime)time).getDate(); } } catch (ParseException e) { // this should never happen throw new IllegalStateException("invalid date string: " + e.getMessage()); } }
private void checkConstruction( DeclarationOfMajority decl, int type, DERGeneralizedTime dateOfBirth, int notYoungerThan) throws IOException { checkValues(decl, type, dateOfBirth, notYoungerThan); decl = DeclarationOfMajority.getInstance(decl); checkValues(decl, type, dateOfBirth, notYoungerThan); ASN1InputStream aIn = new ASN1InputStream(decl.toASN1Object().getEncoded()); DERTaggedObject info = (DERTaggedObject)aIn.readObject(); decl = DeclarationOfMajority.getInstance(info); checkValues(decl, type, dateOfBirth, notYoungerThan); }
private void checkConstruction( PersonalData data, NameOrPseudonym nameOrPseudonym, BigInteger nameDistinguisher, DERGeneralizedTime dateOfBirth, DirectoryString placeOfBirth, String gender, DirectoryString postalAddress) throws IOException { checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); data = PersonalData.getInstance(data); checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); ASN1InputStream aIn = new ASN1InputStream(data.toASN1Object().getEncoded()); ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); data = PersonalData.getInstance(seq); checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); }
private void checkValues( PersonalData data, NameOrPseudonym nameOrPseudonym, BigInteger nameDistinguisher, DERGeneralizedTime dateOfBirth, DirectoryString placeOfBirth, String gender, DirectoryString postalAddress) { checkMandatoryField("nameOrPseudonym", nameOrPseudonym, data.getNameOrPseudonym()); checkOptionalField("nameDistinguisher", nameDistinguisher, data.getNameDistinguisher()); checkOptionalField("dateOfBirth", dateOfBirth, data.getDateOfBirth()); checkOptionalField("placeOfBirth", placeOfBirth, data.getPlaceOfBirth()); checkOptionalField("gender", gender, data.getGender()); checkOptionalField("postalAddress", postalAddress, data.getPostalAddress()); }