Serializable
, Principal
@Deprecated(since="1.2", forRemoval=true) public abstract class IdentityScope extends Identity
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 signers. 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.
Modifier | Constructor | Description |
---|---|---|
protected |
Deprecated, for removal: This API element is subject to removal in a future version. This constructor is used for serialization only and should not be used by subclasses. |
|
Deprecated, for removal: This API element is subject to removal in a future version. Constructs a new identity scope with the specified name. |
||
Deprecated, for removal: This API element is subject to removal in a future version. Constructs a new identity scope with the specified name and scope. |
Modifier and Type | Method | Description |
---|---|---|
abstract void |
addIdentity |
Deprecated, for removal: This API element is subject to removal in a future version. Adds an Identity to this identity scope. |
abstract Identity |
getIdentity |
Deprecated, for removal: This API element is subject to removal in a future version. Returns the Identity in this scope with the specified name (if any). |
Identity |
getIdentity |
Deprecated, for removal: This API element is subject to removal in a future version. Retrieves the Identity whose name is the same as that of the specified principal. |
abstract Identity |
getIdentity |
Deprecated, for removal: This API element is subject to removal in a future version. Retrieves the identity with the specified public key. |
static IdentityScope |
getSystemScope() |
Deprecated, for removal: This API element is subject to removal in a future version. Returns the system's identity scope. |
abstract Enumeration |
identities() |
Deprecated, for removal: This API element is subject to removal in a future version. Returns an enumeration of all identities in this identity scope. |
abstract void |
removeIdentity |
Deprecated, for removal: This API element is subject to removal in a future version. Removes an Identity from this identity scope. |
protected static void |
setSystemScope |
Deprecated, for removal: This API element is subject to removal in a future version. Sets the system's identity scope. |
abstract int |
size() |
Deprecated, for removal: This API element is subject to removal in a future version. Returns the number of identities within this identity scope. |
String |
toString() |
Deprecated, for removal: This API element is subject to removal in a future version. Returns a string representation of this identity scope, including its name, its scope name, and the number of identities in this identity scope. |
addCertificate, certificates, equals, getInfo, getName, getPublicKey, getScope, hashCode, identityEquals, removeCertificate, setInfo, setPublicKey, toString
protected IdentityScope()
public IdentityScope(String name)
name
- the scope name.public IdentityScope(String name, IdentityScope scope) throws KeyManagementException
name
- the scope name.scope
- the scope for the new identity scope.KeyManagementException
- if there is already an Identity
with the same name in the scope.public static IdentityScope getSystemScope()
null
if none has been set.protected static void setSystemScope(IdentityScope 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.public abstract int size()
public abstract Identity getIdentity(String name)
Identity
in this scope with the specified name (if any).name
- the name of the Identity
to be retrieved.Identity
named name
, or null
if there are no identities named name
in this scope.public Identity getIdentity(Principal principal)
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.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.public abstract Identity getIdentity(PublicKey key)
identity
with the specified public key.key
- the public key for the identity to be returned.null
if there are no identities in this scope with that key.public abstract void addIdentity(Identity identity) throws KeyManagementException
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.public abstract void removeIdentity(Identity identity) throws KeyManagementException
Identity
from this identity scope.identity
- the Identity
to be removed.KeyManagementException
- if the identity is missing, or another exception occurs.public abstract Enumeration<Identity> identities()
public String toString()
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/security/IdentityScope.html
java.security.KeyStore
, thejava.security.cert
package, andjava.security.Principal
.