public class CodeSource extends Object implements Serializable
该类扩展了代码库的概念,不仅封装了位置(URL),还封装了用于验证源自该位置的签名代码的证书链。
Constructor and Description |
---|
CodeSource(URL url, Certificate[] certs)
构造一个CodeSource,并将其与指定的位置和证书集合相关联。
|
CodeSource(URL url, CodeSigner[] signers)
构造CodeSource并将其与指定的位置和代码签名者集合相关联。
|
Modifier and Type | Method and Description |
---|---|
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和证书。
|
public CodeSource(URL url, Certificate[] certs)
url
- 位置(URL)。
certs
- 证书。
它可能为null。
复制数组的内容以防止后续修改。
public CodeSource(URL url, CodeSigner[] signers)
url
- 位置(URL)。
signers
- 代码签名者。
它可能为null。
复制数组的内容以防止后续修改。
public int hashCode()
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
equals
在类别
Object
obj
- 要测试与此对象相等的对象。
Object.hashCode()
, HashMap
public final URL getLocation()
public final Certificate[] getCertificates()
如果此CodeSource对象是使用所创建的CodeSource(URL url, CodeSigner[] signers)
构造那么它的证书链被提取并用于创建证书的对象的阵列。 每个签名者证书后面都有其支持证书链(可能为空)。 每个签名者证书及其支持证书链从底部到顶部订购(即,首先签名者证书和(根)证书颁发机构的最后)。
public final CodeSigner[] getCodeSigners()
如果此CodeSource对象是使用所创建的CodeSource(URL url, java.security.cert.Certificate[] certs)
构造那么它的证书链被提取并用于创建目的CodeSigner对象的阵列。 请注意,只检查X.509证书 - 所有其他证书类型都将被忽略。
public boolean implies(CodeSource codesource)
更具体地说,该方法进行以下检查。 如果有任何失败,则返回false。 如果他们都成功,它将返回真实。
例如,具有以下位置的代码源对象和空证书都表示代码源位置为“http://java.sun.com/classes/foo.jar”和空证书:
http:
http://*.sun.com/classes/*
http://java.sun.com/classes/-
http://java.sun.com/classes/foo.jar
请注意,如果此CodeSource具有空位置和空证书链,则它意味着每个其他CodeSource。
codesource
- CodeSource进行比较。