Class Identity
- All Implemented Interfaces:
Serializable
,Principal
- Direct Known Subclasses:
IdentityScope
,Signer
This class represents identities: real-world objects such as people, companies or organizations whose identities can be authenticated using their public keys. Identities may also be more abstract (or concrete) constructs, such as daemon threads or smart cards.
All Identity
objects have a name and a public key. Names are
immutable. Identities may also be scoped. That is, if an Identity
is
specified to have a particular scope, then the name and public
key of the Identity
are unique within that scope.
An Identity
also has a set of certificates (all certifying its own
public key). The Principal names specified in these certificates need
not be the same, only the key.
An Identity
can be subclassed, to include postal and email
addresses, telephone numbers, images of faces and logos, and so on.
- Since:
- 1.1
- See Also:
-
Constructor Summary
ModifierConstructorDescriptionprotected
Identity()
Deprecated, for removal: This API element is subject to removal in a future version.Constructor for serialization only.Deprecated, for removal: This API element is subject to removal in a future version.Constructs anIdentity
with the specified name and no scope.Identity
(String name, IdentityScope scope) Deprecated, for removal: This API element is subject to removal in a future version.Constructs anIdentity
with the specified name and scope. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addCertificate
(Certificate certificate) Deprecated, for removal: This API element is subject to removal in a future version.Adds a certificate for thisIdentity
.Deprecated, for removal: This API element is subject to removal in a future version.Returns a copy of all the certificates for thisIdentity
.final boolean
Deprecated, for removal: This API element is subject to removal in a future version.Tests for equality between the specified object and thisIdentity
.getInfo()
Deprecated, for removal: This API element is subject to removal in a future version.Returns general information previously specified for thisIdentity
.final String
getName()
Deprecated, for removal: This API element is subject to removal in a future version.Returns this identity's name.Deprecated, for removal: This API element is subject to removal in a future version.Returns this identity's public key.final IdentityScope
getScope()
Deprecated, for removal: This API element is subject to removal in a future version.Returns this identity's scope.int
hashCode()
Deprecated, for removal: This API element is subject to removal in a future version.Returns the hashcode for thisIdentity
.protected boolean
identityEquals
(Identity identity) Deprecated, for removal: This API element is subject to removal in a future version.Tests for equality between the specifiedIdentity
and thisIdentity
.void
removeCertificate
(Certificate certificate) Deprecated, for removal: This API element is subject to removal in a future version.Removes a certificate from thisIdentity
.void
Deprecated, for removal: This API element is subject to removal in a future version.Specifies a general information string for thisIdentity
.void
setPublicKey
(PublicKey key) Deprecated, for removal: This API element is subject to removal in a future version.Sets this identity's public key.toString()
Deprecated, for removal: This API element is subject to removal in a future version.Returns a short string describing thisIdentity
, telling its name and its scope (if any).toString
(boolean detailed) Deprecated, for removal: This API element is subject to removal in a future version.Returns a string representation of thisIdentity
, with optionally more details than that provided by thetoString
method without any arguments.
-
Constructor Details
-
Identity
protected Identity()Deprecated, for removal: This API element is subject to removal in a future version.Constructor for serialization only. -
Identity
Deprecated, for removal: This API element is subject to removal in a future version.Constructs anIdentity
with the specified name and scope.- Parameters:
name
- theIdentity
name.scope
- the scope of theIdentity
.- Throws:
KeyManagementException
- if there is already anIdentity
with the same name in the scope.
-
Identity
Deprecated, for removal: This API element is subject to removal in a future version.Constructs anIdentity
with the specified name and no scope.- Parameters:
name
- the identity name.
-
-
Method Details
-
getName
-
getScope
Deprecated, for removal: This API element is subject to removal in a future version.Returns this identity's scope.- Returns:
- the scope of this
Identity
.
-
getPublicKey
Deprecated, for removal: This API element is subject to removal in a future version.Returns this identity's public key.- Returns:
- the public key for this
Identity
. - See Also:
-
setPublicKey
Deprecated, for removal: This API element is subject to removal in a future version.Sets this identity's public key. The old key and all of this identity's certificates are removed by this operation.First, if there is a security manager, its
checkSecurityAccess
method is called with"setIdentityPublicKey"
as its argument to see if it's ok to set the public key.- Parameters:
key
- the public key for thisIdentity
.- Throws:
KeyManagementException
- if another identity in the identity's scope has the same public key, or if another exception occurs.SecurityException
- if a security manager exists and itscheckSecurityAccess
method doesn't allow setting the public key.- See Also:
-
setInfo
Deprecated, for removal: This API element is subject to removal in a future version.Specifies a general information string for thisIdentity
.First, if there is a security manager, its
checkSecurityAccess
method is called with"setIdentityInfo"
as its argument to see if it's ok to specify the information string.- Parameters:
info
- the information string.- Throws:
SecurityException
- if a security manager exists and itscheckSecurityAccess
method doesn't allow setting the information string.- See Also:
-
getInfo
Deprecated, for removal: This API element is subject to removal in a future version.Returns general information previously specified for thisIdentity
.- Returns:
- general information about this
Identity
. - See Also:
-
addCertificate
Deprecated, for removal: This API element is subject to removal in a future version.Adds a certificate for thisIdentity
. If theIdentity
has a public key, the public key in the certificate must be the same, and if theIdentity
does not have a public key, the identity's public key is set to be that specified in the certificate.First, if there is a security manager, its
checkSecurityAccess
method is called with"addIdentityCertificate"
as its argument to see if it's ok to add a certificate.- Parameters:
certificate
- the certificate to be added.- Throws:
KeyManagementException
- if the certificate is not valid, if the public key in the certificate being added conflicts with this identity's public key, or if another exception occurs.SecurityException
- if a security manager exists and itscheckSecurityAccess
method doesn't allow adding a certificate.- See Also:
-
removeCertificate
Deprecated, for removal: This API element is subject to removal in a future version.Removes a certificate from thisIdentity
.First, if there is a security manager, its
checkSecurityAccess
method is called with"removeIdentityCertificate"
as its argument to see if it's ok to remove a certificate.- Parameters:
certificate
- the certificate to be removed.- Throws:
KeyManagementException
- if the certificate is missing, or if another exception occurs.SecurityException
- if a security manager exists and itscheckSecurityAccess
method doesn't allow removing a certificate.- See Also:
-
certificates
Deprecated, for removal: This API element is subject to removal in a future version.Returns a copy of all the certificates for thisIdentity
.- Returns:
- a copy of all the certificates for this
Identity
.
-
equals
Deprecated, for removal: This API element is subject to removal in a future version.Tests for equality between the specified object and thisIdentity
. This first tests to see if the entities actually refer to the same object, in which case it returnstrue
. Next, it checks to see if the entities have the same name and the same scope. If they do, the method returnstrue
. Otherwise, it callsidentityEquals
, which subclasses should override. -
identityEquals
Deprecated, for removal: This API element is subject to removal in a future version.Tests for equality between the specifiedIdentity
and thisIdentity
. This method should be overridden by subclasses to test for equality. The default behavior is to returntrue
if the names and public keys are equal.- Parameters:
identity
- the identity to test for equality with thisidentity
.- Returns:
true
if the identities are considered equal,false
otherwise.- See Also:
-
toString
Deprecated, for removal: This API element is subject to removal in a future version.Returns a short string describing thisIdentity
, telling its name and its scope (if any).First, if there is a security manager, its
checkSecurityAccess
method is called with"printIdentity"
as its argument to see if it's ok to return the string.- Specified by:
toString
in interfacePrincipal
- Overrides:
toString
in classObject
- Returns:
- information about this
Identity
, such as its name and the name of its scope (if any). - Throws:
SecurityException
- if a security manager exists and itscheckSecurityAccess
method doesn't allow returning a string describing thisIdentity
.- See Also:
-
toString
Deprecated, for removal: This API element is subject to removal in a future version.Returns a string representation of thisIdentity
, with optionally more details than that provided by thetoString
method without any arguments.First, if there is a security manager, its
checkSecurityAccess
method is called with"printIdentity"
as its argument to see if it's ok to return the string.- Parameters:
detailed
- whether or not to provide detailed information.- Returns:
- information about this
Identity
. Ifdetailed
istrue
, then this method returns more information than that provided by thetoString
method without any arguments. - Throws:
SecurityException
- if a security manager exists and itscheckSecurityAccess
method doesn't allow returning a string describing thisIdentity
.- See Also:
-
hashCode
-
java.security.KeyStore
, thejava.security.cert
package, andjava.security.Principal
.