4756N/A * Copyright (c) 2000, 2012, 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 * A specification of a forward PKIX validation state 0N/A * which is initialized by each build and updated each time a 0N/A * certificate is added to the current path. 0N/A * @author Yassir Elley 0N/A /* The issuer DN of the last cert in the path */ 0N/A /* The last cert in the path */ 0N/A /* The set of subjectDNs and subjectAltNames of all certs in the path */ 0N/A * The number of intermediate CA certs which have been traversed so 0N/A /* Flag indicating if state is initial (path is just starting) */ 0N/A /* the checker used for revocation status */ 4756N/A /* the untrusted certificates checker */ 0N/A /* The list of user-defined checkers that support forward checking */ 0N/A /* Flag indicating if key needing to inherit key parameters has been 0N/A * Returns a boolean flag indicating if the state is initial 0N/A * @return boolean flag indicating if the state is initial (just starting) 0N/A * Return boolean flag indicating whether a public key that needs to inherit 0N/A * key parameters has been encountered. 0N/A * @return boolean true if key needing to inherit parameters has been 0N/A * encountered; false otherwise. 0N/A * Display state for debugging purposes 0N/A * Initialize the state. 0N/A * @param certPathCheckers the list of user-defined PKIXCertPathCheckers 0N/A * Populate forwardCheckers with every user-defined checker 0N/A * that supports forward checking and initialize the forwardCheckers 0N/A * Update the state with the next certificate added to the path. 0N/A * @param cert the certificate which is used to update the state 0N/A /* see if certificate key has null parameters */ 0N/A /* update certificate */ 0N/A /* update issuer DN */ 0N/A * update traversedCACerts only if this is a non-self-issued 0N/A * intermediate CA cert 0N/A /* update subjectNamesTraversed only if this is the EE cert or if 0N/A this cert is not self-issued */ 0N/A * Clone current state. The state is cloned as each cert is 0N/A * added to the path. This is necessary if backtracking occurs, 0N/A * and a prior state needs to be restored. 0N/A * Note that this is a SMART clone. Not all fields are fully copied, 0N/A * because some of them will 0N/A * not have their contents modified by subsequent calls to updateState. 0N/A /* clone checkers, if cloneable */ 0N/A * Shallow copy traversed names. There is no need to 0N/A * deep copy contents, since the elements of the Set 0N/A * are never modified by subsequent calls to updateState().