|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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.equals(java.lang.Object)
,Hashtable
equals
public boolean equals(Object obj)
- 测试指定对象与此对象之间的相等性。如果两个 CodeSource 对象的位置具有相同值并且其签名者证书链也具有相同值,则认为这两个对象相等。不要求证书链具有相同的顺序。
-
- 参数:
-
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。
- codesource 一定不能为 null。
- 如果此对象的证书不为 null,则此对象的所有证书一定都存在于 codesource 的证书中。
- 如果此对象的位置 (getLocation()) 不为 null,则针对此对象的位置和 codesource 的位置进行以下检查:
- codesource 的位置一定不能为 null。
- 如果此对象的位置等于 codesource 的位置,则返回 true。
- 此对象的协议 (getLocation().getProtocol()) 一定等于 codesource 的协议。
- 如果此对象的主机 (getLocation().getHost()) 不为 null,则使用此对象的主机构造的 SocketPermission 一定暗含使用 codesource 的主机构造的 SocketPermission。
- 如果此对象的端口 (getLocation().getPort()) 不等于 -1(即如果端口是指定的),则它必须等于 codesource 的端口。
- 如果此对象的文件 (getLocation().getFile()) 不等于 codesource 的文件,则进行以下检查:如果此对象的文件以 "/-" 结尾,则 codesource 的文件必须使用此对象的文件(不包括尾部 "-")开头。如果此对象的文件以 "/*" 结尾,则 codesource 的文件必须使用此对象的文件开头并且一定不能再有 "/" 分隔符。如果此对象的文件不以 "/" 结尾,则 codesource 的文件必须使用追加的一个 '/'来匹配此对象的文件。
- 如果此对象的引用 (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。