java.security.KeyStore
,该java.security.cert
包, java.security.Principal
。
@Deprecated public abstract class Identity extends Object implements Principal, Serializable
该类表示身份:真实世界的对象,例如人,公司或组织,其身份可以使用其公钥进行身份验证。 身份也可能是更抽象(或具体)的构造,例如守护进程线程或智能卡。
所有Identity对象都有一个名称和一个公钥。 名字是不可变的 身份也可以是范围。 也就是说,如果一个身份被指定为具有一个特定的范围,则该身份的名称和公钥在该范围内是唯一的。
身份证件还有一套证书(都证明自己的公钥)。 这些证书中指定的主体名称不一定相同,只是键。
身份可以被子类化,包括邮政地址和电子邮件地址,电话号码,面孔和徽标的图像等等。
IdentityScope
, Signer
, Principal
, Serialized Form
Modifier | Constructor and Description |
---|---|
protected |
Identity()
已弃用
仅用于序列化的构造方法。
|
|
Identity(String name)
已弃用
构造一个具有指定名称的标识符,而不指定范围。
|
|
Identity(String name, IdentityScope scope)
已弃用
构造具有指定名称和范围的身份。
|
Modifier and Type | Method and Description |
---|---|
void |
addCertificate(Certificate certificate)
已弃用
为此身份添加证书。
|
Certificate[] |
certificates()
已弃用
返回此身份的所有证书的副本。
|
boolean |
equals(Object identity)
已弃用
测试指定对象与此身份之间的相等性。
|
String |
getInfo()
已弃用
返回先前为此标识指定的一般信息。
|
String |
getName()
已弃用
返回此身份的名称。
|
PublicKey |
getPublicKey()
已弃用
返回此身份的公钥。
|
IdentityScope |
getScope()
已弃用
返回此身份的范围。
|
int |
hashCode()
已弃用
返回此标识的哈希码。
|
protected boolean |
identityEquals(Identity identity)
已弃用
测试指定身份与此身份之间的相等性。
|
void |
removeCertificate(Certificate certificate)
已弃用
从此身份中移除证书。
|
void |
setInfo(String info)
已弃用
指定此标识的常规信息字符串。
|
void |
setPublicKey(PublicKey key)
已弃用
设置此身份的公钥。
|
String |
toString()
已弃用
返回一个描述此身份的短字符串,告诉其名称及其范围(如果有)。
|
String |
toString(boolean detailed)
已弃用
返回此标识的字符串表示形式,可选择更多的细节,不包括没有任何参数的
toString 方法。
|
protected Identity()
public Identity(String name, IdentityScope scope) throws KeyManagementException
name
- 身份名称。
scope
- 身份的范围。
KeyManagementException
- 如果在作用域中已经存在同名的身份。
public Identity(String name)
name
- 身份名称。
public final IdentityScope getScope()
public PublicKey getPublicKey()
setPublicKey(java.security.PublicKey)
public void setPublicKey(PublicKey key) throws KeyManagementException
首先,如果有一个安全管理器,它的checkSecurityAccess
方法"setIdentityPublicKey"
作为参数来调用,以查看是否可以设置公钥。
key
- 这个身份的公钥。
KeyManagementException
- 如果身份范围中的另一个身份具有相同的公钥,或者是否发生另一个异常。
SecurityException
- 如果存在安全管理员,并且其
checkSecurityAccess
方法不允许设置公钥。
getPublicKey()
,
SecurityManager.checkSecurityAccess(java.lang.String)
public void setInfo(String info)
首先,如果有一个安全管理器,它的checkSecurityAccess
方法被调用,以"setIdentityInfo"
作为参数来查看是否可以指定信息字符串。
info
- 信息字符串。
SecurityException
- 如果存在安全管理员,并且其
checkSecurityAccess
方法不允许设置信息字符串。
getInfo()
,
SecurityManager.checkSecurityAccess(java.lang.String)
public String getInfo()
setInfo(java.lang.String)
public void addCertificate(Certificate certificate) throws KeyManagementException
首先,如果有一个安全管理员,它的checkSecurityAccess
方法是以"addIdentityCertificate"
作为参数来调用,以查看是否可以添加一个证书。
certificate
- 要添加的证书。
KeyManagementException
- 如果证书无效,则添加的证书中的公钥与该身份的公钥冲突,或者是否发生另一个异常。
SecurityException
- 如果存在安全管理员,并且其
checkSecurityAccess
方法不允许添加证书。
SecurityManager.checkSecurityAccess(java.lang.String)
public void removeCertificate(Certificate certificate) throws KeyManagementException
首先,如果有一个安全管理器,它的checkSecurityAccess
方法"removeIdentityCertificate"
作为参数来调用,以查看是否可以删除证书。
certificate
- 要删除的证书。
KeyManagementException
- 如果证书丢失,或者是否发生另一个异常。
SecurityException
- 如果存在安全管理员,并且其
checkSecurityAccess
方法不允许删除证书。
SecurityManager.checkSecurityAccess(java.lang.String)
public Certificate[] certificates()
public final boolean equals(Object identity)
identityEquals
,哪些子类应该覆盖。
equals
在界面
Principal
equals
在类别
Object
identity
- 测试与此身份相等的对象。
identityEquals(java.security.Identity)
protected boolean identityEquals(Identity identity)
identity
- 用于测试与此身份相等的身份。
equals(java.lang.Object)
public String toString()
首先,如果有一个安全管理器,它的checkSecurityAccess
方法被调用,以"printIdentity"
作为参数来查看是否可以返回字符串。
toString
在界面
Principal
toString
在类别
Object
SecurityException
- 如果安全管理器存在,并且其
checkSecurityAccess
方法不允许返回描述此标识的字符串。
SecurityManager.checkSecurityAccess(java.lang.String)
public String toString(boolean detailed)
toString
方法。
首先,如果有一个安全管理器,它的checkSecurityAccess
方法被调用,以"printIdentity"
作为参数来查看是否可以返回字符串。
detailed
- 是否提供详细信息。
detailed
为真,则该方法返回的信息多于没有任何参数的toString
方法提供的信息。
SecurityException
- 如果存在安全管理员,并且其
checkSecurityAccess
方法不允许返回描述此身份的字符串。
toString()
,
SecurityManager.checkSecurityAccess(java.lang.String)
public int hashCode()
hashCode
在界面
Principal
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)