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

java.security
类 CodeSource

java.lang.Object
  继承者 java.security.CodeSource
所有已实现的接口:
Serializable

public class CodeSource
extends Object
implements Serializable

此类扩展 codebase 的概念,不仅可以封装位置 (URL) 而且可以封装用于验证起源于该位置的签名代码的证书链。

另请参见:
序列化表格

构造方法摘要
CodeSource(URL url, Certificate[] certs)
          构造一个 CodeSource 并将其与指定位置和证书集合相关联。
CodeSource(URL url, CodeSigner[] signers)
          构造一个 CodeSource 并将其与指定位置和代码签名者集合相关联。
 
方法摘要
 boolean equals(Object obj)
          测试指定对象与此对象之间的相等性。
 Certificate[] getCertificates()
          返回与此 CodeSource 关联的证书。
 CodeSigner[] getCodeSigners()
          返回与此 CodeSource 关联的代码签名者。
 URL getLocation()
          返回与此 CodeSource 关联的位置。
 int hashCode()
          返回此对象的哈希码值。
 boolean implies(CodeSource codesource)
          如果此 CodeSource 对象“暗含”指定的 CodeSource,则返回 true。
 String toString()
          返回描述此 CodeSource 的字符串,告知其 URL 和证书。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

CodeSource

public CodeSource(URL url,
                  Certificate[] certs)
构造一个 CodeSource 并将其与指定位置和证书集合相关联。

参数:
url - 位置 (URL)。
certs - 证书。它可以为 null。复制数组的内容,以防随后进行修改。

CodeSource

public CodeSource(URL url,
                  CodeSigner[] signers)
构造一个 CodeSource 并将其与指定位置和代码签名者集合相关联。

参数:
url - 位置 (URL)。
signers - 代码签名者。它可以为 null。复制数组的内容,以防随后进行修改。
从以下版本开始:
1.5
方法详细信息

hashCode

public int hashCode()
返回此对象的哈希码值。

覆盖:
Object 中的 hashCode
返回:
此对象的哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
测试指定对象与此对象之间的相等性。如果两个 CodeSource 对象的位置具有相同值并且其签名者证书链也具有相同值,则认为这两个对象相等。不要求证书链具有相同的顺序。

覆盖:
Object 中的 equals
参数:
obj - 要与此对象进行相等性测试的对象。
返回:
如果对象被视为相等,则返回 true;否则返回 false。
另请参见:
Object.hashCode(), Hashtable

getLocation

public final URL getLocation()
返回与此 CodeSource 关联的位置。

返回:
位置 (URL)。

getCertificates

public final Certificate[] getCertificates()
返回与此 CodeSource 关联的证书。

如果此 CodeSource 对象是使用 CodeSource(URL url, CodeSigner[] signers) 构造方法创建的,则提取其证书链并使用它们来创建一个 Certificate 对象数组。每个签名证书后面跟着其支持证书链(可能为空)。每个签名证书及其支持证书链按从底到顶进行排序(即签名证书排在首位置,(根)证书授权排在末位置)。

返回:
证书数组的副本;如果不存在副本,则返回 null。

getCodeSigners

public final CodeSigner[] getCodeSigners()
返回与此 CodeSource 关联的代码签名者。

如果此 CodeSource 对象是使用 CodeSource(URL url, Certificate[] certs) 构造方法创建的,则提取其证书链并使用它们来创建一个 CodeSigner 对象数组。注意,仅检查 X.509 证书,所有其他证书类型都将被忽略。

返回:
代码签名者数组的副本;如果不存在副本,则返回 null。
从以下版本开始:
1.5

implies

public boolean implies(CodeSource codesource)
如果此 CodeSource 对象“暗含”指定的 CodeSource,则返回 true。

更确切地说,此方法将按顺序进行以下检查。如果任何一项检查失败,它都返回 false。如果所有检查都成功了,它将返回 true。

  1. codesource 一定不能为 null。
  2. 如果此对象的证书不为 null,则此对象的所有证书一定都存在于 codesource 的证书中。
  3. 如果此对象的位置 (getLocation()) 不为 null,则针对此对象的位置和 codesource 的位置进行以下检查:

    1. codesource 的位置一定不能为 null。
    2. 如果此对象的位置等于 codesource 的位置,则返回 true。
    3. 此对象的协议 (getLocation().getProtocol()) 一定等于 codesource 的协议。
    4. 如果此对象的主机 (getLocation().getHost()) 不为 null,则使用此对象的主机构造的 SocketPermission 一定暗含使用 codesource 的主机构造的 SocketPermission。
    5. 如果此对象的端口 (getLocation().getPort()) 不等于 -1(即如果端口是指定的),则它必须等于 codesource 的端口。
    6. 如果此对象的文件 (getLocation().getFile()) 不等于 codesource 的文件,则进行以下检查:如果此对象的文件以 "/-" 结尾,则 codesource 的文件必须使用此对象的文件(不包括尾部 "-")开头。如果此对象的文件以 "/*" 结尾,则 codesource 的文件必须使用此对象的文件开头并且一定不能再有 "/" 分隔符。如果此对象的文件不以 "/" 结尾,则 codesource 的文件必须使用追加的一个 '/'来匹配此对象的文件。
    7. 如果此对象的引用 (getLocation().getRef()) 不为 null,则它必须等于 codesource 的引用。

例如,具有以下位置和 null 证书的 codesource 对象都暗含具有 "http://java.sun.com/classes/foo.jar" 位置和 null 证书的 codesource。

     http:
     http://*.sun.com/classes/*
     http://java.sun.com/classes/-
     http://java.sun.com/classes/foo.jar
 
注意,如果此 CodeSource 具有 null 位置和 null 证书链,则其暗含所有其他的 CodeSource。

参数:
codesource - 用于比较的 CodeSource。
返回:
如果此 codesource 暗含指定的 codesource,则返回 true;否则返回 false。

toString

public String toString()
返回描述此 CodeSource 的字符串,告知其 URL 和证书。

覆盖:
Object 中的 toString
返回:
关于此 CodeSource 的信息。

JavaTM 2 Platform
Standard Ed. 5.0

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

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