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
接口 X509KeyManager

所有超级接口:
KeyManager
所有已知实现类:
X509ExtendedKeyManager

public interface X509KeyManager
extends KeyManager

此接口的实例管理使用哪一个基于 X509 证书的密钥对来验证本地的安全套接字。

在安全套接字协商期间,实现调用此接口中的方法来完成下面的工作:

  • 确定基于现有标准进行协商可以使用的别名集合,
  • 选择基于现有标准的最好的别名,和
  • 为指定别名获取相应的密钥材料。

注:应该使用 X509ExtendedKeyManager 支持此类。

从以下版本开始:
1.4

方法摘要
 String chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket)
          选择别名来验证给出公钥类型的安全套接字的客户端和同位体(如果有)识别的证书发行者授权列表。
 String chooseServerAlias(String keyType, Principal[] issuers, Socket socket)
          选择别名来验证给出公钥类型的安全套接字的服务器端和对等方同位体(如果有)识别的证书发行者授权列表。
 X509Certificate[] getCertificateChain(String alias)
          返回与给定别名关联的证书链。
 String[] getClientAliases(String keyType, Principal[] issuers)
          获取用于验证给出公钥类型的安全套接字的客户端别名和同位体(如果有)识别的证书发行者授权列表。
 PrivateKey getPrivateKey(String alias)
          返回与给定别名关联的密钥。
 String[] getServerAliases(String keyType, Principal[] issuers)
          获取用于验证给出公钥类型的安全套接字的服务器端的别名和同位体(如果有)识别的证书发行者授权列表。
 

方法详细信息

getClientAliases

String[] getClientAliases(String keyType,
                          Principal[] issuers)
获取用于验证给出公钥类型的安全套接字的客户端别名和同位体(如果有)识别的证书发行者授权列表。

参数:
keyType - 密钥算法类型名称
issuers - 可接受的 CA 发行者主题名称,如果使用哪个发行者并不重要,则此参数为 null。
返回:
匹配的别名数组;如果没有匹配的,则返回 null。

chooseClientAlias

String chooseClientAlias(String[] keyType,
                         Principal[] issuers,
                         Socket socket)
选择别名来验证给出公钥类型的安全套接字的客户端和同位体(如果有)识别的证书发行者授权列表。

参数:
keyType - 密钥算法类型名称,以首选的密钥类型在前的顺序。
issuers - 可接受的 CA 发行者主题名称列表,如果使用哪个发行者并不重要,则此参数为 null。
socket - 将用于此连接的套接字。此参数可以为 null,这表示实现可以自由选择适用于任何套接字的别名。
返回:
所需密钥的别名;如果没有匹配项,则返回 null。

getServerAliases

String[] getServerAliases(String keyType,
                          Principal[] issuers)
获取用于验证给出公钥类型的安全套接字的服务器端的别名和同位体(如果有)识别的证书发行者授权列表。

参数:
keyType - 密钥算法类型名称
issuers - 可接受的 CA 发行者主题名称,如果使用哪个发行者并不重要,则此参数为 null。
返回:
匹配的别名数组;如果没有匹配的,则返回 null。

chooseServerAlias

String chooseServerAlias(String keyType,
                         Principal[] issuers,
                         Socket socket)
选择别名来验证给出公钥类型的安全套接字的服务器端和对等方同位体(如果有)识别的证书发行者授权列表。

参数:
keyType - 密钥算法类型名称。
issuers - 可接受的 CA 发行者主题名称列表,如果使用哪个发行者并不重要,则此参数为 null。
socket - 将用于此连接的套接字。此参数可以为 null,这表示实现可以自由选择适用于任何套接字的别名。
返回:
所需密钥的别名;如果没有匹配项,则返回 null。

getCertificateChain

X509Certificate[] getCertificateChain(String alias)
返回与给定别名关联的证书链。

参数:
alias - 别名
返回:
证书链(以用户证书在前根证书授权在后的顺序);如果没有找到别名,则返回 null。

getPrivateKey

PrivateKey getPrivateKey(String alias)
返回与给定别名关联的密钥。

参数:
alias - 别名
返回:
请求的密钥;如果不能找到别名,则返回 null。

JavaTM 2 Platform
Standard Ed. 5.0

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

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