java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.net.ssl
类 KeyManagerFactory

java.lang.Object
  继承者 javax.net.ssl.KeyManagerFactory

public class KeyManagerFactory
extends Object

此类充当基于密钥内容源的密钥管理器的工厂。每个密钥管理器管理特定类型的、由安全套接字所使用的密钥内容。密钥内容是基于 KeyStore 和/或提供程序特定的源。

从以下版本开始:
1.4
另请参见:
KeyManager

构造方法摘要
protected KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
          创建 KeyManagerFactory 对象。
 
方法摘要
 String getAlgorithm()
          返回此 KeyManagerFactory 对象的算法名称。
static String getDefaultAlgorithm()
          获取默认的 KeyManagerFactory 算法名称。
static KeyManagerFactory getInstance(String algorithm)
          生成实现指定密钥管理算法的 KeyManagerFactory 对象。
static KeyManagerFactory getInstance(String algorithm, Provider provider)
          根据指定的提供程序为指定的密钥管理算法生成 KeyManagerFactory 对象。
static KeyManagerFactory getInstance(String algorithm, String provider)
          根据指定的提供程序为指定的密钥管理算法生成 KeyManagerFactory 对象。
 KeyManager[] getKeyManagers()
          为每类密钥内容返回一个密钥管理器。
 Provider getProvider()
          返回此 KeyManagerFactory 对象的提供程序。
 void init(KeyStore ks, char[] password)
          使用密钥内容源初始化此工厂。
 void init(ManagerFactoryParameters spec)
          使用特定于提供程序的密钥内容源初始化此工厂。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

KeyManagerFactory

protected KeyManagerFactory(KeyManagerFactorySpi factorySpi,
                            Provider provider,
                            String algorithm)
创建 KeyManagerFactory 对象。

参数:
factorySpi - 委托
provider - 提供程序
algorithm - 算法
方法详细信息

getDefaultAlgorithm

public static final String getDefaultAlgorithm()
获取默认的 KeyManagerFactory 算法名称。

默认的算法可以在运行时改变,方法是通过把 "ssl.KeyManagerFactory.algorithm" 安全属性(在 Java 安全属性文件或通过调用 Security.setProperty(java.lang.String, java.lang.String) 来设置)的值设置为所需的算法名称。

返回:
在 Java 安全属性中指定的默认算法名称;如果不存在这种属性,则返回一个特定于实现的默认值。
另请参见:
Security.setProperty(java.lang.String, java.lang.String)

getAlgorithm

public final String getAlgorithm()
返回此 KeyManagerFactory 对象的算法名称。

这与创建此 KeyManagerFactory 对象的某个 getInstance 调用中所指定的名称相同。

返回:
KeyManagerFactory 对象的算法名称。

getInstance

public static final KeyManagerFactory getInstance(String algorithm)
                                           throws NoSuchAlgorithmException
生成实现指定密钥管理算法的 KeyManagerFactory 对象。

如果默认的提供程序包提供了请求的密钥管理算法实现,则返回包含该实现的 KeyManagerFactory 实例。如果默认提供程序包中未提供算法,则搜索其他的包。

参数:
algorithm - 所请求算法的标准名称。
返回:
新的 KeyManagerFactory 对象
抛出:
NoSuchAlgorithmException - 如果指定算法在默认提供程序包或搜索到的其他任何提供程序包中不可用。

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  String provider)
                                           throws NoSuchAlgorithmException,
                                                  NoSuchProviderException
根据指定的提供程序为指定的密钥管理算法生成 KeyManagerFactory 对象。

参数:
algorithm - 所请求算法的标准名称。
provider - 提供程序的名称
返回:
新的 KeyManagerFactory 对象
抛出:
NoSuchAlgorithmException - 如果指定提供程序中的算法不可用。
NoSuchProviderException - 如果指定的提供程序未配置。
IllegalArgumentException - 如果提供程序的名称为 null 或空。

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  Provider provider)
                                           throws NoSuchAlgorithmException
根据指定的提供程序为指定的密钥管理算法生成 KeyManagerFactory 对象。

参数:
algorithm - 所请求算法的标准名称。
provider - 提供程序的实例
返回:
新的 KeyManagerFactory 对象
抛出:
NoSuchAlgorithmException - 如果指定提供程序中的算法不可用。
IllegalArgumentException - 如果 provider 为 null。

getProvider

public final Provider getProvider()
返回此 KeyManagerFactory 对象的提供程序。

返回:
KeyManagerFactory 对象的提供程序

init

public final void init(KeyStore ks,
                       char[] password)
                throws KeyStoreException,
                       NoSuchAlgorithmException,
                       UnrecoverableKeyException
使用密钥内容源初始化此工厂。

提供程序通常使用 KeyStore 来获取在安全套接字协商期间所使用的密钥内容。KeyStore 通常是受密码保护的。

有关更多灵活初始化的信息,请参见 init(ManagerFactoryParameters)

参数:
ks - KeyStore 或 null
password - 用来恢复 KeyStore 中密钥的密码
抛出:
KeyStoreException - 如果此操作失败
NoSuchAlgorithmException - 如果指定的提供程序中的指定算法不可用。
UnrecoverableKeyException - 如果不能恢复密钥(例如给定的 password 是错误的)。

init

public final void init(ManagerFactoryParameters spec)
                throws InvalidAlgorithmParameterException
使用特定于提供程序的密钥内容源初始化此工厂。

在某些情况下,提供程序可能需要除 keystore 和密码以外的其他初始化参数。期望由该特定提供程序的用户传递由提供程序定义的适当 ManagerFactoryParameters 实现。然后提供程序可以调用 ManagerFactoryParameters 实现中指定的方法来获取所需的信息。

参数:
spec - 特定于提供程序的参数规范实现
抛出:
InvalidAlgorithmParameterException - 如果遇到了错误

getKeyManagers

public final KeyManager[] getKeyManagers()
为每类密钥内容返回一个密钥管理器。

返回:
密钥管理器

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策