2362N/A * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * This class defines the Private Key Usage Extension. 0N/A * <p>The Private Key Usage Period extension allows the certificate issuer 0N/A * to specify a different validity period for the private key than the 0N/A * certificate. This extension is intended for use with digital 0N/A * signature keys. This extension consists of two optional components 0N/A * notBefore and notAfter. The private key associated with the 0N/A * certificate should not be used to sign objects before or after the 0N/A * times specified by the two components, respectively. 0N/A * PrivateKeyUsagePeriod ::= SEQUENCE { 0N/A * notBefore [0] GeneralizedTime OPTIONAL, 0N/A * notAfter [1] GeneralizedTime OPTIONAL } 0N/A * @author Amit Kapoor 0N/A * @author Hemma Prafullchandra 0N/A * Identifier for this attribute, to be used with the 0N/A * get, set, delete methods of Certificate, x509 type. 0N/A public static final String IDENT =
"x509.info.extensions.PrivateKeyUsage";
0N/A * Sub attributes name for this CertAttrSet. 0N/A // Private data members 0N/A // Encode this extension value. 0N/A * The default constructor for PrivateKeyUsageExtension. 0N/A * @param notBefore the date/time before which the private key 0N/A * should not be used. 0N/A * @param notAfter the date/time after which the private key 0N/A * should not be used. 0N/A * Create the extension from the passed DER encoded value. 0N/A * @param critical true if the extension is to be treated as critical. 0N/A * @param value an array of DER encoded bytes of the actual value. 0N/A * @exception ClassCastException if value is not an array of bytes 0N/A * @exception CertificateException on certificate parsing errors. 0N/A * @exception IOException on error. 0N/A // NB. this is always encoded with the IMPLICIT tag 0N/A // The checks only make sense if we assume implicit tagging, 0N/A // with explicit tagging the form is always constructed. 0N/A "Duplicate notBefore in PrivateKeyUsage.");
0N/A "Duplicate notAfter in PrivateKeyUsage.");
0N/A "PrivateKeyUsageExtension");
0N/A * Return the printable string. 0N/A "PrivateKeyUsage: [\n" +
0N/A * Verify that that the current time is within the validity period. 0N/A * @exception CertificateExpiredException if the certificate has expired. 0N/A * @exception CertificateNotYetValidException if the certificate is not 0N/A * Verify that that the passed time is within the validity period. 0N/A * @exception CertificateExpiredException if the certificate has expired 0N/A * with respect to the <code>Date</code> supplied. 0N/A * @exception CertificateNotYetValidException if the certificate is not 0N/A * yet valid with respect to the <code>Date</code> supplied. 0N/A * we use the internal Dates rather than the passed in Date 0N/A * because someone could override the Date methods after() 0N/A * and before() to do something entirely different. 0N/A * Write the extension to the OutputStream. 0N/A * @param out the OutputStream to write the extension to. 0N/A * @exception IOException on encoding errors. 0N/A * Set the attribute value. 0N/A * @exception CertificateException on attribute handling errors. 0N/A +
" CertAttrSet:PrivateKeyUsage.");
0N/A * Get the attribute value. 0N/A * @exception CertificateException on attribute handling errors. 0N/A +
" CertAttrSet:PrivateKeyUsage.");
0N/A * Delete the attribute value. 0N/A * @exception CertificateException on attribute handling errors. 0N/A +
" CertAttrSet:PrivateKeyUsage.");
0N/A * Return an enumeration of names of attributes existing within this 0N/A * Return the name of this attribute.