Uses of Interface java.security.Principal (Java Platform SE 8 )
Date: 2020-03-26

## Uses of Interface
java.security.Principal

- Packages that use Principal
  Package | Description
  --- | ---
  java.net | Provides the classes for implementing networking applications.
  java.nio.file.attribute | Interfaces and classes providing access to file and file system attributes.
  java.security | Provides the classes and interfaces for the security framework.
  java.security.acl | The classes and interfaces in this package have been superseded by classes in the java.security package.
  java.security.cert | Provides classes and interfaces for parsing and managing certificates, certificate revocation lists (CRLs), and certification paths.
  javax.management.remote | Interfaces for remote access to JMX MBean servers.
  javax.net.ssl | Provides classes for the secure socket package.
  javax.security.auth | This package provides a framework for authentication and authorization.
  javax.security.auth.kerberos | This package contains utility classes related to the Kerberos network authentication protocol.
  javax.security.auth.x500 | This package contains the classes that should be used to store X500 Principal and X500 Private Credentials in a Subject.
  javax.security.cert | Provides classes for public key certificates.
  javax.xml.ws | This package contains the core JAX-WS APIs.
  javax.xml.ws.spi.http | Provides HTTP SPI that is used for portable deployment of JAX-WS web services in containers(for e.g.

- - ### Uses of Principal in java.net

    Methods in java.net that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `abstract Principal` | SecureCacheResponse.`getLocalPrincipal()` Returns the principal that was sent to the server during handshaking in the original connection that retrieved the network resource.
    `abstract Principal` | SecureCacheResponse.`getPeerPrincipal()` Returns the server's principal which was established as part of defining the session during the original connection that retrieved the network resource.

  - ### Uses of Principal in java.nio.file.attribute

    Subinterfaces of Principal in java.nio.file.attribute
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `GroupPrincipal` A `UserPrincipal` representing a group identity, used to determine access rights to objects in a file system.
    `interface` | `UserPrincipal` A `Principal` representing an identity used to determine access rights to objects in a file system.

  - ### Uses of Principal in java.security

    Classes in java.security that implement Principal
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Identity` Deprecated. This class is no longer used. Its functionality has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.
    `class` | `IdentityScope` Deprecated. This class is no longer used. Its functionality has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.
    `class` | `Signer` Deprecated. This class is no longer used. Its functionality has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.

    Methods in java.security that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `Principal` | Certificate.`getGuarantor()` Deprecated. Returns the guarantor of the certificate, that is, the principal guaranteeing that the public key associated with this certificate is that of the principal associated with this certificate.
    `Principal` | Certificate.`getPrincipal()` Deprecated. Returns the principal of the principal-key pair being guaranteed by the guarantor.
    `Principal[]` | ProtectionDomain.`getPrincipals()` Returns an array of principals for this domain.

    Methods in java.security with parameters of type Principal
    Modifier and Type | Method and Description
    --- | ---
    `Identity` | IdentityScope.`getIdentity(Principal principal)` Deprecated. Retrieves the identity whose name is the same as that of the specified principal.

    Constructors in java.security with parameters of type Principal
    Constructor and Description
    `ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)` Creates a new ProtectionDomain qualified by the given CodeSource, Permissions, ClassLoader and array of Principals.

  - ### Uses of Principal in java.security.acl

    Subinterfaces of Principal in java.security.acl
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Group` This interface is used to represent a group of principals.

    Methods in java.security.acl that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `Principal` | AclEntry.`getPrincipal()` Returns the principal for which permissions are granted or denied by this ACL entry.

    Methods in java.security.acl that return types with arguments of type Principal
    Modifier and Type | Method and Description
    --- | ---
    `Enumeration<? extends Principal>` | Group.`members()` Returns an enumeration of the members in the group.

    Methods in java.security.acl with parameters of type Principal
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | Acl.`addEntry(Principal caller, AclEntry entry)` Adds an ACL entry to this ACL.
    `boolean` | Group.`addMember(Principal user)` Adds the specified member to the group.
    `boolean` | Owner.`addOwner(Principal caller, Principal owner)` Adds an owner.
    `boolean` | Acl.`checkPermission(Principal principal, Permission permission)` Checks whether or not the specified principal has the specified permission.
    `boolean` | Owner.`deleteOwner(Principal caller, Principal owner)` Deletes an owner.
    `Enumeration<Permission>` | Acl.`getPermissions(Principal user)` Returns an enumeration for the set of allowed permissions for the specified principal (representing an entity such as an individual or a group).
    `boolean` | Group.`isMember(Principal member)` Returns true if the passed principal is a member of the group.
    `boolean` | Owner.`isOwner(Principal owner)` Returns true if the given principal is an owner of the ACL.
    `boolean` | Acl.`removeEntry(Principal caller, AclEntry entry)` Removes an ACL entry from this ACL.
    `boolean` | Group.`removeMember(Principal user)` Removes the specified member from the group.
    `void` | Acl.`setName(Principal caller, String name)` Sets the name of this ACL.
    `boolean` | AclEntry.`setPrincipal(Principal user)` Specifies the principal for which permissions are granted or denied by this ACL entry.

  - ### Uses of Principal in java.security.cert

    Methods in java.security.cert that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `abstract Principal` | X509Certificate.`getIssuerDN()` Denigrated, replaced by X509Certificate.getIssuerX500Principal().
    `abstract Principal` | X509CRL.`getIssuerDN()` Denigrated, replaced by X509CRL.getIssuerX500Principal().
    `abstract Principal` | X509Certificate.`getSubjectDN()` Denigrated, replaced by X509Certificate.getSubjectX500Principal().

  - ### Uses of Principal in javax.management.remote

    Classes in javax.management.remote that implement Principal
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JMXPrincipal` The identity of a remote client of the JMX Remote API.

  - ### Uses of Principal in javax.net.ssl

    Methods in javax.net.ssl that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `Principal` | SSLSession.`getLocalPrincipal()` Returns the principal that was sent to the peer during handshaking.
    `Principal` | HandshakeCompletedEvent.`getLocalPrincipal()` Returns the principal that was sent to the peer during handshaking.
    `Principal` | HttpsURLConnection.`getLocalPrincipal()` Returns the principal that was sent to the server during handshaking.
    `Principal` | SSLSession.`getPeerPrincipal()` Returns the identity of the peer which was established as part of defining the session.
    `Principal` | HandshakeCompletedEvent.`getPeerPrincipal()` Returns the identity of the peer which was established as part of defining the session.
    `Principal` | HttpsURLConnection.`getPeerPrincipal()` Returns the server's principal which was established as part of defining the session.

    Methods in javax.net.ssl with parameters of type Principal
    Modifier and Type | Method and Description
    --- | ---
    `String` | X509KeyManager.`chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket)` Choose an alias to authenticate the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
    `String` | X509ExtendedKeyManager.`chooseEngineClientAlias(String[] keyType, Principal[] issuers, SSLEngine engine)` Choose an alias to authenticate the client side of an `SSLEngine` connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
    `String` | X509ExtendedKeyManager.`chooseEngineServerAlias(String keyType, Principal[] issuers, SSLEngine engine)` Choose an alias to authenticate the server side of an `SSLEngine` connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
    `String` | X509KeyManager.`chooseServerAlias(String keyType, Principal[] issuers, Socket socket)` Choose an alias to authenticate the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
    `String[]` | X509KeyManager.`getClientAliases(String keyType, Principal[] issuers)` Get the matching aliases for authenticating the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
    `String[]` | X509KeyManager.`getServerAliases(String keyType, Principal[] issuers)` Get the matching aliases for authenticating the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

  - ### Uses of Principal in javax.security.auth

    Methods in javax.security.auth with type parameters of type Principal
    Modifier and Type | Method and Description
    --- | ---
    `<T extends Principal> Set<T>` | Subject.`getPrincipals(Class<T> c)` Return a `Set` of Principals associated with this `Subject` that are instances or subclasses of the specified `Class`.

    Methods in javax.security.auth that return types with arguments of type Principal
    Modifier and Type | Method and Description
    --- | ---
    `Set<Principal>` | Subject.`getPrincipals()` Return the `Set` of Principals associated with this `Subject`.

    Constructor parameters in javax.security.auth with type arguments of type Principal
    Constructor and Description
    `Subject(boolean readOnly, Set<? extends Principal> principals, Set<?> pubCredentials, Set<?> privCredentials)` Create an instance of a `Subject` with Principals and credentials.

  - ### Uses of Principal in javax.security.auth.kerberos

    Classes in javax.security.auth.kerberos that implement Principal
    Modifier and Type | Class and Description
    --- | ---
    `class` | `KerberosPrincipal` This class encapsulates a Kerberos principal.

  - ### Uses of Principal in javax.security.auth.x500

    Classes in javax.security.auth.x500 that implement Principal
    Modifier and Type | Class and Description
    --- | ---
    `class` | `X500Principal` This class represents an X.500 `Principal`.

  - ### Uses of Principal in javax.security.cert

    Methods in javax.security.cert that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `abstract Principal` | X509Certificate.`getIssuerDN()` Gets the `issuer` (issuer distinguished name) value from the certificate.
    `abstract Principal` | X509Certificate.`getSubjectDN()` Gets the `subject` (subject distinguished name) value from the certificate.

  - ### Uses of Principal in javax.xml.ws

    Methods in javax.xml.ws that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `Principal` | WebServiceContext.`getUserPrincipal()` Returns the Principal that identifies the sender of the request currently being serviced.

  - ### Uses of Principal in javax.xml.ws.spi.http

    Methods in javax.xml.ws.spi.http that return Principal
    Modifier and Type | Method and Description
    --- | ---
    `abstract Principal` | HttpExchange.`getUserPrincipal()` Returns the `Principal` that represents the authenticated user for this `HttpExchange`.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.