2362N/A * Copyright (c) 2005, 2009, 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 implements a key factory for PBE keys derived using 0N/A * PBKDF2 with HmacSHA1 psuedo random function(PRF) as defined in 0N/A * @author Valerie Peng 0N/A * Generates a <code>SecretKey</code> object from the provided key 0N/A * specification (key material). 0N/A * @param keySpec the specification (key material) of the secret key 0N/A * @return the secret key 0N/A * @exception InvalidKeySpecException if the given key specification 0N/A * is inappropriate for this key factory to produce a public key. 0N/A * Returns a specification (key material) of the given key 0N/A * in the requested format. 0N/A * @param key the key 0N/A * @param keySpec the requested format in which the key material shall be 0N/A * @return the underlying key specification (key material) in the 0N/A * @exception InvalidKeySpecException if the requested key 0N/A * specification is inappropriate for the given key, or the 0N/A * given key cannot be processed (e.g., the given key has an 0N/A * unrecognized algorithm or format). 0N/A // Check if requested key spec is amongst the valid ones 0N/A * Translates a <code>SecretKey</code> object, whose provider may be 0N/A * unknown or potentially untrusted, into a corresponding 0N/A * <code>SecretKey</code> object of this key factory. 0N/A * @param key the key whose provider is unknown or untrusted 0N/A * @return the translated key 0N/A * @exception InvalidKeyException if the given key cannot be processed by 0N/A // Check if key originates from this factory 0N/A // Check if key implements the PBEKey 0N/A (
"Invalid key component(s)");