/** Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.*********************/package java.security;import java.security.spec.AlgorithmParameterSpec;/*** <p> This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)* for the {@code KeyPairGenerator} class, which is used to generate* pairs of public and private keys.** <p> All the abstract methods in this class must be implemented by each* cryptographic service provider who wishes to supply the implementation* of a key pair generator for a particular algorithm.** <p> In case the client does not explicitly initialize the KeyPairGenerator* (via a call to an {@code initialize} method), each provider must* supply (and document) a default initialization.* See the Keysize Restriction sections of the* {@extLink security_guide_jdk_providers JDK Providers}* document for information on the KeyPairGenerator defaults used by* JDK providers.* However, note that defaults may vary across different providers.* Additionally, the default value for a provider may change in a future* version. Therefore, it is recommended to explicitly initialize the* KeyPairGenerator instead of relying on provider-specific defaults.** @author Benjamin Renaud* @since 1.2*** @see KeyPairGenerator* @see java.security.spec.AlgorithmParameterSpec*/public abstract class KeyPairGeneratorSpi {/*** Initializes the key pair generator for a certain keysize, using* the default parameter set.** @param keysize the keysize. This is an* algorithm-specific metric, such as modulus length, specified in* number of bits.** @param random the source of randomness for this generator.** @exception InvalidParameterException if the {@code keysize} is not* supported by this KeyPairGeneratorSpi object.*/public abstract void initialize(int keysize, SecureRandom random);/*** Initializes the key pair generator using the specified parameter* set and user-provided source of randomness.** <p>This concrete method has been added to this previously-defined* abstract class. (For backwards compatibility, it cannot be abstract.)* It may be overridden by a provider to initialize the key pair* generator. Such an override* is expected to throw an InvalidAlgorithmParameterException if* a parameter is inappropriate for this key pair generator.* If this method is not overridden, it always throws an* UnsupportedOperationException.** @param params the parameter set used to generate the keys.** @param random the source of randomness for this generator.** @exception InvalidAlgorithmParameterException if the given parameters* are inappropriate for this key pair generator.** @since 1.2*/public void initialize(AlgorithmParameterSpec params,SecureRandom random)throws InvalidAlgorithmParameterException {throw new UnsupportedOperationException();}/*** Generates a key pair. Unless an initialization method is called* using a KeyPairGenerator interface, algorithm-specific defaults* will be used. This will generate a new key pair every time it* is called.** @return the newly generated {@code KeyPair}*/public abstract KeyPair generateKeyPair();}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。