private String getPrivateKeyUsagePeriodStringValue(byte[] value) throws IOException { // @formatter:off /* * PrivateKeyUsagePeriod ::= ASN1Sequence { notBefore [0] * ASN1GeneralizedTime OPTIONAL, notAfter [1] ASN1GeneralizedTime OPTIONAL } */ // @formatter:on StringBuilder sb = new StringBuilder(); PrivateKeyUsagePeriod privateKeyUsagePeriod = PrivateKeyUsagePeriod.getInstance(value); ASN1GeneralizedTime notBefore = privateKeyUsagePeriod.getNotBefore(); ASN1GeneralizedTime notAfter = privateKeyUsagePeriod.getNotAfter(); if (notBefore != null) { sb.append(MessageFormat.format(res.getString("NotBeforePrivateKeyUsagePeriod"), getGeneralizedTimeString(notBefore))); } else { sb.append(MessageFormat.format(res.getString("NotBeforePrivateKeyUsagePeriod"), res.getString("NoValue"))); } sb.append(NEWLINE); if (notAfter != null) { sb.append(MessageFormat.format(res.getString("NotAfterPrivateKeyUsagePeriod"), getGeneralizedTimeString(notAfter))); } else { sb.append(MessageFormat.format(res.getString("NotAfterPrivateKeyUsagePeriod"), res.getString("NoValue"))); } sb.append(NEWLINE); return sb.toString(); }
public static PrivateKeyUsagePeriod getInstance(Object obj) { if (obj instanceof PrivateKeyUsagePeriod) { return (PrivateKeyUsagePeriod)obj; } if (obj != null) { return new PrivateKeyUsagePeriod(ASN1Sequence.getInstance(obj)); } return null; }
private void okPressed() { Date notBefore = jdtNotBefore.getDateTime(); Date notAfter = jdtNotAfter.getDateTime(); if ((notBefore == null) && (notAfter == null)) { JOptionPane.showMessageDialog(this, res.getString("DPrivateKeyUsagePeriod.ValueReq.message"), getTitle(), JOptionPane.WARNING_MESSAGE); return; } // BC forgot the value constructor for PrivateKeyUsagePeriod... ASN1EncodableVector v = new ASN1EncodableVector(); if (notBefore != null) { DERGeneralizedTime notBeforeGenTime = new DERGeneralizedTime(notBefore); v.add(new DERTaggedObject(false, 0, notBeforeGenTime)); } if (notAfter != null) { DERGeneralizedTime notAfterGenTime = new DERGeneralizedTime(notAfter); v.add(new DERTaggedObject(false, 1, notAfterGenTime)); } PrivateKeyUsagePeriod privateKeyUsagePeriod = PrivateKeyUsagePeriod.getInstance(new DERSequence(v)); try { value = privateKeyUsagePeriod.getEncoded(ASN1Encoding.DER); } catch (IOException e) { DError.displayError(this, e); return; } closeDialog(); }
private void prepopulateWithValue(byte[] value) throws IOException { PrivateKeyUsagePeriod privateKeyUsagePeriod = PrivateKeyUsagePeriod.getInstance(value); ASN1GeneralizedTime notBefore = privateKeyUsagePeriod.getNotBefore(); if (notBefore != null) { try { jdtNotBefore.setDateTime(notBefore.getDate()); } catch (ParseException e) { throw new IOException(e); } } ASN1GeneralizedTime notAfter = privateKeyUsagePeriod.getNotAfter(); if (notAfter != null) { try { jdtNotAfter.setDateTime(notAfter.getDate()); } catch (ParseException e) { throw new IOException(e); } } }
public static PrivateKeyUsagePeriod getInstance(Object obj) { if (obj instanceof PrivateKeyUsagePeriod) { return (PrivateKeyUsagePeriod)obj; } if (obj != null) { return new PrivateKeyUsagePeriod(ASN1Sequence.getInstance(obj)); } return null; }
@Override public Interval getPrivateKeyUsagePeriod( X509Certificate cert ) { try { byte[] value = cert.getExtensionValue( X509Extensions.PrivateKeyUsagePeriod.getId() ); if ( value == null ) { return null; } PrivateKeyUsagePeriod privKeyUsagePeriod = PrivateKeyUsagePeriod.getInstance( ASN1Object.fromByteArray( value ) ); SimpleDateFormat derDateFormat = new SimpleDateFormat( "yyyyMMddHHmmssz" ); Date notBefore = derDateFormat.parse( privKeyUsagePeriod.getNotBefore().getTime() ); Date notAfter = derDateFormat.parse( privKeyUsagePeriod.getNotAfter().getTime() ); return new Interval( new DateTime( notBefore ), new DateTime( notAfter ) ); } catch ( ParseException ex ) { throw new CryptoFailure( "Unable to extract PrivateKeyUsagePeriod from X509Certificate extensions", ex ); } catch ( IOException ex ) { throw new CryptoFailure( "Unable to extract PrivateKeyUsagePeriod from X509Certificate extensions", ex ); } }
private void checkExtensionPrivateKeyUsagePeriod(final StringBuilder failureMsg, final byte[] extensionValue, final Date certNotBefore, final Date certNotAfter) { ASN1GeneralizedTime notBefore = new ASN1GeneralizedTime(certNotBefore); Date dateNotAfter; CertValidity privateKeyUsagePeriod = certProfile.privateKeyUsagePeriod(); if (privateKeyUsagePeriod == null) { dateNotAfter = certNotAfter; } else { dateNotAfter = privateKeyUsagePeriod.add(certNotBefore); if (dateNotAfter.after(certNotAfter)) { dateNotAfter = certNotAfter; } } ASN1GeneralizedTime notAfter = new ASN1GeneralizedTime(dateNotAfter); org.bouncycastle.asn1.x509.PrivateKeyUsagePeriod extValue = org.bouncycastle.asn1.x509.PrivateKeyUsagePeriod.getInstance(extensionValue); ASN1GeneralizedTime time = extValue.getNotBefore(); if (time == null) { failureMsg.append("notBefore is absent but expected present; "); } else if (!time.equals(notBefore)) { addViolation(failureMsg, "notBefore", time.getTimeString(), notBefore.getTimeString()); } time = extValue.getNotAfter(); if (time == null) { failureMsg.append("notAfter is absent but expected present; "); } else if (!time.equals(notAfter)) { addViolation(failureMsg, "notAfter", time.getTimeString(), notAfter.getTimeString()); } } // method checkExtensionPrivateKeyUsagePeriod