java.security
Class IdentityScope
- Principal, Serializable
This class represents a scope for identities. It is an Identity itself,
and therefore has a name and can have a scope. It can also optionally have a
public key and associated certificates.
An
IdentityScope
can contain
Identity
objects of all
kinds, including
Signer
s. All types of
Identity
objects
can be retrieved, added, and removed using the same methods. Note that it is
possible, and in fact expected, that different types of identity scopes will
apply different policies for their various operations on the various types of
Identities.
There is a one-to-one mapping between keys and identities, and there can
only be one copy of one key per scope. For example, suppose Acme Software,
Inc is a software publisher known to a user. Suppose it is an
Identity,
that is, it has a public key, and a set of associated certificates. It is
named in the scope using the name "Acme Software". No other named
Identity
in the scope has the same public key. Of course, none has the same name
as well.
addCertificate , certificates , equals , getInfo , getName , getPublicKey , getScope , hashCode , identityEquals , removeCertificate , setInfo , setPublicKey , toString , toString |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
IdentityScope
protected IdentityScope()
This constructor is used for serialization only and should not be used by
subclasses.
IdentityScope
public IdentityScope(String name)
Constructs a new identity scope with the specified name.
addIdentity
public abstract void addIdentity(Identity identity)
throws KeyManagementException
Adds an identity to this identity scope.
identity
- the identity to be added.
KeyManagementException
- if the identity is not valid, a name
conflict occurs, another identity has the same public key as the identity
being added, or another exception occurs.
getIdentity
public abstract Identity getIdentity(String name)
Returns the identity in this scope with the specified name (if any).
name
- the name of the identity to be retrieved.
- the identity named name, or
null
if there are no
identities named name in this scope.
getIdentity
public Identity getIdentity(Principal principal)
Retrieves the identity whose name is the same as that of the specified
principal. (Note: Identity
implements Principal
.)
principal
- the principal corresponding to the identity to be
retrieved.
- the identity whose name is the same as that of the principal, or
null
if there are no identities of the same name in this scope.
getIdentity
public abstract Identity getIdentity(PublicKey key)
Retrieves the identity with the specified public key.
key
- the public key for the identity to be returned.
- the identity with the given key, or
null
if there are
no identities in this scope with that key.
identities
public abstract Enumeration identities()
Returns an enumeration of all identities in this identity scope.
- an enumeration of all identities in this identity scope.
setSystemScope
protected static void setSystemScope(IdentityScope scope)
Sets the system's identity scope.
First, if there is a security manager, its
checkSecurityAccess()
method is called with
"setSystemScope"
as its argument
to see if it's ok to set the identity scope.
scope
- the scope to set.
SecurityException
- if a security manager exists and its
checkSecurityAccess()
method doesn't allow setting the
identity scope.
size
public abstract int size()
Returns the number of identities within this identity scope.
- the number of identities within this identity scope.
toString
public String toString()
Returns a string representation of this identity scope, including its name,
its scope name, and the number of identities in this identity scope.
- toString in interface Principal
- toString in interface Identity
- a string representation of this identity scope.
IdentityScope.java --- IdentityScope Class
Copyright (C) 1999, 2003, Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.